7

以下に示すように定義されたパック構造体があります

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

MyPackedStruct myPackedStruct;

上記と同様の構造を印刷するために使用できる SV 組み込み関数はありますか?

$display(...,myPackedStruct.field_name)?

4

2 に答える 2

9

%p書式要素を使用できます。

$display("%p", myPackedStruct);

モデルシムからの出力:

 # '{bit1:x, byte1:x}

IEEE 1800-2012 SystemVerilog 言語仕様21.2.1.7 Assignment pattern formatのセクションを参照してください。

于 2014-07-02T14:26:53.473 に答える
7

%p を使用できます-きれいな印刷:

$displayb("%p",myPackedStruct);

'{bit1:x, byte1:xxxxxxxx}

割り当てパターンとして出力されますが、フィールドやその順序を選択したり、他の個別の書式を適用したりすることはできません。%p はすばやく簡単に表示するのに適していますが、最終的にほとんどの人は、思い通りにフォーマットするメソッドを作成することになります。

于 2014-07-02T14:28:46.380 に答える