在达芬奇开发板上搭建基于 BRAM 的 MicroBlaze 嵌入式最小系统

硬件设计:

1、首先通过Vivado软件创建工程

使用parts选项选择开发板型号,完成工程创建。

2、通过IP INTEGRATOR创建Processing System

点击Create Block Design生成Diagram页面,并在其中搜索“MicroBlaze”添加IP核

IP核添加完成

双击IP核进入配置页面进行配置

第一页提供模板选择和一般设置。

Predefined Configurations:配置模板。

Select Processor Implementation:选择 32 位或 64 位处理器。

implementation optimization:用于使能面积优化功能

Enable MicroBlaze Debug Module Interface:使能调试功能。一般情况下我们都开启该功能,只有在资源 十分紧张的情况下才会禁止此功能。

Use Instruction and Data Caches:使用指令和数据缓存。当使用外部存储时,激活这个选项可以明显地改善性能。

Enable Exceptions:异常功能的使能。

Enable Discrete Ports:使能软核上的独立端口。

第二页 General 页面

General 页面能够选择单元的选择和优化,保持默认。

第三页 Debug页面

Debug 页面只有我们在第一页选择了使能调试选项才会出现。 Debug 页面是进行断点设置和查看点的数量。这里保持默认设置。

第四页 Buses 页面

Buses页面能进行总线设置。Local Memory Bus Interfaces是本地内存总线接口(LMB),将两项都选中;

AXI and ACE Interfaces 是 AXI 和 ACE 接口,选择 AXI 接口,勾选 Enable Peripheral AXI Data interface 用来控制外围模块(AXI 数据接口是与外围接口数据交互的总线,之后所有模块都挂在这 个总线上);

Stream Interfaces 和 Other Interfaces 分别用于开启 Stream 流接口和一些其它接口。配置完成后点击“OK”完成 MicroBlaze 的配置。

配置完成后点击上方的“Run Block Automation”添加内存,在弹出的界面选择“Local Memory” 为 64KB,其余选项默认,点击“OK”。

软件自动生成四个模块。clk_wiz_1 模块提供系 统时钟,rst_clk_wiz_1_100M 是系统复位模块,用以给系统各个模块提供复位信号,mdm_1 是 MicroBlaze 调试模块,microblaze_0_local_memory 模块是片上存储模块。点击图 红色箭头所示的按钮,进行自动布局布线。

双击进入clk_wiz_1模块

将输入时钟设为 50MHz,在 Source 目录将信号类型改为单端信号。

切换到 Output Clocks 页面设置输出时钟,输出时钟设为 100MHz,在 Reset Type 栏选择“Acitive Low” 设置为低电压复位。完成clk_wiz_1模块配置

将光标移动到resetn、clk_in1,点击选中端口,然后点击鼠标右键,在弹出的列表中选择“Make External”, 将模块出的两个接口分别改名为"sys_rst_n"、"sys_clk"。然后将“ext_rest_in”与“sys_rst_n” 连接。

添加 Axi Uartlite IP 核

双击 Axi Uartlite IP 核,将波特率设置为“115200”。

点击左上方“Run Connection Autmation”在弹出的页面中,选中所有信号,点击“OK”进行自动连线.

连线完成后,在 Diagram 页面空白处右击,弹出的菜单栏选择“Regenerate Layout”按钮进行自动布局,并将 uart_rtl_0 改为“UART”。下图即为工程最终的 Block Design 连接图

在执行了自动连接之后,工具自动添加了 microblaze_0_axi_periph 模块(AXI Interconnect)。

AXI Interconnect IP 就实现了 MicroBlaze 与 AXI Uartlite 的互联,MicroBlaze 中产生的数 据能够通过 AXI 协议传输到 AXI Uartlite 模块,AXI Uartlite 模块接收的数据也可以通过 AXI 协议传输到 MicroBlaze。

点击validate design进行验证

生成顶层 HDL 模块

在 Sources 窗口中,选中 Design Sources 下的 sysetm_bd, 右键点击“sysetm.bd”,在弹出的菜单栏中选择“Generate Output Products”。

在对话框中 Synthesis Options 选择“Out of context per IP”,Run Setings 用于设置生成过程中要使用的 处理器的线程数,进行多线程处理,保持默认或设置为个人电脑处理器最大可使用线程数都可以,一般选择最大可使用线程数的一半。然后点击“Generate”来生成设计的综合、实现和仿真文件。

