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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 將ARM AXI4用于FPGA 把恒星裝入瓶中

          將ARM AXI4用于FPGA 把恒星裝入瓶中

          作者:Billy Huang,Roddy Vann,Graham Naylor,Vladimir Shevchenko,Simon Freethy, 時間:2011-12-22 來源: 收藏

            

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

           

            圖 4:兩個 板必須精確同步,圖中的時鐘原理可以確保這種一致性。

            外部 10MHz 時鐘按同樣的方式完成時鐘信號到達(dá)、發(fā)送、再回到兩個 ADC 的過程,也就是說,外部觸發(fā)采用與內(nèi)部時鐘相同的方法來確保兩塊板都能夠?qū)崿F(xiàn)同步觸發(fā)。

            獨(dú)特的性能帶來的優(yōu)勢

            我們在設(shè)計中充分利用了 架構(gòu)提供的一些新穎的功能。例如,我們使用IODELAY 原語在引腳上調(diào)整路徑時延,這樣我們就能夠補(bǔ)償走線長度的差異。這項(xiàng)功能非常重要,因?yàn)閺?ADC 到 FMC 的數(shù)據(jù)路徑長度不等。如果我們不補(bǔ)償路徑時延,ADC 輸出的數(shù)據(jù)就是無用數(shù)據(jù)。ADC 輸出的數(shù)據(jù)在 250MHz 時鐘下以雙倍的速率輸出,因此有效數(shù)據(jù)單元之間的時間間隔僅有 2ns。IODELAY 可以讓我們按 125ps 的步長非常精確地調(diào)整數(shù)據(jù)路徑。

            同樣重要的是混合模式時鐘管理器 (MMCM),它的作用是執(zhí)行諸如乘法和相移等時鐘管理任務(wù)。在級聯(lián)模式下,即把一個 MMCM 與另一個相連,我們可以使用原始的 10MHz 時鐘生成多種時鐘。這其中就包括 250MHz 的 ADC 采樣時鐘以及我們用于其它目的的其它時鐘。

            

           

            圖 5:FPAG 數(shù)據(jù)采樣盒由的 ML605 評估板、4DSP 的 FMC108 ADC 板和我們自己開發(fā)的 FMC/PMOD 插頭板組成。我們把 ADC SSMC 接插件在內(nèi)部連接到前板上的 SMA 隔板上,以延長 ADC 模擬連線的壽命。

            我們還充分發(fā)揮 BUFGMUX_CTRL 和 IDDR 原語的作用。由于我們的系統(tǒng)需要在內(nèi)部時鐘和外部 10MHz 時鐘之間切換,非常重要的是這種切換不得產(chǎn)生脈沖。運(yùn)用 BUFGMUX_CTRL原語可以保證這一點(diǎn)。該原語還可用于標(biāo)準(zhǔn)邏輯,比如觸發(fā)器(不一定是用于時鐘的)。但是需要將屬性 IGNORE0、IGNORE1 設(shè)置為 1,以繞開去脈沖電路,否則邏輯不能通過。



          關(guān)鍵詞: 賽靈思 ARM AXI4 FPGA

          評論


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