zoukankan      html  css  js  c++  java
  • 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
     
    因此,建议大家在命名时前缀尽量不要一致。
     
     
  • 相关阅读:
    爬虫07-requests库cookie和session
    爬虫06-处理不信任的SSL证书
    爬虫05-requests库用法
    爬虫04-cookie
    网络爬虫-爬取拉勾网不成功,登录设置cookie
    爬虫03-简单使用代理
    爬虫02-简单伪装浏览器
    爬虫01-urllib常用函数
    01-matplotlib简单绘图
    21-pandas_apply和transform
  • 原文地址:https://www.cnblogs.com/hxing/p/13551213.html
Copyright © 2011-2022 走看看