亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于FPGA的SPI Flash配置存儲(chǔ)器復(fù)用的實(shí)現(xiàn)

        2018-01-05 18:08:44陳燕文莫璧銘
        關(guān)鍵詞:程序

        陳燕文, 韓 焱, 徐 磊, 莫璧銘

        (中北大學(xué) 信息探測(cè)與處理技術(shù)山西省重點(diǎn)實(shí)驗(yàn)室, 山西 太原 030051)

        基于FPGA的SPIFlash配置存儲(chǔ)器復(fù)用的實(shí)現(xiàn)

        陳燕文, 韓 焱, 徐 磊, 莫璧銘

        (中北大學(xué) 信息探測(cè)與處理技術(shù)山西省重點(diǎn)實(shí)驗(yàn)室, 山西 太原 030051)

        FPGA是一種基于SRAM技術(shù)制造的可編程器件, 內(nèi)部數(shù)據(jù)具有掉電即失的特點(diǎn). 因此, 配置電路是FPGA系統(tǒng)中必不可少的部分. 本文提出一種復(fù)用FPGA配置存儲(chǔ)器的方法:配置存儲(chǔ)器既能滿足FPGA系統(tǒng)的配置需要, 又可以作為通用存儲(chǔ)器滿足用戶存儲(chǔ)數(shù)據(jù)的需求, 提高了配置存儲(chǔ)器的利用率, 使得采集存儲(chǔ)系統(tǒng)小型化、 集成化成為可能. 制定了SPI Flash復(fù)用的方案, 分析了復(fù)用配置存儲(chǔ)器的可行性. 并且編寫基于FPGA的SPI接口控制程序, 實(shí)現(xiàn)對(duì)配置存儲(chǔ)器的擦除、 讀寫等操作. 利用Modelsim, Chipscope等調(diào)試工具驗(yàn)證了控制程序的可靠性.

        FPGA; 配置存儲(chǔ)器復(fù)用; SPI接口控制; Chipscope

        FPGA(現(xiàn)場(chǎng)可編程門陣列)是在PAL, GAL, CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物[1]. 目前主流的FPGA制造工藝均是基于SRAM技術(shù), 這種技術(shù)使得FPGA能夠?qū)崿F(xiàn)較高的工作頻率, 但是也決定了FPGA中數(shù)據(jù)掉電即失的特點(diǎn)[2-3]. 因此, 配置電路是FPGA系統(tǒng)中必不可少的一部分. 隨著存儲(chǔ)技術(shù)的快速發(fā)展, 存儲(chǔ)顆粒密度越來越高, 儲(chǔ)存器向大容量、 小體積方向發(fā)展[4-7]. FPGA的配置存儲(chǔ)器往往在滿足存儲(chǔ)自身配置程序的同時(shí), 仍富余較大的存儲(chǔ)空間. 本文提出一種復(fù)用FPGA配置存儲(chǔ)器的方案, 提高了存儲(chǔ)器的利用率.

        本系統(tǒng)采用Xilinx公司的Spartan6-LX16作為主控芯片、 華邦公司的W25Q128BV作為數(shù)據(jù)存儲(chǔ)和配置芯片、 MAX1308作為數(shù)據(jù)轉(zhuǎn)換模塊, 設(shè)計(jì)構(gòu)建了存儲(chǔ)采集系統(tǒng). 制定了SPI Flash配置芯片的復(fù)用方案, 編寫了存儲(chǔ)器控制程序, 并且對(duì)程序功能和復(fù)用方案進(jìn)行了驗(yàn)證, 最終實(shí)現(xiàn)了對(duì)配置芯片的復(fù)用.

        1 系統(tǒng)設(shè)計(jì)

        圖 1 系統(tǒng)框圖Fig.1 System diagram

        系統(tǒng)組成如圖 1 所示, 本系統(tǒng)中使用的MAX1308模數(shù)轉(zhuǎn)換芯片擁有8個(gè)采樣通道、 最高采樣率為1 MPS. MAX1308為并行數(shù)據(jù)傳輸, 采集一次產(chǎn)生的12 bit數(shù)據(jù)被同時(shí)輸出至數(shù)據(jù)端口. FIFO1與FIFO2是位寬為8、 深度為1 024的數(shù)據(jù)緩沖器. 在采集完成之后, 數(shù)據(jù)的低8 b被寫入數(shù)據(jù)FIFO1, 通道標(biāo)識(shí)號(hào)(4 bit)和數(shù)據(jù)的高4 b被寫入數(shù)據(jù)FIFO2. 在SPI讀寫控制器的協(xié)調(diào)下, 數(shù)據(jù)被有序地從FIFO中讀出并寫入SPI FLASH. 系統(tǒng)中的SPI FLASH為復(fù)用存儲(chǔ)器, 既能滿足FPGA系統(tǒng)的配置需要, 又可以作為通用存儲(chǔ)器滿足用戶存儲(chǔ)數(shù)據(jù)的需求.

        2 復(fù)用方案設(shè)計(jì)

        2.1 FPGA配置方式

        按照主從關(guān)系劃分, FPGA中常用的配置方式有主動(dòng)配置、 被動(dòng)配置和JTAG配置[8], 按照數(shù)據(jù)總線的位寬又可分為串行配置和并行配置[9-10]. 本文中使用SPI Flash作為程序存儲(chǔ)器的配置方案是主動(dòng)串行配置方式的一種. Xilinx公司Spartan6系列芯片程序加載過程如圖 2 所示.

        圖 2 程序加載過程Fig.2 Program loading process

        Spartan 6系列FPGA程序加載方式可以通過模式控制引腳M[1∶0]進(jìn)行選擇. 在采用SPI主動(dòng)串行配置方式時(shí), M[1∶0]應(yīng)被設(shè)置為10. 在FPGA系統(tǒng)上電之后, 外部向FPGA的PROGRAM_B引腳送入一個(gè)寬度不小于500ns的低脈沖, 清除配置空間, 重啟配置過程[11]. 接下來初始化標(biāo)志位INT_B拉低并對(duì)模式控制引腳進(jìn)行采樣, 當(dāng)初始化完成之后INT_B拉高. 隨后FPGA通過CCLK引腳將時(shí)鐘送入存儲(chǔ)控制器, 并且向FLASH發(fā)送讀命令及數(shù)據(jù)起始地址[12]. 在接受到讀命令和地址信息之后, FLASH將配置信息有序地放入DOUT引腳供FPGA讀取[13].

        2.2 SPI FLASH的復(fù)用

        在完成配置程序的加載之后, CCLK, DIN, DOUT, CSO等引腳恢復(fù)成為普通的用戶引腳, 這使得在不改變硬件連接的前提下, 利用配置FLASH余下的存儲(chǔ)空間成為可能.

        圖 3 配置空間與用戶通用存儲(chǔ)空間分配Fig.3 Allocation of space and user general storage space allocation

        對(duì)于確定型號(hào)的FPGA來講, 配置文件所需要的儲(chǔ)存空間是一定的. 廠家會(huì)在芯片手冊(cè)中對(duì)配置文件的大小進(jìn)行說明. 以Spartan 6 系列中LX16型芯片為例, 配置的bit文件的大小為3 731 264 bit, 約為456 KB. 為了滿足第三方存儲(chǔ)器對(duì)數(shù)據(jù)格式的要求, 開發(fā)工具還需要將bit文件轉(zhuǎn)換為MCS文件. 在轉(zhuǎn)換過程中, 加入了校驗(yàn)及地址信息, 因此轉(zhuǎn)換之后文件所占的空間變大, 轉(zhuǎn)換之后的文件大小為2 MB. 本課題中用到的W25Q128BV配置存儲(chǔ)器容量為16 MB, 按照配置程序在存儲(chǔ)器中的存放規(guī)則, 將前2 MB的空間作為程序的配置空間, 后14 MB作為用戶的通用存儲(chǔ)空間. 配置空間與通用存儲(chǔ)空間對(duì)應(yīng)地址關(guān)系如圖 3 所示.

        3 SPI FLASH接口控制程序的實(shí)現(xiàn)

        設(shè)計(jì)中使用的W25Q128BV型SPI FLASH存儲(chǔ)空間為128 Mbit, 由65 536頁組成. 頁是該Flash最基本的組成單元, 一頁的容量為256 Byte. 16頁組成一個(gè)扇區(qū)sector(4 KB), 8個(gè)扇區(qū)組成一塊block(32 KB). 該芯片具有先進(jìn)的寫保護(hù)機(jī)制, 并且具有整體擦除和扇區(qū)擦除、 靈活的頁編程指令和寫保護(hù)功能.

        3.1 FLASH讀寫操作

        本節(jié)重點(diǎn)介紹頁編程操作、 數(shù)據(jù)讀取操作、 扇區(qū)擦除操作的過程. 本設(shè)計(jì)中供用戶存放數(shù)據(jù)的地址區(qū)間為200 000H-FFFFFFH, 因此存儲(chǔ)器的讀寫及擦除操作均是以200 000h為起始地址.

        3.1.1 頁編程操作

        在片選信號(hào)CS拉低之后, 外部向FLASH寫入頁編程令碼02H, 隨后寫入所要目標(biāo)區(qū)域的地址. 地址的一般格式為一個(gè)標(biāo)準(zhǔn)的頁地址, 即數(shù)據(jù)位的低8 b全為‘0’. 當(dāng)寫入地址的低8 b不為‘0’時(shí), 若數(shù)據(jù)寫入時(shí)鐘周期數(shù)多于剩余的字節(jié)位數(shù), 則在完成從當(dāng)前位置寫到結(jié)束位置之后重新回到開始位置進(jìn)行數(shù)據(jù)寫入, 若數(shù)據(jù)寫入時(shí)鐘周期數(shù)小于或者等于剩余的字節(jié)位數(shù), 則在時(shí)鐘結(jié)束之后就停止數(shù)據(jù)的寫入.

        在寫入地址之后, 向FLASH發(fā)送256B的數(shù)據(jù). 在數(shù)據(jù)編程期間BUSY信號(hào)為1. 在FLASH完成數(shù)據(jù)編程后, 狀態(tài)寄存器WEL位轉(zhuǎn)換為‘0’. 若要進(jìn)行下一頁數(shù)據(jù)的編程, 需要在BUSY信號(hào)拉低之后向FLASH寫入寫使能命令將WEL位置至1. 圖5是讀操作程序的仿真圖形. 對(duì)比圖 4 與圖 5 可以發(fā)現(xiàn), 二者時(shí)序操作一致.

        圖 4 頁編程操作時(shí)序Fig.4 Page programming sequence

        圖 5 頁編程仿真波形Fig.5 Programming simulation waveform

        3.1.2 數(shù)據(jù)讀取操作

        該FLASH支持?jǐn)?shù)據(jù)單字節(jié)讀出和多字節(jié)讀出. 在片選信號(hào)CS拉低之后, 向FLASH寫入數(shù)據(jù)讀取命令碼03H, 然后寫入所要讀取區(qū)域的地址. 在地址寫入之后, FLASH在下一個(gè)時(shí)鐘下降沿時(shí)將目標(biāo)地址的數(shù)據(jù)加載到數(shù)據(jù)輸出端口. 若片選信號(hào)和時(shí)鐘信號(hào)一直有效, FLASH的地址會(huì)自動(dòng)遞加并且將數(shù)據(jù)加載到數(shù)據(jù)輸出總線, 直到將FLASH中所有數(shù)據(jù)讀出. 設(shè)計(jì)中使用此種模式對(duì)SPI FLASH進(jìn)行讀操作. 圖 7 是Verilog程序仿真圖.

        圖 6 讀操作時(shí)序圖Fig.6 Reading operation sequence diagram

        圖 7 讀操作仿真圖Fig.7 Read operation simulation

        3.1.3 擦除操作

        擦除操作可以將存儲(chǔ)器中的存儲(chǔ)字節(jié)由‘0’置為‘1’, 而寫數(shù)操作只能將‘1’置為‘0’. 因此, 擦除操作是數(shù)據(jù)寫入FLASH之前必須要進(jìn)行的步驟. W25Q128BV型FLASH支持3種擦除方式: 扇區(qū)擦除、 塊擦除和雙塊擦除. 本設(shè)計(jì)中使用扇區(qū)擦除方式對(duì)FLASH進(jìn)行格式化.

        圖 8 扇區(qū)擦除操作時(shí)序Fig.8 Sector erase operation sequence

        由圖 8 可以看出, 在片選信號(hào)有效之后向FLASH中寫入擦除命令碼20 H. 隨后寫入所要擦除區(qū)域的地址即可. 數(shù)據(jù)擦除期間BUSY為1. 在擦除命令執(zhí)行之后, 狀態(tài)寄存器WEL位轉(zhuǎn)換為‘0’. 若要進(jìn)行下一地址的擦除, 需要在BUSY信號(hào)拉低之后向FLASH寫入寫使能命令將狀態(tài)寄存器的WEL標(biāo)志位至1. 圖 9 是程序仿真圖.

        圖 9 擦除操作仿真圖Fig.9 Erase operation simulation diagram

        3.2 SPI接口設(shè)計(jì)

        該型FLASH支持3種SPI模式, 本設(shè)計(jì)中使用標(biāo)準(zhǔn)SPI模式. SPI的時(shí)鐘為25 MHz, 使用的是模式3, 即在不工作時(shí)時(shí)鐘線是低電平, 在時(shí)鐘下降沿時(shí)將數(shù)據(jù)鎖存進(jìn)設(shè)備. 為了便于程序的編寫, 現(xiàn)對(duì)命令碼進(jìn)行分類編碼, 如表 1 所示.

        根據(jù)SPI的基本控制時(shí)序及FLASH對(duì)于時(shí)序的要求, 編寫控制程序. 控制狀態(tài)機(jī)如圖 10 所示.

        表 1 命令碼編碼

        圖 10 SPI控制狀態(tài)機(jī)Fig.10 SPI control status machine

        當(dāng)前狀態(tài)為IDLE時(shí), 不斷查詢外部是否有命令碼寫入. 若有命令碼寫入跳轉(zhuǎn)至cmd_send狀態(tài). cmd_send狀態(tài)時(shí), 首先讓spi的片選及時(shí)鐘使能信號(hào)有效, 并且完成命令碼的接收. 然后根據(jù)接收命令碼的類型判斷狀態(tài)機(jī)下一步的轉(zhuǎn)向. 如果接收到命令碼為寫使能或?qū)憻o效命令則直接轉(zhuǎn)到完成狀態(tài)fini_done; 如果是讀狀態(tài)命令跳轉(zhuǎn)則到讀等待狀態(tài), 并且把所要讀的數(shù)據(jù)個(gè)數(shù)置為1(讀一個(gè)字節(jié))、 位數(shù)置為7(8 b); 若是為其它命令碼, 則轉(zhuǎn)至地址發(fā)送狀態(tài)addr_send. 在地址發(fā)送完成之后, 再次對(duì)命令碼類型cmd_type進(jìn)行判斷. 處于寫狀態(tài)writ_data時(shí), FIFO控制器將數(shù)據(jù)從FIFO1和FIFO2中讀出并完成并串轉(zhuǎn)換, 在時(shí)鐘時(shí)加載至數(shù)據(jù)輸入總線. 在完成讀寫數(shù)之后, 轉(zhuǎn)向完成狀態(tài)fini_done. 處于完成狀態(tài)fini_done時(shí), spi的片選及時(shí)鐘使能信號(hào)均轉(zhuǎn)成無效.

        4 調(diào)試與分析

        程序是在ISE14.2環(huán)境下編寫的, 結(jié)合自帶的嵌入式邏輯分析儀Chipscope進(jìn)行在線調(diào)試分析. 調(diào)試時(shí)對(duì)系統(tǒng)輸入的模擬信號(hào)為峰值為5 V、 直流偏置為+2.5 V、 頻率為1 kHz的正弦波, 將AD的采樣率設(shè)置為400 KPS. 通過設(shè)置觸發(fā)條件抓取不同采集通道上的數(shù)據(jù). 圖 11, 圖 12 給出的是采集通道為1時(shí)的板級(jí)信號(hào).

        圖 11 板級(jí)信號(hào)Fig.11 Board level signal

        圖 12 數(shù)據(jù)波形Fig.12 Data waveform

        在寫入讀命令和地址(200000H), 測(cè)試時(shí)采集線連接flash_addr的高16 b, 因此顯示的是2000H)之后, SPI Flash在時(shí)鐘下降沿時(shí)將目標(biāo)地址的數(shù)據(jù)加載至數(shù)據(jù)輸出端口. FPGA在上升沿時(shí)把數(shù)據(jù)鎖存進(jìn)讀寄存器(mydata_o)并完成移位操作. 圖12是以波形形式顯示的讀寄存器中數(shù)據(jù). 對(duì)比模擬輸入與的數(shù)據(jù)輸出, 二者數(shù)據(jù)一致. 關(guān)閉系統(tǒng)電源之后, 重新給系統(tǒng)上電, FPGA將SPI Flash中的配置程序加載至片內(nèi). 此時(shí)程序同樣能夠?qū)崿F(xiàn)預(yù)設(shè)的功能, 說明用戶寫入的數(shù)據(jù)并未對(duì)配置程序產(chǎn)生影響, 驗(yàn)證了復(fù)用方案的正確性.

        5 結(jié) 論

        本文設(shè)計(jì)了一種復(fù)用FPGA配置存儲(chǔ)器方案, 并且經(jīng)過仿真與在線調(diào)試驗(yàn)證了復(fù)用方案的可行性. 此種方案使得FPGA的配置存儲(chǔ)器的存儲(chǔ)空間得到充分利用, 并且節(jié)省采集卡板的空間, 使得采集存儲(chǔ)系統(tǒng)小型化、 集成化成為可能. 此外, 本設(shè)計(jì)中采用的是模塊化設(shè)計(jì), SPI控制程序可以作為一個(gè)模塊被例化進(jìn)其他工程中, 因此具有很高的兼容性.

        [1] 黃耀興. 現(xiàn)場(chǎng)可編程門陣列性能初探[J]. 硅谷, 2011(5): 193.

        Huang Yaoxing. Preliminary performance of field programmable gate array [J]. Silicon Valley, 2011(5): 193. (in Chinese)

        [2] 李騫, 汪學(xué)剛, 李漢釗. 基于3-DES算法的FPGA加密應(yīng)用[J]. 電子技術(shù)應(yīng)用, 2008, 34(1): 132-134.

        Li Qian, Wang Xuegang, Li Hanzhao. Application of FPGA encryption based on 3-DES algorithm[J]. Application of Electronic Technology, 2008, 34(1): 132-134.(in Chinese)

        [3] 李艷, 張東曉, 于芳. RTL綜合中FPGA片上RAM工藝映射[J]. 電子學(xué)報(bào), 2016, 44(11): 2660-2667.

        Li Yan, Zhang Dongxiao, Yu Fang. RTL synthesis, FPGA on chip RAM process mapping, Acta[J]. Acta Electronical Sinica, 2016, 44(11): 2660-2667.(in Chinese)

        [4] 鄭文靜, 李明強(qiáng), 舒繼武. Flash存儲(chǔ)技術(shù)[J]. 計(jì)算機(jī)研究與發(fā)展, 2010, 47(4): 716-726.

        Zheng Wenjing, Li Mingqiang, Shu Jiwu. Flash storage technology[J]. Computer Research and Development, 2010, 47(4): 716-726. (in Chinese)

        [5] Grupp L M, Caulfield A M, Coburn J, et al. Characterizing flash memory: anomalies, observations, and applications[C]. Ieee/acm International Symposium on Microarchitecture. IEEE, 2010: 24-33.

        [6] 高劍, 郭士瑞, 蔣常斌. FLASH存儲(chǔ)器的測(cè)試方法[J]. 電子測(cè)量技術(shù), 2008, 31(7): 117-120.

        Gao Jian, Guo Shirui, Jiang Changbin. Test methods for FLASH memory[J]. Electronic Measurement Technology, 2008, 31(7): 117-120. (in Chinese)

        [7] Kang D, Jeong W, Kim C, et al. 256 Gb 3 b/Cell V-nand Flash Memory With 48 Stacked WL Layers[J]. IEEE Journal of Solid-State Circuits, 2017, 52(1): 210-217.

        [8] 張立哲, 劉麗靜. 適應(yīng)遠(yuǎn)程升級(jí)的FPGA配置方法[J]. 計(jì)算機(jī)與網(wǎng)絡(luò), 2011(14): 56-59.

        Zhang Lizhe, Liu Lijing. FPGA configuration method for remote upgrade[J]. Computer and Network, 2011(14): 56-59. (in Chinese)

        [9] Wirthlin M, Johnson E, Rollins N, et al. The reliability of FPGA circuit designs in the presence of radiation induced configuration upsets[C]. IEEE Symposium on Field-Programmable Custom Computing Machines. IEEE Computer Society, 2003: 133.

        [10] 寧李譜, 楊賓峰, 苗青林. FPGA器件的配置方式研究[J]. 河南科技學(xué)院學(xué)報(bào)(自然科學(xué)版), 2008, 36(3): 109-110.

        Ning Lipu, Yang Binfeng, Miao Qinglin. Study of configuration schemes of FPGAs[J]. Journal of Henan Institute of Science and Technology (Natural Science Edition), 2008, 36(3): 109-110. (in Chinese)

        [11] 李飛飛, 蘇延川, 王鵬. 基于DSP的FPGA配置方法研究與實(shí)現(xiàn)[J]. 現(xiàn)代電子技術(shù), 2011, 34(24): 60-62.

        Li Feifei,Su Yanchuan,Wang Peng. Research and implementation of FPGA configuration with DSP[J]. Modern Electronics Technique, 2011, 34(24): 60-62. (in Chinese)

        [12] Xie T T. A FPGA Configuration Method for Improving System Initial Efficiency[J]. Computer & Modernization, 2012, 203(7): 215-217.

        [13] Gomez-Cornejo J, Zuloaga A, Villalta I, et al. A novel BRAM content accessing and processing method based on FPGA configuration bitstream[J]. Microprocessors & Microsystems, 2017, 49: 64-76.

        ImplementationofMemoryMultiplexinginSPIFlashConfigurationBasedonFPGA

        CHEN Yanwen, HAN Yan, XU Lei, MO Biming

        (Key Laboratory of Information Detection and Processing Technology of Shanxi Province, North University of China, Taiyuan 030051, China)

        FPGA is a programmable device based on SRAM technology, and the internal data in FPGA will be lost when the power fails. Therefore, the configuration circuit is an essential part of the FPGA system. This paper puts forward a method of multiplexing FPGA configuration memory: memory allocation can not only meet the needs of FPGA system configuration, but also be used as a universal memory data storage to meet needs of user. This method improves the utilization rate of the memory allocation, and makes it possible to make the acquisition storage system miniaturization and integration. Firstly, the scheme of SPI Flash reuse is worked out, and the feasibility of reusing configuration memory is analyzed. And the SPI interface control program based on FPGA is written to realize the erasure, reading and writing of configuration memory. The reliability of the control program is verified by using Modelsim, Chipscope and other debugging tools.

        FPGA; the multiplexing of configuration memory; SPI interface control; Chipscope

        1671-7449(2017)06-0491-07

        2017-01-07

        陳燕文(1994-), 男, 碩士生, 主要從事信息與通信工程、 智能信息處理等研究.

        TN98

        A

        10.3969/j.issn.1671-7449.2017.06.005

        猜你喜歡
        程序
        給Windows添加程序快速切換欄
        電腦愛好者(2020年6期)2020-05-26 09:27:33
        試論我國(guó)未決羈押程序的立法完善
        失能的信仰——走向衰亡的民事訴訟程序
        “程序猿”的生活什么樣
        英國(guó)與歐盟正式啟動(dòng)“離婚”程序程序
        基于VMM的程序行為異常檢測(cè)
        偵查實(shí)驗(yàn)批準(zhǔn)程序初探
        我國(guó)刑事速裁程序的構(gòu)建
        創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
        恐怖犯罪刑事訴訟程序的完善
        中年熟妇的大黑p| 国产在线精品观看一区二区三区| 国产在线观看自拍av| 人人妻人人狠人人爽天天综合网| 无码国产精成人午夜视频一区二区| 亚洲热妇无码av在线播放| 99久久精品国产一区二区蜜芽| 狼色在线精品影视免费播放| 久久久精品国产三级精品| 久久久久亚洲av无码专区首| 女人扒开下面无遮挡| 日韩一二三四精品免费| 一区二区三区高清视频在线| 白白色发布的在线视频| 高清偷自拍亚洲精品三区| 熟妇人妻AV中文字幕老熟妇| 亚洲精品午夜精品国产| 国产自拍在线视频91| 国产成人喷潮在线观看| 久久久男人天堂| 国产精东一区二区三区| 日本一区二区三区高清在线视频| 伊人激情av一区二区三区| 国产精品三级一区二区按摩| 国产精品美女自在线观看| www国产亚洲精品| 亚洲av无码专区在线电影| 国产福利97精品一区二区| 国产精品又湿又黄九九九久久嫩草| 精品国产麻豆免费人成网站| 国产98在线 | 免费| 久久99热精品免费观看麻豆| 精品极品视频在线观看| 国产精品久久久久精品一区二区| 国产成人无码aⅴ片在线观看| 国产av乳头久久一区| 五月激情综合婷婷六月久久| 四川少妇大战4黑人| 亚洲va欧美va人人爽夜夜嗨| 中国男女黄色完整视频| 国产白嫩护士被弄高潮|