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

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

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

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

如何從命令行獲取和解析參數(shù)

路科驗證 ? 來源:芯片學(xué)堂 ? 作者:JKZHAN ? 2022-05-30 14:05 ? 次閱讀

這是一篇技術(shù)干貨快文,能夠快速閱讀完。文章內(nèi)容是關(guān)于如何從命令行獲取和解析參數(shù),包括SystemVerilog本身支持的系統(tǒng)函數(shù)和UVM提供的函數(shù)封裝,并給出示例代碼和仿真結(jié)果。

01 SV系統(tǒng)函數(shù)

通過命令行來傳遞參數(shù)在實際項目中算是常規(guī)操作,比如通過命令行參數(shù)來指定Testbench的配置信息等等。在SystemVerilog LRM規(guī)范里,命令行提供的仿真參數(shù)要求使用加號(+)作為引導(dǎo),這部分參數(shù)可以被驗證環(huán)境中的SV代碼通過系統(tǒng)函數(shù)訪問到。由于是額外增加的,這些參數(shù)也就被稱之為plusargs。

訪問plugargs的系統(tǒng)函數(shù)有$test$plusagrs(arg_string)$value$plusargs(arg_string, target_var)。這兩個系統(tǒng)函數(shù)都會根據(jù)用戶指定的字符串a(chǎn)rg_string,去檢索plusargs列表。如果找到了,則系統(tǒng)函數(shù)返回值1;如果沒有找到,返回值0。

其中$test$plusargs(arg_string)可以被用于判斷命令行是否帶了arg_string參數(shù),以此來作為驗證環(huán)境的配置開關(guān);$value$plusargs(arg_string, target_var)則是在$test$plusargs的基礎(chǔ)上,增加了對參數(shù)arg_string的值的解析:如果匹配到了arg_string,系統(tǒng)函數(shù)會將其值賦給target_var;如果沒有找到,則不修改target_var的值。

9898b216-dfce-11ec-ba43-dac502259ad0.png

執(zhí)行仿真命令:

./simv +vcs+lic+wait +HelloWorld +NAME=ictalking +DATA1=123 +DATA2=C0FFEE +DATA3=101001011101
仿真結(jié)果如下:98e1d05e-dfce-11ec-ba43-dac502259ad0.png ? ?

02UVM_CMDLINE_PROCESSOR

UVM是個非常喜歡搞封裝的類庫。UVM中有個類叫uvm_cmdline_processor,該類繼承自uvm_report_object,再往上就到uvm_object了。uvm_cmdline_processor提供的底層函數(shù)接口,說白了跟$test$plusargs和$value$plusargs沒有什么大的區(qū)別,不過其中有匹配功能或返回參數(shù)列表的函數(shù),對于uvm_root解析UVM配置相關(guān)的參數(shù)還是很有幫助的。

uvm_cmdline_processor全局單一例化,并提供了get_inst()靜態(tài)方法用來獲取對象句柄。UVM默認(rèn)在初始化的時候,會構(gòu)造uvm_cmdline_processor的全局對象,叫uvm_cmdline_proc。不過在實際使用中,我們還是可以按照習(xí)慣,先聲明一個uvm_cmdline_processor句柄,然后通過get_inst()函數(shù)來指向uvm_cmdline_processor對象。

99a9564c-dfce-11ec-ba43-dac502259ad0.png

執(zhí)行仿真命令:

./simv +vcs+lic+wait +UVM_TESTNAME=cmdline_test +cmd_data_int=123 +cmd_data_hex=AA +cmd_data_bin=1011
仿真結(jié)果如下:

99e27706-dfce-11ec-ba43-dac502259ad0.png

原文標(biāo)題:SystemVerilog | UVM | 獲取命令行參數(shù)的方法,這些就夠用了

文章出處:【微信公眾號:路科驗證】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

    關(guān)注

    11

    文章

    1867

    瀏覽量

    32913
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4374

    瀏覽量

    64401
  • UVM
    UVM
    +關(guān)注

    關(guān)注

    0

    文章

    182

    瀏覽量

    19474
  • 命令行
    +關(guān)注

    關(guān)注

    0

    文章

    80

    瀏覽量

    10542

原文標(biāo)題:SystemVerilog | UVM | 獲取命令行參數(shù)的方法,這些就夠用了

