在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

用ModelSim搭建可看代碼覆蓋率的千兆以太網控制器的仿真環境

FPGA技術江湖 ? 來源:FPGA技術江湖 ? 2023-01-13 10:14 ? 次閱讀

對于非微電子專業做FPGA的同學們來講,常常把仿真驗證環境的搭建給忽略了,為了追求所謂的“高效”,自己寫的代碼根本就沒怎么仿真驗證過,就急急忙忙的上板調試。有的同學說也做過仿真啊,后來一看發現竟然是用Vivado等FPGA綜合工具自帶的仿真器來簡單的仿真了一下,其實這些都還僅僅是停留在模塊級的個別功能點仿真。一個通信的FPGA樣機或者是一款ASIC芯片的仿真驗證,是需要仔細把所有的功能點細分之后串聯起來做出來一個兼顧軟硬件及各種應用場景的全流程的仿真驗證。類似的有各種成熟的方法,如UVM等,但對于初學者而言,其實用ModelSim完全可以搭建出來一個稍微像樣的可回歸的能夠看覆蓋率的仿真驗證環境的。近期發現很多同學不重視仿真驗證環境搭建,認為沒必要搭建仿真驗證環境,結果沒有充分驗證的代碼上板后發現BUG,費了長達一兩周的時間不斷的添加追蹤信號看波形終于定位到了問題,結果一看是一個邏輯錯誤,用仿真的方法完全可以復現,如果有仿真環境,發現問題定位問題并解決問題可能就是一個小時就可以搞定的事情,結果因為沒有仿真驗證環境白白的浪費了大量的時間。

一、把所有代碼分為設計代碼文件夾hdl和仿真文件夾sim 315b87c2-92e3-11ed-bfe3-dac502259ad0.png 在hdl文件夾下是對應所有的設計代碼,本文中選用opencores網站中十百千自適應的MAC控制器作為設計代碼。

31687216-92e3-11ed-bfe3-dac502259ad0.png

sim文件夾下存放仿真環境搭建的各種文件。

31778e90-92e3-11ed-bfe3-dac502259ad0.png

testbench下存放最頂層的testbench.v;bfm文件夾下存放以太網phy的簡單模型產生以太網數據包的激勵,時鐘復位產生模塊及數據對比模塊;filelist文件夾下存放驗證環境中所有的.v文件列表文件,為了看覆蓋率,一般要把設計代碼文件列表和仿真代碼文件列表分開成兩個不同的文件(windows下自動生成verilog列表文件的源碼本公眾號之前也分享過,詳見如何快速生成Verilog代碼文件列表?(內附開源C代碼));in_out下就存放每個不同的測試例對應的激勵數據包和經過MAC核控制器后出去的數據包;run目錄下存放運行的批處理文件和sim的tcl腳本文件;testcase下存在各種不同的測試例。

二、編寫腳本

腳本分為run.bat批處理腳本和sim.do兩個文件,都在上述run文件夾下,run.bat如下:

31875082-92e3-11ed-bfe3-dac502259ad0.png

其中vsim -c 一行中的-c用來表示是否啟動Modelsim的圖形界面,有-c就表示啟動圖形界面,沒有就表示不啟動。

sim.do就比較簡單了,就是完成建ModelSim工程及仿真等動作:

31946ed4-92e3-11ed-bfe3-dac502259ad0.png

需要注意的一點是,上面把仿真代碼文件列表和設計代碼文件列表分開后,就可以單獨的vlog,同時給設計代碼添加上看覆蓋率的命令。

本文后續內容是某天所做的更改記錄,大家可以通過這些記錄便能看出搭建改環境的一些較為核心的內容。

1、在data_cmp.v模塊增加輸入信號testcase_name,將測試例名字引入數據包比較模塊,利用testcase_name信號,可以每次測試不同測試例的時候在數據記錄文件夾in_out里面可以產生不同的數據記錄log文件。

具體截圖如下:

319f8724-92e3-11ed-bfe3-dac502259ad0.png

上圖中增加了INITIAL_DATA_CMP的task,可以每次在不同的測試例開頭對整個芯片進行復位的時候啟動該task,即可建立對應該testcase的記錄文件。

目前存在的問題是最開始復位的時候,testcase_name還未有實際的測試例名字,導致會產生兩個沒有用的文件。如下圖:

31ad51f6-92e3-11ed-bfe3-dac502259ad0.png

2、在data_cmp.v中增加名為OVER的task,在每個測試例運行結束后可以關閉掉為該測試例新建的文件指針。

OVER任務具體實現如下:

31b9e5ec-92e3-11ed-bfe3-dac502259ad0.png

在不同的testcase末尾調用該task:

31c7c806-92e3-11ed-bfe3-dac502259ad0.png

