基于FPGA搭建Micro Blaze最小系统

描述

本文介绍一个FPGA 开源项目:Micro Blaze最小系统。MicroBlaze是Xilinx提供的一个软核IP,该软核是由FPGA片内逻辑资源组成,其功能相当于一个CPU。利用Micro Blaze,设计师可以轻松实现一些FPGA难以实现的复杂算法。

下面围绕各IP核参数配置、Block Design的创建、以及Xilinx SDK应用工程的创建进行简要介绍。

01软硬件平台

  • 软件平台:Vivado 2017.4;
  • 硬件平台:xc7a35tftg256-1;

02Block Design

搭建MicroBlaze最小系统主要用到以下几个IP核:Clocking Wizard、 MIG 7 Series、 MicroBlaze、AXI Uartlite。

2.1 时钟和MIG

首先,在BD工程中添加Clocking Wizard以及MIG IP核,对于IP核参数的具体配置在前面的文章中有详细介绍。然后将时钟模块的输出时钟信号以及复位信号与MIG IP进行连接,如下图所示:

MicroBlaze

2.2 MicroBlaze

在Block Design中添加MicroBlaze IP核,并进行如下参数配置:

MicroBlaze

  • Predefined Configurations :选择 Current Settings ;
  • 优化方式 :选择默认的 PERFORMANCE 即可;
  • 启用调试接口 :Enabla MicroBlaze Debug Module Interface;
  • 启用指令和数据缓存;

MicroBlaze

  • General 参数配置:如上图所示,保持默认配置即可;

MicroBlaze

  • 对于 指令和数据缓存 的配置 : 同样保持默认的参数配置;

MicroBlaze

  • Debug :调试接口参数配置,选择 BASIC ,其余参数采用默认配置;

MicroBlaze

  • Buses :启用AXI数据流接口,通过该接口,MicroBlaze访问AXI-Lite总线数据;

MicroBlaze

然后,点击 Run Block Automation ,MicroBlaze的输入时钟选择MIG IP核提供的100MHz用户时钟。

MicroBlaze

点击 Run Connection Automation ,参数按照上图所示进行配置。自动连线完成后,得到下图所示的BD工程:

MicroBlaze

2.3 AXI Uartlite

在该最小系统中,额外添加一个串口外设:AXI Uartlite,通过串口输出验证MicroBlaze最小系统是否正常工作,如果有需要还可以添加其它外设,如GPIO、INTIC等。

需要对串口波特率进行配置,这里选择115200,其余参数默认即可:

MicroBlaze

然后点击 Run Connection Automation ,将串口模块AXI时钟选择为MIG输出的100M时钟:

MicroBlaze

2.4 Block Design

自动连线完成后,最终得到的BD工程如下图所示:

MicroBlaze

然后依次执行 Reset Output Products , Generate Output Products, Create HDL Wrapper 。对输入时钟以及串口的管脚进行配置后,最后点击生成bit流文件。

03创建Xilinx SDK工程

生成bit流文件后,点击File->Export->Export Hardware,并勾选 Include bitstream ,然后单击 Launch SDK,打开SDK软件。

在SDK软件中,点击File->New->Application Project,创建应用程序。输入工程名字,然后点击 Next 。在提供的例程里,选择 Hello World ,验证串口输出功能。

MicroBlaze

工程创建好后,选择 Debug As -> Run Configurations,勾选 Reset entire system,以及Program FPGA。然后点击 Debug。

MicroBlaze

在SDK Terminal中添加好串口并配置波特率115200,运行代码后,串口打印输出“Hello World“。

MicroBlaze

04实现功能

该Vivado工程主要是搭建了一个MicroBlaze最小系统并添加了AXI串口模块,在Xilinx SDK软件中利用C语言实现了串口打印功能。后续在此工程基础上,可以利用MicroBlaze软核实现更加复杂的功能。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分