亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

Verilog實(shí)現(xiàn)FPGA密碼鎖:矩陣鍵盤與狀態(tài)機(jī)設(shè)計(jì)實(shí)戰(zhàn)

Verilog實(shí)現(xiàn)FPGA密碼鎖:矩陣鍵盤與狀態(tài)機(jī)設(shè)計(jì)實(shí)戰(zhàn) 說(shuō)實(shí)話這幾年接觸了不少想入門FPGA的朋友如果你問(wèn)哪個(gè)項(xiàng)目能一口氣把Verilog的核心基本功串起來(lái)我通常會(huì)推薦電子密碼鎖。這個(gè)項(xiàng)目看著不起眼卻把矩陣鍵盤掃描、按鍵消抖、狀態(tài)機(jī)設(shè)計(jì)、動(dòng)態(tài)顯示刷新、外設(shè)控制這些數(shù)字邏輯里的硬骨頭全部放在了一個(gè)具體場(chǎng)景里。今天要分享的就是這樣一個(gè)基于Verilog的FPGA密碼鎖工程核心交互是通過(guò)4x4矩陣鍵盤輸入按鍵值在待機(jī)狀態(tài)下連續(xù)輸入12進(jìn)入修改密碼功能整個(gè)工程從模塊劃分、狀態(tài)機(jī)設(shè)計(jì)到仿真上板我按實(shí)際開(kāi)發(fā)順序完整講一遍。1. 密碼鎖整體功能設(shè)計(jì)與方案選型1.1 功能清單與用戶交互流程先把功能需求列清楚。這個(gè)工程模擬的是日常使用的電子密碼鎖核心功能是上電后處于鎖定狀態(tài)用戶通過(guò)矩陣鍵盤輸入6位密碼輸入完成后按確認(rèn)鍵觸發(fā)校驗(yàn)密碼正確進(jìn)入解鎖狀態(tài)密碼錯(cuò)誤則蜂鳴器報(bào)警并累計(jì)錯(cuò)誤次數(shù)連續(xù)錯(cuò)誤達(dá)到3次系統(tǒng)鎖定一段時(shí)間。修改密碼的入口就是標(biāo)題里說(shuō)的輸入12在待機(jī)狀態(tài)下先按數(shù)字1緊接著按數(shù)字2系統(tǒng)識(shí)別到這個(gè)組合指令后進(jìn)入修改密碼模式。完整的用戶交互流程大致如下系統(tǒng)上電默認(rèn)密碼為000000顯示界面提示待機(jī)。在待機(jī)狀態(tài)輸入12進(jìn)入修改密碼模式如果輸入的是其他數(shù)字則當(dāng)作密碼輸入的開(kāi)始。修改密碼時(shí)先要求輸入原密碼驗(yàn)證身份驗(yàn)證通過(guò)后再輸入新密碼并且新密碼需要連續(xù)輸入兩遍兩次一致才真正寫(xiě)入存儲(chǔ)。正常密碼輸入以#鍵確認(rèn)*鍵可以清除當(dāng)前輸入內(nèi)容。密碼校驗(yàn)通過(guò)后進(jìn)入開(kāi)鎖狀態(tài)綠色指示燈點(diǎn)亮數(shù)碼管顯示OPEN此時(shí)按下*可以重新鎖定。密碼校驗(yàn)失敗紅色指示燈閃爍蜂鳴器長(zhǎng)鳴錯(cuò)誤計(jì)數(shù)加一連續(xù)三次錯(cuò)誤進(jìn)入鎖定狀態(tài)30秒內(nèi)不接受任何輸入。這個(gè)流程覆蓋了FPGA入門階段最常用的幾個(gè)外設(shè)交互方式也把狀態(tài)機(jī)的狀態(tài)遷移玩明白了。很多教程里的密碼鎖只做校驗(yàn)不解鎖或者只解鎖不能改密其實(shí)是不完整的。加上12改密這個(gè)入口后狀態(tài)機(jī)至少要多出驗(yàn)證原密碼輸入新密碼確認(rèn)新密碼三個(gè)子狀態(tài)復(fù)雜度上來(lái)了但學(xué)習(xí)價(jià)值也上來(lái)了。1.2 為什么不用單片機(jī)而用FPGA做這件事用單片機(jī)做密碼鎖可能幾十行C代碼就搞定了為什么還要在FPGA上用Verilog重寫(xiě)一遍這個(gè)問(wèn)題幾乎每個(gè)做這個(gè)項(xiàng)目的人都會(huì)問(wèn)。我的看法是這個(gè)項(xiàng)目在工程上確實(shí)不是最優(yōu)解但在學(xué)習(xí)上是很好的訓(xùn)練場(chǎng)。FPGA和單片機(jī)最本質(zhì)的區(qū)別是硬件并行性。單片機(jī)是順序執(zhí)行指令按鍵掃描、顯示刷新、蜂鳴器控制都靠CPU輪流處理一旦任務(wù)多了就會(huì)出現(xiàn)實(shí)時(shí)性問(wèn)題FPGA則是每個(gè)模塊都在獨(dú)立運(yùn)行鍵盤掃描模塊在跑的時(shí)候數(shù)碼管動(dòng)態(tài)掃描也在跑狀態(tài)機(jī)也在跑它們之間通過(guò)信號(hào)握手和時(shí)序配合協(xié)同工作。這種多個(gè)硬件電路同時(shí)工作的思維方式只有在FPGA上才能體會(huì)到。另一個(gè)原因是密碼鎖的核心邏輯非常適合用狀態(tài)機(jī)表達(dá)。輸入密碼、校驗(yàn)、開(kāi)鎖、修改密碼這本身就是一個(gè)典型的有限狀態(tài)機(jī)模型。在Verilog里用三段式狀態(tài)機(jī)實(shí)現(xiàn)代碼結(jié)構(gòu)清晰綜合后的硬件電路也對(duì)應(yīng)真實(shí)的寄存器、組合邏輯和輸出邏輯。把這個(gè)工程的FSM寫(xiě)穩(wěn)了后續(xù)做串口協(xié)議、以太網(wǎng)控制等復(fù)雜邏輯狀態(tài)機(jī)的設(shè)計(jì)范式都是一脈相承的。1.3 頂層信號(hào)與模塊劃分工程采用自頂向下的設(shè)計(jì)方式頂層模塊只做信號(hào)連接不寫(xiě)具體邏輯。頂層輸入輸出信號(hào)如下表所示信號(hào)名方向位寬功能說(shuō)明clk_50minput1系統(tǒng)時(shí)鐘50MHzrst_ninput1異步復(fù)位低有效rowoutput4矩陣鍵盤行輸出低電平掃描colinput4矩陣鍵盤列輸入讀取按鍵狀態(tài)segoutput8數(shù)碼管段碼輸出seg_seloutput6數(shù)碼管位選輸出動(dòng)態(tài)掃描led_openoutput1開(kāi)鎖狀態(tài)指示led_erroutput1錯(cuò)誤狀態(tài)指示beepoutput1蜂鳴器控制模塊劃分上我拆成了四個(gè)核心模塊再加一個(gè)頂層key_scan矩陣鍵盤掃描模塊產(chǎn)生行掃描信號(hào)讀取列信號(hào)輸出鍵值。key_debounce按鍵消抖模塊消除機(jī)械按鍵的抖動(dòng)毛刺。ctrl_fsm主控制狀態(tài)機(jī)負(fù)責(zé)密碼校驗(yàn)、指令識(shí)別、修改密碼流程控制。display_driver數(shù)碼管動(dòng)態(tài)掃描驅(qū)動(dòng)根據(jù)狀態(tài)機(jī)輸出顯示不同內(nèi)容。beep_driver蜂鳴器控制模塊管理提示音和報(bào)警音。異步復(fù)位的設(shè)計(jì)要特意講一下。絕大多數(shù)FPGA工程都用rst_n做低有效復(fù)位復(fù)位信號(hào)進(jìn)來(lái)了所有寄存器和狀態(tài)機(jī)回到初始狀態(tài)。密碼存儲(chǔ)寄存器也在復(fù)位時(shí)加載默認(rèn)密碼000000。這個(gè)設(shè)計(jì)保證了系統(tǒng)任何時(shí)候掉電重啟都能回到一個(gè)確定的起點(diǎn)不會(huì)出現(xiàn)上電后狀態(tài)機(jī)處于未知狀態(tài)的情況。2. 矩陣鍵盤輸入鏈路掃描、消抖與指令識(shí)別2.1 4x4矩陣鍵盤掃描原理矩陣鍵盤用4根行線和4根列線組成4x4的按鍵陣列共16個(gè)按鍵。它的原理就是分時(shí)掃描把4根行線依次拉低然后讀取4根列線的電平哪根列線被拉低了就說(shuō)明當(dāng)前行和該列交叉位置上的按鍵被按下。舉個(gè)例子如果把第0行拉低即row輸出0111其他行都輸出高電平此時(shí)去讀col如果col變成1101說(shuō)明第0行第1列交叉處的按鍵被按下了。把行列編碼組合起來(lái)就能得到唯一的鍵值。常見(jiàn)的鍵值布局如下行列位置鍵值行列位置鍵值第0行第0列1第2行第0列7第0行第1列2第2行第1列8第0行第2列3第2行第2列9第0行第3列A第2行第3列C第1行第0列4第3行第0列*第1行第1列5第3行第1列0第1行第2列6第3行第2列#第1行第3列B第3行第3列D掃描頻率不能太高也不能太低。太高了按鍵按下時(shí)間的采樣次數(shù)很多但是浪費(fèi)資源太低了可能漏掉快速短按。我一般讓掃描周期在1~2ms左右結(jié)合消抖模塊一起工作。注意一點(diǎn)矩陣鍵盤掃描本身是一個(gè)持續(xù)進(jìn)行的循環(huán)過(guò)程不是按一次只掃一次而是每時(shí)每刻都在輪詢這樣才能保證按鍵按下時(shí)第一時(shí)間被捕獲。2.2 按鍵消抖模塊的實(shí)現(xiàn)與分析機(jī)械按鍵按下和松開(kāi)的瞬間觸點(diǎn)會(huì)因?yàn)槲锢韽椞a(chǎn)生一串毛刺信號(hào)持續(xù)時(shí)間一般幾毫秒到十幾毫秒。如果不做消抖一次按鍵會(huì)被識(shí)別成多次表現(xiàn)出來(lái)就是按1跳出來(lái)好幾個(gè)1。消抖的思路很簡(jiǎn)單對(duì)輸入信號(hào)連續(xù)采樣只有信號(hào)穩(wěn)定一段時(shí)間后才認(rèn)為按鍵狀態(tài)有效。我習(xí)慣用邊沿檢測(cè)加延時(shí)確認(rèn)的寫(xiě)法先對(duì)輸入信號(hào)打兩拍消除亞穩(wěn)態(tài)然后用計(jì)數(shù)器判斷電平是否穩(wěn)定了足夠長(zhǎng)的時(shí)間。50MHz時(shí)鐘下20ms對(duì)應(yīng)的計(jì)數(shù)值是1_000_000所以消抖計(jì)數(shù)器位寬至少20位。module key_debounce( input wire clk, input wire rst_n, input wire key_in, output reg key_out ); parameter CNT_MAX 20d1_000_000; // 50MHz時(shí)鐘下約20ms reg [19:0] cnt; reg key_tmp1, key_tmp2; always (posedge clk or negedge rst_n) begin if (!rst_n) begin key_tmp1 1b0; key_tmp2 1b0; end else begin key_tmp1 key_in; key_tmp2 key_tmp1; end end always (posedge clk or negedge rst_n) begin if (!rst_n) begin cnt 20d0; key_out 1b0; end else begin if (key_tmp1 ! key_tmp2) begin cnt 20d0; end else if (cnt CNT_MAX) begin cnt cnt 1b1; if (cnt CNT_MAX - 1) key_out key_tmp1; end end end endmodule這個(gè)模塊對(duì)每個(gè)按鍵輸入信號(hào)單獨(dú)做消抖所以矩陣鍵盤的8根行列線不能直接塞進(jìn)來(lái)而是要結(jié)合掃描狀態(tài)來(lái)判斷。更常見(jiàn)的做法是掃描模塊先通過(guò)行列狀態(tài)計(jì)算出某個(gè)按鍵的原始觸發(fā)信號(hào)把這個(gè)觸發(fā)信號(hào)送給消抖模塊消抖穩(wěn)定后再作為有效按鍵脈沖交給狀態(tài)機(jī)。我在工程里就是這樣處理的key_scan模塊只負(fù)責(zé)判斷哪個(gè)鍵被按下輸出一個(gè)高電平脈沖key_debounce模塊負(fù)責(zé)把這個(gè)脈沖濾掉抖動(dòng)變成干凈的鍵值。2.3 鍵值編碼與12組合指令偵測(cè)鍵值編碼就是把行列掃描結(jié)果映射成具體的數(shù)字和功能鍵。我在key_scan模塊中用一個(gè)case語(yǔ)句完成映射同時(shí)輸出一個(gè)key_valid信號(hào)告訴后續(xù)模塊當(dāng)前鍵值有效。這個(gè)key_valid是脈沖信號(hào)持續(xù)一個(gè)時(shí)鐘周期方便狀態(tài)機(jī)在上升沿采樣。輸入12修改密碼這個(gè)指令不能簡(jiǎn)單理解成檢測(cè)到1就進(jìn)改密模式那樣太容易誤觸發(fā)了。我的處理方式是在待機(jī)狀態(tài)下?tīng)顟B(tài)機(jī)首先進(jìn)入一個(gè)指令等待子狀態(tài)。此時(shí)如果收到鍵值1并不立刻當(dāng)作密碼的第一位而是進(jìn)入一個(gè)臨時(shí)的等待第二個(gè)鍵狀態(tài)記錄按鍵序列的前綴。如果緊接著收到的鍵值確實(shí)是2才真正進(jìn)入修改密碼模式如果收到的是其他鍵值就把剛才那個(gè)1當(dāng)作密碼輸入的第一位同時(shí)轉(zhuǎn)入正常的密碼輸入狀態(tài)。// 待機(jī)狀態(tài)下的指令偵測(cè)邏輯示意 S_IDLE: begin if (key_valid key_value 4d1) next_state S_CMD_WAIT; // 收到1先別急著當(dāng)密碼位 else if (key_valid key_value 4hF) // 其他鍵按密碼首位處理 next_state S_PWD_INPUT; end S_CMD_WAIT: begin if (key_valid key_value 4d2) next_state S_CHG_VERIFY; // 連續(xù)收到12進(jìn)入修改密碼 else if (key_valid) next_state S_PWD_INPUT; // 不是2回到密碼輸入流程 end這種設(shè)計(jì)在真實(shí)使用中非常重要。如果密碼恰好以1開(kāi)頭用戶輸入第一個(gè)1就被強(qiáng)行帶走整個(gè)密碼輸入流程就亂了。所以工程里把12當(dāng)成一個(gè)組合指令放在待機(jī)狀態(tài)單獨(dú)偵測(cè)這個(gè)邏輯在仿真時(shí)一定要專門寫(xiě)測(cè)試用例覆蓋到。3. 核心狀態(tài)機(jī)與修改密碼邏輯3.1 三段式狀態(tài)機(jī)把流程控制變成硬件思維整個(gè)密碼鎖最核心的部分是主控制狀態(tài)機(jī)我建議用三段式寫(xiě)法第一個(gè)always塊負(fù)責(zé)狀態(tài)寄存器更新第二個(gè)always塊負(fù)責(zé)組合邏輯決定次態(tài)跳轉(zhuǎn)第三個(gè)always塊負(fù)責(zé)根據(jù)當(dāng)前狀態(tài)產(chǎn)生輸出信號(hào)。為什么分三段而不是一段式一段式把狀態(tài)跳轉(zhuǎn)和輸出邏輯寫(xiě)在一起代碼短但是狀態(tài)遷移和輸出之間互相耦合改一處容易帶崩另一處而且輸出的組合邏輯容易產(chǎn)生毛刺。三段式里狀態(tài)更新是純粹的時(shí)序邏輯次態(tài)判斷是純組合邏輯輸出邏輯可以做成寄存器輸出時(shí)序更干凈排查問(wèn)題也方便。做復(fù)雜狀態(tài)機(jī)的時(shí)候三段式的優(yōu)勢(shì)會(huì)非常明顯。3.2 狀態(tài)定義與跳轉(zhuǎn)關(guān)系這個(gè)工程的狀態(tài)定義如下?tīng)顟B(tài)名含義說(shuō)明S_IDLE待機(jī)狀態(tài)系統(tǒng)空閑偵測(cè)12指令或密碼輸入S_CMD_WAIT指令等待狀態(tài)已經(jīng)收到1等待確認(rèn)下一個(gè)鍵是否為2S_PWD_INPUT密碼輸入狀態(tài)允許輸入6位密碼顯示輸入進(jìn)度S_CHECK密碼校驗(yàn)狀態(tài)用戶按下確認(rèn)鍵觸發(fā)比較邏輯S_OPEN開(kāi)鎖狀態(tài)密碼正確系統(tǒng)開(kāi)鎖S_ERR_WAIT錯(cuò)誤等待狀態(tài)密碼錯(cuò)誤提示等待下一次輸入S_LOCKED鎖定狀態(tài)連續(xù)3次錯(cuò)誤系統(tǒng)鎖定30秒S_CHG_VERIFY改密驗(yàn)證狀態(tài)修改密碼前先驗(yàn)證原密碼S_CHG_NEW1輸入新密碼狀態(tài)第一次輸入新密碼S_CHG_NEW2確認(rèn)新密碼狀態(tài)第二次輸入新密碼與第一次比較狀態(tài)跳轉(zhuǎn)的核心路徑S_IDLE在收到數(shù)字鍵后進(jìn)入S_PWD_INPUTS_PWD_INPUT輸入滿6位后按#進(jìn)入S_CHECKS_CHECK比較通過(guò)進(jìn)S_OPEN不通過(guò)進(jìn)S_ERR_WAITS_ERR_WAIT在錯(cuò)誤計(jì)數(shù)滿3次后進(jìn)S_LOCKED否則回到S_IDLE。修改密碼路徑是S_IDLE收到12后進(jìn)S_CHG_VERIFY驗(yàn)證原密碼通過(guò)后進(jìn)S_CHG_NEW1再進(jìn)S_CHG_NEW2兩次一致后寫(xiě)回密碼寄存器回到S_IDLE。關(guān)鍵的狀態(tài)跳轉(zhuǎn)代碼always (*) begin next_state current_state; case (current_state) S_IDLE: begin if (key_valid key_value 4d1) next_state S_CMD_WAIT; else if (key_valid key_value ! 4d2 key_value ! 4d1) next_state S_PWD_INPUT; end S_CMD_WAIT: begin if (key_valid key_value 4d2) next_state S_CHG_VERIFY; else if (key_valid) next_state S_PWD_INPUT; end S_PWD_INPUT: begin if (key_valid key_value 4hF) // # 確認(rèn)鍵 next_state S_CHECK; else if (key_valid key_value 4hE) // * 清除鍵 next_state S_PWD_INPUT; end S_CHECK: next_state pwd_match ? S_OPEN : S_ERR_WAIT; S_OPEN: begin if (key_valid key_value 4hE) next_state S_IDLE; end S_ERR_WAIT: next_state S_IDLE; S_LOCKED: begin if (lock_cnt 0) next_state S_IDLE; end S_CHG_VERIFY: begin if (key_valid key_value 4hF) next_state verify_ok ? S_CHG_NEW1 : S_IDLE; end S_CHG_NEW1: begin if (key_valid key_value 4hF) next_state S_CHG_NEW2; end S_CHG_NEW2: begin if (key_valid key_value 4hF) next_state S_IDLE; end default: next_state S_IDLE; endcase end代碼里三個(gè)狀態(tài)需要注意S_CMD_WAIT是不穩(wěn)定中間態(tài)它的存在時(shí)間只夠判斷下一個(gè)鍵值S_LOCKED中l(wèi)ock_cnt是30秒倒計(jì)時(shí)的計(jì)數(shù)器減到0才允許跳出S_CHG_NEW2中按下確認(rèn)鍵后要同時(shí)判斷兩次輸入是否一致一致才更新密碼寄存器。3.3 密碼校驗(yàn)與錯(cuò)誤計(jì)數(shù)邏輯密碼校驗(yàn)的位寬是6位十進(jìn)制數(shù)每一位對(duì)應(yīng)一個(gè)4位BCD碼所以密碼寄存器的總位寬是24位。用戶輸入的6位密碼也存在一個(gè)24位的臨時(shí)寄存器里。在S_CHECK狀態(tài)下比較這兩個(gè)24位寄存器是否相等同時(shí)清除輸入緩沖。always (posedge clk or negedge rst_n) begin if (!rst_n) begin err_cnt 3d0; end else if (current_state S_OPEN) begin err_cnt 3d0; end else if (current_state S_CHECK !pwd_match) begin if (err_cnt 3d2) err_cnt 3d0; // 進(jìn)入鎖定清零等待下次解鎖計(jì)數(shù) else err_cnt err_cnt 1b1; end end錯(cuò)誤計(jì)數(shù)為什么要單獨(dú)設(shè)計(jì)一個(gè)常見(jiàn)錯(cuò)誤是把連續(xù)3次錯(cuò)誤理解成只要錯(cuò)過(guò)一次等下次輸入時(shí)清零。實(shí)際上產(chǎn)品化的密碼鎖通常要求連續(xù)錯(cuò)誤計(jì)數(shù)如果中間有一次正確輸入計(jì)數(shù)就應(yīng)該清零。我在設(shè)計(jì)里把清零條件放在S_OPEN也就是只有成功開(kāi)鎖才清零這樣更加貼近真實(shí)需求。連續(xù)3次錯(cuò)誤后進(jìn)入S_LOCKED鎖定時(shí)間我設(shè)定為30秒。鎖定計(jì)數(shù)器的設(shè)計(jì)是以1秒為基準(zhǔn)30次計(jì)時(shí)結(jié)束后才退出鎖定狀態(tài)。1秒的基準(zhǔn)可以用50MHz時(shí)鐘分頻得到也可以用系統(tǒng)里已有的掃描時(shí)鐘倍頻注意復(fù)位和暫停邏輯要處理好。3.4 修改密碼流程的細(xì)節(jié)與二次確認(rèn)修改密碼流程看著簡(jiǎn)單實(shí)際實(shí)現(xiàn)時(shí)有一個(gè)特別容易忽略的點(diǎn)在S_CHG_NEW1輸入的新密碼和S_CHG_NEW2再輸入一次的新密碼要分別存放在兩個(gè)獨(dú)立的臨時(shí)寄存器里。如果共用一個(gè)寄存器第二次輸入就會(huì)把第一次覆蓋掉后面做一致性比較時(shí)兩次數(shù)值永遠(yuǎn)相等這個(gè)bug在仿真階段很難暴露上板測(cè)試才能發(fā)現(xiàn)。正確做法是定義兩份24位寄存器。S_CHG_NEW1狀態(tài)下按鍵值寫(xiě)入new_pwd_1S_CHG_NEW2狀態(tài)下按鍵值寫(xiě)入new_pwd_2。在S_CHG_NEW2按下確認(rèn)鍵時(shí)同時(shí)判斷new_pwd_1和new_pwd_2是否相等相等才把new_pwd_2賦給密碼存儲(chǔ)寄存器否則回到S_IDLE并給出報(bào)錯(cuò)提示。這里還有個(gè)交互設(shè)計(jì)問(wèn)題用戶在新密碼輸入過(guò)程中輸錯(cuò)了某一個(gè)數(shù)字怎么辦我的處理是*鍵做退格刪除每次按下刪除最后一位。這要求狀態(tài)機(jī)同時(shí)處理數(shù)字鍵追加確認(rèn)鍵結(jié)束刪除鍵回退三類輸入事件。實(shí)現(xiàn)上不復(fù)雜但對(duì)狀態(tài)機(jī)的健壯性要求提高了建議把刪除邏輯放在每個(gè)密碼輸入狀態(tài)里都處理一遍。3.5 密碼存儲(chǔ)方案與默認(rèn)密碼加載密碼存儲(chǔ)我用了一個(gè)24位寄存器pwd_reg復(fù)位時(shí)初始化為24h000000。為什么不用RAM因?yàn)槊艽a鎖只保存一個(gè)密碼寄存器完全夠用而且讀寫(xiě)邏輯清晰綜合后占用的邏輯資源也很少。RAM適合存儲(chǔ)大量數(shù)據(jù)用在這種場(chǎng)景反而增加復(fù)雜度。pwd_reg的更新只發(fā)生在兩個(gè)地方復(fù)位初始化和修改密碼成功時(shí)。修改密碼成功條件要寫(xiě)清楚——必須在S_CHG_NEW2狀態(tài)下且兩次輸入一致。這個(gè)寫(xiě)入條件如果漏掉狀態(tài)限制可能會(huì)出現(xiàn)狀態(tài)機(jī)還在S_CHG_NEW1時(shí)就把半截密碼寫(xiě)進(jìn)去的情況導(dǎo)致密碼變成亂碼。另外建議把pwd_reg的輸出單獨(dú)做一個(gè)pwd_match組合邏輯不要在每個(gè)狀態(tài)里直接比較。用assign pwd_match (input_pwd pwd_reg);統(tǒng)一處理狀態(tài)機(jī)只需要讀這個(gè)信號(hào)邏輯清晰也不容易出現(xiàn)比較條件寫(xiě)錯(cuò)的問(wèn)題。4. 數(shù)碼管顯示、蜂鳴器與LED反饋4.1 數(shù)碼管動(dòng)態(tài)掃描原理與段碼表六位數(shù)碼管顯示用了動(dòng)態(tài)掃描方式核心原理是人眼的視覺(jué)暫留效應(yīng)。六個(gè)數(shù)碼管共用8根段碼線如果同時(shí)點(diǎn)亮所有管子會(huì)顯示一模一樣的數(shù)字所以必須分時(shí)選通某一時(shí)刻只點(diǎn)亮一個(gè)位顯示這個(gè)位對(duì)應(yīng)的段碼然后迅速切換到下一位循環(huán)往復(fù)。當(dāng)切換頻率超過(guò)60Hz人眼看到的就是六個(gè)位同時(shí)穩(wěn)定顯示。真正的刷新頻率我一般做到1kHz以上也就是每個(gè)位每秒被刷新1000多次這樣不僅沒(méi)有閃爍感亮度也足夠平均。動(dòng)態(tài)掃描的核心是一個(gè)分頻計(jì)數(shù)器產(chǎn)生位選信號(hào)// 六位數(shù)碼管掃描位選 always (posedge clk or negedge rst_n) begin if (!rst_n) begin scan_cnt 16d0; end else if (scan_cnt 16d50000 - 1) begin scan_cnt 16d0; // 1kHz掃描基準(zhǔn) end else begin scan_cnt scan_cnt 1b1; end end always (*) begin case (scan_cnt[16:14]) // 實(shí)際需要用專門的掃描計(jì)數(shù)器 3d0: begin seg_sel 6b111110; end // 依次選通第0位到第5位 endcase end段碼表是按共陰數(shù)碼管或者共陽(yáng)數(shù)碼管來(lái)設(shè)計(jì)的這個(gè)千萬(wàn)不能搞混。工程里用的某學(xué)習(xí)板是共陰數(shù)碼管所以段碼是 08h3f18h06的寫(xiě)法。如果板子是共陽(yáng)段碼就要按位取反。上板前先讓一個(gè)數(shù)碼管顯示一個(gè)固定數(shù)字驗(yàn)證段碼表方向再繼續(xù)往下做別等全部寫(xiě)完再調(diào)試不然出了問(wèn)題都不知道是掃描時(shí)序錯(cuò)還是段碼錯(cuò)。4.2 狀態(tài)相關(guān)顯示內(nèi)容切換不同狀態(tài)下數(shù)碼管顯示的內(nèi)容完全不一樣。我在display_driver模塊里做了一個(gè)顯示數(shù)據(jù)選擇器根據(jù)當(dāng)前狀態(tài)選擇要顯示的四位數(shù)據(jù)源狀態(tài)顯示內(nèi)容說(shuō)明S_IDLE顯示------或默認(rèn)提示待機(jī)界面S_PWD_INPUT顯示輸入位數(shù)的*保護(hù)密碼隱私也可以顯示實(shí)際數(shù)字便于調(diào)試S_ERR_WAIT顯示Err錯(cuò)誤提示S_OPEN顯示OPEN開(kāi)鎖提示S_LOCKED顯示Lock鎖定提示修改密碼狀態(tài)顯示OldNewAgai等區(qū)分不同改密階段輸入密碼時(shí)顯示*還是顯示數(shù)字我在工程里留了一個(gè)調(diào)試開(kāi)關(guān)。正式演示時(shí)用星號(hào)調(diào)試時(shí)打開(kāi)開(kāi)關(guān)能看到實(shí)際輸入的數(shù)字排查按鍵映射問(wèn)題非常方便。這個(gè)開(kāi)關(guān)就是一個(gè)parameter仿真的時(shí)改成顯示數(shù)字上板演示時(shí)改成顯示星號(hào)不用改邏輯。4.3 蜂鳴器提示音與LED指示蜂鳴器分有源和無(wú)源兩種。有源蜂鳴器內(nèi)部有振蕩源通電就響直接給高電平就行無(wú)源蜂鳴器需要外部提供特定頻率的方波才能發(fā)聲但可以通過(guò)改變頻率發(fā)出不同音調(diào)。我用的學(xué)習(xí)板是無(wú)源蜂鳴器所以beep信號(hào)不能一直拉高而是要產(chǎn)生一個(gè)方波。提示音的設(shè)計(jì)按鍵按下時(shí)短響一下持續(xù)50ms密碼校驗(yàn)失敗時(shí)長(zhǎng)響1秒開(kāi)鎖成功時(shí)響兩下短音。這里就需要一個(gè)beep_driver模塊管理發(fā)聲的持續(xù)時(shí)間和節(jié)奏。實(shí)現(xiàn)思路是用狀態(tài)機(jī)和計(jì)數(shù)器beep_en信號(hào)來(lái)了計(jì)數(shù)器開(kāi)始計(jì)時(shí)同時(shí)在時(shí)鐘分頻下翻轉(zhuǎn)beep輸出產(chǎn)生1kHz左右的方波時(shí)長(zhǎng)到了就關(guān)閉輸出。LED指示相對(duì)簡(jiǎn)單開(kāi)鎖狀態(tài)點(diǎn)亮綠色LED錯(cuò)誤狀態(tài)讓紅色LED閃爍。閃爍效果可以在已有的1Hz分頻時(shí)鐘下控制LED翻轉(zhuǎn)。這里要提醒一點(diǎn)LED指示和數(shù)碼管顯示是配合工作的數(shù)碼管顯示OPEN的同時(shí)綠色的開(kāi)鎖LED必須同步點(diǎn)亮否則用戶感知會(huì)混亂。輸出邏輯統(tǒng)一在狀態(tài)機(jī)的第三個(gè)always塊生成就能保證一致性。5. 仿真驗(yàn)證與上板調(diào)試5.1 Testbench與模擬按鍵任務(wù)仿真階段的目標(biāo)是驗(yàn)證狀態(tài)機(jī)的所有路徑尤其要覆蓋12改密這個(gè)組合指令。我習(xí)慣在Testbench里把按鍵操作封裝成task這樣激勵(lì)代碼看起來(lái)像在描述操作步驟而不是一堆信號(hào)賦值。task press_num; input [3:0] val; begin // 模擬一次按鍵按下并消抖 key_valid 1b0; #20; key_value val; key_valid 1b1; #100; key_valid 1b0; #100; end endtask task press_ok; begin press_num(4hF); // # 確認(rèn)鍵 end endtask實(shí)際仿真時(shí)Testbench更常見(jiàn)的是直接驅(qū)動(dòng)ctrl_fsm模塊的輸入端口把key_valid和key_value當(dāng)作按鍵模塊處理后的結(jié)果這樣避開(kāi)矩陣鍵盤掃描時(shí)序?qū)W⒂跔顟B(tài)機(jī)驗(yàn)證。矩陣鍵盤掃描模塊的驗(yàn)證另寫(xiě)一個(gè)Testbench模擬行列信號(hào)的變化。仿真的關(guān)鍵路徑至少覆蓋正確密碼開(kāi)鎖、錯(cuò)誤密碼三次鎖定、12進(jìn)入改密、原密碼錯(cuò)誤拒絕改密、兩次新密碼不一致回退、修改密碼后使用新密碼成功開(kāi)鎖。這幾條路徑走通了功能上基本就沒(méi)有大問(wèn)題。5.2 仿真階段容易踩的時(shí)序坑第一個(gè)坑是狀態(tài)機(jī)沒(méi)有復(fù)位初始值。如果復(fù)位時(shí)current_state沒(méi)有明確賦值為S_IDLE仿真波形里就會(huì)出現(xiàn)X態(tài)導(dǎo)致整個(gè)狀態(tài)機(jī)亂跑。所有狀態(tài)寄存器、計(jì)數(shù)器、數(shù)據(jù)寄存器復(fù)位時(shí)一定要給確定值。第二個(gè)坑是組合邏輯的鎖存器推斷。寫(xiě)狀態(tài)機(jī)的第二個(gè)always塊時(shí)如果某條分支沒(méi)有覆蓋所有變量賦值綜合工具會(huì)推斷出鎖存器導(dǎo)致行為異常。避免的辦法是在case前先給所有信號(hào)賦默認(rèn)值next_state current_state;并且明確列出default分支。第三個(gè)坑是按鍵脈沖和時(shí)鐘沿的競(jìng)爭(zhēng)。我設(shè)計(jì)的key_valid是脈沖信號(hào)在Testbench里如果賦值和狀態(tài)機(jī)采樣沿完全對(duì)齊仿真可能看到0或1不確定。解決辦法是讓Testbench里的脈沖偏離時(shí)鐘沿比如在時(shí)鐘下降沿附近改變信號(hào)或者使用非阻塞賦值的時(shí)序。真實(shí)硬件里按鍵脈沖突發(fā)時(shí)間遠(yuǎn)大于一個(gè)時(shí)鐘周期不會(huì)出現(xiàn)這個(gè)問(wèn)題但仿真里必須處理。5.3 上板調(diào)試方法與引腳約束上板調(diào)試的第一步不是燒整個(gè)工程而是先燒一個(gè)最簡(jiǎn)單的點(diǎn)亮LED工程確認(rèn)板卡和下載鏈路正常。然后逐個(gè)驗(yàn)證外設(shè)先讓數(shù)碼管顯示固定數(shù)字驗(yàn)證段碼表再寫(xiě)一個(gè)掃描程序按矩陣鍵盤的鍵觀察鍵值是否正確最后才燒整體工程聯(lián)調(diào)。分段驗(yàn)證能大幅縮小出問(wèn)題的范圍。引腳約束是FPGA上板最容易出錯(cuò)的地方。矩陣鍵盤的8根線要分配到指定的IO管腳還必須確認(rèn)板卡原理圖上的行列定義。比如原理圖上某個(gè)位置標(biāo)著KEY_ROW0實(shí)際連接到FPGA的某個(gè)Bank某個(gè)引腳約束文件里就寫(xiě)對(duì)應(yīng)位置。行列定義反了會(huì)導(dǎo)致按鍵映射錯(cuò)亂可能的表象是按1出來(lái)的是5。這類問(wèn)題不需要改邏輯把約束里的行和列交換就行。調(diào)試內(nèi)部信號(hào)建議用FPGA自帶的邏輯分析儀抓取key_value、current_state、pwd_match這幾個(gè)關(guān)鍵信號(hào)配合按鍵操作觀察它們的變化是否符合預(yù)期。我遇到過(guò)的一個(gè)情況是數(shù)碼管顯示輸入位數(shù)的*數(shù)量總是不對(duì)邏輯分析儀一看發(fā)現(xiàn)狀態(tài)機(jī)確實(shí)收到了6個(gè)按鍵脈沖但第一個(gè)脈沖被當(dāng)成了指令前綴的1進(jìn)入S_CMD_WAIT后第二個(gè)鍵才真正開(kāi)始密碼輸入導(dǎo)致密碼位數(shù)少一位。這類問(wèn)題用仿真很難發(fā)現(xiàn)邏輯分析儀抓到真實(shí)時(shí)序立刻真相大白。5.4 硬件實(shí)測(cè)中的一次真實(shí)調(diào)整模擬項(xiàng)目X的實(shí)測(cè)過(guò)程中遇到過(guò)一個(gè)問(wèn)題修改完密碼后用新密碼開(kāi)鎖數(shù)碼管顯示密碼輸入確實(shí)按了6下但校驗(yàn)總是失敗。上板抓信號(hào)后發(fā)現(xiàn)S_CHG_NEW2狀態(tài)下第二次輸入密碼的存入邏輯和按鍵確認(rèn)邏輯產(chǎn)生了沖突按下#確認(rèn)的瞬間key_valid信號(hào)同時(shí)觸發(fā)了一次數(shù)字鍵存入結(jié)果把確認(rèn)鍵當(dāng)成了新增的一位數(shù)字密碼多了一位比較自然失敗。這個(gè)問(wèn)題的根因是輸入狀態(tài)的按鍵處理只判斷了數(shù)字鍵類別沒(méi)有把確認(rèn)鍵從數(shù)字鍵里分離出來(lái)。修復(fù)方式是檢查所有密碼輸入狀態(tài)必須同時(shí)判斷是否有效按鍵鍵值是否為確認(rèn)鍵兩個(gè)條件只有既有效又不是確認(rèn)鍵時(shí)才把數(shù)據(jù)存入緩沖區(qū)。這個(gè)改動(dòng)很小但暴露了狀態(tài)機(jī)設(shè)計(jì)時(shí)事件優(yōu)先級(jí)的重要性——確認(rèn)事件必須優(yōu)先于數(shù)據(jù)事件處理。6. 常見(jiàn)問(wèn)題與排查技巧實(shí)錄6.1 問(wèn)題速查表把開(kāi)發(fā)過(guò)程中容易遇到的問(wèn)題整理成表格方便大家對(duì)照排查現(xiàn)象可能原因排查方向按鍵按下去沒(méi)反應(yīng)行列信號(hào)接反、消抖時(shí)間過(guò)長(zhǎng)、key_valid沒(méi)接上用邏輯分析儀抓行列信號(hào)按鍵按一次識(shí)別兩次消抖模塊沒(méi)生效或消抖時(shí)間太短確認(rèn)key_out輸出不抖動(dòng)拉長(zhǎng)CNT_MAX數(shù)碼管顯示亂碼段碼表方向錯(cuò)、位選信號(hào)接錯(cuò)先讓固定位顯示固定值逐個(gè)排除密碼永遠(yuǎn)校驗(yàn)失敗位寬不一致、輸入緩沖沒(méi)清、比較時(shí)序錯(cuò)抓pwd_match信號(hào)確認(rèn)兩個(gè)24位值12進(jìn)入不了改密指令偵測(cè)狀態(tài)沒(méi)實(shí)現(xiàn)、S_CMD_WAIT被跳過(guò)看狀態(tài)機(jī)是否進(jìn)入S_CMD_WAIT修改密碼后老密碼還能開(kāi)新密碼寫(xiě)入條件沒(méi)限制在S_CHG_NEW2檢查pwd_reg的賦值條件蜂鳴器一直響有源無(wú)源選錯(cuò)、方波頻率沒(méi)控制好確認(rèn)蜂鳴器類型和驅(qū)動(dòng)方式6.2 排查方法論我的排查習(xí)慣是從現(xiàn)象往前倒推。比如密碼修改失敗先確認(rèn)是不是進(jìn)入了改密狀態(tài)再確認(rèn)原密碼驗(yàn)證是否通過(guò)然后是兩次輸入是否一致最后是寫(xiě)入條件是否觸發(fā)。每一步用邏輯分析儀抓對(duì)應(yīng)的狀態(tài)和信號(hào)就像沿著管道追溯水流一樣走到哪一段斷了故障點(diǎn)就在那一段。這里想特別強(qiáng)調(diào)一下把功能分段驗(yàn)證的重要性。整個(gè)工程在綜合前就拆成模塊逐個(gè)確認(rèn)鍵盤掃描模塊能否正確輸出鍵值、消抖模塊能否濾掉毛刺、狀態(tài)機(jī)在仿真里能否跑通所有路徑、顯示模塊能否正確刷出內(nèi)容。模塊邊界測(cè)試通過(guò)后再做聯(lián)調(diào)一般不會(huì)出現(xiàn)那種讓人摸不著頭腦的玄學(xué)問(wèn)題。6.3 幾個(gè)容易被忽略的設(shè)計(jì)細(xì)節(jié)第一個(gè)是密碼輸入緩沖區(qū)的清零時(shí)機(jī)。S_IDLE進(jìn)入密碼輸入前必須把上次輸入殘留的6位數(shù)據(jù)清零。如果不做這個(gè)動(dòng)作用戶上次輸入了4位就按了確認(rèn)密碼校驗(yàn)失敗后再進(jìn)入輸入狀態(tài)會(huì)導(dǎo)致緩沖區(qū)還是上一次的前4位加新輸入的部分內(nèi)容拼出來(lái)一個(gè)亂碼密碼。第二個(gè)是顯示刷新和狀態(tài)切換的同步問(wèn)題。狀態(tài)切換發(fā)生在時(shí)鐘沿顯示模塊讀取狀態(tài)值可能產(chǎn)生一個(gè)周期的延遲這是正常的。但如果顯示數(shù)據(jù)源切換導(dǎo)致某個(gè)瞬間看到上一位的數(shù)據(jù)需要在位選切換和段碼輸出之間加一拍寄存器打拍避免拖影現(xiàn)象。第三個(gè)是12指令的時(shí)效性。S_CMD_WAIT狀態(tài)如果沒(méi)有超時(shí)機(jī)制用戶按了1之后長(zhǎng)時(shí)間不按2狀態(tài)機(jī)就卡在等待狀態(tài)再也無(wú)法輸入密碼。我的處理是增加一個(gè)短延時(shí)計(jì)數(shù)器比如50ms內(nèi)沒(méi)有收到下一個(gè)有效按鍵就自動(dòng)把1當(dāng)作密碼第一位跳入密碼輸入狀態(tài)這樣既保留了組合指令又不會(huì)阻塞正常使用。第四個(gè)是復(fù)位按鍵的必要性。為了調(diào)試方便可以在頂層外加一個(gè)手動(dòng)復(fù)位按鍵強(qiáng)制讓整個(gè)系統(tǒng)回到初始狀態(tài)。這個(gè)按鍵在開(kāi)發(fā)階段幾乎不可或缺因?yàn)闋顟B(tài)機(jī)一旦進(jìn)入某個(gè)不可恢復(fù)的狀態(tài)不可能每次斷電重啟手動(dòng)復(fù)位最直接。正規(guī)設(shè)計(jì)中復(fù)位信號(hào)本身也要消抖否則可能出現(xiàn)復(fù)位不徹底的情況。最后一個(gè)值得說(shuō)的是代碼風(fēng)格。Verilog代碼的模塊化程度直接決定調(diào)試效率。每個(gè)模塊只做一件事接口信號(hào)用有意義的名字命名狀態(tài)機(jī)狀態(tài)名用全大寫(xiě)加前綴這樣邏輯分析儀里看到的信號(hào)名一目了然。我做這個(gè)密碼鎖時(shí)把所有模塊的端口都加上了注釋過(guò)了兩個(gè)月回頭看代碼還能快速上手這一點(diǎn)在工程上比炫技式寫(xiě)法重要得多。這個(gè)密碼鎖工程做完回頭看最有價(jià)值的不是能開(kāi)鎖這個(gè)結(jié)果而是把狀態(tài)機(jī)的設(shè)計(jì)方法從能跑通練到了穩(wěn)定可靠。后面做復(fù)雜的通信協(xié)議、數(shù)據(jù)處理流程時(shí)遇到多狀態(tài)多條件的分支控制第一反應(yīng)就是從狀態(tài)圖開(kāi)始畫(huà)起再落到三段式Verilog狀態(tài)機(jī)。對(duì)FPGA入門來(lái)說(shuō)這個(gè)項(xiàng)目是個(gè)很好的分水嶺它把語(yǔ)法知識(shí)、模塊劃分、時(shí)序概念、上板調(diào)試串成了一整條鏈路一旦全流程跑通過(guò)一次后面再碰其他項(xiàng)目心里就有底了。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
乱伦1色页| 亚洲色图在线视频| 久艹免费| 久久直播国产| 男人天堂网手机版婷婷| 亚洲情色婷婷五月天| 亚洲男人在线观看天堂| 午夜天堂网| 亚洲欧美国产va在线播放频| av激情亚洲五月天| 97天天弄| 91麻豆va国产精品| 永久电影三级在线观看| 诱惑人妻欧美一区在线播放| 亚洲人妻在线一区| 欧美性少妇| 国产毛片精品一区二区色欲黄A片| 久久久成人免费av电影| 欧日韩不卡视.频| 中文操逼字幕| 久久婷婷一区| 欧美日韩精品久久| 婷婷五月天久久精品视频一区二区三区| yw尤物av无码点击进入麻豆| 无码人妻1727| 嗯嗯啊啊啊好爽| 亚洲精品一区中文字幕乱码| 太久视频| 欧美男人天堂| 四虎在线免费视频| 大香蕉AV在线| 精品高清av中文字幕| 超碰午夜| 大香蕉伊人亚洲| 色色色欧美| 中文三一区| 自拍第一页| 超AV色女| 久久99久久99精品免视看婷婷| 人人操人人插人人摸人人干| 亚洲色图综合| 尤物网站91| 亚洲宗合网| 久9久9精品| 夜夜久久| 夜夜夜久久| 五月色综合| 久久久久久久人妻| 中文一区在线视频| 看大黄色大片原件| 免费A V在线播放| av在线一区二区三区| 18禁中文字幕| 黄色视频特级毛片| 午夜激情成人在线观看| 精品一级毛片在线观看| 大香蕉乱级| 999国产精品999久久久久久| 伊人九九九| 懂色av中文字幕一区二区三区天美| 色女99一级片在线观看| 蜜臀在线看片| 97天堂| 91色香| 欧美亚洲特P| 日韩一二三区| 日本性爱欧美性爱| 熟女六十路| 国内精品久久人妻性色av| 屁股久久久久久久久久| 日本熟女不卡视频| 亚洲欧洲成人在线电影| 欧美性爱中文字幕无线码| www.久久久久| 色99在线| 欧美青青视频| 人妻精品一区一区三区蜜桃91| 天天透伊人| 91熟女综合| 久久久久亚洲一区女同性恋中文字幕| 凹凸 69堂 在线播放| 日韩特级毛片免费观看全集| 日韩午夜精品一区二区三区电影| 性爱乱伦一区| 无码国产精品午夜不卡(| 日本高清电影欧美色图| 国产传媒一区日韩| 精…码一二三区| 天天激情综合站| 久久久久久AV无码免费网站| 丁香五月色情| 97操综合| 黄色大香焦1级‘′‘| 夜夜爽爽爽| 啊啊啊好大好湿| 大香蕉日韩| 国产宅男宅女在线观看| 亚洲AO在线| 中文区中文字幕免费看| 黄片com.| 鸥美插入视频| 国产真乱mangent| 99综合| 91激情国产| av一区二区三区不卡| 大香蕉丝袜一级片| 一区二区三区 丝袜 高跟 美腿| 97er欧美性| 蜜桃臀一区二区三区久久| AV乱伦专区| 日韩人妻资源在线看| 中文字幕诱惑制服人妻丝袜美丝袜美| 国产高清午夜成人在线观看| xxx亚洲午夜天堂| 国产熟女无套内射| 97天堂| 五月婷在线| av草草在线电影| 伦伦成年午夜免费视频| 国产熟女精品区| 熟女探花啪啪| 99热导航| 人人摸人人叼| 国产 亚洲 一二三四| 蜜臀久久99精品久久久老,,| 久久亚洲色图中文字幕| 襙一襙| 中日无幕一二三四区| 麻豆成人影音在线| 自拍偷拍2025在线观看 | 九九九偷拍| 99婷婷一区二区| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 久久精品性| 久久九九精品一区二区| 日韩激情啪啪| 日1区2区3区2020| 97在线精品| 熟女精品一区二区在线观看| 亚洲欧美日韩精品久| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊 | 国产精选视频| 久久国内| 欧美色图99| 超碰在线91| 天天日天天干少妇日| 67914亚洲精品| 精品亚洲一区在线观看| 精品妇操一区二区三区| 欧美日韩性爱操大逼| 视频一区二区免费在线| 青青草十区九区爱夜| 97亚洲精品| 久久久9品一区二区三区| а√天堂资源官网在线资源| 97精品一二区| 唐山老熟妇露脸啪啪叫| 精品一区二区三区丰满熟女-亚洲欧美一区| 丁香五月天视频| 欧美一级AAAAAAA| 18禁久极品美女久久哦哟呀!| 日本久久女同性恋视频| 激情四射五月天| www色色色com| 日韩精品黄片免费观看| 美女久久久| 欧美国产有色电影| 久久久久久亚洲精品不卡人乳| 在线日韩日本亚洲国产| 男人的天堂va| 超碰视97中文| 夜夜福利| 亚洲综合另类欧美久久久| 久热一区二区| 97操在线| 欧美性爱一内片一区二区三区| 26uuu性| 欧美大片91| 中国熟女91| 禁片 高清 在线观看视频网站| 国产精品点击进入在线影院| 亚洲国产天堂| 久久久涩| 欧美在线中M| 国产美脚女优尤物在线观看| 婷婷色导航| 性开放中文AV高清无码免费看| 亚洲另类春色| 91精品91久久久久77777| 99热aaa| 欧美日本不卡在线| 91色综合色| 日本最新免费韩国1区2区视频播放| 操操啪| 秋霞免费AV| 欧美精品23| aa片毛片| 亚洲麻豆av一区二区| 亚洲精品国产拍免费91在线| 9美女超碰在线免费观看| 日韩精品99久久久久久中文字幕| 欧美色图私拍91| 久久精品亚洲婷婷| 久久精品亚洲婷婷| 日韩伦理久 久久 清纯| 少妇天堂网络| 大香蕉男人的天堂| 97视频在线视频| 天综合网欧美| 葡萄牙性视频一二区| 蜜臀久久99精品久久久久久成人小说 | 五月丁香影院| 国产亚洲人妻综合日韩 久久| 91人妻Pr| 人人手机欧洲亚洲国产人妻| 中文字日本乱码| 久久夜夜夜| 无码人妻精品一区二区三区九九| 日本超碰97日韩精品人妻| 男人的天堂在线2| 亚洲国产综合久久久性感熟妇| 啊啊啊啊一区| 蜜臀人妻少妇久久在线观看| 色天堂综合| 是还免费视频1727我| 日影院久久婷婷夜夜网| 热热色综合网| 亚洲 欧美 精品专区 极品| 精品一区二区三区国产| 麻豆天美传媒在线视频天堂| 性色国产东北露脸精品视频| 精品无码人妻一区二区免费蜜桃| 精品成人女人久久| 久久在肏| 黄片qw| 强奸乱伦日韩AV| 在线观看一卡二卡| 日韩人妻精品中文字幕| 密臀成人视频久久久| 国产91 丝袜在线播放00-百度| 思思久热在线精品66| 久操网线| 密臀在线免费观看| chaopen97久久| 欧美精品三级黄片| 99久久久久久久久| 91中文精品日韩欧美在线| 97超碰超欧美。| 国产精品白丝www| 青娱乐福利99| 精品区9| 欧美日韩青操| 特污精品女优骚货黄色视频在线免费观看| 午夜福利免费精品视频| 西西美女视频网| 天堂亚洲欧美| 婷婷亚洲五月***久久| 久热久一区二区三区| 亚洲日韩少妇一道本视频| 大香蕉综合网| www.色五月| 91nbbbbbb| 91丨人妻丨国产丨丝袜| 天天躁日日躁XXXXYY| 啪啪91| 中文字幕第7页| 日本国产亚洲一区在线观看| 天天色综合图片| 啊啊啊啊啊啊啊啊要喷了| 欧美天天射| 国产 丝袜 欧美中文 另类| 亚洲欧美性生活| 4虎在线观看| 一区| 少妇久久久| 欧美日韩91| 青青草原成人| 五月天色色网站| 国产91丝袜在线播放蜜月| 成人小说视频在线精品欧美| 九九黄色网| 天天爱综合网| AAAAAAAAA黄片| 亚洲欧美另类少妇精品| 乱性AV| julia在线观看久久| 俞拍久久国应视频| 91粉芽高清在线一区二区| 9久9久| 无码抄逼网| 伊人午夜福利视频| 亚洲精品人妻吞精av| 日本高清加勒比| 岛国大片在线观看网站入口| 欧美综合色图片| 九九色图| 色欧洲| 97 亚洲 日韩 欧美 在线| 国产精品网址| 日本999精品| 国产操逼视频在线观看| 亚洲日韩乱码中文无码蜜桃臀网站| 特级特黄一级毛片免费| julia中文字幕在线观看| 日韩操p| 欧洲精品一区二区三区| 秋霞影音一区二区三区| 天堂亚洲精品| 中美日韩毛片| 天天综合网日韩7799| 久久偷偷色综合蜜桃| 超碰九色| 国产精品免费1区2区视频| 亚洲一区二区三区麻豆传媒| 一本大道不卡一二三区| 就去色综合| 美女超碰978| a'v在线资源| 亚洲精品久久久久毛片A片拉屎 | 日本熟妇浓毛hdsex| 日产中文字幕2020| 欧美性爱系列| 日韩偷拍一区二区三区 | 国产亚洲日本精品在线| 女生久久网| 97精品视频免费| 超碰538| 亚洲国产成人精品无码专区| 青青草国产一区二区三区| 爱做久久久久久| 97精品一区二区三区免费| 久久久久久久少妇| 乱老女人一区二区视频| 欧美亚洲自拍另类人妻| 男人天堂网手机版婷婷| 97欧美精品综合| 亚洲最大AV网| 久久草草亚洲蜜桃臀| 超碰这里有精品| 丝袜六区| 三级三久久线久久99久目本WW| 日韩欧美传媒一区国产| 欧美少妇高潮久久91| 99re视频在线观看这里只有精品| 人妻啪| 欧美 亚洲精品首页| 精品美女在线视频| 色五月综合| 成人免费毛片| 美女网站91| 91操人| 色哟哟-国产专区| 99九九精品| 97精品熟女少妇一区| 女人天堂av在线播放| 91劲爆| 久久久久久91香蕉国产| 久久亚洲影院一区二区| 久久久久9| 国产剧情一区在线观看| 日本一区二区成人在线| 淫荡熟女乱伦网| 91视频综合网| 一区二区影视| 久九九九九九九九热| B049AV在线播放| 精品一区96| 狠狠综合| 婷婷五月天影院| 欧美精品xxxwww| 被男人吃奶很爽的毛片| 国产综合日韩伦理| 97精品国产| 91人人操| 91丨人妻丨国产丨丝袜| 强奸乱伦 亚洲一区| 欧美色就是色| 国产精品999aaa| 亚州91| 天啪| 日韩欧无码一区二区三区免费不卡| 日韩欧美传媒一区国产| 色欲Av人妻精品一区二| 国产隔壁老王影院在线| 另类TS人妖一区二区三区| 亚洲中字幕日本一区二区三区| 日日躁夜夜躁狠狠躁超爽| 黑白配性爱AV成| 老色鬼成人精品视频下载大在线观看| 色情婷婷久久五月天| 久久久久密臀视频| 久久九九精品一区二区| 国产精品日日摸天天碰| 日本色日夜干| 日本成熟少妇A∨网站| 国产精品福利资源在线尤物| 成人免费毛片| 性爱1区| 激情四射五月天| 国产原创自拍| 极品少妇99| 美日韩一二三区| 97操综合| 在线免费观看高清无码视频| 伦伦成年午夜免费视频| 黄污污污污| 无码一区二区三区四区五区六区七区八区九区十区视频 | 欲综合网| 精品无码久久久久久久久果冻糖心| 日本在线观看网址| 日韩 欧美 视频 在线 一区| 骚货人妻偷情自拍在线视频| 啊啊啊啊二区好大| 熟女熟妇一区二区三区视频| 搡老熟女免费视频| 自拍鲍鱼一区在线高清观看免费| 国产一区96在线| 亚洲欧洲久久天堂| 欧美—性—交—色| 日韩国产欧美伦理在线| 久久激情综合| 欧美久久婷婷| 大逼色网站| 欧美性爱第一区| 国产福利第一视频| 嗯嗯啊好大| 蜜臀久久久99久久久久 | 欧美亚洲日本激情在线| 青娱乐 成人娱乐在线| www.AV有限公司一区| 男人的天堂99| 8050无码八戒| 久久爽爽精品| 老熟女91| 日本久久精品| 偷拍2020| 人人做,人人操,人人摸| 成人婷婷丁香| 97欧美色综合| 操逼逼一区视频| 伊人久久婷婷| 欧美淫乱视频| 久久毛卡| 天天天天天超碰| 天美精品原创av片国产| www五月| 高清不卡 中文 人妻| 国产无码精品成人| 日韩人妻操B| 亚洲黄色| 九九热超碰| 欧美体内射精| 婷婷五月天激情网| 18啪啪手机免费性爱| 久久久久免费少妇| 麻豆一区二区三区在线看 | 色阁阁AV综合网| 香伊人在线| 天天看片天天爽| 嗯嗯啊啊啊好爽| 5月婷婷6月六月丁香| 亚州九九九精品视频| av强奸乱轮| 神马久久久久久久久久久久| 波多野结衣AV无码一区| 麻豆黄四叶草网站| 家庭乱伦国产| 亭亭在线资源| 爱媛媛久久国产福利| 91精品国产乱码| 最新的亚洲无吗| 熟女精品一区二区在线观看| 午夜福利视频在线一区| 少妇熟女视频一区二区三区| 亚洲精品人妻吞精av| 人人九九精| 亚洲AV无码久久久国产精品| 变态另类专区| 激情五月综合| www国产无码| 伊人久久国产免费观看视频| 成人一道本免费视频| 国产精品91ai| 欧美系列在线一区二区| 久久香蕉国产线看观看亚洲女人| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 亚洲日本大香蕉1| 日韩不卡av一二三| 熟女人妻一区二区三区免费看 | 欧美性高潮| 色妺妺在线视频| 欧美在线永久天堂| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 风韵犹存大大大大香蕉| 77777亚洲蜜臀精品久久综合蜜臀| 免费AV中文网在线观看| 亚洲欧美精品久| 精品超碰国产| 日韩成人综合网| 国产三级片在线观看| 性色中出| 中国亚洲呦女专区| 啪啪啪综合网| 久久偷偷色综合蜜桃| 97操碰| 麻豆国产视频精品观看| 天美av在线| 78p欧美| 亚洲精品日日夜夜52| 婷婷丁香激情| 啊啊啊轻点在线观看| 欧美不卡在线美女| 亚洲蜜桃V妇女| 中文字幕丰满人妻日本| 九七毛片九九毛片| 密臀在线免费观看| 国产日韩欧美三级片| 91一区二区三区蜜桃| 好湿好紧视频| 精品999日本| 欧美黄页在线| 性做久久久久久免费观看软件| 91久久青青草原精品| 亚洲在钱| 欧美亚洲涩涩| 成人无码专区精品视频| 99啪啪| 欧美少妇性爱网站| 国产一区二区免费福利片| 殴美色网| 国产乱不卡| 1区2区3区中文字幕日韩| 操碰97| 国产色精品午夜大片| 你懂的在线观看区国产| 青娱乐妇女性生活| 在线观看啊啊啊啊啊| 久久久不卡区一区二区三区久久久| 久久一二三四五六七八九区区区 | 91爆操视频| 国产无码精品久久久久久| 青青草原av| 欧美体内射精| 欧美激情黑人| 色天堂在线观看| 亚洲欧洲精品成人| 亚州再线| 日本加靬比网站发布页| 欧美中文字幕男人天堂久久精品 | 99re这里| 欧美色图 人妻| 亚洲视频一二区| 久久99手机免费视频| 自拍丝袜美腿人妻| 亚洲色性情三级| 日韩二三区| 日韩AV一区二区三区三州三州| 日韩亚洲美州欧洲综三区一品在线| 99九九精品| 丁香五月天堂网| 天天干,天天日| 亚洲日本成人动漫| 在线观看AV不卡| 国产视频一区二区三区久久亚洲天堂 | 九九亚洲色在线观看| 91精品免费| 亚洲AV色图一区| 中文字幕国产| 欧美 亚洲 在线| 国产内射爽爽大片| 操逼无码操逼| 淫荡熟女乱伦网| 最近2019中文字幕国语免费版| 亚洲精品第一| 九九色精品| 九九精品美女高溯喷水 | 韩国一级婬片A片无码天美| 草莓精品视频在线免费观看| 无码精品一区二区三区潘金莲| 操我无码| 国产一区二区三区中文字幕| 91日日| 夜夜操夜夜高潮夜夜爽国产精品区| 偷拍欧美亚洲| 超碰午夜| 亚洲色图亚洲无码强奸乱伦| 人妻啊啊人妻啊啊| 裸模AV女优| 偷拍亚洲情色| 国内毛片欧美香蕉精品| 强奸乱伦中文字幕AV| 性爱综合网| 中文97国产| 亚洲中文sv| 超碰在线人妻中文字幕| 韩国一级做A片免费的| 91女在线观看| 亚洲图片偷拍欧美| 人人模人人看| 91呆哥人妻| 天堂精品小草| 麻豆精品.欧美精品.日韩精品.| 网站A V在线| 亚洲精品无码少妇久久| 精品久久久久黄少妇| 日韩AV噜噜噜一区二区三区四区| 成人看片网站| 蜜桃色院一区久久| 91东北熟女| 国产精选三级在线观看| 熟女自慰久久久| 91精品丝袜久久久久久| 嫩草影院在线观看精品| 夜夜高潮夜夜爽| 一本色道熟妇| 欧美成va视频网站| 日韩精品怡红院| 91综合色噜噜| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 91 手机在线播放 绯色| 超碰 欧美| 在线免费观看日韩一区| 成人熟女视频一区二区三区| 性欧美91| 色综合婷婷| 无毛精品| 日本欧美一区二区三区免费| 国产久久视频| 欧美亚洲天堂| 玖玖人人爱| 青青在线视频免费| 九九香蕉网| 蜜桃臀久久| 亚洲国产成人精品无码专区| 九九自拍伦理| 精品日韩中文在线| 精品一区二区三区四区女| 精品一级毛片在线观看| 久操B网| 欧美第一页| 美女露胸露屁股| 色臀av| 女人的久久久| 性天堂| 91在线欧色| 东北毛片| 99操| 美国一区二区三区视频| 91丨精品丨国产丨丝袜| 亚洲αv一区二区三区| 亚洲综合贴图91 | 欧美精品,四区。五区| 久久久久久精品免费看A级| 国产成人精品午夜福利| 亚洲色图殴美色图激情乱伦| 九九九九九九免费视频| 伊人久久大香大香线蕉中文| av影院十区| 99热免费| 欧美Ⅴ性爱| 新97国产超碰| 8050午夜少妇无码| 丰满人妻-区二区三区免费看 | 综合网少妇| www.超碰| 亚洲婷婷综合网| 亚洲少妇在线影音| 亚州操逼网| 精品无吗m| 成人老鸭窝人人在线视频| 国产中文大片资源中文字幕| 欧美色图片欧美色图| 五月丁香影院| 香蕉国产精品麻豆亚洲欧美日韩| 日韩少妇无吗| 久操婷婷| 亚洲乱色熟女一区| 亚洲精品黑丝| 久妇网| 高清无码 国产精品| 暴力av在线| 久久视网78| 免费久久精品麻豆一区二区av| 搡老女人老91二区| 97超碰免费人人性爱| 大香蕉黄色一区| 91肉片| 久久精品六区| 亚洲精品蜜桃久久久一区二区三区| 成 人片 黄色大片| 人妻天堂网| 欧美97视频| 91爱综合| 国产精品无码AV网站| www国产无码| 天天综合网合集91| 久久色激情一区二区三区| 啪一啪免费视频| 天堂v无码免费视频| 欧美精品不卡一二三四在线91| 欧美中文字幕男人天堂久久精品 | 欧美综合自拍成人自拍第二十页| 日韩精品在线视频在线观看| 一区二区视频在看| 中出后入| 天天干天天日天天射黄色| 一区二区三区 日韩欧美| 激情小说亚洲色图| 亚洲激情欧美色图| 麻豆 亚洲 97| www老逼91| 激情第四色| 日韩欧美国产高清视频| 欧美偷拍区| 五月丁香激情四射| 国产日韩怡红院| 久久是精品| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 青青草字幕AV| 欧美亚洲一区二区久久久婷精品大包诱| 精品婷婷| 国内自拍 日韩激情 99| 亚欧视频在线| 精品欧美А∨无码黑人大荫蒂| av网站免费看| 欧美综合亚洲综合| 天天干人人乐| 97人人夜| 综合色区偷拍| 欧洲精品二区| 国产91 丝袜在线播放 | 天天操人人操狠狠插| 在线播放成人高清免费视频 | 久久精品一区二区三区不卡| 精品久热| 久久婷婷五月天| 五月丁香六月激情| 99国产人成精品| 六月天婷婷| 狠狠干综合| 男人的天堂网免费| 极品色社| 丝袜制服字幕在线| AV天堂电影网| 国产天天看| 午夜毛片高清免费不卡| 中文字幕一区二区三四五区日日骚| 欧美亚州综合图片| 9长久久精品| 五月天欧美色图| 久久精品无码熟妇一区二区三区视频导航| 亚洲综人网| 久久久91| 欧美片第一页| 国产精品黄色三级av| 成人午夜小视频手机在线看| 色狠狠综合| 亚洲综合色男人网| 欧美激情欧美精品| 久久精品高清无码一区| 欧美激情 一区| 亚洲加勒比| 97人人夜夜精品视频| 一线黄色免费性爱片| 欧美,日韩,亚洲视频| 天天操综合网| 国产美脚女优尤物在线观看| 人妻内射一区二区在线视频| 91天堂丝袜美腿| 天天综合欧美| 精品中文字幕第一页| 综合久久欧美| 欧美少妇一区二区三区| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 久久性爱城| 99色悠悠| 亚洲天天精品| 91免费看一区二区三区| 欧美日韩 强奸乱伦| 五月激情综合网| 欧美在线l亚洲| 亚洲少妇视频| 老司机深夜18禁污污网站| 久久久久成人亚洲国产| 人妻天天夜夜爽一区二区| 怡春苑东京热| 男人天堂东京热| 国产极品99热在线播放69| 久久婷婷五月| 丰满丝袜少妇AV| 91久久久亚洲| 亚洲一区中文字幕一区| 97干天天| 精品人妻一区二区三区四区不卡在| 中文字幕在线观看永久| 一起草AV| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 337p大胆噜噜噜噜噜91Av| 日韩精品熟妇| 2017亚洲天堂| 999岛国大片| 加勒比av中文| 日语五十路和六十路亚洲国产精品| 欧美成人性爱视频免费观看| 人人手机欧洲亚洲国产人妻| 超碰色大香蕉| 亚洲高清无码在线桃色| 91国产精品熟女| 999久久芭蕾| 91色堂| 午夜欧美神马久久久久| 五月天久久婷婷亚洲| 91岛国动作片| 精品一区二区亚洲国产| 秋霞鲁丝午夜无码一区二区三| 欧美色偷偷| 香蕉综合网| 色偷偷综合91久久噜噜| 99精品欧美一区二区三区桃色| 亚洲有码 视频一区| 四虎884| 中文字幕av乱伦| 亚洲精品久久一区二区三区蜜桃臀| 100啪啪视频大全| 九九热九九热| 少妇久久久久久久久| 五月丁香婷婷色| 蜜桃午夜视频一区二区 | 操逼日批| 国产精品欧美激在线| 日本乱人伦片中文三区| 人妻碰碰碰碰碰碰| 97超碰站| 久久久久久性爱片| 国内伊人久久久久久网站视频| 亚洲成av人片色午夜乱码| 大香蕉92| 操美女高潮抽搐白浆| 欧美色图片欧美色图| 天天精品| 欧美日韩制服| 五月婷婷综合在线| 69一区二区| 67194无码不卡| 在线亚洲 欧美 日本专区| 国产传媒美日韩av| 中文字幕一区二区免费在线| 国产精品密臀网在线观看| 久久男人精品| 大香蕉92| 99热66| 精品视频一区二区| 秋霞男人网| 国产欧美日韩一区二区三区| 嗯嗯啊啊的视频| 伊人色综合网电影| 91亚洲情色| 在线综合 亚洲 欧美中文字幕 | 亚洲日韩青青草色月| 国产精品无码久久久久2025| 欧美激色| 婷婷色网| 国产亚洲日韩欧| 亚州九九九精品视频| 91啪啪视频| 天美传媒精品一区二区| 欧美激情一区二区| 牛牛aV| 综合网91| 亚洲鸥美色图| 午夜精品久久久久久久男人的天堂| 免费AV中文网在线观看| 五月开心久久AV官网| 十八禁啪啦拍视频无遮挡| 97在线观看免费视频| 在线亚洲精品久久久| 欧美性生活综合| 婷婷伊人五月| 偷拍新久久| 久久综合久久综合人久久夜精品| 国产免a费看黄片在线| 黑人性欧美| 国产美女激情| 色五月婷婷五月天| 中日亚韩免费视频| 高清无码人妻久久久一区二区三区aⅴ| 亚洲精品欧美专业| 99日韩| 丁香六月激情| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 亚洲学生妹高清av| 99热国产精品| 色老汉色| 五月天综合网| 亚洲强奸乱伦影视网| 国产偷人伦激情在线观看| 亚洲综合色在线| 亚洲自拍欧美国产首页网曝 | 日韩综合97p| 亚洲伊人久久精品影院| 亚洲最大黄网| 人人操av| 把腿张开老子CAO烂你| 中文AV制服乱伦| 欧美亚洲丝袜人妻制服中文99| 久热久| 一区二区三区四区五区高清无码永久视频| 熟女人妻一区二区三区| 成人性爱AV在线免费观看| 啊啊啊啊操死我| 人妻少妇无码 | 国产激情在线观看| 国产成人无码啪| 亚洲巨爆乳一区二区三区四季网| 男人的天堂com| 人人澡人人澡人人| 色男人色天堂东京热| 日韩精品人妻系列无码天堂| 久久一二三四五六七八九区区区 | 99热超碰| av优播| 吻戏激情性巴克| 久久婷婷精品| 六月激情婷婷| 日韩人妻一区二区精品| 伊人黄色视频免费观看| 18禁的网站在线| 日韩欧美成人性爱在线| WWW啪啪的com| 国产一区二区三区白丝| 尤物网站91| 日韩电影在线观看网址| 99re超碰| 91亚州| 精品欧美老熟女一二区| 97在线视频观看| 狠狠婷婷亚洲中文综合久久| 日本一道在线播放高清| 国产亚洲色婷婷久久99精品91 - 百度| 精品国产乱码久久久久久网站入口| 97超碰欧美精品| 超碰97亚洲| 无遮挡男女激烈动态图| 欧美色www亚洲国产阿娇要播| 麻豆天美91| 国产精品久久久吖| heyZO天然素人无码AⅤ专区| 亚洲h片在线免费观看| 亚洲中文一区二区三区| 日本操BAV| 色综合久久久久| 欧美色棕合| 欧美性,色九九| 天堂射| 欧美天天影院| 97爱综合| 一级做a爰片久久毛片图片| 欧美日韩国产高清在线一二三区| 欧美,日韩,亚洲视频| 成人电影一区| 人妻密肉在线观看| 日韩美女高潮喷水视频| 国产熟码AV| 性色亚洲| 九九干| 欧美婷婷| 亚洲熟女乱熟乱熟妇综合网二区| 91高潮喷水美女| 国产精品伦理| a片偷拍视频| 精品区国产区一区二区三区| 丁香激情五月天| 久久偷拍人| 久久青娱乐| 亚洲精品一二牛牛| 亚州AV无码国产精品| 中文字幕一区av| 久久超碰98| 欧美日韩狠狠爱| 国产极品粉嫩馒头一线天av| wwwcaobibi| 青青草自拍视频在线播放| 97超碰人操| 女色综合| 久久香蕉综合一本到3atv| 亚洲日韩一区电影| 久日综合网| 欧美日韩中文字幕人妻| 日韩欧美aⅴ综合网站发布| 九九99精品视频在线观看| 久久久久久九九九九-美女久久久久久久-成人AV | 精品午夜福利| 亚洲1区2区三区高清中文字幕| 五月婷婷激情| 操91| 9国产超碰| 婷婷久草| 97干综合网| 日本中文字幕不卡视频| 国产农村一一级特黄毛片| 懂色AV中文| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 人人超碰在线观看黄| 超碰色图| 天天色播亚洲综合网站| 精品一区二区三区四区女| 葡萄牙性视频一二区| 国产呦精品一区二区三区下载| 色眯眯射| 中国人高清www色视频免费| 日韩成人大片在线观看| 日韩丝袜高跟制服在线观看| 久久永久无码人妻视频| 国产67194| 欧美性五月| 日韩欧美tv一区二区在线观看| 草b在线 | 丁香六月东京热| 北京美女一区二区| 国产精品一区二区手机看片| 亚洲成人av色网| 久久久涩| 国产大学生高潮在线播放| 亚洲综合射| 性爱乱伦视频免费| 青草香蕉网| 久热影视| 欧美精品第四五页中文字幕在线观看| 欧美不在线| 性爱久久| 1240青青草一区二区三区视频天爱 | 欧美A√综合网 | 99ri精品| 9I1性色影院| 色婷婷久久| 亚洲a色| 国产精品交换一区二区| 超碰色图| 素人播放一区| 激情综合网亚洲| 狼人综合婷婷激情四射 | 久久草大香蕉| 久久这里只| 人人天天欧洲| 操一操摸一摸| 欧洲精品在线播放| 国产日韩欧美中文在线播放| 97欧美色资源| 午夜福利免费福利视频| 亚洲素人综合| 国产亚洲色婷婷久久99精品91| 国产后入式在线观看| 97色在线| dy888午夜老子影视达达兔| 久久久不能久久久久| 老熟女乱伦一区| 天天摸夜夜操视频| 国产懂色精品国产av| 少妇色欲综合网2| 深夜操逼网| 久久精品 六十路 熟女 欧美| 99999精品成人| 丰满人妻无码一区二区三区| 肉丝中文无码高清| 婷婷五月天丁香花| 国产性爱强奸乱伦大全| 欧美少妇内射| 亚洲精品人妻吞精av| 78超碰| 熟女自慰久久久| 青娱乐久久艹| 蜜臀久久99精品久久久久久婷婷| 日韩内射视频| 可以免费观看的日韩av毛片| 中文字幕一区二区三区四五区| 国产乱码久久| 狠狠操夜夜| 快灬快灬 一下爽蜜桃在线观看| 欧美精品在线观看| 亚洲国产婷婷在线播放| 日天天九九天堂666| 99爱久久视频频| 亚洲AV无码国产精品久久久久 | 日韩精品三区四区| 亚洲AV秘 精品久久老牛影视| 久久久精品,3| 欧美熟妇操操视频| 久久久九九网站| 欧美性生活男人的天堂| 亚洲在线观看| 亚州乱码中文字幕综合久久久| 久久久久九九九| 麻豆国产精品午夜视频| 日本国产二线女色| 69AV女优男人的天堂| 黄aaaaaaaaaaaaaaaaaa色网站 | 久久啊啊啊视频| 精品久久久久久亚洲| 日本一级婬片试看三分钟| 伊人91| 久久久久96| 骚熟女吞| 91久热这里只有精品| 91精品无码人妻系列| 欧美高清18A片| 国产精品久久久亚洲第一牛牛_在线观看| 2025亚洲男人天堂| 婷婷五月成人| 亚洲国产午夜真人一级片中文字幕精品黄网站 | 91爱欧美| 97超碰无码网| 免费观看欧美日韩操逼视频| 粉嫩粉嫩一区性色AV片| 很很操在线| 日本加勒比无码专区| 欧美综合自拍亚洲综合图| 天天日天天舔东京热| 国产精品老熟女一区二区| 国产成人精品日本亚洲语言| 国产一区二区三区视频在线看| 七月丁香婷婷| 超碰97伊人| 伊人网在线点播| 爱丝福利| 久久97超碰香蕉| 神马久久啊啊| 热久久99999| 性生活久久久久久久久久| 精品91摸| 99久久这里只有精品| 亚洲色五月| 超碰狠狠操| 五月婷婷综合激情| 97婷婷色| 国产精品大香蕉| 91chinese在线| 91精品综合久久久久久五月丁香| 俺去俺来也在线www| 国产精品操| 亚洲免费看片| 亚洲欧美日韩精品久| 中文字幕精品日韩中文字幕| 欧美一级久久久丰满| 大香蕉黄色一级片免费看| 国产辣妈在线视频福利| 国产一级内射高清视频| 白嫩少妇| 精品日韩人妻精品一二三区| 国产精品内射婷婷一级二| 东北毛片| 人人操人人干xxx| 久久久久久久伊人精品| 性爱视频无打码在线观看| 中文色综合| 中文字幕交换人妻| 日本高清一区二区在线| 久久久国产成人一区二区三区在线| 操逼操操操91| 狠狠色婷婷777| 91碰碰碰|