中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ModelSim如何聯合Quarus自動仿真

發布時間:2022-01-06 16:43:06 來源:億速云 閱讀:130 作者:柒染 欄目:互聯網科技

ModelSim如何聯合Quarus自動仿真,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

ModelSim工程實戰之自動仿真
說完了 ModelSim 的使用流程,接下來我們將會對每個流程進行詳細的操作演示,一步步、手把手帶領大家學習使用 ModelSim 軟件。首先我們講解的 ModelSim 自動仿真,所謂自動仿真,其實是在 Quartus II 中調用 ModelSim 軟件來進行仿真,在調用過程中,Quartus II 會幫我們完成 ModelSim 中的所有操作,我們只需要分析最后的仿真結果。下面我們就以上章節中我們創建的 Quartus II 軟件工程為例,進行仿真。  
0.1 檢查 EDA 路徑
首先我們打開之前的 Quartus II 工程,如圖
ModelSim如何聯合Quarus自動仿真
 在該頁面中,我們在菜單欄中找到【Tool】→【Options】按鈕并打開,在打開的頁面左側,我們找到“EDA Tool Options”點擊,如圖
     ModelSim如何聯合Quarus自動仿真
在該頁面中,如果你安裝的是 ModelSim 軟件,那么你需要在 ModelSim 路徑中進行設置,這里我們使用的 ModelSim-Altera , 所 以 我 們 將 ModelSim-Altera 路 徑 設 置 成 了C:\altera\13.1\modelsim_ase\win32aloem。這里需要大家注意的是一定要選擇 modelsim_ase文件夾中的 win32aloem,不要選擇 modelsim_ae 文件夾中的 win32aloem。還記得我們前面說的么?ae 是收費版本,我們是不能使用的,這里的 ase 免費版本也是可以滿足我們的設計的。路徑設置完成以后,我們點擊【OK】返回我們的 Quartus II 軟件界面。
0.2 選擇 EDA 工具
我們在 Quartus II 軟件頁面的菜單欄中,我們找到【Assignments】→【Settings】按鈕并打開,在打開的頁面左側我們找到“EDA Tool Settings”點擊,如圖
ModelSim如何聯合Quarus自動仿真
還記得我們之前創建工程的時候,由于在 Quartus II 軟件中我們沒有用到仿真,所以我們將這里設置成了“None”,現在我們需要用到仿真工具了,我們需要在這里將 Simulation 設置成“ModelSim-Altera、Verilog HDL”。設置完成之后,我們點擊【OK】返回 Quartus II 軟件頁 面中。
0.3 編寫仿真文件
 我們在 Quartus II 軟件頁面的菜單欄中,我們找到【Processing】→【Start】→【Start TestBench Template Writer】按鈕并點擊,這時 Message 窗口中會顯示,如圖
ModelSim如何聯合Quarus自動仿真
我們可以從這條信息中知道,Quartus II 軟件自動給我們生成了一個 TestBench 模板,我們只需要在這個模板上稍作修改就能直接使用了。我們在工程目錄下找到 Verilog_First.vt 文件,我們可以用記事本打開進行修改,也可以使用 Quartus II 軟件打開它進行修改,這里我們建議還在 Quartus II 軟件中進行修改。我們在 Quartus II 軟件的菜單欄中找到【File】→【Open】按鈕并打開,在對話框中找到我們的 Verilog 文件,如圖
ModelSim如何聯合Quarus自動仿真
打開之后,如圖
ModelSim如何聯合Quarus自動仿真
在該圖中我們可以看到,Quartus II 軟件已經為我們完成了一些基本工作,包括端口部分的代碼和接口變量的聲明,我們要做的就是在這個模板里添加我們需要的測試代碼(也就是我們常說的激勵)。
為  了  讓讀者能夠更好的理解仿真,這里我們就簡單介紹一下 TestBench 源代碼:  代碼的第 1 行,表示仿真的單位時間為 1ps,精度為 1ps。  想要進行仿真首先要規定時間單位,我們建議大家最好在 Testbench 里面統一規定時間單位,不要在工程代碼里定義,因為不同的模塊如果時間單位不同可能會為仿真帶來一些問題,timescale 是 Verilog 語法中的不可綜合語法。  代碼的第 2 行就是我們熟悉的部分了,其中第 5 行至第 10 行是我們的數據類型定義,這里我們可以看到 reg eachvec 是一個多余的信號,沒有任何作用,我們也可以將它刪除,接下來我們再來看第 13 行至第 18 行,這一部分就是一個模塊調用,它將我們的 Verilog 模塊中的信號連接到我們的 TestBench 模塊中。  最后,我們再來看下第 20 行至第 32 行代碼,其中第 20 行至第 26 行是信號的初始化,第 28 行至第 31 行是時鐘信號的生成。  這里我們主要來講講#10000,#10000 表示的是延遲 10000ps(即 10ns),具體的延遲單位,還是要看我們的 timescale 是如何設置的。  至此,整個代碼都介紹完了。
0.4 配置仿真功能
編寫完了仿真文件,接下來我們需要在 Quartus II 軟件中配置仿真功能,我們在 Quartus II軟件界面的菜單欄找到【Assigement】→【Settings】按鈕并打開,在打開的頁面中,我們找到左側的 Simulation 點擊,出現如圖
ModelSim如何聯合Quarus自動仿真
我們選中“Compile Test bench”,然后單擊后面的【Test Benches】按鈕,則出現如圖 2.9所示的“Test Benches”窗口(也就是圖中上面的窗口),接著我們單擊【New】按鈕,則會出現如圖 所示的“New Test Bench Settings”窗口(也就是圖中下面的窗口)。  
ModelSim如何聯合Quarus自動仿真
在該頁面中,我們將 TestBench 模塊名輸入到“Test bench name”和 “Top level module in test bench”的編輯欄中。接著我們在“Test bench and simulation files”下拉列表框中添加仿真文件,如圖  所示,點擊【Open】即可。
ModelSim如何聯合Quarus自動仿真
 然后單擊【Add】 按鈕添加到最下面的列表中如圖
