日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Modelsim基础使用一

發布時間:2024/1/1 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Modelsim基础使用一 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Modelsim使用基礎1

    • 軟件界面:
    • 仿真使用:
  • 使用GUI進行仿真
    • 1.GUI建立工程Project
      • 1.1建工程操作
      • 1.2填寫工程相關信息
      • 1.3添加源文件
    • 2.編譯
      • 2.1界面認識
      • 2.2仿真
        • 2.2.1 無ip的仿真:
        • 2.2.2有ip的仿真
      • 2.3查看波形
    • 3.仿真
      • 3.1界面認識
      • 3.2運行仿真
    • 4仿真數據保存
      • 4.1 Wave信號列表保存
      • 4.2波形數據保存

注意,不建議使用Modelsim進行代碼編輯!易亂碼。

軟件界面:

下圖是基本界面,左邊是庫和工程;右邊是Transcript用于顯示信息及輸入命令。其他界面在使用到相應功能時會自動出現,如Memory List、Wave等,當然也可以從菜單欄的View中主動點出。
通過Transcript可以學習如何寫do腳本命令!

仿真使用:

大體上分成使用do腳本和使用gui界面兩種,但是實際上熟練之后就無所謂了,完全可以混合,怎么方便怎么來。

使用GUI進行仿真

1.GUI建立工程Project

1.1建工程操作

1.2填寫工程相關信息

包括工程名和工程保存路徑設置:

1.3添加源文件

一般情況下都是使用外部編輯器寫好.v文件,然后通過Add Existing File將文件添加入工程。

添加時逐文件夾添加,同個文件夾下的可多選一次性添加。

然后會自動切換到Project界面,并顯示剛剛添加的源文件,并且其狀態顯示為問號,該狀態指示:文件發生過更改還未編譯。

2.編譯

2.1界面認識

通過編譯按鈕啟動編譯,三種按鈕分別表示:編譯所選中的文件、編譯所有變化了的文件和編譯所有文件。

點擊編譯后,會顯示編譯情況,如果有明顯語法錯誤,Transcript窗口將顯示出來。

2.2仿真

在獲得了0 failed with no errors的編譯結果之后,才可以進行仿真。
仿真分成兩種:無ip和有ip

2.2.1 無ip的仿真:

  • 在Library窗口中找到work,點開work,找到工程的頂層文件;
  • 右鍵點擊該頂層文件,選擇Simulate without Optimization,不帶優化的仿真,此選項可保證所有信號都能保留。所謂頂層文件,其實也是相對的,不一定要使用整個Project的頂層,也可以直接對單個模塊啟動“Simulate”操作,從而對該模塊及被其例化的模塊進行仿真。

    此時,Transcript窗口能看到相應的指令:
  • 如果選擇Simulate(或直接雙擊左鍵),則是帶優化的仿真:

    點擊仿真之后,Modelsim的界面會“劇烈變化”,莫慌。
  • 2.2.2有ip的仿真

  • 在菜單欄點擊Simulate--Start Simulation...
  • 在Start Simulation窗口中,選擇Libraries頁,添加所需要的ip庫
  • 然后回到Design頁,選中要仿真的模塊(選中后在Design Units下能看到work.xxx,xxx為你所選中的模塊),注意不要啟用optimization(優化)。然后點擊ok運行。
  • 2.3查看波形

  • 點擊仿真并且沒有報錯的情況下,會出現sim窗口,窗口中按照例化邏輯會將所有被例化的模塊羅列出來。
  • 而在右側Objects窗口中則會展示sim窗口當前被選中的模塊中的信號;
  • 當在模塊上右鍵選擇Add Wave時,會出現Wave窗口,并將本模塊中所有reg和net類型的信號一齊添加到Wave窗口中;
  • 注意,可以分批次將多個模塊的信號添加到Wave中。同時也可以在右側的Objects窗口中在信號名稱上右鍵Add Wave。對于parameter類型的信號,必須使用此方法才能進行繪制。
  • Add Wave窗口就是繪制波形的窗口,只有將所需觀察的信號添加到該窗口中才能觀察信號變化。
  • 3.仿真

    3.1界面認識

  • Wave窗口中,有幾個重要部分包括:1仿真運行相關按鈕、2顯示區域相關按鈕、3Cursor相關按鈕、4Wave信號列表和5繪圖區。注意,并不是每次生成的Wave窗口的工具欄都有所有上述按鈕,如果沒有可從Modelsim主窗口中找到。
  • 通過在信號(可用ctrl、shift多選)上點擊每個信號都可以設置數據格式包括:進制格式和信號格式(數字或模擬)。對于如正弦波等波形數據可設置Format為Analog,此時信號顯示區域高度很大很多,可以展示波形變化。常用設置均已框出。
  • 信號列表中,信號可以拖動調整位置,也可以通過Ctrl+x剪切Ctrl+V粘貼進行對多個信號的同時調整順序,也可以delete刪除。
  • 3.2運行仿真

  • 仿真時長設置。具體數值根據頂層模塊的`timescale以及頂層模塊所生成的時鐘頻率來考慮,單位可直接填寫(如ps ns us ms)。注意,仿真時長不宜太長,不要使用s的單位。如果運行結束發現長度不夠可以再次點擊run來運行,會自動接著已有的時間繼續運行,并最終確定總時間需要多少。
  • 運行完,如果發現代碼需要更改,改好之后。如果只是更改了簡單的邏輯,沒有增減信號等情況,可直接重新“Compile”,然后點擊Restart和“Run”運行仿真。
  • 如果代碼邏輯有大的更改,則需要重新進行“Compile”、“Simulate”、“Add Wave”和“Run”四步操作。
  • 在波形界面上,右鍵可呼出顯示區域相應的操作的菜單,菜單右側為其快捷鍵(英文輸入模式下)。藍色線為高阻z,紅色為未知x,深綠色為單bit信號有數據的情況(0、1)、淺綠色為多bit總線有數據的情況。
  • 4仿真數據保存

    4.1 Wave信號列表保存

  • 點擊Wave窗口內任意未知,然后Crtl+s,呼出波形保存界面
  • 設置文件名,xxx.do,然后“ok”,在工程目錄下可找到該do文件。
  • do文件的使用則需要靠運行命令do xxx.do來進行,該命令可直接寫在Transcript窗口中,也可以寫在其他do腳本中來運行。
  • 該do文件中自動記錄了與Wave窗口設置相關的所有東西,包括信號名列表、信號順序、列表寬度、信號的進制與格式、顯示的時間區間等信息,可用編輯器打開觀察學習。
  • 4.2波形數據保存

  • 波形數據的保存需要通過設置Cursor來進行,且至少需要兩個Cursor。默認會有一個,須再建一個。
  • 然后通過拖動Cursor光標來調整位置,兩個Cursor之間的區域即為所選擇的要保存的區域。
  • 在Cursor所在行上,點擊右鍵
  • 點擊Filter Waveform...,然后彈出Wave Filter對話框
  • 設置Wave Filter,包括:起點、終點、保存路徑及文件名xxx.wlf和保存的信號范圍。如果勾選Filter Selected Signals Only則保存所選中的單個或多個信號(在Wave的信號列表中進行選擇),否則自動保存列表中的所有信號。其中Now選項即為仿真運行的終點。
    wlf文件可直接用modelsim打開,可快速恢復工程和所選信號的波形。
  • 總結

    以上是生活随笔為你收集整理的Modelsim基础使用一的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。