Add different default settings for

each camera
and each mode
This commit is contained in:
Imants Pulkstenis
2019-10-20 12:07:57 +03:00
parent 260f8efd58
commit fc3b11c78e
2 changed files with 681 additions and 23 deletions
+405 -23
View File
@@ -9,17 +9,102 @@ module default_reg_writer #(parameter
CAM_LINE = 9,
CAM_PIXEL = 10,
TRA_IMG_WIDTH = 'd320,
TRA_IMG_DEPTH = 'd240,
T11 = 25'sb0_000000000000_100000000000,
T12 = 25'sb0_000000000000_000000000000,
T13 = 25'sb0_000000000000_000000000000,
T21 = 25'sb0_000000000000_000000000000,
T22 = 25'sb0_000000000000_100000000000,
T23 = 25'sb0_000000000000_000000000000,
T31 = 25'sb0_000000000000_000000000000,
T32 = 25'sb0_000000000000_000000000000,
T33 = 25'sb0_000000000001_000000000000
// default settings for mode 0 camera 0
TRA_IMG_WIDTH_0_0 = 'd320,
TRA_IMG_DEPTH_0_0 = 'd240,
T11_0_0 = 25'sb0_000000000000_100000000000,
T12_0_0 = 25'sb0_000000000000_000000000000,
T13_0_0 = 25'sb0_000000000000_000000000000,
T21_0_0 = 25'sb0_000000000000_000000000000,
T22_0_0 = 25'sb0_000000000000_100000000000,
T23_0_0 = 25'sb0_000000000000_000000000000,
T31_0_0 = 25'sb0_000000000000_000000000000,
T32_0_0 = 25'sb0_000000000000_000000000000,
T33_0_0 = 25'sb0_000000000001_000000000000,
// default settings for mode 0 camera 1
TRA_IMG_WIDTH_0_1 = 'd320,
TRA_IMG_DEPTH_0_1 = 'd240,
T11_0_1 = 25'sb0_000000000000_100000000000,
T12_0_1 = 25'sb0_000000000000_000000000000,
T13_0_1 = 25'sb0_000000000000_000000000000,
T21_0_1 = 25'sb0_000000000000_000000000000,
T22_0_1 = 25'sb0_000000000000_100000000000,
T23_0_1 = 25'sb0_000000000000_000000000000,
T31_0_1 = 25'sb0_000000000000_000000000000,
T32_0_1 = 25'sb0_000000000000_000000000000,
T33_0_1 = 25'sb0_000000000001_000000000000,
// default settings for mode 1 camera 0
TRA_IMG_WIDTH_1_0 = 'd320,
TRA_IMG_DEPTH_1_0 = 'd240,
T11_1_0 = 25'sh0000000,
T12_1_0 = 25'sh1fffa04,
T13_1_0 = 25'sh0000000,
T21_1_0 = 25'sh0000aa8,
T22_1_0 = 25'sh0000000,
T23_1_0 = 25'sh0000000,
T31_1_0 = 25'sh0000000,
T32_1_0 = 25'sh00ef000,
T33_1_0 = 25'sh0001000,
// default settings for mode 1 camera 1
TRA_IMG_WIDTH_1_1 = 'd320,
TRA_IMG_DEPTH_1_1 = 'd240,
T11_1_1 = 25'sh0000000,
T12_1_1 = 25'sh1fffa04,
T13_1_1 = 25'sh0000000,
T21_1_1 = 25'sh0000aa8,
T22_1_1 = 25'sh0000000,
T23_1_1 = 25'sh0000000,
T31_1_1 = 25'sh0000000,
T32_1_1 = 25'sh00ef000,
T33_1_1 = 25'sh0001000,
// default settings for mode 2 camera 0
TRA_IMG_WIDTH_2_0 = 'd320,
TRA_IMG_DEPTH_2_0 = 'd240,
T11_2_0 = 25'sh1fff803,
T12_2_0 = 25'sh0000000,
T13_2_0 = 25'sh0000000,
T21_2_0 = 25'sh0000000,
T22_2_0 = 25'sh1fff804,
T23_2_0 = 25'sh0000000,
T31_2_0 = 25'sh013f000,
T32_2_0 = 25'sh00ef000,
T33_2_0 = 25'sh0001000,
// default settings for mode 2 camera 1
TRA_IMG_WIDTH_2_1 = 'd320,
TRA_IMG_DEPTH_2_1 = 'd240,
T11_2_1 = 25'sh1fff803,
T12_2_1 = 25'sh0000000,
T13_2_1 = 25'sh0000000,
T21_2_1 = 25'sh0000000,
T22_2_1 = 25'sh1fff804,
T23_2_1 = 25'sh0000000,
T31_2_1 = 25'sh013f000,
T32_2_1 = 25'sh00ef000,
T33_2_1 = 25'sh0001000,
// default settings for mode 3 camera 0
TRA_IMG_WIDTH_3_0 = 'd320,
TRA_IMG_DEPTH_3_0 = 'd240,
T11_3_0 = 25'sh0000000,
T12_3_0 = 25'sh00005fc,
T13_3_0 = 25'sh0000000,
T21_3_0 = 25'sh1fff558,
T22_3_0 = 25'sh0000000,
T23_3_0 = 25'sh0000000,
T31_3_0 = 25'sh013f000,
T32_3_0 = 25'sh0000000,
T33_3_0 = 25'sh0001000,
// default settings for mode 3 camera 1
TRA_IMG_WIDTH_3_1 = 'd320,
TRA_IMG_DEPTH_3_1 = 'd240,
T11_3_1 = 25'sh0000000,
T12_3_1 = 25'sh00005fc,
T13_3_1 = 25'sh0000000,
T21_3_1 = 25'sh1fff558,
T22_3_1 = 25'sh0000000,
T23_3_1 = 25'sh0000000,
T31_3_1 = 25'sh013f000,
T32_3_1 = 25'sh0000000,
T33_3_1 = 25'sh0001000
)(
input clk,
input i_enable,
@@ -56,18 +141,315 @@ if(i_enable)begin
end
end
case (r_count[6:3])
'd0 : r_data[CAM_PIXEL-1:0] <= TRA_IMG_WIDTH;
'd1 : r_data[CAM_LINE-1:0] <= TRA_IMG_DEPTH;
'd2 : r_data <= T11;
'd3 : r_data <= T12;
'd4 : r_data <= T13;
'd5 : r_data <= T21;
'd6 : r_data <= T22;
'd7 : r_data <= T23;
'd8 : r_data <= T31;
'd9 : r_data <= T32;
'd10 : r_data <= T33;
case (r_count[6:3]) // select parameter
'd0 : begin
case (r_count[2:1]) // select mode
'd0 : begin
case (r_count[0]) // select camera
'd0 : r_data[CAM_PIXEL-1:0] <= TRA_IMG_WIDTH_0_0;
'd1 : r_data[CAM_PIXEL-1:0] <= TRA_IMG_WIDTH_0_1;
endcase
end
'd1 : begin
case (r_count[0]) // select camera
'd0 : r_data[CAM_PIXEL-1:0] <= TRA_IMG_WIDTH_1_0;
'd1 : r_data[CAM_PIXEL-1:0] <= TRA_IMG_WIDTH_1_1;
endcase
end
'd2 : begin
case (r_count[0]) // select camera
'd0 : r_data[CAM_PIXEL-1:0] <= TRA_IMG_WIDTH_2_0;
'd1 : r_data[CAM_PIXEL-1:0] <= TRA_IMG_WIDTH_2_1;
endcase
end
'd3 : begin
case (r_count[0]) // select camera
'd0 : r_data[CAM_PIXEL-1:0] <= TRA_IMG_WIDTH_3_0;
'd1 : r_data[CAM_PIXEL-1:0] <= TRA_IMG_WIDTH_3_1;
endcase
end
endcase
end
'd1 : begin
case (r_count[2:1]) // select mode
'd0 : begin
case (r_count[0]) // select camera
'd0 : r_data[CAM_LINE-1:0] <= TRA_IMG_DEPTH_0_0;
'd1 : r_data[CAM_LINE-1:0] <= TRA_IMG_DEPTH_0_1;
endcase
end
'd1 : begin
case (r_count[0]) // select camera
'd0 : r_data[CAM_LINE-1:0] <= TRA_IMG_DEPTH_1_0;
'd1 : r_data[CAM_LINE-1:0] <= TRA_IMG_DEPTH_1_1;
endcase
end
'd2 : begin
case (r_count[0]) // select camera
'd0 : r_data[CAM_LINE-1:0] <= TRA_IMG_DEPTH_2_0;
'd1 : r_data[CAM_LINE-1:0] <= TRA_IMG_DEPTH_2_1;
endcase
end
'd3 : begin
case (r_count[0]) // select camera
'd0 : r_data[CAM_LINE-1:0] <= TRA_IMG_DEPTH_3_0;
'd1 : r_data[CAM_LINE-1:0] <= TRA_IMG_DEPTH_3_1;
endcase
end
endcase
end
'd2 : begin
case (r_count[2:1]) // select mode
'd0 : begin
case (r_count[0]) // select camera
'd0 : r_data <= T11_0_0;
'd1 : r_data <= T11_0_1;
endcase
end
'd1 : begin
case (r_count[0]) // select camera
'd0 : r_data <= T11_1_0;
'd1 : r_data <= T11_1_1;
endcase
end
'd2 : begin
case (r_count[0]) // select camera
'd0 : r_data <= T11_2_0;
'd1 : r_data <= T11_2_1;
endcase
end
'd3 : begin
case (r_count[0]) // select camera
'd0 : r_data <= T11_3_0;
'd1 : r_data <= T11_3_1;
endcase
end
endcase
end
'd3 : begin
case (r_count[2:1]) // select mode
'd0 : begin
case (r_count[0]) // select camera
'd0 : r_data <= T12_0_0;
'd1 : r_data <= T12_0_1;
endcase
end
'd1 : begin
case (r_count[0]) // select camera
'd0 : r_data <= T12_1_0;
'd1 : r_data <= T12_1_1;
endcase
end
'd2 : begin
case (r_count[0]) // select camera
'd0 : r_data <= T12_2_0;
'd1 : r_data <= T12_2_1;
endcase
end
'd3 : begin
case (r_count[0]) // select camera
'd0 : r_data <= T12_3_0;
'd1 : r_data <= T12_3_1;
endcase
end
endcase
end
'd4 : begin
case (r_count[2:1]) // select mode
'd0 : begin
case (r_count[0]) // select camera
'd0 : r_data <= T13_0_0;
'd1 : r_data <= T13_0_1;
endcase
end
'd1 : begin
case (r_count[0]) // select camera
'd0 : r_data <= T13_1_0;
'd1 : r_data <= T13_1_1;
endcase
end
'd2 : begin
case (r_count[0]) // select camera
'd0 : r_data <= T13_2_0;
'd1 : r_data <= T13_2_1;
endcase
end
'd3 : begin
case (r_count[0]) // select camera
'd0 : r_data <= T13_3_0;
'd1 : r_data <= T13_3_1;
endcase
end
endcase
end
'd5 : begin
case (r_count[2:1]) // select mode
'd0 : begin
case (r_count[0]) // select camera
'd0 : r_data <= T21_0_0;
'd1 : r_data <= T21_0_1;
endcase
end
'd1 : begin
case (r_count[0]) // select camera
'd0 : r_data <= T21_1_0;
'd1 : r_data <= T21_1_1;
endcase
end
'd2 : begin
case (r_count[0]) // select camera
'd0 : r_data <= T21_2_0;
'd1 : r_data <= T21_2_1;
endcase
end
'd3 : begin
case (r_count[0]) // select camera
'd0 : r_data <= T21_3_0;
'd1 : r_data <= T21_3_1;
endcase
end
endcase
end
'd6 : begin
case (r_count[2:1]) // select mode
'd0 : begin
case (r_count[0]) // select camera
'd0 : r_data <= T22_0_0;
'd1 : r_data <= T22_0_1;
endcase
end
'd1 : begin
case (r_count[0]) // select camera
'd0 : r_data <= T22_1_0;
'd1 : r_data <= T22_1_1;
endcase
end
'd2 : begin
case (r_count[0]) // select camera
'd0 : r_data <= T22_2_0;
'd1 : r_data <= T22_2_1;
endcase
end
'd3 : begin
case (r_count[0]) // select camera
'd0 : r_data <= T22_3_0;
'd1 : r_data <= T22_3_1;
endcase
end
endcase
end
'd7 : begin
case (r_count[2:1]) // select mode
'd0 : begin
case (r_count[0]) // select camera
'd0 : r_data <= T23_0_0;
'd1 : r_data <= T23_0_1;
endcase
end
'd1 : begin
case (r_count[0]) // select camera
'd0 : r_data <= T23_1_0;
'd1 : r_data <= T23_1_1;
endcase
end
'd2 : begin
case (r_count[0]) // select camera
'd0 : r_data <= T23_2_0;
'd1 : r_data <= T23_2_1;
endcase
end
'd3 : begin
case (r_count[0]) // select camera
'd0 : r_data <= T23_3_0;
'd1 : r_data <= T23_3_1;
endcase
end
endcase
end
'd8 : begin
case (r_count[2:1]) // select mode
'd0 : begin
case (r_count[0]) // select camera
'd0 : r_data <= T31_0_0;
'd1 : r_data <= T31_0_1;
endcase
end
'd1 : begin
case (r_count[0]) // select camera
'd0 : r_data <= T31_1_0;
'd1 : r_data <= T31_1_1;
endcase
end
'd2 : begin
case (r_count[0]) // select camera
'd0 : r_data <= T31_2_0;
'd1 : r_data <= T31_2_1;
endcase
end
'd3 : begin
case (r_count[0]) // select camera
'd0 : r_data <= T31_3_0;
'd1 : r_data <= T31_3_1;
endcase
end
endcase
end
'd9 : begin
case (r_count[2:1]) // select mode
'd0 : begin
case (r_count[0]) // select camera
'd0 : r_data <= T32_0_0;
'd1 : r_data <= T32_0_1;
endcase
end
'd1 : begin
case (r_count[0]) // select camera
'd0 : r_data <= T32_1_0;
'd1 : r_data <= T32_1_1;
endcase
end
'd2 : begin
case (r_count[0]) // select camera
'd0 : r_data <= T32_2_0;
'd1 : r_data <= T32_2_1;
endcase
end
'd3 : begin
case (r_count[0]) // select camera
'd0 : r_data <= T32_3_0;
'd1 : r_data <= T32_3_1;
endcase
end
endcase
end
'd10 : begin
case (r_count[2:1]) // select mode
'd0 : begin
case (r_count[0]) // select camera
'd0 : r_data <= T33_0_0;
'd1 : r_data <= T33_0_1;
endcase
end
'd1 : begin
case (r_count[0]) // select camera
'd0 : r_data <= T33_1_0;
'd1 : r_data <= T33_1_1;
endcase
end
'd2 : begin
case (r_count[0]) // select camera
'd0 : r_data <= T33_2_0;
'd1 : r_data <= T33_2_1;
endcase
end
'd3 : begin
case (r_count[0]) // select camera
'd0 : r_data <= T33_3_0;
'd1 : r_data <= T33_3_1;
endcase
end
endcase
end
default: begin
r_configured <= 1; // default case just in case do nothing
r_we <= 0;