システムのVerilogマクロを作成し、文字列変数を渡したいと思います。 define to define a string and pass that
STRING_NAMEを使用している別のスレッドを読みましたが、次のものが必要です。文字列を使用したVerilogマクロ
`define STRINGIFY(x) `"x`"
私はREG_PATH
をパラメータとして使用されているstring
に変換することにしたいです。
`define mirror(REG_PATH) \
$display(`STRINGIFY(REG_PATH)``other text);
文字列変数を使用して文字列を渡したいとします。
string register_path = "my string"
`mirror(register_path)
私はこのコードを試していないが、私はあなたがmacro
にstring
変数を渡すことができます知っています。 そのため、STRINGIFY(REG_PATH)
を使用しています。
$表示は例のためのものです。私はregister_path = "string"を割り当てたいが、これは$ displayに "string"と表示されない。 "register_path"と表示されます。 –
psprintfを使用できます。 register_pathの内容が必要で、その値が実行時に設定されるためです。 '定義ミラー(REG_PATH) $ display("%s他の文字列 "、$ psprintf("%s "、REG_PATH)); –
しかし、私が 'mirror(string_parameter)とstring_parameter =" My String "を呼び出すと、" My String "は$ディスプレイに表示されません。私は "string_parameter"と表示されます。 –