基于FPGA的OPB_AHB總線(xiàn)橋接器的設計

發(fā)布時(shí)間:2010-8-10 15:56    發(fā)布者:lavida
關(guān)鍵詞: AHB , OPB , 橋接器
摘要:本文首先介紹了 AHB和OPB總線(xiàn)協(xié)議特點(diǎn),并在此基礎上詳細闡述了 OPB_AHB總線(xiàn)橋接器的功能和設計思路,最后給出了 OPB_AHB的驗證方法和仿真結果。并在 Xilinx的EDK環(huán)境下利用MicroBlaze軟核構建了 SoC系統并通過(guò) FPGA驗證。  

1.引言  

SoC(System on a Chip)自20世紀90年代后期出現以來(lái),廣受學(xué)術(shù)界和工業(yè)界的關(guān)注, SoC通常將微處理器、 IP(Intelligence Property)核和存儲器(或片外存儲控制接口)集成在單一芯片上,具有小型、輕量、低功耗、多功能、高可靠和低成本化等特征,在計算機、通信、消費類(lèi)電子、工控、交通運輸等領(lǐng)域應用十分廣泛。  

隨著(zhù)基于IP復用技術(shù)的 SoC設計的不斷發(fā)展,片上總線(xiàn) OCB(on-chip Bus)技術(shù)成為解決 SoC發(fā)展的關(guān)鍵技術(shù)。目前主要有三大主流片上總線(xiàn)標準: IBM公司的 CoreConnect,ARM公司的AMBA (Advanced Microcontroller Bus Architecture)以及Silicore Corp公司的 Wishbone。本文針對兩大主流 OCB總線(xiàn)標準 AMBA和CoreConnect,完成AMBA高性能系統總線(xiàn)AHB和CoreConnect的外圍總線(xiàn) OPB之間的橋接轉換,設計出 OPB_AHB橋接器。  

2.OPB_AHB橋接器功能特性  

AHB是ARM公司微控制器總線(xiàn)體系結構 AMBA規范定義的三種總線(xiàn)之一,它是先進(jìn)的系統總線(xiàn),用于連接高性能系統模塊,支持突發(fā)數據傳輸方式及單個(gè)數據傳輸方式, AHB總線(xiàn)可掛接多個(gè)功能模塊(主 /從),并為它們提供高帶寬、低延遲的總線(xiàn)連接。  

OPB總線(xiàn)是IBM公司推出的一種芯片級的外圍設備總線(xiàn), OPB總線(xiàn)主要連接外圍低速設備,降低外圍設備對系統性能的影響,支持突發(fā)( Burst)操作。  

Xilinx公司的軟核處理器 MicroBlaze能夠很好的支持 OPB總線(xiàn)協(xié)議, MicroBlaze環(huán)境的 OPB總線(xiàn)都是 32位的地址位寬和數據位寬,支持 8bit、16bit、32bit的數據傳輸。本文設計的OPB_AHB橋接器主要是完成以下四個(gè)功能。  

3.OPB_AHB橋接器結構  

圖1是一個(gè)簡(jiǎn)單的基于 MicroBlaze的OPB_AHB 橋接器拓撲結構圖。 MicroBlaze是一個(gè)軟核處理器,整個(gè)系統在 Xilinx的EDK環(huán)境下實(shí)現, AHB_OPB橋接器可以作為 OPB設備和 AHB設備之間數據、地址和控制命令的傳輸通道。  



  


當OPB主設備要向 AHB從設備讀寫(xiě)數據時(shí), OPB_AHB橋接器可以作為 OPB總線(xiàn)這一側的從設備( Slave),同時(shí)在 AHB總線(xiàn)這一側充當主設備 (Master)的角色,此時(shí) OPB_AHB橋接器主要工作是由圖 2中OPB2AHB bridge完成。當 AHB主設備要向 OPB從設備讀寫(xiě)數據時(shí), OPB_AHB橋接器可以作為AHB總線(xiàn)這一側的從設備( Slave),同時(shí)在 OPB總線(xiàn)這一側充當主設備 (Master)的角色,此時(shí) OPB_AHB橋接器主要工作是由圖 2中AHB2OPB bridge完成。  

4.OPB_AHB橋接器的實(shí)現  

實(shí)現兩種總線(xiàn)的互聯(lián),關(guān)鍵是完成控制信號之間的轉換以及數據和地址的傳輸,本設計采用的方法包括。  

(1)流水線(xiàn)方式, (2)將所有輸入的控制信號和數據地址總線(xiàn)都寄存一拍。  

(3)控制信號都采用同 (4)步設計方法, (5)在OPB_Clk的上升沿觸發(fā)。  

(6)數據的讀寫(xiě)操作為同 (7)步讀寫(xiě)。  

4.1OPB2AHB_Brg的實(shí)現  

(1) 所有控制信號采用同步設計思想,在 SOPB_Clk的上升沿觸發(fā)。 SOPB_Rst高電平有效,為同步復位,當其有效時(shí),所有信號輸出 0狀態(tài)。  

(2) 當橋接器檢測到 SOPB_Sel信號有效時(shí),即表明橋接器被選中,成為 OPB總線(xiàn)上的從設備,或者檢測到 AHB_Resp信號狀態(tài)為RETRY,此時(shí) OPB2AHB_Brg作為AHB總線(xiàn)上的主設備向 AHB仲裁器發(fā)出請求總線(xiàn)信號 AHB_BusReq。  

