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

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

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

3天內不再提示

vcs實用技巧

rfdqdzdg ? 來源: 數字ICer ? 2023-10-25 17:22 ? 次閱讀

本節主要介紹:
vcs常用選項
vcs仿真流程
vcs代碼覆蓋率
vcs綜合后后仿
圖一樂技巧

VCS是編譯型verilog仿真器,VCS先將verilog/systemverilog文件轉化為C文件,在linux下編譯生成的可執行文./simv即可得到仿真結果。

617d1ba8-730e-11ee-939d-92fbcf53809c.png

vcs編譯后,生成可執行二進制文件simv:執行./simv進行仿真;

vcs常用選項

vcs -help :列出所有vcs編譯運行選項

-Mupdate :增量編譯

-R:編譯后立即執行仿真

-l:輸出編譯log的文件

-sverilog:支持systemverilog

+v2k:支持2001 verilog標準

-f:指定包含文件列表的filelist

-o:修改可執行文件simv文件名

-full64:支持64位模式下的編譯仿真

-fsdb:dump fsdb波形

-ucli:在UCLI命令行模式下執行simv

-gui :DVE 界面運行

-work library:將設計庫名稱映射到接收vlogan輸出的邏輯庫名稱work

-v lib_flie:搜索指定lib庫文件

-y lib_dir:搜索指定lib庫路徑

+libext+ext:搜索具有指定文件擴展名的文件,如+libext+.v +.sv

+incdir+directory:搜索指定include文件路徑

