FPGA 学习笔记:Vivado 2018.2 MicroBlaze Uartlite 配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FPGA 学习笔记:Vivado 2018.2 MicroBlaze Uartlite 配置相关的知识,希望对你有一定的参考价值。


前言

  • Vivado 版本: Vivado 2018.2 + Vivado HLS 2018.2, Vivado HLS 2018.2 用于 SDK 开发,C语言开发
  • 创建基于MicroBlaze的 【Block Design】后,添加了 【AXI Uartlite】,发现烧写到FPGA后,没有任何的反应,这时才发现,要想让 microblaze 这个MCU模块工作起来,还需要C语言开发
  • 基于 ​​Vivado HLS 2018.2​​ 的 SDK开发,也就是 FPGA 就是一个 MCU了,让MCU工作,还得需要MCU工作的程序,如基于SDK开发的C语言程序

操作步骤

添加MicroBlaze及AXI Uartlite

  • Vivado 创建工程,这部分可以参考之前的文章,如 FPGA 学习笔记:Vivado 2019.1 工程创建
  • 【Block Design】的创建,这个可以参考之前的文章,如:FPGA 学习笔记:Vivado 2019.1 添加 IP MicroBlaze

网络连线

  • 【Block Design】中,可以使用使用Vivado提供的【自动连接】,连接大部分的网络port,但是部分特殊的连接,需要手动连接,如复位线
  • 这里只需要注意 【复位线】的连接

FPGA

  • 更改 Clocking Wizard 模块的复位电平,改为低有效,然后引出,resetn_0,并且把 【Processor System Reset】模块的 【ext_reset_in】手动连接到 resetn_0
  • Clocking Wizard 引出 ​​clk_in1_0​​ 时钟输入引脚,可以选择 IP 模块的引脚后,右键【Make External】自动导出引脚的网络Port
  • 如果 【Uartlite】模块没有网络,可以使用Vivaod 自动连接生成网络,可以手动创建网络,然后连接到IP 模块的引脚上

导出【Block Design】

  • 点击 【Validate Design】按钮,确认 【Block Design】是否正常,若果有问题,需要根据提示进行修改,如网络为空

FPGA

FPGA

  • 【Create HDL Wrapper…】,生成 wrapper 文件,如果工程没有 top 文件,可以先使用这个生成的wrapper文件作为 top文件

FPGA

  • 【Generate Output Products…】生成【Block Design】设计文件,网表等文件,

FPGA

配置引脚

  • 【Run Implementation】,执行 FPGA 实现,会先执行 FPGA综合【Run Synthesis】,执行完成后,就可以打开 【Open Implemented Design】,打开FPGA实现后的设计文件,配置引脚,引脚配置部分参考前面的文章,如

​​FPGA 学习笔记:Vivado 配置IO引脚约束​​

FPGA

  • 约束文件内容为:
set_property PACKAGE_PIN E14 [get_ports uart_rtl_0_rxd]
set_property iosTANDARD LVCMOS33 [get_ports uart_rtl_0_rxd]
set_property PACKAGE_PIN D17 [get_ports uart_rtl_0_txd]
set_property IOSTANDARD LVCMOS33 [get_ports uart_rtl_0_txd]
set_property PACKAGE_PIN U7 [get_ports resetn_0]
set_property IOSTANDARD LVCMOS15 [get_ports resetn_0]
set_property IOSTANDARD LVCMOS15 [get_ports clk_in1_0]
set_property PACKAGE_PIN R4 [get_ports clk_in1_0]

set_property CONFIG_VOLTAGE 3.3 [current_design]
set_property CFGBVS VCCO [current_design]

set_property BITSTREAM.GENERAL.COMPRESS TRUE [current_design]
set_property BITSTREAM.CONFIG.CONFIGRATE 50 [current_design]
set_property BITSTREAM.CONFIG.SPI_32BIT_ADDR YES [current_design]
set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 4 [current_design]
set_property BITSTREAM.CONFIG.SPI_FALL_EDGE YES [current_design]

set_property PACKAGE_PIN U27 [get_ports sys_clk]
set_property IOSTANDARD LVCMOS33 [get_ports sys_clk]
set_property PACKAGE_PIN F25 [get_ports sys_rst_n]
set_property IOSTANDARD LVCMOS33 [get_ports sys_rst_n]
  • 生成 二进制文件,这里设置一下,同时生成 bin 文件

FPGA

  • 然后点击【Generate Bitstream】,生成 bit 文件与bin 文件
  • 未完待续

小结

  • 本篇介绍了完成MicroBlaze Uartlite的连线,生成Block Design 的设计文件,配置好引脚,生成二进制文件
  • 后面接着介绍 导出 硬件文件,打开 SDK(Vivado 2018.2),并MicroBlaze 工作起来,让串口输出 helloword 信息


以上是关于FPGA 学习笔记:Vivado 2018.2 MicroBlaze Uartlite 配置的主要内容,如果未能解决你的问题,请参考以下文章

基于vivado(语言Verilog)的FPGA学习——FPGA理论知识

ZYNQ之FPGA学习----Vivado功能仿真

ZYNQ之FPGA学习----Vivado软件使用

FPGA流水灯(含Vivado使用流程)

FPGA教程案例9基于vivado核的时钟管理器设计与实现

(电工基地笔记)Vivado固化至SPI Flash