<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于VerilogHDL的SDX總線(xiàn)與Wishbone總線(xiàn)接口轉化的設計與實(shí)現

基于VerilogHDL的SDX總線(xiàn)與Wishbone總線(xiàn)接口轉化的設計與實(shí)現

作者: 時(shí)間:2012-09-08 來(lái)源:網(wǎng)絡(luò ) 收藏
規范中,使用Master/Slave結構實(shí)現靈活的系統設計,MaSTer/Slave有4種互連方式,分別為點(diǎn)對點(diǎn)、數據流、共享總線(xiàn)和交叉互連。且Master和Slave之間使用握手協(xié)議,當準備好數據傳輸時(shí),Master使STB_O有效,且一直保持到Slave的響應信號ACK_O,ERR_O,或RTY_O之一有效。Master在每個(gè)時(shí)鐘的上升沿對響應信號采樣,若該信號有效,則置低STB_O,如圖5所示。

圖5握手時(shí)序

2.1基本傳輸周期

支持完整的普通數據傳輸協(xié)議,包括單個(gè)讀寫(xiě)周期、塊讀寫(xiě)周期等。數據總線(xiàn)寬度為8~64位,地址總線(xiàn)寬度最高可達64位。Wishbone數據總線(xiàn)和地址總線(xiàn)分離,在傳輸上,保持一個(gè)地址、一個(gè)數據的傳輸結構。以下為Wishbone總線(xiàn)單次讀、寫(xiě)時(shí)序圖。圖6為單次讀周期時(shí)序,圖7為單次寫(xiě)周期時(shí)序。

圖6單次讀周期時(shí)序

圖7單次寫(xiě)周期時(shí)序

3系統設計與實(shí)現

系統所有控制邏輯均在A(yíng)ltera的CycloneⅢ系列FPGA(EP3C40F)上實(shí)現。FPGA的信號線(xiàn)只有系統時(shí)鐘、串行輸入數據,由于中傳輸數據為曼徹斯特碼型,因此需將曼徹斯特碼解碼為BCD碼同時(shí)將串行輸入數據轉化為并行數據,將轉化后標準的16位并行BCD碼輸入SDX模塊對SDX協(xié)議響應,將需要數據讀、寫(xiě)的消息響應同時(shí)產(chǎn)生數據讀、寫(xiě)以及地址信號并發(fā)起Wishbone總線(xiàn)操作,實(shí)現在Wishbone總線(xiàn)上高效的數據傳輸。Wishbone總線(xiàn)主要使用點(diǎn)對點(diǎn)的互聯(lián)方式,將Wishbone總線(xiàn)中Master模塊中的輸出信號直接連接到Slave模塊,其優(yōu)點(diǎn)是多個(gè)數據可以并行處理,從而提高系統的整體數據處理能力。系統的整體設計框圖如圖8所示。

圖8系統的整體設計框圖

4仿真結果分析

為驗證設計系統的性能,使用Modelsim6.2仿真軟件對系統功能進(jìn)行了仿真測試。

圖9為Wishbone總線(xiàn)寫(xiě)操作,且為單字寫(xiě)傳輸,在時(shí)鐘上升沿,Master將DAT_O、ADR_O信號放到數據、地址總線(xiàn)上,將CYC_O、STB_O、WE_O置高表示寫(xiě)傳輸開(kāi)始,在下一個(gè)時(shí)鐘沿到達之前,Slave檢測到Master發(fā)起的操作,將ACK_O、ERR_O、RTY_O之一置高并傳輸到Master中,若Master檢測到ACK_I為高時(shí),在下一個(gè)時(shí)鐘的上升沿將CYC_O、STB_O置低表示操作完成,若ERR_I為高,則表示該操作錯誤,取消此操作,進(jìn)行下一步操作,若RTY_I表示Slave總線(xiàn)忙,則重試。

圖9Wishbone寫(xiě)操作仿真圖

圖10為Wishbone總線(xiàn)讀操作,且為單字讀傳輸,在時(shí)鐘上升沿,Master將ADR_O信號放到地址總線(xiàn)上,WE_O保持為低,同時(shí)將CYC_O、STB_O置高表示讀傳輸開(kāi)始,在下一時(shí)鐘沿到達之前,Slave檢測到Master發(fā)起的操作,將ACK_O、ERR_O、RTY_O之一置高并傳輸到Master中,同時(shí)將適當的數據傳輸到Master的DAT_I中,若Master檢測到ACK_I為高時(shí),在下一個(gè)時(shí)鐘的上升沿將CYC_O、STB_O置低表示該次讀操作完成,若ERR_I為高,則表示該操作錯誤,則取消此操作,進(jìn)行下一操作,若RTY_I表示Slave總線(xiàn)忙,則重試。

圖10Wishbone讀操作時(shí)序圖

5結束語(yǔ)

討論了基于FPGA的與Wishbone總線(xiàn)的接口轉換,并介紹了不同總線(xiàn)的接口標準與時(shí)序,通過(guò)在Modelsim下的仿真,Quartus中綜合,可下載到FPGA中進(jìn)行調試,實(shí)現了系統的整體性能,從而保證了系統快速、高效的傳輸。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>