Verilog位移1

mtv*_*ezy 2 verilog system-verilog

我试图对verilog中的值进行位移,以使替换的位为1而不是0。即我想这样做0001 << 10011而不是给0010

Pou*_*nam 5

您使用的命令“ <<”将其余位置零。您可以执行以下代码:

假设您有一个名为A的4位变量(例如您的示例)。

A = 4'b0000; 
A = {A[2:0], 1'b1};
Run Code Online (Sandbox Code Playgroud)

通过串联,您可以将“ 1”代替“ 0”。

或者您可以使用“或”功能解决此问题:

A = (A << 1) | 4'b0001;
Run Code Online (Sandbox Code Playgroud)