Index: trunk/MultiChannelUSB/Paella.v
===================================================================
--- trunk/MultiChannelUSB/Paella.v	(revision 41)
+++ trunk/MultiChannelUSB/Paella.v	(revision 42)
@@ -134,5 +134,4 @@
 	reg 	[11:0]	adc_data;
 
-	wire			adc_lvds_clk;
 	wire 	[11:0]	adc_lvds_data [2:0];
 
@@ -161,5 +160,4 @@
 		.lvds_fco(ADC_FCO),
 		.lvds_d(ADC_D),
-		.adc_clk(adc_lvds_clk),
 		.adc_db(adc_lvds_data[0]),
 		.adc_dc(adc_lvds_data[1]),
@@ -167,5 +165,5 @@
 
 	adc_fifo adc_fifo_unit (
-		.adc_clk(adc_lvds_clk),
+		.adc_clk(ADC_FCO),
 		.adc_data(adc_lvds_data[1]),
 		.aclr(adc_fifo_aclr),
Index: trunk/MultiChannelUSB/adc_lvds.v
===================================================================
--- trunk/MultiChannelUSB/adc_lvds.v	(revision 41)
+++ trunk/MultiChannelUSB/adc_lvds.v	(revision 42)
@@ -5,21 +5,17 @@
  		input	wire	[2:0]	lvds_d,
 
-		output	wire			adc_clk,
-		output	wire	[11:0]	adc_db,
-		output	wire	[11:0]	adc_dc,
-		output	wire	[11:0]	adc_dd
+		output	reg		[11:0]	adc_db,
+		output	reg		[11:0]	adc_dc,
+		output	reg		[11:0]	adc_dd
 	);
 
 
 	wire 	[2:0]	int_data_h, int_data_l;
-	reg 	[11:0]	int_data_sr [2:0];
+	reg 	[11:0]	int_data_next [2:0];
 	reg 	[11:0]	int_data [2:0];
-	reg				int_fco;
-
-	integer			i;
 
 	altddio_in #(
 		.intended_device_family("Cyclone III"),
-		.invert_input_clocks("OFF"),
+		.invert_input_clocks("ON"),
 		.lpm_type("altddio_in"),
 		.width(3)) altddio_in_unit (
@@ -36,25 +32,22 @@
 	always @ (posedge lvds_dco)
 	begin
-		for(i = 0; i < 3; i = i + 1)
-		begin
-			int_data_sr[i] <= {int_data_sr[i][9:0], int_data_h[i], int_data_l[i]};
-		end
-
-		// one clock delay for FCO
-		int_fco <= lvds_fco;
-		
-		if((lvds_fco) & (~int_fco))
-		begin
-			for(i = 0; i < 3; i = i + 1)
-			begin
-				int_data[i] <= {int_data_sr[i][9:0], int_data_h[i], int_data_l[i]};
-			end
-		end
+		int_data[0] <= int_data_next[0];
+		int_data[1] <= int_data_next[1];
+		int_data[2] <= int_data_next[2];
 	end
 
-	assign	adc_clk = int_fco;
-	assign	adc_db = int_data[0];
-	assign	adc_dc = int_data[1];
-	assign	adc_dd = int_data[2];
+	always @ (posedge lvds_fco)
+	begin
+		adc_db <= int_data_next[0];
+		adc_dc <= int_data_next[1];
+		adc_dd <= int_data_next[2];
+	end
+
+	always @*
+	begin
+		int_data_next[0] = {int_data[0][9:0], int_data_l[0], int_data_h[0]};
+		int_data_next[1] = {int_data[1][9:0], int_data_l[1], int_data_h[1]};
+		int_data_next[2] = {int_data[2][9:0], int_data_l[2], int_data_h[2]};
+	end
 
 endmodule
Index: trunk/MultiChannelUSB/oscilloscope.v
===================================================================
--- trunk/MultiChannelUSB/oscilloscope.v	(revision 41)
+++ trunk/MultiChannelUSB/oscilloscope.v	(revision 42)
@@ -106,5 +106,5 @@
 						trig_addr_next = addr_reg;
 					end
-					state_next <= 4'd4;
+					state_next = 4'd4;
 				end
 			end
@@ -113,5 +113,5 @@
 			begin
 				// stop write
-				wren_next <= 1'b0;
+				wren_next = 1'b0;
 				addr_next = addr_reg + 10'd1;
 				if (trig_reg | (counter_reg < 10'd512))