3、手動將文件列表文件rtl.f拆分成設計代碼文件列表hdl_filelist.v和仿真代碼文件列表sim_filelist.v。

31d33a1a-92e3-11ed-bfe3-dac502259ad0.png

并修改運行腳本,使得運行結束后可以看到設計代碼文件的覆蓋率。

31dff91c-92e3-11ed-bfe3-dac502259ad0.png

修改批處理文件,使用modelsim圖形界面的方式

31f1875e-92e3-11ed-bfe3-dac502259ad0.png

發現第二個測試例中間的數據包計數未從0開始,修改代碼

31fed454-92e3-11ed-bfe3-dac502259ad0.png

在所有testcase中增加一行代碼,讓data_cnt和i都從0開始。

320df1d2-92e3-11ed-bfe3-dac502259ad0.png

修改后就能每個testcase都從0開始運行:

321c1b54-92e3-11ed-bfe3-dac502259ad0.png

此時在modelsim圖形界面下也能看到設計代碼對應的覆蓋率情況:

322aa976-92e3-11ed-bfe3-dac502259ad0.png

雙擊某個文件就能打開對應代碼是否被驗證到的情況:

323983e2-92e3-11ed-bfe3-dac502259ad0.png

目前只是驗證了百兆模式下100個隨機幀和千兆模式下100個隨機幀,大家可以在上面的基礎上不斷的去增加測試例。后續內容就需要大家不斷的增加測試例來完成對所有代碼的全覆蓋仿真,并且在此過程中也能夠對MAC核的各種功能更加的熟悉。

審核編輯 :李倩

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

    關注

    112

    文章

    16483

    瀏覽量

    179718
  • 以太網
    +關注

    關注

    40

    文章

    5466

    瀏覽量

    172863
  • 仿真
    +關注

    關注

    50

    文章

    4132

    瀏覽量

    134102

原文標題:用ModelSim搭建可看代碼覆蓋率的千兆以太網控制器的仿真環境

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

