Vivado Block Design流程(MicroBlaze)

本文详细介绍了如何在达芬奇开发板上使用Vivado创建基于BRAM的MicroBlaze嵌入式最小系统。从创建工程、配置MicroBlaze IP核、设置内存、添加AXI Uartlite IP核,到自动布局布线,每个步骤都有清晰的说明。最后,通过综合和实现生成了顶层HDL模块,为后续的软件开发奠定了基础。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在达芬奇开发板上搭建基于 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 过程生成的输出结果。

### 回答1: Vivado Block Design 是一种用于 FPGA 设计的可视化设计工具,可以通过简单的拖拽和连接操作快速设计出复杂的硬件电路。在 Vivado Block Design 中,用户可以将不同的硬件模块抽象成一个个 IP 核,并将它们拼接在一起构成一个完整的硬件系统。同时,用户还可以通过 Block Design 来进行 RTL 设计和仿真等工作,提高设计效率和设计质量。 ### 回答2: Vivado Block Design 是 Xilinx 公司的一款图形化设计工具,可以用于 FPGA 的设计和实现。它可以帮助设计人员在不需要编写代码的情况下,通过拖拽和连接各种模块来创建一个完整的 FPGA 设计。 Block Design 的核心组成部分是 IP(Intellectual Property)模块。这些模块提供了各种功能,比如时钟管理、数据传输等,让设计人员能够轻松地将各种模块打包在一起创建一个完整的设计。 使用 Block Design 进行 FPGA 的设计有许多优点。首先,它可以加速设计时间,因为设计人员只需要拖放和连接各种 IP 模块,而无需进行繁琐的手动设计。此外,它还可以提高设计的可重用性和可维护性,使得更容易进行调试和功能升级。 当设计人员使用 Vivado Block Design 时,他们可以从 IP 目录中选择不同的 IP 模块。这些 IP 模块既可以是由 Xilinx 公司提供的标准 IP,也可以是用户自己编写的 IP。此外,Block Design 的界面非常简单,任何人都可以在很短的时间内学会如何使用它。 总之,Vivado Block Design 是一款极为强大的 FPGA 设计工具,可以帮助设计人员快速创建高质量的 FPGA 设计。无论是从时间、可重用性还是可维护性来看,它都是一个高效能的工具,值得设计人员掌握和使用。 ### 回答3: Vivado Block Design 是一种基于 IP 核的设计方法,可以在 Vivado 工具中创建和管理复杂的 FPGA 系统。它的主要目的是简化 FPGA 设计流程,并提高设计效率和可重用性。 Vivado Block Design 是一个包含多个 IP 核的设计,这些 IP 核可以通过拖放和连接,用于创建复杂的逻辑系统。在 Vivado Block Design 中,设计人员可以通过 IP Integrator 界面来方便的建立复杂的硬件系统,并在此界面上建立各个 IP 和他们的连接方式。这种方法可以减少硬件设计人员的工作量,也可以增加他们的创作灵活性,进一步优化设计效率。 此外,Vivado Block Design 还具有简单且易于维护的特性。在设计过程中,设计人员可以将设计分成多个模块,从而提高设计的可重用性。这使得修改和维护单个模块成为可能,而不必打破系统整体功能。这也是一种很好的方式,可以使 FPGAs 设计团队更为高效地协作。 总之,Vivado Block设计是一种快速、高效设计FPGA System的方法,它极大地降低了硬件开发周期和成本。通过掌握Vivado Block Design的技术,设计人员可以更好地管理系统设计中的细节,并快速地创建可以满足应用需求的硬件系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值