SystemVerilog stringify(`")运算符和换行符

时间:2017-09-27 20:29:43

标签: system-verilog active-hdl

我在宏中使用SystemVerilog stringify运算符`",如下所示。该案件是故意设计的,以显示错误:

module my_test();
    `define print(x) $fwrite(log_file, `"x`")
    `define println(x) $fwrite(log_file, `"x\n`")
    integer log_file;

    initial begin
        log_file = $fopen("result.txt", "w");
        `print(A);
        `print(B);
        `println(C);
        `println(D);
        `print(E);
        `print(F);
    end
endmodule

这给出了输出(没有尾随换行符):

ABC
`D
`EF

为什么输出中有`个,但仅来自println
这是在规范中记录的行为,还是模拟器中的错误(Aldec Active-HDL)?

1 个答案:

答案 0 :(得分:0)

这是您工具中的错误。但是,不需要第二个`",并为您提供所需的结果。