亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? rt_window_monitor.v

?? FPGA之間的LVDS傳輸
?? V
?? 第 1 頁 / 共 2 頁
字號(hào):
///////////////////////////////////////////////////////////////////////////////
//
//    File Name:  RT_WINDOW_MONITOR.v
//      Version:  1.0
//         Date:  08/07/06
//        Model:  Channel Alignment Module
//
//      Company:  Xilinx, Inc.
//  Contributor:  APD Applications Group
//
//   Disclaimer:  XILINX IS PROVIDING THIS DESIGN, CODE, OR
//                INFORMATION "AS IS" SOLELY FOR USE IN DEVELOPING
//                PROGRAMS AND SOLUTIONS FOR XILINX DEVICES.  BY
//                PROVIDING THIS DESIGN, CODE, OR INFORMATION AS
//                ONE POSSIBLE IMPLEMENTATION OF THIS FEATURE,
//                APPLICATION OR STANDARD, XILINX IS MAKING NO
//                REPRESENTATION THAT THIS IMPLEMENTATION IS FREE
//                FROM ANY CLAIMS OF INFRINGEMENT, AND YOU ARE
//                RESPONSIBLE FOR OBTAINING ANY RIGHTS YOU MAY
//                REQUIRE FOR YOUR IMPLEMENTATION.  XILINX
//                EXPRESSLY DISCLAIMS ANY WARRANTY WHATSOEVER WITH
//                RESPECT TO THE ADEQUACY OF THE IMPLEMENTATION,
//                INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OR
//                REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE
//                FROM CLAIMS OF INFRINGEMENT, IMPLIED WARRANTIES
//                OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
//                PURPOSE.
//
//                (c) Copyright 2006 Xilinx, Inc.
//                All rights reserved.
//
///////////////////////////////////////////////////////////////////////////////
// 
// Summary:
//
// The RT_WINDOW_MONITOR module adjusts the data sampling window in real-time
// to constantly keep the sampling point at the center of the data eye. To do this,
// every data channel has two parallel (and ideally identical) paths in the receiver.
// One of the paths is the master path carrying user data; the other path is a monitor
// that can be interrogated to determine the position of the sampling point. If the monitor
// shows that the window has drifted toward the hold edge, then the master can be 
// adjusted accordingly.  
//
//----------------------------------------------------------------

module RT_WINDOW_MONITOR
	(
	CLOCK,
	RESET,
	TRAINING_DONE,
	START,
	DATA_MASTER,
	DATA_MONITOR,
	
	INC_MONITOR,
	ICE_MONITOR,
	INC_DATABUS,
	ICE_DATABUS,
	
	DATA_ALIGNED_RT
	);

input		CLOCK;			//RECEIVER CLOCK DOMAIN
input		RESET;			//RESET
input		START;			//FLAG INDICATING THAT CHANNEL SWITCH HAS BEEN MADE
input		TRAINING_DONE;		//FLAG INDICATING THAT INITIAL ALIGNMENT IS COMPLETE
input	[5:0]	DATA_MASTER;		//USER DATA CHANNEL
input	[5:0]	DATA_MONITOR;		//MONITOR DATA CHANNEL

output		INC_MONITOR;		//INCREMENT/DECREMENT DELAY CONTROL FOR MONITOR DATA CHANNEL 
output		ICE_MONITOR;            //INCREMENT/DECREMENT DELAY CONTROL FOR MONITOR DATA CHANNEL
output		INC_DATABUS;		//INCREMENT/DECREMENT DELAY CONTROL FOR USER DATA CHANNEL
output		ICE_DATABUS;            //INCREMENT/DECREMENT DELAY CONTROL FOR USER DATA CHANNEL
output		DATA_ALIGNED_RT;	//FLAG INDICATING THAT PROCEDURE ON CURRENT CHANNEL COMPLETED 

wire	[6:0]	COUNT_VALUE0;
wire	[6:0]	COUNT_VALUE1;
wire	[4:0]	SAMPLE_WINDOW;		//{-2, -1, CENTER, +1, +2}, WHERE "0" IS ERRORS AND "1" IS ERROR FREE AT THAT POSITION
wire		DATA_ALIGNED_RTx;	

