Verilog で 16 ビット ALU を書き込もうとしています。私の入力は16ビットのAin、Bin、および16ビットの出力です。
両方の入力の 2 の補数の加算と減算を行う必要があります。そのため、「+」および「-」演算子を使用できるかどうか疑問に思っています。Ain+Bin
、Ain-Bin
また、特定の値 N だけ A のビットを左回転する必要があります。A を複製して 32 ビットを形成し、それを N ビット左にシフトする次のような結果になりました。しかし、問題は、それを再び 16 ビットに減らす必要があることですが、どうすればそれを行うことができますか?
out <=({A,A}<<N);