在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

在線學習SystemVerilog:移位寄存器

OpenFPGA ? 來源:OpenFPGA ? 作者:OpenFPGA ? 2022-12-09 10:41 ? 次閱讀

HDLBits 是一組小型電路設計習題集,使用 Verilog/SystemVerilog 硬件描述語言 (HDL) 練習數字硬件設計~

網址如下:

https://hdlbits.01xz.net/

關于HDLBits的Verilog實現可以查看下面專欄:

https://www.zhihu.com/column/c_1131528588117385216

縮略詞索引

  • SV:SystemVerilog

從今天開始新的一章-時序電路,包括觸發器、計數器、移位寄存器、狀態機等。

今天更新移位寄存器,移位寄存器在乘法、除法以及各種矩陣操作中非常重要,熟練使用移位寄存器是基本技能。

移位運算符

雖然移位運算和本系列沒什么太大關系,但是還是回顧一下:

<SystemVerilog-移位運算符>

Problem 106-Shift4

題目說明

構建一個 4 位移位寄存器(右移),具有異步復位、同步加載和使能。

  • areset:將移位寄存器重置為零。
  • load : 用數據 [3:0]加載移位寄存器而不是移位。
  • ena:右移(q[3]變為零,q[0]移出并消失)。
  • q:移位寄存器的內容。

如果load和ena輸入均有效 (1),則load輸入具有更高的優先級。

模塊端口聲明

moduletop_module(
inputclk,
inputareset,//asyncactive-highresettozero
inputload,
inputena,
input[3:0]data,
outputreg[3:0]q);

題目解析

這是一個基本移位寄存器示例。移位過程在ena控制下,實現q[3]q[2]q[1]q[0] ---> 0 q[3]q[2]q[1]---> 0 0 q[3]q[2]

因為這題增加了很多控制信號,所以只能使用時序電路進行描述。

moduletop_module(
inputlogicclk,
inputlogicareset,//asyncactive-highresettozero
inputlogicload,
inputlogicena,
inputlogic[3:0]data,
outputlogic[3:0]q);

