[X]关闭
1

(高级篇)S05-CH01-MicroBlaze最小系统搭建

摘要: 学习C语言时,我们跑的第一个工程大多都是跑一个Hello World!而要在我们的MA703FA上进行软核设计,使其打印Hello World,则前提是要有一个CPU。学习过ZYNQ和NIOS的都知道,ZYNQ的设计中缺不了ZYNQ Processing Syste ...

软件版本:VIVADO2017.4

操作系统:WIN10

硬件平台: ARTIX-7 系列开发板

米联客(MSXBO)论坛www.osrc.cn答疑解惑专栏开通,欢迎大家给我提供!!!

1.1 前言

      学习C语言时,我们跑的第一个工程大多都是跑一个Hello World!而要在我们的MA703FA上进行软核设计,使其打印Hello World,则前提是要有一个CPU。学习过ZYNQ和NIOS的都知道,ZYNQ的设计中缺不了ZYNQ Processing System这个IP,这个IP的功能就相当于ZYNQ设计中的CPU。不同于ZYNQ自带了硬核,MA703FA上搭载的Artix7系列FPGA必须借由一个软核来充当CPU,这个软核是由FPGA内部的逻辑资源组合而成的,虽然性能上比不了ZYNQ的硬件,但在一些控制的领域还是能做到游刃有余。同样的,xilinx也提供了软核的IP,这就是MicroBlaze。本节就将为大家介绍如何搭建一个MicroBlaze最小系统,并打印Hello World。

1.2 硬件部分设计

      一个完整的 MicroBlaze 系统主要由四个部分组成:CPU、时钟、内存 和外设。接下来分别介绍四个部分搭建,最后成为一个完整系统。这里直接采用 DDR3 作为内存进行设计。简化上一季 DDR 操作,不再需要用 tcl 命令。

1.2.1 DDR设计

      Step1:创建一个 vivado 工程,给工程取个名字,这里将工程名字命名为project_A7_DDR,选择对应芯片(如果还不熟悉如何创建工程步骤,请参考前两季课程)。

      Step2:点击Create Block Design,创建一个BD文件,并命名为Top。


Step3:在VIVADO中,提供了存储控制器MIG供大家使用。可以使用TCL脚本配置,也可以使用IP的GUI界面配置。在VIVADO最底端的tcl控制台输入以下命名,创建一个MIG IP.

set mig_7series_0 [ create_bd_cell -type ip -vlnv xilinx.com:ip:mig_7series:4.0 mig_7series_0 ]

下面介绍GUI界面配置方法。

单击IP Catalog,选取Memory Interface Generator(MIG 7 series)IP添加到Block design中。

 

Step4:双击MIG 7 SERIES ,对这个IP进行配置。


选择 Create Design,单击next。

单击next

选择DDR3,单击next。

设置MIG 内核时钟频率为 400MHZ、内存型号、内存的数据位宽

设置IP 核的输入时钟频率 为200Mhz

系统时钟选择no buffer和use system clock, ,MIG高电平复位,XADC补偿使能(本教程没有使用到,但是仍然使能)

终端阻抗选择 50hms

选择 Fixed Pin Out

根据原理图手动填写 PIN 脚定义,或者选择Read XDC/UCF直接读入pin脚定义

填写完成后,先单击Validate再单击NEXT

单击 NEXT

 

单击 NEXT

 

单击 NEXT

 

单击 NEXT

 

单击 Generate

1.2.2 CPU 和时钟设计

Step5:添加 IP clocking Wizard,设置时钟输入和输出。

      Step6:添加软核 Microblaze,点击 Run Block Automation,其中 Local Memory 是Microblaze  的内存,使用资源是 BlockRAM,可以自己选择大小,使能中断和AXI 接口。

Microblaze 配置要求如下

如图点击Run connectionAutomation进行连接

1.2.3 外设设计

      此部分主要是添加一些常用的接口,比如AXI time 和 AXI uart IP,方法也比较简单,直接添加IP即可。在左侧的工具栏中点击按钮,然后搜索关键字AXI Uartlite,双击将其添加到工程当中,如下图所示:

生成顶层文件

添加一个 XDC约束文件(管脚及电压配置以原理图为准),单击产生Bit文件。

生成Bit文件之后,单击File-Export-Export Hardware。

Step7:勾选 Include bitstream,单击OK。

Step8:单击File-Launch SDK。

点击OK

1.5 软件设计

       上一节点击Launch SDK之后,系统会运行SDK,接下来的工作就是创建一个SDK工程用于验证硬件工程的正确性。

Step1:单击File-New-Application Project开始创建一个SDK工程。

Step2:在新弹出来的窗口中,输入工程名字Hello_world(注意不能有非法字符)。

Step3:单击Next,然后在左侧选择Hello world(默认就是),最后选择Finish。

     上图中用红色方框圈出的就是最常用到的三项,其中第一项是创建一个空白工程(创建完成之后没有设计文件),第二项是Hello world打印测试,第三项是存储器测试,可以用来测试DDR3是否正常。

Step4:稍微等待一会儿,等待工程完全创建完毕之后,选中工程(将鼠标挪动到工程上面),然后右单击,选择Debug as-Debug configuration。

Step5:右击hello world 工程,点击generate linker script,,这里的存储可以选择bram或者ddr。


Step6:在弹出来的新窗口中,双击下图圈出部分,然后勾选箭头所示参数

Step7:单击APPly,然后单击Debug(进行这一步之前,先给开发板上电)。

Step8:在下图所示区域找到SDK Terminal(这是软件自带的串口调试软件,记住如何使用,下次会直接跳过具体操作),然后单击加号图标

Step9:单击加号图标之后,再新弹出来的窗口中设置好对应的端口号和波特率,然后单击OK。

Step10:按一下F8,或者单击图标开始运行程序,然后可以看到在串口调试区域看到系统打印输出了Hello world,系统功能正常。


路过

雷人

握手

鲜花

鸡蛋
发表评论

最新评论

引用 veghm 2020-8-25 00:01
nice

查看全部评论(1)

本文作者
2019-11-7 17:33
  • 1
    粉丝
  • 6663
    阅读
  • 1
    回复

关注uisrc网络

扫描关注,了解最新资讯

电话:0519-80699907
EMAIL:270682667@qq.com
地址:常州溧阳市天目云谷3号楼北楼
热门评论
排行榜