• verilog调试--- $test$plusargs和$value$plusargs的用法 ---- 转载


    转自:http://blog.sina.com.cn/s/blog_7861157f0102v4tf.html
     
    VERILOG的参数可以用define和parameter的方式定义,这种方法要求我们在编译前将变量必须定义好,编译完成之后再也不能修改;
    然而,有时候我们在进行仿真时,需要从外部传递参数,这个要求怎么满足呢?
     
    我们来看下 $test$plusargs和$value$plusargs的功能,首先来看一个简单的例子:
     
    `timescale 1ns/1ps
    module tb;
    reg[255:0] testname;
    initial begin
    $display("**********************RESULT IS BELOW*********************");
    if($test$plusargs("TAISHAN"))
    $display("****************TAISHAN is selected******************");
    else
    $display("**********************$test$plusargs FAIL**************");
    if ($value$plusargs("TESTNAME=%s", testname[255:0])) 
     begin 
     $display("*****************Running test %0s.********************", testname); 
     end
     else
     $display("**********************$value$plusargs FAIL**************");
    $finish;
    end
    endmodule
     
    以synopsis的VCS工具为例,正常编译后,
    在仿真时,不同命令的结果如下:
    命令:simv 
    输出:
    **********************$test$plusargs FAIL***************
    **********************$value$plusargs FAIL**************
    命令:simv +TAISHAN
    输出:
    ****************TAISHAN is selected******************
    **********************$value$plusargs FAIL**************
    命令:simv +TAISHAN +TESTNAME=HUASHAN
    输出:
    ****************TAISHAN is selected******************
    *****************Running test HUASHAN.********************
     
    跑完以上例子,我相信您对$test$plusargs和$value$plusargs已经有一个初步的了解。
     
    注意,simv有一个bug,假如一段程序中有如下代码:
    if($test$plusargs("TAISHAN")) begin。。。end
    if($test$plusargs("TAISHANHAO")) begin。。。end
    在仿真时,若采用命令
    simv +TAISHANHAO
    TAISHANHAO也会触发分支if($test$plusargs("TAISHAN")) begin。。。end
     
    因此,建议大家在命名时前缀尽量不要一致。
     
     
  • 相关阅读:
    Jmeterif controller 使用
    转载App测试工具大全
    Jmeter 官方在线文档&Android SDK 官方下载地址
    APP自动化之uiautomator2 +python3 UI自动化
    uiautomatorviewer不支持安卓 9.0或以上,提示:"error: obtaining UI hierachy"解决方法
    调查显示:软件开发公司出现“人才荒”
    浅谈Lean UX:我们到底该怎么设计?
    谷歌工程师再次公布Windows漏洞 并称微软很难合作
    灵活运用AppFlood:提高APP eCPM的10个技巧
    Spring Framework 4.0M1发布,支持JDK 8、Java EE 7
  • 原文地址:https://www.cnblogs.com/hxing/p/13551213.html
Copyright © 2020-2023  润新知