Verilog,我可以在always块中为多个位分配一个位值吗

Verilog,我可以在always块中为多个位分配一个位值吗,verilog,Verilog,代码如下: always @ (C[n-1]) begin C[2*n-1:n]=C[n-1]; end 可能吗?如果没有,我怎么做?基本上,它是在执行符号扩展。在Verilog中复制位的语法是{COUNT{bits}。在您的例子中,类似于{n{C[n-1]}另一个问题,如何在此处放置缩进?您可以选择代码并点击“缩进代码”按钮,通过将其缩进4个空格来创建多行代码块。缩进超过4个空格将使代码缩进。如果您将信号声明为已签名,或使用$signed(),Verilog将为您在分配时签名扩展。

代码如下:

always @ (C[n-1])
begin
   C[2*n-1:n]=C[n-1];
end 

可能吗?如果没有,我怎么做?基本上,它是在执行符号扩展。

在Verilog中复制位的语法是
{COUNT{bits}
。在您的例子中,类似于
{n{C[n-1]}

另一个问题,如何在此处放置缩进?您可以选择代码并点击“缩进代码”按钮,通过将其缩进4个空格来创建多行代码块。缩进超过4个空格将使代码缩进。如果您将信号声明为已签名,或使用$signed(),Verilog将为您在分配时签名扩展。