新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 牛人業(yè)話 > FPGA研發(fā)之道(7)架構設計漫談(二)穩(wěn)定壓倒一切

FPGA研發(fā)之道(7)架構設計漫談(二)穩(wěn)定壓倒一切

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

  敏捷開發(fā)宣言中,有一條定律是“可以工作的軟件勝過面面俱到的文檔”。如何定義可可以工作的,這就是需求確定后架構設計的首要問題。而大部分看這句話的同志更喜歡后半句,用于作為不寫文檔的借口。

本文引用地址:http://butianyuan.cn/article/264350.htm

  的架構設計最首先可以確定就是外接接口,就像以前說的,穩(wěn)定可靠的接口是成功的一半。接口的選擇需要考慮幾個問題。

  1, 有無外部成熟IP。一般來說,都提供大量的接口IP,采用這些IP能夠提升研發(fā)進度,但不同IP在不同上需要不同license,這個需要通過代理商來獲得(中國國情,軟件是不賣錢的)。

  2, 自研接口IP,能否滿足時間、進度、穩(wěn)定性、及兼容性的要求。

  案例1設計一個網(wǎng)絡接口在邏輯設計上相對簡單,比如MII接口等同于4bit數(shù)據(jù)線的25MHZ樣,而RGMII可以使用雙沿125Mhz的采樣專用的雙沿采樣寄存器完成(使用寄存器原語)。但是如何支持與不同PHY連接一個兼容性問題(所謂設計挑PHY的問題,這個問題后面詳述)。

  案例2:CPU通過接口連接時,如果CPU此時軟復位,則有管腳會上拉,此時如果該管腳連接FPGA接口是控制信號且控制信號高電平有效,則此時FPGA邏輯必然出錯。同樣FPGA在配置時,管教輸出高阻,如此時CPU上電且板級電路管腳上拉,則同樣會導致CPU采樣出錯(誤操作的問題)。

  不能只是考慮編寫verilog代碼仿真能對就行,接口設計應該站在系統(tǒng)的角度來看問題,問題不是孤立的,還是互相聯(lián)系。

  設計中,如果需要存儲大量數(shù)據(jù),就需要在外部設計外部存儲器,這是因為FPGA內(nèi)部RAM的數(shù)量是有限的。是采用SRAM、DDR2、DDR3。這就需要綜合考慮存儲數(shù)據(jù)大大小,因為SRAM的容量也有限,但是其接口簡單,實現(xiàn)簡單方便,且讀取延時較小。DDR2、DDR3的容量較大,接口復雜,但FPGA內(nèi)部有成熟IP可用,但是讀取的延時較大,從發(fā)起讀信號到讀回數(shù)據(jù)一般在十幾個時鐘周期以上。如果對數(shù)據(jù)時延有要求,需要上一次存儲數(shù)據(jù)作為下一次使用,且數(shù)據(jù)量不太大(幾百K到幾兆),則SRAM是較好的選擇。而其他方面DDR2/DDR3是較好的選擇。為什么不用SDRAM或者DDR。這是因為設計完畢,采購會告訴你,市場上這樣老的芯片基本都停產(chǎn)了。

  FPGA接口在設計選擇的原則就是:能力夠用,簡單易用。特別值得一提的是高速SERDES接口,最好使用廠商給的參考設計,有硬核則不選擇軟核,測試穩(wěn)定后,一定要專門的位置約束,避免后面添加的邏輯擁擠后影響到接口時序,也可避免接口設計人員與最終的邏輯設計人員扯皮(不添加過多邏輯,接口是好用的)。一個分析高速SERDES的示波器,采樣頻率至少20G甚至更高以上,動輒上百萬,出現(xiàn)問題,不一定有硬件條件可調(diào)試。

  回到開頭,如何定義“可用的”設計,穩(wěn)定我想是前提,而接口的穩(wěn)定性更是前提的前提。這里穩(wěn)定包括,滿負荷邊界測試,量產(chǎn)、環(huán)境試驗等一系列穩(wěn)定可靠。而在架構設計中,就選擇成熟的接口,能有效的避免后續(xù)流程中的問題,從源頭保證產(chǎn)品的質(zhì)量。

fpga相關文章:fpga是什么


汽車防盜機相關文章:汽車防盜機原理
頻譜分析儀相關文章:頻譜分析儀原理


關鍵詞: FPGA ALTERA XILINX

評論


相關推薦

技術專區(qū)

關閉