文章出處:【微信號:Rocker-IC,微信公眾號:路科驗證】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

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

    怎么從命令行執(zhí)行Momentum

    您好我能夠從ADS中的命令行運行典型的電路仿真(使用hpeesofsim命令)。是否有類似的方法從命令行運行動量模擬?我打算:1-在GUI中設(shè)置我的模擬(進(jìn)行布局,設(shè)置基板......)2。將整個
    發(fā)表于 03-08 07:19

    如何從命令行指定程序員?

    如何告訴IPE它應(yīng)該從命令行使用哪一個真正的ICE?我有一個板需要4個芯片需要編程。有些是5伏部分,有些是3.3。編程站的生產(chǎn)將使用4個真正的冰,所以他們可以編程所有4個芯片上的每一個板一次。我正在
    發(fā)表于 09-30 06:03

    如何從命令行注入宏?

    嘿,大家好,我想出了如何從命令行構(gòu)建PSoC 3.3項目。但現(xiàn)在我不知道如何從命令行注入宏。dMaRoRyValm=2你知道怎么做嗎?設(shè)置夜間創(chuàng)建和使用詹金斯發(fā)布構(gòu)建是非常重要的。最好的問候
    發(fā)表于 10-31 10:02

    支持命令行傳遞的參數(shù)嗎?

    從命令行通過代碼文件傳遞代碼值的語法是什么?例如,我想這樣做:在過去,我定義了一個符號列表,該列表被設(shè)置為makefile中傳遞的值,這些符號稍后將在CFLAGSI中用于生成-D{SYMBOL}中
    發(fā)表于 03-17 06:03

    Shell腳本命令行解析

    Shell腳本解析命令行參數(shù)——Argparse(填坑)
    發(fā)表于 04-03 11:34

    如何獲取其它程序的命令行參數(shù)

    開發(fā)環(huán)境:VC6 Windows XP 測試環(huán)境:WindowsXP 我們都知道,在程序里獲取命令行參數(shù)很簡單,WinMain函數(shù)會以參數(shù)的形式傳遞給我們,或者可以調(diào)用API Ge
    發(fā)表于 10-14 09:24 ?1次下載

    C語言入門教程-命令行參數(shù)

    命令行參數(shù) 在C中,獲取用戶輸入的命令行參數(shù)是很方便的。程序的主函數(shù)會接受一個argv參數(shù)。有
    發(fā)表于 07-29 14:22 ?2695次閱讀

    caxa命令行中的應(yīng)用

    caxa命令行中的應(yīng)用 命令行對于大多用戶來說往往只是輸入數(shù)據(jù)的作用,但是其中的奧妙還有很多,下面就給大家
    發(fā)表于 10-18 18:18 ?2407次閱讀

    CMD的命令行高級教程

    CMD的命令行高級教程
    發(fā)表于 10-24 08:31 ?30次下載
    CMD的<b class='flag-5'>命令行</b>高級教程

    自己動手實現(xiàn)命令行解析

    一、介紹嵌入式里面經(jīng)常會自己做命令行,這里分享一個命令解析器代碼實現(xiàn)二、代碼實現(xiàn)mycmd.c
    發(fā)表于 12-22 18:51 ?13次下載
    自己動手實現(xiàn)<b class='flag-5'>命令行</b><b class='flag-5'>解析</b>器

    Shell命令行解釋器簡介

    Shell 是一個命令行解釋器,Shell 為用戶提供了與設(shè)備進(jìn)行命令行交互的方式,用戶通過串口、以太網(wǎng)、無線等方式將命令傳輸給具有 Shell 功能的設(shè)備,設(shè)備會解析
    的頭像 發(fā)表于 08-19 17:20 ?3522次閱讀

    Golang基于flag庫實現(xiàn)一個命令行工具

    Golang 標(biāo)準(zhǔn)庫中的 flag 庫提供了解析命令行選項的能力,我們可以基于此來開發(fā)命令行工具。
    的頭像 發(fā)表于 10-28 09:26 ?1531次閱讀

    Fcoder從命令行批量轉(zhuǎn)換為TIFF

    從命令行批量轉(zhuǎn)換為TIFF 2TIFF圖像轉(zhuǎn)換軟件是一個專業(yè)的命令行實用程序,用于以批處理模式將辦公文檔和圖像轉(zhuǎn)換為TIFF。基于簡單的命令行語法,它可以在PC、服務(wù)器上使用,也可以內(nèi)置到任
    的頭像 發(fā)表于 05-22 14:13 ?1057次閱讀
    Fcoder<b class='flag-5'>從命令行</b>批量轉(zhuǎn)換為TIFF

    LabVIEW命令行調(diào)用exe傳入的參數(shù)如何獲取

    有些場景下,我們用LabVIEW開發(fā)的應(yīng)用程序,需要通過命令行來調(diào)用,并向該應(yīng)用程序傳遞參數(shù),那么在程序中如何才能獲取這些參數(shù)呢?
    發(fā)表于 10-11 09:28 ?3371次閱讀
    LabVIEW<b class='flag-5'>命令行</b>調(diào)用exe傳入的<b class='flag-5'>參數(shù)</b>如何<b class='flag-5'>獲取</b>

    idea如何輸入命令行參數(shù)

    在許多軟件開發(fā)和系統(tǒng)管理的任務(wù)中,我們經(jīng)常需要向應(yīng)用程序傳遞命令行參數(shù)命令行參數(shù)是在運行時傳遞給程序的值,用于指定程序的行為和配置選項。本文將詳細(xì)介紹如何在不同的編程語言和操作系統(tǒng)中
    的頭像 發(fā)表于 12-06 15:01 ?1620次閱讀
    主站蜘蛛池模板: 男女交性视频播放视频视频 | 久久国产香蕉一区精品 | 丁香花的视频免费观看 | 亚洲国产精品热久久2022 | xxxxxx日本人免费 | 四虎永久影院 | 国产三级黄色录像 | 午夜片在线观看 | 天堂网一区| 在线你懂的网址 | 插吧插吧综合网 | 欧美一级艳片视频免费观看 | 国语自产拍在线观看7m | 欧美白人极品性喷潮 | 美女张开大腿让男人捅 | 黄网站色视频免费看无下截 | 视频精品一区二区三区 | 亚洲国产精品自在现线让你爽 | 伊人天天干 | 一级毛片ab片高清毛片 | 国产免费小视频 | 操亚洲| 日产精品卡二卡三卡四卡乱码视频 | 午夜视频在线观看国产 | 亚洲精品美女视频 | 国产成人综合欧美精品久久 | 国产精品虐乳在线播放 | 97黄网| 美女扒开尿囗给男生桶爽 | 视频精品一区二区三区 | www.久久精品视频 | 男人的天堂在线精品视频 | 中文字幕一区在线观看 | 九九九色 | 97影院理论片手机在线观看 | 成 人 免费 网站 | 久久成人综合 | 欧美福利片在线观看 | 男人操女人在线观看 | 中文字幕视频二区 | 污污的网站免费阅读 |