mtv*_*ezy 2 verilog system-verilog
我试图对verilog中的值进行位移,以使替换的位为1而不是0。即我想这样做0001 << 1
,0011
而不是给0010
您使用的命令“ <<”将其余位置零。您可以执行以下代码:
假设您有一个名为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)