基于FPGA的嵌入式系统的设计

基于FPGA的嵌入式系统的设计,第1张

随着FPGA 技术的迅速发展,可编程片上系统(SOPC)作为一种特殊的嵌入式微处理器系统,融合了SoC和FPGA 各自的优点,并具备软硬件在系统可编程、可裁减、可扩充、可升级的功能,已逐渐成为一个新兴的技术方向。SOPC的核心是在FPGA上实现的嵌入式微处理器核,目前主要有Xilinx公司集成的32位软核MicroBlaze[1] ,32位PowerPC系列处理器硬核PowerPC405、PowerPC440,ARM公司的CortexA9,以及Altera公司的Nios系列微处理器软核等。本文主要介绍Xilinx公司的MicroBlaze 软核结构,对其体系结构、设计流程和相关开发工具一一进行介绍,并在实际的无线电监测系统[2]中采用此方案,构建了一个小型化、智能化、网络化的软件无线电处理平台。

1 MicroBlaze处理器结构

MicroBlaze软核处理器是可配置的精简指令集(RISC)32位CPU,该RISC核针对Xilinx公司的FPGA芯片进行了优化。设计人员可以根据设计定制处理器的可选配置,根据版本的不同,配置不同的选项。该软核处理器具有以下几个方面的特征:
◆ 32个32位通用寄存器
◆ 32位3个 *** 作数的指令字,指令字有2种寻址模式;
◆ 分离的32位地址总线和数据总线;
◆ 具有高速的指令和数据缓存,3级和5级流水线 *** 作;
◆ 灵活的总线结构,支持LMB、OPB、PLB、XCL、FSL片上总线接口等,新推出的系列还支持AXI总线接口;
◆ 支持MMU存储管理、FPU浮点单元、高速缓存、异常处理和调试逻辑等可根据性能需求和逻辑区域成本任意裁减的高级特性。

MicroBlaze的这些特性极大地扩展了其应用范围,MicroBlaze处理器的内核仍在不断更新之中,目前使用的版本MicroBlaze v7.1,其内部架构如图1所示。

基于FPGA的嵌入式系统的设计,Xilinx FPGA的嵌入式系统开发过程,第2张

 

图1 MicroBlaze处理器结构图

图1中MicroBlaze处理器的外部接口定义如下:
① DPLB(Data Processor Local Bus)、DOPB(Data Onchip Peripheral Bus):数据接口,处理器本地总线,用于处理器与片内的设备数据交换。
② IPLB(InstrucTIon Processor Local Bus)、IOPB(InstrucTIon OnChip Peripheral Bus):指令接口,用于指令读取通道。
③ DLMB(Data Local Memory Bus):数据接口,本地存储器总线,用于高速数据交换。
④ ILMB(InstrucTIon Local Memory Bus):指令接口,实现高速指令读取。
⑤ MFSL0~15(Main Fast Simple Link):FSL主设备数据接口,提供点对点数据通道;SFSL0~15(Slave Fast Simple Link):FSL从设备点对点数据接口。
⑥ DWFSL0~15:FSL主设备直接连接接口;DRFSL0~15:FSL从设备直接连接接口;
⑦ IXCL(InstrucTIon side Xilinx CacheLink interface)和DXCL(Data side Xilinx CacheLink interface):分别为指令高速缓存接口和数据高速缓存接口。

2 EDK工具开发流程

Xilinx公司嵌入式开发套件工具EDK[3]( Embedded Development Kit)为用于开发基于MicroBlaze 软核和PowerPC硬核处理器的SOPC系统提供了一个很好的工具平台。Xilinx公司的EDK工具主要包含:Xilinx Platform Studio(XPS)人机界面、嵌入式系统工具套件、嵌入式处理IP核、Platform Studio SDK(Software Development Kit,SDK)。XPS提供下面的特性:
◆ 能够添加核,编辑核参数,进行总线和信号连接,产生MHS文件;
◆ 能够产生和修改MSS文件;
◆ 支持Xilinx底层所有工具;
◆ 能够产生和观察系统块图和设计报告;
◆ 多用户软件应用支持;
◆ 项目管理;
◆ 过程和工具流程依赖管理。

一个完整的嵌入式处理器系统设计通常包括3 个部分:硬件系统的构建、软件系统及存储器映射、应用程序开发。
硬件系统的构建是指设计人员根据应用的需要而使用Xilinx的技术建立灵活的嵌入式处理子系统。硬件平台是由一个或多个处理器或外设连接到处理器总线构成的,EDK通过微处理器硬件规范(Microprocessor Hardware Specification,MHS)文件记录硬件平台信息。

软件系统及存储器映射是由软件驱动和用于建立应用程序的 *** 作系统组成的。所建立的软件映像文件只包含用户所使用到的一部分Xilinx的库。EDK通过微处理器软件规范(Microprocessor Software Spectifcation,MSS)记录软件平台信息。设计人员可以在软件平台运行多个应用程序。

MHS和MSS数据文件定义了嵌入式系统,其开发流程如图2所示。

基于FPGA的嵌入式系统的设计,Xilinx FPGA的嵌入式系统开发过程,第3张

 

图2 EDK嵌入式系统软硬件开发流程

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2617881.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-10
下一篇 2022-08-10

发表评论

登录后才能评论

评论列表(0条)

保存