




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、FSL總線IP核及其在MicoBlaze系統中的應用作者:時間:2008-06-02來源:單片機及嵌入式系統應用引 言本文引用地址:隨著半導體制造工藝的發展,以FPGA(現場可編程門陣列)為代表的新一代可編程邏輯器件(PLD)的邏輯資源密度不斷增加,使得可編程技術很自然地就與系統芯片集成技術(SoC)的結合日益緊密,并逐步成為可配置平臺技術(configurable platform)的主流。目前,各主要PLD廠商基于FPGA的可配置平臺雖然大都采用“微處理器十可編程邏輯”的架構,但在開發基于FPGA的嵌入式系統時,卻采用了各自不同的方式來整合處理器系統與片上的其他邏輯資源(大多數以用戶IP核
2、形式出現)。MicroBlaze軟核處理器是Xilinx公司為其FPGA器件開發的,其特有的FSL(Fast Simplex Link,快速單向鏈路)總線,可以實現用戶IP核與軟核處理器的高速連接,為設計者提供了一條解決這類問題的途徑。1 MicroBlaze軟核處理器1.1 概 述MicroBlaze是基于Xilinx公司FPGA的微處理器軟IP核。它采用RISC架構和哈佛結構的32位指令和數據總線,內部有32個32位寬度的通用寄存器;在150 MHz的時鐘頻率下,最高可達到125 DMIPS的處理性能,其邏輯結構如圖1所示(圖中省略了指令側的同類接口)。使用Xilinx公司提供的EDK(嵌
3、入式系統開發套件),可以在參數化的圖形界面下方便地完成嵌入式軟處理器系統的設計。其突出的優點,一是設計靈活性;二是可以整合用戶自定義IP核,使得算法可以在硬件中并行地執行而不是在軟件中串行執行,從而極大地加速軟件的執行速度,即所謂的硬件加速。1.2 MicroBlaze軟核總線接口MicroBlaze軟處理器核具有豐富的接口資源。目前,最新版本的MicroBlaze軟核支持的接口標準有:帶字節允許的OPB(On-chip Peripheral Bus,片上外設總線)V2.0接口;高速的LMB(Local Memory Bus,本地存儲器總線)接口;FSL 主從設備接口;XCL(Xil
4、inx Cache Link,Xilinx緩存鏈路)接口;與MDM(微處理器調試模塊)連接的調試接口。 OPB是對IBM Core Connect片上總線標準的部分實現,適用于將IP核作為外設連接到MicroBlaze系統中。LMB用于實現對片上的blockRAM的高速訪問。 FSL是MicroBlaze軟核特有的一個基于FIFO的單向鏈路,可以實現用戶自定義IP核與MicroBlaze內部通用寄存器的直接相連;而 XCL則是MicroBlaze軟核新增加的,用于實現對片外存儲器的高速訪問。MicroBlaze軟核還有專門的調試接口,通過參數設置,開
5、發人員可以只使用特定應用所需要的處理器特性。 1.3 MicroBIaze系統的硬件加速 將用戶IP核整合到基于MicroBlaze的嵌入式軟核處理器系統中,通常有兩種方法:一種方法是將IP核連接到OPB總線;第二種方法就是將用戶IP連接到MicroBlaze專用的FSL總線上。OPB與FSL比較如表1所列。 注:數據分別來自opb_v20和FSL_v20數據手冊;該數據是在
6、總線配置為1主2從情況下得到的;該數據對MicroBlaze軟核而言。 從表1可見,盡管OPB和FSL都是MicroBlaze軟核與FPGA其他片上邏輯資源連接的主要途徑,但其特點決定了分工是不同的:OPB 總線適用于將低速和低性能要求的設備連接到MicroBlaze系統中;而FSL總線則適用于將時間要求高的用戶自定義IP核整合到基于 MicroBlaze的軟核系統中,以實現硬件加速。2 FSL總線2.1 FSL總線接口 FSL總線是一個基于FIFO的單向
7、點對點通信總線,主要用于FPGA的兩個模塊問進行快速的通信。FSL總線IP核結構如圖2所示,FSL接口的I/O信號如表2所列。 該接口的主要特點: 單向的點對點通信;非共享的無仲裁通信機制;支持控制位與數據分離的通信;基于FIFO的通信模式;可配置的數據寬度;高速的通信性能(獨立運行達到600 MHz)。2.2 FSL總線的寫操作時序本文引用地址:對FSL總線的寫操作是由FSL_M_Write信號控制 的。圖3是FSL總線的寫操作時序。FSL主設備在第一個時
8、鐘上升沿檢查到 FSL_M_Full信號未置高,就允許主設備將FSL_M_Write置高,并將FSL_M_Data和FSL_M_Control推上總線,在下一個時鐘周期這些數據就被總線讀取并送入FIFO了。圖中的Write2和Write3是一組“背靠背”的連續寫操作。在Write3時,FIFO滿使得 FSL_M_Full信號被置高,迫使主設備取消自己的FSL_M_Write信號,直到一次讀操作將FSL_M_Full置低后,才可以發起另一次寫操作。因此,圖中暗示著在Write4處也發生了一次從設備的讀操作,否則FSL_M_Full將再次置高。
9、60; 2.3 FSL總線讀操作時序對FSL總線的讀操作是由FSL_S_Read 信號控制的,圖4是FSL從設備的3次讀操作時序。當FSL總線上存在有效數據(FSL_S_Exists=1),FSL_M_Data上的數據和 FSL_M_Control上的控制位就立即可以被FSL從設備讀取。一旦從設備完成讀操作,FSL_S_Read信號必須置高一個時鐘周期,以確認從設備成功完成了一次讀操作。在讀操作發生后的時鐘上升沿(圖中Read2處),FSL_M_Data和FSL_M_Control會被更新為新數據,同時 FSL_S_Exists和FSL_M_Full信號也會被
10、更新。同樣,這里暗示著在Readl和Read2之間發生了兩次主設備的寫操作。 3 FSL總線用法3.1 使用FSL總線IP核的設備間通信 目前Xilinx提供的FSL總線IP核的版本是FSL_V20。兩個設備要使用FSL進行數據傳輸,就必須分別作為主設備或從設備連接到FSL核上。如果需要進行雙向的傳輸,只要兩個設備分別作為主從設備,使用兩個FSL核連接即可。 無論是作為主設備或是從設備,都需要通過在設備的微處理器外設描述文件(MPD)
11、中進行相應的定義,以實現所需類型的FSL接口。下面這段代碼就是一個分別定義了FSL主設備接口FSL_OUT和從設備接口FSL_IN的MPD文件: BEGIN my_fsl_peripheralOPTl0N IPTYPE="PERIPHERAL"OPTl0N IMP_NETLIST=TRUEBUS_INTERFACE BUS="FSL"_IN,BUS_STD=FSL,BUS TYPE="SLAVE"BUS_INTERFACE BUS="FSL"_OUT,BUS_STD=FSL,BUS
12、_TYPE=MASTER#PortsPORT CLK=”,DIR=IN,SIGIS=CLKPORT RESET=”。DIR=INPORT FSL_S_READ=FSL_S_Read,DIR=out,BUS=FSL_INPORT FSL_S_DATA=FSL_S_Data,DIR=in,VEC=o:31,BUS=FSL_INPORT FSL_S_CONTROL=FSL_S_Control,DIR=in, BUS="FSL"_INPORT FSL_s_EXISTS=FSL_S_Exists,DIR=in,BUS=FSL_INPORT FSL_M_WRITE=FSL_M_Writ
13、e,DIR=out,BUS=FSL_OUTPORT FSL_M_DATA=FSL_M_Data,DIR=out,VEC=o:31,BUS=FSL_OUTPORT FSL_M_CONTROL=FSL_M_Control,DIR=out, BUS="FSL"_OUTPORT FSL_M_FULL=FSL_M_Full,DIR=in,BUS=FSL_OUT3.2 通過FSL與MicroBlaze通信MicroBlaze軟核的FSL總線接口支持最多8對FSL連接,具體實現多少接口由系統硬件描述文件(MHS)中的參數C_FSL_LINKS決定。默認情況下該參數為0,表示不實現FSL接
14、口。當需要使用FSL總線把MicroBlaze和FPGA中的一個或多個邏輯模塊連接起來時,必須設置該參數的值為相應的模塊數。該參數的取值范圍是08。 在MicroBlaze指令集中還有針對FSL總線操作的指令,它們分別是: get,put阻塞式數據讀寫FSL,控制信號被置為0;nget,nput非阻塞式數據讀寫FSL,控制信號被置為0;cget,cput阻塞式控制位讀寫FSL,控制信號被置為1;ncget,ncput非阻塞式控制位讀寫FSL, 控制信號被置為1。4 FSL總線應用實例
15、;在下面的實例中,嘗試通過FSL總線技術,將實現特定函數功能的用戶自定義IP核整合到MicroBlaze軟核系統中,以實現硬件加速的目的。這里以一個矢量漢字(vector font)還原功能的硬件模塊的整合為例,說明FSL總線的應用過程。所使用的開發平臺是Memec Insight公司生產的VirtexII系列的MicroBlaze開發板,板上采用的FPGA器件為VirtexII 1000,系統時鐘為100 MHz,開發工具為Xilinx公司的EDK 6.3及ISE 6.3。本文引用地址:4.1 FSL總線應用方案如圖5所示,vectOr_font核通過FSL_Code-與FSL_Lattic
16、e兩條FSL總線與MicroBlaze軟核直接相連。 對于FSL_Code總線,MicroBlaze核是主設備,而vector_font核是從設備。這樣MicroBlaze可以通過 FSL_Code總線向vectOr_font核發送漢字的區位碼(或者其他格式的漢字編碼,由使用的矢量字庫和還原算法決定)以及漢字的屬性信息(如字體、大小等)。 對于FSL_Lattice總線則正好相反。vector font 核作為主設備可以通過它向MicroBlaze核發送經過還原處理后
17、的漢字點陣數據以及漢字點陣尺寸信息(用于將點陣數據在顯存中組織成正確的顯示格式)。4.2 數據傳輸指令與控制位指令的應用 FSL 提供的獨立于數據傳輸的控制位可以用來對正在傳輸中的數據進行標記。為了區分區位碼數據與漢字屬性數據,以及點陣數據與漢字點陣尺寸數據。 MicroBlaze分別通過FSL的數據傳輸指令和控制位傳輸指令來發送漢字的區位碼和漢字屬性信息,接收點陣數據和漢字點陣尺寸信息。對應的實現代碼如下: /使用非阻塞的數據寫函數向FSL總線寫入漢字區位碼Microblaze_nbwrite_datatsl(code,O)
18、/使用非阻塞的控制位寫函數向FSL總線寫入漢字屬性信息maicroblaze_cnbwrite_cnlfsl(attibute,O)/使用非阻塞的數據讀函數從FSL總線讀取漢字點陣數據microblaze_nbread_datafsl(1atticei,O)/使用非阻塞的控制位讀函數從FSL總線讀取漢字點陣尺寸信息microblaze_cnbread_cnlfsl(size,O) 代碼中用到的與FSL有關函數的定義,都在include目錄下的mb_inteRFaceh文件中。其中,各函數的第二個參數代表進行讀寫操作的 FSL總線接口的編號,對應MicroBla
19、ze軟核的8對FSL接口。該參數的取值范圍從0到7。本例中,MicroBlaze只使用了一對FSL接口,故而值為0。4.3 實現步驟 首先,在Base System Wizard中設計圖5虛線框中所示的一個簡單的MicroBlaze嵌入式處理器系統。然后,在XPS集成開發環境下完成用戶自定義IP核(本例中即 vectoz_font核)的添加、Microblaze核FSL接口的添加(設置參數C_FSL_LINKS=1),同時添加兩個FSL總線IP核,分別用于實現FSL_Code和FSL_Lattice總線。另外,將兩個FSL總線IP核的參數C_USE_CONTROL置為1,以打開FSL總線的控制位傳輸功能。所有這些改動,最后都會被更新到MES文件中。這樣,硬件平臺生成工具platgen就可以根據它生成所需要的FPGA配置文件了。 硬件的實現完成后,進行相應軟件參數的設置,如將系統標準輸入輸出設備指向UART模塊等。然后,用庫生成工具libgen,根據MSS(系統軟件描述文件)文件,將所需外設函數庫的頭文件添加進工程中。通過調用這些函數,可以操作和控制這些外設。通過Tool項里的build命
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 菏澤學院教師管理辦法
- 用電用戶信用管理辦法
- 賬戶支付結算管理辦法
- 育嬰師職業資格課件
- 肝衰竭護理課件
- 肝移植護理課件
- 釘釘群直播講數學試卷
- 高一普高數學試卷
- 團服銷售培訓課件
- 灌云縣初級中學數學試卷
- 機械制造工藝學課程設計-張緊輪支架
- 21ZJ111 變形縫建筑構造
- 暨南大學視聽說聽力材料part 2 A文章
- GB/T 42567.1-2023工業過程測量變送器試驗的參比條件和程序第1部分:所有類型變送器的通用程序
- 2023年成都市成華區數學六年級第二學期期末教學質量檢測模擬試題含解析
- QC提高土工格柵加筋擋土墻施工質量中鐵
- 現代大學英語-第三版-精讀3-教師教案
- 專升本《城市管理學》-試卷-答案
- 說儒(上、下)-胡適文檔全文預覽
- 《協和醫院護理專家 月嫂培訓手冊》讀書筆記思維導圖PPT模板下載
- 小學六年級數學計算題100道(含答案)
評論
0/150
提交評論