struct_param.sv 761 Bytes
Newer Older
Zachary Snow committed
1
module Module #(parameter type T, parameter N);
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
    T t;
    type(t.a) x;
    type(t.b) y;
    initial begin
        $display("$bits(T)=", $bits(T));
        $display("$bits(t)=", $bits(t));
        $display("$bits(t.a)=", $bits(t.a));
        $display("$bits(t.b)=", $bits(t.b));
        $display("$bits(x)=", $bits(x));
        $display("$bits(y)=", $bits(y));
        $display("$bits(N)=", $bits(N));
        $display("N=", N);
    end
endmodule
module top;
    typedef struct packed {
        logic a;
        logic [2] b;
    } Struct1;
    typedef struct packed {
        logic [5] a;
        Struct1 b;
        logic [2] c;
        logic d;
    } Struct2;
    Module #(Struct1, $bits(Struct1)) m1();
    Module #(Struct2, $bits(Struct2)) m2();
endmodule