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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? uart_core.v

?? UART16550兼容的串行通訊控制器
?? V
字號:
// synopsys translate_off
`include "timescale.v"
// synopsys translate_on

`include "uart_defines.v"

`define UART_DL1 7:0
`define UART_DL2 15:8

module uart_core
(
	clk_i,
	reset_i,
	addr_i,
	data_i,
	data_o,
	rd_i,
	we_i,
	stx_pad_o, srx_pad_i,
	rts_pad_o, cts_pad_i,
	dtr_pad_o, dsr_pad_i,
	dcd_pad_i, ri_pad_i,
	int_o
);

input			clk_i;
input			reset_i;
input [2:0]		addr_i;
input [7:0] 	data_i;
output [7:0] 	data_o;
input			rd_i;
input			we_i;

output			stx_pad_o;
input			srx_pad_i;
output			dtr_pad_o;
input			dsr_pad_i;
input			dcd_pad_i;
input			ri_pad_i;
output			rts_pad_o;
input			cts_pad_i;
output			int_o;

wire [2:0]		addr_i;
wire [7:0]		data_i;
reg [7:0]		data_o;

reg				stx_pad_o;		// received from transmitter module
wire			srx_pad_i;
wire			dtr_pad_o, dsr_pad_i;
wire			dcd_pad_i, ri_pad_i;

wire			int_o;

//////////////////////////////////////

// user registers

reg [3:0]		r_ier;
reg [3:0]		r_iir;
reg [1:0]		r_fcr;		// bits 7 and 6 of fcr. Other bits are ignored
reg [5:0]		r_mcr;
reg [7:0]		r_lcr;
reg [7:0]		r_msr;
reg [7:0]		r_scratch;	// UART scratch register
reg [15:0]		r_dl; 		// 16-bit divisor latch
wire [7:0]		r_lsr;

// internal registers & counters
reg				srx_pad;

// register bit alias
wire			b_dlab;		// divisor latch access bit
wire			b_loopbk;	// b_loopbk bit (MCR bit 4)
wire			b_afc;		// !!NEW auto flow control (MCR bit5)
wire			b_out1, b_out2, b_rts, b_dtr;
reg				rf_reset, tf_reset;

// input signal alias
wire			serial_in;
wire			bus_rd_rbr;
wire			bus_rd_lsr;
wire			bus_rd_iir;
wire			bus_rd_msr;
wire			bus_wr_dl1;
wire			bus_wr_dl2;
wire			bus_wr_thr;
wire			bus_wr_ier;
wire			bus_wr_fcr;
wire			bus_wr_lcr;
wire			bus_wr_mcr;
wire			bus_wr_scr;

// internal variables
wire			serial_out;
wire			afc_rts, afc_cts;
reg				enable;

wire			tf_push;
wire			tf_empty;
wire			tf_full;

wire			tx_empty;

wire			rf_push;
wire			rf_pop;
wire			rf_empty;
wire			rf_full;
wire			rf_level;
wire			rf_overrun;
wire			rf_fifoerr;

wire [10:0]		rf_dataout;
reg [7:0]		frame_len;

/////////////////////////////////////

always @(r_lcr[3:0])
	case (r_lcr[3:0])
		4'b0000								: frame_len = 8'd112; // 7 bits
		4'b0100								: frame_len = 8'd120; // 7.5 bits
		4'b0001, 4'b1000					: frame_len = 8'd128; // 8 bits
		4'b1100								: frame_len = 8'd136; // 8.5 bits
		4'b0010, 4'b0101, 4'b1001			: frame_len = 8'd144; // 9 bits
		4'b0011, 4'b0110, 4'b1010, 4'b1101	: frame_len = 8'd160; // 10 bits
		4'b0111, 4'b1011, 4'b1110			: frame_len = 8'd176; // 11 bits
		4'b1111								: frame_len = 8'd192; // 12 bits
	endcase // case(lcr[3:0])

