FPGA驗證之功能仿真和時序仿真的區別與方法

2021-01-12 電子產品世界

這裡我們使用一個波形發生器作為例子,來說明如何使用Modelsim對Quartus II生成的IP Core和相應的HDL文件進行功能仿真時序仿真。這個例子裡面使用到了由Quartus II生成的一個片上ROM存儲單元。這種存儲單元和RAM一樣,都是基本的FPGA片上存儲單元,在以後的設計裡面會經常使用到。

本文引用地址:http://www.eepw.com.cn/article/201612/328598.htm

功能仿真

(1)在Quartus II中設置第三方仿真工具,選擇「Assignments-Settings-EDA Tool Settings-Simulation」,選擇「ModelSim-Verilog」。如圖1所示。

圖1 EDA工具設置

(2)編譯工程。編譯帶有IP Core的工程文件。

(3)編譯完成後會在工程目錄下生成「simulation-modelsim」的目錄,如圖2所示。其中包含了3個文件:「.vo」是仿真網表文件,可以用來代替設計文件;「.xrf」是Quartus編譯生成的信息文件;「.sdo」是工程延時信息。

圖2 編譯生成文件(4)加入仿真庫文件。

仿真庫的路徑為「C:\altera\quartus50\eda\sim_lib」,包含了如下3個仿真庫文件。

· 220model.v:帶有用戶原語類型的Quartus自帶的IP核的庫文件。

· altera_mf.v:Quartus自帶的IP核的庫文件。

· cyclone_atoms.v:相應系列的器件庫。

在本例中需要添加altera_mf.v,cyclone_atoms.v兩個庫文件。

(5)將測試文件粘貼到剛才生成的目錄中,如圖3所示。

圖3 添加測試文件

(7)打開modelsim。

(8)創建工程並添加源文件,如圖4所示。

圖4 為工程添加源文件(9)編譯工程。結合庫文件一起進行編譯、如圖5和6所示。

圖5 全部編譯前

圖6 全部編譯後

(10)修改wave.vo文件。將文件中的延時信息注釋掉,即:

//initial $sdf_annotate("WAVE_v.sdo");

(11)重新編譯wave.vo文件。

時序仿真

(1)將功能仿真第(10)步中對wave.vo文件做的注釋改回來,重新進行編譯。

(2)重新打開開始仿真對話框,選擇頂層模塊。

(3)選擇「SDF」選項卡。

(4)加入「.sdo」文件,將兩個SDF Options都選中。

(5)和功能仿真一樣,為波形窗口添加信號,開始進行仿真。

(6)通過波形圖,查看時序仿真的延時。


