專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

modelsim編譯庫問題

作者:kb129   來源:kb129   點(diǎn)擊數(shù):  更新時(shí)間:2014年06月08日   【字體:
   在做PCIE ip core仿真時(shí),安裝的modelsim se 10.0a在編譯xilinx的unisims 一直提示can't determine language of ...

由于一直在忙,都沒有空來解決,然后發(fā)現(xiàn)網(wǎng)上也有遇到這問題,但是似乎沒有解決方法,并且更多的提示是在于破解沒有破解好。后來自己琢磨,發(fā)現(xiàn)問題并不在modelsim的破解。

       這個(gè)問題是因?yàn)椋河?jì)算機(jī)一次選擇的verilog文件太多。

解決方案為:將庫uinsims文件夾中的verilog文件分批次編譯

下面是我的實(shí)例,xilinx庫為隨便ISE拷過來的unisims庫,第一個(gè)文件是AFIFO36_INTERNAL.v,最后一個(gè)文件是ZHOLD_DELAY.v,如果在編譯庫的時(shí)候,一次性選擇所有文件,編譯就會(huì)出現(xiàn)上圖的錯(cuò)誤。但是如果將unisims庫中文件分幾次編譯就不會(huì)出錯(cuò),感覺原因是由于計(jì)算機(jī)配置比較低造成的。

編譯后的結(jié)果是:

這樣編譯就沒有問題,但是此時(shí)庫并不能使用,點(diǎn)擊modelsim的library會(huì)發(fā)現(xiàn)unisims后面的顯示和其他的不一樣。

對(duì)于這種情況,就需要修改modelsim安裝路徑下的modelsim.ini文件。去掉modelsim.ini文件的只讀屬性,將modelsim.ini文件默認(rèn)情況下的:

修改為:

其中=后面的為在modelsim中新建庫unisims的存放路徑。保存后,再次打開modelsim。

出現(xiàn)這樣的結(jié)果,就表明庫已經(jīng)編譯成功。

上面編譯庫的方法,對(duì)于altera的庫非常適用,但是對(duì)于xilinx的庫就有些不太方便。在xilinx的ISE或是vivado中都可以編譯庫,到時(shí)候只要將編譯好的文件夾的路徑在modelsim.ini文件中修改。

      例如,由于最近需要仿真PCIE ip core,但是在使用vivado調(diào)用modelsim時(shí)候,老是提示庫有問題。所以一直在糾結(jié)怎么編譯最完整的庫,后來發(fā)現(xiàn)不是庫的原因,是modelsim版本太低,如果使用vivado編譯庫,必須使用10.1以上的modelsim,上次用的10.0a都不可以。

      如果計(jì)算機(jī)中沒有安裝xilinx的ISE,vivado,或是在使用ISE或vivado編譯庫失敗,如果需要仿真xilinx的ip core的時(shí)候,此時(shí)由于沒有辦法自己生成編譯好的庫文件夾。此時(shí)有兩個(gè)辦法,1.在ISE安裝目錄下找到庫文件(都是些verilog或VHDL文件),然后按照上面的方法編譯。2.直接將其他電腦上編譯好的庫文件夾拷貝到自己的電腦里面。個(gè)人推薦方法2,測(cè)試發(fā)現(xiàn)即使是用64位電腦編譯的庫文件夾,放到32位的電腦中依舊可以使用。

例如:在其他電腦中編譯好了xilinx的庫文件,并放在文件夾compile_simlib中,如圖

如何區(qū)別這是否是編譯好的,主要是打開文件夾,如果文件夾里面有很多@,那么就是編譯好的庫,如果是verilog/vhdl文件,則是沒有編譯的,如圖:

可以看出我只是將文件夾compile_simlib放在D盤下,然后修改文件modelsim.ini,修改為:

然后打開modelsim,點(diǎn)擊library,發(fā)現(xiàn)多了上面的庫文件了,如圖:


這樣就可以不安裝ISE或是vivado,就可以使用modelsim來仿真xilinx的IP core了

關(guān)閉窗口

相關(guān)文章