91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

用ModelSim搭建可看代碼覆蓋率的千兆以太網(wǎng)控制器的仿真環(huán)境

FPGA技術(shù)江湖 ? 來源:FPGA技術(shù)江湖 ? 2023-01-13 10:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

sim文件夾下存放仿真環(huán)境搭建的各種文件。

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

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

二、編寫腳本

腳本分為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

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

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

1、在data_cmp.v模塊增加輸入信號testcase_name,將測試?yán)忠霐?shù)據(jù)包比較模塊,利用testcase_name信號,可以每次測試不同測試?yán)臅r候在數(shù)據(jù)記錄文件夾in_out里面可以產(chǎn)生不同的數(shù)據(jù)記錄log文件。

具體截圖如下:

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

上圖中增加了INITIAL_DATA_CMP的task,可以每次在不同的測試?yán)_頭對整個芯片進行復(fù)位的時候啟動該task,即可建立對應(yīng)該testcase的記錄文件。

目前存在的問題是最開始復(fù)位的時候,testcase_name還未有實際的測試?yán)郑瑢?dǎo)致會產(chǎn)生兩個沒有用的文件。如下圖:

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

2、在data_cmp.v中增加名為OVER的task,在每個測試?yán)\行結(jié)束后可以關(guān)閉掉為該測試?yán)陆ǖ奈募羔槨?/p>

OVER任務(wù)具體實現(xiàn)如下:

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

在不同的testcase末尾調(diào)用該task:

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

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

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

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

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

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

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

發(fā)現(xiàn)第二個測試?yán)虚g的數(shù)據(jù)包計數(shù)未從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圖形界面下也能看到設(shè)計代碼對應(yīng)的覆蓋率情況:

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

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

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

目前只是驗證了百兆模式下100個隨機幀和千兆模式下100個隨機幀,大家可以在上面的基礎(chǔ)上不斷的去增加測試?yán)?。后續(xù)內(nèi)容就需要大家不斷的增加測試?yán)齺硗瓿蓪λ写a的全覆蓋仿真,并且在此過程中也能夠?qū)AC核的各種功能更加的熟悉。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 控制器
    +關(guān)注

    關(guān)注

    114

    文章

    17801

    瀏覽量

    193569
  • 以太網(wǎng)
    +關(guān)注

    關(guān)注

    41

    文章

    6015

    瀏覽量

    180952
  • 仿真
    +關(guān)注

    關(guān)注

    54

    文章

    4488

    瀏覽量

    138333

原文標(biāo)題:用ModelSim搭建可看代碼覆蓋率的千兆以太網(wǎng)控制器的仿真環(huán)境

