以下に示すように定義されたパック構造体があります
typedef struct packed {
logic bit1;
logic [7:0] byte1;
} MyPackedStruct;
MyPackedStruct myPackedStruct;
上記と同様の構造を印刷するために使用できる SV 組み込み関数はありますか?
$display(...,myPackedStruct.field_name)
?
以下に示すように定義されたパック構造体があります
typedef struct packed {
logic bit1;
logic [7:0] byte1;
} MyPackedStruct;
MyPackedStruct myPackedStruct;
上記と同様の構造を印刷するために使用できる SV 組み込み関数はありますか?
$display(...,myPackedStruct.field_name)
?
%p
書式要素を使用できます。
$display("%p", myPackedStruct);
モデルシムからの出力:
# '{bit1:x, byte1:x}
IEEE 1800-2012 SystemVerilog 言語仕様21.2.1.7 Assignment pattern format
のセクションを参照してください。
%p を使用できます-きれいな印刷:
$displayb("%p",myPackedStruct);
'{bit1:x, byte1:xxxxxxxx}
割り当てパターンとして出力されますが、フィールドやその順序を選択したり、他の個別の書式を適用したりすることはできません。%p はすばやく簡単に表示するのに適していますが、最終的にほとんどの人は、思い通りにフォーマットするメソッドを作成することになります。