FSL總線IP核及其在MicoBlaze系統(tǒng)中的應(yīng)用
引 言
本文引用地址:http://www.ex-cimer.com/article/83481.htm隨著半導(dǎo)體制造工藝的發(fā)展,以FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)為代表的新一代可編程邏輯器件(PLD)的邏輯資源密度不斷增加,使得可編程技術(shù)很自然地就與系統(tǒng)芯片集成技術(shù)(SoC)的結(jié)合日益緊密,并逐步成為可配置平臺(tái)技術(shù)(configurable platform)的主流。
目前,各主要PLD廠商基于FPGA的可配置平臺(tái)雖然大都采用“微處理器十可編程邏輯”的架構(gòu),但在開(kāi)發(fā)基于FPGA的嵌入式系統(tǒng)時(shí),卻采用了各自不同的方式來(lái)整合處理器系統(tǒng)與片上的其他邏輯資源(大多數(shù)以用戶IP核形式出現(xiàn))。MicroBlaze軟核處理器是Xilinx公司為其FPGA器件開(kāi)發(fā)的,其特有的FSL(Fast Simplex Link,快速單向鏈路)總線,可以實(shí)現(xiàn)用戶IP核與軟核處理器的高速連接,為設(shè)計(jì)者提供了一條解決這類問(wèn)題的途徑。
1 MicroBlaze軟核處理器
1.1 概 述
MicroBlaze是基于Xilinx公司FPGA的微處理器軟IP核。它采用RISC架構(gòu)和哈佛結(jié)構(gòu)的32位指令和數(shù)據(jù)總線,內(nèi)部有32個(gè)32位寬度的通用寄存器;在150 MHz的時(shí)鐘頻率下,最高可達(dá)到125 DMIPS的處理性能,其邏輯結(jié)構(gòu)如圖1所示(圖中省略了指令側(cè)的同類接口)。使用Xilinx公司提供的EDK(嵌入式系統(tǒng)開(kāi)發(fā)套件),可以在參數(shù)化的圖形界面下方便地完成嵌入式軟處理器系統(tǒng)的設(shè)計(jì)。其突出的優(yōu)點(diǎn),一是設(shè)計(jì)靈活性;二是可以整合用戶自定義IP核,使得算法可以在硬件中并行地執(zhí)行而不是在軟件中串行執(zhí)行,從而極大地加速軟件的執(zhí)行速度,即所謂的硬件加速。
1.2 MicroBlaze軟核總線接口
MicroBlaze軟處理器核具有豐富的接口資源。目前,最新版本的MicroBlaze軟核支持的接口標(biāo)準(zhǔn)有:
◆帶字節(jié)允許的OPB(On-chip Peripheral Bus,片上外設(shè)總線)V2.0接口;
◆高速的LMB(Local Memory Bus,本地存儲(chǔ)器總線)接口;
◆FSL 主從設(shè)備接口;
◆XCL(Xilinx Cache Link,Xilinx緩存鏈路)接口;
◆與MDM(微處理器調(diào)試模塊)連接的調(diào)試接口。
OPB是對(duì)IBM Core Connect片上總線標(biāo)準(zhǔn)的部分實(shí)現(xiàn),適用于將IP核作為外設(shè)連接到MicroBlaze系統(tǒng)中。LMB用于實(shí)現(xiàn)對(duì)片上的blockRAM的高速訪問(wèn)。 FSL是MicroBlaze軟核特有的一個(gè)基于FIFO的單向鏈路,可以實(shí)現(xiàn)用戶自定義IP核與MicroBlaze內(nèi)部通用寄存器的直接相連;而 XCL則是MicroBlaze軟核新增加的,用于實(shí)現(xiàn)對(duì)片外存儲(chǔ)器的高速訪問(wèn)。MicroBlaze軟核還有專門(mén)的調(diào)試接口,通過(guò)參數(shù)設(shè)置,開(kāi)發(fā)人員可以只使用特定應(yīng)用所需要的處理器特性。
1.3 MicroBIaze系統(tǒng)的硬件加速
將用戶IP核整合到基于MicroBlaze的嵌入式軟核處理器系統(tǒng)中,通常有兩種方法:一種方法是將IP核連接到OPB總線;第二種方法就是將用戶IP連接到MicroBlaze專用的FSL總線上。OPB與FSL比較如表1所列。
注:①數(shù)據(jù)分別來(lái)自opb_v20和FSL_v20數(shù)據(jù)手冊(cè);
?、谠摂?shù)據(jù)是在總線配置為1主2從情況下得到的;
?、墼摂?shù)據(jù)對(duì)MicroBlaze軟核而言。
從表1可見(jiàn),盡管OPB和FSL都是MicroBlaze軟核與FPGA其他片上邏輯資源連接的主要途徑,但其特點(diǎn)決定了分工是不同的:OPB 總線適用于將低速和低性能要求的設(shè)備連接到MicroBlaze系統(tǒng)中;而FSL總線則適用于將時(shí)間要求高的用戶自定義IP核整合到基于 MicroBlaze的軟核系統(tǒng)中,以實(shí)現(xiàn)硬件加速。
2 FSL總線
2.1 FSL總線接口
FSL總線是一個(gè)基于FIFO的單向點(diǎn)對(duì)點(diǎn)通信總線,主要用于FPGA的兩個(gè)模塊問(wèn)進(jìn)行快速的通信。FSL總線IP核結(jié)構(gòu)如圖2所示,F(xiàn)SL接口的I/O信號(hào)如表2所列。
該接口的主要特點(diǎn):
◆單向的點(diǎn)對(duì)點(diǎn)通信;
◆非共享的無(wú)仲裁通信機(jī)制;
◆支持控制位與數(shù)據(jù)分離的通信;
◆基于FIFO的通信模式;
◆可配置的數(shù)據(jù)寬度;
◆高速的通信性能(獨(dú)立運(yùn)行達(dá)到600 MHz)。
評(píng)論