之间有什么区别吗?
wire A = B & C;
和
wire A;
assign A = B & C;
? 我不这么认为,但我已经看到使用后者的代码,我想知道这是否是出于某种原因。
答案 0 :(得分:1)
它们在您的示例中功能相同。向线路声明添加延迟时略有不同。
wire #5 A = B & C;
wire A;
assign #5 A = B & C;
在第一种形式中,延迟被添加到所有其他网络驱动程序。您还可以使用SDF反向注释来修改线路延迟。
在第二种形式中,延迟仅适用于连续分配,并且您不能使用SDF反注释来修改延迟。
我的观察是大多数人在RTL中使用第二种形式来保持声明和功能分离。