always_ff@(posedgeclkorposedgeareset)begin
if(areset)q<=?'0;
elseif(load)q<=?data?;
????????else?if?(ena)????q?<=?{1'd0,q[3:1]};
elseq<=?q?;
????end

endmodule


eee06a26-7761-11ed-8abf-dac502259ad0.png

點擊Submit,等待一會就能看到下圖結果:

ef047e8e-7761-11ed-8abf-dac502259ad0.png

注意圖中的Ref是參考波形,Yours是你的代碼生成的波形,網站會對比這兩個波形,一旦這兩者不匹配,仿真結果會變紅。

這一題就結束了。

Problem 107-Rotate100

題目說明

設計一個100bit的可左移或右移的移位寄存器,附帶同步置位和左移或右移的使能信號。本題中,移位寄存器在左移或右移時,不同于Problem106的補0和直接舍棄某一bit位,本題是要求在100bit內循環移動,不舍棄某一位同時也不補0。

比如說左移1bit,在Problem106就是補0和丟棄q[0]。而在本題中左移1bit為{q[0], q[99:1]}。

load:load信號將data[99:0] 輸入至寄存器內。ena[1:0] 信號選擇是否移位和移位的具體方向2'b01 右移一位2'b10 左移一位2'b00 和 2'b11不移動q:移位后寄存器內的數據

模塊端口聲明

moduletop_module(
inputclk,
inputload,
input[1:0]ena,
input[99:0]data,
outputreg[99:0]q);

題目解析

本題是一個桶型移位寄存器,題目的解答就是:{q[0], q[99:1]}。

moduletop_module(
inputlogicclk,
inputlogicload,
inputlogic[1:0]ena,
inputlogic[99:0]data,
outputlogic[99:0]q);

always_ff@(posedgeclk)begin
if(load)q<=?data?;
????????elsebegin
case(ena)
2'b00,2'b11:q<=?q?;
????????????????2'b01:q<=?{q[0],q[99:1]}?;
????????????????2'b10:q<=?{q[98:0],q[99]};
????????????endcase
????????end
????end

endmodule


ef1206da-7761-11ed-8abf-dac502259ad0.png

點擊Submit,等待一會就能看到下圖結果:

ef38e372-7761-11ed-8abf-dac502259ad0.png

注意圖中無波形。

這一題就結束了。

Problem 108-Shift18

先補充一下算術移位寄存器和按位移位寄存器:

SystemVerilog具有按位和算術移位運算符。

按位移位只是將向量的位向右或向左移動指定的次數,移出向量的位丟失。移入的新位是零填充的。例如,操作8’b11000101 << 2將產生值8’b00010100。按位移位將執行相同的操作,無論被移位的值是有符號的還是無符號的。

算術左移位對有符號和無符號表達式執行與按位右移位相同的操作。算術右移位對“無符號”和“有符號”表達式執行不同的運算。如果要移位的表達式是無符號的,算術右移位的行為與按位右移相同,即用零填充輸入位。如果表達式是有符號的,則算術右移將通過用符號位的值填充每個輸入位來保持值的有符號性。

具體如下:

ef5dbda0-7761-11ed-8abf-dac502259ad0.png

題目說明

構建一個具有同步加載功能的 64 位算術移位寄存器。移位器可以左右移動,移動 1 位或 8 位,由amount選擇。

算術右移將移位寄存器(在本例中為q[63] )中數字的符號位移位,而不是像邏輯右移那樣移入零。考慮算術右移的另一種方法是,它假設被移位的數字是帶符號的并保留符號,因此算術右移將帶符號的數字除以 2 的冪。

邏輯左移和算術左移之間沒有區別。

  • load :用數據 [63:0]加載移位寄存器而不是移位。
  • ena:選擇是否移動。
  • amount:選擇移動的方向和移動量。

2'b00:左移一位。

2'b01:左移 8 位。

2'b10:右移一位。

2'b11:右移 8 位。

  • q:移位器的內容。

模塊端口聲明

moduletop_module(
inputclk,
inputload,
inputena,
input[1:0]amount,
input[63:0]data,
outputreg[63:0]q);

題目解析

moduletop_module(
inputlogicclk,
inputlogicload,
inputlogicena,
inputlogic[1:0]amount,
inputlogic[63:0]data,
outputlogic[63:0]q);

always_ff@(posedgeclk)begin
if(load)q<=?data?;
????????elseif(ena)
begin
case(amount)
2'b00:q<=?{q[62:0],1'd0};
2'b01:q<=?{q[55:0],8'd0};
2'b10:q<=?{q[63],q[63:1]};
????????????????2'b11:q<=?{{8{q[63]}},q[63:8]};
????????????endcase
????????end
????end

endmodule


efb66c66-7761-11ed-8abf-dac502259ad0.png

點擊Submit,等待一會就能看到下圖結果:

efdef87a-7761-11ed-8abf-dac502259ad0.png

注意圖中的Ref是參考波形,Yours是你的代碼生成的波形,網站會對比這兩個波形,一旦這兩者不匹配,仿真結果會變紅。

這一題就結束了。

Problem 109-Lfsr5

題目說明

線性反饋移位寄存器(LFSR)是一種移位寄存器,通常帶有幾個異或門(XOR)來產生移位寄存器的下一個狀態。Galois LFSR 是一種特殊的排列方式,其中帶有“抽頭(tap)”的位位置與輸出位進行異或以產生其下一個值,而沒有抽頭移位的位位置。如果仔細選擇抽頭位置,則可以將 LFSR 設為“最大長度”。n 位的最大長度 LFSR 在重復之前循環通過 2^n -1 個狀態(永遠不會達到全零狀態)。

下圖顯示了一個 5 位最大長度的 Galois LFSR,在位置 5 和 3 處有抽頭。(抽頭位置通常從 1 開始編號)。請注意,為了保持一致性,我在位置 5 處繪制了 XOR 門,但其中一個 XOR 門輸入為 0。

f00ded10-7761-11ed-8abf-dac502259ad0.png
圖片來自HDLBits

構建這個 LFSR。復位將 LFSR 重置為 1 。

模塊端口聲明

moduletop_module(
inputclk,
inputreset,//Active-highsynchronousresetto5'h1
output[4:0]q
);

