【发布时间】:2021-12-09 17:29:34
【问题描述】:
我试图在 verilog 中反转一个 64 位变量,但由于某种原因,只有一位反转了。
wire [63:0] bc;
assign bc = 64'b0;
assign notbc = ~bc;
我希望输出为 64 位,但我得到的最高有效位为 1,其他位为 0。 我还尝试了我在网上找到的其他东西:
assign notbc = bc ^ 64'b1;
但这次我得到的是最低有效位是 1,其他位是 0。我能做些什么来否定每一位,即 1 的 64 位? 注意:我仅限于 Verilog,无法使用 SystemVerilog。
这是完整的模块:
`timescale 1ns/1ns
module notting(
output [63:0] out);
wire [63:0] bc;
assign bc = 64'b0;
assign out = ~bc;
endmodule
【问题讨论】:
-
您的代码适用于我在 5 个不同的平台上。 edaplayground.com/x/CE6y
标签: verilog