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

        ?

        基于以太網(wǎng)的FPGA 遠(yuǎn)程調(diào)試系統(tǒng)設(shè)計(jì)

        2023-03-15 07:32:36錢雪磊韓留軍邵春偉
        電子技術(shù)應(yīng)用 2023年2期
        關(guān)鍵詞:全局靜態(tài)調(diào)試

        官 劍,錢雪磊,韓留軍,薛 培,邵春偉

        (1.無錫華普微電子有限公司,江蘇 無錫 214000;2.中科芯集成電路有限公司,江蘇 無錫 214000)

        0 引言

        在工控領(lǐng)域,PLC 系統(tǒng)配套的遠(yuǎn)程在線調(diào)試技術(shù)已經(jīng)非常成熟[1],而以FPGA 為核心的系統(tǒng),市面上還未出現(xiàn)成熟的可遠(yuǎn)程在線調(diào)試的產(chǎn)品。當(dāng)FPGA 系統(tǒng)出現(xiàn)故障時(shí),依然需要工程師到現(xiàn)場分析與調(diào)試。而FPGA 動(dòng)態(tài)可重構(gòu)技術(shù)是實(shí)現(xiàn)遠(yuǎn)程升級和調(diào)試的一種可行方法。

        FPGA 動(dòng)態(tài)可重構(gòu)指FPGA 內(nèi)時(shí)序邏輯的發(fā)生不是通過調(diào)用芯片內(nèi)不同區(qū)域和不同邏輯的資源組合實(shí)現(xiàn)的,而是通過對FPGA 全局或局部邏輯進(jìn)行動(dòng)態(tài)重構(gòu)實(shí)現(xiàn)的[2],其主要分為全局動(dòng)態(tài)可重構(gòu)技術(shù)和部分動(dòng)態(tài)可重構(gòu)技術(shù)。

        FPGA 動(dòng)態(tài)可重構(gòu)技術(shù),有如下方法可實(shí)現(xiàn):

        (1)采用外圍芯片,如ARM 或CPU,通過JTAG 或者selectMAP 接口對FPGA 進(jìn)行動(dòng)態(tài)重構(gòu)[3]。該方法較靈活,但是系統(tǒng)中存在使用一個(gè)主控芯片,對成本、尺寸和功耗均有影響。

        (2)采用FPGA 內(nèi)置的MicroBlaze 或者ZYNQ 系列的ARM 對FPGA 進(jìn)行全局動(dòng)態(tài)重構(gòu)[4]。該方法較靈活,成本較低,但是該方法為全局重構(gòu)方式[5],對Flash 大小有限制,同時(shí)全局重構(gòu)方式是采用存儲于Flash update 空間中的bin 文件來完成FPGA 更新功能,該bin 文件所對應(yīng)的待更新FPGA 程序?yàn)檎桨娉绦?,不適合遠(yuǎn)程調(diào)試時(shí)而使用的中間版調(diào)試程序。

        (3)在特殊領(lǐng)域中,采用部分局部可重構(gòu)技術(shù),可實(shí)現(xiàn)FPGA 內(nèi)SRAM 區(qū)域動(dòng)態(tài)重構(gòu)[6],以避免特殊環(huán)境中FPGA 可能發(fā)生的單粒子翻轉(zhuǎn)而影響到FPGA 核心功能,但是其應(yīng)用領(lǐng)域較狹窄,不適合本研究所處的工控領(lǐng)域[7]。

        基于以上三種方法的優(yōu)缺點(diǎn),本文設(shè)計(jì)了基于以太網(wǎng)方式的FPGA 遠(yuǎn)程調(diào)試系統(tǒng),實(shí)現(xiàn)了服務(wù)器端的遠(yuǎn)程調(diào)試和遠(yuǎn)程升級重構(gòu),成本較低,適用于網(wǎng)絡(luò)中的FPGA設(shè)備。

        1 系統(tǒng)架構(gòu)

        本系統(tǒng)中的設(shè)備是以Xilinx 7 系列FPGA 為硬件平臺,整體架構(gòu)如圖1 所示。

        圖1 FPGA 遠(yuǎn)程調(diào)試系統(tǒng)架構(gòu)

        在圖1 中,系統(tǒng)由FPGA、PHY 芯 片、Flash 芯片及DDR3 芯片組成。其中PHY 實(shí)現(xiàn)TCP/IP 以太網(wǎng)的物理層功能、DDR3 為FPGA 緩存芯 片、Flash 芯片為FPGA 程序存放的位置。FPGA 系統(tǒng)通過Internet 與工作服務(wù)器和遠(yuǎn)程服務(wù)器建立連接。

        用戶正常使用時(shí),設(shè)備只與工作服務(wù)器保持連接通信;當(dāng)用戶需要廠家對設(shè)備維護(hù)而進(jìn)行遠(yuǎn)程調(diào)試時(shí),設(shè)備與遠(yuǎn)程服務(wù)器建立通信連接,并實(shí)現(xiàn)以下三個(gè)功能:

        (1)遠(yuǎn)程重構(gòu)數(shù)據(jù)注入:遠(yuǎn)程服務(wù)器通過Internet 下發(fā)部分動(dòng)態(tài)可重構(gòu)的bin 文件數(shù)據(jù)注入到FPGA ICAP(Internal Configuration Access Port)中,F(xiàn)PGA 部分模 塊實(shí)時(shí)執(zhí)行重構(gòu)后的功能;

        (2)調(diào)試數(shù)據(jù)上傳:設(shè)備向服務(wù)器上傳實(shí)時(shí)狀態(tài)以便廠家調(diào)試設(shè)備,分析設(shè)備問題;

        (3)遠(yuǎn)程升級:當(dāng)廠家解決設(shè)備問題后,將最終版本的升級程序bin 文件通過Internet 下發(fā)到FPGA,F(xiàn)PGA 將文件更新到Flash 芯片中。

        實(shí)現(xiàn)以上功能,則完成了一次完整的設(shè)備遠(yuǎn)程調(diào)試與維護(hù)的流程。

        2 FPGA 設(shè)計(jì)

        FPGA 主要由靜態(tài)和動(dòng)態(tài)兩類模塊組成,模塊之間的通信通過AXI4 總線和同步接口來進(jìn)行。圖1 中的部分可重構(gòu)模塊即為動(dòng)態(tài)模塊,在遠(yuǎn)程調(diào)試和升級時(shí)可重構(gòu);除部分可重構(gòu)模塊外的FPGA 其他模塊為靜態(tài)模塊,在遠(yuǎn)程調(diào)試和升級時(shí)不可重構(gòu)。

        FPGA 內(nèi)部的子模塊如圖2 所示。子模塊功能如表1 所示。

        圖2 FPGA 內(nèi)部模塊圖

        表1 FPGA 子模塊功能表

        2.1 重構(gòu)文件生成流程

        使用Vivado 的Partial Reconfiguration Wizard 工具可將兩個(gè)或多個(gè)具有同樣模塊名稱的HDL 文件在同一工程中實(shí)現(xiàn)[8],該工具所設(shè)定的HDL 文件即為動(dòng)態(tài)模塊,其內(nèi)部可包含多個(gè)子模塊。不同的動(dòng)態(tài)模塊在同一個(gè)工程中編譯后會(huì)生成多個(gè)不同的下載bit 文件,這類bit只會(huì)對動(dòng)態(tài)模塊重構(gòu),對靜態(tài)模塊無影響。

        在實(shí)際系統(tǒng)中,動(dòng)態(tài)模塊的區(qū)域約束是廠家通過預(yù)估動(dòng)態(tài)模塊所需要的LUT、寄存器、管腳、RAM 和DSP等資源大小來綜合設(shè)定的。

        工程編譯完成后,將生成兩類比特流:多個(gè)部分重配置(Partial Reconfiguration,PR)比特流和全功能(full)比特流。其中PR 比特流文件轉(zhuǎn)換后的PR bin 文件即為本系統(tǒng)中用于動(dòng)態(tài)模塊重構(gòu)的更新文件。full 比特流轉(zhuǎn)換后的full bin 文件即用于全局模塊重構(gòu)的更新文件。

        2.2 動(dòng)態(tài)模塊

        動(dòng)態(tài)模塊含用戶模塊和同步接口模塊。其中用戶模塊的核心功能設(shè)計(jì)在此文中不涉及,而由于模塊動(dòng)態(tài)重構(gòu)的特殊性,需要考慮動(dòng)態(tài)模塊與靜態(tài)模塊之間的同步。因此系統(tǒng)設(shè)計(jì)了一個(gè)專門的同步模塊以處理該問題。動(dòng)態(tài)模塊的接口框圖如圖3 所示。

        圖3 動(dòng)態(tài)模塊接口框圖

        用戶模塊與靜態(tài)模塊的接口包含兩種接口:(1)與MicroBlaze 軟核之間數(shù)據(jù)交互的AXI4 接口,主要用于接收遠(yuǎn)程注入指令和本地調(diào)試信息上傳;(2)與靜態(tài)模塊數(shù)據(jù)交互的其他邏輯接口。在遠(yuǎn)程重構(gòu)動(dòng)態(tài)模塊時(shí),HDL文件的代碼修改,動(dòng)態(tài)模塊的輸入輸出信號不能有任何的改變。

        動(dòng)態(tài)模塊重構(gòu)后,其邏輯會(huì)重新復(fù)位,此時(shí)系統(tǒng)設(shè)計(jì)了同步模塊,以確保靜態(tài)模塊可以輸出同步觸發(fā)信號給動(dòng)態(tài)模塊,實(shí)現(xiàn)兩個(gè)模塊之間時(shí)間上的一致。其接口時(shí)序設(shè)計(jì)如圖4 所示。

        圖4 同步邏輯模塊時(shí)序

        clk 信號為時(shí)鐘信號,由靜態(tài)模塊提供,無論在更新PR bin 文件前、中、后的過程中,該信號狀態(tài)均能穩(wěn)定保持。

        reset 信號為復(fù)位信號,與靜態(tài)模塊的主復(fù)位信號保持一致。

        static_sync 信號為靜態(tài)模式輸出給動(dòng)態(tài)模塊的同步信號,該信號為周期信號,每隔8 個(gè)clk 信號輸出1 個(gè)高電平。在更新PR bin 文件前、中、后的過程中,該信號狀態(tài)均能穩(wěn)定保持。

        dynamic_sync 信號為動(dòng)態(tài)模塊輸出給靜態(tài)模塊的同步信號,該信號與static_sync 一致,也為周期信號,其信號在static_sync 延后2 個(gè)周期。由于動(dòng)態(tài)模塊在重構(gòu)過程中該信號處于未定態(tài),如圖4 所示,“啟動(dòng)動(dòng)態(tài)模塊可重構(gòu)”到“動(dòng)態(tài)可重構(gòu)文件ICAP 更新成功”的時(shí)間內(nèi),該信號為0。該信號使靜態(tài)模塊可以獲取動(dòng)態(tài)模塊的實(shí)時(shí)狀態(tài)。

        trigger 信號為靜態(tài)模塊輸出給用戶模塊的觸發(fā)信號,其信號只有當(dāng)完成動(dòng)態(tài)模塊重構(gòu)流程后,獲取static_sync 后才會(huì)拉高,此刻用于觸發(fā)用戶模塊時(shí)間同步開始。

        基于以上設(shè)計(jì)的同步模塊,可實(shí)現(xiàn)動(dòng)態(tài)模塊與靜態(tài)模塊之間的同步,確保用戶模塊的時(shí)間上保持一致。

        2.3 靜態(tài)模塊

        靜態(tài)模塊是為實(shí)現(xiàn)動(dòng)態(tài)模塊重構(gòu)、全局模塊重構(gòu)和TCP/IP 以太網(wǎng)通信等功能而設(shè)計(jì)的確定性邏輯,含MicroBlaze、ddr3_ctrl 模塊、icap_ctrl 模塊、flash_ctrl 模塊等模塊。其中MicroBlaze 處理器實(shí)現(xiàn)各個(gè)模塊與TCP/IP以太網(wǎng)數(shù)據(jù)的交互;ddr3_ctrl 模塊為DDR3 讀寫緩存模塊;icap_ctrl 模塊為遠(yuǎn)程調(diào)試時(shí)PR bin 文件寫入ICAP 的控制模塊;flash_ctrl 模塊為遠(yuǎn)程升級時(shí)full bin 寫入到Flash 芯片的控制模塊。

        2.3.1 MicroBlaze 處理器

        MicroBlaze 實(shí)現(xiàn)LwIP 協(xié)議棧,此協(xié)議棧在保持了TCP/IP 協(xié)議主要功能的基礎(chǔ)上減少了對資源的占用[9]。FPGA 的動(dòng)態(tài)重構(gòu)和全局重構(gòu),均是遠(yuǎn)程服務(wù)器通過TCP/IP 將待更新的PR bin 文件和full bin 文件下發(fā)給FPGA 內(nèi)部的MicroBlaze 軟核,MicroBlaze 解析TCP/IP包后,按照包內(nèi)計(jì)數(shù)器的順序,解析出有效的數(shù)據(jù),通過AXI4 總線把數(shù)據(jù)寫入ddr3_ctrl 模塊的DDR3 地址中,在確認(rèn)MicroBlaze 收到最后一個(gè)PR bin 或者full bin 數(shù)據(jù)后,啟動(dòng)重構(gòu)文件的下載。

        2.3.2 ddr3_ctrl 控制模塊

        ddr3_ctrl 模塊采用XILINX 提供的MIG IP,接口為AXI4 接口,通過AXI4-interconnect 互聯(lián)模塊實(shí)現(xiàn)與MicroBlaze 處理器連接。其實(shí)現(xiàn)的功能為:

        (1)從以太網(wǎng)中接收的以太網(wǎng)包中解析出PR 數(shù)據(jù)bin 或full bin 文件,寫入到DDR3 顆粒;

        (2)從劃分好的動(dòng)態(tài)重構(gòu)DDR3 地址讀出動(dòng)態(tài)模塊重構(gòu)bin 文件,按時(shí)序?qū)懭氲絠cap_ctrl 模塊;

        (3)從劃分好的全局重構(gòu)DDR3 地址讀出全局模塊重構(gòu)bin 文件,按時(shí)序?qū)懭氲絝lash_ctrl 模塊。

        2.3.3 icap_ctrl 控制模塊

        動(dòng)態(tài)模塊的重構(gòu)是通過部分動(dòng)態(tài)可重構(gòu)技術(shù)實(shí)現(xiàn)的。該技術(shù)采用CAP 原語的方式。

        在Xilinx7 系列中,ICAP 即為實(shí)現(xiàn)該技術(shù)的原語,其功能與Selectmap、JTAG 等方式類似[10],區(qū)別在于ICAP是可以通過HDL 代碼直接代碼,方便集成到工程中。

        ICAP 原語框圖如圖5 所示。

        圖5 ICAP 原語框圖

        其信號如下:

        (1) O:配置數(shù)據(jù)的輸出;

        (2) CSIB:使能信號,低電平有效;

        (3) CLK:時(shí)鐘信號;

        (4) I:原語配置數(shù)據(jù)的輸入信號;

        (5) RDWRB:讀寫使能信號,低電平有效。

        icap_ctrl 設(shè)計(jì)為AXI4-lite 接口方式,其基地址為0x80000000??刂屏鞒虨椋?/p>

        (1) MicroBlaze 向地址0x80000000 寫1 為啟動(dòng)ICAP動(dòng)態(tài)模塊更新;

        (2) MicroBlaze 向地址0x80000004 寫PR bin 文件數(shù)據(jù)(32bit);

        (3) 寫完所有的PR bin 文件內(nèi)容;

        (4) MicroBlaze 向地址0x80000008 寫1 為bin 文件傳輸結(jié)束標(biāo)志。此時(shí)MicroBlaze 完成了一次動(dòng)態(tài)模塊的重構(gòu)。

        2.3.4 flash_ctrl 控制模塊

        flash_ctrl 模塊為當(dāng)完成遠(yuǎn)程調(diào)試、進(jìn)行遠(yuǎn)程升級時(shí)所使用的全局重構(gòu)控制模塊。本系統(tǒng)采用SPI Flash 存FPGA 全局重構(gòu)文件。FPGA 的程序加載運(yùn)行是通過讀取Flash 中的數(shù)據(jù)進(jìn)行的,F(xiàn)lash 包括3 個(gè)部分:Header、initial bitstream area 和update bitstream area。

        全局重構(gòu)的full bin 文件即通過該模塊寫入到update bitstream area 空間。該技術(shù)在此不詳述,可參考文獻(xiàn)[11]。

        3 軟核軟件設(shè)計(jì)

        3.1 MicroBlaze 主流程設(shè)計(jì)

        MicroBlaze 處理器的軟件流程圖如圖6 所示。當(dāng)設(shè)備進(jìn)入到遠(yuǎn)程調(diào)試模式時(shí),與MicroBlaze 遠(yuǎn)程服務(wù)器通過以太網(wǎng)建立起TCP/IP 連接。

        圖6 MicroBlaze 軟核流程圖

        默認(rèn)狀態(tài)下,MicroBlaze 發(fā)送狀態(tài)包(含動(dòng)態(tài)模塊的實(shí)時(shí)狀態(tài))到服務(wù)器端,服務(wù)器端顯示設(shè)備的狀態(tài),并進(jìn)行遠(yuǎn)程調(diào)試。

        當(dāng)設(shè)備端MicroBlaze 接收到服務(wù)器端動(dòng)態(tài)模塊更新啟動(dòng)指令后,進(jìn)入到動(dòng)態(tài)模塊更新模式并接收PR bin 文件。MicroBlaze 接收到動(dòng)態(tài)模塊更新停止指令,接收完成,并從ddr3_ctrl 模塊中讀出存入的bin 文件,并發(fā)給icap_ctrl 模塊,實(shí)現(xiàn)ICAP 的更新,更新完成后返回到默認(rèn)狀態(tài)。

        當(dāng)設(shè)備端MicroBlaze 接收到服務(wù)器端全局模塊更新啟動(dòng)指令后,進(jìn)入到全局模塊更新模式并接收full bin 文件。MicroBlaze 接收到全局模塊更新停止指令,接收完成,從ddr3_ctrl 模塊中讀出存入的bin 文件,并發(fā)給flash_ctrl 模塊,實(shí)現(xiàn)Flash 存儲內(nèi)容的更新,更新完成后,控制FPGA 的PROGRAM 管腳,實(shí)現(xiàn)設(shè)備遠(yuǎn)程重啟。

        3.2 動(dòng)態(tài)重構(gòu)更新軟件設(shè)計(jì)

        完 成PR bin 文件存DDR3 后,MicroBlaze 需要將 存在DDR3 中的bin 數(shù)據(jù)完整地通過icap_ctrl 模塊下載到ICAP 中。該過程的軟件流程圖如圖7 所示。

        圖7 動(dòng)態(tài)模塊更新流程圖

        MicroBlaze 通過讀取DDR3 地址中的bin 數(shù)據(jù),通過AXI4-lite 接口寫入到icap_ctrl 模塊。icap_ctrl 模塊輸入為AXI4-lite slave 接口,輸出為ICAP 接口信號。

        首先MicroBlaze 從DDR3 讀出首地址中的數(shù)據(jù),由于DDR3 中單地址讀出的數(shù)據(jù)為128 bit,而ICAP 接口最大為32 bit 位寬,因此首地址的數(shù)據(jù)分4 次寫入到ICAP 接口。完成后,響應(yīng)ACK。MicroBlaze 繼續(xù)完成后續(xù)DDR3 地址數(shù)據(jù)的讀出。直到最后一個(gè)地址,即實(shí)現(xiàn)部分動(dòng)態(tài)可重構(gòu)bin 文件的更新。

        3.3 全局重構(gòu)更新軟件設(shè)計(jì)

        在完成full bin 存DDR3 的操作后,MicroBlaze 需要將存在DDR3 中的bin 數(shù)據(jù)通過flash_ctrl 下載到Flash存儲芯片中的update 區(qū)域。該過程的實(shí)現(xiàn)如圖8 所示。

        圖8 全局模塊更新流程圖

        與icap_ctrl 軟件控制流程類似,其差別在于完成bin數(shù)據(jù)更新后,MicroBlaze 需要重啟FPGA,實(shí)現(xiàn)遠(yuǎn)程升級文件的生效。

        4 遠(yuǎn)程服務(wù)器設(shè)計(jì)

        遠(yuǎn)程服務(wù)器運(yùn)行于帶Internet 互聯(lián)網(wǎng)的PC 或者服務(wù)器上,采用C++語言開發(fā),其集成了服務(wù)器端的TCP/IP協(xié)議、自定義的數(shù)據(jù)收發(fā)和控制協(xié)議,通過Internet 網(wǎng)絡(luò),與FPGA 進(jìn)行數(shù)據(jù)交互,實(shí)現(xiàn)遠(yuǎn)程調(diào)試,同時(shí)上位機(jī)集成有可導(dǎo)入PR bin、full bin 兩種文件的控件,實(shí)現(xiàn)將文件通過網(wǎng)絡(luò)傳輸?shù)皆O(shè)備以完成FPGA 遠(yuǎn)程調(diào)試與升級。

        當(dāng)FPGA 系統(tǒng)接入網(wǎng)絡(luò)時(shí),連接上后的服務(wù)器頁面如圖9 所示。頁面上顯示的是IP 為172.16.1.10、端口號為5001 的FPGA 設(shè)備連上后的狀態(tài)。

        圖9 遠(yuǎn)程服務(wù)器操作界面

        當(dāng)用戶選擇進(jìn)行,選擇更新界面,并選擇更新的文件后點(diǎn)擊升級按鍵,如圖10 所示。

        圖10 設(shè)備遠(yuǎn)程更新過程中

        服務(wù)器通過網(wǎng)絡(luò)開始以包的形式下發(fā)bin 數(shù)據(jù)給設(shè)備,成功后,軟核反饋更新后的狀態(tài)給遠(yuǎn)程服務(wù)器,并顯示到上位機(jī)。升級完畢后的頁面如圖11 所示。

        圖11 遠(yuǎn)程升級成功

        遠(yuǎn)程調(diào)試頁面顯示為設(shè)備的狀態(tài)信息,與設(shè)備的功能有關(guān)聯(lián),在此不展示。

        5 結(jié)論

        本文以Xilinx 公司7 系列FPGA 為研究對象,采用MicroBlaze 軟核處理器,搭建了基于LwIP 的TCP/IP 協(xié)議棧,作為動(dòng)態(tài)和全局可重構(gòu)數(shù)據(jù)傳輸?shù)耐ㄐ欧绞?。該方式不需要任何硬件狀態(tài)的改變,只改變遠(yuǎn)程更新模塊的功能,更新后立即生效并反饋到升級后的動(dòng)態(tài)模塊和全局模塊實(shí)時(shí)的狀態(tài),方便地進(jìn)行遠(yuǎn)程調(diào)試和遠(yuǎn)程升級[12]。

        基于以上技術(shù)的遠(yuǎn)程調(diào)試系統(tǒng)可靠性高,可實(shí)現(xiàn)FPGA 資源的時(shí)分復(fù)用、動(dòng)態(tài)調(diào)制[12],在人員無法流動(dòng)的情況下,可方便地實(shí)現(xiàn)系統(tǒng)設(shè)備的遠(yuǎn)程維護(hù)。

        猜你喜歡
        全局靜態(tài)調(diào)試
        Cahn-Hilliard-Brinkman系統(tǒng)的全局吸引子
        量子Navier-Stokes方程弱解的全局存在性
        靜態(tài)隨機(jī)存儲器在軌自檢算法
        落子山東,意在全局
        金橋(2018年4期)2018-09-26 02:24:54
        基于航拍無人機(jī)的設(shè)計(jì)與調(diào)試
        電子制作(2018年12期)2018-08-01 00:47:44
        FOCAS功能在機(jī)床調(diào)試中的開發(fā)與應(yīng)用
        無線通信中頻線路窄帶臨界調(diào)試法及其應(yīng)用
        電子制作(2017年19期)2017-02-02 07:08:38
        調(diào)壓柜的調(diào)試與試運(yùn)行探討
        機(jī)床靜態(tài)及動(dòng)態(tài)分析
        具7μA靜態(tài)電流的2A、70V SEPIC/升壓型DC/DC轉(zhuǎn)換器
        亚洲精品无码精品mv在线观看| 91网红福利精品区一区二| 2021最新久久久视精品爱| 久久综合久中文字幕青草| 亚洲精品中文字幕视频色| 亚洲人成网站色7799| 一性一交一口添一摸视频| 麻豆久久五月国产综合| 日韩人妻中文字幕一区二区| 最新天堂一区二区三区| 中文区中文字幕免费看| 亚洲av午夜福利精品一区二区 | 精品人妻中文av一区二区三区 | 影音先锋中文字幕无码资源站| 丰满人妻被两个按摩师| 成 人片 黄 色 大 片| 免费观看的a级毛片的网站| 国产午夜福利精品| 青青草视频华人绿色在线| 亚洲中文字幕日本日韩| 日韩精品视频中文字幕播放| 人妻免费一区二区三区免费| 亚洲av无码专区在线观看成人| 18禁无遮挡无码网站免费| 欧美日韩综合在线视频免费看| 亚洲中文乱码在线视频| 亚洲精品宾馆在线精品酒店| 国产av永久无码天堂影院| 97se亚洲国产综合自在线| 最新四色米奇影视777在线看| 成年女人片免费视频播放A | 人妻少妇艳情视频中文字幕| 色一情一乱一伦麻豆| 夜夜添夜夜添夜夜摸夜夜摸| 亚洲熟女少妇一区二区 | 亚洲一区二区日韩在线| 国产一区二区三区仙踪林| 亚洲日韩一区精品射精| 久久精品无码一区二区2020| 一区两区三区视频在线观看| av熟妇一区二区三区|