Tesi Robotica Algoritmi ed architetture per la risoluzione di... | Page 130
130
700
705
710
715
720
725
if ((prevAddr_b & prevSize_b_and) != 0 && memory_controller_enable_b)
begin
$display("Error: memory address not aligned to ram size!");
$finish;
end
memory_controller_gimp_image1_out_b = 0;
case(prevAddr_b)
0: memory_controller_gimp_image1_out_b[64-1:0] =
memory_controller_gimp_image1_out_struct_b[64-1:0];
1: memory_controller_gimp_image1_out_b[32-1:0] =
memory_controller_gimp_image1_out_struct_b[40-1:8];
2: memory_controller_gimp_image1_out_b[32-1:0] =
memory_controller_gimp_image1_out_struct_b[48-1:16];
3: memory_controller_gimp_image1_out_b[32-1:0] =
memory_controller_gimp_image1_out_struct_b[56-1:24];
4: memory_controller_gimp_image1_out_b[32-1:0] =
memory_controller_gimp_image1_out_struct_b[64-1:32];
5: memory_controller_gimp_image1_out_b[16-1:0] =
memory_controller_gimp_image1_out_struct_b[56-1:40];
6: memory_controller_gimp_image1_out_b[16-1:0] =
memory_controller_gimp_image1_out_struct_b[64-1:48];
7: memory_controller_gimp_image1_out_b[8-1:0] =
memory_controller_gimp_image1_out_struct_b[64-1:56];
endcase
memory_controller_out_prev_b = memory_controller_out_reg_b & { 64{!
memory_controller_enable_reg_b}};
memory_controller_out_b = 1’b0 | memory_controller_out_prev_b |
memory_controller__str1_out_b | memory_controller__str2_out_b |
memory_controller__str3_out_b | memory_controller__str4_out_b |
memory_controller_gimp_image1_out_b;
end
always @(posedge clk)
begin
memory_controller_out_reg_b <= memory_controller_out_b;
memory_controller_enable_reg_b <= memory_controller_enable_b;
select__str1_reg_b <= select__str1_b;
select__str2_reg_b <= select__str2_b;
select__str3_reg_b <= select__str3_b;
select__str4_reg_b <= select__str4_b;
select_gimp_image