目录
1. 前言
平台是XCKU040,Vivado版本2019.1,不同的平台和软件IP配置界面会有些许不同哦。
官方文档:MicroBlaze Processor Reference Guide
MicroBlaze在FPGA的设计中经常被用到,MicroBlaze可以理解为使用FPGA逻辑资源实现的一个处理器软核。处理器所具有的功能,MicroBlaze也具有。
优点:
- 在完成控制任务时,处理器有FPGA无法比拟的优势
- 传统的FPGA+ARM外接方式还需要解决FPGA和ARM通信的问题。这是个非常麻烦的过程。
- 强大的开发库支持,大大节省开发时间
- 开发灵活
在带有MicroBlaze设计中,所有外设都通过AXI接口挂在总线上,可供MicroBlaze进行访问
Xilinx官方为MicroBlaze所能挂载的所有外设几乎都提供了基于C语言的Example Deign,Example Deign中的函数可以稍加修改就能直接使用。这极大地方便了软件工作者的开发。
FPGA工程师必须能够完成简单的C语言程序的开发。
注1:除了MicroBlaze软核方式,Xilinx官方还提供了ZYNQ的解决方案,它将FPGA与ARM硬核封装到了同一块芯片中,ARM和FPGA之前存在几种高速通信总线可选,ARM有自己的外设可选,处理速度更快,功能更加强大。这个以后有时间也会写博客说说ZYNQ。
注2:在MicroBlaze开发中也个人习惯用ZYNQ中PL(Progarmmable Logic)和PS(Processing System)的概念用来代指FPGA端的硬件开发和ARM端的软件开发。
2. 介绍
2.1 核架构介绍

有时间单独写一篇博客介绍MicrBlaze
2.2 工程介绍
本文章更多是从个人笔记的角度编写。从0开始搭建一个能够使用各种外设的简单设计。
包含一下内容:
- AXI_UARTLite
- AXI_GPIO
- AXI_CAN
- BARM
- 带中断功能
2.2 接口介绍
MicroBlaze接口中常见的有如下几种:
| 接口名 | 作用 |
|---|---|
| INTERRUPT | 中断控制器接口,用来连接中断控制器 |
| DEBUG | DEBUG接口,用来连接MDM,方便开发中进行DEBUG |
| Clk | MicroBlaze系统运行时钟 |
| Reset | 系统复位,高有效 |
| DLMB | 处理器数据接口 |
| ILMB | 处理器指令接口 |
| M_AXI_DP | MB外围数据接口,可以用来连接片内的BARM,AXI-Lite类型 ,非必选 |
| M_AXI_IP | MB外围指令接口,用来挂载AXI总线形式的接口外设IP,AXI-Lite类型,必选 |
| M_AXI_DC | 外部存储器数据接口,AXI-FULL类型 ,非必选 |
| M_AXI_IC | 外部存储器指令接口,AXI-FULL类型 ,非必选 |

3. 工程搭建
- 创建一个Block Design。
- 在Block design中添加MicroBlaze IP后,

本文档详细介绍了如何使用Vivado 2019.1在XCKU040平台上搭建MicroBlaze软核处理器,并配置AXI UARTLite、GPIO、CAN和BRAM等外设。通过BlockDesign创建MicroBlaze IP,配置接口和总线,连接外设并进行地址分配。内容包括MicroBlaze的优缺点、工程搭建步骤、各外设的配置要点以及中断控制器的使用。最后,文章强调了PL端开发完成后,将进入PS端的开发阶段。
最低0.47元/天 解锁文章
3695

被折叠的 条评论
为什么被折叠?



