① 簡述基於eda軟體的fpga/cpld設計流程主要包括哪幾個步驟
1、功能定義/器件選型
一般都採用自頂向下的設計方法,把系統分成若干個基本單元,然後再把每個基本單元劃分為下一層次的基本單元,一直這樣做下去,直到可以直接使用EDA元件庫為止。
2、設計輸入
設計輸入是將所設計的系統或電路以開發軟體要求的某種形式表示出來,並輸入給EDA工具的過程。常用的方法有硬體描述語言(HDL)和原理圖輸入方法等。原理圖輸入方式是一種最直接的描述方式,在可編程晶元發展的早期應用比較廣泛,它將所需的器件從元件庫中調出來,畫出原理圖。
3、功能模擬
功能模擬也稱為前模擬是在編譯之前對用戶所設計的電路進行邏輯功能驗證,此時的模擬沒有延遲信息,僅對初步的功能進行檢測。
4、綜合優化
所謂綜合就是將較高級抽象層次的描述轉化成較低層次的描述。綜合優化根據目標與要求優化所生成的邏輯連接,使層次設計平面化,供FPGA布局布線軟體進行實現。
5、綜合後模擬
綜合後模擬檢查綜合結果是否和原設計一致。在模擬時,把綜合生成的標准延時文件反標注到綜合模擬模型中去,可估計門延時帶來的影響。但這一步驟不能估計線延時,因此和布線後的實際情況還有一定的差距,並不十分准確。
6、實現與布局布線
布局布線可理解為利用實現工具把邏輯映射到目標器件結構的資源中,決定邏輯的最佳布局,選擇邏輯與輸入輸出功能鏈接的布線通道進行連線,並產生相應文件(如配置文件與相關報告),實現是將綜合生成的邏輯網表配置到具體的FPGA晶元上,布局布線是其中最重要的過程。
7、時序模擬
時序模擬,也稱為後模擬,是指將布局布線的延時信息反標注到設計網表中來檢測有無時序違規(即不滿足時序約束條件或器件固有的時序規則,如建立時間、保持時間等)現象。時序模擬包含的延遲信息最全,也最精確,能較好地反映晶元的實際工作情況。
8、板級模擬與驗證
板級模擬主要應用於高速電路設計中,對高速系統的信號完整性、電磁干擾等特徵進行分析,一般都以第三方工具進行模擬和驗證。
9、晶元編程與調試
設計的最後一步就是晶元編程與調試。晶元編程是指產生使用的數據文件(位數據流文件,Bitstream Generation),然後將編程數據下載到FPGA晶元中。其中,晶元編程需要滿足一定的條件,如編程電壓、編程時序和編程演算法等方面。