Vivado Block Design流程(MicroBlaze)

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

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

  • 10
    点赞
  • 88
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值