日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【FPGA实现GA】基于FPGA的GA优化算法的设计与实现

發布時間:2025/4/5 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【FPGA实现GA】基于FPGA的GA优化算法的设计与实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
`timescale 1ns / 1psmodule GA_tops(input i_clk,input i_rst,input signed[15:0]i_x1,i_x2,i_x3,i_x4,output signed[15:0]o_x1,o_x2,o_x3,o_x4);parameter NUM = 8;//定義種群數量,8個,FPGA資源消耗為嚴重,所以種群個數定義8 parameter ITER = 200;//定義迭代次數//產生用于交叉和變異的隨機序列 reg[15:0]PN1; reg[15:0]PN2; always@(posedge i_clk or posedge i_rst) beginif(i_rst)beginPN1<= 16'b0000_1111_1010_1000;PN2<= 16'b0000_0111_0010_1000;end else beginPN1<= {PN1[14:0],PN1[3]^PN1[5]};PN2<= {PN2[14:0],PN1[1]^PN1[5]};end end wire pc; wire pe;assign pc = PN1[15]; assign pe = PN2[15]; reg[9:0]iter;//定義一個迭代計數器,用來反映GA優化過程的迭代次數//for i = 1:4 // Areas =[Areas,[-0.005;0.005]]; //end //for i = 1:4 // Areas =[Areas,[-0.005;0.005]]; //end //for i = 1:4 // Areas =[Areas,[-0.01;0.01]]; //end reg[15:0]pep11[NUM:1];//定義種群數量,32個,FPGA資源消耗為嚴重,所以種群個數定義32 reg[15:0]pep12[NUM:1];//定義種群數量,32個,FPGA資源消耗為嚴重,所以種群個數定義32 reg[15:0]pep13[NUM:1];//定義種群數量,32個,FPGA資源消耗為嚴重,所以種群個數定義32 reg[15:0]pep14[NUM:1];//定義種群數量,32個,FPGA資源消耗為嚴重,所以種群個數定義32 reg[15:0]pep21[NUM:1];//定義種群數量,32個,FPGA資源消耗為嚴重,所以種群個數定義32 reg[15:0]pep22[NUM:1];//定義種群數量,32個,FPGA資源消耗為嚴重,所以種群個數定義32 reg[15:0]pep23[NUM:1];//定義種群數量,32個,FPGA資源消耗為嚴重,所以種群個數定義32 reg[15:0]pep24[NUM:1];//定義種群數量,32個,FPGA資源消耗為嚴重,所以種群個數定義32 reg[15:0]pep31[NUM:1];//定義種群數量,32個,FPGA資源消耗為嚴重,所以種群個數定義32 reg[15:0]pep32[NUM:1];//定義種群數量,32個,FPGA資源消耗為嚴重,所以種群個數定義32 reg[15:0]pep33[NUM:1];//定義種群數量,32個,FPGA資源消耗為嚴重,所以種群個數定義32 reg[15:0]pep34[NUM:1];//定義種群數量,32個,FPGA資源消耗為嚴重,所以種群個數定義32 reg finish;reg[31:0]fitness[NUM:1];//定義目標函數 reg[31:0]err1[NUM:1];//定義目標函數 reg[31:0]err2[NUM:1];//定義目標函數 reg[31:0]err3[NUM:1];//定義目標函數 reg[31:0]err4[NUM:1];//定義目標函數 integer i; always@(posedge i_clk or posedge i_rst) beginif(i_rst)beginfinish <= 1'd0;for(i=1;i<=NUM;i=i+1)beginpep11[i]<=16'd12;pep12[i]<=16'd3;pep13[i]<=16'd5;pep14[i]<=16'd2;pep21[i]<=16'd3;pep22[i]<=16'd77;pep23[i]<=16'd12;pep24[i]<=16'd5;pep31[i]<=16'd32;pep32[i]<=16'd45;pep33[i]<=16'd66;pep34[i]<=16'd12;endend else begin//開始迭代if(iter < ITER)begin//選擇for(i=1;i<=NUM;i=i+1)beginif(fitness[i] > {PN1,PN2})//和一個隨機數比較beginpep11[i]<=pep11[i]>>2;pep12[i]<=pep12[i]>>2;pep13[i]<=pep13[i]>>2;pep14[i]<=pep14[i]>>2;pep21[i]<=pep21[i]>>2;pep22[i]<=pep22[i]>>2;pep23[i]<=pep23[i]>>2;pep24[i]<=pep24[i]>>2;pep31[i]<=pep31[i]>>2;pep32[i]<=pep32[i]>>2;pep33[i]<=pep33[i]>>2;pep34[i]<=pep34[i]>>2;endelsebeginpep11[i]<=16'd12;pep12[i]<=16'd3;pep13[i]<=16'd5;pep14[i]<=16'd2;pep21[i]<=16'd3;pep22[i]<=16'd77;pep23[i]<=16'd12;pep24[i]<=16'd5;pep31[i]<=16'd32;pep32[i]<=16'd45;pep33[i]<=16'd66;pep34[i]<=16'd12;endend//交叉if(pc == 1'b0)//不交叉beginfor(i=1;i<=NUM;i=i+1)beginpep11[i]<=pep11[i];pep12[i]<=pep12[i];pep13[i]<=pep13[i];pep14[i]<=pep14[i];pep21[i]<=pep21[i];pep22[i]<=pep22[i];pep23[i]<=pep23[i];pep24[i]<=pep24[i];pep31[i]<=pep31[i];pep32[i]<=pep32[i];pep33[i]<=pep33[i];pep34[i]<=pep34[i];endendelse begin//交叉for(i=1;i<=NUM;i=i+1)beginpep11[i]<={pep11[i][15],pep11[i][15:1]} + {pep11[i][15],pep11[NUM+1-i][15:1]};pep12[i]<={pep12[i][15],pep12[i][15:1]} + {pep12[i][15],pep12[NUM+1-i][15:1]};pep13[i]<={pep13[i][15],pep13[i][15:1]} + {pep13[i][15],pep13[NUM+1-i][15:1]};pep14[i]<={pep14[i][15],pep14[i][15:1]} + {pep14[i][15],pep14[NUM+1-i][15:1]};pep21[i]<={pep21[i][15],pep21[i][15:1]} + {pep21[i][15],pep21[NUM+1-i][15:1]};pep22[i]<={pep22[i][15],pep22[i][15:1]} + {pep22[i][15],pep22[NUM+1-i][15:1]};pep23[i]<={pep23[i][15],pep23[i][15:1]} + {pep23[i][15],pep23[NUM+1-i][15:1]};pep24[i]<={pep24[i][15],pep24[i][15:1]} + {pep24[i][15],pep24[NUM+1-i][15:1]};pep31[i]<={pep31[i][15],pep31[i][15:1]} + {pep31[i][15],pep31[NUM+1-i][15:1]};pep32[i]<={pep32[i][15],pep32[i][15:1]} + {pep32[i][15],pep32[NUM+1-i][15:1]};pep33[i]<={pep33[i][15],pep33[i][15:1]} + {pep33[i][15],pep33[NUM+1-i][15:1]};pep34[i]<={pep34[i][15],pep34[i][15:1]} + {pep34[i][15],pep34[NUM+1-i][15:1]};endend//變異if(pc == 1'b1)//變異beginfor(i=1;i<=NUM;i=i+1)beginpep11[i]<=pep11[i] + {PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15:7]};pep12[i]<=pep12[i] + {PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15:7]};pep13[i]<=pep13[i] + {PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15:7]};pep14[i]<=pep14[i] + {PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15:7]};pep21[i]<=pep21[i] + {PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15:7]};pep22[i]<=pep22[i] + {PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15:7]};pep23[i]<=pep23[i] + {PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15:7]};pep24[i]<=pep24[i] + {PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15:7]};pep31[i]<=pep31[i] + {PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15:7]};pep32[i]<=pep32[i] + {PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15:7]};pep33[i]<=pep33[i] + {PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15:7]};pep34[i]<=pep34[i] + {PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15],PN2[15:7]};endendelse begin//不變異for(i=1;i<=NUM;i=i+1)beginpep11[i]<=pep11[i];//opep12[i]<=pep12[i];pep13[i]<=pep13[i];pep14[i]<=pep14[i];pep21[i]<=pep21[i];//gpep22[i]<=pep22[i];pep23[i]<=pep23[i];pep24[i]<=pep24[i];pep31[i]<=pep31[i];//rpep32[i]<=pep32[i];pep33[i]<=pep33[i];pep34[i]<=pep34[i];endendendend end//標準信號,用來檢測GA優化誤差 wire signed[15:0]sin1; wire signed[15:0]sin2; wire signed[15:0]sin3; wire signed[15:0]sin4; stardand_sin stardand_sin_u(.i_clk (i_clk),.i_rst (i_rst),.o_x1 (sin1),.o_x2 (sin2),.o_x3 (sin3),.o_x4 (sin4), .o_en (),.o_start ()); //sin,cos wire[15:0]m_axis_data_tdata1; dds_compiler_0 dds_compiler_u1(.aclk(i_clk), // input wire aclk.aresetn(~i_rst), // input wire aresetn.s_axis_config_tvalid(1'b1), // input wire s_axis_config_tvalid.s_axis_config_tdata(32'd1000000+pep31[1]), // input wire [39 : 0] s_axis_config_tdata.m_axis_data_tvalid(), // output wire m_axis_data_tvalid.m_axis_data_tdata(m_axis_data_tdata1) // output wire [15 : 0] m_axis_data_tdata );wire signed[7:0]sin1; wire signed[7:0]cos1; assign sin1 = m_axis_data_tdata1[15:8]; assign cos1 = m_axis_data_tdata1[7:0];//sin,cos wire[15:0]m_axis_data_tdata2; dds_compiler_0 dds_compiler_u2(.aclk(i_clk), // input wire aclk.aresetn(~i_rst), // input wire aresetn.s_axis_config_tvalid(1'b1), // input wire s_axis_config_tvalid.s_axis_config_tdata(32'd1000000+pep32[1]), // input wire [39 : 0] s_axis_config_tdata.m_axis_data_tvalid(), // output wire m_axis_data_tvalid.m_axis_data_tdata(m_axis_data_tdata2) // output wire [15 : 0] m_axis_data_tdata );wire signed[7:0]sin2; wire signed[7:0]cos2; assign sin2 = m_axis_data_tdata2[15:8]; assign cos2 = m_axis_data_tdata2[7:0];//sin,cos wire[15:0]m_axis_data_tdata3; dds_compiler_0 dds_compiler_u3(.aclk(i_clk), // input wire aclk.aresetn(~i_rst), // input wire aresetn.s_axis_config_tvalid(1'b1), // input wire s_axis_config_tvalid.s_axis_config_tdata(32'd1000000+pep33[1]), // input wire [39 : 0] s_axis_config_tdata.m_axis_data_tvalid(), // output wire m_axis_data_tvalid.m_axis_data_tdata(m_axis_data_tdata3) // output wire [15 : 0] m_axis_data_tdata );wire signed[7:0]sin3; wire signed[7:0]cos3; assign sin3 = m_axis_data_tdata3[15:8]; assign cos3 = m_axis_data_tdata3[7:0];//sin,cos wire[15:0]m_axis_data_tdata4; dds_compiler_0 dds_compiler_u4(.aclk(i_clk), // input wire aclk.aresetn(~i_rst), // input wire aresetn.s_axis_config_tvalid(1'b1), // input wire s_axis_config_tvalid.s_axis_config_tdata(32'd1000000+pep34[1]), // input wire [39 : 0] s_axis_config_tdata.m_axis_data_tvalid(), // output wire m_axis_data_tvalid.m_axis_data_tdata(m_axis_data_tdata4) // output wire [15 : 0] m_axis_data_tdata );wire signed[7:0]sin4; wire signed[7:0]cos4; assign sin4 = m_axis_data_tdata4[15:8]; assign cos4 = m_axis_data_tdata4[7:0];//計算目標值,根據種群的進化的值計算目標函數結果 reg[31:0]sr1[NUM:1];//定義目標函數 reg[31:0]sr2[NUM:1];//定義目標函數 reg[31:0]sr3[NUM:1];//定義目標函數 reg[31:0]sr4[NUM:1];//定義目標函數 reg[15:0]x10;//定義目標函數 reg[15:0]x20;//定義目標函數 reg[15:0]x30;//定義目標函數 reg[15:0]x40;//定義目標函數 always@(posedge i_clk or posedge i_rst) beginif(i_rst)beginfor(i=1;i<=NUM;i=i+1)beginfitness[i]<=32'd0;err1[i] <=32'd0;err2[i] <=32'd0;err3[i] <=32'd0;err4[i] <=32'd0;sr1[i] <=32'd0;sr2[i] <=32'd0;sr3[i] <=32'd0;sr4[i] <=32'd0;endx10<=16'd0;x20<=16'd0;x30<=16'd0;x40<=16'd0;end else beginfor(i=1;i<=NUM;i=i+1)beginx10<=(i_x1-pep11[i])/(1+pep21[i]);x20<=(i_x2-pep12[i])/(1+pep22[i]);x30<=(i_x3-pep13[i])/(1+pep23[i]);x40<=(i_x4-pep14[i])/(1+pep24[i]);sr1[i]<=x10*cos1 - (16'h7fff-x10)*sin1;//根號近似減法運算,sr2[i]<=x20*cos2 - (16'h7fff-x20)*sin2;sr3[i]<=x30*cos3 - (16'h7fff-x30)*sin3;sr4[i]<=x40*cos4 - (16'h7fff-x40)*sin4;endfor(i=1;i<=NUM;i=i+1)beginerr1[i]<=sin1-sr1[i];err2[i]<=sin2-sr2[i];err3[i]<=sin3-sr3[i];err4[i]<=sin4-sr4[i];endfor(i=1;i<=NUM;i=i+1)beginfitness[i]<=err1[i]+err2[i]+err3[i]+err4[i];endend endalways@(posedge i_clk or posedge i_rst) beginif(i_rst)beginiter<= 10'd0;end else beginif(finish == 1'b1)//完成一次迭代運算,那么finish產生一個1,迭代次數增加1iter <= iter+ 10'd1;elseiter <= iter;end end//選擇fitness最優的對應的輸出作為校正值 reg[3:0]idx; always@(posedge i_clk or posedge i_rst) beginif(i_rst)beginidx<= 4'd0;end else beginif(fitness[1] <= fitness[2] & fitness[1] <= fitness[3] &fitness[1] <= fitness[4] &fitness[1] <= fitness[5] &fitness[1] <= fitness[6] &fitness[1] <= fitness[7] &fitness[1] <= fitness[8]) idx<= 4'd1;if(fitness[2] <= fitness[1] & fitness[2] <= fitness[3] &fitness[2] <= fitness[4] &fitness[2] <= fitness[5] &fitness[2] <= fitness[6] &fitness[2] <= fitness[7] &fitness[2] <= fitness[8]) idx<= 4'd2;if(fitness[3] <= fitness[1] & fitness[3] <= fitness[2] &fitness[3] <= fitness[4] &fitness[3] <= fitness[5] &fitness[3] <= fitness[6] &fitness[3] <= fitness[7] &fitness[3] <= fitness[8]) idx<= 4'd3;if(fitness[4] <= fitness[1] & fitness[4] <= fitness[2] &fitness[4] <= fitness[3] &fitness[4] <= fitness[5] &fitness[4] <= fitness[6] &fitness[4] <= fitness[7] &fitness[4] <= fitness[8]) idx<= 4'd4;if(fitness[5] <= fitness[1] & fitness[5] <= fitness[2] &fitness[5] <= fitness[3] &fitness[5] <= fitness[4] &fitness[5] <= fitness[6] &fitness[5] <= fitness[7] &fitness[5] <= fitness[8]) idx<= 4'd5; if(fitness[6] <= fitness[1] & fitness[6] <= fitness[2] &fitness[6] <= fitness[3] &fitness[6] <= fitness[4] &fitness[6] <= fitness[5] &fitness[6] <= fitness[7] &fitness[6] <= fitness[8]) idx<= 4'd6; if(fitness[7] <= fitness[1] & fitness[7] <= fitness[2] &fitness[7] <= fitness[3] &fitness[7] <= fitness[4] &fitness[7] <= fitness[5] &fitness[7] <= fitness[6] &fitness[7] <= fitness[8]) idx<= 4'd7; if(fitness[8] <= fitness[1] & fitness[8] <= fitness[2] &fitness[8] <= fitness[3] &fitness[8] <= fitness[4] &fitness[8] <= fitness[5] &fitness[8] <= fitness[6] &fitness[8] <= fitness[7]) idx<= 4'd8; end end //優化輸出 wire signed[15:0]o1; wire signed[15:0]o2; wire signed[15:0]o3; wire signed[15:0]o4; wire signed[15:0]g1; wire signed[15:0]g2; wire signed[15:0]g3; wire signed[15:0]g4; wire signed[15:0]r1; wire signed[15:0]r2; wire signed[15:0]r3; wire signed[15:0]r4; assign o1 = pep11[idx]; assign o2 = pep12[idx]; assign o3 = pep13[idx]; assign o4 = pep14[idx];assign g1 = pep21[idx]; assign g2 = pep22[idx]; assign g3 = pep23[idx]; assign g4 = pep24[idx]; assign r1 = pep31[idx]; assign r2 = pep32[idx]; assign r3 = pep33[idx]; assign r4 = pep34[idx]; //%將估計結果通過校正 //x1_0 = (x1b-o_(1))/(1+g_(1)); //x2_0 = (x2b-o_(2))/(1+g_(2)); //x3_0 = (x3b-o_(3))/(1+g_(3)); //x4_0 = (x4b-o_(4))/(1+g_(4)); reg signed[15:0]rr1; reg signed[15:0]rr2; reg signed[15:0]rr3; reg signed[15:0]rr4; reg signed[15:0]w_x1,w_x2,w_x3,w_x4; always@(posedge i_clk or posedge i_rst) beginif(i_rst)beginw_x1<= 16'd0;w_x2<= 16'd0;w_x3<= 16'd0;w_x4<= 16'd0;rr1<= 16'd0;rr2<= 16'd0;rr3<= 16'd0;rr4<= 16'd0;end else beginrr1<= i_x1-{o1[15],o1[15],o1[15],o1[15],o1[15],o1[15],o1[15],o1[15],o1[15],o1[15],o1[15],o1[15],o1[15:12]};rr2<= i_x2-{o2[15],o2[15],o2[15],o2[15],o2[15],o2[15],o2[15],o2[15],o2[15],o2[15],o2[15],o2[15],o2[15:12]};rr3<= i_x3-{o3[15],o3[15],o3[15],o3[15],o3[15],o3[15],o3[15],o3[15],o3[15],o3[15],o3[15],o3[15],o3[15:12]};rr4<= i_x4-{o4[15],o4[15],o4[15],o4[15],o4[15],o4[15],o4[15],o4[15],o4[15],o4[15],o4[15],o4[15],o4[15:12]};//近似計算w_x1<= {rr1}+16'h003f-{g1[15],g1[15],g1[15],g1[15],g1[15],g1[15],g1[15],g1[15],g1[15],g1[15],g1[15],g1[15],g1[15:12]};w_x2<= {rr2}+16'h003f-{g2[15],g2[15],g2[15],g2[15],g2[15],g2[15],g2[15],g2[15],g2[15],g2[15],g2[15],g2[15],g2[15:12]};w_x3<= {rr3}+16'h003f-{g3[15],g3[15],g3[15],g3[15],g3[15],g3[15],g3[15],g3[15],g3[15],g3[15],g3[15],g3[15],g3[15:12]};w_x4<= {rr4}+16'h003f-{g4[15],g4[15],g4[15],g4[15],g4[15],g4[15],g4[15],g4[15],g4[15],g4[15],g4[15],g4[15],g4[15:12]};end enddtrigger dtrigger_u1(.i_clk (i_clk),.i_rst (i_rst),.i_x1 (w_x1),.o_x1 (o_x1));dtrigger dtrigger_u2(.i_clk (i_clk),.i_rst (i_rst),.i_x1 (w_x2),.o_x1 (o_x2));dtrigger dtrigger_u3(.i_clk (i_clk),.i_rst (i_rst),.i_x1 (w_x3),.o_x1 (o_x3));dtrigger dtrigger_u4(.i_clk (i_clk),.i_rst (i_rst),.i_x1 (w_x4),.o_x1 (o_x4));endmodule

完整源碼獲得方式

方式1:微信或者QQ聯系博主

方式2:訂閱MATLAB/FPGA教程,免費獲得教程案例以及任意2份完整源碼

A37-08

總結

以上是生活随笔為你收集整理的【FPGA实现GA】基于FPGA的GA优化算法的设计与实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 特级毛片a | 日韩福利片在线观看 | 91 久久| 午夜色福利 | 国产精品国产三级国产aⅴ下载 | 日本特级毛片 | 午夜快播 | 亚洲性欧美色 | 久视频在线观看 | av亚洲在线 | 免费在线成人 | 人人爱操 | 中文字幕在线播放一区二区 | 少妇献身老头系列 | 日本黄网站 | 国产 欧美 自拍 | 国产精品video| 久久精品人妻一区二区三区 | 97caop| 秋霞午夜鲁丝一区二区 | 亚洲一区人妻 | 97se亚洲| 欧美巨大乳 | 亚洲美女毛片 | 成人小视频免费在线观看 | 中文字幕免费av | 黄网站免费视频 | 日韩欧美专区 | 在线观看中文字幕 | 国偷自拍第113页 | 啪啪福利社 | 国产一级片网址 | 成人欧美一区二区三区黑人冫 | 国产精品一区二区在线 | 国产精品视频区 | 亚洲不卡中文字幕 | 美女又大又黄 | 黑鬼大战白妞高潮喷白浆 | 日韩大片免费在线观看 | 丁香午夜| 黄色免费国产 | 亚洲欧美自拍视频 | 人妻无码久久一区二区三区免费 | 中日韩黄色片 | 夜夜躁日日躁狠狠久久av | 丁香婷婷综合激情五月色 | 国产欧美一区二区 | 成人av影视在线 | 欧美一区二区人人喊爽 | 天干夜夜爽爽日日日日 | 成人自拍视频网 | 玖玖爱在线精品视频 | 久久无码高潮喷水 | 午夜色av| 国产美女视频一区二区 | 波多野结衣中文字幕一区二区三区 | 久久久久精彩视频 | 午夜av在线播放 | 久久网站视频 | 九色自拍视频 | 综合久久影院 | 国产麻豆一精品一av一免费 | 超碰2025 | 我和岳m愉情xxxⅹ视频 | 国产乱码久久久久 | 波波野结衣 | 日韩欧美在线视频观看 | 日韩欧美一区二区三区免费观看 | xxav在线 | 成人动漫h在线观看 | 中文字幕+乱码+中文乱码91 | 999黄色片 | 97视频入口| 激情五月深爱五月 | 波多野结衣黄色网址 | 亚洲精品视频一区二区 | 91热爆在线 | 另类激情亚洲 | 极品少妇av | 男女日批免费视频 | 精品白浆| 亚洲精品喷潮一区二区三区 | 久久精品在这里 | www.96av| 狠操av | 精品国产一二 | 国产精品ⅴa有声小说 | 91热爆在线| 男操女视频网站 | 中国老熟女重囗味hdxx | 亚洲图色在线 | 69福利区| 日韩黄色av| 日本视频一区二区三区 | 亚洲精品aa| 男人天堂色 | 少妇又色又爽又黄的视频 | 国产精品成人久久 | 国产精品999久久久 在线青草 |