string_macro.sv 1.2 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
`define FOO BAR
`define BAR(e) prefix``e
`define BAZ `"FOO`\`"`FOO`"
module top;
    initial begin
        $display("FOO");
        $display("`FOO");

        $display(`"`FOO`");
        $display(`"\`FOO`");
        $display(`"\\`FOO`");
        $display(`"\\\`FOO`");

        $display(`"\"FOO`");
        $display(`"\"`FOO`");
        $display(`"\"FOO\"`");
        $display(`"\"`FOO\"`");

        $display(`"FOO`");
        $display(`"FOO`FOO`");

        $display(`"`BAR(LOL)`");
        $display(`"\`BAR(LOL)`");
        $display(`"\\`BAR(LOL)`");
        $display(`"\\\`BAR(LOL)`");

        $display(`"`BAR(`FOO)`");
        $display(`"\`BAR(`FOO)`");
        $display(`"\\`BAR(`FOO)`");
        $display(`"\\\`BAR(`FOO)`");

        $display(`"`BAR(s`FOO)`");
        $display(`"\`BAR(s`FOO)`");
        $display(`"\\`BAR(s`FOO)`");
        $display(`"\\\`BAR(s`FOO)`");

        $display(`BAZ);

`ifdef DNE
        $display(`DNE);
        $display(`"`DNE`");
`define
`line
`foo
`endif

        $display("TEST END");
        $display("TEST\
 END");
        $display(`"TEST\
 END`");
        $display(`"TEST\`FOO\
 END`");
        $display(`"TEST\"`FOO\
 END`");
        $display(`"TEST\"`FOO\
 END`FOO`");
    end
endmodule