verilog $timeformat

#学习记录#

1 语法

 $timeformat的语法如下:

$timeformat(units_number,precision_number,suffix_string,minimum_field_width);
  • units_number:是 0 到-15 之间的整数值,表示打印的时间值的单位。如图1所示。
  • precision_number:是在打印时间值时,小数点后保留的位数。其默认值为0。
  • suffix_string:是在时间值后面打印的一个后缀字符串。其默认值为空字符串。
  • minimum_field_width:是时间值字符串与后缀字符串合起来的这部分字符串的最小长度,若这部分字符串不足这个长度,则在这部分字符串之前补空格。其默认值为20。

图1 $timeformat units_number argument

1.1 NOTE

  • $timeformat不会更改`timescale设置的的时间单位与精度,它只是更改了$write、$display、$strobe、$monitor、$fwrite、$fdisplay、$fstrobe、$fmonitor等任务在%t格式下显示时间的方式。
  • 在一个initial块中,它会持续生效,直到执行了另一个$timeformat。

2 示例

`timescale 10ns / 1ps
module tb_timeformat();

initial
	$timeformat(-9, 2, " ns", 10);
	#1.2345;
	$display("%t: simulation started.",$realtime);
end

endmodule

 仿真结束后输出信息如下:

      12.34 ns: simulation started.

 $timeformat执行后,在$display任务中以%t格式显示时间时,时间值的单位是 10^(-9)秒,时间值保留到小数点后第2位,时间值字符串的后面加上一个" ns"字符串,时间值和" ns"合起来的字符串长度如果不足14个字符的话,就在这部分字符串的前面补空格,使得这部分字符串总长度为14个字符;如果这部分字符串长度超过了14个字符,那就不补空格了。

参考文献

[1] IEEE Standard for Verilog Hardware Description Language.

[2] Verilog中$timeformat的用法-CSDN博客

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值