其實這個部分是請AI教我的,不完全是自己的創作,而且期間很多的error,要不是靠AI,這個部分我今天應該是弄不起來。
首先,要注意的是,目前我有遇到一個問題還無法解決,因為跟AI試了很多次都無法成功,因此這個部分暫時也不糾結了,若有人懂的再麻煩留言給我讓我了解一下。
這個動作盡量避免要模擬的.V檔中有Quartus建立的IP,我本來用IP產生了一個PLL的clk,無奈怎麼樣都不會動,所以退而求其次模擬專案內的個別.v檔,其實也是不錯的。
其實這個方式模擬的好處是很省時間,雖然從Quartus編輯,不過不用從那邊重新做compiler,只要存檔就行了,在Modelsim那邊會有類似的檢查機制,如果寫錯了也可以從Transcript視窗中看到。

其實整個流程大致如左介紹,第一步就是指定.v檔的路徑,之後的指令就是實現該步驟流程。
其實那那些指令有點麻煩,怕麻煩的可以像我一樣先寫在記事本中,這樣直接在Transcript視窗複製貼上整段就會直接跑出最後的波型,不過你要確保中間的過程是沒錯誤的,不然你還是要往上檢查錯誤訊息。


開啟Modelsim的第一件事就是指定我們.v檔的路徑。

這兩個指令簡單來說就是建立work=Modelsim temp document(放編譯後的電路),並建立一些連結,點單來說指定資料夾和這兩個指令是必須的。
vlib work
vmap work work
把Verilog編譯進work library
vlog led_state_machine.v
vlog led_state_machine_tb.v
如果你的.v檔很多,其實也可以用*.v代替,Modelim會一次全部處理
vlog D:/FPGA_USB/project/hsc_ex1_state_machine/source_code/*.v

啟動模擬器,載入「top module」
vsim work.led_state_machine_tb
把所有訊號加到波形視窗,讓時間開始流動 2000ns
add wave *
run 2000ns
最後就可以看到跑出來的波形














