標籤:
關於xilinx ise10.1與modelsim模擬庫編譯
(2011-08-21 01:00:39)
轉載▼
標籤:
雜談
分類: FPGA
首先介紹一下Xilinx幾個主要的模擬庫(路徑:D:\Xilinx\11.1\ISE\verilog\src\)
1. Unsim檔案夾:Library of Unified component simulation models。僅用來做功能模擬,包括了Xilinx公司全部的標準元件。每個元件使用一個獨立的檔案,這樣是為了方便一些特殊的編譯嚮導指令,如`uselib等。
2. XilinxCoreLib: CORE Generator HDL Library model。僅用來做功能模擬,包括了使用Xilinx Core Generator工具產生的IP模擬模型,例如FIFO等。
3. SIMPRIM: Library of generic simulation primitives。用來做時序模擬或者門級功能模擬。
4. SmartModel:用來類比非常複雜的一些FPGA設計,其中用到了Power PC或者RocketIO等。
我們一般只用其中的三個庫:simprims,unisims,xilinxcorelib。
安裝ISE10.1, 沒什麼需要注意的。(有問題可以留言)
安裝Modelsim,裝好後需要做的事:
1、在C盤中建一個叫flexlm的檔案夾,將keygen中的LICENSE.txt的檔案放到上述檔案夾中(將原來的刪了重新產生)
2、右鍵我的電腦--屬性--環境變數,建立環境變數,名LM_LICENSE_FILE,值C:/flexlm/LICENSE.TXT;
3、在你的安裝路徑中將一個叫modelsim.ini檔案的屬性的“唯讀”去掉。
方法一:
1、在modelsim安裝目錄下建立一個檔案夾(如xilinx_libs),用來放xilinx編譯的庫檔案,供modelsim調用的。
2、編譯xilinx庫檔案:
運行—cmd:調出“命令提示字元”,在DOS環境輸入compxlib按斷行符號,或者C:\Xilinx\10.1\ISE\bin\nt\compxlib.exe,開啟compxlib.exe,一路預設確定即可...,會自動彈出可視化介面。一步一步預設即可,到需要選擇編譯的庫所要到達的檔案夾(output directory for compiled libraries)的時候選擇剛才建立的檔案夾。做之前確定modelsim.ini檔案的屬性的“唯讀”已去掉。
方法二:
如果你在DOS環境下輸入compxlib不能自動跳出編譯的介面,可以嘗試下面的方法:
1在DOS環境輸入“compxlib -s mti_se -f all -l all -o C:\modeltech_6.2b\xilinx_libs -p C:\Modeltech_6.2b\win32
其中第一個路徑是在modelsim安裝路徑中自己建立的檔案夾xilinx_libs(也可以是其他名字),用來放編譯後的xilinx庫檔案。第二個路徑就是在安裝路徑中的min32檔案夾所在路徑。
2 注意:如果在輸入上述命令後出現錯誤(compxlib不是內部或外部命令)時,可以設定一下路徑“set path=D:\Xilinx\10.1\ISE\bin\nt”其中的路徑可在xilinx的安裝路徑中找到
3、如果編譯完成後,開啟modelsim發現左側邊欄裡庫沒有增加,但是你之前用來放庫檔案的檔案夾xilinx_libs中已有庫,就需要手動改變modelsim.ini檔案,添加已編譯好的庫。如下:
[Library]
std = $MODEL_TECH/../std
ieee = $MODEL_TECH/../ieee
verilog = $MODEL_TECH/../verilog
vital2000 = $MODEL_TECH/../vital2000
std_developerskit = $MODEL_TECH/../std_developerskit
synopsys = $MODEL_TECH/../synopsys
modelsim_lib = $MODEL_TECH/../modelsim_lib
sv_std = $MODEL_TECH/../sv_std
mtiAvm = $MODEL_TECH/../avm
mtiOvm = $MODEL_TECH/../ovm-2.0.1
mtiUPF = $MODEL_TECH/../upf_lib
mtiPA = $MODEL_TECH/../pa_lib
UNISIMS_VER = D:\modeltech_6.5b\xilinx_libs\unisims_ver
SIMPRIMS_VER =D:\modeltech_6.5b\xilinx_libs\simprims_ver
XILINXCORELIB_VER = D:\modeltech_6.5b\xilinx_libs\xilinxcorelib_ver
CPLD_VER = D:\modeltech_6.5b\xilinx_libs\cpld_ver
UNI9000_VER = D:\modeltech_6.5b\xilinx_libs\uni9000_ver
UNISIM = D:\modeltech_6.5b\xilinx_libs\unisim
SIMPRIM = D:\modeltech_6.5b\xilinx_libs\simprim
XILINXCORELIB = D:\modeltech_6.5b\xilinx_libs\xilinxcorelib
CPLD = D:\modeltech_6.5b\xilinx_libs\cpld
EDK =D:\modeltech_6.5b\xilinx_libs\edk
SECUREIP=D:\modeltech_6.5b\xilinx_libs\secureip
UNIMACRO=D:\modeltech_6.5b\xilinx_libs\unimacro
UNIMACRO_VER=D:\modeltech_6.5b\xilinx_libs\unimacro_ver
前面幾行是其中本來有的,後面的幾行是我自己手動加進去的
方法三:
所以下面主要介紹直接利用Modelsim編譯Xilinx庫,並進行模擬的流程。
Step1:在Modelsim的安裝路徑下建立一個檔案夾,用來儲存編譯後的庫檔案。
Step2:開啟Modelsim,更改路徑為xilinx_lib
Step3:建立一個庫,命名為xilinx_unisims,用來存放unisims庫編譯後的檔案。
Step4:將unisims庫檔案編譯到xilinx_unisims庫中。選擇Compile
在Library選擇剛建立的xilinx_unsims庫,尋找範圍為D:\Xilinx\11.1\ISE\verilog\src\unisims,然後全選所有檔案,點擊右下角Compile進行編譯
編譯完成後可以看到unisims庫的檔案都被編譯到xilinx_unsims庫中去了。
Step5:按照Step4的方法建立xilinx_corelib和xilinx_simprims兩個庫,分別將XilinxCoreLib和simprims檔案夾的檔案編譯到這兩個庫中去。編譯完成後可以看到Library中多出了剛才建立的三個庫。
Step6:在安裝目錄下找到modelsim.ini檔案,關掉它的唯讀屬性,並添加以下三個語句,將這三個庫添加到預設庫檔案中去。
添加完成後,儲存,並把modelsim.ini改為唯讀。
這樣以後再次開啟Modelsim以後就可以看到Library中多出了剛才建立的三個庫。
關於xilinx ise10.1與modelsim模擬庫編譯