題目解析

moduletop_module(
inputlogicclk,
inputlogicreset,//Active-highsynchronousresetto5'h1
outputlogic[4:0]q
);
always_ff@(posedgeclk)begin
if(reset)q<=?5'h1;
elsebegin
q[4]<=?1'd0^q[0];
q[3]<=?q[4];
????????q[2]?<=?q[3]?^?q[0]?;
????????q[1]?<=?q[2]?;
????????q[0]?<=?q[1]?;
????????end
????end
????????
endmodule



f029e2f4-7761-11ed-8abf-dac502259ad0.png

點擊Submit,等待一會就能看到下圖結果:

f05182e6-7761-11ed-8abf-dac502259ad0.png

注意圖中的Ref是參考波形,Yours是你的代碼生成的波形,網站會對比這兩個波形,一旦這兩者不匹配,仿真結果會變紅。

這一題就結束了。

Problem 110-Mt2015_lfsr

題目說明

f09603b2-7761-11ed-8abf-dac502259ad0.png
圖片來自HDLBits

編寫此時序電路的 Verilog 代碼(可以使用子模塊進行構建,但頂層要命名為 top_module)。

模塊端口聲明

moduletop_module(
input[2:0]SW,//R
input[1:0]KEY,//Landclk
output[2:0]LEDR);//Q

題目解析

本題的解答思路是將三個觸發器的輸出端 Q,輸入端 D,組合成一個 3bit 寬度的向量進行設計,使用一個 always 塊實現寄存器組。與之相對的是思路是例化三個選擇器+觸發器的電路,分別連接三個部分的輸入輸出。

根據選擇器的 select 端的電平,觸發器組的輸入分別為外部輸入 SW 或者觸發器組輸出序列的組合邏輯,這里用:{LEDR[1]^LEDR[2],LEDR[0],LEDR[2]} 表示。

其他信號根據題目的要求連接。

moduletop_module(
input[2:0]SW,//R
input[1:0]KEY,//Landclk
output[2:0]LEDR);//Q

reg[2:0]LEDR_next;

always_combbegin
if(KEY)
LEDR_next=SW;
elsebegin
LEDR_next[0]=LEDR[2];
LEDR_next[1]=LEDR[0];
LEDR_next[2]=LEDR[2]^LEDR[1];
end
end

always_ff@(posedgeKEY[0])begin
LEDR<=?LEDR_next;
????end
????
endmodule

f0ab4074-7761-11ed-8abf-dac502259ad0.png

點擊Submit,等待一會就能看到下圖結果:

f0d77d9c-7761-11ed-8abf-dac502259ad0.png

注意圖中無波形。

這一題就結束了。

Problem 111-Lfsr32

題目說明

參考109題中的 5bit LFSR,實現一個 32bit LFSR,

抽頭點為32,22,2,1。

提示:32bit 的 LFSR 最好使用向量實現,而不是例化 32 個觸發器。

模塊端口聲明

moduletop_module(
inputclk,
inputreset,//Active-highsynchronousresetto32'h1
output[31:0]q
);

題目解析

moduletop_module(
inputclk,
inputreset,//Active-highsynchronousresetto32'h1
output[31:0]q
);

reg[31:0]q_next;
always_combbegin
q_next={q[0],q[31:1]};
q_next[21]=q[0]^q[22];
q_next[1]=q[0]^q[2];
q_next[0]=q[0]^q[1];
end

always_ff@(posedgeclk)begin
if(reset)
q<=?32'h1;
elsebegin
q<=?q_next;
????????end
????end
?
endmodule

f0fb459c-7761-11ed-8abf-dac502259ad0.png

點擊Submit,等待一會就能看到下圖結果:

f117be20-7761-11ed-8abf-dac502259ad0.png

注意圖中無波形。

這一題就結束了。

Problem 112-m2014_q4k

題目說明

實現下圖中的電路

f13a60b0-7761-11ed-8abf-dac502259ad0.png
圖片來自HDLBits

模塊端口聲明

moduletop_module(
inputclk,
inputresetn,//synchronousreset
inputin,
outputout);

題目解析

實現一個帶有異步復位的移位寄存器。