收藏 人收藏

    評論

    相關推薦

    汽車以太網的演化進程

    相對落后的日系車,基本上每一輛車都至少會有一個100Mbps汽車以太網網絡,通常對應五個設備,即智能駕駛域控制器、座艙域控制器、T-BOX、診斷和網關。
    的頭像 發表于 02-07 09:49 ?518次閱讀
    汽車<b class='flag-5'>以太網</b>的演化進程

    AN4754-將Microchip橋接控制器與外部以太網PHY搭配使用

    電子發燒友網站提供《AN4754-將Microchip橋接控制器與外部以太網PHY搭配使用.pdf》資料免費下載
    發表于 01-21 13:54 ?0次下載
    AN4754-將Microchip橋接<b class='flag-5'>控制器</b>與外部<b class='flag-5'>以太網</b>PHY搭配使用

    TOSUN 車載以太網仿真測試解決方案

    TOSUN車載以太網仿真測試解決方案隨著自動駕駛、車聯網和智能化系統的廣泛應用,車載電子組件和傳感的數量與復雜性都在持續增加,為了滿足這些更為復雜性的需求,車載以太網作為一種新型車載
    的頭像 發表于 12-07 01:07 ?536次閱讀
    TOSUN 車載<b class='flag-5'>以太網</b><b class='flag-5'>仿真</b>測試解決方案

    TMS320C645x DSP上千兆以太網媒體訪問控制器的軟件操作

    電子發燒友網站提供《TMS320C645x DSP上千兆以太網媒體訪問控制器的軟件操作.pdf》資料免費下載
    發表于 10-16 10:21 ?0次下載
    TMS320C645x DSP上<b class='flag-5'>千兆</b>位<b class='flag-5'>以太網</b>媒體訪問<b class='flag-5'>控制器</b>的軟件操作

    synopsys 的design ware:DW_fpv_div,浮點數除法器,默認32位下,想提升覆蓋率(TMAX),如果用功能case去提升覆蓋率呢?

    公司某個項目用到了這個DW:DW_fpv_div,但是scan跑完,這個模塊覆蓋率只有60%多,現在要我TMAX軟件,通過功能去覆蓋,我看了下rpt報的faults點,嘗試去寫了幾個特殊值去做除法
    發表于 10-15 18:38

    使用C2000 EtherCAT從站控制器的SMI進行以太網PHY配置

    電子發燒友網站提供《使用C2000 EtherCAT從站控制器的SMI進行以太網PHY配置.pdf》資料免費下載
    發表于 09-07 10:37 ?0次下載
    使用C2000 EtherCAT從站<b class='flag-5'>控制器</b>的SMI進行<b class='flag-5'>以太網</b>PHY配置

    利用TSN以太網特性改善工業以太網控制器的時序

    電子發燒友網站提供《利用TSN以太網特性改善工業以太網控制器的時序.pdf》資料免費下載
    發表于 08-30 10:53 ?0次下載
    利用TSN<b class='flag-5'>以太網</b>特性改善工業<b class='flag-5'>以太網</b><b class='flag-5'>控制器</b>的時序

    以太網端口和千兆端口的區別

    以太網端口和千兆端口在多個方面存在顯著的區別,這些區別主要體現在速度、應用范圍、技術規格以及網絡性能等方面。
    的頭像 發表于 08-07 15:42 ?1610次閱讀

    MX60千兆以太網非接觸式連接解決方案

    MX60千兆以太網非接觸式連接解決方案是無線收發,可提供高速固態無線連接,以取代傳統的機械連接。為了簡化設計,MX60千兆
    發表于 07-17 16:15 ?320次閱讀

    DM9000單芯片快速以太網MAC控制器英文手冊

    電子發燒友網站提供《DM9000單芯片快速以太網MAC控制器英文手冊.pdf》資料免費下載
    發表于 07-16 17:30 ?0次下載

    單元測試工具TESSY 新版本亮點速覽:提供測試駕駛艙視圖、超級覆蓋率代碼訪問分析、增強覆蓋率審查

    各種測試對象和方法的所有覆蓋率測量結果,并記錄在新的測試總結報告中。 了解更多TESSY新版本功能詳情或申請免費試用,歡迎咨詢TESSY中國授權分銷商——龍智。 新版本功能亮點速覽: 1、超級覆蓋率 逐行評估源代碼。 基于標準
    的頭像 發表于 07-08 16:20 ?511次閱讀
    單元測試工具TESSY 新版本亮點速覽:提供測試駕駛艙視圖、超級<b class='flag-5'>覆蓋率</b>、<b class='flag-5'>代碼</b>訪問分析、增強<b class='flag-5'>覆蓋率</b>審查

    TNETE2201B 1.25千兆以太網收發數據表

    電子發燒友網站提供《TNETE2201B 1.25千兆以太網收發數據表.pdf》資料免費下載
    發表于 07-03 11:42 ?0次下載
    TNETE2201B 1.25<b class='flag-5'>千兆</b><b class='flag-5'>以太網</b>收發<b class='flag-5'>器</b>數據表

    工業以太網和普通以太網區別在哪

    的應用環境和需求不同。普通以太網主要應用于辦公和家庭網絡環境,而工業以太網則是為滿足工業自動化和控制系統的需求而設計的。 1.1
    的頭像 發表于 06-11 10:30 ?3029次閱讀

    智嵌物聯100/1000BASE-T1千兆車載以太網交換機

    轉換、車載以太網交換機來使用。 功能特點: DC9~36V寬壓供電設計,支持12V/24V的供電系統。 5個千兆車載以太網接口
    的頭像 發表于 06-06 09:29 ?1307次閱讀
    智嵌物聯100/1000BASE-T1<b class='flag-5'>千兆</b>車載<b class='flag-5'>以太網</b>交換機

    如何使用Vitis自帶的LWIP模板進行PS端千兆以太網TCP通信?

    開發板有兩路千兆以太網,通過RGMII接口連接,本實驗演示如何使用Vitis自帶的LWIP模板進行PS端千兆以太網TCP通信。
    的頭像 發表于 04-28 10:44 ?3902次閱讀
    如何使用Vitis自帶的LWIP模板進行PS端<b class='flag-5'>千兆</b><b class='flag-5'>以太網</b>TCP通信?
    主站蜘蛛池模板: 国产yin乱大巴视频 国产爱v | 91在线视频观看 | 四虎在线观看 | 好色成人网 | 自偷自拍亚洲欧美清纯唯美 | 久久涩精品 | 午夜香蕉网 | 国产精品久久久亚洲第一牛牛 | 免费看一级大片 | 欧美黄色一级片视频 | 最近2018年中文字幕在线 | 人人干视频在线观看 | 日本三级视频在线播放 | 免费观看一区二区 | 欧美精品久久久久久久小说 | 国产亚洲精品在天天在线麻豆 | 999伊人| 奇米影视四色首页手机在线 | 色综合综合色综合色综合 | 把小嫩嫩曰出白浆 | 欧美激情 在线 | 在线视频毛片 | 黄色录像欧美 | 欧美高清一区二区 | 最近视频在线播放免费观看 | 男女午夜免费视频 | 亚洲免费观看在线视频 | 狠狠88综合久久久久综合网 | 免费啪啪小视频 | 日本3级视频 | 7777色鬼xxxx欧美色夫 | 日本三级最新中文字幕电影 | 亚洲色图综合在线 | 91久久夜色精品国产网站 | 婷婷丁香在线 | 四虎精品久久久久影院 | 三级在线观看国产 | 亚洲国产成人久久午夜 | 国产免费资源 | 亚洲一区二区精品视频 | 成人午夜精品久久久久久久小说 |