Quartus II+Modelsim各種模擬驗證

來源:互聯網
上載者:User
文章目錄
  • 一、FPGA的設計驗證流程
  • 二、模擬步驟各種概念與步驟
  • 三、Quartus II 進行功能&時序模擬
  • 四、Q2+Modelsim進行功能&時序模擬

Quartus II+Modelsim各種模擬驗證

CrazyBingo

2012-3-2

參考無雙oo前輩的博文:

http://www.cnblogs.com/oomusou/archive/2009/01/30/modelsim_pre_post_simulate.html

參考book:《Altera FPGA/CPLD設計 初級篇》第二版

一、FPGA的設計驗證流程

圖1:FPGA/CPLD設計完整流程

圖2:FPGA/CPLD設計簡要流程

圖3:Quartus II中編譯步步為營

二、模擬步驟各種概念與步驟

1) 前模擬

前模擬,即功能模擬,用專用放著工具對設計進行功能模擬,驗證電路功能是否符合設計要求。通過功能模擬能即使發現設計中的錯誤,加快設計進度,提高設計的可靠性。

2) 綜合後的模擬

把綜合產生的標準延時反標註到綜合模擬模型去,可估計門延時帶來的影響,但是只能估計門延時,不能估計線延時,模擬結果和部先後的實際情況還有一定的差距,並不十分準確。

由於目前綜合工具比較成熟,一般省去此環節的模擬。而且在Quartus II中,直接進行下一步模擬。

3) 布局布線後的模擬

即時序模擬。布局布線後產生的模擬延時檔案最全,不僅包括門延時,還包括布線延時,所以最為準確,能較好的反映晶片的實際工作情況。

一般來說,布局布線必須進行,以此確保設計的可靠性和穩定性,發現時序違規(Timing Violation)。

4) 板級模擬

在有些高速設計的情況下,還需要使用第三方板級驗證工具進行模擬與測試,入MentorTau、Forte Design-Timing Designer、Mentor Hyperlynx、Mentor ICX、Cadence SPECCTRAQuest、Synopsys HSPICE。這些工具通過設計的IBIS和HSPICE等模型的模擬,能較好的分析高速設計訊號的完整性、電磁幹擾(EMI)等電路特性。

5) 線上模擬

在載入配置目標板之後,設計者在必要情況下要進行的一個步驟,就是線上模擬調試,利用Quartus II內建SignalTap II線上邏輯分析儀進行分析,通過JTAG口,線上、即時讀取FPGA內部訊號。

一般在我們的設計中但是在我們小型設計中,時序要求不是很嚴格的情況下,可以省略時序模擬,只進行功能模擬(綜合後的模擬一般只在IC設計中用到,一般軟體能勝任綜合工作,全程編譯直接綜合→布局布線);大型設計或時序非常嚴謹的情況下,務必進行時序模擬,驗證時序是否違規,進而用timequest進行約束(可以用Quartus II內嵌的靜態時序分析(STA),或者第三方(Synopsys的Fprmality、PrimeTime),也可以用Quartus II內嵌的Chip Editor分析晶片內部的串連於配置情況。)。另外在高速電路設計時,為了保證設計的可靠性,務必在時序模擬之後,還要進行一些板級驗證。

三、Quartus II 進行功能&時序模擬(一)Quartus II模擬相關

就算不用第三方軟體,Quartus II自個兒也能完成功能模擬和時序模擬,只是波形模擬器不適合龐大的時序,gui做的比較戳罷了。

在Quartus II兩種模擬,軟體分為“function”與“timing”,還有快速時序模擬模型,即功能模擬與時序模擬,可在Device中的Simulator Setting時鐘設定。一般我們直接進行或者軟體預設為Timing時序模擬。

(二)功能模擬

(1)在Setting中設定Simulator為Functional功能模擬

(2)產生功能模擬網標檔案

(3)輸入激勵後進行功能模擬,如所示:

(三)時序模擬

(1)在Simulation Setting中選擇Timing時序模擬

(2)Start simulation,如,可以看到時序延時(門級延時與布線延時)

四、Q2+Modelsim進行功能&時序模擬(一)Modelsim模擬相關

Modelsim是業界最優秀的HDL語言模擬器,但是更專業更牛逼,對於龐大的工程,複雜的時序,如果想Quartus II那樣輸入激勵,坐等蛋碎吧……

相對於Quartus II而言,Modelsim也有功能模擬與時序模擬,只不過功能模擬可以自給自足,而時序模擬需要Quartus II 綜合後的網標檔案.vo才能進行。

Altera為了使用者方便,直接發布了altera版的modelsim,當然必須對應版本才能進行自動模擬。

在滿足軟體版本要求的同時,需要在Quartus II Tool→Option中設定第三方軟體路徑,如下所述:

對於小白(我是小白)而言,modelsim可以通過在Quartus II的設定自動運行,進行時序模擬或者功能模擬。不過Altera軟體中稱為RTL級模擬與Gate Level門級模擬,分別對應功能模擬、時序模擬。

(二)功能模擬

(1)在Quartus EDA Tool Setting→Simulate中設定

如,在功能模擬的時候,不用選擇在編譯後進行門級(時序模擬)

(2)設定自動產生功能模擬網標

(3)添加testbench檔案

(4)編譯,Run RTL Simulation,即功能模擬

(5)Quartus II+Altera Modelsim會自動完成Modelsim各種各種設定,直到模擬結束,如下:

(三)時序模擬

(1)如在一開始設定中,選中在編譯後自動進行門級模擬(時序模擬),軟體會在編譯後自動進行模擬,知道模擬結束,設定如:

(2)當然,也可以在功能模擬的基礎上,直接Run gate level模擬即時序模擬

(3)Quartus II + Modelsim自動載入,時序模擬結果如所示:

(四)偷懶調試法

在完成功能模擬,或者時序模擬最後一步之後,Modelsim已經出現了模擬結果,此時還可以進行“深度”調試:

(1)run 500ns(你隨意),用以增加模擬時間

(2)Restart複位,重新來過

(3)修改testbench測試檔案,重新編譯testbench檔案,繼續進行調試

(4)完了,對於龐大的工程,當然建議在Modelsim中建立工程,獨立運行。預知結果如何,傾聽下回分解!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.