moduletop_module(
inputlogicclk,
inputlogicresetn,//synchronousreset
inputlogicin,
outputlogicout);

varlogic[3:0]Q;

always_ff@(posedgeclk)begin
if(!resetn)Q<=?'0;
elseQ<=?{in,Q[3:1]}?;
????end
????
????assign?out?=?Q[0]?;

endmodule

f15131a0-7761-11ed-8abf-dac502259ad0.png

點擊Submit,等待一會就能看到下圖結果:

f224f74c-7761-11ed-8abf-dac502259ad0.png

注意圖中無波形。

這一題就結束了。

Problem 113-2014_q4b

題目說明

實現下圖中的 n bit 移位寄存器電路,這題希望使用例化的方式,例化 4 個選擇器+觸發器模塊實現一個 4bit 移位寄存器。另外還要進行一些連線工作。

f24db10a-7761-11ed-8abf-dac502259ad0.pngf2801d70-7761-11ed-8abf-dac502259ad0.png
圖片來自HDLBits

模塊端口聲明

moduletop_module(
input[3:0]SW,
input[3:0]KEY,
output[3:0]LEDR
);

題目解析

MUXDFT 模塊之前已經實現了,復制過來即可,剩下的就是例化。

moduletop_module(
inputlogic[3:0]SW,
inputlogic[3:0]KEY,
outputlogic[3:0]LEDR
);//

MUXDFFu1_MUXDFF(
.clk(KEY[0]),
.w(KEY[3]),
.R(SW[3]),
.E(KEY[1]),
.L(KEY[2]),
.Q(LEDR[3])
);
MUXDFFu2_MUXDFF(
.clk(KEY[0]),
.w(LEDR[3]),
.R(SW[2]),
.E(KEY[1]),
.L(KEY[2]),
.Q(LEDR[2])
);
MUXDFFu3_MUXDFF(
.clk(KEY[0]),
.w(LEDR[2]),
.R(SW[1]),
.E(KEY[1]),
.L(KEY[2]),
.Q(LEDR[1])
);
MUXDFFu4_MUXDFF(
.clk(KEY[0]),
.w(LEDR[1]),
.R(SW[0]),
.E(KEY[1]),
.L(KEY[2]),
.Q(LEDR[0])
);

endmodule

moduleMUXDFF(
inputlogicclk,
inputlogicw,R,E,L,
outputlogicQ
);
always_ff@(posedgeclk)begin
casex({E,L})
2'b00:Q<=?Q?;
????????????2'bx1:Q<=?R?;
????????????2'b10:Q<=?w?;
????????endcase
????end

endmodule


f29ab70c-7761-11ed-8abf-dac502259ad0.png

點擊Submit,等待一會就能看到下圖結果:

f2b3c88c-7761-11ed-8abf-dac502259ad0.png

注意圖中無波形。

這一題就結束了。

Problem 114-ece241_2013_q12

題目說明

本題中實現的是一個和 8x1 結構的存儲體相關的電路。存儲的輸入通過移入比特進行,存儲的讀取類似于傳統 RAM 中的隨機讀取,即可以指定讀出比特的位置,通過 3 個輸入端口指定讀取位置。

首先通過 8 個觸發器實現一個 8bit 深的移位寄存器。8個寄存器的輸出依次為 Q[0]...Q[7]。移位寄存器的輸入為 S,輸入首先會填充到 MSB(最高位),Q[0]。當 enable 信號控制移位,當其有效時輸入數據并移位。此外,該電路有三個輸入端口 A,B,C 以及輸出端口 Z。工作的功能如下:當 ABC = 000 時,Z = Q[0],當 ABC = 001 時,Z = Q[1],以此類推。你的電路中只能包括一個 8bit 移位寄存器以及一個多路選擇器。(這就是個三輸入查找表 LUT 電路)

模塊端口聲明

moduletop_module(
inputclk,
inputenable,
inputS,
inputA,B,C,
outputZ);

題目解析

moduletop_module(
inputlogicclk,
inputlogicenable,
inputlogicS,
inputlogicA,B,C,
outputlogicZ);

varlogic[7:0]Q;

