Ich möchte ein System Verilog Makro erstellen und übergeben Sie eine Zeichenfolge-Variable. Ich habe einen anderen Thread gelesen, der define to define a string and pass that
STRING_NAME verwendet, der funktioniert, aber ich brauche Folgendes.System Verilog Makro mit Zeichenfolgen
`define STRINGIFY(x) `"x`"
Ich möchte REG_PATH
bis zum string
umgewandelt werden, die als Parameter verwendet wird.
Bei Verwendung möchte ich die Zeichenfolge mit einer Zeichenfolge-Variable übergeben.
string register_path = "my string"
`mirror(register_path)
Ich habe diesen Code nicht versucht, aber ich weiß, Sie eine string
Variable auf einen macro
passieren kann. Deshalb verwende ich die STRINGIFY(REG_PATH)
.
Das $ display ist nur für das Beispiel. Ich möchte register_path = "string" zuweisen, aber dies führt nicht dazu, dass die $ -Anzeige "string" anzeigt. Es wird "register_path" angezeigt. –
psprintf kann verwendet werden. Der Inhalt von register_path wird benötigt und sein Wert wird zur Laufzeit festgelegt. 'define mirror (REG_PATH) $ display ("% s anderer String ", $ psprintf ("% s ", REG_PATH)); –
Aber wenn ich 'Spiegel (String_Parameter) und String_Parameter = "Meine Zeichenfolge" aufrufen, werde ich nicht "Meine Zeichenfolge" in der $ -Anzeige gedruckt. Ich bekomme "string_parameter" wie gedruckt. –