FPGA的結構特點與開發
FPGA的結構特點與開發
我這個題目想說明的是,FPGA的內部的有其相應的Fabric,如何在開發過程中最好最大限度的使用它。
其中有些內容是我閱讀XILINX網站上提供的XAPP手冊學習到的,我在這里再次談到它們,是因為的確是太好用了。
1.SRL16
SRL16在實現延時、閉環實現占空比可控的觸發脈沖方面很方便,代碼中例化它,會使代碼比較簡潔。在調試時,調整延時量也很方便。使用它要注意的是它的Tcko比較大,對時序會是一個瓶頸。揚長避短,在適當的地方加一個觸發器DFF,再輸出使用。
2.STARTUP
STARTUP模塊,對很多人很陌生,在實際設計中使用它很少。但如果使用它,會給設計帶來很大的可靠性和編碼簡便性。我了解了一下,有朋友“排斥”它,是因為它不能仿真,確切的說在仿真的時候帶來很大的麻煩。其實不然,MODELSIM是支持它仿真的。要想好好的了解它,網上可以搜索到有關如何使用它的一篇文檔《Verilog GSR/GTS SimulaTIon Methodology》,很多人都使用過MCU、DSP芯片,STARTUP就相當于這些器件內部的全局復位管理單元。但STARTUP有比它們更優勢的一面,節省布線資源,同時節省生成bit流的時間。
3.BRAM
BRAM是一個很牛的東西,它可以實現復雜數學運算,可參考《插值查找表:實現DSP功能的簡便方法》;可以將一些復雜的大邏輯放在BRAM中實現;擬合運算也可以高效的實現。要高效的使用它,可以在設計中直接例化,但這不是最好的方法。XST工具有相應的綜合約束語法,可以在代碼中用HDL語言描述,在綜合的時候告訴XST綜合為BRAM即可。
4.全局時鐘相關的基元
涉及到時鐘方面的設計內容,一定要采用例化方式,這也是目前的設計主流方法。另外,現在FPGA發展很快,XILINX推出了很多革新的器件,這些器件提供了花樣繁多的BUF,像BUFH,BUFIO等等。使用它們之前一定要仔細閱讀資料,因為他們的使用對IO或IO BANK是有嚴格要求的,有些BUF只能與特定的管腳相連,否則PROCESS中MAP階段不能通過。這樣既開發時間,又需要該做PCB.
評論