本设计已在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,从设备数据接口,提供点对点的通信通道。 |