日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Modelsim command line 传参数到 .do 文件

發布時間:2023/12/20 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Modelsim command line 传参数到 .do 文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? gui跑mdelsim總覺得很麻煩,使用命令來啟動方便了很多,類似linux一樣,其實目前windows也可以做到,只是業界不怎么用windows罷了。

? 基于modelsim搭了一個UVM環境, ?用bat批處理命令跑modelsim command,其實很簡單,里面就一句vsim -do sim.do。

? sim.do是自己寫的modelsim要用到的幾條命令,包括vlib, vlog, vsim等。關于如何在windows環境下,搭建uvm環境,網上有教程。

? 現在遇到了一個問題,就是在跑uvm時,我現在有兩種sequence要跑,分別是my_case0, my_case1, 具體內容在《uvm 實戰》這本書里有。一般來說,我想很方便的選擇控制當前是跑case0,還是case1,能不修改任何代碼就不修改,包括各種腳本文件。這時,我想實現在cmd命令窗口中輸入某一個case的名字,來啟動對應的case。

? 因此,現在的問題變成了,如何將bat得到的名字(變量)通過cmmand送到do文件中。此時,再次證明了google面前,必應和百度都是垃圾……

? 好了,現在有兩個文件,一個我叫run.bat,里面就是一句話vsim -do sim.do來啟動modelsim;一個我叫sim.do,里面主要內容是

vlib work
vlog -L mtiAvm -L mtiOvm -L mtiUvm -L mtiUPF ?top_tb.sv
vsim -l vsim.log -c -sv_lib $UVM_DPI_DIR/uvm_dpi work.top_tb +UVM_TESTNAME=$NAME
run -all

? 用來執行具體操作。目的就是要讓bat將得到的名字傳給+UVM_TESTNAME=$NAME中的變量$NAME中。

? 第一步,修改bat,使得能從cmd中傳入參數,我的兩個參數分別是my_case0和my_case1,根據輸入進行對應的選擇。bat修改如下:

? set /p case_name=case(my_case0 or my_case1):

? vsim -gNAME=%case_name% -do sim.do

? 其中的關鍵是用了-g命令,格式為-g<param_name>=<param_value>,NAME其實就是變量名。

? 第二步,修改sim.do文件,主要為:

set x [lsearch $argv -gNAME=my_case0];

if "$x != -1" {
set NAME my_case0;
}
if "$x == -1" {
set NAME my_case1;
}

?這幾句就可以將do文件里的變量NAME對應的設置為cmd中輸入的字符。其實-g命令不是設計為這么用的,這里只是借用了其功能來實現目的。

? 最終,實現了在cmd命令中,控制uvm環境對應的實現不同的sequence case。

轉載于:https://www.cnblogs.com/studyforever/p/6555863.html

總結

以上是生活随笔為你收集整理的Modelsim command line 传参数到 .do 文件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。