基于VerilogHDL的SDX總線(xiàn)與Wishbone總線(xiàn)接口轉(zhuǎn)化的設(shè)計(jì)與實(shí)現(xiàn)
圖5握手時(shí)序
2.1Wishbone總線(xiàn)基本傳輸周期
Wishbone總線(xiàn)支持完整的普通數(shù)據(jù)傳輸協(xié)議,包括單個(gè)讀寫(xiě)周期、塊讀寫(xiě)周期等。數(shù)據(jù)總線(xiàn)寬度為8~64位,地址總線(xiàn)寬度最高可達(dá)64位。Wishbone數(shù)據(jù)總線(xiàn)和地址總線(xiàn)分離,在傳輸上,保持一個(gè)地址、一個(gè)數(shù)據(jù)的傳輸結(jié)構(gòu)。以下為Wishbone總線(xiàn)單次讀、寫(xiě)時(shí)序圖。圖6為單次讀周期時(shí)序,圖7為單次寫(xiě)周期時(shí)序。
圖6單次讀周期時(shí)序
圖7單次寫(xiě)周期時(shí)序
3系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
系統(tǒng)所有控制邏輯均在Altera的CycloneⅢ系列FPGA(EP3C40F)上實(shí)現(xiàn)。FPGA的信號(hào)線(xiàn)只有系統(tǒng)時(shí)鐘、串行輸入數(shù)據(jù),由于SDX總線(xiàn)中傳輸數(shù)據(jù)為曼徹斯特碼型,因此需將曼徹斯特碼解碼為BCD碼同時(shí)將串行輸入數(shù)據(jù)轉(zhuǎn)化為并行數(shù)據(jù),將轉(zhuǎn)化后標(biāo)準(zhǔn)的16位并行BCD碼輸入SDX模塊對(duì)SDX協(xié)議響應(yīng),將需要數(shù)據(jù)讀、寫(xiě)的消息響應(yīng)同時(shí)產(chǎn)生數(shù)據(jù)讀、寫(xiě)以及地址信號(hào)并發(fā)起Wishbone總線(xiàn)操作,實(shí)現(xiàn)在Wishbone總線(xiàn)上高效的數(shù)據(jù)傳輸。Wishbone總線(xiàn)主要使用點(diǎn)對(duì)點(diǎn)的互聯(lián)方式,將Wishbone總線(xiàn)中Master模塊中的輸出信號(hào)直接連接到Slave模塊,其優(yōu)點(diǎn)是多個(gè)數(shù)據(jù)可以并行處理,從而提高系統(tǒng)的整體數(shù)據(jù)處理能力。系統(tǒng)的整體設(shè)計(jì)框圖如圖8所示。
圖8系統(tǒng)的整體設(shè)計(jì)框圖
4仿真結(jié)果分析
為驗(yàn)證設(shè)計(jì)系統(tǒng)的性能,使用Modelsim6.2仿真軟件對(duì)系統(tǒng)功能進(jìn)行了仿真測(cè)試。
圖9為Wishbone總線(xiàn)寫(xiě)操作,且為單字寫(xiě)傳輸,在時(shí)鐘上升沿,Master將DAT_O、ADR_O信號(hào)放到數(shù)據(jù)、地址總線(xiàn)上,將CYC_O、STB_O、WE_O置高表示寫(xiě)傳輸開(kāi)始,在下一個(gè)時(shí)鐘沿到達(dá)之前,Slave檢測(cè)到Master發(fā)起的操作,將ACK_O、ERR_O、RTY_O之一置高并傳輸?shù)組aster中,若Master檢測(cè)到ACK_I為高時(shí),在下一個(gè)時(shí)鐘的上升沿將CYC_O、STB_O置低表示操作完成,若ERR_I為高,則表示該操作錯(cuò)誤,取消此操作,進(jìn)行下一步操作,若RTY_I表示Slave總線(xiàn)忙,則重試。
圖9Wishbone寫(xiě)操作仿真圖
圖10為Wishbone總線(xiàn)讀操作,且為單字讀傳輸,在時(shí)鐘上升沿,Master將ADR_O信號(hào)放到地址總線(xiàn)上,WE_O保持為低,同時(shí)將CYC_O、STB_O置高表示讀傳輸開(kāi)始,在下一時(shí)鐘沿到達(dá)之前,Slave檢測(cè)到Master發(fā)起的操作,將ACK_O、ERR_O、RTY_O之一置高并傳輸?shù)組aster中,同時(shí)將適當(dāng)?shù)臄?shù)據(jù)傳輸?shù)組aster的DAT_I中,若Master檢測(cè)到ACK_I為高時(shí),在下一個(gè)時(shí)鐘的上升沿將CYC_O、STB_O置低表示該次讀操作完成,若ERR_I為高,則表示該操作錯(cuò)誤,則取消此操作,進(jìn)行下一操作,若RTY_I表示Slave總線(xiàn)忙,則重試。
圖10Wishbone讀操作時(shí)序圖
5結(jié)束語(yǔ)
討論了基于FPGA的SDX總線(xiàn)與Wishbone總線(xiàn)的接口轉(zhuǎn)換,并介紹了不同總線(xiàn)的接口標(biāo)準(zhǔn)與時(shí)序,通過(guò)在Modelsim下的仿真,Quartus中綜合,可下載到FPGA中進(jìn)行調(diào)試,實(shí)現(xiàn)了系統(tǒng)的整體性能,從而保證了系統(tǒng)快速、高效的傳輸。
評(píng)論