+define+macro:使用源代碼中`ifdef所定義的宏或者define源代碼中的宏

-parameters filename:將filename文件中指定的參數更改為此時指定的值

-timescale=1ns/1ns:設置仿真精度

-debug、debug_all、debug_pp:打開debug開關

vcs仿真流程

編寫makefie腳本運行仿真:

618f3770-730e-11ee-939d-92fbcf53809c.png

makefie

執行下面編譯仿真:

makevcs
makesim

1.DVE圖形界面打開

在編譯時,使用 +vpdfile+filename 可以更改生成 VPD 文件的文件名,默認為vpdplus.vpd。

makefile中添加:

ALL_DEFINE=+define+DUMP_VPD
VPD_NAME=+vpdfile+simv.vpd

仿真文件tb.v中添加:

`ifdefDUMP_VPD
initialbegin
$display("DumpVPDwave!");
$vcdpluson();
//$vcdpluson(0,tb);//記錄tb及其所有子模塊的波形。
//$vcdpluson(1,tb );//只記錄tb層的波形
//$vcdpluson(2,tb );//記錄tb層和tb下一層的波形
end
`endif

在仿真完成后,生成了simv.vpd 這個文件,這個文件記錄了仿真過程中所有信號的波形,

可以使用dve打開:

dve-vpdsimv.vpd&

619367be-730e-11ee-939d-92fbcf53809c.png

選中所有信號 --> 右鍵Add to Waves --> New Wave View

61aabe82-730e-11ee-939d-92fbcf53809c.png

2.verdi圖形界面打開

通常使用VCS生成fsdb格式的波形文件,將其導入另一個軟件Verdi查看波形,代替DVE進行聯合仿真;

vcs選項加上-fsdb,仿真文件tb.v中添加:

initialbegin
$display("Dumpfsdbwave!");
$fsdbDumpfile("tb.fsdb");
$fsdbDumpvars;
end

仿真完成后執行下面命令打開verdi:

makeverdi

推薦查看verdi實用技巧和fsdb實用技巧

代碼覆蓋率

在一個芯片驗證的工程中,通常以代碼覆蓋率和功能覆蓋率來體現驗證是否完備;

功能覆蓋率就是檢查設計的功能是否完善,需要考慮很多不同的情況,是使用SV的重點內容。

代碼覆蓋率是檢查代碼是否存在冗余,檢查所有的代碼是否都已經執行,包括:行,狀態機,翻轉,條件,分支覆蓋率等,這里只討論代碼覆蓋率。

VCS在統計代碼覆蓋率的過程中,需要在編譯和仿真命令上添加對應的開關選項,生成.vdb文件記錄覆蓋率情況。

再使用dve打開該文件進行查看覆蓋率。

代碼覆蓋率選項

61b288ba-730e-11ee-939d-92fbcf53809c.png

-cm :打開對應類型覆蓋率,例如 -cm cond+tgl+lin+fsm+path為統計所有覆蓋率。

-cm_name:統計覆蓋率文件名字。

-cm_dir:指定生成.vdb文件目錄。

-cm_log+filename.log:記錄仿真過程中log信息。

-cm_nocasedef: 在統計case語句的條件覆蓋率時,不考慮default條件未達到的情況。

-cm_hier xxx.cfg:通過.cfg文件選擇要查看覆蓋率的模塊或文件。

通過DVE查看覆蓋率(方法1)

仿真完成后執行下面命令dve -covdir *.vdb &打開dve查看覆蓋率:

makedve_cov

代碼覆蓋到的為綠色,沒有覆蓋到的為紅色:

61bd4a0c-730e-11ee-939d-92fbcf53809c.png

通過URG查看覆蓋率(方法2)

可以以文本格式或者網頁格式顯示覆蓋率;

61cbf75a-730e-11ee-939d-92fbcf53809c.png

或者:

urg-dir*.vdb-reporturgReport

進入urgReport目錄,執行下面命令打開網頁版,查看覆蓋率報告

firefox*.html

61d6e28c-730e-11ee-939d-92fbcf53809c.png

綜合后仿真

推薦查看綜合與時序分析

推薦查看后仿及反標

vcs門級網表仿真

當RTL功能仿真通過之后,DC工具中進行邏輯綜合,在邏輯綜合完成之后,需要對綜合生成的網表再進行仿真驗證。

綜合后包含電路的實際信息,如映射的門電路信息、寄生參數、.v的網表、SDF標準延時信息、SDC約束、工作條件等信息。

后仿選項

后仿不需要的選項

帶時序的后仿,一定要注意仿真器是否關閉了notimingcheck和nospecify的選項。

如果有-nospecify,那么SDF中的時序信息就反標不到仿真模型中;

如果有-notimingcheck,那么后仿過程中就不檢查時序違例,后仿就失去了意義。

后仿添加選項

+neg_tchk:若要使用負延時檢查,在編譯后仿時必須包含+neg_tchk選項。如果省略此選項,VCS將所有負延遲更改為0。

-negdelay:用于SDF文件中有負延遲,如果省略此選項,VCS將所有負延遲更改為0。

sdf_annotate反標

使用$sdf_annotate將SDF文件反標到網表中:

$sdf_annotate("sdf_file"[,module_instance][,"sdf_configfile"][,"sdf_logfile"][,"mtm_spec"][,"scale_factors"][,"scale_type"]);

在tb中加載sdf文件,指定反標模塊:

`ifdefGLS_SIM
initialbegin
$sdf_annotate("../../netlist_sim/sdf/TOP.sdf",tb.U_TOP,,"sdf.log","TYPICAL");
end
`endif

修改makefie腳本運行仿真:

LIB_NET_FILE指定的是基本的工藝庫單元,因為網表文件netlist_TOP.v中包括綜合后的由門電路和觸發器等例化形成的verilog文件,所以需要基本的工藝庫單元。

61efe7be-730e-11ee-939d-92fbcf53809c.png

makefile

rtl仿真和netlist仿真結果對比:

可以看到netlist仿真的輸出信號存在一些毛刺及延遲,與理想的沒有延遲信息的rtl仿真不同。

61f7446e-730e-11ee-939d-92fbcf53809c.png

rtl仿真

6201b19c-730e-11ee-939d-92fbcf53809c.png

netlist仿真

圖一樂技巧

display打印彩色字/背景

可在仿真中加入顏色顯示case的情況,如:

621b03c2-730e-11ee-939d-92fbcf53809c.png

622ac1c2-730e-11ee-939d-92fbcf53809c.png

紅色:前景色31,背景色41:

$display("?33[31;41mHelloerror!?33[0m");

綠色:前景色32,背景色42:

$display("?33[32;42mHellopass!?33[0m");

黃色:前景色33,背景色43:

$display("?33[33;43mHellowarning!?33[0m");

涉及的顏色:

62364402-730e-11ee-939d-92fbcf53809c.png

涉及的顏色

審核編輯:湯梓紅

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

    關注

    87

    文章

    11466

    瀏覽量

    212843
  • 仿真器
    +關注

    關注

    14

    文章

    1034

    瀏覽量

    84995
  • Verilog
    +關注

    關注

    29

    文章

    1366

    瀏覽量

    111878
  • VCS
    VCS
    +關注

    關注

    0

    文章

    80

    瀏覽量

    9848
  • 代碼
    +關注

    關注

    30

    文章

    4889

    瀏覽量

    70281

原文標題:vcs實用技巧

文章出處:【微信號:數字芯片設計工程師,微信公眾號:數字芯片設計工程師】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    VCS仿真的注意事項

    VCS
    皮特派
    發布于 :2022年12月07日 11:38:35

    LabVIEW 實用技巧.

    Labview實用技巧
    發表于 06-29 12:38

    vcs-mx和vcs的區別在哪里?

    vcs-mx是什么?vcs又是什么?vcs-mx和一般的vcs有什么區別?
    發表于 06-21 08:05

    Synopsys VCS Training 培訓資料

    Synopsys VCS Training 培訓資料
    發表于 07-28 16:26 ?137次下載

    什么是VCS

    VCS是編譯型Verilog模擬器,它完全支持OVI標準的Verilog HDL語言、PLI和SDF。VCS具有目前行業中最高的模擬性能,其出色的內存管理能力足以支持千萬門級的ASIC設計,而其模擬精度也完全
    發表于 07-28 16:28 ?1.5w次閱讀

    Yuncam VCS PC套件使用說明

    Yuncam VCS PC套件使用說明
    發表于 01-14 16:11 ?0次下載

    基于linux系統實現的vivado調用VCS仿真教程

    在linux系統上實現vivado調用VCS仿真教程 作用:vivado調用VCS仿真可以加快工程的仿真和調試,提高效率。 前期準備:確認安裝vivado軟件和VCS軟件 VCS軟件最
    的頭像 發表于 07-05 03:30 ?1.2w次閱讀
    基于linux系統實現的vivado調用<b class='flag-5'>VCS</b>仿真教程

    LabVIEW編程的實用技巧系列(13)

    LabVIEW編程的實用技巧系列第十三講視頻教程
    的頭像 發表于 06-26 00:07 ?2377次閱讀
    LabVIEW編程的<b class='flag-5'>實用技巧</b>系列(13)

    LabVIEW編程的實用技巧系列(12)

    LabVIEW編程的實用技巧系列第十二講視頻教程
    的頭像 發表于 06-26 00:09 ?2509次閱讀
    LabVIEW編程的<b class='flag-5'>實用技巧</b>系列(12)

    LabVIEW編程的實用技巧系列(2)

    LabVIEW編程的實用技巧系列第二講視頻教程
    的頭像 發表于 06-26 00:46 ?2500次閱讀
    LabVIEW編程的<b class='flag-5'>實用技巧</b>系列(2)

    LabVIEW編程的實用技巧系列(5)

    LabVIEW編程的實用技巧系列第五講視頻教程
    的頭像 發表于 06-25 12:11 ?2357次閱讀
    LabVIEW編程的<b class='flag-5'>實用技巧</b>系列(5)

    EDA仿真:VCS編譯Xilinx仿真步驟

    選擇VCS,再指定庫文件存放的路徑;如果VCS的環境變量設置好了,那么會自動跳出Simulator executable path的路徑的。
    發表于 03-31 10:21 ?2648次閱讀

    vcs工作環境

    vcs工作環境
    發表于 05-15 09:38 ?0次下載

    VCS實用技巧分享

    VCS是編譯型verilog仿真器,VCS先將verilog/systemverilog文件轉化為C文件,在linux下編譯生成的可執行文./simv即可得到仿真結果。
    的頭像 發表于 05-30 09:26 ?1683次閱讀
    <b class='flag-5'>VCS</b><b class='flag-5'>實用技巧</b>分享

    PLC日常應用中的實用技巧

    PLC日常應用中的實用技巧,希望能對大家在日常使用PLC有所幫助。
    的頭像 發表于 07-10 14:39 ?711次閱讀
    主站蜘蛛池模板: 色多多网站在线观看 | 亚洲成在人天堂一区二区 | 日本xxxx18vr69| 日本小视频免费 | 色资源窝窝全色 | 国产精品最新资源网 | 成人网中文字幕色 | 黄色免费看网站 | 手机看日韩毛片福利盒子 | 日本xxxx色视频在线观看免费 | 男女视频在线播放 | 欧美性猛交xxxx免费 | 浓厚な接吻と肉体の交在线观看 | 网色| 在线看片成人 | 91视频精品 | 男人的天堂视频网站清风阁 | 老师别揉我胸啊嗯上课呢视频 | aa视频在线观看 | 免费在线播放黄色 | 成人伊在线影院 | 1024在线观看你懂的 | 国产资源免费观看 | 久久久久国产精品免费免费 | 韩国三级理论在线看中文字幕 | 中文字幕一区二区视频 | 欧美精品一区二区三区视频 | 日本高清视频色www在线观看 | 亚洲人成77777在线观看网 | 免费观看视频网站 | 欧美成人看片一区二区三区 | 毛片爽爽爽免费看 | 日本免费色视频 | 国产小视频免费看 | 噜噜噜天天躁狠狠躁夜夜精品 | 新版天堂资源中文8在线 | 欧美国产黄色 | 婷婷五月色综合香五月 | 国产专区日韩精品欧美色 | 91拍拍在线观看 | 狠狠色狠狠色狠狠五月ady |