<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA的自定義總線MCMB的設(shè)計(jì)與實(shí)現(xiàn)

          基于FPGA的自定義總線MCMB的設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時(shí)間:2013-04-23 來(lái)源:網(wǎng)絡(luò) 收藏

          (1) SMC接口模塊
          實(shí)現(xiàn)SMC到Wishbone的轉(zhuǎn)換,SMC至Wishbone總線接口轉(zhuǎn)換模塊如圖2所示。

          本文引用地址:http://www.ex-cimer.com/article/189629.htm

          b.JPG


          該模塊的信號(hào)轉(zhuǎn)換可以分為以下三種:
          1)數(shù)據(jù)地址線
          地址線上將SMC總線的地址線SMC_A[15..0 ]譯碼成Wishbone地址總線ADR_O[15..0]。數(shù)據(jù)線上使SMC總線的輸入輸出復(fù)用數(shù)據(jù)線SMC_D轉(zhuǎn)換成兩個(gè)分開的單個(gè)輸入輸出信號(hào)DAT_O[15..0]和DAT_I[15..0]。
          2)控制信號(hào)
          當(dāng)ARM發(fā)起SMC總線操作時(shí),我們根據(jù)SMC總線操作的類型,譯碼得到以下輸出控制信號(hào):WE_O、 CYC_O、 SEL_O[3..0]、 CTI_O[2..0]、STB_O和BTE_O[1..0]。
          SMC總線的讀寫命令分別為NRD和NWE。當(dāng)NWE為低時(shí),表明當(dāng)前操作是寫操作。NRD為低時(shí),表明當(dāng)前操作是瀆操作。Wishbone總線的WE_O信號(hào)只在寫操作時(shí)有效,所以當(dāng)FSC0和NWE都有效時(shí),便將WE_O信號(hào)置1,證明這是一個(gè)有效的寫操作,當(dāng)FCS0有效但NEW為低時(shí),為讀操作。
          CYC_O有效表示W(wǎng)ishbone總線事務(wù)的開始。當(dāng)ARM發(fā)起SMC總線操作時(shí),可由SMC總線的FCS0信號(hào)譯碼得到。
          SEL_O[3..0]代表Wishbone數(shù)據(jù)總線上的有效位。在系統(tǒng)的設(shè)計(jì)中將SEL_O[3..0]置全1,表明數(shù)據(jù)線上的每一位數(shù)據(jù)郜一直有效。
          CTI_O[2..0]譯碼Wishbone總線的操作是單字操作和塊操作。選擇SMC總線地址線A[17]和A[18],A[17]定義為SMC_LAST;A[18]定義為SMC_BURST。這兩個(gè)信號(hào)用于對(duì)CTI_0 [2..0]的譯碼。當(dāng)進(jìn)行單字讀寫操作時(shí),SMC_LAST和SMC_BURST均為低,CTI_O [2..0]譯碼為111;當(dāng)進(jìn)行塊讀寫操作并且不是最后一個(gè)數(shù)據(jù)相時(shí),SMC_LAST為低,SMC_BURST為高,CTI_O[2..0]譯碼輸出010;當(dāng)進(jìn)行塊傳輸且為最后一個(gè)數(shù)據(jù)相時(shí),SMC_LAST和SMC_BURST均置為高,CTI_O[2..0]譯碼輸出111,代表塊傳輸操作的結(jié)束。
          3)響應(yīng)信號(hào)譯碼
          當(dāng)外設(shè)和總線進(jìn)入等待狀態(tài)時(shí),需要產(chǎn)生NWAIT信號(hào);當(dāng)外設(shè)和總線狀態(tài)異常時(shí),需要產(chǎn)生中斷信號(hào)。
          Wishbone主模塊有三個(gè)輸入的響應(yīng)信號(hào),分別為ACK_I、ERR_I、RTY_I。當(dāng)外設(shè)不能及時(shí)響應(yīng)當(dāng)前操作時(shí),需要在SMC總線上插入等待周期。NWAIT是SMC總線的等待信號(hào)。當(dāng)NWAIT為0時(shí),ARM保持當(dāng)前SMC總線操作,直到撤銷NWAIT為止。
          (2) SMC主橋接口模塊
          實(shí)現(xiàn)Wishbone總線到總線的轉(zhuǎn)換,主要是對(duì)MCMB總線的各種狀態(tài)進(jìn)行譯碼,并將譯碼結(jié)果與上面的Wishbone從模塊進(jìn)行對(duì)接。模塊如圖3所示。

          c.JPG


          ①數(shù)據(jù)地址
          Wishbine從模塊的地址和數(shù)據(jù)的輸入輸出是分開的,但在MCMB總線上,地址和數(shù)據(jù)復(fù)用一個(gè)線,在這主橋中有個(gè)譯碼邏輯,將數(shù)據(jù)和地址進(jìn)行轉(zhuǎn)換。即將ADR_O [15..0]、DATA_I [15..0]和DATA_O [15..0]譯碼為AD [15..0]。



          關(guān)鍵詞: FPGA MCMB 自定義 總線

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();