FPGA 的ARM 并行總線分析與仿真_第1頁
FPGA 的ARM 并行總線分析與仿真_第2頁
FPGA 的ARM 并行總線分析與仿真_第3頁
FPGA 的ARM 并行總線分析與仿真_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、【W(wǎng)ord版本下載可任意編輯】 FPGA 的ARM 并行總線分析與仿真 0 引言 在數(shù)字系統(tǒng)的設(shè)計中,F(xiàn)PGA+ARM 的系統(tǒng)架構(gòu)得到了越來越廣泛的應(yīng)用,F(xiàn)PGA 主要實現(xiàn)高速數(shù)據(jù)的處理;ARM 主要實現(xiàn)系統(tǒng)的流程控制.人機交互.外部通信以及FPGA 控制等功能.I2C.SPI 等串行總線接口只能實現(xiàn)FPGA 和ARM 之間的低速通信 ;當傳輸?shù)臄?shù)據(jù)量較大.要求高速傳輸時,就需要用并行總線來開展兩者之間的高速數(shù)據(jù)傳輸. 下面基于ARM 處理器LPC2478 以及FPGA 器件EP2C20Q240,以ARM 外部總線的讀操作時序為例,研究兩者之間高速傳輸?shù)牟⑿锌偩€;其中,數(shù)據(jù)總線為32 位;并在

2、FPGA 內(nèi)部構(gòu)造了1024x32bits 的SRAM 高速存儲緩沖器,以便于ARM 處理器快速讀寫FPGA 內(nèi)部數(shù)據(jù). 1 ARM 并行總線的工作原理 ARM 處理器LPC2478 的外部并行總線由24 根地址總線.32根數(shù)據(jù)總線和若干讀寫.片選等控制信號線組成.根據(jù)系統(tǒng)需求,數(shù)據(jù)總線寬度還可以配置為8 位.16 位和32 位等幾種工作模式. 在本設(shè)計中,用到ARM 外部總線的信號有:CS.WE.OE.DATA.ADDR.BLS 等.CS 為片選信號,WE 為寫使能信號,OE 為讀使能信號,DATA 為數(shù)據(jù)總線,ADDR 地址總線,BLS 為字節(jié)組選擇信號.ARM 的外部總線讀操作時序圖,分

3、別如圖1 所示. 根據(jù)ARM 外部并行總線操作的時序,ARM 外部總線的讀寫操作均在CS 為低電平有效的情況下開展.由于讀操作和寫操作不可能同時開展,因此WE 和OE 信號不能同時出現(xiàn)低電平的情況. 數(shù)據(jù)總線DATA 是雙向的總線,要求FPGA 也要實現(xiàn)雙向數(shù)據(jù)的傳輸.在時序圖中給出了時序之間的制約關(guān)系,設(shè)計FPGA 時應(yīng)該滿足ARM 信號的建立時間和保持時間的要求,否則可能出現(xiàn)讀寫不穩(wěn)定的情況. 2 FPGA 的并行總線設(shè)計 2.1 FPGA 的端口設(shè)計 FPGA 和ARM 之間的外部并行總線連接框圖,如圖2 所示.由于FPGA 內(nèi)部的SRAM 存儲單元為32 位,不需要開展字節(jié)組的選擇,因

4、此BLS 信號可以不連接.為了便于實現(xiàn)ARM 和FPGA 之間數(shù)據(jù)的快速傳輸,F(xiàn)PGA 內(nèi)部的SRAM 既要與ARM 處理器開展讀寫處理,還要跟FPGA 內(nèi)部的其他邏輯模塊開展數(shù)據(jù)交換,因此SRAM 采用雙口RAM 來實現(xiàn). 從端口的方向特性看,DATA 端口是INOUT(雙向)方式,其余端口均為IN(輸入)方式.從端口的功能看,clk20m 是全局時鐘,在實現(xiàn)時應(yīng)采用FPGA 的全局時鐘網(wǎng)絡(luò),這樣可以有效減少時鐘延時,保證FPGA 時序的正確性.ADDR 是16 位的地址總線,由ARM 器件輸入到FPGA.DATA 是32 位的雙向數(shù)據(jù)總線,雙向總線的設(shè)計是整個設(shè)計的重點.OE 為ARM 輸

5、入到FPGA 的讀使能信號. WE 為ARM 輸入到FPGA 的寫使能信號.CS 為ARM 輸入到FPGA 的片選信號,F(xiàn)PGA 沒有被ARM 選中時必須輸出高阻態(tài),以防止總線沖突. 2.2 FPGA 的雙向總線設(shè)計 在FPGA 的并行總線設(shè)計中,如果頂層和底層的模塊都要用到雙向的IO 端口,則要遵守設(shè)計原則;否則不利于VHDL 程序的綜合.雙向IO 端口的設(shè)計原則是:只有頂層設(shè)計才能用INOUT類型的端口,在底層模塊中應(yīng)把頂層的INOUT 端口轉(zhuǎn)化為獨立的IN(輸入).OUT(輸出)端口并加上方向控制端口.頂層設(shè)計的VHDL 代碼如下: 其中,DATA_i.DATA_o 和output_en

6、 均為FPGA 內(nèi)部的信號,在內(nèi)部的各層次模塊中,通過這三個信號就可以開展單向的IO 控制.這樣,頂層設(shè)計中雙向的DATA 端口轉(zhuǎn)化為了內(nèi)部單向的DATA_i(輸入).DATA_o(輸出)和output_en(輸出使能).在內(nèi)部各模塊中,結(jié)合這三個信號以及ADDR.OE.WE.CS 等信號,則可方便地實現(xiàn)ARM 總線接口的功能.實現(xiàn)的VHDL 關(guān)鍵代碼如下: 3 仿真結(jié)果分析 通過Quartus II 仿真工具,對FPGA 并行總線開展時序仿真;仿真結(jié)果如圖3 所示.根據(jù)ARM 并行總線的讀寫時序圖要求,從仿真結(jié)果可以看出FPGA 的總線接口設(shè)計滿足了設(shè)計的要求.由于選用的FPGA 器件內(nèi)部帶有邏輯分析儀的功能模塊,通過Quartus II 軟件中的SignalTap II 邏輯分析工具,對FPGA的設(shè)計模塊開展在線測試,發(fā)現(xiàn)總線時序了滿足ARM 并行總線的要求,且工作穩(wěn)定,從另一個角度驗證了設(shè)計和仿真結(jié)果的正確性. 4 結(jié)論 由于FPGA 技術(shù)和ARM 技術(shù)應(yīng)用越來越廣泛,通過設(shè)計并行總線接口來實現(xiàn)兩者之間的數(shù)據(jù)交換,可以較容易地解決快速傳輸數(shù)據(jù)的需求,因此設(shè)計滿足系統(tǒng)要求的FPGA 并

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論