Modelsim的使用——複雜的仿真

  相對於簡單的仿真,複雜的仿真是指由多個文件、甚至調用了IP核、使用tcl腳本進行的仿真。其實仿真步驟跟圖形化的差很少,只不過每一步用腳本寫好,而後再在軟件裏面run一下,主要過程就是:html

  一、準備好各類源文件(機械操做)。測試

  二、修改modelsim工做路徑,建立modelsim工程文件(機械操做)。spa

  三、書寫modelsim腳本設計

  四、運行腳本,執行仿真3d

  上面的步驟中,最主要的就是第三步了,書寫腳本是很重要的。下面我將按照上面的步驟,聯合Altera公司(已經被Intel收購)的Quartus II 進行仿真一個IP核,這個IP核是ROM核,仿真出一個正弦波形。htm

=====================================================================blog

①爲了規範設計,我使用下面的文件管理結構:ip

 

        

 

②根據上面的管理目錄,建立文件夾get

 

 

=====================================================================軟件

而後就開始仿真之旅:

一、準備好源文件

  這一步要用到的是QII軟件、matlab軟件。

使用過ROM核的都知道,須要一個初始化的文件進行初始化,這裏的初始化文件使用matlab和QII生成。

(1)獲取ROM核的初始化文件。

  ①打開matlab以後,修改工做路徑:

 雙擊matlab選擇路徑:

 

 

 

  ②建立.m腳本文件,進行編寫產生初始化文件的腳本(如.mif文件):

建立:

編寫:

 

腳本文件不解釋了,本身好好看一下內容吧,具體能夠參考個人另外一篇博文:http://www.cnblogs.com/IClearner/p/7273366.html

保存:

,本身修更名字

  ③運行,產生.mif文件

 

獲得了.mif文件

 

 

 

(2)QII產生IP核文件

  ①在進行產生IP核文件中,先進行轉換.mif文件,也就是把.mif文件轉換成.hex文件,這是由於,初始化ROM的文件有兩種,也就是.mif文件和.hex文件。然而modelsim只能讀取.hex文件,但是.hex文件的格式沒有.mif文件那麼簡單,所以先產生.mif文件,再經過.hex文件進行轉換。

  拷貝.mif文件到quarturs_prj下面的ipcore_dir中:

 

  打開QII,打開.mif文件:

 

獲得:

 

另存爲.hex文件:

 

選擇成.hex格式,順便想改個名也是能夠的:

 

而後就獲得了.hex文件:

 

 

 

  ②建立工程,生成ROM IP核。

  建立工程忽略,直接記錄生成ROM的過程(其實也能夠直接生成IP核而不建立工程):

先選verilog文件,再點...進行設置文件名/修改IP核。

 

 

這裏就要注意了(注意上圖),這裏有altera_mf文件,這個就是進行仿真ROM核時須要的仿真文件。

 

OK,ROM IP核就生成了:

 

  ③建立,設計.v文件和測試腳本文件

 

 

 

二、修改modelsim工做路徑,建立modelsim工程文件

因此的源文件都準備好了以後,就開始建立工程文件了

①這裏建立工程的路徑跟簡單使用modelsim的操做差很少,再也不詳述:關閉工程,改變modelsim工做路徑(工做路徑選到sim文件夾裏面),建立工程以後,彈出這個。

可是到這裏的時候就不同了:不添加任何的文件,直接關閉。

而後進行下面的操做(這些操做都是爲了可以獲得仿真波形所設置的):

②首先,根據仿真所要的庫,進行移植庫文件跟.hex文件到sim目錄中:

 

移植仿真須要的庫到sim中的altera_lib中:

 

注:仿真須要的庫若是不添加,或者modelsim讀取不到,就會有警告或者錯誤生成,到時候就須要根據提示信息進行修改;

仿真須要的庫能夠在IP核.v文件中查看,也能夠在設置IP核時查看,此外對於複雜的IP核,會有相應的tcl文件進行解釋,查看該tcl文件就能夠找到須要添加哪些庫了:

 

 

 

三、書寫modelsim的tcl腳本

 

上面的.do文件能夠參考個人另外一篇博文:http://www.cnblogs.com/IClearner/p/7273441.html,主要有三點:

  添加設計的仿真文件、添加庫文件、添加設計文件、添加IP核的.v文件

  這一步主要就是添加源文件了,跟圖形化界面差很少,也能夠用圖形化界面進行仿真IP核。(當文件至關多的時候,就建議用腳本了,這裏用圖形化仍是比較方便的,畢竟只有四個文件,可是用圖形化的時候,要注意那些初始化文件的位置!!;這裏只是做爲一個用腳本的示範)

 

四、在modelsim中進行運行.do文件

運行以後,沒有錯誤,就出現下面的波形了;

 

進一步用模擬的形式查看一下:

 

就看到了美美的正弦波了:

 

相關文章
相關標籤/搜索