完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 正点原子运营官 于 2021-1-11 15:13 编辑
1)实验平台:正点原子达芬奇FPGA开发板 2)购买链接:https://detail.tmall.com/item.htm?id=624335496505 3)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/fpga/zdyz_dafenqi.html 4) 正点原子官方B站:https://space.bilibili.com/394620890 5)对正点原子FPGA感兴趣的同学可以加群讨论:905624739 6)关注正点原子公众号,获取最新资料 第一章MicroBlaze简介 Vivado是Xilinx公司提供的一个集成设计环境,可用于搭建复杂的嵌入式系统,搭建完成后的系统将作为后续软件开发的硬件基础。在嵌入式系统设计的过程中,用户可直接调用官方所提供的IP核,比如MicroBlaze软核嵌入式处理,从而大大加速系统设计;也可以设计自己的IP核,定制符合需求的硬件系统。 本章包括以下几个部分: 11.1使用MicroBlaze的意义 1.2MicroBlaze是什么 1.3Vitis是什么 1.4使用MicroBlaze的设计流程 1.1使用MicroBlaze的意义 嵌入式系统至今已有40多年的历史,嵌入式处理器是嵌入式系统的核心部件,是控制、辅助系统运行的硬件单元。嵌入式处理器范围极其广阔,从最初的4位处理器,目前仍在大规模应用的8位单片机,到最新的受到广泛青睐的32位,64位嵌入式CPU。世界上具有嵌入式功能特点的处理器已经超过1000种,流行的体系结构包括MCU,MPU等30多个系列。鉴于嵌入式系统广阔的发展前景,很多半导体制造商都大规模生产嵌入式处理器,并且公司自主设计处理器也已经成为了未来嵌入式领域的一大趋势,从单片机、DSP到FPGA有着各式各样的品种,同品种的产品相比速度越来越快,性能越来越强,价格也越来越低。 与传统的独立CPU相比,软核嵌入式处理器同样有较高的处理能力,并且在可构建多核系统、可定制取舍等方面均优于传统CPU,如Xilinx公司推出的MicroBlaze。由于MicroBlaze在FPGA内部实现,它利用FPGA内部通用的资源和相关IP核,能够实现可编程片上系统(SOPC)的设计,所以能够有效地提高可靠性、减少芯片数量、减少连线、缩小电路板面积,在体积、重量、功耗、成本等各方面有较大的优势。因此,软核嵌入处理器技术在某些特殊领域有着重要的应用意义和前景。传统系统架构与SOPC架构对比如下所示: 图 1.1.1 传统的系统架构 图 1.1.2 SOPC架构 在进行系统设计时,倘若系统非常复杂,采用传统FPGA单独用Verilog/VHDL语言进行开发的方式,工作量无疑是巨大的,这时调用MicroBlaze软核嵌入式处理器IP核,将会大大减少开发人员的工作量,从而对于提升工作效率,节约项目成本具有重大意义。采用FPGA和MicroBlaze进行嵌入式系统设计,可实现多片专用芯片的功能,有利于系统实现小型化、集成化。 由于使用MicroBlaze软核进行系统搭建时需要利用FPGA内部通用资源和相关IP核,会占用一定的资源,因此当所要实现的功能较为简单时,则没有必要使用Microblaze来实现,传统的FPGA设计更具有优势;而当实现的功能较为复杂时(如GUI界面的实现),则使用Microblaze更具有优势,可以大大提升工作效率。 1.2MicroBaze是什么 MicroBlaze是Xilinx公司提供的一款32/64位软核嵌入式处理器,是一款高度灵活可配置的易用型处理器,它能够利用FPGA内部通用资源和相关IP核,实现可编程片上系统(SOPC)的设计。该处理器采用32位RISC(Reduced Insrtction System Computer)优化结构和Harvard总线结构,广泛适用于Spartan、Virtex和Artix等系列的FPGA。 MicroBlaze软核嵌入式处理器是高度可定制的IP核,支持70多个配置选项,有32个32位通用寄存器以及2个32位特殊寄存器—PC指针寄存器和MSR状态标志寄存器。另外MicroBlaze软核处理器还配有指令和数据缓存、浮点单元、内存管理单元和许多其他选项,从而大大提高其运算性能。MicroBlaze软核嵌入式处理器的所有指令字长都是32位,具有3个操作数和两种寻址模式,指令按功能可划分为:逻辑运算、算术运算、分支、存储器读/写和特殊指令等等。指令以并行流水线的方式执行,其流水线可分为取指、译码和执行。 图 1.2.1是MicroBlaze的框图,展示了固定的硬件特性模块和可配置选项,如指令和数据缓存。 图 1.2.1 MicroBlaze框图 图中MicroBlaze处理器的外部接口定义如下: DPLB(Data Processor Local Bus):数据接口,处理器本地总线。 DOPB(Data On-chip Peripheral Bus):数据接口,片上外设总线,该接口实现CPU与片内外设的数据交换。 DLMB(Data Local Memory Bus):数据接口,本地存储器总线,该总线为CPU与本地块存储器间的数据交换通道。 IPLB(Instruction Processor Local Bus):指令接口,处理器本地总线。 IOPB(Instruction On-Chip Peripheral Bus):指令接口,片上外设总线,CPU通过此总线读取外部存储器的程序代码。 ILMB(Instruction Local Memory Bus):指令接口,本地存储器总线,该总线与内部块存储器相连,提供高速指令的提取。 MFSL0..15 (Fast Simple Link FSL master interface):FSL主设备数据接口,提供点对点的通信通道。 SFSL0..15 (Fast Simple Link FSL slave interface):FSL从接口,提供点对点的通信通道。 IXCL(Instruction side Xilinx Cache Link interface):指令侧高速缓存链接接口。 DXCL(Data side Xilinx Cache Link interface):数据侧高速缓存链接接口。 MicroBlaze处理器通常用于如图 1.2.2所示的三种预设配置之一:运行裸机应用程序的简单微控制器(Microcontroller);具有高速缓存和与运行嵌入式实时操作系统的实时处理器(FreeRTOS);最后是带有运行Linux的内存管理单元的应用处理器(Application)。下表显示了在Artix-7系列下的XC7A200T芯片上这些配置的性能和利用率(如果是达芬奇开发板板载芯片XC7A35T,资源利用率会更大一些)。MicroBlaze可以在所有Xilinx FPGA中用作独立处理器,也可以在Zynq SoC系统中用作协处理器。 图 1.2.2 三种预设配置的性能和利用率 1.3Vitis是什么 Vitis统一软件平台的前身为Xilinx SDK,从Vivado 2019.2版本开始,Xilinx SDK开发环境已统一整合到全功能一体化的Vitis中。Vitis可以采用C、C++或Python开发以MicroBlaze处理器为核心的嵌入式系统,可实现在Xilinx异构平台(包括FPGA、SoC和Versal ACAP)上开发嵌入式软件和加速应用。它可为边缘、云和混合计算应用加速提供统一编程模型。Vitis是应用IDE(集成开发环境),可实现真正的同质及异构多处理器设计、调试和性能分析。 1.4使用MicroBlaze的设计流程 使用MicroBlaze进行嵌入式设计包括两部分,分别是硬件设计和软件设计。硬件设计使用到的工具是Xilinx提供的Vivado套件,软件设计使用Xilix提供的Vitis统一软件平台。 在Vivado中我们可以在Block Design中搭建MicroBlaze处理系统,然后生成包含硬件信息的xsa(Xilinx Shell Archive)文件。利用xsa文件在Vitis软件中搭建硬件平台,进行软件设计和调试。 图 1.4.1是MicroBlaze的开发流程图: 图 1.4.1 MicroBlaze的开发流程图 第一步:配置MicroBlaze核、其他需要的IP核以及外围设备。 第二步:硬件设计执行综合、布局布线等。 第三步:生成BIT流文件。 第四步:导出包含硬件信息的xsa文件。 第五步:启动Vitis,创建硬件平台工程和应用工程。 第六步:设计软件并调试。 第七步:编译工程生成ELF文件。 第八步:将bit和ELF文件合并为download.bit文件并固化。 1.5软件使用 Vitis具体使用方法是结合到下面的每个开发例程之中的,有详细的使用步骤,这里不再说明。 1.6代码调试 代码的具体调试方法会在第六章的6.6小节中详细讲述,这里不再说明。 |
|
相关推荐
|
|
iTOP-3A5000主控板龙芯架构外加机箱就是一台电脑主机
803 浏览 0 评论
迅为RK3568开发板EMMC镜像导出打包update.img
852 浏览 0 评论
飞凌嵌入式-ELFBOARD 硬件知识分享-ELF 2电源电路讲解
1309 浏览 0 评论
2011 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-mfgtools烧录流程介绍之烧写所需镜像
1704 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-28 19:22 , Processed in 0.393190 second(s), Total 33, Slave 26 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号