ModelSim如何聯合Quarus自動仿真
完成后我們單擊【OK】按鈕,便可看到如圖 2.12 所示的“Test benches”窗口的列表中出現了剛才添加的仿真文件相關信息,至此,我們仿真文件添加完成了,接著我們單擊【OK】按鈕,返回我們的 Quartus II 軟件界面。
ModelSim如何聯合Quarus自動仿真
0.5 開始功能仿真
萬事俱備只欠東風,經過上面這么多的操作步驟,我們終于完成了所有設置,接下來我們就可以進行仿真了,在開始仿真之前,我們這里有一點要需要注意,我們在 Quartus II 軟件中實現的功能是 LED 閃爍,它的間隔時間是 1s,如果我們想要仿真這個功能,那么我們仿真軟件運行時間最低就是 1s。這 1s 鐘在我們看來是很短很短的,不過在仿真軟件看來是很長很長的,我們的仿真軟件單位可是 ps。為了便于我們仿真,這里我們需要稍微改動一下 Verilog 代碼,我們需要將 parameter SET_TIME_1S = 27'd50_000_000;修改為 parameter SET_TIME_1S = 27'd50; 也就是將我們原來的 1s 鐘修改成了 1us。修改完畢后,我們在 Quartus II 軟件界面中的菜單欄中找到【Tools】→【Run Simulation Tool】→【RTL Simulation】按鈕并點擊,則會出現如圖 2.13 所示界面。
ModelSim如何聯合Quarus自動仿真
看到這里,也許有的朋友點擊【RTL Simulation】并沒有出現 Modelsim 仿真窗口界面,而是出現了如圖 2.14 所示界面。
ModelSim如何聯合Quarus自動仿真

出現這種錯誤主要是因為我們前面設置的 Modelsim 路徑不對造成的,如何解決這個問題呢?

我們嘗試將 ModelSim-Altera 路徑設置成了 C:\altera\13.1\modelsim_ase\win32aloem\。這和我們剛剛設置不同的是,我們在路徑的最后面添加了一個反斜杠。這時,我們再點擊【RTL Simulation】按鈕就會出現 Modelsim 仿真窗口界面了,這里我們需要說明的是:有的電腦不添加反斜杠是可以運行的,有的電腦不添加反斜杠是不能運行。在 Modelsim 軟件啟動過程中,我 們不需要任何操作,它會自動完成仿真,并給出我們所需要的波形,當波形圖出現之后,我們就可以查看波形來判斷設計功能是否正常了。

看完上述內容,你們掌握ModelSim如何聯合Quarus自動仿真的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

辽阳县| 方正县| 武鸣县| 玉溪市| 涪陵区| 正蓝旗| 晴隆县| 金坛市| 建始县| 南投县| 台安县| 临邑县| 富宁县| 昌吉市| 绩溪县| 汶上县| 镇平县| 武冈市| 治县。| 海丰县| 灵山县| 长葛市| 明溪县| 乌审旗| 澎湖县| 瓮安县| 汝阳县| 卓资县| 额敏县| 荥阳市| 邢台市| 清涧县| 高密市| 哈尔滨市| 城市| 策勒县| 上栗县| 迁安市| 万年县| 合江县| 馆陶县|