仿真VHDL和Verilog HDL并沒(méi)有什么區別,一般的軟件兩種語(yǔ)言也都支持,仿真的步驟和方法也都是一樣的。
常用的軟件有Model Sim和Quartus II。
Quartus II功能很強大!實(shí)際的工作經(jīng)常用它,它提供了功能仿真和時(shí)序仿真兩種方式,但是作為學(xué)習HDL 并不方便,因為它c(diǎn)ompile編譯的時(shí)候很慢,對于復雜的邏輯更是要很長(cháng)時(shí)間。好的一點(diǎn)是,Quartus II編譯后可以清楚的看到它使用了芯片的多少資源,各信號不同的延時(shí)等等。另外,Quartus II編譯后也可以調用第三方的仿真工具,如Model Sim進(jìn)行仿真。
而Model Sim只完成邏輯功能的仿真,并不考慮具體使用什么器件,學(xué)習HDL或者設計邏輯的時(shí)候compile一次所用的時(shí)間很短,便于調試找出邏輯的錯誤。所以初學(xué)仿真推薦使用Model Sim。本文也只講下用Model Sim仿真邏輯的方法。
以下部分基本是參照軟件幫助簡(jiǎn)寫(xiě)的,只是原來(lái)是英文的而且說(shuō)的比較繁瑣一些,也更詳細內容更多。詳見(jiàn)Model Sim菜單Help--SE PDF Documentation--tutorial。
仿真有兩種方法。一種是Basic Simulation,就是直接建立庫,然后編譯源文件。另一種是通過(guò)建立Project來(lái)仿真,建立Project時(shí)軟件會(huì )為它建立一個(gè)庫,然后的仿真是一樣的。
Basic Simulation的流程圖如下
Basic Simulation的流程圖如下

下面詳細寫(xiě)一個(gè)例子的步驟
1. 建立庫。選擇菜單File>New>Library。建立新庫就選a new library and a mapping to it,library name 和library physical name 都填work(當然其它名也行)。如下圖。
下面詳細寫(xiě)一個(gè)例子的步驟
1. 建立庫。選擇菜單File>New>Library。建立新庫就選a new library and a mapping to it,library name 和library physical name 都填work(當然其它名也行)。如下圖。

確定后,在Work Space區的Library選項卡里就能看到新建的庫work。

2. 編譯VHDL或Verilog HDL源文件。 選擇菜單Compile>Compile,在彈出的窗口中打開(kāi)Model Sim安裝文件夾下的 /modeltech/examples/tutorials/vhdl/basicSimulation/ (里面是軟件自帶教程的例子邏輯,Verilog HDL對應的例子在/examples/tutorials/verilog/basicSimulation里)。將里面的counter.vhd和tcounter.vhd一起選中,點(diǎn)擊Compile,然后點(diǎn)擊Done關(guān)閉彈出窗口。 這兩個(gè)源文件就編譯好了,在Work Space區里的Library卡里可以看到庫work下出現了兩個(gè)編譯完成的entity(或module),如下圖。 3. 仿真。在Work Space區的library選項卡中,展開(kāi)庫work前的加號,雙擊test_counter,載入到仿真。 選擇菜單View>Debug Windows>Wave調出波形窗口。 在Work Space面板的Sim選項卡中右擊test_counter,選擇Add>Add to Wave。在波形窗口的列表里就能看到被添加到波形仿真的信號。 開(kāi)始仿真。點(diǎn)擊工具欄上的Run按鈕 默認仿真100ns。 如果點(diǎn)擊Run All按鈕 設置斷點(diǎn)的方法是在代碼文件的行號上單擊,會(huì )出現紅點(diǎn)。再單擊變黑則斷點(diǎn)無(wú)效。 要重新仿真,可以單擊工具欄上的Restart 這些仿真涉及的按鈕命令都可以在菜單Simulate中找到,仿真結束最后不要忘了選擇菜單Simulate>End Simulate。 Project Simulation流程圖如下 同樣是計數器的例子。 1. 建立project。選擇菜單File>New>Project,任意填寫(xiě)Project Name和存儲路徑,default library name保持默認的work不變,確定。 2. 直接在確定后彈出的窗口選擇Add Existing File或在Work Space面板的Project選項卡里右擊選擇Add to Project>Exitsting File。添加Model Sim安裝目錄examples/tutorials/vhdl/projects下的counter.vhd和tcounter.vhd兩個(gè)文件到project(Verilog HDL的例子在examples/tutorials/verilog/projects下)。 這時(shí)可以看到Project里新添入的兩個(gè)文件的status都是?。 3. 更改編譯順序(僅針對VHDL)。選擇菜單Compile>Compile Order,在彈出窗口中上下移動(dòng)文件改變編譯次序,或者點(diǎn)擊Auto Generate讓Model Sim來(lái)自動(dòng)決定。 4. 在Work Space面板的Project選項卡里任意處右擊,選擇Compile>Compile All,編譯成功則源文件的status變?yōu)榫G色對勾。雙擊載入simulation,波形仿真方法與Basic Simulation相同。 仿真時(shí),控制激勵信號的方法有兩種,一種是在源文件里用代碼產(chǎn)生仿真的輸入信號,如上面的例子(詳見(jiàn)程序自帶的例子文件的代碼),另一種是在波形窗口中編輯輸入信號的波形,或者載入已編輯好的波形文件來(lái)仿真。在下一篇日志里做了一些介紹。

這時(shí)Work Space區中新增了一些選項卡,彈出了Objects面板。







聯(lián)系客服