Lattice Diamond與modelsim聯合仿真環境設置


http://blog.csdn.net/pianbing/article/details/71565034 

也可參考這里:http://www.cnblogs.com/fhyfhy/p/5557855.html

lattice 與 modelsim 仿真 筆記

Lattice FPGA開發環境在仿真時可以使用modelsim,相比於Diamond自帶的Active-HDL仿真工具,具有更好的交互性以及更便捷的可操作性。與其他FPGA的開發環境一樣,需要設置聯合仿真環境。

本文使用的環境為:Diamond 3.9 modelsim se 10.0c。具體安裝步驟請參考相關文檔,modelsim在安裝后需要配置好環境變量。 
其中modelsim se 10.0c版本相對較低,請參考本文的設計者選擇更高版本。

主要分成以下幾個步驟:

  • 建立仿真庫
  • 編譯庫
  • 建立Diamond關聯modelsim
  • 仿真

step1 . 建立仿真庫 
在使用modelsim的時候,經常需要建立不同廠商的仿真庫,例如Xilinx,Altera,Lattice等,推薦在modelsim安裝根目錄下新建對應廠商仿真庫文件夾。以Lattice為例,在X:\modeltech_10.0c下建立文件夾Lattice.

step2 . 去掉modelsim安裝根目錄下modelsim.ini的只讀屬性,以方便在編譯庫的時候自動添加仿真庫信息。

step3 . 設置仿真庫存放的路徑。打開modelsim,File >> change directory,選擇在第1步新建的文件夾“Lattice”,如下圖所示: 
圖1

step4 . 根據實際開發的Lattice Device的Family來確定需要編譯的庫,然后在modelsim中輸入對應的庫的名稱。例如在本文中使用的器件為ECP3系列器件,在modelsim中選擇File >> New >> Library中的Library Name中輸入ECP3 
圖2 
輸入完成后,ECP3庫變成如下形態(empty) 
圖3

step5 . 選中空庫(ECP3(empty)),在modelsim的菜單欄中選擇Compile >> Compile,出現如下對話框,注意在Library中選擇剛才新建的庫(ECP3),在“查找范圍”中,選擇Lattice對應Family的器件需要編譯的文件,在編譯的時候一般需要編譯兩個文件夾下的子文件,在本例中一個為ecp3文件夾下的所有文件,另一個為pmi文件夾下的所有文件。在編譯以前,一定要確認需要仿真的頂層文件是verilog還是VHDL。如果是verilog文件,那么需要編譯的庫文件的路徑為:X:\lscc\diamond\3.9\cae_library\simulation\verilog 
若頂層仿真文件為VHDL,那么路徑為:C:\lscc\diamond\3.9\cae_library\simulation\vhdl 
在這兩個文件夾下,分別有ecp3和pmi文件。pmi文件夾中的文件,主要為一些ip core的仿真庫。 
另外,如果選擇其他family的device,在編譯的時候,最好即編譯family仿真庫文件,也編譯pmi文件。例如如果選擇的時machxo2 family device,在編譯的時候,既編譯上面兩個路徑下的machxo2,也需要編譯pmi。以防止出現不可預測的錯誤。 
圖4

step6 . 選擇ecp3下的所有文件,點擊Compile. 
圖5 
查看modelsim最下方的Transcript信息中,當編譯無錯后,選擇編譯pmi中的所有文件 
圖6 
編譯完成,在Transcript中沒有錯誤出現后。點擊Done,退出Modelsim.

step7 . 打開modelsim.ini文件(推薦使用UE打開),在[Library]部分的最后,[vcom]的上方,會發現有一行:ECP3 = ECP3,修改這一行為:ECP3 = X:\modeltech_10.0c\Lattice\ECP3,其功能為指定仿真庫的路徑。修改完成后保存退出,並添加modelsim.ini的只讀屬性,防止錯誤修改。

打開modelsim后,查看仿真庫的狀態,如下狀態為正常。 
圖7

至此,modelsim部分的設置就已經全部完成。接下來需要設置Diamond。

step8 . 在Diamond中選擇 Tools > Options > Environment > Directories,在Simulation的Modelsim/QuestaSim選擇modelsim的安裝路徑:X:/modeltech_10.0c/win32

step9 . Diamond中的File List中的Input Files,右鍵選擇Add > New File > Verilog Files.在新建的verilog中編寫testbench. 在我的工程中,需要仿真的文件名稱為start_up.v,所以新建的testbench文件名稱取為start_up_tb.v.

step10 . 在Diamond的菜單欄中選擇Tools > Simulation Wizard. 輸入仿真工程名以及路徑,選擇仿真工具Modelsim.在點擊Finish后會自動啟動modelsim,並跳轉到project欄,出現如下畫面: 
圖8 
編譯全部文件,在這個過程中如果出錯,請修改。 
在modelsim的菜單欄中選擇Simulate > Start Simulate 
在Libraries中選擇需要添加的仿真庫,這個仿真庫必須與所選用的器件是同一Family的,並點擊OK 
圖9

然后再點擊Design選項卡,選擇work中的start_up_tb.v文件,點擊OK,開始仿真。 
圖10

step11 . 需要查看的信號添加到wave窗口。退出仿真工程的時候,可以在Transcript中輸入quit -sim退出。

注意,在編寫testbench的時候需要添加一下兩段代碼:

• GSR GSR_INST(.GSR(1'b1)); • PUR PUR_INST(.PUR(1'b1));
  • 1
  • 2

這是因為有些LATTICE 的 FIFO_DC IP核這個IP核的子模塊中使用了DIAMOND的全局GSR_INST 變量 ,其實還有一個PUR_INST變量。這時由於仿真不具有這個全局變量 我們就在頂層文件的模塊中添加上面兩段代碼。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM