在Verilog中使用wire和assign与wire

时间:2017-11-30 20:52:54

标签: verilog

之间有什么区别吗?
wire A = B & C;

wire A;
assign A = B & C;

? 我不这么认为,但我已经看到使用后者的代码,我想知道这是否是出于某种原因。

1 个答案:

答案 0 :(得分:1)

它们在您的示例中功能相同。向线路声明添加延迟时略有不同。

wire #5 A = B & C;

wire A;
assign #5 A = B & C;

在第一种形式中,延迟被添加到所有其他网络驱动程序。您还可以使用SDF反向注释来修改线路延迟。

在第二种形式中,延迟仅适用于连续分配,并且您不能使用SDF反注释来修改延迟。

我的观察是大多数人在RTL中使用第二种形式来保持声明和功能分离。