Index: /trunk/MultiChannelUSB/Paella.v
===================================================================
--- /trunk/MultiChannelUSB/Paella.v	(revision 171)
+++ /trunk/MultiChannelUSB/Paella.v	(revision 172)
@@ -117,5 +117,5 @@
 
 	wire	[1:0]	amp_flag [3*N-1:0];
-	wire	[11:0]	amp_data [3*N-1:0];
+	wire	[12:0]	amp_data [3*N-1:0];
 
 	wire	[1:0]	amp_mux_flag [2:0];
@@ -137,5 +137,5 @@
 
 	wire	[11:0]	dec_data [N-1:0];
-	wire	[11:0]	clp_data [N-1:0];
+	wire	[12:0]	clp_data [N-1:0];
 	wire	[11:0]	tmp_data;
 
@@ -206,6 +206,6 @@
 			assign int_mux_data[j] = {
 				{4'd0, amp_flag[0+j][0], 7'd0},
-				amp_data[0+j],
-				clp_data[j],
+				amp_data[0+j][11:0],
+				clp_data[j][11:0],
 				sys_data[j]};
 		end
@@ -230,7 +230,7 @@
 		.sel(cfg_bits[6][1:0]),
 		.data({
-			{amp_flag[2], amp_data[2]},
-			{amp_flag[1], amp_data[1]},
-			{amp_flag[0], amp_data[0]}}),
+			{amp_flag[2], amp_data[2][11:0]},
+			{amp_flag[1], amp_data[1][11:0]},
+			{amp_flag[0], amp_data[0][11:0]}}),
 		.result({amp_mux_flag[0], amp_mux_data[0]}));
 
@@ -242,7 +242,7 @@
 		.sel(cfg_bits[6][5:4]),
 		.data({
-			{amp_flag[5], amp_data[5]},
-			{amp_flag[4], amp_data[4]},
-			{amp_flag[3], amp_data[3]}}),
+			{amp_flag[5], amp_data[5][11:0]},
+			{amp_flag[4], amp_data[4][11:0]},
+			{amp_flag[3], amp_data[3][11:0]}}),
 		.result({amp_mux_flag[1], amp_mux_data[1]}));
 
@@ -254,7 +254,7 @@
 		.sel(cfg_bits[6][9:8]),
 		.data({
-			{amp_flag[8], amp_data[8]},
-			{amp_flag[7], amp_data[7]},
-			{amp_flag[6], amp_data[6]}}),
+			{amp_flag[8], amp_data[8][11:0]},
+			{amp_flag[7], amp_data[7][11:0]},
+			{amp_flag[6], amp_data[6][11:0]}}),
 		.result({amp_mux_flag[2], amp_mux_data[2]}));
 
@@ -327,9 +327,9 @@
 		begin : MCA_CHAIN
 			
-			shift #(.shift(9), .width(19), .widthr(12)) shift_unit (
+			shift #(.shift(11), .width(19), .widthr(13)) shift_unit (
 				.clock(sys_clock),
 				.frame(sys_frame),
 				.reset(1'b0),
-				.amp_data(6'd5),
+				.amp_data(6'd21),
 				.inp_data(cic_data[j][18:0]),
 				.out_data(clp_data[j]));
@@ -337,9 +337,10 @@
 			assign sys_data[j] = (cfg_bits[1][4*j]) ? (adc_data[j] ^ 12'hfff) : (adc_data[j]);
 
-			amplitude #(.width(12)) amplitude_unit_1 (
+			amplitude #(.width(13)) amplitude_unit_1 (
 				.clock(sys_clock),
 				.frame(sys_frame),
 				.reset(1'b0),
-				.cfg_data(cfg_bits[7][11:0]),
+				.min_data({1'b0, cfg_bits[7][11:0]}),
+				.max_data(13'd4095),
 //				.cfg_data(cfg_bits[6+2*j][11:0]),
 				.inp_data(clp_data[j]),
@@ -347,9 +348,10 @@
 				.out_data(amp_data[0+j]));
 
-			amplitude #(.width(12)) amplitude_unit_2 (
+			amplitude #(.width(13)) amplitude_unit_2 (
 				.clock(sys_clock),
 				.frame(sys_frame),
 				.reset(1'b0),
-				.cfg_data(cfg_bits[8][11:0]),
+				.min_data({1'b0, cfg_bits[8][11:0]}),
+				.max_data(13'd4095),
 //				.cfg_data(cfg_bits[7+2*j][11:0]),
 				.inp_data(clp_data[j]),
@@ -357,9 +359,10 @@
 				.out_data(amp_data[3+j]));
 
-			amplitude #(.width(12)) amplitude_unit_3 (
+			amplitude #(.width(13)) amplitude_unit_3 (
 				.clock(sys_clock),
 				.frame(sys_frame),
 				.reset(1'b0),
-				.cfg_data(cfg_bits[9][11:0]),
+				.min_data({1'b0, cfg_bits[9][11:0]}),
+				.max_data(13'd4095),
 //				.cfg_data(cfg_bits[7+2*j][11:0]),
 				.inp_data(clp_data[j]),
