這個錯誤是因為在減法等式中,左邊的位寬應該比右邊的位寬大 1,以便容納借位位。例如,如果你有一個 16 位的寄存器 A 和一個 16 位的寄存器 B,你想要計算 A - B,那麼你的結果寄存器的位寬應該是 17 位。

你可以通過在左邊的寄存器位寬上加 1 來修復這個錯誤。例如:

reg [16:0] A;
reg [16:0] B;
reg [17:0] result;

always @(*) begin
   result = A - B;
end

這樣,你的結果寄存器就有足夠的位寬來容納借位位了。

Verilog 減法運算位寬錯誤:lhs 應大於 rhs 1 位

原文地址: https://www.cveoy.top/t/topic/pGU6 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录