module_struct.sv 439 Bytes
Newer Older
Zachary Snow committed
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
`default_nettype none

typedef struct packed {
    logic [1:0] last;
    logic [1:0] first;
} MyStruct_t;


module Example(
    input logic [1:0] a, b,
    output logic [3:0] result
);

   MyStruct_t s;
   assign result = s;

  SubModule sub(
    .in(a),
    .out(s.last)
  );

   always_comb begin
        s.first = b;
   end

endmodule

module SubModule(
  input logic [1:0] in,
  output logic [1:0] out
);

  assign out = in;

endmodule