1

テストベンチで使用できる uvm_field_* マクロが見つかりません。私は構造体を定義しました:

typedef struct {
   unsigned byte red;
   unsigned byte green;
   unsigned byte blue;
} pixel;

ここで、シーケンス アイテムで次のように宣言します。

rand pixel unsigned data[];
rand int   unsigned height;
rand int   unsigned width;

`uvm_object_utils_begin(cgs_rgb_trans_t)
  `uvm_field_int(height, UVM_ALL_ON)
  `uvm_field_int(width, UVM_ALL_ON)
  `uvm_field_array_pixel(data, UVM_ALL_ON)
`uvm_object_utils_end

これがうまくいくとは思えません。uvm_field_array_int として登録することはできますか? これを行う方法は何ですか?

4

2 に答える 2

2

Mentor では、フィールド オートメーション マクロの使用をお勧めしません。これは、これらの制限、どのケースが自動構成されるかについての混乱、およびそれらが課す深刻なパフォーマンスの低下のためです。さらに、いわゆる UVM intは内部的に 4K ビット ベクトルとして表され、多くのメモリを浪費します。詳細と代替手段については、この記事を参照してください。

于 2014-05-28T20:09:14.220 に答える