(3) 當OPB2AHB_Brg檢測到 AHB總線(xiàn)側的允許信號 AHB_Grants時(shí),說(shuō)明橋接器的請求得 到允許,此時(shí)當 AHB_Ready有效時(shí),可以根據 SOPB_BE判斷傳輸數據的大小,決定 AHB_Size的狀態(tài),當 SOPB_BE為1111時(shí),AHB_Size為010(32bit),SOPB_BE為1100或0011時(shí),AHB_Size為001(16bit),SOPB_BE為0001、0010、0100、1000時(shí),AHB_Size為000(8bit)。  

(4) 當SOPB_RNW為高電平時(shí),為讀取數據,數據流向是從 AHB_Rdata到Sl_Dbus,當 SOPB_RNW為低電平時(shí),為寫(xiě)數據,數據流向從 SOPB_Dbus到AHB_Wdata。地址總線(xiàn)相連,即SOPB_Abus連接AHB_Addr。  

(5)當一次數據傳輸完成后, (6)置位Sl_xferAck信號, (7) 讓其輸出一個(gè)時(shí)鐘周期的高脈沖。  

4.2 AHB_OPB_Brg的實(shí)現  

(1) 當橋接器檢測到 AHB_Sel信號有效時(shí),即表明橋接器被選中,成為AHB總線(xiàn)上的從設備,此時(shí)AHB2OPB_Brg作為OPB總線(xiàn)上的主設備向 OPB仲裁器發(fā)出請求總線(xiàn)信號 M_req。  

(2)當橋接器接收到 OPB仲裁器發(fā)出的允許信號 OPB_Mgrant信號時(shí), (3)表明橋接器可以  

開(kāi)始工作,(4)這個(gè)信號會(huì )激勵 M_Sel信號有效, (5)根據 IP核 BK3721的功能特性, (6) M_BE總是輸出 1111,(7) M_SeqAddr和M_busLock輸出為0。  

(3) 當AHB_Write為高電平時(shí),為寫(xiě)數據有效,此時(shí) AHB主設備向從設備橋接器寫(xiě)數據,同時(shí)橋接器作為 OPB總線(xiàn)上的主設備向選中的 OPB從設備寫(xiě)數據,數據流向為 AHB_Wdata到 M_Dbus。當AHB_Write為低電平時(shí),為讀數據有效,此時(shí) AHB主設備從橋接器(作為 AHB總線(xiàn)上的從設備)讀取數據,同時(shí)橋接器作為 OPB總線(xiàn)的主設備從選中的 OPB從設備讀取數據,數據流向為OPB_DBus到AHB_RData。  

(8)當數據傳輸指 (9)示信號OPB_xferAck被檢測有效時(shí), (10) AHB_Ready信號輸出高電平有效信號, (11)表示數據傳輸結束。  

5.OPB_AHB橋接器的驗證  

5.1 OPB2AHB_Brg的驗證  

用verilog編寫(xiě)testbench,在testbench中虛擬設備一個(gè) AHB從設備存儲器 AHB_mem,存儲器的數據位寬和地址位寬都是 32位,通過(guò)測試平臺可以對虛擬存儲器進(jìn)行數據的讀寫(xiě),并將數據的讀寫(xiě)結果保存到 Wdata.txt文件中。  

利用ModelSim工具對測試平臺進(jìn)行仿真。在主設備向虛擬從設備寫(xiě)數據時(shí), SOPB_RNW為低電平,橋接器作為AHB上的主設備將 SOPB_DBus數據線(xiàn)上的數據通過(guò) AHB_Wdata寫(xiě)到 AHB_mem存儲器中,并在 WData.txt文件中顯示出來(lái),仿真結果如圖 3 (a)所示。  



  


圖3 (a) OPB2AHB_Brg寫(xiě)數據仿真波形  

在主設備從虛擬從設備讀取數據時(shí), SOPB_RNW為高電平,橋接器作為 AHB上的主設備將AHB_mem存儲器的數據通過(guò) AHB_Rdata讀取到Sl_Dbus數據總線(xiàn)上,并在 WData.txt文件中顯示出來(lái),仿真結果如圖 3 (b)所示。  



  



圖3 (b) OPB2AHB_Brg讀數據仿真波形  


5.2 AHB2OPB_Brg的驗證  

AHB2OPB_Brg驗證平臺主要分為測試激勵,被測對象以及響應輸出三部分。測試過(guò)程為:首先對測試激勵進(jìn)行初始化,產(chǎn)生時(shí)鐘信號和復位信號及控制信號,然后向虛擬 OPB從設備(mem存儲器)寫(xiě)數據,寫(xiě)完數據后等待一段時(shí)間在進(jìn)行讀取數據操作。在ModelSim中仿真結果如圖 4所示。  



  


通過(guò)觀(guān)察,當寫(xiě)信號時(shí), AHB_WData數據總線(xiàn)上的數據能夠正確的寫(xiě)入到虛擬從設備 OPB_mem中,當讀信號有效時(shí),虛擬從誒設備 OPB_mem中的數據能夠正確通過(guò) OPB_Dbus傳輸到AHB_RData總線(xiàn)上。  

6.結束語(yǔ)  

本文在分析了 AMBA總線(xiàn)協(xié)議和 OPB總線(xiàn)協(xié)議的基礎上,給出了OPB_AHB橋接器的設計和驗證方案。本文作者創(chuàng )新點(diǎn)是采用同步設計和流水線(xiàn)設計方法,能夠正確的轉換 OPB總線(xiàn)與 AHB總線(xiàn)之間的數據、地址、控制信號,提高了系統的運行速度和穩定性。最后通過(guò) Xilinx的ISE綜合和時(shí)序仿真,最高頻率達到 100MHZ,并導入到 EDK環(huán)境中,選擇MicroBlaze軟核處理器構建 SoC系統,實(shí)現 OPB與AHB總線(xiàn)協(xié)議的互連。
本文地址:http://selenalain.com/thread-20690-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页