MicroBlaze使用put或putd指令,执行写FSL的操作。写FSL操作将寄存器的内容传送到输出FSL总线上。当FSL的FIFO非满状态时,在块传输模式下只需要一个时钟周期就能完成数据传输。如果FSL的FIFO满时,处理器停下来等待,直到FSL的满标志变成低。非块传输指令(prefixn)在一个时钟周期下完成传输(即使FSL为满)。如果FSL为满时,写操作被禁止,且MSR的进位标志被置位。
MicroBlaze使用get或getd指令,执行读FSL的操作。读FSL操作将输入FSL总线的内容传输到通用寄存器中。当FSL的FIFO非满状态时,在块传输模式下只需要2个时钟周期就能完成数据读传输。如果FSL的FIFO满时,处理器停下来等待,直到FSL的满标志变成低。非块传输指令(prefixn)在2个时钟周期下完成传输(即使FSL为空)。如果FSL为空时,不产生读数据传输,且MSR的进位标志被置位。
直接FSL连接用来去避免需要FSL总线。在没有缓冲的情况下,比如两个连接的IP核。
在直接FSL连接下不使用FSL的FIFO。无FIFO可以减少延迟和要求实现的资源。
MicroBlaze处理器的每一个FSL接口能使用FSL直接连接或FSL总线。
MicroBlaze的DWFSL接口是直接FSL连接的初始源,它只能连接到DWFSL目标。DWFSL的初始源和目标有同样的信号名(与MFSL信号一样)。MicroBlaze使用DWFSL接口通过put或putd命令写数据到目标。
MicroBlaze的DRFSL接口是一个FSL连接的目标,它只能连接到DRFSL的初始源。DRFSL的初始源和目标有同样的信号名(与SFSL信号一样)。MicroBlaze使用DRFSL接口通过get或getd命令从初始源读数据。
Xilinx的CacheLink(XCL)接口就是使用直接FSL连接实现的。2100433B