Я использую modelsim с verilog. В настоящее время я пытаюсь построить 32-битный множитель, используя 8-битный множитель.Я делю умножение на 16 этапов, где на каждом этапе я умножаю 8 бит из одного числа на 8 бит другого числа, таким образом, в целом покрывая 2 целых 32-битных числа.я столкнулся с проблемой при попытке загрузить «нулевой байт» (8 битов нулей, которые находятся в определенном месте в числе), регистр, который отвечает за сохранение этих битов, не загружает нули и вместо этого сохраняет последние8-битное число, которое не равно нулю.как заставить этот регистр хранить нули.Я добавляю свой код.Большое спасибо.
reg [8:0] outmuxa,outmuxb;
always @(a_sel or b_sel) begin
case(a_sel)
00:outmuxa={1'b0,a[7:0]};
01:outmuxa={1'b0,a[15:8]};
10:outmuxa={1'b0,a[23:16]};
11:outmuxa={1'b0,a[31:24]};
endcase
case(b_sel)
00:outmuxb={1'b0,b[7:0]};
01:outmuxb={1'b0,b[15:8]};
10:outmuxb={1'b0,b[23:16]};
11:outmuxb={1'b0,b[31:24]};
endcase
end