verilog

时间:2016-08-11 10:42:14

标签: verilog system-verilog

我正在查看程序并找到以下代码:

{a2, a1} <= {a1, b};

我不确定我所经历的程序是用Verilog还是SystemVerilog编写的。我知道花括号用于Verilog中的连接操作,但是我并不完全遵循这里正在进行的连接。此外,由于我不确定给定的代码片段是否在Verilog或SystemVerilog中,因此我对代码感到困惑。花括号还表示SystemVerilog中的另一个操作......?

提前致谢

1 个答案:

答案 0 :(得分:5)

这只是将左手和右手侧分别作为一个变量的连接。 SystemVerilog 2009取代了Verilog,因此向后兼容大多数(全部?)语法。

例如

wire [0:0] l1;
wire [2:0] l2;
reg  [1:0] r1;
reg  [1:0] r2;

assign {l1,l2} = {r1,r2} ;

相同
assign l1[0] = r1[1];
assign l2[2] = r1[0];
assign l2[1] = r2[1];
assign l2[0] = r2[0];