首頁 / 數字電子技術 / fpga過程中的仿真有哪三種-(fpga軟件仿真)

        fpga過程中的仿真有哪三種-(fpga軟件仿真)

        Time:2024-02-20 15:01:12 Read:890 作者:CEO

        在學習FPGA的時候,我被它的各種仿真搞得一頭霧水。預仿真、後仿真、功能仿真、時序仿真、行為級仿真、RTL級仿真、綜合後仿真、門級仿真、布局布線後仿真……好吧,反正我是暈了。

        先說一下Quartus和Modelsim軟件的仿真形式:

        fpga過程中的仿真有哪三種-(fpga軟件仿真)

        Quartus II中有兩種仿真類型: 1. 功能仿真2. 時序仿真;

        Quartus ii調用Modelsim的兩種仿真: 1. RTL級仿真2. 門級仿真。

        經查閱各種資料如下:

        信息一:

        1、使用Quartus進行仿真時,分為功能仿真(al)和時序仿真(Timing)。

        2、使用Modelsim-Altera時,分為功能仿真(RTL)、綜合後仿真(post-synthesis)和布局布線仿真(Gate-level)。其中,功能仿真又稱為預仿真,布局布線仿真又稱為後仿真。

        注:這裏的功能仿真(RTL)與1中的功能仿真(al)不同。前者是HDL級仿真,後者是門級網表的功能仿真。

        (1)在quartus中調用Modelsim-Altera進行RTL仿真時(前提是在第三方仿真工具中選擇了Modelsim-Altera),步驟如下:

        a) 編寫源文件和測試文件;

        b) 賦值-設置-仿真-取消勾選rungate levelsimulation.選擇nativelink-add test file,填寫文件名;

        c) 開始分析闡述;

        d) Tools-啟動RTL仿真;

        (2)一般不做綜合後仿真。

        (3)在quartus中調用Modelsim-Altera進行Gate-level仿真時(前提是在第三方仿真工具中選擇了Modelsim-Altera),步驟如下:

        a) 編寫源文件和測試文件;

        b)Assignment-setting-simulation-選擇rungate levelsimulation.選擇nativelink-add test file,填寫文件名;

        c) 完整編譯;

        評價:是否選擇賦值-設置-模擬-“編譯後自動運行門級模擬”就不用解釋了。您根本不需要選擇它。隻需要在setting中添加測試文件testbench即可(如果不添加,那麼quartus調用modelsim軟件後,需要手動添加編譯,下麵添加)。如果想要RTL級別的仿真,那麼隻需要對quartus ii進行分析綜合,然後點擊Tools-Run EDA Simulation tool-Run RTL Simulation即可。軟件會自動編譯modelsim軟件中的源文件和測試文件,並模擬輸出波形。如果你想要Gate-level仿真,那麼你需要完全編譯quartus ii的工程,然後點擊Tools-Run EDA Simulation tool-Run Gate-level Simulation。軟件會自動轉換網表文件.vo(verilog輸出文件)或.vho(VHDL輸出文件)並在modelsim軟件中編譯測試文件,並將標準延遲文件SDF(.sdo)添加到modelsim中以模擬波形。

        補充:順便說一句,如果Assignment-setting-simulation中沒有設置測試文件testbench,無論是RTL還是Gate-level仿真,Quartus在調用modelsim後都隻會將.vo或.vho文件發送給modelsim。編譯完成後,需要手動編譯testbench,並且在Run Gate-level Simulation時,還需要手動添加.sdo文件,比較麻煩。

        信息二:

        Modelsim-Altera仿真一般分為功能仿真、預仿真(綜合後仿真)和後仿真(時序仿真或布局後仿真)。

        根據設計需要,編寫代碼(Verilog hdl、Vhdl、system Verilog)後,首先進行功能仿真,驗證編寫的代碼是否能夠完成設計功能;預仿真也稱為後綜合仿真,即在QuartusII完成綜合後,驗證設計的功能;後仿真也稱為時序仿真或布局布線後仿真,即添加延遲後的仿真。對於編譯時間短的小規模設計,一般隻進行功能仿真和後仿真。

        信息三:

        Modelsim是一款專門從事仿真的軟件,可以分別進行預仿真和後仿真。預仿真也稱為功能仿真。主要目的是驗證電路的功能是否滿足設計要求。其特點是不考慮電路的門延遲和線延遲。主要驗證電路是否與理想情況一致。可綜合的FPGA代碼是用RTL級代碼語言描述的,其輸入是RTL級代碼和測試平台。後仿真也稱為時序仿真或布局後仿真。是指將電路映射到特定的工藝環境後,綜合考慮電路的路徑延遲和門延遲的影響,以驗證電路在一定時序條件下是否能夠滿足設計理念。過程中是否存在時序違規。其輸入文件是從布局布線結果、測試平台中抽象出來的門級網表以及擴展為sdo或sdf的標準延遲文件。 sdo和sdf的標準延遲文件不僅包含門延遲,還包含實際布線延遲,更能反映芯片的實際工作情況。一般來說,需要進行後仿真來檢查設計時序是否與實際FPGA運行一致,以保證設計的可靠性和穩定性。

        信息四:

        預仿真和後仿真的區別:預仿真是指綜合之前的仿真,即行為層麵的仿真,比如直接在Modelsim中寫代碼的仿真。後仿真是指綜合後的仿真,即功能仿真。例如,您使用VHDL在Modelsim中編寫一個計數器,並且行為級模擬通過。您將其添加到Quartus 或其他綜合工具中進行綜合。綜合後,生成功能網表,將行為語言轉變為寄存器傳輸。級語言。這時候你把它添加到Modelsim中進行仿真,這就是所謂的後仿真。後仿真成功後,需要在Quartus中進行映射、布局和布線。完成後,您可以執行時序分析,生成時序網表,並描述器件的內部門或門。對於布線延遲,最後將延遲網表和功能網表添加到Modelsim中進行仿真,稱為門級仿真。

        門級仿真和時序仿真的區別:門級仿真是quartus生成的網表文件.vo。在門級,不考慮互連延遲,僅考慮器件延遲。時序仿真是一種包含選擇特定器件並對其進行布局和布線後的時序關係的仿真。主要驗證時間約束關係、延遲、最大工作頻率、消耗資源是否滿足。時序仿真需要添加延時文件.sdo。

        信息五:

        廣義上講,仿真驗證包括功能和時序仿真以及電路驗證。仿真是指使用設計軟件包來模擬實際物理環境中的工作條件,對已實現的設計進行完整的測試。從模擬的層麵來看,主要分為:

        預仿真,也稱為功能仿真或行為級仿真。它是指僅對邏輯功能進行測試和仿真,以了解所實現的功能是否滿足原設計的要求。仿真過程不添加時序信息,不涉及具體器件的硬件特性,如時延特性;

        後仿真也稱為布局布線後仿真或時序仿真。是指提取設備時延、連接時延等相關時序參數,並在此基礎上進行仿真。這是非常接近真實設備操作的模擬。不同的工具和供應商還提供其他模擬過程,但它們通常屬於這兩類。

        對於FPGA設計過程,可以模擬三個階段:

        第一階段是寄存器傳輸級(RTL)模擬。這一級別的仿真驗證設計的語法和基本功能(不包括時序信息);

        第二階段是針對特定FPGA製造商技術的仿真。此級別的模擬是在綜合之後、實現之前執行的功能級別模擬。功能級仿真一般是驗證綜合後能否得到設計者所需的正確功能;

        第三階段是門級仿真。此級別的仿真模擬實現後的門級時序。門級仿真反映了布局和布線引起的實際延遲。

        信息六:

        預仿真:RTL代碼的功能和性能仿真與驗證。

        後仿真: 1. Pre-layout,這是後綜合仿真。主要測試綜合後的邏輯功能是否正確以及綜合時序約束是否正確。

        2. Post-layout,這是布局布線後的模擬。由於添加了線路延遲信息,因此這一步的模擬最接近真實芯片的行為。它還用於模擬芯片時序約束是否正確添加以及布局布線後時序約束是否仍然存在。滿足時機。

        信息七:

        功能仿真模擬設計輸入的功能,考慮理想情況,沒有門延遲,也沒有布線延遲。

        綜合過程將設計輸入編譯成由AND、OR、NOT門、RAM、觸發器等基本邏輯單元組成的邏輯連接,即網表(Netlist),並輸出標準格式的網表文件例如edf 和edn。綜合後仿真將綜合生成的標準延遲文件反標注到綜合仿真模型中,以估計門延遲對電路的影響。

        實現和布線,根據所選芯片型號將綜合輸出邏輯網表適配到具體的FPGA/CPLD。實現過程中最重要的過程就是布局布線(Place and Route):布局使邏輯單元合理適應FPGA內部固有的硬件結構;布線根據布局的拓撲結構使用FPGA內部的各種布線資源。合理、正確連接各部件。時序仿真將布局布線的延遲信息記錄到設計網表中進行仿真。此時仿真延時文件擁有最完整的信息,包括柵極延時和布線延時,因此布線後的仿真是最準確的,更能反映芯片的實際工作情況。

        以下是我的拙見:從上麵的分析,我們可以將文章開頭提到的九中的一些模擬名詞等同起來:

        預仿真=功能仿真=行為級仿真=RTL級仿真

        那麼仿真可以分為兩步。第一步是布局前模擬,也就是綜合後模擬。其目的主要是驗證邏輯功能是否正確以及合成時序是否正確;第二步是PostlayoutSimulation,即後仿真。=時序仿真=布局和布線後仿真=門級仿真。這個級別的模擬是最接近芯片的,並且添加了線路延遲。參見材料7中的解釋。

        Copyright © 2002-2024 應用電子技術網 版權所有 
        備案號:

        免責聲明: 1、本站部分內容係互聯網收集或編輯轉載,並不代表本網讚同其觀點和對其真實性負責。 2、本頁麵內容裏麵包含的圖片、視頻、音頻等文件均為外部引用,本站一律不提供存儲。 3、如涉及作品內容、版權和其它問題,請在30日內與本網聯係,我們將在第一時間刪除或斷開鏈接! 4、本站如遇以版權惡意詐騙,我們必奉陪到底,抵製惡意行為。 ※ 有關作品版權事宜請聯係客服郵箱:478923*qq.com(*換成@)