reg	[4:0] 	CURRENT_STATE;
reg	[4:0]	NEXT_STATE;
reg		INC_MONITOR;
reg		ICE_MONITOR;
reg		INC_DATABUS;	
reg		ICE_DATABUS;
reg		COUNT0; 
reg		UD0; 
reg		COUNT1; 
reg		UD1; 
reg	[4:0]	STORE_STATUS;
reg		STATUS;


parameter	INIT		= 5'b00000;
parameter	WAIT128		= 5'b00001;
parameter	COMPARE_0	= 5'b00010;
parameter	RECORD_0_0	= 5'b00011;
parameter	RECORD_1_0	= 5'b00100;
parameter	DEC_1_0		= 5'b00101;
parameter	WAIT7_0		= 5'b00110;
parameter	COMPARE_MINUS1	= 5'b00111;
parameter	RECORD_0_1	= 5'b01000;
parameter	RECORD_1_1	= 5'b01001;
parameter	DEC_1_1		= 5'b01010;
parameter	WAIT7_1		= 5'b01011;
parameter	COMPARE_MINUS2	= 5'b01100;
parameter	RECORD_0_2	= 5'b01101;
parameter	RECORD_1_2	= 5'b01110;
parameter	INC_3		= 5'b01111;
parameter	WAIT7_2		= 5'b10000;
parameter	COMPARE_PLUS1	= 5'b10001;
parameter	RECORD_0_3	= 5'b10010;
parameter	RECORD_1_3	= 5'b10011;
parameter	INC_1		= 5'b10100;
parameter	WAIT7_3		= 5'b10101;
parameter	COMPARE_PLUS2	= 5'b10110;
parameter	RECORD_0_4	= 5'b10111;
parameter	RECORD_1_4	= 5'b11000;
parameter	IDLE		= 5'b11001;
parameter	BEGIN_ADJUST	= 5'b11010; 
parameter	INC_ALL		= 5'b11011;
parameter	DEC_ALL		= 5'b11100;
parameter	DEC_2		= 5'b11101;
parameter	DONE		= 5'b11110;

assign 		DATA_ALIGNED_RTx = CURRENT_STATE[4] & CURRENT_STATE[3] & CURRENT_STATE[2] & CURRENT_STATE[1] & ~CURRENT_STATE[0];

FDR count_reg(.Q(DATA_ALIGNED_RT), .C(CLOCK), .D(DATA_ALIGNED_RTx), .R(RESET));
count_to_128 counter0(.clk(CLOCK), .rst(RESET), .count(COUNT0), .ud(UD0), .counter_value(COUNT_VALUE0));
count_to_128 counter1(.clk(CLOCK), .rst(RESET), .count(COUNT1), .ud(UD1), .counter_value(COUNT_VALUE1));

FDRE bit2(.Q(SAMPLE_WINDOW[0]), .C(CLOCK), .CE(STORE_STATUS[0]), .D(STATUS), .R(RESET));
FDRE bit1(.Q(SAMPLE_WINDOW[1]), .C(CLOCK), .CE(STORE_STATUS[1]), .D(STATUS), .R(RESET));
FDRE bit0(.Q(SAMPLE_WINDOW[2]), .C(CLOCK), .CE(STORE_STATUS[2]), .D(STATUS), .R(RESET));
FDRE bitN1(.Q(SAMPLE_WINDOW[3]), .C(CLOCK), .CE(STORE_STATUS[3]), .D(STATUS), .R(RESET));
FDRE bitN2(.Q(SAMPLE_WINDOW[4]), .C(CLOCK), .CE(STORE_STATUS[4]), .D(STATUS), .R(RESET));

