使用ModelSim與Quartus結合進行時序模擬
檢視Quartus 6.0的幫助檔案,試驗了一下可以進行時序模擬,以前看到過一些相關文章,但都沒有成功,關鍵的一個問題就是沒有編譯庫檔案,總結步驟如下(本人用Verilog,括號中給出了用VHDL時的相關提示:
[注]Quartus版本為 6.0,ModelSim為 6.2a,其它版本可能稍有不同
方法一、根據Quartus幫助檔案改寫
1、File > Change Directory
改變目錄,選擇Quartus生成的時序模擬檔案*.vo(*.vho for VHDL)的目錄,一般為Project/Simulate/ModelSim,在該檔案中還生成了其它如波形檔案等輸出檔案,用於ModelSim的時序模擬
[注]選擇完目錄後會提示要關閉當前工程,確定即可
2、File > New > library ---> A new library and a logic mapping to it
Library Name : any_library_name (填寫任意即可)
Library Physical Name: work (即實際的庫名)
即建立一個any_library_name的虛擬庫,對映到work庫,即work目錄,用於儲存模擬中編譯時生成的資料
3、Compile > Compile
編譯相相關檔案。開啟編譯對話方塊,分別選擇以下檔案進行編譯
1) Altera的相關庫檔案,以MaxII器件為例,選擇Quartus/eda/sim_lib/maxII_atoms.v( .vhd for VHDL),選擇Compile。可以檢視控制檯的提示資訊,已經開始編譯該檔案,work目錄中也列出了該檔案中包含的各模組。或者直接雙擊該檔案即開始編譯。
2)網表文件*.vo檔案,即由Quartus生成的工程的網表文件,編譯方法同上
3)測試程式 (testbench) *.v( .vhd for VHDL)。
都編譯完後選擇Done命令,退出編譯視窗
4、開始時序模擬
Simulate > Start Simulation -->
選擇Enable Optimization --> Optimization Options...
選擇Apply Full visibility to all modules( Full Debug Mode) 或Customized visibility然後選擇要檢視的模組,檢視的模組越少模擬越快
[注]ModelSim 6.2a開始預設的選項是不檢視任何模組,跟以前的版本不大一樣
5、新增檢視的訊號到WAVE視窗,然後開始模擬即可,可以直接拖拽模擬訊號的圖示直接到WAVE視窗即可
方法二、
與功能模擬步驟相似。根據方法一總結出來的。
1、執行ModelSim並建立工程,工程目錄選在Quartus生成網表文件*.vo(.vho for VHDL)的目錄,因為ModelSIm還會用到生成的其它檔案,這與方法一更改目錄的做法目的一樣。
2、新增檔案到工程,包括
1) Quartus生成的網表文件*.vo(.vho for VHDL)
2) 庫檔案,對應於選用的晶片型別,以Max II為例,選擇$Quartus/eda/sim_lib/maxII_atoms.v(.vho for VHDL),若選用其它型別的晶片,選相應的檔案即可,均在sim_lib目錄下,其中$Quartus表示Quartus的安裝目錄。
3) 測試檔案(testbench)test.v ( .vhd for VHDL)
3、Compile>Compile All
此時可以看到Library->work下有很多Quartus的庫檔案中的模組
4、Simulate>Start Simulation開始模擬,選擇test.v
其它設定項與方法一相同,不再贅述。