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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 牛人業(yè)話 > FPGA研發(fā)之道(25)-管腳

          FPGA研發(fā)之道(25)-管腳

          作者: 時間:2014-12-07 來源:網(wǎng)絡 收藏

            管腳是FPGA重要的資源之一,F(xiàn)PGA的管腳分別包括,電源管腳,普通I/O,配置管腳,時鐘專用輸入管腳等。

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

            (1)電源管腳:

            通常來說:內(nèi)部的電壓包括內(nèi)核電壓和I/O電壓。

            1.內(nèi)核電壓:即FPGA內(nèi)部邏輯的供電。通常會較I/O電壓較低,隨著FPGA的工藝的進度,F(xiàn)PGA的內(nèi)核電壓逐漸下降,這也是降低功耗的大勢所趨。

            2.I/O電壓 (Bank的參考電壓)。每個BANK都會有獨立的I/O電壓輸入。也就是每個BANK的參考電壓設定后,本BANK上所有I/O的電平都與參考電平等同。

            是否可以通過約束來設定IO管腳的輸出電平那,答案是否定的,如下例所示

            set_instance_assignment -name IO_STANDARD 3.0-V LVCMOS -to pinA

            set_instance_assignment -name IO_STANDARD 3.3-V LVCMOS -to pinB

            不論設定為多大的電平,IO的輸出與BANK的參考電壓保持一致,也就是說,PINA和PINB的電平與其BANK的電平保持一致,而不是所約束的那樣一定會是3V或3.3V的電平。那是否意味著這種約束沒有作用?

            如果約束同一BANK上的管腳為不同電平,如PINA和PINB在同一BANK,但是電平不同,則EDA工具會報錯??梢云鸬藉e誤檢查的作用。(同一bank上電平要一致,但是類型可以是多種,例如CMOS,TTL等)。

            對于復雜的FPGA內(nèi)部,一般來說PLL也會都單獨的供電,并且其內(nèi)部包括數(shù)字電源和模擬電源。

            SERDES一般也需要獨立供電。一般支持高速SERDES的FPGA器件都都有獨立的供電管腳,一般也都有獨立的時鐘管腳(一般為差分時鐘)。

            (2) 配置管腳:

            FPGA的配置管腳每個FPGA都需要,為了支持多種配置方式,例如JTAG,從串、從并、主串、主并等。值得注意的是,對于其配置管腳的控制信號來說,是專用管腳,不能用做普通I/O,而其數(shù)據(jù)信號,可以用作普通I/O。在管腳資源較為緊張時,可以復用配置信號的數(shù)據(jù)信號作為普通I/O來用。

            (3) 普通I/O:

            FPGA的I/O是FPGA管腳上較為豐富的資源。也是做管腳約束時最常用的資源。對于例化IP來說(例如serdes和DDR2/3等),需要使用EDA工具給出了I/O約束。如果修改則需要預先編譯進行評估。一般來說,DDR的接口信號最好能在一個BANK上約束,如果不能則其控制信號要約束到同一BANK上,否則導致EDA工具布局布線報錯。

            對于FPGA的普通I/O,可以設定包括管腳電平類型(LVTTL,LVCOMS,SSTL,HSTL等等),還包括端接大小,驅(qū)動電流,擺率等參數(shù)。

            對于FPGA引腳來說,通過阻抗匹配的設置(altera的OCT,xilinx的DCI的設置)??梢杂行У臏p少板上電阻的數(shù)目,降低BOM成本。端接的設置可以阻止阻抗不連續(xù)導致信號反射,保證信號完整性。

            對于普通信號來說,一般不需要每個都設置阻抗匹配,,只有板級布線長度的電信號傳輸時間超過高速信號的時鐘周期的0.1倍時,才需要設置端接。簡單來說也就是只有高速信號,且信號輸出和輸入距離較遠時,才需要使用端接,一般是FPGA連接外部DDR等高速器件時。對于使用外部校準的RUP和RDN電阻來說,其RUP和RDN電阻是整個電路可靠性的關鍵點。例如:在以一批FPGA板卡中,測試發(fā)現(xiàn)只有某一塊接口不通,F(xiàn)PGA工程師調(diào)試時發(fā)現(xiàn),只要把接口I/O設定為CMOS電平,而不使用DCI的端接,則所有板卡全部能夠通信正常,后來發(fā)現(xiàn)該板卡RUP上拉電阻失效,從而導致接口電路沒有上拉而接口出錯。也就是說,I/O的電平設置,以滿足設計需要為主,而不用錦上添花。增加的額外電路就會導致額外的失效點。

            (4)時鐘管腳

            FPGA內(nèi)部的時鐘,都需要通過專用時鐘管腳連接內(nèi)部PLL或者DCM等專用時鐘處理單元,從而接入內(nèi)部高速時鐘網(wǎng)絡。在早期的FPGA中內(nèi)部時鐘資源有限,專用處理單元也有限,需要嚴格的規(guī)劃PLL等時鐘處理單元和全局時鐘資源,隨著FPGA技術(shù)的發(fā)展,這個功能逐漸弱化,但是早期規(guī)劃也是必須的。

            值得注意的是,對于一些外部同步信號的輸入,其時鐘沒有連接到專用時鐘管腳上,只用于采樣當前的同步信號,因此不用接入全局時鐘網(wǎng)絡,設計上也是允許的,需要約束其管腳不使用全局時鐘資源。否者,EDA工具會報錯,提示其作為時鐘輸入,而沒有接在專用時鐘管腳上。

            正如本文開始所說,管腳是FPGA的重要資源,F(xiàn)PGA工程師熟悉管腳特性和電路設計的基礎知識,對于FPGA系統(tǒng)設計和板級電路的調(diào)試都是有益的。

            PS:問題回復

            QUARTUS能否設定I/O信號的上拉和下拉電阻的大小?

            1)對于設定的輸出信號來說,其是有電平格式的如 set_instance_assignment -name IO_STANDARD LVCOMS -to pin 這種情況下,其電平格式就是LVCOMS。沒有上拉或者下拉的設置(也就是說coms電平不包括上下拉電阻的設置)。但是可以設置其輸出電流,如 set_instance_assignment -name CURRENT_STRENGTH_NEW 12MA -to pin 板級電路上信號不到位,很多情況下,是驅(qū)動能力的問題。 也可以設置其輸出端接電阻的大小(不是上下拉)。 set_instance_assignment -name OUTPUT_TERMINATION "SERIES 50 OHM WITH CALIBRATION" -to pin 以及其他屬性等等 (2)對于未約束的信號時可以設定其上下拉狀態(tài)的。 如: set_global_assignment -name RESERVE_ALL_UNUSED_PINS "As input tri-stated with weak pull-up" 其他幾種狀態(tài)分別是 as inputs that are tristated, as outputs that drive ground, as outputs that drive an unspecified signal, asinput tri-stated with bus-hold

          fpga相關文章:fpga是什么


          上拉電阻相關文章:上拉電阻原理


          關鍵詞: FPGA GCLK

          評論


          相關推薦

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

          關閉
          看屁屁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); })();