在 Sources 窗口中,点击“IP Source”标签页,可以看到 Generate 过程生成的输出结果。

Vivado Block Design流程(MicroBlaze)相关推荐

  1. SoC第一讲——Vivado的Block Design 的使用

    SoC第一讲--Vivado的Block Design 的使用 前言 近期刚接触SoC的学习,通过Xilinx的Vivado软件和ZYNQ系列的器件芯片学习SOC,特此在学习的过程中做些总结,以帮助自 ...

  2. vivado修改block design后更新进sdk

    修改完block design后重新generate output products后(顶层wrapper.v文件不用修改因为设置自动管理)导入SDK 导入硬件export hardware后弹出提示 ...

  3. vivado下block design重新整理布局regenerate layout

    进行block design是连线看起来很乱,不用手动整理,在图纸上右击点击regenerate layout连线就会变得干净整洁

  4. 利用Block Design在Vivado实现三位四选一多路选择器

    一.要求:利用Block Design设计一个三位 4 选 1 多路选择器电路 二.实验原理: 真值表: Block Design原理图 三.设计过程 Block Design 将自己编写的与门,非门 ...

  5. 【Vivado那些事儿】MicroBlaze最小系统搭建及程序固化

    MicroBlaze是AMD-Xilinx提供的一个可以在FPGA中运行的嵌入式软核IP,其本质是一个32位RISC处理器软核,可以在150MHz时钟下,提供125 D-MIPS性能,具有运行速度快. ...

  6. 用Tcl定制Vivado设计实现流程

    http://xilinx.eetop.cn/viewnews-2359 介绍了Tcl的基本语法以及如何利用Tcl在Vivado中定位目标.其实Tcl在Vivado中还有很多延展应用,接下来我们就来讨 ...

  7. vivado 如何创建工程模式_用Tcl定制Vivado设计实现流程

    原标题:[Vivado使用误区与进阶]用Tcl定制Vivado设计实现流程 上一篇<Tcl在Vivado中的应用>介绍了Tcl的基本语法以及如何利用Tcl在Vivado中定位目标.其实Tc ...

  8. vivado基本开发流程

    FPGA基本开发流程: FPGA开发软件如quartas和vivado的开发流程基本都相同,在这里主要介绍以下xilinx家的vivado的开发流程,其开发流程基本为以下六步: 1.创建工程.添加源文 ...

  9. 【Vivado那些事儿】Vivado 增量综合流程

    [Vivado那些事儿]Vivado 增量综合流程 从 Vivado 2019.1 版本开始,Vivado 综合引擎就已经可以支持增量流程了.这使用户能够在设计变化较小时减少总的综合运行时间. Viv ...

最新文章

  1. Mysql与Oracle区别
  2. nginx自签SSL证书和Symantec签发证书使用
  3. python制作验证码_Python编写生成验证码的脚本的教程
  4. socket 获取回传信息_基于netty框架的socket长连接负载均衡解决方案 oswl
  5. 商品审核网页界面_商品模块数据库表解析(二)
  6. 我的青春谁做主的经典语录
  7. src与href属性的区别
  8. numpy linspace
  9. 用c语言计算星期,计算任何一天是星期几的C语言源代码.
  10. Java程序员须知的七个日志管理工具(转)
  11. java byte 编码_java字节编码总结
  12. DMX512 for Arduino 例子详解
  13. 模仿 alexa 工具条
  14. CountDownTimer 倒计时器
  15. jitsi各工程编译笔记(一)各工程大概
  16. cocoscreator 使用内置自带的资源和生成单色图片
  17. 学习倍福BECKHOFF PLC可利用的资源
  18. Javascript中四舍六入五成双
  19. 【内网学习笔记】23、SMBExec 与 DCOM 的使用
  20. 基于SSD固态硬盘的数据库性能优化

热门文章

  1. H5下载安装app(ios端和android)
  2. spring定时任务的应用
  3. ios中用AFN做https
  4. 基于极化码(Polar Code)的加密
  5. 11-git-查看提交历史
  6. 软件测试工程师的“初—中—高”晋升之路
  7. MTP 模式 pc端文件和文件管理其中的不同步
  8. 开发板ping不通虚拟机
  9. JDK9 的字符串底层原理是什么?
  10. iOS7设置状态栏颜色