Vivado Block Design流程(MicroBlaze)
在达芬奇开发板上搭建基于 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)相关推荐
- SoC第一讲——Vivado的Block Design 的使用
SoC第一讲--Vivado的Block Design 的使用 前言 近期刚接触SoC的学习,通过Xilinx的Vivado软件和ZYNQ系列的器件芯片学习SOC,特此在学习的过程中做些总结,以帮助自 ...
- vivado修改block design后更新进sdk
修改完block design后重新generate output products后(顶层wrapper.v文件不用修改因为设置自动管理)导入SDK 导入硬件export hardware后弹出提示 ...
- vivado下block design重新整理布局regenerate layout
进行block design是连线看起来很乱,不用手动整理,在图纸上右击点击regenerate layout连线就会变得干净整洁
- 利用Block Design在Vivado实现三位四选一多路选择器
一.要求:利用Block Design设计一个三位 4 选 1 多路选择器电路 二.实验原理: 真值表: Block Design原理图 三.设计过程 Block Design 将自己编写的与门,非门 ...
- 【Vivado那些事儿】MicroBlaze最小系统搭建及程序固化
MicroBlaze是AMD-Xilinx提供的一个可以在FPGA中运行的嵌入式软核IP,其本质是一个32位RISC处理器软核,可以在150MHz时钟下,提供125 D-MIPS性能,具有运行速度快. ...
- 用Tcl定制Vivado设计实现流程
http://xilinx.eetop.cn/viewnews-2359 介绍了Tcl的基本语法以及如何利用Tcl在Vivado中定位目标.其实Tcl在Vivado中还有很多延展应用,接下来我们就来讨 ...
- vivado 如何创建工程模式_用Tcl定制Vivado设计实现流程
原标题:[Vivado使用误区与进阶]用Tcl定制Vivado设计实现流程 上一篇<Tcl在Vivado中的应用>介绍了Tcl的基本语法以及如何利用Tcl在Vivado中定位目标.其实Tc ...
- vivado基本开发流程
FPGA基本开发流程: FPGA开发软件如quartas和vivado的开发流程基本都相同,在这里主要介绍以下xilinx家的vivado的开发流程,其开发流程基本为以下六步: 1.创建工程.添加源文 ...
- 【Vivado那些事儿】Vivado 增量综合流程
[Vivado那些事儿]Vivado 增量综合流程 从 Vivado 2019.1 版本开始,Vivado 综合引擎就已经可以支持增量流程了.这使用户能够在设计变化较小时减少总的综合运行时间. Viv ...
最新文章
- Mysql与Oracle区别
- nginx自签SSL证书和Symantec签发证书使用
- python制作验证码_Python编写生成验证码的脚本的教程
- socket 获取回传信息_基于netty框架的socket长连接负载均衡解决方案 oswl
- 商品审核网页界面_商品模块数据库表解析(二)
- 我的青春谁做主的经典语录
- src与href属性的区别
- numpy linspace
- 用c语言计算星期,计算任何一天是星期几的C语言源代码.
- Java程序员须知的七个日志管理工具(转)
- java byte 编码_java字节编码总结
- DMX512 for Arduino 例子详解
- 模仿 alexa 工具条
- CountDownTimer 倒计时器
- jitsi各工程编译笔记(一)各工程大概
- cocoscreator 使用内置自带的资源和生成单色图片
- 学习倍福BECKHOFF PLC可利用的资源
- Javascript中四舍六入五成双
- 【内网学习笔记】23、SMBExec 与 DCOM 的使用
- 基于SSD固态硬盘的数据库性能优化