MicroBlaze可以采用以下的接口和外设或内存进行数据交互
- PLB64:
PLB是IBM CoreConnect架构的一部分,是处理器连接到高性能外围设备的高性能同步总线。
Xilinx的PLB设备遵循下列PLB使用原则:
- PLB数据总线是64位宽,地址总线是32位宽。注意有些外设可以用参数表示宽度,但是现在只支持64位数据总线。比64位小的外设能以在在寻址方面相对应的减少连在PLB。例如,基础地址为A的32位外设能被连在字节巷的0-4位,但是字宽的访问只能在A,A+8,A+16等地址。
- PLB主线无需支持动态总线尺寸。PLB主线无需复制数据到不常用的字节。PLB主线需要正确地驱动<Master>_MSize[0:1]。PLB从设备线需要为提供了对话周期(例如PowerPC 405)的PLB主线正确地驱动<Slave>_SSize[0:1]。
- 所有的PLB从设备线必须在不激活时输出逻辑0。
- byte-enables和least-significant地址位被所有的主设备线驱动并包含常数。
- LMB
LMB是个起初用来存取片上RAM块的同步总线。它使用最少的控制信号和一个来保证RAM块在一个时钟周期被存取的简单协议。所有的LMB信号都是高电平有效。
- XCL
Xilinx CacheLink(XCL)是一个高性能的外部内存访问的方案。 MicroBlaze 的缓存接口(CacheLink)设计为一个直接通过内嵌的FSL接口连接到内存控制器. 在配合多端口外部内存控制器(MPMC)的情况下。这是一个最小延时的方案。
XCL接口只有在MicroBlaze 的缓存使能的情况下才可以使用。指令缓存和数据焕存可以分别的使能。在缓存范围外或通过软件禁止使用缓存(例如, MSR[DCE]=0或MSR[ICE]=0)的内存区间将通过PLB或LMB进行访问。
CacheLink的缓存控制是使用4或8字的缓存行、目标字先取(cache lines with critical word first)。 CacheLink和PLB总线是在不同的通路上的.所以可以节省PLB总线的带宽。

图 2.3.1 采用XCL的系统框图

图 2.3.2 XCL内部结构图
- FSL:
MicroBlaze 7.0最多支持16个FSl的接口。 每个FSL接口有一个输入口和一个输出口。FSL 接口主要用于点对点单向的数据流的传输。FSL的特点是效率高而且占用的资源比较少 。FSL 的接口细节会在第6章里详细描述并给出一个设计实例。
- 调试接口:
MicroBlaze特色的引入调试接口来支持基于JTAG的软件调试工具(通常称做BDM或称后台调试模式调试器),像Xilinx Microprocessor Debug (XMD)工具。调试接口设计成与Xilinx Microprocessor Debug Module (MDM)核相连,而MDM与Xilinx FPGA的JTAG端口相连。多个MicroBlaze的场景也能通过允许多处理器调试的方法与单个MDM相连。调试的特点包含:
- 硬件断点,观察点数量可设置,软件断点无限制。
- 外部处理器控制允许调试工具停止,重置,和单步运行MicroBlaze。
- 可以对内存,通用寄存器,特殊目的寄存器(除EAR,EDR,ESR,BTR 和 PVR0 – PVR11只能读取)读取和写入。
- 支持多处理器。
- 写入指令和数据高速缓存。
<<上一节 下一节>>