Я хотел бы создать системный макрос Verilog и передать ему строковую переменную. Я прочитал другой поток, который использует define to define a string and pass that
STRING_NAME, который работает, но мне нужно следующее.
`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)
Я не пробовал этот код, но знаю, что вы можете передать переменную string
в macro
. Вот почему я использую STRINGIFY(REG_PATH)
.