文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術(shù)江湖】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    芯片測試覆蓋率99%就夠了嗎?給DFT設(shè)計提個醒

    。模擬故障模型復(fù)雜,測試項(如增益、帶寬、THD)的通過/失敗標(biāo)準(zhǔn)是一個范圍。覆蓋率難以像數(shù)字電路那樣量化。常用方法是基于故障仿真,注入典型工藝偏差和缺陷模型(如電阻開路、電容短路),評估現(xiàn)有測試項能否
    發(fā)表于 02-06 11:06

    探索Microchip LAN9211:高性能以太網(wǎng)控制器的卓越之選

    探索Microchip LAN9211:高性能以太網(wǎng)控制器的卓越之選 在嵌入式應(yīng)用領(lǐng)域,一款性能強勁、功能豐富且易于集成的以太網(wǎng)控制器至關(guān)重要。Microchip LAN9211就是這
    的頭像 發(fā)表于 01-22 16:50 ?585次閱讀

    TNETE2201B 1.25 - 千兆以太網(wǎng)收發(fā):性能與應(yīng)用解析

    TNETE2201B 1.25 - 千兆以太網(wǎng)收發(fā):性能與應(yīng)用解析 在高速數(shù)據(jù)傳輸?shù)念I(lǐng)域中,以太網(wǎng)收發(fā)扮演著至關(guān)重要的角色。今天我們要深
    的頭像 發(fā)表于 12-31 17:30 ?1483次閱讀

    KSZ8851SNL/SNLI:單端口以太網(wǎng)控制器的卓越之選

    KSZ8851SNL/SNLI:單端口以太網(wǎng)控制器的卓越之選 在當(dāng)今數(shù)字化時代,以太網(wǎng)控制器在各種電子設(shè)備中扮演著至關(guān)重要的角色。KSZ8851SNL/SNLI 作為一款單端口
    的頭像 發(fā)表于 12-28 14:45 ?673次閱讀

    深度剖析TLK1211RCP千兆以太網(wǎng)收發(fā):設(shè)計應(yīng)用指南

    深度剖析TLK1211RCP千兆以太網(wǎng)收發(fā):設(shè)計應(yīng)用指南 在現(xiàn)代高速數(shù)據(jù)傳輸領(lǐng)域,以太網(wǎng)收發(fā)扮演著至關(guān)重要的角色。今天我們要深入探討的是
    的頭像 發(fā)表于 12-27 11:05 ?704次閱讀

    解析 LAN9215i:16 位非 PCI 10/100 以太網(wǎng)控制器的卓越之選

    解析 LAN9215i:16 位非 PCI 10/100 以太網(wǎng)控制器的卓越之選 在嵌入式應(yīng)用領(lǐng)域,一款性能出色、靈活性高且成本可控的以太網(wǎng)控制器至關(guān)重要。今天,我們就來深入剖析 Mi
    的頭像 發(fā)表于 12-25 16:50 ?481次閱讀

    SM91604L LAN變壓:助力千兆以太網(wǎng)設(shè)計

    SM91604L LAN變壓:助力千兆以太網(wǎng)設(shè)計 在電子工程師的日常工作中,LAN變壓是網(wǎng)絡(luò)設(shè)備設(shè)計里的關(guān)鍵組件。今天,我們就來深入探討一下BOURNS的SM91604L LAN變
    的頭像 發(fā)表于 12-23 14:55 ?365次閱讀

    KSZ8851SNL/SNLI單端口以太網(wǎng)控制器:設(shè)計與應(yīng)用全解析

    KSZ8851SNL/SNLI單端口以太網(wǎng)控制器:設(shè)計與應(yīng)用全解析 在當(dāng)今數(shù)字化的時代,以太網(wǎng)通信在各種電子設(shè)備中扮演著至關(guān)重要的角色。KSZ8851SNL/SNLI作為一款單端口以太網(wǎng)
    的頭像 發(fā)表于 12-23 14:45 ?474次閱讀

    DP83561-SP:高輻射環(huán)境下的千兆以太網(wǎng)PHY解決方案

    DP83561-SP:高輻射環(huán)境下的千兆以太網(wǎng)PHY解決方案 在高輻射的航天環(huán)境中,電子設(shè)備的可靠性和穩(wěn)定性面臨著巨大的挑戰(zhàn)。德州儀器(TI)的DP83561-SP
    的頭像 發(fā)表于 12-17 10:55 ?432次閱讀

    LAN8814 4端口千兆以太網(wǎng)收發(fā)數(shù)據(jù)手冊總結(jié)

    Microchip Technology LAN8814 4端口千兆以太網(wǎng)收發(fā)是低功耗、四端口、三速(10BASE-T/100BASE-TX/1000BASE-T)以太網(wǎng)物理層收發(fā)
    的頭像 發(fā)表于 10-14 10:50 ?966次閱讀
    LAN8814 4端口<b class='flag-5'>千兆</b><b class='flag-5'>以太網(wǎng)</b>收發(fā)<b class='flag-5'>器</b>數(shù)據(jù)手冊總結(jié)

    基于LAN8830千兆以太網(wǎng)收發(fā)的工業(yè)應(yīng)用技術(shù)解析

    Microchip Technology LAN8830千兆以太網(wǎng)收發(fā)(具有RGMII功能)是集成式三速 (10Base-T/100Base-TX/1000Base-T) 以太網(wǎng)物理
    的頭像 發(fā)表于 10-13 11:43 ?752次閱讀
    基于LAN8830<b class='flag-5'>千兆</b><b class='flag-5'>以太網(wǎng)</b>收發(fā)<b class='flag-5'>器</b>的工業(yè)應(yīng)用技術(shù)解析

    LAN8804四端口千兆以太網(wǎng)收發(fā)技術(shù)解析

    Microchip Technology LAN8804 4端口千兆以太網(wǎng)收發(fā)是低功耗、四端口、三速(10BASE-T/100BASE-TX/1000BASE-T)以太網(wǎng)物理層收發(fā)
    的頭像 發(fā)表于 10-11 11:47 ?1038次閱讀
    LAN8804四端口<b class='flag-5'>千兆</b><b class='flag-5'>以太網(wǎng)</b>收發(fā)<b class='flag-5'>器</b>技術(shù)解析

    Microchip LAN9211-ABZJ 集成 10/100 以太網(wǎng) PHY的以太網(wǎng)控制器

    Microchip LAN9211-ABZJ 集成 10/100 以太網(wǎng) PHY的以太網(wǎng)控制器
    的頭像 發(fā)表于 06-04 14:56 ?1137次閱讀
    Microchip LAN9211-ABZJ 集成 10/100 <b class='flag-5'>以太網(wǎng)</b> PHY的<b class='flag-5'>以太網(wǎng)</b><b class='flag-5'>控制器</b>

    基于RV1126開發(fā)板的以太網(wǎng)硬件電路設(shè)計

    核心板支持百兆或者千兆以太網(wǎng)電路,客戶可以根據(jù)需要選擇。因為RV1126只有一個PHY控制器,百兆和千兆的功能是二選一。
    的頭像 發(fā)表于 04-16 17:54 ?852次閱讀
    基于RV1126開發(fā)板的<b class='flag-5'>以太網(wǎng)</b>硬件電路設(shè)計

    AD9574以太網(wǎng) 千兆以太網(wǎng)時鐘發(fā)生技術(shù)手冊

    AD9574具有多路輸出時鐘發(fā)生功能,內(nèi)置專用鎖相環(huán)(PLL)內(nèi)核,針對以太網(wǎng)千兆以太網(wǎng)線路卡應(yīng)用進行了優(yōu)化。 整數(shù)N PLL設(shè)計基于ADI公司成熟的高性能、低抖動頻率合成器產(chǎn)品系
    的頭像 發(fā)表于 04-10 10:43 ?1116次閱讀
    AD9574<b class='flag-5'>以太網(wǎng)</b> <b class='flag-5'>千兆</b><b class='flag-5'>以太網(wǎng)</b>時鐘發(fā)生<b class='flag-5'>器</b>技術(shù)手冊