1. 程式人生 > >Modelsim的使用——復雜的仿真

Modelsim的使用——復雜的仿真

col 宋體 雙擊 1-1 就會 警告 color ... www.

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

  1、準備好各種源文件(機械操作)。

  2、修改modelsim工作路徑,創建modelsim工程文件(機械操作)。

  3、書寫modelsim腳本

  4、運行腳本,執行仿真

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

=====================================================================

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

技術分享技術分享

技術分享 技術分享

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

技術分享

=====================================================================

然後就開始仿真之旅:

1、準備好源文件

  這一步要用到的是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文件和測試腳本文件

技術分享

技術分享

2、修改modelsim工作路徑,創建modelsim工程文件

所以的源文件都準備好了之後,就開始創建工程文件了

①這裏創建工程的路徑跟簡單使用modelsim的操作差不多,不再詳述:關閉工程,改變modelsim工作路徑(工作路徑選到sim文件夾裏面),創建工程之後,彈出技術分享這個。

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

然後進行下面的操作(這些操作都是為了能夠得到仿真波形所設置的):

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

技術分享

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

技術分享

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

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

技術分享

3、書寫modelsim的tcl腳本

技術分享

技術分享

技術分享

上面的.do文件可以參考我的另一篇博文:http://www.cnblogs.com/IClearner/p/7273441.html,主要有三點:

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

  這一步主要就是添加源文件了,跟圖形化界面差不多,也可以用圖形化界面進行仿真IP核。(當文件相當多的時候,就建議用腳本了,這裏用圖形化還是比較方便的,畢竟只有四個文件,但是用圖形化的時候,要註意那些初始化文件的位置!!;這裏只是作為一個用腳本的示範)

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

技術分享

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

技術分享

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

技術分享

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

技術分享

Modelsim的使用——復雜的仿真