//CURRENT STATE LOGIC
always@(posedge CLOCK or posedge RESET)
begin
if(RESET == 1'b1)
	CURRENT_STATE = 5'b00000;
else
	CURRENT_STATE = NEXT_STATE;
end

//NEXT STATE LOGIC
//NOTE: DATA_MONITOR IS INVERTED WITH RESPECT TO DATA_MASTER, SO DURING COMPARISONS
//IN THE NEXT STATE LOGIC, DATA_MONITOR IS ALWAYS USED AS (~DATA_MONITOR) 
always@(CURRENT_STATE or DATA_MASTER or DATA_MONITOR or START or COUNT_VALUE0 or COUNT_VALUE1 or SAMPLE_WINDOW or TRAINING_DONE)
begin
	case (CURRENT_STATE)
	
	INIT:		begin					//REMAIN HERE UNTIL TRAINING COMPLETES
			if (TRAINING_DONE == 1'b0)
				NEXT_STATE <= INIT;
			else if (START == 1'b0)
				NEXT_STATE <= WAIT128;
			else
				NEXT_STATE <= INIT;
			end
	
	WAIT128:	begin					//WAIT 128 CYCLES BEFORE BEGINNING COMPARISON
			if (COUNT_VALUE0 > 7'b1111100)
				NEXT_STATE <= COMPARE_0;
			else
				NEXT_STATE <= WAIT128;
			end 	
	
	COMPARE_0:	begin					//COMPARE THE INITIAL POSITION (0)
			if (DATA_MASTER != (~DATA_MONITOR))
				NEXT_STATE <= RECORD_0_0;
			else
			if (COUNT_VALUE1 < 7'b1111110)
				NEXT_STATE <= COMPARE_0; 
			else
			if (DATA_MASTER == (~DATA_MONITOR))
				NEXT_STATE <= RECORD_1_0;
			else	
				NEXT_STATE <= RECORD_0_0;
			end
	
	RECORD_0_0:	NEXT_STATE <= DEC_1_0;			//INITIAL POSITION HAD ERRORS
	RECORD_1_0:	NEXT_STATE <= DEC_1_0;			//INITIAL POSITION WAS ERROR FREE
	
	DEC_1_0:	NEXT_STATE <= WAIT7_0;			//DECREMENT THE MONITOR TO ONE IDELAY TAP LESS (-1)
	
	WAIT7_0:	begin					//WAIT FOR LATENCY TO SETTLE
			if (COUNT_VALUE0 > 7'b0000111)
				NEXT_STATE <= COMPARE_MINUS1;
			else
				NEXT_STATE <= WAIT7_0;
			end

	COMPARE_MINUS1:	begin					//COMPARE THE -1 POSITION
			if (DATA_MASTER != (~DATA_MONITOR))
				NEXT_STATE <= RECORD_0_1;
			else
			if (COUNT_VALUE1 < 7'b1111110)
				NEXT_STATE <= COMPARE_MINUS1; 
			else
			if (DATA_MASTER == (~DATA_MONITOR))
				NEXT_STATE <= RECORD_1_1;
			else	
				NEXT_STATE <= RECORD_0_1;
			end

	RECORD_0_1:	NEXT_STATE <= DEC_1_1;			// -1 POSITION HAD ERRORS    
	RECORD_1_1:	NEXT_STATE <= DEC_1_1;                  // -1 POSITION WAS ERROR FREE
	
	DEC_1_1:	NEXT_STATE <= WAIT7_1;			//DECREMENT THE MONITOR TO ONE IDELAY TAP LESS (-2)
	
	WAIT7_1:	begin					
			if (COUNT_VALUE0 > 7'b0000111)		//WAIT FOR LATENCY TO SETTLE
				NEXT_STATE <= COMPARE_MINUS2;
			else
				NEXT_STATE <= WAIT7_1;
			end	

	COMPARE_MINUS2:	begin					//COMPARE THE -2 POSITION
			if (DATA_MASTER != (~DATA_MONITOR))
				NEXT_STATE <= RECORD_0_2;
			else
			if (COUNT_VALUE1 < 7'b1111110)
				NEXT_STATE <= COMPARE_MINUS2; 
			else
			if (DATA_MASTER == (~DATA_MONITOR))
				NEXT_STATE <= RECORD_1_2;
			else	
				NEXT_STATE <= RECORD_0_2;
			end
	
	RECORD_0_2:	NEXT_STATE <= INC_3;			// -2 POSITION HAD ERRORS    
	RECORD_1_2:	NEXT_STATE <= INC_3;                    // -2 POSITION WAS ERROR FREE
	
	INC_3:		begin					//INCREMENT THE MONITOR TO THREE IDELAY TAPS MORE (+1)
			if (COUNT_VALUE1 == 7'b0000010)
				NEXT_STATE <= WAIT7_2;
			else 
				NEXT_STATE <= INC_3;
			end
	
	WAIT7_2:	begin					//WAIT FOR LATENCY TO SETTLE 
			if (COUNT_VALUE0 > 7'b0000111)
				NEXT_STATE <= COMPARE_PLUS1;
			else
				NEXT_STATE <= WAIT7_2;
			end
	
	COMPARE_PLUS1:	begin					//COMPARE THE +1 POSITION
			if (DATA_MASTER != (~DATA_MONITOR))
				NEXT_STATE <= RECORD_0_3;
			else
			if (COUNT_VALUE1 < 7'b1111110)
				NEXT_STATE <= COMPARE_PLUS1; 
			else
			if (DATA_MASTER == (~DATA_MONITOR))
				NEXT_STATE <= RECORD_1_3;
			else	
				NEXT_STATE <= RECORD_0_3;
			end
	
	RECORD_0_3:	NEXT_STATE <= INC_1;			// +1 POSITION HAD ERRORS    
	RECORD_1_3:	NEXT_STATE <= INC_1;                    // +1 POSITION WAS ERROR FREE
	
	INC_1:		NEXT_STATE <= WAIT7_3;			//INCREMENT THE MONITOR TO 1 IDELAY TAP MORE (+2)
	
	WAIT7_3:	begin					//WAIT FOR LATENCY TO SETTLE
			if (COUNT_VALUE0 > 7'b0000111)
				NEXT_STATE <= COMPARE_PLUS2;
			else
				NEXT_STATE <= WAIT7_3;
			end
	
	COMPARE_PLUS2:	begin					//COMPARE THE +2 POSITION
			if (DATA_MASTER != (~DATA_MONITOR))
				NEXT_STATE <= RECORD_0_4;
			else
			if (COUNT_VALUE1 < 7'b1111110)
				NEXT_STATE <= COMPARE_PLUS2; 
			else
			if (DATA_MASTER == (~DATA_MONITOR))
				NEXT_STATE <= RECORD_1_4;
			else	
				NEXT_STATE <= RECORD_0_4;
			end
	
	RECORD_0_4:	NEXT_STATE <= IDLE;			// +2 POSITION HAD ERRORS    
	RECORD_1_4:	NEXT_STATE <= IDLE;                     // +2 POSITION WAS ERROR FREE
	
	IDLE:		NEXT_STATE <= BEGIN_ADJUST;
	
	BEGIN_ADJUST:	begin					//BASED ON THE 5 POSITION SAMPLING WINDOW, ADJUST DATA CHANNEL
			case(SAMPLE_WINDOW)
				5'b00001:	NEXT_STATE <= INC_ALL;	//INCREMENT ENTIRE DATA BUS BY 1
				5'b00011:	NEXT_STATE <= INC_ALL;	//INCREMENT ENTIRE DATA BUS BY 1
				5'b00111:	NEXT_STATE <= INC_ALL;	//INCREMENT ENTIRE DATA BUS BY 1
				5'b01111:	NEXT_STATE <= INC_ALL;	//INCREMENT ENTIRE DATA BUS BY 1
				5'b10000:	NEXT_STATE <= DEC_ALL;	//DECREMENT ENTIRE DATA BUS BY 1
				5'b11000:	NEXT_STATE <= DEC_ALL;	//DECREMENT ENTIRE DATA BUS BY 1
				5'b11100:	NEXT_STATE <= DEC_ALL;	//DECREMENT ENTIRE DATA BUS BY 1
				5'b11110:	NEXT_STATE <= DEC_ALL;	//DECREMENT ENTIRE DATA BUS BY 1
				default:	NEXT_STATE <= DEC_2;	//DO NOT ADJUST DATA BUS AT ALL; RETURN MONITOR TO CENTER
			endcase
			end
				
	INC_ALL:	NEXT_STATE <= DEC_2;			//DATA AND MONITOR GET INCREMENTED BY 1
	DEC_ALL:	NEXT_STATE <= DEC_2;			//DATA AND MONITOR GET DECREMENTED BY 1	
	
	DEC_2:		begin					//MONITOR DECREMENTED BY 2 TO RETURN TO INITIAL STATE
			if (COUNT_VALUE1 == 7'b0000001)
				NEXT_STATE <= DONE;
			else 
				NEXT_STATE <= DEC_2;
			end
	
	DONE:		begin					//WAIT IN THIS STATE UNTIL NEXT CHANNEL CAN START
			if (START == 1'b0)
				NEXT_STATE <= DONE;
			else
				NEXT_STATE <= INIT;
			end
	
	default:	NEXT_STATE <= INIT;
	
	endcase
end	

//OUTPUT LOGIC
always@(CURRENT_STATE)
begin
	case(CURRENT_STATE)
	
	INIT:		begin
			COUNT0			<= 1'b0;
			UD0			<= 1'b0;
			COUNT1			<= 1'b0;
			UD1			<= 1'b0;	
			INC_MONITOR		<= 1'b0;
			ICE_MONITOR		<= 1'b0;
			INC_DATABUS		<= 1'b0;
			ICE_DATABUS		<= 1'b0;	
			STORE_STATUS[0]		<= 1'b1;	//+2
			STORE_STATUS[1]		<= 1'b1;	//+1
			STORE_STATUS[2]		<= 1'b1;	//0
			STORE_STATUS[3]		<= 1'b1;	//-1
			STORE_STATUS[4]		<= 1'b1;	//-2
			STATUS			<= 1'b0;	
			end

	WAIT128:	begin
			COUNT0			<= 1'b1;
			UD0			<= 1'b1;
			COUNT1			<= 1'b0;
			UD1			<= 1'b0;	
			INC_MONITOR		<= 1'b0;
			ICE_MONITOR		<= 1'b0;
			INC_DATABUS		<= 1'b0;
			ICE_DATABUS		<= 1'b0;	
			STORE_STATUS[0]		<= 1'b0;	//+2
			STORE_STATUS[1]		<= 1'b0;	//+1
			STORE_STATUS[2]		<= 1'b0;	//0
			STORE_STATUS[3]		<= 1'b0;	//-1
			STORE_STATUS[4]		<= 1'b0;	//-2
			STATUS			<= 1'b0;
			end
	
	COMPARE_0:	begin
			COUNT0			<= 1'b0;
			UD0			<= 1'b0;
			COUNT1			<= 1'b1;
			UD1			<= 1'b1;	
			INC_MONITOR		<= 1'b0;
			ICE_MONITOR		<= 1'b0;
			INC_DATABUS		<= 1'b0;
			ICE_DATABUS		<= 1'b0;	
			STORE_STATUS[0]		<= 1'b0;	//+2
			STORE_STATUS[1]		<= 1'b0;	//+1
			STORE_STATUS[2]		<= 1'b0;	//0
			STORE_STATUS[3]		<= 1'b0;	//-1
			STORE_STATUS[4]		<= 1'b0;	//-2
			STATUS			<= 1'b0;
			end

	RECORD_0_0:	begin
			COUNT0			<= 1'b0;
			UD0			<= 1'b0;
			COUNT1			<= 1'b0;
			UD1			<= 1'b0;	
			INC_MONITOR		<= 1'b0;
			ICE_MONITOR		<= 1'b0;
			INC_DATABUS		<= 1'b0;
			ICE_DATABUS		<= 1'b0;	
			STORE_STATUS[0]		<= 1'b0;	//+2
			STORE_STATUS[1]		<= 1'b0;	//+1
			STORE_STATUS[2]		<= 1'b1;	//0
			STORE_STATUS[3]		<= 1'b0;	//-1
			STORE_STATUS[4]		<= 1'b0;	//-2
			STATUS			<= 1'b0;	//ERRORS
			end
	
	RECORD_1_0:	begin
			COUNT0			<= 1'b0;
			UD0			<= 1'b0;
			COUNT1			<= 1'b0;
			UD1			<= 1'b0;	
			INC_MONITOR		<= 1'b0;
			ICE_MONITOR		<= 1'b0;
			INC_DATABUS		<= 1'b0;
			ICE_DATABUS		<= 1'b0;	
			STORE_STATUS[0]		<= 1'b0;	//+2
			STORE_STATUS[1]		<= 1'b0;	//+1
			STORE_STATUS[2]		<= 1'b1;	//0
			STORE_STATUS[3]		<= 1'b0;	//-1
			STORE_STATUS[4]		<= 1'b0;	//-2
			STATUS			<= 1'b1;	//ERROR FREE
			end
			
	DEC_1_0:	begin
			COUNT0			<= 1'b0;
			UD0			<= 1'b0;
			COUNT1			<= 1'b0;
			UD1			<= 1'b0;	
			INC_MONITOR		<= 1'b0;
			ICE_MONITOR		<= 1'b1;
			INC_DATABUS		<= 1'b0;
			ICE_DATABUS		<= 1'b0;	
			STORE_STATUS[0]		<= 1'b0;	//+2
			STORE_STATUS[1]		<= 1'b0;	//+1
			STORE_STATUS[2]		<= 1'b0;	//0
			STORE_STATUS[3]		<= 1'b0;	//-1
			STORE_STATUS[4]		<= 1'b0;	//-2
			STATUS			<= 1'b0;
			end
	
	WAIT7_0:	begin
			COUNT0			<= 1'b1;
			UD0			<= 1'b1;
			COUNT1			<= 1'b0;
			UD1			<= 1'b0;	
			INC_MONITOR		<= 1'b0;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲午夜高清国产拍精品 | 欧美一区二区三区婷婷月色| 成人久久久精品乱码一区二区三区| 偷拍自拍另类欧美| 一级特黄大欧美久久久| 欧美日韩在线观看一区二区 | 97成人超碰视| 91高清视频免费看| 欧美视频在线不卡| 日韩欧美在线1卡| 精品少妇一区二区三区日产乱码 | 精品美女在线观看| 久久奇米777| 欧美群妇大交群中文字幕| 久久成人免费日本黄色| 日本va欧美va瓶| 国产精华液一区二区三区| 国模一区二区三区白浆| 九一九一国产精品| 粉嫩嫩av羞羞动漫久久久| 色综合天天综合给合国产| 欧美无砖砖区免费| 日韩免费福利电影在线观看| 日韩亚洲电影在线| 欧美高清在线一区二区| 亚洲午夜av在线| 国产一区二区三区最好精华液| 成人av先锋影音| 欧美一区午夜视频在线观看| 国产午夜三级一区二区三| 一区二区三区欧美在线观看| 麻豆成人av在线| 欧美中文字幕一区二区三区亚洲| 91精品国产综合久久久久| 国产精品沙发午睡系列990531| 日韩av成人高清| 欧美在线综合视频| 久久精品亚洲国产奇米99| 日韩成人一级大片| 成人av影视在线观看| 精品国产一区二区国模嫣然| 午夜精品一区二区三区免费视频| 国产盗摄女厕一区二区三区| 欧美一二三在线| 国产精品久久久久久户外露出| 91视频观看视频| 欧美va在线播放| 狠狠v欧美v日韩v亚洲ⅴ| 欧美片在线播放| 亚洲国产日韩a在线播放| 91丝袜美腿高跟国产极品老师| 久久久久久久久久久久电影 | 2欧美一区二区三区在线观看视频| 亚洲精品国产一区二区三区四区在线| 国产成人在线看| 欧美激情一区二区三区| 国内精品视频666| 在线播放91灌醉迷j高跟美女| 亚洲一线二线三线视频| 在线观看成人免费视频| 亚洲欧美色图小说| 色噜噜偷拍精品综合在线| 亚洲精品v日韩精品| 欧美视频在线一区二区三区| 婷婷开心久久网| 欧美一卡二卡三卡| 久久精品国产色蜜蜜麻豆| 国产午夜精品久久| 91传媒视频在线播放| 91精品国产综合久久福利软件 | 一区二区在线免费| 大美女一区二区三区| 亚洲美女视频在线观看| 欧美三级在线播放| 久久99国产精品免费网站| 日本一区二区三区高清不卡| 不卡的看片网站| 亚洲成在人线免费| 久久久影视传媒| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 丝瓜av网站精品一区二区| 久久久久久9999| 色综合色综合色综合 | 亚洲美女免费在线| 777亚洲妇女| 色噜噜狠狠一区二区三区果冻| 亚洲精品日韩专区silk| 欧美主播一区二区三区| 国产一区福利在线| 亚洲精品一二三区| 精品免费一区二区三区| 色综合夜色一区| 日韩av二区在线播放| 亚洲精品免费一二三区| 国产日产欧美一区| 4438x成人网最大色成网站| 激情综合色综合久久| 亚洲成人精品一区| 亚洲欧美激情一区二区| 国产精品青草久久| 久久色在线观看| 欧美一区中文字幕| 91精品国产aⅴ一区二区| 欧美色图一区二区三区| 91亚洲永久精品| 99视频在线精品| 99久久精品国产精品久久| 国产丶欧美丶日本不卡视频| 麻豆一区二区99久久久久| 亚洲尤物视频在线| 亚洲香肠在线观看| 亚洲电影在线播放| 午夜av一区二区| 亚洲成人一区在线| 舔着乳尖日韩一区| 日韩电影免费在线| 精品一区二区av| 国产成人免费在线观看不卡| 国产成人精品免费在线| 亚洲高清在线精品| 国产精品乱码一区二区三区软件| 国产精品久久久久久亚洲毛片 | 国产精品色哟哟网站| 亚洲色图欧洲色图婷婷| 一区二区日韩av| 亚洲成人免费电影| 激情综合色综合久久| 不卡视频在线看| 欧美另类videos死尸| 精品国产一二三区| 亚洲国产高清在线观看视频| 国产精品国产三级国产aⅴ入口| 欧美精品123区| 欧美三电影在线| 3d成人动漫网站| 日韩一区二区三区av| 国产亚洲欧美在线| 亚洲在线成人精品| 久久精品国产免费看久久精品| 成人高清视频免费观看| 欧美性生活一区| 久久久av毛片精品| 三级一区在线视频先锋 | 亚洲成a人片在线观看中文| 激情综合网最新| 欧美日韩一区二区三区在线看| 欧美一二区视频| 亚洲综合免费观看高清完整版| 国产麻豆9l精品三级站| 欧美日韩不卡视频| 亚洲免费av观看| 高清国产一区二区| 欧美成人一区二区三区在线观看| 亚洲欧美日韩在线| 国产乱人伦精品一区二区在线观看| 91久久国产综合久久| 中文字幕在线不卡| 国产曰批免费观看久久久| 717成人午夜免费福利电影| 自拍偷在线精品自拍偷无码专区| 国产激情一区二区三区| 色av成人天堂桃色av| 国产欧美日韩亚州综合| 人禽交欧美网站| 日韩欧美一区二区视频| 石原莉奈在线亚洲三区| 欧美色偷偷大香| 另类中文字幕网| 国产精品国产自产拍高清av王其| thepron国产精品| 亚洲成人一二三| 精品国产123| 91一区二区三区在线观看| 亚洲成人免费av| 日本一区二区三区在线不卡| 欧美制服丝袜第一页| 国模少妇一区二区三区| 亚洲日本在线a| 欧美不卡在线视频| 一本久道久久综合中文字幕| 视频一区二区不卡| 国产精品免费网站在线观看| 欧美少妇bbb| 成人黄色av电影| 日韩黄色免费电影| 国产精品久久久久aaaa樱花| 欧美日韩你懂得| 99久久精品国产毛片| 久国产精品韩国三级视频| 亚洲精品成人a在线观看| 久久精品亚洲精品国产欧美 | 国产视频亚洲色图| 欧美日韩国产精选| 99久久免费视频.com| 国产美女av一区二区三区| 男男gaygay亚洲| 亚洲成av人片www| 依依成人精品视频| 国产精品国产精品国产专区不蜜 | 26uuu国产在线精品一区二区|