always_ff@(posedgeclk)begin
if(enable)Q<=?{Q[6:0],S}?;
????end
????
????always_comb?begin
????????case({A,B,C})
3'b000:begin
Z=Q[0];
end
3'b001:begin
Z=Q[1];
end
3'b010:begin
Z=Q[2];
end
3'b011:begin
Z=Q[3];
end
3'b100:begin
Z=Q[4];
end
3'b101:begin
Z=Q[5];
end
3'b110:begin
Z=Q[6];
end
3'b111:begin
Z=Q[7];
end
endcase
end


endmodule



f2df0b5a-7761-11ed-8abf-dac502259ad0.png

點擊Submit,等待一會就能看到下圖結果:

f307996c-7761-11ed-8abf-dac502259ad0.png

注意圖中的Ref是參考波形,Yours是你的代碼生成的波形,網站會對比這兩個波形,一旦這兩者不匹配,仿真結果會變紅。

這一題就結束了。

總結

今天的幾道題就結束了,對于移位寄存器的使用以及算術/按位移位的理解還是有益處的。

最后我這邊做題的代碼也是個人理解使用,有錯誤歡迎大家批評指正,祝大家學習愉快~

代碼鏈接:

https://github.com/suisuisi/SystemVerilog/tree/main/SystemVerilogHDLBits


審核編輯 :李倩


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • HDL
    HDL
    +關注

    關注

    8

    文章

    330

    瀏覽量

    47826
  • 時序電路
    +關注

    關注

    1

    文章

    114

    瀏覽量

    21874
  • 移位寄存器
    +關注

    關注

    3

    文章

    287

    瀏覽量

    22652

