$strobe:
当该时刻的所有事件处理完后,在这个时间步的结尾打印一行格式化的文本,
语法
$strobe( Argument,...);
$fstrobe( Mcd, Argument,...);
Mcd = Expression {整数值}
规则
• 这些系统任务的变量的语法和它们所写的文本和几乎和$display 任务一样
• 当$strobe 被调用的时刻所有活动都完成了,$strobe 才打印文本,这包括所有阻塞性和非阻塞性赋值的作用

提示
在写仿真结果时请尽量使用$strobe 少用$display 或$write 这保证了选通的线网和寄存器被写入稳定
的值
举例
initial
begin
a = 0;
$display(a);          // displays 0
$strobe(a);           // displays 1 ...
a = 1;                   // ... 因为这条语句
end

$monitor

当一个或多个指定的线网或寄存器列表改变值的时候,写出一行文本.这个命令用于在测试设备中监控仿真行为.

语法
$monitor( Argument,...);
$fmonitor( Mcd, Argument,...);
$monitoron;                             {打开监控标志}
$monitoroff;                            {关闭监控标志}

Mcd = Expression                         {整数值}

规则
• 这些系统任务的变量的语法和它们所写的文本和几乎和$display 任务一样.
• 只有一个$monitor 进程,但同时可以运行任意数量的$fmonitor 进程.
• 第二次或者再次调用$monitor 会取消任何现有的$monitor 进程,而且用新的$monitor 进程代替.
• $monitoroff 禁能监控,$monitoron 重新使能监控.基于当前的$monitor 进程而不管值是否发生改  变,$monitoron 立即产生监控显示.
• 没有$fmonitor 相当于$monitoron 和$monitoroff
• 系统函数$time ,$stime 和$realtime 不从$monitor 等或$fmonitor 等触发显示.

$display 和$write
写格式化的文本到标准输出或仿真器的log 或者一个文件
语法
$display( Argument,...);
$fdisplay( Mcd, Argument,...);
$write( Argument,...);
$fwrite( Mcd, Argument,...);
Mcd = Expression {整数值}
规则
• $display 和$write 的唯一区别是$display 在文本的结束写一个换行字符而$write 不写.
• 变量可以是字符串或表达式或者空白[两个相邻的逗号]
• 写出的字符串可能包含格式说明符,如果是,每个字符串的后面必须紧跟足够的表达式为字符串的所有    格式表达式提供值(%m)除外

• 字符串可以包含以下的转义字符
\n 换行
\t 制表符
\” 双引号
\\ 反斜杠
\nnn 八进制字符的ASCII 值
.未知和高阻值被如下写出.注意八进制和十六进制数一个数字分别表示3 位或4 位.对于十进制
数未知和高阻值用一个数字表示.
. 小写的x 或z 表示这个数字代表的所有位都未知.
. 大写的X 或Z 表示这个数字代表的某些位,不是所有位,未知
• 如果一个变量列表包含两个相邻的逗号,这里将写入一个空格.

格式说明符
• 字符串允许有下面的格式说明符
%b %B              二进制
%o %O              八进制
$d $D              十进制
%h %H              十六进制
%e %E %f %F %g %G  实数
%c %C               字符
%s %S               字符串
%v %V                二进制和强度
%t %T                时间
%m %M                层次实例

• %v 打印的强度如下,电源- Su ,强- St ,拉- Pu ,大- La, 弱- We ,中等- Me ,小- Sm ,高- Hi
  %v 也打印值H 和L (这些用%b 打印时是X)
• 最小的区域宽度值在%字符后面(例如%10d), 对于十进制数,前面的零用空格代替,但对于 其他基数前面  的零也要打印出来.最小的区域宽度是0 表示区域已经足够大可以显示值.
• 实数的说明符格式(%e %f 和%g)和C 编程语言的格式完全兼容,例如%10.3g 指出最小的区域宽度是10 ,   小数点后面有3 位.
• 不用格式说明符书写的表达式用十进制格式书,写但一些额外的任务有不同的默认格式,例如:
$displayb ,$fwriteo 和$displayh 在不用格式说明符时分别将数字表达式写成二进制八进制和十六进制值.
举例

$display("Illegal opcode %h in %m at %t",
          Opcode, $realtime);
$writeh("Register values (hex.): ",
          reg1,, reg2,, reg3,, reg4,"\n");

随机推荐

  1. es入门--curl的使用

    文档介绍: 首先要讲什么是文档,我们中大多是java程序员,java是面向对象的,那么在elasticsearch看来:对象和文档是等价的.只不过这个对象是可以被序列化成key-value形式的jso ...

  2. 使用FunctionalInterface提供工厂方法

    1. 首先提供User类 public class User { private int id; private String name; public User(int id, String nam ...

  3. 5 个优秀前端 UI 框架

    随着 Web 技术的不断发展,前端开发框架层出不穷,各有千秋,今天小编为大家奉上前端 UI 框架的开源项目,希望大家能够喜欢!如果大家有 UI 框架相关的开源项目,也可以托管到码云上,我们会及时给予推 ...

  4. mysql 数据增删改的总结

    一.在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括 1.使用INSERT实现数据的插入2.UPDATE实现数据的更新3.使用DELETE实现数据的删除4.使用SELEC ...

  5. route Cmd详解

    第一条命令,配置外网网关: route -p add 0.0.0.0 mask 0.0.0.0 192.168.1.1 第二条命令,配置内网网关:route -p add 192.168.0.0 ma ...

  6. centos7 开机启动运行脚本

    /etc/profile.d 下建立一个xxxname.sh

  7. xshell 缺少mfc110u.dll

    https://www.microsoft.com/zh-CN/download/details.aspx?id=30679 如果 x64 没有反应,就下载 x86 安装试试,

  8. 用VBA写一个计算器

    着急的 玩家 可以 跳过“============”部分 ======================================可以跳过的 部分   开始==================== ...

  9. HTML5实现绘制几何图形

    HTML5新增了一个<canvas.../>属性.该元素自身并不绘制图形,只是相当于一张空画布.如果开发者需要向<canvas.../>上绘制图形则必须使用JavaScript ...

  10. python 并发编程 多进程 队列

    队列介绍 进程彼此之间互相隔离,要实现进程间通信(IPC),multiprocessing模块支持两种形式:队列和管道,这两种方式都是使用消息传递的 创建队列的类(底层就是以管道和锁定的方式实现) 制 ...