assign afc_cts = !b_afc || r_msr[`UART_MS_CCTS];

uart_send transmitter
(
	.clk(clk_i),
	.reset(reset_i),
	.r_lcr(r_lcr),
	.enable(enable),
	.afc_cts(afc_cts),
	.serial_out(serial_out),
	.tf_push(tf_push),
	.tf_reset(tf_reset),
	.tf_empty(tf_empty),
	.tf_full(tf_full),
	.tx_empty(tx_empty),
	.tf_datain(data_i)
);

uart_recv receiver
(
	.clk(clk_i),
	.reset(reset_i),
	.r_lcr(r_lcr),
	.r_fcr(r_fcr),
	.frame_len(frame_len),
	.enable(enable),
	.afc_rts(afc_rts),
	.serial_in(serial_in),
	.rf_reset(rf_reset),
	.rf_push(rf_push),
	.rf_pop(rf_pop),
	.rf_empty(rf_empty),
	.rf_full(rf_full),
	.rf_level(rf_level),
	.rf_dataout(rf_dataout),
	.rf_fifoerr(rf_fifoerr),
	.rf_overrun(rf_overrun)
);

// ============= register bit alias

assign b_dlab = r_lcr[`UART_LC_DL];
assign b_loopbk = r_mcr[`UART_MC_LB];
assign b_afc  = r_mcr[`UART_MC_AFC];
assign b_dtr  = r_mcr[`UART_MC_DTR];
assign b_rts  = r_mcr[`UART_MC_RTS];
assign b_out1 = r_mcr[`UART_MC_OUT1];
assign b_out2 = r_mcr[`UART_MC_OUT2];

// ============= input/output signals
assign bus_rd_rbr = (rd_i && addr_i == `UART_REG_RB && !b_dlab);
assign bus_rd_lsr = (rd_i && addr_i == `UART_REG_LS);
assign bus_rd_iir = (rd_i && addr_i == `UART_REG_II);
assign bus_rd_msr = (rd_i && addr_i == `UART_REG_MS);
assign bus_wr_dl1 = (we_i && addr_i == `UART_REG_DL1 && b_dlab);
assign bus_wr_dl2 = (we_i && addr_i == `UART_REG_DL2 && b_dlab);
assign bus_wr_thr = (we_i && addr_i == `UART_REG_TR && !b_dlab);
assign bus_wr_ier = (we_i && addr_i == `UART_REG_IE && !b_dlab);
assign bus_wr_fcr = (we_i && addr_i == `UART_REG_FC);
assign bus_wr_lcr = (we_i && addr_i == `UART_REG_LC);
assign bus_wr_mcr = (we_i && addr_i == `UART_REG_MC);
assign bus_wr_scr = (we_i && addr_i == `UART_REG_SR);

always @ (posedge clk_i or posedge reset_i)
	if (reset_i)
		srx_pad <= #1 1'b1;
	else
		srx_pad <= #1 srx_pad_i;

assign serial_in = b_loopbk ? serial_out : srx_pad;
assign rts_pad_o = b_afc ? ~afc_rts : r_mcr[`UART_MC_RTS];
assign dtr_pad_o = r_mcr[`UART_MC_DTR];

