0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于FPGA搭建Micro Blaze最小系统

CHANBAEK 来源:FPGA Zone 作者:FPGA Zone 2023-09-01 16:16 次阅读

本文介绍一个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进行连接,如下图所示:

图片

2.2 MicroBlaze

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

图片

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

图片

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

图片

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

图片

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

图片

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

图片

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

图片

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

图片

2.3 AXI Uartlite

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

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

图片

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

图片

2.4 Block Design

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

图片

然后依次执行 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 ,验证串口输出功能。

图片

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

图片

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

图片

04实现功能

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

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

    关注

    1602

    文章

    21320

    浏览量

    593192
  • Xilinx
    +关注

    关注

    70

    文章

    2121

    浏览量

    119373
  • MicroBlaze
    +关注

    关注

    3

    文章

    66

    浏览量

    21437
  • IP核
    +关注

    关注

    4

    文章

    317

    浏览量

    49041
  • 最小系统
    +关注

    关注

    9

    文章

    246

    浏览量

    28856
收藏 人收藏

    评论

    相关推荐

    FPGA最小系统是怎样的

    请问FPGA最小系统是怎样的?
    发表于 02-22 09:58

    FPGA最小系统

    了解FPGA最小系统的概念和外围电路设计
    发表于 05-23 19:57

    FPGA最小系统设计

    本帖最后由 eehome 于 2013-1-5 10:07 编辑 FPGA最小系统设计
    发表于 08-12 12:05

    FPGA最小系统

    FPGA最小系统PCB打样找华强 http://www.hqpcb.com/3 样板2天出货
    发表于 09-08 16:37

    FPGA最小系统版设计

    FPGA最小系统版用双层PCB板能够画的下吗?为什么我的自动布线时到75%时告诉我所布不了线了呢?
    发表于 02-27 17:30

    fpga最小系统

    谁有EP4CE6的原理图,和PCB,我想做个FPGA最小系统
    发表于 12-13 14:41

    FPGA最小系统板设计资料

    FPGA最小系统板设计
    发表于 05-04 16:06

    FPGA最小系统板设计资料下载

    [tr=transparent]FPGA最小系统设计的pdf文档截图: 完整文档下载: 5.1FPGA最小系统板设计.pdf[/tr]
    发表于 07-03 03:44

    什么叫最小系统

    。甚至于说,fpga、dsp、显卡gpu都有自己的最小系统最小系统只保证系统能够运行起来,但是如果要变成一个商品的话,还是要加上合理的输入、输出。就拿温度显示仪来说,就需要一个温度传
    发表于 11-25 06:11

    怎么搭建51最小系统

    怎么搭建51最小系统
    发表于 02-16 07:58

    FPGA最小系统

    FPGA最小系统:1、芯片2、有源晶振电路3、复位电路4、下载调试电路5、电源电路6、存储器
    发表于 10-04 12:11

    FPGA最小系统板下载使用说明

    FPGA最小系统板下载使用说明,有兴趣的同学可以下载学习
    发表于 05-04 11:31 26次下载

    Multisim 12.0 搭建并仿真51单片机最小系统

    Multisim 12.0 搭建并仿真51单片机最小系统
    发表于 11-17 12:51 16次下载
    Multisim 12.0 <b class='flag-5'>搭建</b>并仿真51单片机<b class='flag-5'>最小系统</b>

    STM32最小系统搭建(原理图)

    目录前言一、搭建最小系统必须的引脚口二、复位电路​三、外部晶振电路四、系统启动配置详细查看stm32数据手册前言下面介绍stm32f103c8t6最小系统
    发表于 11-17 14:36 25次下载
    STM32<b class='flag-5'>最小系统</b><b class='flag-5'>搭建</b>(原理图)

    Nios ii最小系统搭建教程

    本教程以最小系统的概念为切入点,详细演示最小系统搭建的每一个步骤;外加嵌入式IP CORE详细的理论剖析和详细的实践演示,提供部分工程集源码下载链接。本手稿为实践总结,只是提供了一个思路...
    发表于 11-17 17:06 8次下载
    Nios ii<b class='flag-5'>最小系统</b><b class='flag-5'>搭建</b>教程