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

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > PCI總線從設(shè)備接口的CPLD實(shí)現(xiàn)

          PCI總線從設(shè)備接口的CPLD實(shí)現(xiàn)

          作者: 時間:2012-02-17 來源:網(wǎng)絡(luò) 收藏

          2.1 狀態(tài)機(jī)
          狀態(tài)機(jī)是整個接口設(shè)計的控制核心,它控制著交易時序和控制信號的產(chǎn)生,文中結(jié)合規(guī)范的要求,使用Verilog HDL語言、采用One—hot編碼方式設(shè)計了全同步狀態(tài)機(jī),狀態(tài)機(jī)由表3所列的8個狀態(tài)組成,狀態(tài)機(jī)狀態(tài)轉(zhuǎn)移圖如圖2所示。

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

          d.jpg


          PCI目標(biāo)狀態(tài)機(jī)狀態(tài)轉(zhuǎn)移有以下幾種情形:
          (1)Idle→B_busy→Idle,地址譯碼未被選中,則處于B_busy忙狀態(tài)等待交易結(jié)束,直到FRAME#失效當(dāng)前總線交易結(jié)束才返回Idle。
          (2)Idle→B_busy→Wait→Backoff→Turn_ar→Idle,未能在16個時鐘周期內(nèi)準(zhǔn)備好第一個傳輸數(shù)據(jù),超時重試(RETRY)斷開連接,總線停留在Backoff等待總線撤消FRAME#,然后總線釋放返回空閑態(tài)。
          (3)Idle→B_busy→Wait→(R_wait)→L_data→(Backoff)→Turn_ar→Idle,從設(shè)備同時有效Ready和Term信號,表明從設(shè)備不支持突發(fā)傳輸或者沒有更多的數(shù)據(jù)存儲空間進(jìn)行突發(fā)傳輸,只能進(jìn)行最后一個數(shù)據(jù)交易。如果是讀交易,則插入讀等待狀態(tài)R_wait。
          若訪問為突發(fā)訪問,當(dāng)惟一的數(shù)據(jù)期完成以后,總線停留在Backoff狀態(tài)等待主設(shè)備無效FRAME#,然后交易結(jié)束。
          (4)Idle→B_busy→Wait→(R_wait)→Data→(L_data)→(Backoff)→Turn_ar→Idle,突發(fā)數(shù)據(jù)交易,讀交易則插入讀等待狀態(tài)R_wait。若從設(shè)備提出終止,則插入L_data和Backoff狀態(tài)與主設(shè)備斷開連接;若是主設(shè)備提出終止則正常的結(jié)束總線交易。
          在設(shè)計中,配置訪問不支持突發(fā)傳輸,總線時序和情形(3)一致;而內(nèi)存訪問支持突發(fā)傳輸,情形(3)和(4)的時序均會出現(xiàn)。用戶應(yīng)用可以通過Ready和Term信號不同的輸入組合來控制狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)移,如表4所示。但是在本設(shè)計中的順序要么是先等待,然后正常數(shù)據(jù)交易、正常結(jié)束或者提出斷開連接;要么是先等待,然后重試直接斷開連接,只有這兩種順序,用戶應(yīng)用不能在正常數(shù)據(jù)交易期中再插入等待狀態(tài),這是不允許的。

          e.jpg



          關(guān)鍵詞: CPLD PCI 總線 設(shè)備

          評論


          相關(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); })();