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

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 基于Wishbone和端點IP的PCIE接口設(shè)計

          基于Wishbone和端點IP的PCIE接口設(shè)計

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

          DMA寫操作實現(xiàn)的主要方法是主機將TLP包頭中的各個字段正確填充,按照32位并組裝成TLP包頭,通過主機PCI Express接口傳輸?shù)郊啥它c硬核。硬核收到數(shù)據(jù)后,緩存到Rx_ram中,在解碼邏輯控制下,根據(jù)包頭類型(10/11b)及格式字段(00000b)發(fā)起寫操作,將TLP包的有效載荷寫入存儲器中。
          在進(jìn)行PCI Express的DMA讀操作時,數(shù)據(jù)通過wishbone總線讀入,在編碼邏輯控制下,數(shù)據(jù)按照TLP包格式寫入Tx_ram中,將數(shù)據(jù)打包成一個3DW完成包,等待端點模塊發(fā)送。
          2.3 功能仿真
          本設(shè)計在XUPV5 LX110T開發(fā)板上進(jìn)行了功能驗證試驗。首先利用Xilinx公司的CORE Generator工具生成PCI Express端點IP核,其主要參數(shù)是鏈路數(shù)為X1,基地址0使能,地址類型為32位,訪問類型為Memory類型,用戶時鐘輸入為62.5 MHz。編程設(shè)計完成后,通過JTAG接口下載到FPGA芯片中,用Chipscope進(jìn)行測試,波形圖如圖9~圖10所示。

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

          a.JPG


          通過數(shù)據(jù)傳輸試驗測試,Wishhone轉(zhuǎn)PCI Express接口的傳輸速率能達(dá)到80 MB/s以上,系統(tǒng)工作穩(wěn)定。目前,實現(xiàn)了32 b/16 b/8 b的單個存儲器的讀和寫和DMA讀寫。如能夠編程實現(xiàn)大字節(jié)塊的突發(fā)傳輸,傳輸速率將大大提高,這也是下一步開發(fā)的重點。

          3 結(jié)語
          測試試驗結(jié)果證明,采用Wishbone和端點IP實現(xiàn)PCI Express總線接口,具有較高的通信速率,能滿足許多應(yīng)用的一般通信要求,特別是開發(fā)過程簡化且極大地縮短了開發(fā)時間。這種設(shè)計模式能夠更加專注于應(yīng)用功能的實現(xiàn)而不必在一些公共模塊(如xpress)上花費更多的時間和成本。另外,本文采用FPGA芯片內(nèi)嵌PCI Express End point Block硬核來進(jìn)行PCI Express的設(shè)計,實現(xiàn)方式也為相似產(chǎn)品開發(fā)提供了有益參考。


          上一頁 1 2 3 4 下一頁

          關(guān)鍵詞: Wishbone PCIE 接口設(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); })();