一 打印显示数据格式控制
转义字符“%”后跟格式说明字符用于指定输出打印格式,除了(%m, %l, and %%)以外,每个%所指定的输出打印格式在后面都应该有一个对应的表达式参数,当存在多个格式说明的时候,格式说明与表达式参数按位置关系形成一一对应。“%%”参见上一节,“%m”和“%l”参见下表说明。
特殊标注:
(1)各种进制的指定以及浮点数、指数等格式指定与C语言中比较相似,应用比较常见,此处不再赘述
(2)‘%m’和‘%l’ 分别可以显示打印语句所在当前模块的模块名,和该模块所在的仿真所构建的运行库路径信息,对于调试跟踪来说非常有用,其效果参见以下代码例
(3)‘%t’ 用于打印时间信息,通常跟$time配合使用
‘%u’ ‘%z’ 常用于$fwrite函数,用于向文件写入数据;其中%u不区分’x’和’z’数据,并将其映射为’0’;%z严格区分x和’z’数据,将其分别映射为’x’,‘z’。如果需要保持以及区分x(不确定值)和z(高阻)的话,推荐使用%z.
(4)%p用于打印聚合表达式,例如解压缩结构,数组和联合(unpacked structure,array,unions),结构体等等,非常方便,其效果如以下代码例所示
(14条消息) SystemVerilog: 打印显示之数据格式控制及特殊字符详解_system verilog paper_笨牛慢耕的博客-CSDN博客
二 特殊字符打印