local_cast.v 1.02 KB
Newer Older
1 2 3 4
module top;
    generate
        genvar i, j;
        for (i = 1; i < 5; i = i + 1) begin
5 6
            localparam [i - 1:0] A = 1'sb1;
            localparam [i + 4:0] B = 1'sb1;
7 8 9 10
            initial begin : foo
                integer x, y;
                x = $unsigned(cast_i(1'sb1));
                y = (1 << (i + 5)) - 1;
11
                $display("%0d %b %b %b %b", i, x, y, A, B);
12 13
            end
            for (j = 3; j < 6; j = j + 1) begin
14
                localparam [i * j - 1:0] C = 1'sb1;
15 16 17
                initial begin : bar
                    integer x;
                    x = (1 << (i * j)) - 1;
18
                    $display("%0d %0d %b %b", i, j, x, C);
19 20 21 22 23 24 25
                end
            end
            function signed [i-1:0] cast_i;
                input signed [i-1:0] inp;
                cast_i = inp;
            endfunction
        end
26 27 28 29 30
        localparam P = 2;
        for (i = 0; i < P; i = i + 1) begin : g
            wire a = i;
        end
        initial $display("%b %b", g[0].a, g[1].a);
31 32
    endgenerate
endmodule