Thanks, Dave, indeed, the example in section 6.7.1 confirms that a structure can be declared as a net in SystemVerilog. However, this example seems to me as rather hidden, I think more suitable place for it would be in the section dealing with structures, e.g. 7.2, where I originally tried to find somethig like this.
Could you (or anybody else) please suggest me a purpose of such declaration, why it could be better or more suitable than simply a declaration of a structure without explicit
wire specification, therefore with variable inferred? I am writing a textbook for students and I would like to give such suggestion in the textbook, nevertheless, I cannot get on a proper example or a purpose of such specification.
To better clarify my consideration - Example of declaration in LRM section 6.7.1 (page 62), structure declared as
wire:
wire struct packed {
logic ecc;
logic [7:0] data; } memsig;
The same structure without
wire specification, therefore declared as a variable:
struct packed {
logic ecc;
logic [7:0] data; } memsig;
In fact you can declare a net as a having structure data type. By default, all nets have the logic data type, which represents a single bit.
Are you reading the
latest LRM? See section 6.7.1 Net declarations with built-in net types.