相關焦點

  • FPGA設計開發軟體Quartus II的使用技巧之: 編譯及仿真工程
    圖5.17 編譯無錯誤5.6.2 仿真可以使用Quartus II Simulator在工程中仿真任何設計。根據所需的信息類型,可以進行功能仿真以測試設計的邏輯功能,也可以進行時序仿真。在目標器件中測試設計的邏輯功能和最壞情況下的時序,或者採用Fast Timing模型進行時序仿真,在最快的器件速率等級上仿真儘可能快的時序條件。
  • 基於FPGA高精度浮點運算器的FFT設計與仿真
    摘要 基於IEEE浮點表示格式及FFT算法,提出一種基2FFT的FPGA方法,完成了基於FPGA高精度浮點運算器的FFT的設計。利用VHDL語言描述了蝶形運算過程及地址產生單元,其仿真波形基本能正確的表示輸出結果。
  • Modelsim軟體如何仿真,怎麼能添加輸入信號?
    作為目前最流行的仿真工具之一,Modelsim提供了圖形界面和命令行兩種工作模式,既可以方便地使用滑鼠和對話框完成大部分的仿真操作,也可以通過編寫宏指令執行由文件驅動的工作流程以提高效率。   Modelsim的仿真方法   Modelsim的仿真分為前端仿真和後端仿真,下面簡單介紹一下兩者的區別。
  • 基於Verilog的順序狀態邏輯FSM設計與仿真
    (5)如果A維持低電子,而B維持高電平,則輸出信號Y2與Y1和Y3不同,只維持1個時鐘周期的高電平。因為當狀態機進入狀態ThreeB時,信號BeenInState3B被設置為1,而該信號就會禁止狀態機再次進入狀態ThreeB,直到另一個復位信號出現為止。   以上是一個時序電路的設計,如何保證正確的時序是設計的關鍵。
  • 基於信號完整性理論的PCB仿真設計與分析研究
    在基於信號完整性計算機分析的 PCB設計方法中,最為核心的部分就是PCB板級信號完整性模型的建立,這是與傳統的設計方法的主要區別之處。SI模型的準確性將決定設計的正確性,而 SI模型的可建立性則決定了這種設計方法的可行性。
  • 基於FPGA+MATLAB的串行多階FIR濾波器設計
    為說明使用FPGA實現FIR的靈活性,文中列舉了一個多階串行FIR濾波器實例,並給出主要的原始碼和相關模塊的時序和功能說明,最後使用Matlab和Quartusii聯合仿真驗證了FPGA硬濾波器工程的正確性。
  • FPGA/EPLD的自上而下(Top-Down)設計方法解析
    原理圖繪製完成後可採用門級仿真器進行功能驗證。然而,工程師的最初設計思想不是一開始就考慮採用某一FPGA/EPLD廠商的某一特定型號器件,而是從功能描述開始的。設計工程師首先要考慮規劃出能完成某一具體功能、滿足自己產品系統設計要求的某一功能模塊,利用某種方式(如HDL硬體描述語言)把功能描述出來,通過功能仿真(HDL仿真器)以驗證設計思路的正確性。
  • 仿生學與仿真學的區別
    仿生學就是要在工程上實現並有效地模仿生物功能的一門學科。英文詞仿生學(bionices)用於研究生物系統,在具有生命之意的希臘語言bion上,加上有工程技術涵義的ices而組成的詞語,大約從1960年才開始使用。 很多領域都涉及到仿生學,如機器人的研究涉及到很多學科,但叫作機器人本身就是仿生學的概念。如
  • SABER仿真技術在汽車系統技術的驗證和開發中的應用研究
    汽車電子設計已成為汽車系統設計中的重點和難點。傳統方式下的汽車設計者不得不藉助各種機械的、液壓的、電子的汽車零部件以驗證汽車各子系統的功能,開發周期長,成本居高不下。為了縮短開發周期、降低開發成本,人們引入了SABER仿真技術進行汽車系統技術的驗證和開發。SABER仿真技術通過對整個汽車系統進行有效的建模和分析,能夠節約大量的試驗設備和試驗時間。
  • 基於FPGA IP核的FFT實現
    而FPGA廠商Altera公司和Xilinx公司都研製了FFT IP核,性能非常優越。在FFT的硬體實現中,需要考慮的不僅僅是算法運算量,更重要的是算法的複雜性、規整性和模塊化,而有關利用FFT IP核實現FFT算法卻涉及不多。
  • DELMIA軟體:仿真運行自動暫停功能介紹與使用方法
    暫停功能介紹暫停功能是DELMIA軟體的一個仿真輔助功能,它能夠讓用戶在對機器人等設備進行仿真運行時,在指定的時間點自動暫停仿真運行進程,以便於用戶為客戶做出口頭講解等工作。DELMIA軟體中的暫停功能是以工藝節點形式創建,暫停需要用戶採取相應的幹預措施以重新開始仿真運行,用戶執行幹預措施耗費的時間以及暫停延長的時間都不會被記錄在軟體的仿真運行時間中。
  • 基於DSP和FPGA的機器人聲控系統設計與實現
    本文引用地址:http://www.eepw.com.cn/article/21345.htm 本次設計採用了性價比較高的數位訊號處理晶片tms320vc5509作為語音識別處理器,具有較快的處理速度,使機器人在脫機狀態下,獨立完成複雜的語音信號處理和動作指令控制,fpga系統的開發降低了時序控制電路和邏輯電路在pcb板所佔的面積[1],使機器人的"大腦"的語音處理部分微型化、低功耗。
  • 全加器功能及應用的仿真設計分析
    的應用方法。1 全加器的基本概念 加法器是一種常見的組合邏輯部件,有半加器和全加器之分。半加器是只考慮兩個加數本身,而不考慮來自低位進位的邏輯電路,就是兩個相加數最低位的加法運算。全加器不僅考慮兩個一位二進位數相加,還要考慮與低位進位數相加的運算電路。兩個數相加時,除最低位之外的其餘各位均是全加運算電路。
  • 英偉達楊健:英偉達仿真模擬方法論助力無人駕駛算法開發
    今天分享的主題為《英偉達仿真模擬方法論助力無人駕駛算法開發》,主要分為以下三個方面:無人駕駛與預期功能安全;英偉達仿真驗證方法論;解決問題需要的規模和計算量。一、無人駕駛和預期功能安全首先給大家解釋一下 verification(驗證)和validation(確認)的區別。
  • 仿真方法的意義
    隨著數字孿生概念的走紅,仿真技術也變成了熱點。仿真不是新名詞:30年前我讀研究生的地方,就是浙江大學化工仿真教研室。
  • 圓柱形鋰離子電池徑嚮導熱係數測試:傳熱模型的有限元仿真和驗證
    在不破壞電池和只有電池圓周外表面的邊界條件下,分別採用了恆溫和恆流兩種測試方法建立了相應的測試模型和解析表達式,並通過有限元仿真來驗證了測試模型和解析表達式的準確性,為測試儀器的設計提供了有效指導,為在其他規格鋰電池熱性能測試中的推廣有重大意義。1.
  • 利用EWB仿真軟體對文氏電橋振蕩電路進行仿真
    在教學中, 利用EWB 仿真軟體, 可以建立起了一種類似於真實實驗室工作檯的虛擬平臺, 逼真地模擬各種元器件和儀器儀表, 從而不需要任何真實的元器件和儀表, 就可以完成多種電路實驗, 不僅可以作為現行的實驗一種補充, 還可以作為複雜的電子系統的設計、仿真與驗證的手段。
  • 軌道交通仿真之Simpack軟體及Rail模塊
    在全球範圍擁有廣泛的用戶群,主要的機車製造商、工程設計商、供應商、運營商、高校和科研院所都在使用Simpack Rail。通過Simpack強大的建模功能和快速的計算速度能高效地預測和分析軌道車輛間的動力學性能,從而大大降低開發成本,縮短開發周期,提高產品設計質量。Simpack Rail與行業合作夥伴之間的項目合作和大量的驗證試驗,保證了仿真的可靠性,同時也提供了在軌道交通行業應用中的豐富經驗。
  • 基於FPGA的脈衝壓縮仿真與實現
    因此,這裡介紹一種分布式算法實現時域脈衝壓縮,它是一種基於查找表的計算方法,通過將各輸入數據每一對應位產生的部分積預先相加形成相應部分積,然後再對各部分積累加形成最終結果,從而實現乘加功能。與傳統算法(所有乘積產生後,再相加完成乘加運算)相比,分布式算法可極大減少硬體電路規模,易於實現流水線處理,提高電路執行速度。
  • DC/DC電路噪聲濾波器仿真與驗證
    據村田電子貿易(深圳)有限公司高級工程師江林輝介紹,村田提供用於噪聲濾波器設計支持的仿真工具,該工具可以根據從我們組件中選擇的項目來計算和繪製濾波器電路的插入損耗特性,並繪製圖形。為了證明仿真工具的有效性,最後比較了使用PCB的實際噪聲抑制結果和仿真結果。J6Dednc