always @( b_loopbk or r_lcr or serial_out )
	case ({b_loopbk,r_lcr[`UART_LC_BC]})
	2'b00: stx_pad_o = serial_out;
	2'b01: stx_pad_o = 1'b0;
	2'b10, 2'b11: stx_pad_o = 1'b1;
	endcase

// ============= Async register reading

always @(	b_dlab or rf_dataout or addr_i or
			r_dl or r_ier or r_iir or r_lcr or r_lsr or r_msr or r_scratch )
begin
	case (addr_i)
		`UART_REG_RB	: data_o = rf_dataout[7:0];		// r_dl is write-only
		`UART_REG_IE	: data_o = r_ier;				// r_dl is write-only
		`UART_REG_II	: data_o = {4'b1100,r_iir};
		`UART_REG_LC	: data_o = r_lcr;
		`UART_REG_LS	: data_o = r_lsr;
		`UART_REG_MS	: data_o = r_msr;
		default			: data_o = r_scratch;			// UART_REG_SR
	endcase // case(addr_i)
end

//always @(posedge clk_i)
//begin
//	case (addr_i)
//		`UART_REG_RB	: data_o <= #1 rf_dataout[7:0];		// r_dl is write-only
//		`UART_REG_IE	: data_o <= #1 r_ier;				// r_dl is write-only
//		`UART_REG_II	: data_o <= #1 {4'b1100,r_iir};
//		`UART_REG_LC	: data_o <= #1 r_lcr;
//		`UART_REG_LS	: data_o <= #1 r_lsr;
//		`UART_REG_MS	: data_o <= #1 r_msr;
//		default			: data_o <= #1 r_scratch;			// UART_REG_SR
//	endcase // case(addr_i)
//end

// ================ register write

// Line Control Register
always @(posedge clk_i or posedge reset_i)
	if (reset_i)
		r_lcr <= #1 8'b00000011; // 8N1 setting
	else if (bus_wr_lcr)
		r_lcr <= #1 data_i;

// Interrupt Enable Register
always @(posedge clk_i or posedge reset_i)
begin
	if (reset_i)
		r_ier <= #1 4'b0000; // no interrupts after reset
	else if (bus_wr_ier)
		r_ier <= #1 data_i[3:0]; // ier uses only 4 lsb
end

//  UART_DL2
always @(posedge clk_i or posedge reset_i)
begin
	if (reset_i)
		r_dl[`UART_DL2] <= #1 8'h00;
	else if (bus_wr_dl2)
		r_dl[`UART_DL2] <= #1 data_i;
end

// FIFO Control Register and rf_reset, tf_reset signals
always @(posedge clk_i or posedge reset_i)
begin
	if (reset_i) begin
		r_fcr <= #1 2'b11;			// Receiver FIFO trigger level = 14
		rf_reset <= #1 1'b0;
		tf_reset <= #1 1'b0;
	end else
	if (bus_wr_fcr)
	begin
		r_fcr <= #1 data_i[7:6];
		rf_reset <= #1 data_i[1];
		tf_reset <= #1 data_i[2];
	end
	else
	begin
		rf_reset <= #1 1'b0;
		tf_reset <= #1 1'b0;
	end
end

// Modem Control Register
always @(posedge clk_i or posedge reset_i)
	if (reset_i)
		r_mcr <= #1 5'b0; 
	else if (bus_wr_mcr)
		r_mcr <= #1 data_i[5:0];

// Scratch register
always @(posedge clk_i or posedge reset_i)
	if (reset_i)
		r_scratch <= #1 8'd0; // 8n1 setting
	else if (bus_wr_scr)
		r_scratch <= #1 data_i;

// UART_DL1
always @(posedge clk_i or posedge reset_i)
begin
	if (reset_i)
		r_dl[`UART_DL1]  <= #1 8'd0;
	else if (bus_wr_dl1)
		r_dl[`UART_DL1] <= #1 data_i;
end

// ============= generate 16x bit rate pulse
reg [15:0]		divc;		// 16-bit divisor latch counter
reg				start_dlc;
reg				reload;

always @(posedge clk_i or posedge reset_i)
begin
	if (reset_i)
		start_dlc <= #1 1'b0;
	else if (bus_wr_dl1)
		start_dlc <= #1 1'b1;
	else
		start_dlc <= #1 1'b0;
end

always @(posedge clk_i or posedge reset_i)
begin
	if (reset_i)
	begin
		reload <= #1 1'b0;
		divc <= #1 16'd0;
	end
	else if( start_dlc || divc == 16'd1 )	// write a new divisor or counter reach 0
	begin
		reload <= #1 1'b1;
		divc <= #1 {r_dl[12:0],3'b000};
	end
	else
	begin
		reload <= #1 1'b0;
		divc <= #1 divc - 16'd1;	// dec counter
	end
end

always @(posedge clk_i or posedge reset_i)
begin
	if (reset_i)
		enable <= #1 1'b0;
	else if( |r_dl[15:1] & reload )		// r_dl != 0 && divc == 0
		enable <= #1 1'b1;
	else
		enable <= #1 1'b0;
end

// ============ FIFO read & write

// TX_FIFO tf_push signal
// always @(posedge clk_i or posedge reset_i)
// begin
// 	if (reset_i)
// 		tf_push   <= #1 1'b0;
// 	else if (bus_wr_thr)
// 		tf_push   <= #1 1'b1;
// 	else
// 		tf_push   <= #1 1'b0;
// end
assign tf_push  = bus_wr_thr;

// rf_pop signal handling
// always @(posedge clk_i or posedge reset_i)
// begin
// 	if (reset_i)
// 		rf_pop <= #1 0; 
// 	else if (bus_rd_rbr)
// 		rf_pop <= #1 1; // advance read pointer
// 	else
// 		rf_pop <= #1 0;
// end
assign rf_pop = bus_rd_rbr;

// ============ status registers

// ------- MSR ---------
reg [3:0]	msr_d;			// DCD, RI, DSR, CTS
wire [3:0]	modem_in;		// DCD, RI, DSR, CTS
wire [3:0]	modem_pad;		// DCD, RI, DSR, CTS

assign modem_pad = ~{ dcd_pad_i, ri_pad_i, dsr_pad_i, cts_pad_i };
assign modem_in  = b_loopbk ? { b_out2, b_out1, b_dtr, b_rts } : modem_pad;

always @(posedge clk_i or posedge reset_i)
begin
	if (reset_i)
	begin
  		r_msr <= #1 8'd0;
	  	msr_d <= #1 4'd0;
	end
	else
	begin
		msr_d <= #1 modem_pad;
		r_msr[`MSR_CSIGS] <= #1 modem_in;
		if( bus_rd_msr )
			r_msr[`MSR_DSIGS] <= #1 4'd0;
		else
			r_msr[`MSR_DSIGS] <= #1 r_msr[`MSR_DSIGS] | (modem_pad ^ msr_d);
	end
end

// ------- LSR ---------
// errors in FIFO
reg		lsr_fifoerr;
always @( posedge clk_i or posedge reset_i )
begin
	if( reset_i )
		lsr_fifoerr <= #1 1'b0;
	else if( bus_rd_lsr && !rf_fifoerr )
		lsr_fifoerr <= #1 1'b0;
	else if( !rf_empty )
		lsr_fifoerr <= #1 rf_fifoerr;
end
assign r_lsr[`UART_LS_EI] = lsr_fifoerr;

// Rx overrun
reg		lsr_overrun;
always @( posedge clk_i or posedge reset_i )
begin
	if( reset_i )
		lsr_overrun <= #1 1'b0;
	else if( bus_rd_lsr )
		lsr_overrun <= #1 1'b0;
	else if( rf_overrun )
		lsr_overrun <= #1 1'b1;
end
assign r_lsr[`UART_LS_OE] = lsr_overrun;

// Framing error
reg		lsr_fe;
always @( posedge clk_i or posedge reset_i )
begin
	if( reset_i )
		lsr_fe <= #1 1'b0;
	else if( rf_empty )
		lsr_fe <= #1 1'b0;
	else
		lsr_fe <= #1 rf_dataout[`UART_RF_FE];
end
assign r_lsr[`UART_LS_FE] = lsr_fe;

// parity error
reg		lsr_pe;
always @( posedge clk_i or posedge reset_i )
begin
	if( reset_i )
		lsr_pe <= #1 1'b0;
	else if( rf_empty )
		lsr_pe <= #1 1'b0;
	else
		lsr_pe <= #1 rf_dataout[`UART_RF_PE];
end
assign r_lsr[`UART_LS_PE] = lsr_pe;

// break indication
reg		lsr_bi;
always @( posedge clk_i or posedge reset_i )
begin
	if( reset_i )
		lsr_bi <= #1 1'b0;
	else if( rf_empty )
		lsr_bi <= #1 1'b0;
	else
		lsr_bi <= #1 rf_dataout[`UART_RF_BI];
end
assign r_lsr[`UART_LS_BI] = lsr_bi;

// FIFO empty
reg		lsr_tfempty;
always @( posedge clk_i or posedge reset_i )
begin
	if( reset_i )
		lsr_tfempty <= #1 1'b1;
//	else if( bus_wr_thr )
//		lsr_tfempty <= #1 1'b0;
	else
		lsr_tfempty <= #1 tf_empty;
end
assign r_lsr[`UART_LS_TFE] = lsr_tfempty;

// FIFO and SHIFT empty
reg		lsr_txempty;
always @( posedge clk_i or posedge reset_i )
begin
	if( reset_i )
		lsr_txempty <= #1 1'b1;
//	else if( bus_wr_thr )
//		lsr_txempty <= #1 1'b0;
	else
		lsr_txempty <= #1 tf_empty & tx_empty;
end
assign r_lsr[`UART_LS_TE] = lsr_txempty;

// Data ready
reg		lsr_dataready;
always @( posedge clk_i or posedge reset_i )
begin
	if( reset_i )
		lsr_dataready <= #1 1'b0;
	else
		lsr_dataready <= #1 ~rf_empty;
end
// wire		lsr_dataready;
// assign lsr_dataready = ~rf_empty;
assign r_lsr[`UART_LS_DR] = lsr_dataready;

// ------- interrupt pending ---------
wire		int_dataready;		// receiver data available interrupt
wire		int_modemsig;		// modem status interrupt

wire		rf_timeout;

assign int_dataready	= r_ier[`UART_IE_RDA] & ( rf_full || rf_level );
assign int_modemsig		= r_ier[`UART_IE_MS] & (| r_msr[3:0]);

// rx timeout
reg	[9:0]	rto_timer;

always @(posedge clk_i or posedge reset_i)
begin
	if (reset_i)
		rto_timer <= #1 10'd640;			// 10 bits for the default 8N1
	else if( bus_rd_rbr || rf_empty || rf_push )
		rto_timer <= #1 {frame_len, 2'b00};
	else if (enable && (|rto_timer))		// we don't want to underflow
		rto_timer <= #1 rto_timer - 10'd1;		
end

reg			pend_linestatus;
reg			pend_timeout;
reg			pend_tfempty, tfempty_d;
reg			pend_modemsig, int_modemsig_d;
wire		tfempty_pulse, int_modemsig_pulse;

always  @(posedge clk_i or posedge reset_i)
	if( reset_i )
		pend_linestatus <= #1 1'b0;
	else
		pend_linestatus <= #1 r_ier[`UART_IE_RLS] & (|r_lsr[`UART_LS_ERR]);

always  @(posedge clk_i or posedge reset_i)
	if( reset_i )
		pend_timeout <= #1 1'b0;
	else if(bus_rd_rbr)
		pend_timeout <= #1 1'b0;
	else if( r_ier[`UART_IE_RDA] & ~(|rto_timer) )
		pend_timeout <= #1 1'b1;

always  @(posedge clk_i or posedge reset_i)
	if( reset_i )	tfempty_d <= #1 1'b1;
	else			tfempty_d <= #1 tf_empty;
assign tfempty_pulse = tf_empty & ~tfempty_d;

always  @(posedge clk_i or posedge reset_i)
	if( reset_i )
		pend_tfempty <= #1 1'b0;
	else if( tf_push || (bus_rd_iir && r_iir=={`UART_II_THRE,1'b0}) )
		pend_tfempty <= #1 1'b0;
	else if( tfempty_pulse && r_ier[`UART_IE_THRE] )
		pend_tfempty <= #1 1'b1;
	else
		pend_tfempty <= #1 pend_tfempty & r_ier[`UART_IE_THRE];

always  @(posedge clk_i or posedge reset_i)
	if( reset_i )	int_modemsig_d <= #1 1'b0;
	else			int_modemsig_d <= #1 int_modemsig;
assign int_modemsig_pulse = int_modemsig & ~int_modemsig_d;

always  @(posedge clk_i or posedge reset_i)
	if( reset_i )
		pend_modemsig <= #1 1'b0;
	else if( bus_rd_msr )
		pend_modemsig <= #1 1'b0;
	else if( int_modemsig_pulse && r_ier[`UART_IE_MS] )
		pend_modemsig <= #1 1'b1;
	else
		pend_modemsig <= #1 pend_modemsig & r_ier[`UART_IE_MS];

// ------- IIR ---------
// Interrupt Identification register
always @(posedge clk_i or posedge reset_i)
begin
	if (reset_i)
		r_iir <= #1 4'b0001;
	else if (pend_linestatus)
	begin
		r_iir[`UART_II_II] <= #1 `UART_II_RLS;
		r_iir[`UART_II_IP] <= #1 1'b0;
	end
	else if (int_dataready)			// !! NOT pend_dataready but int_dataready
	begin
		r_iir[`UART_II_II] <= #1 `UART_II_RDA;
		r_iir[`UART_II_IP] <= #1 1'b0;
	end
	else if (pend_timeout)
	begin
		r_iir[`UART_II_II] <= #1 `UART_II_TI;
		r_iir[`UART_II_IP] <= #1 1'b0;
	end
	else if (pend_tfempty)
	begin
		r_iir[`UART_II_II] <= #1 `UART_II_THRE;
		r_iir[`UART_II_IP] <= #1 1'b0;
	end
	else if (pend_modemsig)
	begin
		r_iir[`UART_II_II] <= #1 `UART_II_MS;
		r_iir[`UART_II_IP] <= #1 1'b0;
	end
	else	// no interrupt is pending
	begin
		r_iir[`UART_II_II] <= #1 3'd0;
		r_iir[`UART_II_IP] <= #1 1'b1;
	end
end

assign int_o = ~r_iir[`UART_II_IP];

endmodule

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色丁香久综合在线久综合在线观看| 国产99久久久国产精品免费看| 99视频国产精品| 日本一区二区三级电影在线观看 | 日韩精品视频网站| 欧美人牲a欧美精品| 五月天一区二区| 91精品在线免费| 狠狠色综合色综合网络| 久久天天做天天爱综合色| 国产麻豆欧美日韩一区| 中文字幕日韩一区| 欧美色涩在线第一页| 日本不卡不码高清免费观看| 欧美xfplay| 播五月开心婷婷综合| 亚洲精品国产高清久久伦理二区| 91久久国产综合久久| 午夜伊人狠狠久久| 精品不卡在线视频| 99视频精品全部免费在线| 亚洲国产日韩精品| 亚洲精品在线免费观看视频| 成人黄色在线视频| 性做久久久久久免费观看| 精品处破学生在线二十三| 成人h动漫精品| 午夜影院在线观看欧美| 国产亲近乱来精品视频| 欧美日韩一区二区三区在线看| 麻豆国产欧美一区二区三区| 国产精品久久久久久福利一牛影视 | 欧美大尺度电影在线| 99久久久久免费精品国产| 日韩专区一卡二卡| 国产精品国产三级国产a| 欧美久久久一区| www.亚洲色图.com| 老司机精品视频导航| 亚洲六月丁香色婷婷综合久久| 日韩欧美一二三四区| k8久久久一区二区三区| 麻豆精品视频在线观看视频| 亚洲欧美激情视频在线观看一区二区三区 | 日韩欧美一级在线播放| 99精品久久只有精品| 久久机这里只有精品| 一区二区三区中文字幕精品精品| 国产精品你懂的| 欧美一区二区三区免费大片| 色婷婷精品大在线视频| 国产精品主播直播| 日韩中文字幕av电影| 中文字幕在线一区二区三区| 欧美成人性福生活免费看| 欧美一a一片一级一片| 国产黑丝在线一区二区三区| 日韩经典一区二区| 亚洲综合在线电影| 国产精品福利一区二区三区| 欧美精品一区二区三区一线天视频| 在线观看亚洲成人| 色综合天天综合色综合av| 国产成人精品一区二区三区四区| 免费成人在线影院| 免费高清在线视频一区·| 亚洲一区二区精品久久av| ...中文天堂在线一区| 久久久www成人免费无遮挡大片| 欧美一区二区在线看| 欧美午夜一区二区| 色噜噜狠狠一区二区三区果冻| 国产suv精品一区二区883| 国产一区三区三区| 国产精品一线二线三线精华| 国产自产视频一区二区三区| 捆绑调教一区二区三区| 青青国产91久久久久久| 一区二区成人在线视频| 亚洲狼人国产精品| 亚洲精品免费电影| 亚洲黄色av一区| 一区二区久久久| 亚洲日本成人在线观看| 综合自拍亚洲综合图不卡区| 国产精品久久久久久福利一牛影视 | 成人午夜免费av| 国产成人av一区二区三区在线观看| 激情亚洲综合在线| 国产精品资源网站| 成人性生交大片免费看中文 | 91麻豆免费看| 在线精品国精品国产尤物884a| 91精品办公室少妇高潮对白| 欧美自拍偷拍午夜视频| 欧美精品v国产精品v日韩精品 | 精品国产电影一区二区| 国产亚洲欧美一级| 日韩毛片一二三区| 亚洲福利电影网| 美女视频黄a大片欧美| 国产精品99久久久久久久女警| 91精品免费观看| 日韩欧美123| 久久一区二区三区四区| 国产精品视频在线看| 一区二区三区日韩精品| 日本午夜精品视频在线观看| 国模套图日韩精品一区二区| 大美女一区二区三区| 欧美视频中文字幕| 久久亚洲二区三区| 亚洲精品日日夜夜| 免费精品视频在线| 成人黄色在线看| 欧美久久久一区| 国产欧美精品一区二区色综合朱莉 | 91蜜桃免费观看视频| 在线观看91av| 中文字幕一区av| 日韩和欧美一区二区三区| 国产v综合v亚洲欧| 9191精品国产综合久久久久久| 26uuu久久天堂性欧美| 亚洲老妇xxxxxx| 国内精品写真在线观看| 91免费版在线| 久久综合久久综合久久| 亚洲一区中文在线| 国产91精品在线观看| 欧美高清hd18日本| 中文字幕一区二| 国产尤物一区二区| 在线电影院国产精品| 国产精品久久久久9999吃药| 日韩av不卡在线观看| 色综合天天综合给合国产| 日韩精品中文字幕在线一区| 尤物视频一区二区| 国产激情精品久久久第一区二区| 欧美三电影在线| 亚洲视频电影在线| 国产精品自拍在线| 日韩精品一区二区在线观看| 亚洲欧美日韩综合aⅴ视频| 精品一区二区三区欧美| 欧美日韩视频在线观看一区二区三区| 国产欧美精品一区二区色综合朱莉 | fc2成人免费人成在线观看播放| 欧美精品亚洲一区二区在线播放| 中文字幕日本不卡| 国产精品伊人色| 精品久久久久一区二区国产| 亚洲18色成人| 在线免费一区三区| 亚洲视频在线观看三级| 国产成a人亚洲| 久久久久国产精品人| 捆绑紧缚一区二区三区视频| 欧美电影一区二区| 香蕉乱码成人久久天堂爱免费| 色婷婷综合激情| 一区二区国产盗摄色噜噜| 97精品久久久午夜一区二区三区 | 欧美日韩二区三区| 一区二区三区四区激情| 色综合网色综合| 亚洲日本va在线观看| eeuss鲁一区二区三区| 国产欧美视频一区二区| 国产美女一区二区| 久久精品欧美一区二区三区麻豆| 麻豆国产精品一区二区三区| 欧美一区二区三区播放老司机| 丝袜亚洲精品中文字幕一区| 欧美亚洲尤物久久| 亚洲一区二区三区四区中文字幕 | 国产丝袜欧美中文另类| 国产精品免费视频观看| 精品亚洲成av人在线观看| 91精品国产91久久综合桃花| 午夜婷婷国产麻豆精品| 欧美在线看片a免费观看| 亚洲一区中文在线| 日本久久一区二区三区| 亚洲国产成人av网| 日韩av不卡一区二区| 日韩午夜三级在线| 韩国精品一区二区| 亚洲精品一区二区三区精华液 | 一区二区三区不卡在线观看| 91久久人澡人人添人人爽欧美| 亚洲色图视频免费播放| 欧美日韩国产综合一区二区三区| 亚洲成人第一页| 欧美乱妇23p| 精品一区二区免费在线观看| 久久婷婷综合激情| 成人综合婷婷国产精品久久| 欧美一区三区四区|