原文標題:HDLBits: 在線學習 SystemVerilog(十七)-Problem 106-114(移位寄存器)

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    74VHC595;74VHCT595移位寄存器規格書

    電子發燒友網站提供《74VHC595;74VHCT595移位寄存器規格書.pdf》資料免費下載
    發表于 02-14 16:11 ?0次下載
    74VHC595;74VHCT595<b class='flag-5'>移位寄存器</b>規格書

    74HC165;74HCT165移位寄存器規格書

    電子發燒友網站提供《74HC165;74HCT165移位寄存器規格書.pdf》資料免費下載
    發表于 02-14 16:06 ?0次下載
    74HC165;74HCT165<b class='flag-5'>移位寄存器</b>規格書

    74HC594-Q100;74HCT594-Q100帶輸出寄存器的8位移位寄存器規格書

    電子發燒友網站提供《74HC594-Q100;74HCT594-Q100帶輸出寄存器的8位移位寄存器規格書.pdf》資料免費下載
    發表于 02-09 15:19 ?0次下載
    74HC594-Q100;74HCT594-Q100帶輸出<b class='flag-5'>寄存器</b>的8位<b class='flag-5'>移位寄存器</b>規格書

    74HC594;74HCT594移位寄存器規格書

    電子發燒友網站提供《74HC594;74HCT594移位寄存器規格書.pdf》資料免費下載
    發表于 02-09 14:53 ?0次下載
    74HC594;74HCT594<b class='flag-5'>移位寄存器</b>規格書

    74LV595移位寄存器規格書

    電子發燒友網站提供《74LV595移位寄存器規格書.pdf》資料免費下載
    發表于 02-08 18:07 ?0次下載
    74LV595<b class='flag-5'>移位寄存器</b>規格書

    74HC595;74HCT595移位寄存器規格書

    電子發燒友網站提供《74HC595;74HCT595移位寄存器規格書.pdf》資料免費下載
    發表于 02-08 16:49 ?0次下載
    74HC595;74HCT595<b class='flag-5'>移位寄存器</b>規格書

    74HC597;74HCT597移位寄存器規格書

    電子發燒友網站提供《74HC597;74HCT597移位寄存器規格書.pdf》資料免費下載
    發表于 02-08 16:03 ?0次下載
    74HC597;74HCT597<b class='flag-5'>移位寄存器</b>規格書

    XILINX FPGA CLB單元之移位寄存器

    一、移位寄存器 SLICEM函數發生也可以配置為32位移位寄存器,而無需使用slice中可用的觸發。以這種方式使用,每個LUT可以將串行數據延遲1到32個時鐘周期。 移入D(DI1
    的頭像 發表于 01-16 17:45 ?662次閱讀
    XILINX FPGA CLB單元之<b class='flag-5'>移位寄存器</b>

    TPIC6C596電源+邏輯移位寄存器應用

    電子發燒友網站提供《TPIC6C596電源+邏輯移位寄存器應用.pdf》資料免費下載
    發表于 09-30 11:00 ?0次下載
    TPIC6C596電源+邏輯<b class='flag-5'>移位寄存器</b>應用

    移位寄存器的工作原理和類型

    移位寄存器是計算機中常用的一種寄存器類型,它能夠按位進行數據的左移或右移操作。作為數字電路中的基本元件,移位寄存器由多個觸發構成,每個觸發
    的頭像 發表于 08-02 18:11 ?6359次閱讀
    <b class='flag-5'>移位寄存器</b>的工作原理和類型

    移位寄存器的工作原理、類型及應用

    移位寄存器是一種電子設備,用于存儲和操作數據。它由一系列存儲單元組成,每個存儲單元可以存儲一位二進制數字。移位寄存器的主要功能是將數據從一個存儲單元移動到另一個存儲單元,從而實現數據的存儲和傳輸
    的頭像 發表于 07-12 10:22 ?3243次閱讀

    移位寄存器中使用的儲存單元是什么

    移位寄存器是一種常見的數字電路組件,用于存儲和傳輸數字信號。在移位寄存器中,存儲單元是其核心組成部分,負責存儲數字信號的每一位。本文將介紹移位寄存器中使用的存儲單元。 移位寄存器概述
    的頭像 發表于 07-12 10:21 ?783次閱讀

    移位寄存器中Dsr有什么用

    移位寄存器(Shift Register)是一種數字電路,用于存儲和傳輸數字信號。在數字電子學中,它廣泛應用于數據存儲、信號處理和時序控制等領域。DSR(Data Shift Register
    的頭像 發表于 07-12 10:15 ?1219次閱讀

    移位寄存器右移是怎么移位

    移位寄存器是一種在數字電路和計算機科學中廣泛使用的存儲設備,它可以用來存儲和傳輸數據。在移位寄存器中,數據可以通過移位操作來實現數據的傳輸和處理。移位寄存器
    的頭像 發表于 07-12 10:14 ?2737次閱讀

    PLC移位寄存器指令的工作過程

    在工業自動化領域,可編程序控制(PLC)的應用日益廣泛。作為工業控制的核心設備,PLC不僅具備強大的數據處理能力,還擁有豐富的指令系統,以滿足各種復雜的控制需求。其中,移位寄存器指令是PLC
    的頭像 發表于 06-15 17:37 ?2741次閱讀
    主站蜘蛛池模板: 国内一级特黄女人精品毛片 | 国产高清成人mv在线观看 | xxxx久久 | 国内精品久久久久久影院老狼 | 亚洲男同tv| 成人欧美一区二区三区视频不卡 | 久久综合狠狠综合久久综合88 | www.夜夜爽| 色福利视频 | 97影院理论在线观看 | 国产精品视频一区国模私拍 | 最新版资源在线天堂 | 色综合视频在线观看 | 日本不卡视频在线视频观看 | 午夜老司机福利 | 国产成人精品日本 | 亚洲国产网址 | 成人国产一区二区 | 黑色丝袜美女被视频网站 | 免费h视频网站 | 欧美日韩精品一区二区在线线 | 亚洲一级免费视频 | 午夜寂寞视频在线观看 | 欧美精彩狠狠色丁香婷婷 | 久久精品亚洲一级毛片 | mide-776中文字幕在线 | 天天操夜夜操夜夜操 | 久久精品成人免费网站 | 五月天婷婷网亚洲综合在线 | 午夜影院免费在线观看 | 毛片站 | 视频在线观看免费视频 | 久操视频网站 | 国产人成午夜免费看 | 黄色毛片基地 | 奇米四色777亚洲图 奇米影视四色首页手机在线 | 天天摸天天操免费播放小视频 | 久久黄视频 | 99久久99久久久精品齐齐鬼色 | 成年男人永久免费看片 | 美国69bj|