精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Modelsim的仿真之路

FPGA技術江湖 ? 來源:FPGA技術江湖 ? 作者:FPGA技術江湖 ? 2022-10-24 09:06 ? 次閱讀

01

對于仿真的激勵測試,其實會有代碼覆蓋率一說,不過我們平常可能更多是功能覆蓋,代碼覆蓋估計關注的人要少些,不過作為相對系統性的學習,還是大概看下這個功能吧~

02

涉及到的測試代碼文件就文末自行獲取了,直接開始正題吧。

把文件準備好后,打開Modelsim,將路徑切換到對于的文件路徑

例:cd E:/Soft_File/Sim_File/coverage

接著創建工作庫(work)=> 編譯.v文件(指定覆蓋測試的類項)

vlib work 
vlog *.v +cover=bcesxf

附:代碼覆蓋率,在Modelsim中提供了以下幾種覆蓋的類型,簡單說明一下

A-語句覆蓋(Statement coverage):逐行統計每個語句的執行情況

B-分支覆蓋(Branch coverage):統計每個條件“if/then/else”和“case”的執行情況

C-條件覆蓋(Condition coverage):算是分支覆蓋的擴展吧,把判斷條件都覆蓋到

D-表達式覆蓋(Expression coverage):和條件覆蓋又有點相似,就表達式左右側的比對

E-跳轉覆蓋(Toggle coverage):邏輯節點的跳轉,狀態發生變化的意思

F-FSM覆蓋(FSM coverage):有限狀態機的狀態、轉換還有路徑統計

G-SystemVerilog類覆蓋(SystemVerilog class coverage):這部分沒咋涉及過,應該是SV的類統計

然后命令中的 +cover=bcesxf大概就知道是指什么了吧?除了x要特殊一丟丟

branch, condition,expression, statement, extended toggle, finite state machine

03

啟動覆蓋測試吧~

vsim -coverage test_sm

先關注這個界面,通過這個界面可以執行指定的的覆蓋測試,然后分析的結果會以那個小圖標的形式顯示出來,或者,然后有對應的右下標字母,字母和剛剛介紹的一個意思,還會有個E的字樣,就是被排除在覆蓋測試之外產生的一些狀態。

89ac5902-5331-11ed-a3b6-dac502259ad0.png

可以在這選對應的覆蓋測試

89bab89e-5331-11ed-a3b6-dac502259ad0.png

稍微運行一下,做語句覆蓋測試,結果發生改變

run 1ms

89c1a1f4-5331-11ed-a3b6-dac502259ad0.png

在Files的窗口也能看到相應的代碼覆蓋率

89f203da-5331-11ed-a3b6-dac502259ad0.png

打開sim的窗口,選中不同的目標,在右側的分析窗口會變成相應的代碼覆蓋情況

89f94a32-5331-11ed-a3b6-dac502259ad0.png

直接雙擊對應的目標,會直接顯示其在源碼中的位置

8a0175b8-5331-11ed-a3b6-dac502259ad0.png

接著在分析界面將覆蓋類型換成Toggle,然后選中test_sm,分析界面再點dat,詳細說明的界面就會出現對應的跳轉情況

8a08a7e8-5331-11ed-a3b6-dac502259ad0.png

要是沒這個Details的界面,可以在菜單里,View > Coverage > Details 將其使能

8a10f18c-5331-11ed-a3b6-dac502259ad0.png

切換到sim窗口,選中test_sm,然后View > Objects,再然后右鍵后Show All Columns

這時可以看到相應跳變的靜態指示

8a3b1552-5331-11ed-a3b6-dac502259ad0.png

04

在Files的界面中雙擊beh_sram.v打開源碼界面,然后看到40行,條件覆蓋沒滿足的情況,點Xc那個圖標,在詳細界面可以看到對應的描述

8a43a258-5331-11ed-a3b6-dac502259ad0.png

接著將覆蓋次數顯示出來,Tools > Code Coverage > Show coverage numbers

8a4db7a2-5331-11ed-a3b6-dac502259ad0.png

軟件大小有點問題,50001只顯示到了0001......

8a58845c-5331-11ed-a3b6-dac502259ad0.png

關掉數字的顯示,恢復圖標顯示的情況,鼠標直接放到對應的代碼位置,也能顯示

8a81c560-5331-11ed-a3b6-dac502259ad0.png

05

在Files界面,可以選定要排除覆蓋測試的文件,右鍵 > Code Coverage > Exclude Selected File ,Cancel...就可以取消排除。

8aac1ff4-5331-11ed-a3b6-dac502259ad0.png

然后可以看到整體發生變化,代碼界面的√和×都變為了E的字樣

8ab34374-5331-11ed-a3b6-dac502259ad0.png

E*指的就是被排除在外,但測試時還是被擊中過,E就是完全被排除在外了,可以點那個圖標,然后看詳細描述里的信息理解。

06

完成代碼覆蓋的測試后,可以將其導出,Tools > Coverage Report > Text ,類型就看自己需要了

(也可以在Instance, sim, files 界面右鍵找對應的導出鍵)

8abcd042-5331-11ed-a3b6-dac502259ad0.png

根據要的內容做報告

8ac56554-5331-11ed-a3b6-dac502259ad0.png

導出后,文件內容

8ad8a0e2-5331-11ed-a3b6-dac502259ad0.png

導出那個HTML就相對圖形化顯示

8adf0fcc-5331-11ed-a3b6-dac502259ad0.png

8ae4cdea-5331-11ed-a3b6-dac502259ad0.png

如果要把使用了排除覆蓋測試的文件狀態也導出,就可以用這個

8b09963e-5331-11ed-a3b6-dac502259ad0.png

基本就這樣了,結束本次仿真吧~

quit -sim

