陳志剛
摘要:電子產品設計人員希望電子器件有更小的功耗、更強的功能、更低的價格,這就要求將更多的功能集成到單一的芯片。隨著計算機技術的快速發(fā)展,電子系統設計過程中廣泛使用VHDL語言,首先利用VHDL完成電子產品的系統設計,再通過EDA軟件對VHDL程序進行編譯,產生SDF文件,ModelSim通過調用SDF文件,使用Testbench生成相應的測試激勵。以24進制計數為例,應用聯合仿真,有效解決不同種類激勵源的產生、驗證自動化、平臺移植等問題。
關鍵詞:ModelSim;QuartusII;Testbench;聯合仿真
中圖分類號:TP391 文獻標識碼:A
文章編號:1009-3044(2019)31-0286-02
1概述
ModelSim是工業(yè)界廣泛使用的仿真軟件,由Me.or Graph-ics公司開發(fā)??梢元毩⑼瓿捎布枋稣Z言代碼的功能仿真,還能結合FPGA/CPLD開發(fā)軟件進行時序仿真,得到包含信號傳輸時序的結果。同時可以對System c、c語言進行調試與仿真,設計過程中可以采取許多靈活的手段來完成設計工作,大多數FP-GA/CPLD供應商軟件都提供與ModelSim的接口。Altera公司的FPGA/CPLD器件的集成度小到300門,大到超過1000萬門,可以用來設計、集成現有的大多數邏輯器件,直到實現單片系統,而且其開發(fā)系統簡單易學、功能強大,學校計劃執(zhí)行非常好,占據了國內大量的市場,很多學校和公司都使用Ahera公司的產品進行設計和開發(fā)。QuartuslI適合通過畫波形圖做初級的仿真,但從Quartusl110.0起不再提供對波形仿真的支掙”。本文使用QuartusII13與ModelSim10軟件進行聯合仿真,通過高電平異步復位24進制計數器的設計說明二者聯合仿真的方法。
224進制計數器的VHDL設計
目前,常用的HDL硬件描述語言主要有VHDL和VerilogHDL,其中VerilogHDL語言具有簡捷、高效、易學易用、功能強大等特點,適用于RTL級和門電路級的描述;VHDL語言主要用于描述數字系統的結構、行為、功能和接口。VHDL作為IEEE的工業(yè)標準硬件描述語言,已成為電子工程領域的實際通用硬件描述語言。
為了適應實際數字電路的工作模式,VHDL在多個語句中并行和按順序同時描述所有可能的事件。因此VHDL程序執(zhí)行方式與其他計算機語言不同,它不是按順序一條一條執(zhí)行每一條語句,而是有并行執(zhí)行的語句同時也有按順序執(zhí)行的語句,VHDL程序由一組并行語句構成,并行語句中有順序語句,這就要求電路設計人員擺脫一維思維模式,完成多維并行思維的VHDL編程。
在綜合分析電子系統任務書發(fā)布的系統功能和技術指標后,根據已獲取的知識和數據,將系統總體功能合理分解為多個子系統,定義好各個子系統的接口,并將子系統塊互連,形成系統框圖,采用自頂向下的設計方法,與傳統的根據元件選擇實現方法有根本不同。各個設計小組分別設計子系統。電子系統設計的質量直接取決于電子系統總體方案的選擇。在設計整體方案時,應該多思考,分析更多,并進行更多比較。綜合考慮性能穩(wěn)定、運行可靠、電路簡單、成本低、功耗低、測試維護方便等因素,選擇最佳方案。通過計算機下載到硬件芯片中,實現電路功能,極大加快產品設計進程,可以使產品快速進入市場。
計數器是一種基本時序邏輯電路,主要用來對輸入的脈沖個數進行累計和記憶,兼有分頻、定時、產生節(jié)拍脈沖及進行數字運算等功能,交通燈、時鐘等控制器的核心就是計數器。實現異步高電平復位24進制計數器的VHDL主要程序如下:
啟動EDA設計軟件Quartuslll3,新建項目工程,將24進制計數器程序輸入QuartuslI并編譯查錯直至沒有語法錯誤,生成網表文件和SDF文件,供ModelSim調用。
3利用ModelSim進行仿真及分析
測試平臺(Testbench)是驗證基于VHDL的FPGA設計的有效方法。一個完整的測試平臺由三部分組成:信號定義、模塊接口和功能代碼。測試仿真的流程為對被測試設計的頂層接口進行例化、給輸入接口加激勵、判斷輸出是與否滿足設計要求。通過觀察仿真輸出波形驗證所寫RTL代碼正確與否,若符合預期,則驗證結束,否則修改代碼直至與預期相同。雖然畫波形圖的方法比Testbench更加直觀且易于上手,但畫波形圖只能產生有限的輸入信號,從而只能完成較初級的功能測試。Testbench可以產生不同種類激勵信號,易于實現遠遠高于繪圖波形提供的功能覆蓋,可重用性及平臺移植性都好。對于復雜設計來說,可能的狀態(tài)較多,仿真耗時很長,若只是通過畫波形圖來人為觀測,比對功能是否實現的效率會很低,而Testbench是以程序語言的方式進行描述的,在仿真過程中可以使用還原點和仿真恢復,以減少不必要的仿真,提高仿真效率,通過波形比較,將配套的“.dif”和“.rul”文件添加到對話框中,就可以快速地查看比較的波形結果,定位代碼的問題所在,測試臺的模擬速度比波形圖快幾個數量級。在本文的設計中,用VHDL語言來設計測試平臺(Testbench),程序主要內容如下:
啟動ModelSim軟件,先建立一個work庫后,創(chuàng)建一個新項目project,編譯相應設備的庫文件,將QuartuslI生成的包含設計中的延遲信息和時序約束信息SDF仿真文件添加到Model-Sim工程中,編譯上述Testbench文件,運行仿真,結果如圖l所示。
4結束語
VHDL語言能進行系統級的硬件描述是它的一個最突出的優(yōu)點,充分利用VHDL語言的易操作性和安全性,可以改善電子產品的設計過程,促進行業(yè)進步,加快產品更新,提高市場占有率。根據上述的設計及聯合仿真方法,通過QuartuslI編譯VHDL源文件,生成仿真文件,再利用VHDL語言寫測試平臺,啟動ModelSim進行模擬。這樣二種軟件分工明確,從圖1可知,仿真的結果正確,達到預期目的。充分發(fā)揮ModelSim仿真速度更快、功能更強的特性,易于查錯,可以大大減少開發(fā)時間,提高開發(fā)效率。