我假设你期望价值 data 发出信号 top 模块,由驱动模块的两个输出驱动,以便解决(例如,当一个驱动器 'z ,另一个得到了公共汽车。
data
top
'z
如果您声明,将会发生这种情况 top.data 信号为 output wire logic [1:0] data 。
top.data
output wire logic [1:0] data
部分 的 23.2.2.3确定端口类型,数据类型和方向的规则 强> IEEE 1800-2012标准规定了这一点
对于输出端口,默认端口类型取决于数据类型的方式 指定: 如果省略数据类型或使用 implicit_data_type语法,端口类型默认为net 默认网络类型。 如果使用显式声明数据类型 data_type语法,端口类型应默认为变量。
在您的情况下,第二个子句适用,因为您声明 data 如 output logic[1:0] ,这意味着它被解释为变量而不是网络。变量的多个值未得到解决(在某些工具中也是非法的)。
output logic[1:0]