Verilog连接的方向

use*_*945 3 verilog concatenation

我是verilog的初学者。

几乎所有串联的示例如下。

wire [3:0] result;
reg  a, b, c, d;

result = {a, b, c, d};
Run Code Online (Sandbox Code Playgroud)

以下可能吗?

wire [3:0] result;
wire a, b, c, d;

{a, b, c, d} = result;
Run Code Online (Sandbox Code Playgroud)

小智 5

分配的LHS(左侧)确实允许串联。

module mod1;

wire [3:0] result;
wire a, b, c, d;

reg e,f,g,h;

{a, b, c, d} = result; //Invalid, not in procedural construct

assign {a, b, c, d} = result; //Valid
assign {a,{b,c},d}  = result; //Valid

initial 
   {e, f, g, h} = result; //Valid

endmodule
Run Code Online (Sandbox Code Playgroud)