# 如何使用Modelsim進行數位電路模擬 ###### tags:`modelsim` `verilog` ###### 撰寫時間 : 2021/08/24 ## 前言 僅為測試小電路區塊方便用,Windows環境`makefile`、`shell script`、`unix-like`指令、`macro`展開都沒辦法用或是比較麻煩。實際還是要用學校工作站`linux`環境下`NC Verilog`、`Verdi`、`design vision`等一系列EDA tools進行模擬、合成。 ## 步驟 1. 用文字編輯器(`vim`, `vscode`)寫好整個電路架構與要用測試的testbench`*.v`(與golden data`*.dat`),放在同一目錄。  2. 打開Windows 10下的`Modelsim v10.1c` 3. `file`->`change Directory`->選擇工作目錄,等同於指令`cd`到工作目錄,於下方`Transcript`視窗也可觀察到是一樣的,差別只是一個用`GUI`,一個用`CLI`而已。  4. 創建`work`目錄,此目錄將存放`Modelsim`模擬時產生的部分檔案。 ``` vlib work ``` 5. 編譯所有`*.v`檔 ``` vlog *.v ```  6. 選擇`work`目錄下的`testbench`並**按右鍵**,選擇`Simulate Without Optimatization`  7. 將想要觀察的波型`drag and drop`到`wave`面板  - 如果沒有`wave`面板或不小心關閉,到上方工具列`view`->`New Window`->`Wave`開啟。 8. 跑一個比`testbench`中開始到`$finish`更久時間的秒數 ``` run 10000000000ns ``` 9. 在執行到`$finish`後,`Modelsim`會跳出視窗詢問是否結束,選擇結束會如同`$finish`一樣關閉程式,因此選擇`No`,以便後續觀察波形。  10. 按快捷鍵`F`可全畫面的波型顯示,而對任意波型**按右鍵**->`Radix`可以改變進位制。  11. 剛才的`Transcript`視窗產生的所有文字可於目錄`C:\modeltech64_10.1c\examples`找到,程式每執行一次就會自動覆蓋掉前一個`Transcript`檔案。  12. 最終產生預期的灰階圖、work資料夾與`*.wlf`,`*.wlf`為波型檔,下次可以直接打開`Modelsim`->`file`->`open`->選擇該檔案,就可看到之前產生的波型圖。  > 僅列舉一小部分自己常用的,更多指令與功能,請見Mentor Graphics官方PDF文檔。 - [ModelSim® User’s Manual Software Version 10.1c](https://www.microsemi.com/document-portal/doc_view/131619-modelsim-user)
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.