2017-03-23 4 views
0

構造体のフィールドの幅を取得する方法は?私は使用しようとしましたダミー変数を作成せずにSystemVerilogで構造体のフィールドの幅を取得する方法は?

$bits(struct_type_name.field_name) 

コンパイルできません。ダミー変数を作成して$bits()を適用する必要があります。しかし、それは私がたくさんの幅が必要な場合は、多くのゴミを作成します。

もっと良い方法がありますか?

答えて

0

残念ながら、struct型のfield_nameは別の型または変数ではありません。二つの提案

  1. _field_name_を宣言するときtypedefを使用して$bits(field_name_t)
  2. を使用するには、あなたが$ビットを必要とする範囲に自動的にローカル変数を宣言します。おそらく最適化されるでしょうが、タイプ情報が$ビットで抽​​出される前ではありません。
関連する問題