I'm just starting to learn Verilog. As I understand, Verilog has net
datatypes.
What does net
stand for?
I'm just starting to learn Verilog. As I understand, Verilog has net
datatypes.
What does net
stand for?
A net is such a data type, where you don't use it for storing values. They represent physical connections. You can think of wire as a net data type.
You can see more on nets here.
A net is short for network, and a network is a group of devices that share a common connection, a wire in most cases here. I wrote a short article to explain why Verilog has nets.
Nets : represent structural connections between components.Nets have values continuously driven on them by the outputs of the devices to which they are connected to. i.e. nets get the output value of their drivers. If a net has no driver, it gets the value of z(high impedance).
IEEE 1364-2005
4.2 Nets and variables:
There are two main groups of data types: the variable data types and the net data types. These two groups differ in the way that they are assigned and hold values. They also represent different hardware structures.
4.2.1 Net declarations:
The net data types can represent physical connections between structural entities, such as gates. A net shall not store a value (except for the trireg net). Instead, its value shall be determined by the values of its drivers, such as a continuous assignment or a gate.
and the syntax table that follows says:
net_type ::= supply0 | supply1 | tri | triand | trior | tri0 | tri1 | uwire | wire | wand | wor
Interpretation
A net is a set of data types, one of which is wire
.
Those data-types have in common that unlike registers they don't have memory: they are just intermediate results determined by their input. Much like the intuitive notion of wires.