相信很多人會遇到過這個問題,不知如何讓ISE調用Modelsim進行仿真。我也迷糊了不少時間,查查找找,終於弄明白了,所以有了本文,和大家分享一下。我盡量講得詳細點兒,多多上圖。
我的環境:Windows 7 64位,Xilinx ISE Design Suite 13.4(D:\Xilinx\13.4),ModelsimSE-64 10.1a(D:\modeltech64_10.1a, 哈,也是64位的)。不過32位的和64位的設置幾乎沒有什么區別。先安裝好ISE和Modelsim, 網上看過一些文章總說先裝ISE再裝Modelsim,不過我整過一陣,其實二者的順序是無關緊要的。安裝過程不在本文的討論范圍內,就不多說了,不過一定要注意版本要合適,Modelsim的版本不要太低,這個可以自己到網上查一查,還有非常重要的一點是安裝路徑不能有中文或空格。
由於我裝的Modelsim SE是通用版的,只自帶了少許的仿真庫(Simulation Library),所以還要編譯一下Xilinx的仿真庫。只有XE才自帶Xilinx的仿真庫,如果裝的是XE版便不必編譯仿真庫了。編譯庫可以用ISE帶界面的工具,也可以用命令行下的,前者方便,先講前者。打開編譯庫工具“Simulation Library Compilation Wizard”:“開始—所有程序—Xilinx ISE Design Suite 13.4(版本不同就不同)—ISE Design Tools—64-bit Tools(32位的選32-bit Tools)—Simulation Library Compilation Wizard”。注意,64位系統中默認安裝了64位和32位的ISE,如果你想用32位的ISE,那你就得選32位的編譯庫工具,不能混着用的,而且Modelsim也得裝上32位的版本,所以我建議64位系統的就用64位的ISE,而32位系統的沒得選,只能用32位的。如圖01-1(64位)和圖01-2(32位)所示。
圖01-1
圖01-2
打開工具之后,在“Select Simulator”下面選中你所裝好的Modelsim版本,我這兒選“Modelsim SE”,在“Simulator Executable Location”下面填入Modelsim.exe的所在的文件夾,點“Browse…”按鈕添加也行,我這兒是“D:\modeltech64_10.1a\win64”(不含雙引號,下同,除非有特別的說明),如圖02,然后Next。
圖02
之后是選擇需要編譯的語言,選“Both VHDL and Verilog”,一般兩種都要用,如圖03,然后Next。
圖03
接下來是選擇設備,默認是全選,如果有一些你實在用不上就不選吧,這樣可以省點時間和硬盤空間,全選時挺大條的,如圖04,還是Next。
圖04
下一步默認就行,全選上,下面的兩行東東留空即可,那是添加額外庫的,第一行是路徑,第二行是命令參數,無視之。如圖05,Next。
圖05
這一步比較關鍵,在“Output directory for compiled libraries”下面填入輸出已編譯庫的路徑,默認也行。個人建議新建一個單獨的文件夾,好管理,只要版本一樣的,下次直接拿來用,重裝也不怕。不過文件夾的名字和整個路徑中絕對不能有中文或空格,切記、切記!!!我這兒是“D:\modeltech64_10.1a\Xilinx_lib”。其他的選項默認便可,之后點“Launch Compiled Process”,如圖06。之后就開始編譯了,如圖07。其實這一頁是很有用處的,詳情請點下面的那個“More Info”按鍵,不過幫助是英文的。
圖06
圖07
等待……編譯完后就會出現一些編譯日志,圖08,Next,圖09,Finish。只要沒有Err就成,Warn無視。若有Err,就回顧下版本對不對,路徑有沒有中文或空格。
圖08
圖09
可能舊點兒的ISE版本沒有帶窗口化的編譯工具,所以下面再說說命令行下編譯仿真庫的方法。打開命令行,最好以管理員的身份運行,“開始—所有程序—附件—命令提示符—點右鍵—以管理員身份運行”,在里面輸入“set path=D:\Xilinx\13.4\ISE_DS\ISE\bin\nt64;D:\modeltech64_10.1a\win64”(還是不要雙引號),32位的輸入“set path=D:\Xilinx\13.4\ISE_DS\ISE\bin\nt;D:\modeltech32_10.1a\win32”,然后敲回車鍵,這一步是可選的,為了防止可能的問題還是要吧。這里面都是路徑,按自己的安裝目錄對應來輸入就對了。然后再輸入“compxlib -s mti_se -l all -arch all -liball -w -exclude_superseded -dir D:\modeltech64_10.1a\Xilinx_lib”,再次回車就開始編譯了,漫長等待。和前面編譯的內容是一樣的。如圖09-1、圖09-2和圖09-3。
圖09-1
圖09-2
圖09-3
下面設置ISE和Modelsim的關聯。在“D:\Xilinx\13.4\ISE_DS\ISE”文件夾中找到“modelsim.ini”,“D:\Xilinx\13.4”這個是你的ISE安裝目錄,后半路徑是一樣的,實在不行就進入安裝目錄然后搜索“modelsim.ini”,如圖10和圖11。
圖10
圖11
打開“modelsim.ini”,用記事本打開時不要用自動換行功能,菜單中“格式—自動換行”把勾去掉。個人不建議用記事本,寫字板那就更不行了,有的文件用寫字板改了會出現問題,搞編程類的總得有個好點兒的文本編輯工具吧,我用的是EmEditor,到網上搜一下吧,有不少呢。在第九行左右(可能是)找到“[Library]”,下面一行的“others = $MODEL_TECH/../modelsim.ini”和行的開頭的分號(;)的全部都無視。那些行開頭沒有分號的,格式一般是“X···X = 路徑”,一直到“[vcom]”之上的都要,選的仿真庫多時可有好長的一段,全部復制。見圖12、圖13和圖14。
圖12
圖13
圖14
然后在Modelsim的安裝目錄下,我這兒是“D:\modeltech64_10.1a”,找到“modelsim.ini”,名字一樣。先去換個文本編輯工具吧,用記事本打開它會是亂糟糟的一片,沒法改。打開后,同樣是找到“[Library]”,在它的下面粘貼上剛剛復制的那一大段東西,注意,行開頭不要有分號(;),而且人家原有的就別動它,別刪掉了。只要在“[Library]”和“[vcom]”之間粘貼就行,然后保存。如圖15、圖16和圖17。
圖15
圖16
圖17
打開ISE,“開始—所有程序—Xilinx ISE Design Suite 13.4(版本不同就不同)—ISE Design Tools—64-bit Project Navigator(32位的就開32-bit Project Navigator)”,圖18。
圖18
然后在ISE的菜單上“Edit—Preferences…”調出Preferences設置窗口,在左邊的“Category”下選中“ISE General—Integrated Tools”。在Integrated Tools項設置中,右邊的“Model Tech Simulator:”下面填入Modelsim.exe的文件路徑,點旁邊的“..”按鍵選中Modelsim.exe也行,我這兒是“D:\modeltech64_10.1a\win64\modelsim.exe”(不要雙引號)。32位的可能是“D:\modeltech32_10.1a\win32\modelsim.exe”。如圖19和圖20。
圖19
圖20
到現在已經把家伙准備好了,接下來就是使用它了。新建一個工程,圖21,這步不多說,Next。
圖21
接下來這一步在“Simulator”一項選“Modelsim-SE Mixed”,“Mixed”支持兩語言,“SE”是版本,選你自己對應的就成,其它項不討論,如圖22,Next,Finish。忘了選或想重新選的看圖23。
圖22
圖23
新建你的VHDL或Verilog文件,這個不多說。如果是VHDL文件,則要打開兩個庫。在菜單上“Edit—Preferences…”調出Preferences設置窗口,選中“Category”下面的“ISE Text Editor”,之后在右邊“ISE Text Editor”設置中下面的那個大白框里有四行代碼,把后面兩行,“use IEEE.STD_LOGIC_ARITH.ALL;”和“use IEEE.STD_LOGIC_UNSIGNED.ALL;”復制一下,然后粘貼在你的VHDL文件的庫聲明中,也就是打開這些庫。如圖24、圖25和圖26。
圖24
圖25
圖26
完成之后,切換到仿真模式,就是點工程上面的“Simulation”,可能不同版本會不一樣,ISE9.1i 是在“Source for”的下拉菜單中選擇Behavioral simulation,不過意思明白就行。建立Test Bench文件,若是VHDL的,也按上面說的處理一下,就是把那兩個庫聲明一下。在“Hierarchy”框選中Test Bench文件,在下面的那個框中點“Modelsim Simulator”前的加號。展開得到“Simulate Behavioral Model”,在它上面點右鍵,選“Process Properties…”,如圖27。這里如果直接選“Run”可能會出現如圖28的警告,如果不出現警告而且能調用Modelsim仿真,那恭喜你成功了,不然就接着看吧。
圖27
圖28
有圖28警告時,如果前面的設置沒問題,直接點“No”就可以用Modelsim仿真了。為了搞定這個警告,咱們接着整。把"D:\modeltech64_10.1a\modelsim.ini"復制到你所建的工程目錄下也能搞定這個警告,不過這樣太麻煩,每次都得復制,還是往下看吧。選“Process Properties…”后彈出Process Properties設置窗口,在右邊的“Compiled Library Directory”后面填入之前編譯庫時設置的已編譯庫的路徑,點旁邊的“…”按鈕來選定也行。如果編譯庫時使默認的路徑,那這里就不用改了,不過得把下面的“Ignore Pro-Compiled Library Warning Check”給勾上,不然也可能有警告,反正我用默認路徑時就是有警告,不知道為什么。其實只要你前面設置的正確了,這里直接把“Ignore Pro-Compiled Library Warning Check”給勾上,路徑都不設也是可以的,搞定后點“Ok”,如圖29。不過,每次新建一個工程時,這個窗口的設置都會變為默認設置,又得重設一次。我找了不少地方,查了幫助文檔也沒發現哪里可以修改這些默認值的。如果能改,那么下次新建工程時都變成我們自己的設置,就不用重設一遍了。如果有哪位大蝦知道,希望可以告訴偶一聲,留個言也成,呵呵。
圖29
在“Simulate Behavioral Model”上點右鍵,選“Run”就可以調用Modelsim進行仿真了,如圖30。另外提一點,在ISE上也可以編譯庫的。在仿真模式中,在“Hierarchy”框中選中FPGA名,我這兒是“xc7a8-3csg324”(下面就是仿真文件)。然后在下面的框中點“Design Utilities”前面加號。展開后得到“Compile HDL Simulation Libraries”,在其上點右鍵,選“Run”,這樣就會編譯你的工程中所需的仿真庫了,如圖31。不過,這樣的話每次都得編譯一次,工程大的話那可老耗時間了,所以我們還是預先編譯好吧,省時間。……其實Modelsim也可以編譯仿真庫,不過在這兒就不多說了,網上也有很多文章說到的,只是我覺得用ISE自帶的工具更方便。
圖30
圖31
好了,所有的都搞定了,可以好好體驗了。以上有什么不對的地方還望指正。我們也可以互相探討探討,我的QQ:503123346。