Tesi Robotica Un coprocessore per Visual Search: Keypoint... | Page 103
4.3. IMPLEMENTAZIONE DEL MODULO DI CONVOLUZIONE LUT
213
218
223
228
233
238
103
0: begin
reg_mult_rom_b_5_value <= 0;
end
1: begin
reg_mult_rom_b_5_value <= unpack(pack(reg_mult_rom_b_5));
end
3: begin
reg_mult_rom_b_5_value <= unpack(pack(-reg_mult_rom_b_5));
end
endcase
start_moltip_three_pulse.send();
endrule
rule start_moltip_three_rule(start_moltip_three);
reg_mult_rom_b_0_b_1_value <= extend(reg_mult_rom_b_0_value) + extend
(reg_mult_rom_b_1_value);
reg_mult_rom_b_2_b_3_value <= extend(reg_mult_rom_b_2_value) + extend
(reg_mult_rom_b_3_value);
reg_mult_rom_b_4_b_5_value <= extend(reg_mult_rom_b_4_value) + extend
(reg_mult_rom_b_5_value);
start_moltip_four_pulse.send();
endrule
rule
start_moltip_four_rule(start_moltip_four);
reg_mult_rom_b_0_b_1_b_2_b_3_value <= extend(
reg_mult_rom_b_0_b_1_value) + extend(reg_mult_rom_b_2_b_3_value);
reg_mult_rom_b_4_b_5_latch_value <= reg_mult_rom_b_4_b_5_value;
start_moltip_five_pulse.send();
endrule
rule
start_moltip_five_rule(start_moltip_five);
reg_mult_rom_final_value<= extend(reg_mult_rom_b_0_b_1_b_2_b_3_value)
+ extend(reg_mult_rom_b_4_b_5_latch_value);
$display("fatto %0d + %0d\n",reg_mult_rom_b_4_b_5_latch_value,
reg_mult_rom_b_0_b_1_b_2_b_3_value);