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 文件相关推荐

  1. Typora+PicGo-Core(command line)+SMMS、github、gitee实现Typora图片上传到图床

    Typora+PicGo-Core(command line)+SMMS.github.gitee实现Typora图片上传到图床 文章目录 1 安装插件 2 配置config.json 2.1 设置S ...

  2. php文件上传参数设置

    2019独角兽企业重金招聘Python工程师标准>>> 1 php上传文件首先在php.ini文件中开启文件上传,并且对其中的一些参数作出合理配置. file_uploads = O ...

  3. Struts文件上传包含修改文件上传参数,多文件上传

    配置xml: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC& ...

  4. sh执行文件 参数传递_sh 脚本执行sql文件传参数

    一.前言 今天做数据删除,用的命令行输入参数,并且调用执行的sql文件,我采用了sed命令,进行替换. sh脚本如下 #! /bin/sh echo "Please enter the ba ...

  5. iOS-AFNetworking参数和多文件同时上传【多文件上传】

    1. 前言 在项目开发中,我们经常需要上传文件,例如:上传图片,上传各种文件,而有时也需要将参数和多个文件一起上传,不知道大家的项目中遇到了没有,我在最近的项目中,就需要这样的一个功能:同时上传参数. ...

  6. 百度云盘API文件上传参数详解

    某药检管理所管理员因为懒,远程3389设置了弱密码,然后被黑了,服务器卡的不行了才发现被黑,竟然有了奇操作,重新改了个密码就完事了,之后没过4天,整个服务器被勒索加密了,我去看的时候发现服务器内容已经 ...

  7. nodejs,处理表单提交文件和普通参数(enctype=“multipart/form-data“),使用插件multiparty,将图片上传到服务器的文件夹中

    目录 1. 页面form是有text类型和file类型输入框,所以需要将form提交类型设置为enctype="multipart/form-data" method=" ...

  8. sh执行文件 参数传递_Shell脚本传参数方法总结

    一.接收固定长度的参数 [root@svn shell_example]# cat params.sh #!/bin/bash #传参测试脚本 echo "My name is `basen ...

  9. Android studio Mac 版上传代码提示The subversion command line tools are no longer provided by Xcode

    macos系统升级到10.15.4,导致Android stuido subversion出现问题:The subversion command line tools are no longer pr ...

最新文章

  1. C++ 笔记(28)— C++ 中 NULL和 nullptr 的区别
  2. mysql memcache搭建_Memcached 搭建过程
  3. 《数学之美》第20章 不要把鸡蛋都放到一个篮子里--谈谈最大熵模型
  4. Java开发必会的Linux命令
  5. POJ 3264: Balanced Lineup
  6. linux df 目录大小,Linux命令du df查看文件和文件夹大小
  7. 使用Lex将C/C++文件输出为HTML文件
  8. ubuntu c++检测usb口事件变化_炼就“火眼金睛”,FETA40i-C核心板“牵手”光时域反射仪...
  9. Python接口自动化之动态数据处理
  10. java 读取excel文件
  11. python微信头像_Python帮你微信头像任意添加装饰别再@微信官方了
  12. 15.计算几何: 坐标值的精度【eps、sgn()、dcmp()】+ 平面上的点用struct表示 + 向量的定义与加减乘除
  13. the7主题 一个强大的wordpress 主题 html5拖拽式建站系统
  14. App安全软件防护能力检测
  15. dos2unix 解决脚本执行过程中的莫名错误 “not found”
  16. 解决 C# GetPixel 和 SetPixel 效率问题
  17. for循环的auto用法
  18. Python的PyOpenGL
  19. P2P流媒体直播的疑问
  20. Android10.0(Q) 默认应用设置(电话、短信、浏览器、主屏幕应用)

热门文章

  1. unix、linux 命令
  2. C#之获取网页标题...
  3. 北京昌平回龙观史各庄找PHP开发人员一起做私活
  4. Webpack构建多页应用心得体会
  5. 关于对Caffe适用场景的思考
  6. no module named 'social_core'
  7. 利用helloworld来检测VPS的对外端口是否打开
  8. TypeError: the JSON object must be str, bytes or bytearray, not NoneType
  9. ubuntu18.10运行95版仙剑
  10. 通俗理解LightGBM并图解举例