我正在尝试用 verilog 编写一个 16 位 ALU。我的输入是 16 位 Ain、Bin 和 16 位输出。
我需要对两个输入进行 2 的补码加减。因此,我想知道我是否可以只使用“+”和“-”运算符。Ain+Bin
,Ain-Bin
此外,我需要将 A 中的位左旋转某个值 N。我得出以下结果,其中我复制 A 以形成 32 位并将其向左移动 N 位。但现在的问题是我需要再次将其减少到 16 位,但我该怎么做呢?
out <=({A,A}<<N);
我正在尝试用 verilog 编写一个 16 位 ALU。我的输入是 16 位 Ain、Bin 和 16 位输出。
我需要对两个输入进行 2 的补码加减。因此,我想知道我是否可以只使用“+”和“-”运算符。Ain+Bin
,Ain-Bin
此外,我需要将 A 中的位左旋转某个值 N。我得出以下结果,其中我复制 A 以形成 32 位并将其向左移动 N 位。但现在的问题是我需要再次将其减少到 16 位,但我该怎么做呢?
out <=({A,A}<<N);