什么情况下我们必须在systemverilog中使用'net'数据类型?
What is the occasion when we have to use the 'net' data type in systemverilog?
据我所知,如今systemverilog中的'reg'类型可以用于assign语句。
按照旧的方式,assign 语句只使用 'net' 类型。
所以我想知道什么样的信号应该是systemverilog中的'net'类型?
更新1
从这里开始,http://www.testbench.in/IF_01_INTERFACE.html
我可以找到接口声明。
interface intf #(parameter BW = 8)(input clk);
logic read, enable;
logic [BW -1 :0] addr,data;
endinterface :intf
说到这里,我想知道为什么read和enable以及addr和data信号都是cleared logic数据类型?有什么理由吗?为什么不使用 reg 或 wire?
A net 在一个信号上有多个驱动器时使用,通常与双向端口结合使用,并且用于需要强度才能操作的开关级设计.有关详细信息,请参阅 http://go.mentor.com/wire-vs-reg。
关于 net 的使用,Dave 的回答几乎涵盖了它。
来自 IEEE 标准 1800-2012,
The keyword reg does not always accurately describe user intent, as it
could be perceived to imply a hardware register. The keyword logic is
a more descriptive term. logic and reg denote the same type.
可以在下面的链接中找到有关逻辑使用的更多信息。
1) Morgans answer
2)
据我所知,如今systemverilog中的'reg'类型可以用于assign语句。
按照旧的方式,assign 语句只使用 'net' 类型。
所以我想知道什么样的信号应该是systemverilog中的'net'类型?
更新1
从这里开始,http://www.testbench.in/IF_01_INTERFACE.html 我可以找到接口声明。
interface intf #(parameter BW = 8)(input clk);
logic read, enable;
logic [BW -1 :0] addr,data;
endinterface :intf
说到这里,我想知道为什么read和enable以及addr和data信号都是cleared logic数据类型?有什么理由吗?为什么不使用 reg 或 wire?
A net 在一个信号上有多个驱动器时使用,通常与双向端口结合使用,并且用于需要强度才能操作的开关级设计.有关详细信息,请参阅 http://go.mentor.com/wire-vs-reg。
关于 net 的使用,Dave 的回答几乎涵盖了它。
来自 IEEE 标准 1800-2012,
The keyword reg does not always accurately describe user intent, as it could be perceived to imply a hardware register. The keyword logic is a more descriptive term. logic and reg denote the same type.
可以在下面的链接中找到有关逻辑使用的更多信息。
1) Morgans answer
2)