審核編輯:彭靜
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 仿真
    +關注

    關注

    50

    文章

    4043

    瀏覽量

    133416
  • ModelSim
    +關注

    關注

    5

    文章

    174

    瀏覽量

    47123
  • 代碼
    +關注

    關注

    30

    文章

    4748

    瀏覽量

    68356

原文標題:Modelsim的仿真之路(代碼覆蓋率)

文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術江湖】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Altera ModelSim 6.5仿真入門教程

    Altera ModelSim 6.5仿真入門教程,需要的可自行下載。 平臺 軟件:ModelSim-Altera 6.5e (Quartus II 10.0) Starter Edition 內容 1 設計流程 使用
    發表于 08-15 15:40 ?255次下載
    Altera <b class='flag-5'>ModelSim</b> 6.5<b class='flag-5'>仿真</b>入門教程

    Modelsim的功能仿真和時序仿真

    ModelSim 進行功能仿真,進行功能仿真首先要檢查設計的語法是否正確;其次檢查代碼是否達到設計的功能要求。下文主要介紹仿真步驟和測試激勵的加載。
    發表于 11-13 15:35 ?9190次閱讀

    MODELSIM仿真(適合xilinx ISE)

    基于Xilinx ISE的modelsim仿真教程
    發表于 11-30 15:52 ?8次下載

    使用 ModelSim 進行設計仿真詳解

    本章為ModelSim的初級教程,讀者讀完本章可以較為熟練的使用ModelSim進行設計仿真,本章沒有也不可能涉及ModelSim的各個方面,要想全面的掌握
    發表于 12-24 18:29 ?0次下載

    modelsim仿真詳細過程(功能仿真與時序仿真

    modelsim仿真詳細過程(功能仿真與時序仿真).ModelSim不僅可以用于數字電路系統設計的功能仿
    發表于 12-19 11:14 ?6.7w次閱讀
    <b class='flag-5'>modelsim</b><b class='flag-5'>仿真</b>詳細過程(功能<b class='flag-5'>仿真</b>與時序<b class='flag-5'>仿真</b>)

    仿真軟件ModelSim及其應用,ModelSim仿真流程

    ModelSim不僅可以用于數字電路系統設計的功能仿真,還可以應用于數字電路系統設計的時序仿真ModelSim的使用中,最基本的步驟包括創建工程、編寫源代碼、編譯、啟動
    的頭像 發表于 12-29 11:35 ?9577次閱讀

    Modelsim仿真教程Modelsim的基礎入門基礎教程免費下載

    筆者一直以來都在糾結,自己是否要為仿真編輯相關的教程呢?一般而言,Modelsim等價仿真已經成為大眾的常識,但是學習仿真是否學習Modelsim
    發表于 04-30 18:24 ?23次下載
    <b class='flag-5'>Modelsim</b><b class='flag-5'>仿真</b>教程<b class='flag-5'>Modelsim</b>的基礎入門基礎教程免費下載

    Modelsim與MATLAB的聯合仿真

    總體思想是現在 MATLAB 中產生仿真所需要的輸入信號,以十六進制形式存放在數據文件中,在modelsim 中用 vhdl 語言編寫測試文件,做時序仿真,最后將結果存入另外一個數據文件,最后在 matlab中將
    發表于 06-01 10:31 ?33次下載

    基于ModelSim使用二聯合Quarus自動仿真教程

    3 ModelSim工程實戰之自動仿真說完了 ModelSim 的使用流程,接下來我們將會對每個流程進行詳細的操作演示,一步步、手把手帶領大家學習使用 ModelSim 軟件。首先我們
    的頭像 發表于 07-23 10:51 ?2037次閱讀
    基于<b class='flag-5'>ModelSim</b>使用二聯合Quarus自動<b class='flag-5'>仿真</b>教程

    基于ModelSim使用四ModelSim手動仿真教程

    4.1 新建仿真工程 在開始動手仿真之前,首先,我們需要創建一個文件夾用來放置我們的 ModelSim 仿真工程文件,這里我們就在之前創建的 Quartus 工程目錄下的 simula
    的頭像 發表于 07-23 11:10 ?4024次閱讀

    如何夾帶modelsim仿真波形白底黑線

    Modelsim使用技巧—波形白底黑線設置 在發表期刊或者論文時,我們需要夾帶modelsim仿真波形在我們的論文里,在modelsim默認模式下的波形一般是黑底綠線白字,如圖1所示
    的頭像 發表于 08-26 11:23 ?3891次閱讀

    ModelSim手動仿真教程

    在開始動手仿真之前,首先,我們需要創建一個文件夾用來放置我們的 ModelSim 仿真工程文件,這里我們就在之前創建的 Quartus 工程目錄下的 simulation 文件夾中創建一個
    的頭像 發表于 07-11 10:58 ?5076次閱讀

    芯片設計之Modelsim仿真工具

    Modelsim仿真將設計以樹狀表示,設計中的每一個實體,每一個module、每一個進程(always塊、initial塊等)在Modelsim仿真中以對象的形式展現。
    的頭像 發表于 08-12 15:04 ?2575次閱讀

    Modelsim仿真之路(Memory小技能)

    許久沒更新了,間歇性來寫寫,還是繼續Modelsim中關于內存的操作,涉及的文件可在文末自行獲取,本篇對應memory的文件夾。
    的頭像 發表于 10-24 10:16 ?1353次閱讀

    Vivado調用Modelsim仿真

    Modelsim是十分常用的外部仿真工具,在Vivado中也可以調用Modelsim進行仿真,下面將介紹如何對vivado進行配置并調用Models
    的頭像 發表于 07-24 09:04 ?3573次閱讀
    Vivado調用<b class='flag-5'>Modelsim</b><b class='flag-5'>仿真</b>