本设计已在Xilinx Spatan3 Starter Board上进行了验证,取得了良好的效果。通过本设计的实现可以看出,MicroBlaze是一个功能强大、应用灵活的嵌入式软处理器,特别是其强大的用户自定义逻辑功能,极大地方便了系统设计。 1 MicroBlaze的体系结构 MicroBlaze采用功能强大的32位流水线结构,包含32个32位通用寄存器和1个可选的32位移位器,时钟频率可达150 MHz;在Virrex一4 FPGA上运行速率高达120 DMIPS,仅占用Virtex—II Pro FPGA中的950个逻辑单元。 MicroBlaze软核的结构框图如图1所示。它具有以下基本特征: ①32个32位通用寄存器和2个专用寄存器(程序计数器和状态标志寄存器)。
②32位指令系统,支持3个操作数和2种寻址方式。
③分离的32位指令和数据总线,符合IBM的OPB总线规范(与外设相连接的低速总线)。
④通过本地存储器总线(LMB,本地高速总线)直接访问片内块存储器(BRAM)。
⑤具有高速的指令和数据缓存(cache),三级流水线结构(取址、译码、执行)。
⑥具有硬件调试模块(MDM)。
⑦带8个输入和8个输出快速链路接口(FSL)。
图中接口信号说明如下: ①DOPB,器件内部的外围设备数据接口总线,用于处理器与片内的设备进行数据交换。
②DLMB,实现数据交换的本地块存储器总线。该总线为处理器内核与块存储器(BRAM)之间提供专用的高速数据交换通道。
③IOPB,用于实现外部程序存储器的总线接口。当程序较大时,需要外接大容量的存储器。该总线提供读取指令的通道。
④ILMB,用于取指令的本地存储器总线。该总线与器件内部的块存储器(BRAM)相连,实现高速的指令读取。
⑤MFSLO~7,主设备数据接口,提供点对点的通信通道。
⑥SFSLO~7,从设备数据接口,提供点对点的通信通道。 2 MicroBlaze嵌入式开发工具EDK Xilinx公司提供了完善的嵌入式开发工具EDK(Em—bedded Development Kit)。EDK是Xilinx公司于2003年推出的SOPC(System On Programmable Chip) 系统开发套件。该套件集成了丰富的开发工具和大量的IP核资源,其中集成的工具包括硬件平台生成器(PlatGen)、硬件仿真模型生成器(SimGen)、硬件调试工具(XMD)、软件库生成器(LibGen)、应用软件编译工具(GNU Compilers)、软件调试工具(GNU Debuggers)等;IP核资源包括LMB和OPB总线接口、外部存储器控制器(EMC)、SDRAM控制器、UART接口、中断控制器、定时器等。所有这些工具和资源都由EDK中的一个叫平台工作室XPS(XilinxPlatform Studio)的集成开发环境统一管理。XPS提供一个友好的图形用户界面(GUI),使用非常方便。 设计流程如图2所示。
|