編譯流程之模擬
l 模擬
- 1. 功能模擬(前模擬)
從邏輯分析HDL程式碼所描述電路的正確性,因為不涉及到考慮門延時和線延時,所以模擬速度很快,其主要測試點在邏輯,如使用testbench檔案進行模擬,就是功能模擬。
- 2. 時序模擬(後模擬)
考慮門延時引數和單元連線線後的模擬,模擬更接近真實應用情況。
注意:
在進行HDL程式碼編寫的時候,我們要有這樣的認識,功能模擬才是整個FPGA開發中程式碼輸出量最大的環節,對於所編寫的每一個模組。可能需要很多的testbench檔案。
l 使用者約束
1.綜合約束
指導編譯器將HDL程式碼轉化為門級網表結構
2.管腳約束
將設計中的輸入、輸出、及雙向IO和FPGA晶片物理I/O建立一一對應的聯絡。並且為每一個已分配的物理I/O管腳指定特定的介面電平,從而保證通訊,如LVDS等
3.位置約束
針對特殊邏輯版塊要求特殊的邏輯塊資源
4.時序約束
將網表佈局到FPGA晶片並完成連線操作時,如果我們指定了時序約束,編譯器會考慮約束關係,進行合理的佈局佈線,因為佈局佈線會影響線延時的引數
時序約束是針對佈局佈線環節
² 書序約束的重要意義在於保證設計的電路具有優良的效能,沒有經過時序約束的電路,佈局器和佈線器的操作過於鬆散和隨意!!!
l 時序分析
時序分析,也稱之為:靜態時序分析(簡稱STA),之所以進行時序分析,因為在實際中存在傳輸延時,尤其當時鍾頻率很高的時候,數位電路的類比電路特性就會顯現出來,如感抗,容抗這些因素的產生會導致較為嚴重的傳輸延時。
l 編譯流程之綜合
編譯器一般會採用預設的設定進行邏輯綜合。但實際上編譯綜合設定是可以修改的,可以考慮速度優先,或者面積優先,或者功耗優先的準則。通常的在選擇IP核設計的時候,很多IP核會提供給選項是速度優先還是面積優先。
關於FPGA開發,需要形成一種意識:速度和麵積的權衡是十分重要的。