摘要 MicroBlaze是基于Xilinx公司新一代FPGA器件的软处理器核。其FSL 总线是FIFO单向链路,可以实现用户自定义IP核与MicroBlaze内部通用寄存器的高速直连。本文对MicroBlaze的几种主要总线接口摘要 进行比较,详细分析、介绍FSL总线的结构、特点、工作原理和配置方法。通过一个矢量汉字还原的应用实例,具体描述在FPGA片上系统设计中利用FSL高速总线整合用户自定义IP核,实现软处理器系统硬件加速的方法及步骤。
关键词 FPGA IP核 FSL总线 软核处理器 MicroBlage
引 言
随着半导体制造工艺的发展,以FPGA(现场可编程门阵列)为代表的新一代可编程逻辑器件(PLD)的逻辑资源密度不断增加,使得可编程技术很自然地就与系统芯片集成技术(SoC)的结合日益紧密www.cechina.cn,并逐步成为可配置平台技术(configurable platform)的主流。
1 MicroBlaze软核处理器
1.1 概 述
MicroBlaze是基于Xilinx公司FPGA的微处理器软IP核。它采用RISC架构和哈佛结构的32位指令和数据总线,内部有32个32位宽度的通用寄存器;在150 MHz的时钟频率下,最高可达到125 DMIPS的处理性能,其逻辑结构如图1所示(图中省略了指令侧的同类接口)。使用Xilinx公司提供的EDK(嵌入式系统开发套件),可以在参数化的图形界面下方便地完成嵌入式软处理器系统的设计。其突出的优点,一是设计灵活性;二是可以整合用户自定义IP核,使得算法可以在硬件中并行地执行而不是在软件中串行执行CONTROL ENGINEERING China版权所有,从而极大地加速软件的执行速度,即所谓的硬件加速。
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片上总线标准的部分实现CONTROL ENGINEERING China版权所有,适用于将IP核作为外设连接到MicroBlaze系统中。LMB用于实现对片上的blockRAM的高速访问。FSL是MicroBlaze软核特有的一个基于FIFO的单向链路控制工程网版权所有,可以实现用户自定义IP核与MicroBlaze内部通用寄存器的直接相连;而XCL则是MicroBlaze软核新增加的,用于实现对片外存储器的高速访问。MicroBlaze软核还有专门的调试接口,通过参数设置,开发人员可以只使用特定应用所需要的处理器特性。
1.3 MicroBIaze系统的硬件加速
将用户IP核整合到基于MicroBlaze的嵌入式软核处理器系统中,通常有两种方法:一种方法是将IP核连接到OPB总线;第二种方法就是将用户IP连接到MicroBlaze专用的FSL总线上。OPB与FSL比较如表1所列。
注:①数据分别来自opb_v20和FSL_v