摘要 MicroBlaze是基于Xilinx公司新一代FPGA器件的软处理器核。其FSL 总线是FIFO单向链路,可以实现用户自定义IP核与MicroBlaze内部通用寄存器的高速直连。本文对MicroBlaze的几种主要总线接口摘要 进行比较控制工程网版权所有,详细分析、介绍FSL总线的结构、特点、工作原理和配置方法。通过一个矢量汉字还原的应用实例,具体描述在FPGA片上系统设计中利用FSL高速总线整合用户自定义IP核,实现软处理器系统硬件加速的方法及步骤。
关键词 FPGA IP核 FSL总线 软核处理器 MicroBlage
引 言
随着半导体制造工艺的发展,以FPGA(现场可编程门阵列)为代表的新一代可编程逻辑器件(PLD)的逻辑资源密度不断增加,使得可编程技术很自然地就与系统芯片集成技术(SoC)的结合日益紧密,并逐步成为可配置平台技术(configurable platform)的主流。
目前,各主要PLD厂商基于FPGA的可配置平台虽然大都采用"微处理器十可编程逻辑"的架构,但在开发基于FPGA的嵌入式系统时,却采用了各自不同的方式来整合处理器系统与片上的其
1 MicroBlaze软核处理器
1.1 概 述
MicroBlaze是基于Xilinx公司FPGA的微处理器软IP核。它采用RISC架构和哈佛结构的32位指令和数据总线,内部有32个32位宽度的通用寄存器;在150 MHz的时钟频率下,最高可达到125 DMIPS的处理性能,其逻辑结构如图1所示(图中省略了指令侧的同类接口)。使用Xilinx公司提供的EDK(嵌入式系统开发套件),可以在参数化的图形界面下方便地完成嵌入式软处理器系统的设计。其突出的优点,一是设计灵活性;二是可以整合用户自定义IP核,使得算法可以在硬件中并行地执行而不是在软件中串行执行,从而极大地加速软件的执行速度,即所谓的硬件加速。
1.2 MicroBlaze软核总线接口 MicroBlaze软处理器核具有丰富的接口资源。目前,最新版本的MicroBlaze软核支持的接口标准有: ◆带字节允许的OPB(On-chip Peripheral Bus控制工程网版权所有,片上外设总线)V2.0接口; ◆高速的LMB(Local Memory Bus控制工程网版权所有,本地存储器总线)接口; ◆FSL 主从设备接口; ◆XCL(Xilinx Cache Link,Xilinx缓存链路)接口; ◆与MDM(微处理器调试模块)连接的调试接口。 OPB是对IBM Core Connect片上总线标准的部分实现,适用于将IP核作为外设连接到MicroBlaze系统中。LMB用于实现对片上的blockRAM的高速访问。FSL是MicroBlaze软核特有的一个基于FIFO的单向链路CONTROL ENGINEERING China版权所有,可以实现用户自定义IP核与MicroBlaze内部通用寄存器的直接相连;而XCL则是MicroBlaze软核新增加的www.cechina.cn,用于实现对片外存储器的高速访问。MicroBlaze软核还有专门的调试接口,通过参数设置,开发人员可以只使用特定应用所需要的处理器特性。 1.3 MicroBIaze系统的硬件加速 将用户IP核整合到基于MicroBlaze的嵌入式软核处理器系统中,通常有两种方法:一种方法是将IP核连接到OPB总线;第二种方法就是将用户IP连接到MicroBlaze专用的FSL总线上。OPB与FSL比较如表1所列。
注:①数据分别来自opb_v20和FSL_v20数据手册; ②该数据是在总线配置为1主2从情况下得到的; ③该数据对MicroBlaze软核而言。 从表1可见,尽管OPB和FSL都是MicroBlaze软核与FPGA其他片上逻辑资源连接的主要途径,但其特点决定了分工是不同的:OPB总线适用于将低速和低性能要求的设备连接到MicroBlaze系统中;而FSL总线则适用于将时间要求高的用户自定义IP核整合到基于MicroBlaze的软核系统中,以实现硬件加速。 2 FSL总线 2.1 FSL总线接口 FSL总线是一个基于FIFO的单向点对点通信总线,主要用于FPGA的两个模块问进行快速的通信。FSL总线IP核结构如图2所示,FSL接口的I/O信号如表2所列。
该接口的主要特点: ◆单向的点对点通信; ◆