struct_array_field.sv 706 Bytes
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
module main;
    typedef struct packed {
        logic [1:0][2:0] x;
        logic [0:2][1:0] y;
        logic z;
    } foo_t;
    foo_t foo;

    initial begin
        $monitor($time, " %b %b %b %b %b %b %b %b",
            foo, foo.x, foo.y, foo.z,
            foo.x[0], foo.x[0][0], foo.y[0], foo.y[0][0]);

        #1; foo.z = 0;

        #1; foo.y = 0;
        #1; foo.y[0] = '1;
        #1; foo.y[1] = '1;
        #1; foo.y[1][1] = 0;
        #1; foo.y[0][0] = 1;
        #1; foo.y[0][1] = 1;

        #1; foo.x = 0;
        #1; foo.x[0] = '1;
        #1; foo.x[1] = '1;
        #1; foo.x[1][1] = 0;
        #1; foo.x[0][0] = 1;
        #1; foo.x[0][1] = 1;

    end
endmodule

module top;
endmodule