在 System Verilog 中打印打包结构

标签 printing struct verilog system-verilog packed

我定义了一个打包结构,如下所示

typedef struct packed {
    logic bit1;
    logic [7:0] byte1;
} MyPackedStruct;

MyPackedStruct myPackedStruct;

是否有任何 SV 内置函数可以用来打印与上面类似的结构,但具有更多字段,而不必编写自己的方法来使用

打印每个字段

$display(...,myPackedStruct.field_name)

最佳答案

您可以使用 %p 格式化元素。

$display("%p", myPackedStruct);

Modelsim 的输出:

 # '{bit1:x, byte1:x}

参见IEEE 1800-2012 SystemVerilog language spec.中的21.2.1.7分配模式格式部分

关于在 System Verilog 中打印打包结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24527093/

相关文章:

c++ - 使用按位或代替 std::max 来调整缓冲区大小

verilog - Verilog 指令是否是强制性的,例如时间尺度?

verilog - Verilog 输入输出线出现问题

ios - 打印 UITextView(使用蓝牙打印机)不会保留换行符

c# - 源文件正确,使用system.drawing打印将实际打印移至右侧和底部

c++ - constexpr 静态结构类成员的冲突声明

c - 如何在不同的 if 语句中访问我的结构的元素?

syntax-error - 为什么在Verilog代码中总是总是出现语法错误?

c - 当strtok返回NULL时如何继续从文件中读取

java - 打印JTextPane时简单的页面大小设置?