Index: trunk/MultiChannelUSB/Paella.v
===================================================================
--- trunk/MultiChannelUSB/Paella.v	(revision 67)
+++ trunk/MultiChannelUSB/Paella.v	(revision 68)
@@ -5,5 +5,7 @@
 
 		inout	wire	[3:0]	TRG,
-		inout	wire	[6:0]	CON_A,
+		inout	wire			I2C_SDA,
+		output	wire			I2C_SCL,
+		inout	wire	[4:0]	CON_A,
 		inout	wire	[15:0]	CON_B,
 		input	wire	[12:0]	CON_C,
@@ -53,5 +55,5 @@
 	//	Turn inout ports to tri-state
 	assign	TRG			=	4'bz;
-	assign	CON_A		=	7'bz;
+	assign	CON_A		=	5'bz;
 	assign	CON_B		=	16'bz;
 	assign	USB_PA0		=	1'bz;
@@ -114,5 +116,5 @@
 	reg 			hst_reset [3:0];
 	reg 	[11:0]	hst_addr [3:0];
-	wire	[23:0]	hst_q [3:0];
+	wire	[31:0]	hst_q [3:0];
 
 	wire 			mux_reset, mux_type;
@@ -136,5 +138,5 @@
 
     assign	osc_thrs[0] = 16'd40;
-    assign	osc_thrs[1] = 16'd300;
+    assign	osc_thrs[1] = 16'd60;
     assign	osc_thrs[2] = 16'd40;
     assign	osc_thrs[3] = 16'd1650;
@@ -154,4 +156,5 @@
     assign	adc_data[3] = CON_C[11:0];
 */
+/*
 	adc_para adc_para_unit (
 		.lvds_dco(ADC_DCO),
@@ -160,5 +163,5 @@
  		.para_data(CON_C[11:0]),
 		.adc_data(adc_data[3]));
-
+*/
 /* 
 	wire			adc_pll_clk;
@@ -201,11 +204,11 @@
 		.lvds_fco(ADC_FCO),
 		.lvds_d(ADC_D),
-		.adc_data({	adc_data[0],
+		.adc_data({ adc_data[0],
 					adc_data[1],
-					adc_data[2]}));
+					adc_data[2] }));
  
 	genvar i;
 	generate
-		for (i = 1; i < 4; i = i + 1)
+		for (i = 0; i < 3; i = i + 1)
 		begin : MCA_CHAIN
 			adc_fifo adc_fifo_unit (
@@ -286,5 +289,5 @@
 				mux_max_byte = 2'd2;	
 				mux_min_addr = 16'd0;
-				mux_max_addr = 16'd4095;
+				mux_max_addr = 16'd4096;
 			end
 		endcase
@@ -300,9 +303,24 @@
 			3'b101: mux_q = hst_q[mux_chan][15:8];
 			3'b110: mux_q = hst_q[mux_chan][23:16];
+			3'b111: mux_q = hst_q[mux_chan][31:24];
 
 			default: mux_q = 8'd0;
 		endcase     
 	end
-	
+
+	wire			i2c_aclr;
+	wire			i2c_wrreq;
+	wire			i2c_full;
+	wire 	[15:0]	i2c_data;
+
+	i2c_fifo i2c_unit(
+		.clk(CLK_50MHz),
+		.aclr(i2c_aclr),
+		.wrreq(i2c_wrreq),
+		.data(i2c_data),
+		.full(i2c_full),
+		.i2c_sda(I2C_SDA),
+		.i2c_scl(I2C_SCL));
+
 	control control_unit (
 		.clk(CLK_50MHz),
@@ -325,4 +343,7 @@
 		.ram_addr(RAM_ADDR),
 		.ram_data({RAM_DQA, RAM_DQAP, RAM_DQB, RAM_DQBP}),
+		.i2c_wrreq(i2c_wrreq),
+		.i2c_data(i2c_data),
+		.i2c_full(i2c_full),
 		.led(LED));
 
