FPGA設計仿真驗證
嚴格來講,FPGA設計驗證包括功能與時序仿真和電路驗證。仿真是指使用設計軟件包對已實現的設計進行完整測試,模擬實際物理環境下的工作情況。
功能仿真是指僅對邏輯功能進行測試模擬,以了解其實現的功能是否滿足原設計的要求。仿真過程沒有加入時序信息,不涉及具體器件的硬件特性,如延時特性等,因此也叫前仿真。它是對HDL硬件設計語言的功能實現能力進行仿真,以確保HDL語言描述能夠滿足設計者的最初意圖。
時序仿真則是在HDL可以滿足設計者功能要求的基礎上,在布局布線后,提取有關的器件延遲、連線延時等時序參數,并在此基礎上進行的仿真,也稱為后仿真,它是接近真實器件運行的仿真。
如下圖所示是FPGA設計仿真驗證的基本方法。
FPGA設計仿真驗證基本方法
FPGA設計仿真的切入點
在FPGA的設計中,完整的設計流程往往會涉及多個EDA工具,比如設計輸入工具、綜合工具、布局布線工具、仿真工具等。如何將這些EDA工具進行適當的結合,在符合各個工具接口情況下發揮各個工具的特長,是每一個FPGA設計工程師都要面臨的問題。
如下圖所示是利用仿真工具ModelSim與綜合工具FPGA Compiler II及布線工具Foundation Series或Quartus相配合實現FPGA設計的流程圖。
FPGA設計仿真切入點
在設計輸入階段,由于Modelsim僅支持VHDL或Verilog HDL,所以在選用多種設計輸入工具時,可以使用文本編輯器完成HDL語言的輸入。當然也可以利用相應的工具以圖形方式完成輸入,但必須能夠導出對應的VHDL或Verilog HDL格式。
近年來出現的圖形化HDL設計工具,可以接收邏輯結構圖、狀態轉換圖、數據流圖、控制流程圖及真值表等輸入方式,并通過配置的翻譯器將這些圖形格式轉化為HDL文件,如Mentor Graphics公司的Renoir,Xilinx公司的Foundation系列都帶有將狀態轉換圖翻譯成HDL文本的設計工具。
從上圖可以看出,在FPGA設計過程中,有3處可以使用Modelsim進行仿真。
(1)寄存器傳輸級(RTL)仿真。
此級仿真是對設計的語法和基本功能進行驗證(不含時序信息)。在RTL仿真階段,應該建立一個測試臺。此測試臺可以在整個FPGA流程中進行仿真驗證(RTL級、功能級、時序門級)。測試臺不但提供測試激勵與接收響應信息,而且可以測試HDL仿真流程中的關鍵功能(如運算部件輸出值的正確性等)。測試臺的產生可以直接使用文本編程得到,也可以使用圖形化工具輸入,再由軟件翻譯為HDL格式,例如使用HDL Bencher軟件利用其良好的波形輸入界面輸入測試激勵,再由其自動轉化為HDL格式而得到。
(2)針對特定的FPGA專有技術的仿真。
此級仿真是在綜合后、實現前而進行的功能仿真。功能仿真一般驗證綜合后是否可以得到設計者所需要的正確功能,而且功能仿真的結果往往與RTL級仿真結果相同。
(3)門級仿真。
此級仿真是針對門級時序進行的仿真,門級仿真體現出由于布局布線而產生的實際延時。在這個階段,仿真的結果和設計者選擇的FPGA型號有著直接的關系。由于不同的FPGA的內部結果有所差異,因此同一個設計在不同FPGA型號上得到的門級仿真結果也是不同的。
溫馨提示:明德揚2023推出了全新課程——邏輯設計基本功修煉課,降低學習FPGA門檻的同時,增加了學習的趣味性,并組織了考試贏積分活動
http://www.cqqtmy.cn/ffkc/415.html
(點擊→了解課程詳情?)
明德揚除了培訓學習還有項目承接業務,擅長的項目主要包括的方向有以下幾個方面:
1. MIPI視頻拼接
2. SLVS-EC轉MIPI接口(IMX472 IMX492)
3. PCIE采集系統
4. 圖像項目
5. 高速多通道ADDA系統
6. 基于FPGA板卡研發
7. 多通道高靈敏電荷放大器
8. 射頻前端
需要了解相關信息可以聯系:易老師13112063618(微信同號)