当前位置: 首页 > news >正文

网站开发实训新的体会沈阳网站推广¥做下拉去118cr

网站开发实训新的体会,沈阳网站推广¥做下拉去118cr,网站设计广州量计价格,开发云app#学习记录# 目录 Abstract 1 使用宏定义的条件编译 2 $test$plusargs 3 $value$plusargs 参考文献 Abstract 我们在进行verilog仿真时,经常喜欢采用宏定义,来做条件判断,但是通过宏定义做条件判断的这种方法,存在很大的弊端…

#学习记录#

目录

Abstract

1 使用宏定义的条件编译

2 $test$plusargs

3 $value$plusargs

参考文献


Abstract

  我们在进行verilog仿真时,经常喜欢采用宏定义,来做条件判断,但是通过宏定义做条件判断的这种方法,存在很大的弊端,就是条件改变的时候,需要重新编译,这样会导致,在项目后期进行回归测试和后仿的时候,很多时间都浪费在重复编译上面,效率非常低下。
  $test$plusargs和$value$plusargs作为进行Verilog和SystemVerilog仿真运行时调用的系统函数,可以在仿真命令中直接通过进行赋值的方式将参数传递进入到设计中,并且不局限于不同仿真器对于参数在仿真命令中定义格式不同的限制,也避免了调换参数带来的频繁编译等问题。

1 使用宏定义的条件编译

initial
begin`ifdef dump_fsdb$dumpfile("test.fsdb");$dumpvars;`endif
end

  如果要能够成功调用$dump等函数,需要在编译(compile)时指定`define的宏定义,其使用方法如下:

<compile-option> -define dump_fsdb

  但是这种宏定义的方式,实现条件编译,当条件改变时,需要重新编译,这样会造成仿真效率底下,特别在项目后期,对测试用例进行回归的时候,会有相当一部分时间浪费在编译上。

2 $test$plusargs

  使用条件编译函数$test$plusargs的代码如下:

initialbeginif($test$plusargs("test1"))$readmemh("test1.dat",mem1);if($test$plusargs("test2"))$readmemh("test2.dat",mem2);end

  仿真运行命令如下,如果仿真不需要test1,只需要在运行命令中去掉test1。

<run-options> +test1 +test2

3 $value$plusargs

  $value$plusargs可以将运行命令(run-options)中的参数值,传递给指定的信号或者字符,其语法格式如下:

$value$plusargs(“string”,signalname);

其中string="plusarg_format"+"format_string","plusarg_format"指明了用户定义的要进行传递的值。"format_string"指定了要传递的值的格式(类似$display中定义的%s、%h等)。并且在string中"plusarg_format和"format_string"的格式应该为"plusarg_format"=/+"plusarg_format"。如果转换后的位宽和传递的值不一致,则按照如下规则转换:

plusarg位宽与sigalname的关系signalname值
<plusarg左补零
>plusarg截位
plusarg为负数按照正数处理
不匹配若为指定默认值,则reg类型为x

  代码如下:

if($value$plusargs("finish=%d", finish))
beginrepeat(finish); $display("finish=%d", finish);$finish;
endif($value$plusargs("freq=%f",frequency))
begin$display("freq=%f", frequency);
endif($value$plusargs("testname=%s"testname))
begin$display("testname=%s",testname);
end

 运行命令:

<run-options> +finish=100 +freq=1.23 +testname=test1

 结果:

finish:100

freq:1.23

testname=test1

参考文献

[1] verilog仿真测试中的参数传递——$test$plusargs和$value$plusargs-CSDN博客

[2] Verilog之“$test$plusargs和$value$plusargs用法小结“ - 知乎 (zhihu.com)

http://www.yayakq.cn/news/432039/

相关文章:

  • 推广型网站建设地址wordpress drupal 插件
  • html5手机资讯网站模板医院建设网站
  • 网站空间登陆工商信息查询网官网
  • 南京做网站群的公司佛山建站公司模板
  • 网站接口需求wordpress 体育主题
  • 网站建设与设计方案岳阳网站开发报价
  • 网站建设捌金手指花总十四wordpress防淘宝主题
  • 网站建设 豫icp备自己做一款商城app
  • 网站建设安全方案wordpress 修改登录
  • python+网站开发实例教程青岛建设公司网站费用
  • 如何查询网站网站建设的整体流程
  • 怎么做dnf辅助网站热点新闻最新消息
  • 铁岭网站建设 258魔站wordpress 经典教程
  • 外贸跨境电商网站建设开发中小企业网站制作不了
  • 伊利集团网站建设怎么样呢WordPress会员中心模板
  • 高质量网站外链建设大揭秘我是做装修什么网站可以
  • 淄博论坛网站建设小企业网站建设在哪能看
  • 网站做支付功能难吗计算机前端开发要学哪些软件
  • 石景山网站建设多少钱株洲做网站渠道电话
  • WordPress建站主机推荐最新新闻头条国家大事国际新闻
  • 怎么进入微信官方网站邢台市网络科技有限公司
  • 凡总创业网站上海网站建设红旗
  • 工会网站建设的重要性wordpress炫酷模板下载
  • 财经网站模板跨境电商为什么招人难
  • wordpress又拍云seo优化关键词是什么意思
  • 网站建设公司华网天下北京南阳微信网站
  • 沙田镇网站建设建立的读音
  • 网站建设案例资讯备案网站 备注内容
  • 网站绝对布局小程序开发教程文档
  • 大石桥城乡规划建设局网站安装好了wordpress