久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

FPGA高速數(shù)據(jù)傳輸:基于CYUSB3014的USB 3.0 Slave FIFO設(shè)計(jì)實(shí)戰(zhàn)

FPGA高速數(shù)據(jù)傳輸:基于CYUSB3014的USB 3.0 Slave FIFO設(shè)計(jì)實(shí)戰(zhàn) 前陣子幫客戶做一套高速數(shù)據(jù)采集系統(tǒng)FPGA 端要實(shí)時(shí)把 ADC 數(shù)據(jù)灌到 PC 上做處理。評(píng)估了幾種 USB 3.0 方案之后最后定了FPGA CYUSB3014EZ-USB FX3的 Slave FIFO 模式。調(diào)通之后用 Streamer 和自寫上位機(jī)分別測(cè)速持續(xù)傳輸穩(wěn)定在338MB/s這個(gè)數(shù)字在 USB 3.0 bulk 傳輸里已經(jīng)非常接近鏈路極限了。整個(gè)過(guò)程踩了不少坑固件側(cè)、FPGA 側(cè)、主機(jī)側(cè)都有很多問(wèn)題不是看 datasheet 就能立刻想明白的。這篇文章把完整的設(shè)計(jì)思路、固件與源碼要點(diǎn)、實(shí)測(cè)數(shù)據(jù)和避坑記錄整理出來(lái)給正在做或者準(zhǔn)備做 FPGA 高速數(shù)據(jù)傳輸?shù)呐笥岩粋€(gè)參考。如果你也是用 FPGA 做數(shù)據(jù)采集、圖像傳輸、軟件無(wú)線電這類需要大帶寬上位的項(xiàng)目這篇內(nèi)容應(yīng)該能幫你省下至少兩周的調(diào)板時(shí)間。文章會(huì)講清楚為什么選 FX3、Slave FIFO 模式到底怎么工作、固件里哪些配置必須改、FPGA 側(cè)狀態(tài)機(jī)怎么寫不會(huì)出錯(cuò)還有 338MB/s 這個(gè)數(shù)字是怎么來(lái)的、還能不能更高。1. 方案選型與整體設(shè)計(jì)思路1.1 為什么是 CYUSB3014先說(shuō)選型。FPGA 和 PC 之間高速傳輸常見(jiàn)的路子就那幾條PCIe、千兆/萬(wàn)兆以太網(wǎng)、USB 3.0。PCIe 帶寬最好但 FPGA 要帶 PCIe 硬核PC 端還要寫驅(qū)動(dòng)工程量大。以太網(wǎng)方案比較通用但協(xié)議棧和 FPGA 邏輯資源開銷不小TCP 吞吐率調(diào)優(yōu)也是無(wú)底洞。USB 3.0 最大的優(yōu)勢(shì)是上位機(jī)生態(tài)成熟——Windows 下有 CyUSB3.sys 驅(qū)動(dòng)Linux 下有現(xiàn)成的內(nèi)核驅(qū)動(dòng)不需要自己碰驅(qū)動(dòng)開發(fā)的深水區(qū)。USB 3.0 橋接芯片里市面上主要就是 Cypress現(xiàn)在是 Infineon的 FX3 和 FTDI 的 FT60x。FT60x 用起來(lái)簡(jiǎn)單FIFO 接口好接但它的文檔和社區(qū)積累不如 FX3而且 FT60x 的 USB 協(xié)議層是把數(shù)據(jù)包封裝好之后直接往主機(jī)發(fā)的靈活性差一些。FX3 內(nèi)置了一顆 200MHz 的 ARM926EJ-S 核可以跑固件GPIF II 接口可編程既能做 Slave FIFO 又能做 Master端點(diǎn)、DMA 通道、Buffer 大小全都可以按需配置。說(shuō)白了FT60x 是一個(gè)定死的橋FX3 是一個(gè)半定制的橋后者給了你足夠的調(diào)整空間去優(yōu)化吞吐率。另外 FX3 的參考資料非常多官方有 AN75779 這個(gè)經(jīng)典的 Slave FIFO 示例工程網(wǎng)上也有大量中文資料。做硬件最怕的就是芯片資料少、出了問(wèn)題沒(méi)地方查FX3 在這方面的優(yōu)勢(shì)是實(shí)打?qū)嵉摹?.2 Slave FIFO 模式到底是怎么工作的FX3 的 GPIF II 是一個(gè)可編程狀態(tài)機(jī)接口可以配置成 Master 模式由 FX3 主動(dòng)產(chǎn)生讀寫時(shí)序去訪問(wèn)外部器件也可以配置成 Slave FIFO 模式由外部器件當(dāng)主控FX3 的 FIFO 就是一個(gè)被動(dòng)的存儲(chǔ)池。我們項(xiàng)目里用的就是 Slave FIFO 同步模式。FPGA 作為主控向外提供 100MHz 的 PCLK 給 FX3同時(shí)控制片選、讀寫使能、數(shù)據(jù)總線FX3 通過(guò) FLAGA/FLAGB 這些水位標(biāo)志告訴 FPGA 現(xiàn)在能不能寫/讀。數(shù)據(jù)流是單向大帶寬的FPGA 內(nèi)部邏輯把數(shù)據(jù)寫入緩存 FIFO然后寫狀態(tài)機(jī)檢測(cè) FX3 的 FLAGA若水位允許就往 32bit 數(shù)據(jù)總線上丟數(shù)據(jù)并拉低 SLWRPCLK 上升沿采樣數(shù)據(jù)進(jìn)入 FX3 的 DMA 緩沖固件再把緩沖搬運(yùn)到 USB 端點(diǎn)最終通過(guò) USB 3.0 送到主機(jī)。這里有個(gè)常見(jiàn)誤區(qū)很多人以為 Slave FIFO 模式下 FX3 就是一塊內(nèi)存直接映射到 USB其實(shí)不是。FX3 內(nèi)部有 DMA 通道和 USB 端點(diǎn)數(shù)據(jù)是肩并肩搬運(yùn)的GPIF II 寫入 FIFO 的速度和 USB 上傳速度互相制約水往低處流慢的那一方?jīng)Q定實(shí)際速率。所以要讓 FPGA 側(cè)接口帶寬遠(yuǎn)大于 USB 側(cè)才能讓 USB 變成瓶頸我們配置的 32bit 100MHz 理論帶寬是 400MB/s比 USB 3.0 實(shí)際有效帶寬高出一截這樣 USB 鏈路才是天花板。2. 硬件板卡設(shè)計(jì)與接口要點(diǎn)2.1 最小系統(tǒng)與啟動(dòng)方式FX3 的最小系統(tǒng)說(shuō)簡(jiǎn)單也簡(jiǎn)單說(shuō)麻煩也麻煩。供電方面它需要 1.2V 內(nèi)核電壓、1.8V/2.5V/3.3V 的 I/O 電壓自己內(nèi)部還有 USB PHY 的模擬供電。我見(jiàn)過(guò)不少板子死在供電上——上電順序不對(duì)導(dǎo)致枚舉不穩(wěn)定或者 VIO 電壓和 FPGA bank 電壓不匹配導(dǎo)致接口時(shí)序異常。建議 VIO 和 FPGA 側(cè) bank 電壓保持一致比如都用 3.3V這樣不用加電平轉(zhuǎn)換芯片少一層延遲時(shí)序也更好控。啟動(dòng)方式要特別注意。FX3 可以從 USB 啟動(dòng)、I2C EEPROM 啟動(dòng)、或者 SPI Flash 啟動(dòng)。開發(fā)調(diào)試階段用 USB 啟動(dòng)最方便也就是每次上電后通過(guò) USB Control Center 手動(dòng)下載固件。但是一旦進(jìn)入聯(lián)調(diào)階段如果不想每次斷電后都重新下載就要在板上放一顆 I2C EEPROM比如 24LC128 或 24LC256把固件燒進(jìn)去。這個(gè)點(diǎn)坑過(guò)很多人EEPROM 里固件版本和當(dāng)前工程不匹配板子上電后枚舉出來(lái)一個(gè)老固件然后你對(duì)新固件的修改完全不生效還以為是代碼問(wèn)題。所以建議 Solid State 版的燒錄和版本管理從一開始就規(guī)范化我在工程里會(huì)寫一個(gè)版本號(hào)常量枚舉后通過(guò)廠商字符串讀出來(lái)上位機(jī)也能顯示避免這種烏龍。2.2 關(guān)鍵信號(hào)與時(shí)序裕量Slave FIFO 同步模式下 FPGA 和 FX3 之間的關(guān)鍵信號(hào)不多列一下信號(hào)方向相對(duì) FPGA功能PCLK輸出給 FX3接口時(shí)鐘通常 100MHzSLCS#輸出片選低有效SLWR#輸出寫使能低有效SLRD#輸出讀使能低有效SLOE#輸出輸出使能讀數(shù)據(jù)時(shí)使用PKTEND#輸出短包結(jié)束信號(hào)A[1:0]輸出線程選擇地址DQ[31:0]雙向數(shù)據(jù)總線FLAGA/FLAGB輸入FIFO 狀態(tài)標(biāo)志這里的時(shí)序關(guān)系是高速接口的關(guān)鍵。PCLK 是 100MHz一個(gè)周期 10ns。FX3 手冊(cè)里對(duì) DQ 相對(duì) PCLK 的建立時(shí)間和保持時(shí)間都有明確要求不同批次芯片也許有細(xì)微差異但大致在幾個(gè)納秒量級(jí)。FPGA 側(cè)約束要跟上不然即使功能正確時(shí)序裕量不足也可能在溫度變化或不同板卡間隨機(jī)出錯(cuò)。我的建議是在 XDC/FDC 中顯式約束 PCLK并用 set_input_delay、set_output_delay 約束數(shù)據(jù)總線與 PCLK 的相對(duì)關(guān)系。你不需要把每個(gè)信號(hào)的 delay 卡到幾個(gè)皮秒但至少要讓 Vivado/Quartus 知道 DQ 是同步于 PCLK 的否則工具默認(rèn)按異步路徑處理布局布線出來(lái)的結(jié)果很隨機(jī)。2.3 PCB 布線經(jīng)驗(yàn)PCB 布線是容易忽略但決定成敗的一環(huán)。FPGA 與 FX3 之間的數(shù)據(jù)總線 DQ[31:0] 要盡量等長(zhǎng)組內(nèi)偏差控制在 ±5mil 以內(nèi)PCLK 到 FX3 的走線要比數(shù)據(jù)線短一些因?yàn)?FPGA 輸出的時(shí)鐘沿和數(shù)據(jù)的相對(duì)關(guān)系受內(nèi)部延遲影響PCB 上留出余量有利于時(shí)序收斂。USB 3.0 的 TX/RX 差分對(duì)要做 90Ω 差分阻抗控制走線遠(yuǎn)離其他高速信號(hào)連接器附近的參考平面不能挖斷。我的經(jīng)驗(yàn)是第一版 PCB 如果條件允許把 FLAG 信號(hào)和 DQ 信號(hào)都引出測(cè)試點(diǎn)方便示波器或邏輯分析儀測(cè)量。調(diào)試高速接口時(shí)能直接看到波形比什么都強(qiáng)。另外 FX3 的 USB 3.0 引腳和 USB 2.0 引腳需要同時(shí)接出來(lái)因?yàn)?FX3 啟動(dòng)時(shí)先靠 USB 2.0 枚舉再協(xié)商到 SuperSpeed。只接了 USB 3.0 的線沒(méi)接 USB 2.0板子會(huì)一直枚舉失敗。3. FX3 固件側(cè)配置與實(shí)現(xiàn)3.1 從官方示例工程改起FX3 固件開發(fā)強(qiáng)烈建議直接從 SDK 里的 cyfxgpiftousb 示例工程開始而不是從零搭。這個(gè)工程本身就是 GPIF II 到 USB 的橋接 demoSlave FIFO 模式的所有基礎(chǔ)代碼都在你要改的主要是GPIF 狀態(tài)機(jī)配置、DMA 通道參數(shù)、端點(diǎn)配置、線程與水位的映射關(guān)系。固件主流程大致是調(diào)用 CyU3PDeviceInit 初始化芯片調(diào)用 CyU3PKernelEntry 啟動(dòng) RTOS 內(nèi)核創(chuàng)建 DMA 通道P2U 和 U2P加載 GPIF 狀態(tài)機(jī)配置Slave FIFO 同步模式配置 USB 端點(diǎn)并連接 USB啟動(dòng) GPIF 引擎每一步都有對(duì)應(yīng)的 APISDK 里也有完整注釋關(guān)鍵是理解每個(gè)參數(shù)的含義尤其是 DMA 通道的 buffer 大小和 buffer count這兩個(gè)參數(shù)直接決定吞吐率。3.2 端點(diǎn)、DMA 通道與線程配置這是固件里最重要的部分。我們的數(shù)據(jù)通路是 FPGA 把數(shù)據(jù)寫進(jìn) FX3所以核心是 P2UPeripheral to USB通道外部傳入的數(shù)據(jù)先落入 GPIF II 的 FIFODMA 引擎再把數(shù)據(jù)搬到 USB 端點(diǎn)。USB 側(cè)我用了一個(gè) Bulk IN 端點(diǎn) 0x81以及一個(gè) Bulk OUT 端點(diǎn) 0x01用來(lái)接收上位機(jī)下發(fā)的控制命令。創(chuàng)建一個(gè)可靠的 DMA 通道核心參數(shù)有幾個(gè)傳輸方向、事件類型、buffer 大小、buffer count。示例代碼里常見(jiàn)的是 16KB buffer、8 個(gè) buffer。我實(shí)際測(cè)試下來(lái)buffer count 太少會(huì)導(dǎo)致 DMA 搬完數(shù)據(jù)后 CPU 介入太頻繁速率上不去。后來(lái)把 buffer count 加大到 16加上合理的水位配置吞吐率明顯改善。FX3 內(nèi)部是 ARM 核跑 RTOS 的DMA 中斷太多會(huì)擠掉主循環(huán)的時(shí)間相當(dāng)于拖慢吞吐。端點(diǎn)配置也不復(fù)雜但有一點(diǎn)要注意Bulk 端點(diǎn)的最大包大小要設(shè)成 1024 字節(jié)這是 USB 3.0 超速 bulk 的標(biāo)準(zhǔn)。如果固件里忘了改還是默認(rèn)的 512 字節(jié)那帶寬會(huì)直接砍半。下面是固件初始化中關(guān)鍵部分的一個(gè)簡(jiǎn)化示例/* DMA 通道創(chuàng)建P2U自動(dòng)模式從 GPIF 到 USB */ CyU3PDmaChannelCreate(glChHandleSlFifoP2U, CY_U3P_DMA_TYPE_MANUAL, dmaConfig); /* USB 端點(diǎn)配置Bulk IN 0x81PacketSize 1024 */ CyU3PUsbSetEpConfig(0x81, CY_U3P_USB_EP_BULK, 1024); CyU3PUsbSetEpConfig(0x01, CY_U3P_USB_EP_BULK, 1024); /* 啟動(dòng) GPIF 引擎加載 Slave FIFO 狀態(tài)機(jī)表 */ CyU3PGpifLoad(CyFxGpifConfig); CyU3PGpifStart();到底用自動(dòng)模式還是手動(dòng)模式取決于是否需要 CPU 參與數(shù)據(jù)搬運(yùn)。純高速流式傳輸用自動(dòng)模式即可CPU 不碰數(shù)據(jù)DMA 直接搬如果需要做協(xié)議解析、包格式轉(zhuǎn)換才需要手動(dòng)模式讓 CPU 介入。3.3 水位配置與水印標(biāo)志FLAG 信號(hào)是 FPGA 判斷能不能寫的依據(jù)它背后靠的是水位Watermark機(jī)制。FX3 的每個(gè)線程都有自己的水位配置當(dāng) FIFO 剩余空間大于某個(gè)閾值時(shí)FLAG 就有效表示可以寫小于閾值時(shí)FLAG 無(wú)效表示不要再寫了否則數(shù)據(jù)可能溢出。水印閾值設(shè)得太小FIFO 快滿了才通知 FPGAFPGA 的寫入狀態(tài)機(jī)來(lái)不及停就會(huì)丟數(shù)據(jù)閾值設(shè)得太大明明還有很多空間但 FLAG 已經(jīng)無(wú)效利用率上不去吞吐率受損。我一開始用默認(rèn)閾值實(shí)測(cè)只有 200MB/s 左右后來(lái)把 P2U 方向的水印適當(dāng)調(diào)低給 FIFO多留一點(diǎn)緩沖速率馬上上來(lái)了。具體數(shù)值和你的 DMA buffer 配置有關(guān)需要實(shí)測(cè)微調(diào)但這里記住一個(gè)原則寫方向的水印要保證 FIFO 里有足夠的空間余量讓 FPGA 從檢測(cè)到 FLAG 無(wú)效到停止寫入這段時(shí)間里數(shù)據(jù)不會(huì)溢出。3.4 固件側(cè)的幾個(gè)坑先講 PKTEND。在 Slave FIFO 模式下如果傳輸?shù)氖沁B續(xù)大流量數(shù)據(jù)FPGA 側(cè)需要周期性地拉一下 PKTEND#告訴 FX3這一段數(shù)據(jù)結(jié)束了發(fā)給主機(jī)吧。不拉 PKTEND 的后果是數(shù)據(jù)一直攢在 FX3 內(nèi)部主機(jī)收不到表現(xiàn)就是上位機(jī)讀到的數(shù)據(jù)卡住或者吞吐率忽高忽低。很多人在跑短包測(cè)試時(shí)沒(méi)發(fā)現(xiàn)問(wèn)題一旦跑持續(xù)大流量就掉鏈子多半是這個(gè)原因。再講 EEPROM 啟動(dòng)的坑。上文提過(guò)固件版本管理這里再補(bǔ)充一點(diǎn)EEPROM 里的固件如果和當(dāng)前硬件不匹配比如 GPIO 配置不同輕則功能異常重則設(shè)備枚舉都過(guò)不了。而且 USB 啟動(dòng)和 EEPROM 啟動(dòng)的優(yōu)先級(jí)是 USB 優(yōu)先還是 EEPROM 優(yōu)先和 boot 引腳配置有關(guān)設(shè)計(jì)時(shí)要明確你要的啟動(dòng)方式別讓兩種方式互相干擾。固件側(cè)調(diào)優(yōu)經(jīng)驗(yàn)一句話總結(jié)先把默認(rèn)示例跑通再一項(xiàng)一項(xiàng)改參數(shù)每次只改一個(gè)變量記錄吞吐率變化不要一次改一堆參數(shù)然后不知道是誰(shuí)起作用。4. FPGA 側(cè)邏輯實(shí)現(xiàn)4.1 模塊劃分與數(shù)據(jù)通路FPGA 側(cè)的邏輯我是按模塊劃分的避免把所有邏輯堆在頂層。主要分為時(shí)鐘管理模塊、數(shù)據(jù)源模塊ADC 或 DDR 讀出、寫通道狀態(tài)機(jī)、讀通道狀態(tài)機(jī)、以及跨時(shí)鐘域緩沖 FIFO。數(shù)據(jù)通路的頂層邏輯是這樣的數(shù)據(jù)源以較高速率把數(shù)據(jù)寫入一個(gè)異步 FIFO這個(gè) FIFO 隔離了源時(shí)鐘域和 GPIF 時(shí)鐘域?qū)憼顟B(tài)機(jī)輪詢 FX3 的 FLAGA當(dāng) FIFO 非空且 FX3 允許寫入時(shí)從 FIFO 讀數(shù)據(jù)并驅(qū)動(dòng) DQ 總線和 SLWR讀狀態(tài)機(jī)相對(duì)簡(jiǎn)單主要處理上位機(jī)通過(guò) OUT 端點(diǎn)下發(fā)的命令流用 SLOE 和 SLRD 從 FX3 讀回?cái)?shù)據(jù)。使用異步 FIFO 這個(gè)點(diǎn)非常重要。FPGA 內(nèi)部邏輯可能跑在 200MHz 甚至更高而 GPIF 接口是 100MHz兩個(gè)時(shí)鐘域如果不做隔離數(shù)據(jù)采樣很容易出問(wèn)題。跨時(shí)鐘域不是靠大概對(duì)齊就能解決的一定要用 FIFO 或至少雙寄存器同步。4.2 寫通道狀態(tài)機(jī)寫狀態(tài)機(jī)是 FPGA 側(cè)的核心。它要做的事情是檢測(cè) FLAGA 有效然后把 32bit 數(shù)據(jù)放到 DQ 總線上拉低 SLWR等待一個(gè) PCLK 上升沿完成寫入重復(fù)直到 FIFO 空或者 FLAGA 無(wú)效。有一個(gè)細(xì)節(jié)必須注意FLAGA 是異步信號(hào)進(jìn)入 FPGA 內(nèi)部要先做兩級(jí)寄存器同步否則可能采到亞穩(wěn)態(tài)狀態(tài)機(jī)誤判。我在代碼里專門做了同步模塊同步后還要考慮到同步延遲——從 FLAGA 有效到 FPGA 真正采樣中間有幾個(gè)時(shí)鐘周期的延遲所以要保證 FX3 返回 FLAG 無(wú)效時(shí)水位的余量能覆蓋這個(gè)延遲。寫狀態(tài)機(jī)的簡(jiǎn)化 Verilog 示例// 同步后的 FLAGflag_a_sync // 狀態(tài)機(jī)核心跳轉(zhuǎn) always (posedge pclk or negedge rst_n) begin if (!rst_n) state IDLE; else begin case (state) IDLE: begin if (fifo_empty 1b0 flag_a_sync 1b1) state WRITE; end WRITE: begin if (flag_a_sync 1b0) state IDLE; else if (fifo_empty 1b1) state IDLE; end endcase end end // 數(shù)據(jù)與寫使能輸出 always (posedge pclk or negedge rst_n) begin if (!rst_n) begin slwr_n 1b1; dq 32h0; end else if (state WRITE) begin dq fifo_dout; // 從緩存 FIFO 讀出數(shù)據(jù) slwr_n 1b0; // 拉低寫使能 end else begin slwr_n 1b1; end end這段邏輯看著簡(jiǎn)單實(shí)際調(diào)試時(shí)最折磨人的是時(shí)序收斂。DQ 總線在 PCLK 上升沿之前要穩(wěn)定SLWR 也要保證和 DQ 滿足 FX3 的建立保持時(shí)間。如果你的設(shè)計(jì)在仿真里一切正常上板就隨機(jī)出錯(cuò)十有八九是時(shí)序約束沒(méi)做好。4.3 讀通道與回環(huán)驗(yàn)證讀通道用來(lái)接收上位機(jī)的命令或者做回環(huán)驗(yàn)證。它的邏輯比寫通道簡(jiǎn)單檢測(cè) FLAGB 是否表示有數(shù)據(jù)可讀拉低 SLRD#讀取 DQ 總線。需要注意的是 SLOE# 信號(hào)在 Slave FIFO 模式下讀數(shù)據(jù)時(shí)分兩種情況——如果 SLOE 有效DQ 總線由 FX3 驅(qū)動(dòng)如果 SLOE 無(wú)效DQ 總線可能處于高阻。所以讀通道要同時(shí)控制 SLOE 和 SLRD不能只拉一個(gè)。建議從最開始就做一個(gè)回環(huán)測(cè)試FPGA 從 FX3 讀回?cái)?shù)據(jù)然后原樣寫回。這樣固件和 FPGA 的讀寫通道可以分開驗(yàn)證哪邊有問(wèn)題一目了然。調(diào)試完回環(huán)通路了再接入真實(shí)數(shù)據(jù)源。4.4 時(shí)序約束實(shí)戰(zhàn)FPGA 側(cè)時(shí)序約束是整個(gè)工程能否穩(wěn)定跑滿速率的隱藏決定因素。我以 Vivado 為例說(shuō)一下做法create_clock -period 10.000 -name pclk [get_ports pclk] # 輸入延遲FX3 的 FLAG 信號(hào)相對(duì) PCLK set_input_delay -clock pclk -max 5.0 [get_ports {flag_a flag_b}] set_input_delay -clock pclk -min 1.0 [get_ports {flag_a flag_b}] # 輸出延遲DQ、SLWR 等相對(duì) PCLK set_output_delay -clock pclk -max 6.0 [get_ports {dq[*] slwr_n slrd_n}] set_output_delay -clock pclk -min 1.0 [get_ports {dq[*] slwr_n slrd_n}]這里的具體 delay 值僅供參考要根據(jù) FX3 手冊(cè)的時(shí)序參數(shù)計(jì)算。如果你的工程里沒(méi)有類似約束工具會(huì)默認(rèn)把 FLAG 當(dāng)成異步輸入布局布線時(shí)不會(huì)保證它滿足時(shí)序上板出錯(cuò)概率很高。我見(jiàn)過(guò)太多人仿真沒(méi)問(wèn)題但上板隨機(jī)錯(cuò)最后發(fā)現(xiàn)約束文件幾乎是空的。5. 實(shí)測(cè)數(shù)據(jù)、性能分析與優(yōu)化5.1 338MB/s 是怎么測(cè)出來(lái)的實(shí)測(cè)環(huán)節(jié)我用兩種方法互相驗(yàn)證。第一種是 Cypress SDK 自帶的 Streamer 上位機(jī)它支持 FX3 的 bulk 傳輸測(cè)速簡(jiǎn)單粗暴界面直接顯示吞吐率。第二種是自己寫了一個(gè) C# 上位機(jī)基于 CyUSB.NET 庫(kù)開一個(gè) 4MB 的接收緩沖循環(huán)調(diào)用異步讀接口統(tǒng)計(jì)每秒收到的字節(jié)數(shù)。測(cè)試條件是FPGA 側(cè)用計(jì)數(shù)器產(chǎn)生偽隨機(jī)數(shù)據(jù)流DDR 讀出的數(shù)據(jù)也可以反正不關(guān)心內(nèi)容只關(guān)心速度。上位機(jī)持續(xù)讀取 60 秒統(tǒng)計(jì)總字節(jié)數(shù)換算成平均速率。多次測(cè)試取平均值最終結(jié)果是 338MB/s。測(cè)試模式實(shí)測(cè)速率說(shuō)明默認(rèn)配置DMA buffer 8 個(gè)約 200MB/s水印不匹配DMA 中斷頻繁加大 buffer調(diào)整水印約 300MB/s明顯改善最終調(diào)優(yōu)主機(jī)端大緩沖338MB/s接近 USB 3.0 bulk 極限主機(jī)端緩沖 64KB約 260MB/s緩沖區(qū)太小丟速嚴(yán)重看到 200MB/s 到 338MB/s 的差距了吧這幾個(gè)變量——DMA 通道 buffer count、水印閾值、主機(jī)端接收緩沖——任何一個(gè)不匹配都會(huì)讓你誤以為方案不行其實(shí)是參數(shù)沒(méi)調(diào)到位。5.2 338MB/s 離 USB 3.0 的理論極限還有多遠(yuǎn)來(lái)算一筆賬。USB 3.0 的物理層線速率是 5Gbps但因?yàn)椴捎昧?8b/10b 編碼實(shí)際有效數(shù)據(jù)速率是 4Gbps也就是 500MB/s。這是物理層的上限。但是 bulk 傳輸在協(xié)議層有開銷每個(gè)包有包頭、CRC、握手還有包與包之間的間隔。實(shí)際能達(dá)到的最大 payload 帶寬通常只有 400MB/s 左右這還是在最理想的情況下。如果你用 USB 分析儀抓包會(huì)看到總線上的數(shù)據(jù)并不會(huì) 100% 時(shí)間都在傳數(shù)據(jù)總有一些 idle 間隔。再回到接口側(cè)FPGA 與 FX3 之間是 32bit 100MHz理論帶寬 400MB/s。FPGA 側(cè)供給的上限是 400MB/sUSB 側(cè)實(shí)際能吸收的不到 400MB/s所以瓶頸在 USB 鏈路。338MB/s 大約是 400MB/s 理論最大 payload 的 84.5%這個(gè)數(shù)字已經(jīng)很健康了說(shuō)明 USB 協(xié)議開銷和 FIFO 切換間隙已經(jīng)壓得比較低。所以如果有人問(wèn)怎么才能測(cè)到 400MB/s 以上答案很簡(jiǎn)單換 USB 3.1/3.2 方案或者用 PCIe。FX3 跑 USB 3.0338MB/s 已經(jīng)接近它的天花板。5.3 影響吞吐率的幾個(gè)隱形因素先講主機(jī)端。很多人把注意力全部放在 FPGA 和 FX3 上忽略了上位機(jī)代碼。如果你用同步方式讀 USB每次讀 4KB讀完再發(fā)起下一次讀取中間的開銷非常大吞吐率能掉到 200MB/s 以下。要跑滿速率必須用異步讀并且緩沖區(qū)要足夠大至少 4MB。原理很簡(jiǎn)單USB 控制器需要足夠的緩沖來(lái)容忍系統(tǒng)的調(diào)度延遲緩沖太小系統(tǒng)一卡USB 總線就空等了。固件線程優(yōu)先級(jí)也有影響。FX3 的 RTOS 里USB 中斷線程和 DMA 事件線程的優(yōu)先級(jí)如果設(shè)置不當(dāng)數(shù)據(jù)搬運(yùn)鏈條上某一環(huán)會(huì)周期性阻塞。我試過(guò)把 DMA 事件線程優(yōu)先級(jí)調(diào)低速率暴跌調(diào)回合適優(yōu)先級(jí)后恢復(fù)正常。這類問(wèn)題沒(méi)有統(tǒng)一標(biāo)準(zhǔn)要結(jié)合自己的數(shù)據(jù)流來(lái)驗(yàn)證。還有一個(gè)容易被忽略的因素是數(shù)據(jù)對(duì)齊。Bulk 傳輸對(duì)包大小敏感如果 FPGA 側(cè)送入 FX3 的數(shù)據(jù)總是湊不滿 1024 字節(jié)的整數(shù)倍就會(huì)頻繁產(chǎn)生短包短包每一次都需要 PKTEND 和額外的總線處理長(zhǎng)期跑下來(lái)吞吐率損失不小。所以設(shè)計(jì)數(shù)據(jù)源時(shí)盡量保證單次寫入的數(shù)據(jù)量是 1024 字節(jié)的整數(shù)倍。6. 常見(jiàn)問(wèn)題排查與避坑速查6.1 問(wèn)題速查表癥狀可能原因解決方案設(shè)備無(wú)法枚舉USB 2.0 線沒(méi)接、EEPROM 固件損壞、供電異常先測(cè) USB 2.0 枚舉再排查供電枚舉成功但上位機(jī)打不開設(shè)備驅(qū)動(dòng)沖突或驅(qū)動(dòng)版本不對(duì)卸載舊驅(qū)動(dòng)重裝 CyUSB3.sys速率只有 100-200MB/s主機(jī)緩沖太小、DMA 配置不當(dāng)調(diào)整主機(jī)緩沖到 4MB 以上加大 DMA buffer count跑幾分鐘后速率驟降上位機(jī)內(nèi)存碎片或緩存回收不及時(shí)改用異步讀反復(fù)使用預(yù)分配緩沖數(shù)據(jù)內(nèi)容錯(cuò)位、出現(xiàn)亂碼字節(jié)序不對(duì)或數(shù)據(jù)位寬映射錯(cuò)誤檢查 DQ 總線高低字節(jié)映射32bit 打包順序FLAG 信號(hào)誤觸發(fā)導(dǎo)致丟數(shù)跨時(shí)鐘域亞穩(wěn)態(tài)未處理增加兩級(jí)同步寄存器檢查水位余量短包模式正常連續(xù)流卡死PKTEND 沒(méi)周期性拉低在 FPGA 邏輯中按包周期拉低 PKTEND#這張表我每次做新項(xiàng)目都會(huì)打開看一遍。很多問(wèn)題看起來(lái)是硬件問(wèn)題實(shí)際是軟件配置問(wèn)題很多問(wèn)題看起來(lái)是 FPGA 問(wèn)題實(shí)際是上位機(jī)問(wèn)題。調(diào)試時(shí)不要急著懷疑一個(gè)方向按數(shù)據(jù)流從源頭到終點(diǎn)一級(jí)一級(jí)排查。6.2 一次卡在 200MB/s的排查實(shí)錄這個(gè)案例挺典型。有一次我把代碼從舊工程移植到新工程速率從 338MB/s 掉到 200MB/s而且怎么調(diào) DMA 參數(shù)都沒(méi)用。當(dāng)時(shí)排查步驟是第一步先用 Streamer 測(cè)速確認(rèn)掉速現(xiàn)象在官方工具上也存在排除上位機(jī)因素。第二步用示波器看 FPGA 和 FX3 之間的 FLAGA 和 SLWR發(fā)現(xiàn) SLWR 的有效占空比不到 50%說(shuō)明 FPGA 經(jīng)常處于想寫但 FX3 不接收的狀態(tài)問(wèn)題在 FX3 側(cè)水位配置。第三步查固件里 DMA 通道配置發(fā)現(xiàn)新工程里我復(fù)制了一份舊代碼但 DMA buffer count 被初始化成了 4和之前調(diào)優(yōu)后的 16 不一致。改回 16 之后速率立刻恢復(fù)到 330MB/s 以上。這個(gè)案例的教訓(xùn)是參數(shù)不是多就好或者少就好而是要和數(shù)據(jù)流匹配。舊工程的配置在新工程里不一定適用每次粘貼代碼都要認(rèn)真核對(duì)每個(gè)參數(shù)。后來(lái)我在工程里加了一個(gè)配置頭文件把 DMA buffer、水印、端點(diǎn)大小全部集中管理再也沒(méi)出過(guò)這類問(wèn)題。6.3 調(diào)試工具組合拳最后分享一套調(diào)試工具用法是我在聯(lián)調(diào)時(shí)固定使用的組合。第一個(gè)是 USB 分析儀式的抓包工具。Windows 下可以用 Wireshark 加 USBPcap插上 USB 3.0 設(shè)備后就可以抓取總線上的 URBs雖然看不到每個(gè)包的物理層細(xì)節(jié)但足夠分析吞吐率瓶頸和錯(cuò)誤包。第二個(gè)是邏輯分析儀或示波器。耐心等觸發(fā)條件抓 FLAGA、SLWR、DQ 之間的關(guān)系看看是 FLAG 一直無(wú)效還是有效但 FPGA 不寫。第三個(gè)是 Cypress 的 USB Control Center方便查看端點(diǎn)信息、廠商描述符以及手動(dòng)下載固件。第四個(gè)是 UsbTreeView 這類 USB 設(shè)備查看工具排查枚舉失敗問(wèn)題。我的調(diào)試順序一般是先用 UsbTreeView 確認(rèn)枚舉正常再用 Control Center 下載固件并確認(rèn)版本然后用 Streamer 測(cè)速測(cè)速不達(dá)標(biāo)就上示波器抓接口時(shí)序接口時(shí)序沒(méi)問(wèn)題就上 Wireshark 抓總線包。按這個(gè)順序走完一般都能定位到問(wèn)題所在。我個(gè)人在實(shí)際操作中的體會(huì)是FPGA 和 FX3 聯(lián)調(diào)最需要的不是靈光一現(xiàn)而是系統(tǒng)性的排查順序和耐心的參數(shù)微調(diào)。338MB/s 這個(gè)數(shù)字不是一次就調(diào)出來(lái)的中間經(jīng)歷了從 200 到 300 再到 338 的逐步提升每一步改動(dòng)都很小但每個(gè)改動(dòng)背后都有明確的依據(jù)。這套方案后續(xù)還可以繼續(xù)擴(kuò)展比如把 FPGA 側(cè)搬到 PCIe 上做更高帶寬或者在 FX3 上做多通道采集但 USB 3.0 這個(gè)門檻上FX3 的 Slave FIFO 模式基本是繞不開的經(jīng)典路數(shù)。希望這篇文章能幫你少踩幾個(gè)我踩過(guò)的坑一次就跑到 300MB/s 以上。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
伊人久久综合精品欧美| 日韩三级在线观看mp4| 大香蕉伊人一区在线观看| 天天在线91| 久久精品国产Aⅴ| 第一高清av中文字幕| 北京美女一区二区| 日韩欧美tv一区二区在线观看| 中文字幕版| 欧美激情综合| 国产白领连续中出在线观看| 免费观看成人www精品视频| 男人的天堂2019AV| 亚洲成人在线高清| 超碰中文字幕人妻草一区| 丁香九月婷婷| 东北女人av| 久久久久久九九九九| 黄色污污污污污污网站| 亚洲国产精品久久AV| 欧美亚洲日韩人妻在线观看| 免费精品国偷自产在线在线| 亚州久久9| 人人操人人摸avav| 蜜桃臀AV在线| 午夜精品视频777| 九九这里只有精品| 亚洲AO在线| 性久久久| 99热| 97色欧州| 无码抄逼网| 久久久一二三四区| 麻豆蜜桃视频在线观看 | av中文在线| 亚洲成人ab| 精品一区二区啪啪啪| 青青久久艹| 亚洲狼狼干综合1| 国模私拍一区二区三区神乳| 91中文字幕| 人妻天天爽夜夜爽精品2| 一类av片在线看| 妇女乱色二区| 大稥蕉免费视频这里只有精品| 玖玖综合网| 神马福利久草| 九月激情婷婷| 精品玖九九久| 婷婷另类小说| 欧美黄色片AAAAA| 色逼综合| 天堂亚洲精品久久老牛| 99精品在线观看| 综合亚洲欧美精品日韩?v| 性交一区二区在线播放| 五月丁香久久| 9丨亚洲一区二区在线| 骚人妻少妇视频| 91丨九色丨东北熟女| 日韩啪啪视频| 久9精品| 日日骚精品视频| 99热精品在线| 五十路六十路七十路熟婆| 91在线丝袜| 91在线页| 免费久久精品麻豆一区二区av| 欧美牲| 久久久久婷婷精品av电影| 日韩无码嘿咻黑热久| 日韩中文字幕人妻视频| 亚洲天堂2020| 伊人久日| 加勒比少妇AV婷婷六月天超碰超碰| 操一区| 强奸乱伦亚洲第一页| 国产精品久久久久9999小说| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 精品丰满人妻一区二区三区免费观| 97超碰超碰| 五月天亚洲网| 亚洲欧美另类少妇精品| 玖玖人人爱| 婷婷丁香五月激情啪啪| 亚洲欧美自拍偷拍| 人人摸人人入| 91骚熟女| 婷婷激情四射| 懂色Av一区二区三区| 干B| 亚洲一区二区三区久久 亚洲一区二区| 亚洲国产婷婷在线播放| 国产精品久久成人免费| 人人玩人人添人人澡免费| 2020中文字幕在线观看| 久热一区二区| 偷拍亚洲| 久久国产乱子伦精品免费女,网站| 丝袜亚洲91| 色哟哟-国产专区| 精品国产一区二区三区av在线资源| 欧美强奸乱| 在线一道啪| 欧美gv在线观看| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 第四色色综合91| 偷拍 精品另类 凸凹了四区| 99性爱视频| 国产一级作爱毛片| 97任你吞精| 中文字幕成人理论在线| 无码伊人久久大杳蕉中文无码| 亚洲欧洲精品视频发布| 乳欲人妻办公室奶水| 久久国产乱子伦精品免费女人| 国产多人在线观看视频| 超碰国产精品无码| 国产成人午夜视频网址| 国产操偷| 超碰人人草| 99久久久久| 色播五月丁香| 精品一区二区三区四区女| 热久久九九热| 精品视频一区二区| 久久久久久九九九| 免费精品国偷自产在线在线| 黄色一区二区秘书性感| 中文字幕精品区先锋资源| 国产激情av女片自拍| 亚洲欧洲日韩国产自在线| 极品尤物自安慰| 日本护士高潮| A V少妇特黄三级| 91久久精品蜜臀| 99999精品成人| 亚洲国成人情色好看电影| 大香蕉十区| 天天干天天日天天射黄色片| 97国产综合欧美| 久久精品区| 1000部熟女视频在线观看| 亚洲精品乱码线路中文字幕| 高清国产av无码| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 中文字幕精品探花视频| 国产精品视频麻豆入口| 99热超碰| 色图综合网| 翔田千里无码中出中文字幕| 亚洲国产日韩欧美熟妇在线| 亚洲欧美中日韩| 中文欧丝袜诱惑| 中国少妇啪啪视频| 眼镜人妻101.com| 99丝袜福利在线播放| 午夜福利在线视频1000| 嗯嗯啊啊啊好爽| 少妇干B| 98一区二区精品| 一区二区国产视频在线观看| 九九九九国产| 日韩av不卡在线观看| 手机av天堂久久久久| AV色图| 亚洲午夜未满十八勿入网站日本又色又爽又黄| 国产成人bd在线观看| 日本欧美成人片AAAA| 色色综合97| 亚洲欧美电影| 丁香五月影院| 91国产丝袜美女| AV乱伦国产| 99re国产中文字幕| 国产99999久久精品| 天天92av| 一及黄久一点| 亚洲国产精品成人久久蜜臀| 亚洲va综合va国产va中文| 男人网站婷婷| 亚洲激情在线观看一区| 中文字幕精品丝袜| 亚洲乱妇p22| 国产美女mm131爽爽爽爽| 欧美少妇一区二区三区| 人人妻人人澡人人爽人人精品浪潮| 国产精品 久久久精品一牛| 六六久久日韩不卡| 久久内射| 色噜噜综合在线| 色综合 加勒比| 高潮毛片无遮挡高清免费| 97人肏| 蜜臀Av一区二区三区| 一牛影视成人片免费| 99啪啪| AV麻豆免费一区| 午夜精品99久久久久传媒| 97超碰欧美精品| 亚洲AV免费在线| 9997se| 国产浮力影院第1页| 国产精品久久久久久9999| 国产精品一区av在线| 9超碰免费| 欧美精品23| 亚洲91网。| 在线人成亚洲视频免费观看| 久热大香蕉网站| 国产一区二区精品久久99| 成人精品视频| 成人性爱电影网| 夜夜黄| 色爱国产| 性综合网| 五月开心久久AV官网| 欧美性爱日韩性爱| 丰满人妻一区| 亚洲欧美一区二区三区一猛片| 岛国999| 亚洲精品成人| 天天影视色香欲综合网小说| 二三四区精品| 国产亚洲禁久一区二区| 凹凸视频在线一区二区| 日本999精品视频| 香蕉99秘 一区精品蜜桃臀| 激情五月激情综合网| 老司机久久| 思思热免费视频观看| 蜜臀99久| 91亚洲不卡一区| 熟女这里只有精品6| 欧美熟女丝袜| 色综合五月天| 岛国片在线播放| 亚洲综合草草| 在线啊啊啊啊| 久久久久国产无av| 欧美一级黄色免费专区| 国产丝袜高跟美女av免费观看| 国产 丝袜 欧美中文 另类| 精品国产乱码久久久A| 一区二区三区四区五区高清无码永久视频 | 爽爽爽免费视频| 免费日韩黄片| 春色91| 日韩国产十八禁| 欧美,日韩,亚洲视频| 高清无码91| 日韩内射视频| a在线视频免费观看| 9久精品| 国产自偷| 91欧美丨精品丨入口| 色官网在线| 一级做受视频免费是看美女| 久久精品无码熟妇一区二区三区视频导航 | KK色在线影院| 东北女人| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 国产97在线 | 亚洲| 日韩少妇无吗| 久久精品亚洲东京热色播| 国产亚州日韩欧美看片| 成人小说视频在线精品欧美| 色爱亚洲| 色噜噜狠狠色综无码久久| 99国产精品在线观看| 最近的最新的中文字幕视频| 日韩精品国产一区二区| 老女人综合网| 色综合天天爱去电影网| 午夜操一视频一区| 国产诱惑| 久操在97| 亚洲天堂自拍| 熟妇艹鸡八| AV男人天堂网| 校园春色亚洲无码| 亚洲欧美国产中文字幕| 91精品成人| 成人熟女视频一区二区三区| 97色在线观看| 暖暖精品二区三区观看| 熟妇熟女视频一区二区三区| 丁香六月综合激情| 成视频在线观看免费看| 婷婷色色五月天| 欧美激情中文字幕另类小说| 国产超碰| 亚洲欧洲国产综合av| 欧美精品一区二区少妇免费A片 | 精品无码一区二区三区色欲| 84YTCOM性无码| 好吊色综合| 欧美色图校园春色| 97在线免费看视频| 熟妇乱伦一区二区| 影音先锋少妇| 国产熟女完整版中字| 久久精品久久九九精品| 亚洲一级性爱视频免费看| 国产一区二区三三视频| 人人摸人人添人人操| 欧美性爱日韩性爱| 国产丝袜美女在线一区| 美国精品国产精品| 一本一道vs波多野结衣| 亚洲黄网在哪免费看| 色官网在线| 色婷婷狠狠| 久久精彩视频| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 伊人一区二区在线播放| 国产精品久久成人免费| 亚洲精品日日夜夜52| 亚洲熟女中文字幕在线| 丁香久久| 乱老熟女一区二区三区| 91艹| 九九亚洲| 日本操逼视频导航| 丁香六月激情| caopeng97人妻| 大香蕉啪啪啪啪在线| 搡老女人老91妇女熟女| 久热最新在线杭州| 精品亚洲一区在线观看| 亚洲精品三| 97 亚洲 日韩 欧美 在线| 熟妇人妻一区二区三在线 | 日韩人妻精品久久久久| 97视频在线观看高清资源| 亚爽爽爽爽爽爽爽爽| 日本道人妻久久久在线不卡色视频| 78超碰| 国产强奸乱伦xd| 国产女人91精品嗷嗷嗷嗷| 蜜桃视频啊啊啊啊| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 婷婷五月天久久久| 91殴美大片| 超碰在线综合97| 欧差乱伦二三| 超碰成人免费| 四虎在线免费视频| 97超碰人人模人人拍人人| 97欧美性爱| 男人的天堂2010| 亚洲情色在线| 色九久| 成人乱人伦一区二区| 我要看免费韩日黄片| 欧美精品丝袜久久久中文字幕| 伊人四虎综合| 欧美Aⅴ| 日日操天天操| 肉丝中文无码高清| 91东京热男人的天堂| 丰满人妻一区二区三区| 亚洲色图第一页| 国产精品人妻无码久久久老鸭窝 | 自拍偷拍第26| 婷婷五月丁香五月| 97精品视频在线播放| 免费一二区| 亚洲AV永久无码一区仙野| 国模不卡一本二本三电影| 欧美日韩亚洲天堂| 中文字幕jul-617人妻熟女| 麻豆AV短剧| 91福利网在线观看| 91色艳| 中文字幕欧洲有码| 最近的最新的中文字幕视频| 久久9精品网站| 欧美一级久久久久久久大片动画 | 粉嫩不卡一区二区性爱| 校园春色宗合网| 精品亚洲一区在线观看| 色月天AV导航| 亚洲有码视频二区| 9久综合网| 九九九九九九九九九国产精品 | 黑人狂躁日本妞一区二区三区| 91丝袜在线观看视频在线观看| 澳门色噜噜色噜噜色噜噜色噜噜色噜噜| 国语精品内射在线观看| 欧美色综合图片| 女同女同恋久久级三级| 久久av网| 在线视频免费播放一区| 综合性视频99| 大香蕉黄色一区| www.成人无码| 99久久久| 97天堂| 亚洲天堂东京热| 欧美天天综合网| 91色碰| 黄片www视频免费| 青青操97| 人妻少妇被猛烈进入中| 久久中文字幕女同性恋一区| 中文字幕 码精品视频网站| 国产97av| 97精品国产97久久久久久免费| 精品一区二区三区丰满熟女-亚洲欧美一区| 99热伊人| 亚洲国产综合图区中文字幕| 国产精品 亚洲情色| 高清有码一区二区| 黑人娇小av在线播放| 任你草| 亚洲色图91| 色婷婷蜜臀av| 丰满人妻一区二区三区大胸懂色| 麻豆一区二区AV天美| 人人色97| caoni国产亚洲av| 麻豆一区二区AV天美| 午夜精品久久久久久久男人的天堂 | 美骚妇av高清在线| 性色av网站| 欧美成97爱| 国内精品999| 一区二区三区黄色片a| 精品少妇高潮久久| 国产传媒美日韩av| 中文字幕av乱伦| 男人的午夜天堂| 欧美 亚洲 91| 夜夜操天| 操逼网站视频漫画国产| 色图综合网| 国产精品3| 亚洲中文字幕妇伦久久| 亚洲Av无码成人精品国产| 日本色日夜干| 色拍偷亚洲| 亚洲丝袜色| 翔田千里Av在线| 九久久精| 欧美激情久久久久| 婷婷香蕉欧美在线一区二区三区| 制度丝袜99| 91丝袜美女视频| 亚洲男人综合网| 无码又爽又硬又激情免费视频| 精品无码一区二区三区| 日韩精品午夜操呦呦不卡影院| 国产污视频麻豆传媒一区二区| 97摸视频| 日日日日做夜夜夜夜无码| 欧美日韩色| 97视频在线免费播放| 青娱乐亚洲热| 日本99视频| 亚洲第2页| 乱欲视频| 精品传媒在线一区| 春色综合免费| 四虎在线播放| 日日黄色三级网站| 99啪啪视频| 九九热精品| 久久精品店| 亚洲一区在线观看欧洲 | 夜夜免费视频| 夫妻四区五区六区| 亚州少妇| 少妇超碰在线| 国产精品色色| 亚洲激情AV| 中国探花熟女| 爱做久久久久久| 久久成人国产| 国产 热久久久久国产精品| 不卡中文字幕aⅴ在线| 天天色图| 青青草天天亲夜夜操网| 日韩午夜精品一区二区三区电影| 国产在线强奸视频| 1级黄色夫妻对换性交免费看| 97国产精品| 天天日夜干| 欧美性暴力| 精品对白久久不卡| 国产综合久久久麻桃个| 大色综合| 三男一女不戴套的A片| 国产高清自拍| 东京热一区二区中文字幕| 中文久久久| 好属操| 日本乱人伦片中文三区| 免费精品国偷自产在线在线| 一区操逼| 婷婷丁香五月天综合东京热| 人人干人人操人人..com| japan日本高清乱xxxx| 色色色欧美| 激情久久av一区av二区av| 亚洲午夜AV| 日本久操视频| 九九玖玖精品| 精品久久大胆人体| 国产精品白丝AV| 春色综合网| 乱性AV| 国产最新小视频在线播放下载 | 亚州熟女乱伦| 乳欲人妻办公室奶水| av婷婷色婷婷色六月| 99久久婷婷国产综合| 啊啊啊啊啊啊啊国| 九九九九九精品十六| 国产精品97超碰| 97在线免费视频观看| 秋霞色色影院| 日美免费黄片| 天天色香欲综合网| 欧美久久人妻少妇一区二区| 日韩综合97p| 日韩免费簧片| 2024人人操人人摸| 欧美第38页| 人伦四五区| 张柏芝国产一区在线观看| 国产免a费看黄片在线| 久久色情| 五十路熟女工口 | 久草综合网| 天天射天天| 日本在线激情一区二区三区| 中文字幕乱碼在线| 香蕉精品二区二区| 自拍偷拍亚洲熟女妇人精品| 久久丁香| 亚洲欧洲无码一区夜| 夜夜躁狠狠躁日日躁av| 人人干人人搞人人摸| 久久发布国产伦子伦精品| 天天综合网合集91| 99视频这有这里有精品| 天美av在线观看| 国产乱不卡| 香伊人在线| 亚洲激情网一二三四区| 尤物网址| 亚洲色堂免费视频| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 精品少妇后入一区二区三区四区人妻巨乳 | 五月丁香社区婷婷日韩欧美精品影院| 少妇被玩视频二三区| 欧美97av| 人人摸人人干人人拍97| 青青草视频导航官网| 天天综合网日韩| 久久老子无码午夜伦不卡| 九区国产| 日韩美女啪啪一区| 蜜桃在线观看一区二区三区| 亚洲在线欧美| 丰满人妻一区二区三区| 后入合集| 中文字幕一区日韩精| 久久综合久色欧美综合狠狠| 交换娇妻呻吟声不停中文字幕| 超碰 97国产熟女| 青草一区二区| 99色在线| 清纯唯美亚洲综合| 天天干美少妇一区| 色妇综合网| av大香蕉| 天天伊人| 久久久久久中文字幕中文字幕最新| 超碰在线免费一区二区三区| 国产超碰在线| 麻豆天美一区二区| 97色冈| 韩国一级做a久久久久| 欧美亚洲综合色| 精品传媒在线一区| 亚洲 中文 女同| 国产91福利小视频在线观看 | 久久9视频| 99久久久| 日本人体九九九九九九| 天堂v无码免费视频| 青青草原狼av| 中文字幕久久婷婷丁香五月天| 五月婷视频| 亚洲色宗合| 久jiu久神马影院| 日本性感人妻91| 久草婷婷| 懂色av色欲av蜜臀av| 九九九九97| 亚洲国产精品成人无码久久久 | 99国内精品| 狠狠久久手机视频精品| 久久中文色图| 午夜久久无码1000合集| 9ⅰ久久久天天| 欧美精品日韩久久久九| 成人情色综合网| 久久98| 91香蕉国产尤物视频| 欧美最婬乱婬爆婬性视频 | 88在线一区二区三区| 人人透人人操| 91视频精品| 97久久精品国产| 成人毛片免费| 操老熟女AV| 精品国产精品一区二区| 在线综合网| 国产成自自拍在线观看| 不卡免费av在线播放| 亚洲视频精选| 九热大香蕉| 色综合尤物| 少妇无码999| 中文字幕天天操| 多乙久久久久久| 亚洲视频中文一区| 精品乱码在线观看| 四虎AV在线观看| 日韩在线一区高清在线| 一二区在线观看视频| 色 婷97| 亚洲无码久久久久久久| 另类图片欧美激情综合| 内射黑丝袜| 爽爽淫人网| 久久久久久国产手机AV| 国产精品剧情| 亚洲春色欧美| 国产精品午夜成人福利| 91久久久久久| 操逼视频亚洲| 无码粉嫩白虎一线天b区| 国产农村妇女精品1区二区| 人、人、摸,人、人、草| 国产91av在线播放| 粉嫩AV一区二区夜夜| 综合久久99亚洲人妻中文在线| 69精品人人人人| 久久久精品视频免费观看| 色吧91| 久久亚洲日韩国产欧| 国产天美传媒精品| 天美精品av| 91碰碰碰| 深夜激情无码| 色色香蕉| 乱伦一二三区| 99久久无码| 人妻熟女一区二区三区视频| 亚洲免费97免费| 啊啊啊啊啊在线观看网址| 久久这里只精品99re66图| 亚洲天堂人妻熟妇视频| 被窝影院午夜看片无码| 97啪啪| 久久精品国产亚洲粉嫩| 超碰97综合网| 国产一区二区三区,在线观看观看| 日本欧美韩国日产片片在线看免| 天天色播| 欧美丰满熟妇XXXX性ppX人交| 日本操嫩b网| 嫩呦国产一区二区三区AV| 午夜福利1区2区3区| 性色aV一区二区三区噜噜| 黑人性欧美| 夜夜嗨老熟女AV一区二区三区| 75大香蕉| 狠狠2050在线观看| 久久大线蕉一区| 最新精品久久蜜桃 | 十八禁啪啦拍视频无遮挡| 中文字幕久热视频在线| 日韩精品1区2区中文字幕| 日韩簧片免费看| 国产最新小视频在线播放下载| 秋霞一集毛片观看| 免费av在线播放二区| 国产 日韩,欧美 自拍| 婷婷色色五月天福利| 日本一级特级毛片视频| 日韩激情毛片一级久久久| 高清无码在线播放网站| 日韩欧美午夜视频在线| 久久曰曰| 欧美在线官网| 一道本东京热加勒比一区二区三区| 天天摸,夜夜摸| 成年男人的天堂| 在线天堂999| 日韩国产十八禁| 天堂亚洲精品久久老牛| 亚洲加勒比色图| 久久亚洲人妻| 久久久免费视频18| 欧美情色亚洲| 成年人网站在线免费观看| 午夜啪| 综合影视国产无码| 亚洲精品视频在线播放| 熟妇高潮一区二区免费视频| 在线 亚洲 网爆 自拍| 亚洲国产丝袜在线观看| 日日AAvv| 欧美高清无码免费视频高清版| 乱伦一二三区| 乱色视频中文字幕| 后X久久| 色踪合AV| 99热伊人| 精品视频一区二区| 亚洲第一无码播放立川理惠| 欧美在线干| 五月天久久婷婷亚洲| 色眯眯av| 亚欧色图在线激情| 可以免费观看的日韩av毛片| 日本三级韩三级99久久| 久久97资源 网| 97亚洲自在精品在线观看| 美女诱惑久久| 91性高| 综合第一页| 天堂性色| 亚洲色人| 免费观看性欧美一级| 国产精品极品美女视频| 日本特黄f c2| 天天看片麻豆| 亚州综合网| 久久精品国产亚洲AV嘿嘿| 国产精品青青草| 91AV天美在线视频| 久热热| 国产精品一级特黄aaa大片在线观看| 成人三一级一片aaa| 久久久久久久 九九九九九九九| 日韩精品第3页| 97干97色| 婷婷亚洲五月***久久| surenchaopeng| 另类欧美色| 日本123区操B视频| 97超碰色屌| 九九九九精品| 国产 丝袜 欧美中文 另类| 夜夜嗷嗷一区二区| 久久精品熟妇丰满人妻99| 午夜福利成人免费视频| 二级久久网| 欧美熟妇成人一区二区| 大香蕉免费中文| 美女91网| 强奸乱伦日韩AV| 中文字幕版| 搡老女人老91妇女老熟女| www五月| 国产自偷| 手机看片1024你懂的国产| 欧美亚洲第1页| 国产毛片片精品天天看视频| 99热精品在线| 久久久性爱| 亚洲最大AV网| 人澡逼| 国产AV精久久| 任你干在线视频| 色色网91| 91天天c| 日本一区二区三区免费观看| 97香蕉人人乳| 一起草三级AV电影在线观看| 久操99| 亚洲动态色图| 久操高青| 九九碰九九爱97超| 暖暖精品二区三区观看| 男人综合网| 色av中文字| 97超碰香蕉| 国产精品九9| 2024黄色视频| 久久只有精品一区二区三区| 午夜成人爽爽爽爽A片李冰冰| 成年男人的天堂| V A在线| 亚洲精品骚逼| 亚洲精品一区二区精品| 乱子伦一区二区三区国产精品| 久久黄色视频一区二区三区 | 在线观看精品国产免费| 污电影在线观看| 色色色99| 亚洲狠| 亚州色站 日韩电影| 亚洲AV麻豆Aⅴ无码电影一| 国产精品久久久777| 成人乱人伦一区二区| 粉嫩小泬久久久一区二区| 深夜激情无码| 高精欧美色| 九九九综合精品| 亚洲欧美国产中文视频| 亚洲欧美大香蕉| 国产精品久久久久久久久久梁医生| 中文字幕人妻色偷偷久久皮| 91在线视频观看国产| 欧美日韩人妻精品系列一区二区三区| 久久免费精彩视频| 26uuu成人影片| 夜夜爽爽夜夜精品视频| 久久久久9| 大香蕉一级黄色片久久| 久久精品视| 毛片电影一区二区三区| 日韩在线欧美精品一区二区| 欧美人人天天网| 一区二区偷拍拍视频| 日产操逼| 亚洲天堂电影网99999| 天天综合AV| 日本操BAV| 九九久久久| 中字一区| 黄色网址久久精品欧美喷水| 先锋色眉乱伦资源| 亚洲无限观看| 热久久91婷婷| 丁香色婷婷| 欧美中文字幕日韩在线| 97国产|免费| 97超碰天天爱天天爱| 九九色热| 国产三级资源在线观看| 夜夜性| 91爰爱欧美| 精品91摸| 色噜噜人妻丝袜a∨先锋影| 囯产精品久久久久久久久久梁医生| 91N综合在线| 久久人妻四季| 五月丁香六月综合缴清无码| 超碰97COm中文| 欧美线天码中字| 国产a级精品| 亚洲宅男天堂| 青青伊人这里只有精品| jizz啪啪| 九九九九精品精| 97在线欧| 人妻 欧美 中文| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 麻豆天美AV传媒第一页| 综合久草| 色噜噜综合在线| 日韩性爱电影一区| 国产性久久久| 秋霞一级鲁丝片A片| 亚洲欧洲激情卡通另类文学四射小说网站| 欧美性爱网97| 欧美激情片一区二区| 操婷婷逼| 国产成人无码网站在线视频| 亚洲精品亚洲人成在线麻豆| 日韩中文字幕视频| 青娱乐999| 欧美成人性活片| 丝袜AV一区二区三区| 色综合 加勒比| 欧美性五月| 都市激情人妻一区二区青青操视频| 天天享受天天看| 97久久超碰国产网站| 后X久久| 欧美精品在线观看| 五月婷婷综合在线| 欧美极品少妇交| 99热在线播放| 天天添天天干电影| 亚洲成人在线播放| 欧洲熟妇xxXx欧美老妇裸体| 九九综合久久| 探花一区在线| 婷婷六月色开| 欧美成va视频网站| 久热99| 五月丁香| 99久久com免费视频′| 女同亚洲欧美一二三区久久电影| 成人欧美一区二区三区黑人一| 大奶啊啊好爽| 欧美九九爱| av午夜玫瑰| aaa淫乱视频| 四虎在线观看网站| 成年在线视频日本亚洲在线视频区精品江靖宇公司 | 热无码中文亚洲H一道本一区二区| 亚洲天堂精品日韩电影| 国产午夜福利专区综合| A级国产欧美激情在线| 欧美一二三级精品在线| 一级毛片久久久久久久女人18| 一区操逼日比视频| 啪啪啪精品视频| 99精品网| 日本A级视频| 九九九影院| 97欧美色| 国产免费内射视频| a片偷拍视频| 8x福利精品第一福利视频导航| 一级日本牲交大片好爽在线看| 日韩国产乱子伦App| 九九黄色视频在线观看| 啊啊啊啊啊啊啊国| 第四色亚洲色图| 久久精品男人的天堂| 天天色欧美| 国产精品视频91久久| 久草免费在线一区二区| 色婷婷狠狠18禁| 乱理日韩中文| 色天欧美| 青草成人免费视频一com| 欧美 日韩 亚洲 春色| 伊人色综合网电影| 四季AV综合网址| 91麻豆一二三区| 97欧美综合| 国产品精品自在在线午夜免费 | 成人性生活高清视频在线播放| 青娱乐二区免费| 亚洲蜜桃V妇女| 一区二区三区在线资源| 嫩草影院永久在线制服丝袜| 免看60秒涩涩视频| 久久亚洲中文字幕视频| 免费一级黄色录像影片| 中文字幕一区av| 青青草玖玖爱| 上特色A在线| 91精品啪在线观看国产城中村| 婷婷成人五月天| 久久人人爽av亚洲精品天堂桃色 | 久草老司机| 久久在线观看免费视频| 国产精品无码AV网站| 日韩精品熟妇| 色香伊人| 久久久久亚洲三级电影| 亚洲少妇色| 亚洲资源网| 日本高清视频xxxx| 97人妻免费中文字幕| 天天日日日射| 天天噜| 91小视频| 美女97超碰| 国产熟女无套内射| 亚洲精品啪视频| 天天综合网1| 一级性爱视频免费观看| 欧美在线播放aaaa| WWW美腿丝袜香蕉中文| 激情黄色片在线观看| 91麻豆天美国产欧美| 91N综合网| 国产熟女完整版中字| 久久九七| 999综合网| 亚洲少妇色| 玖玖久久久| 丁香五月综合| 九九九热精品| 国产精品爱欲| 精品国产72| 五十路六十路素人熟女| 亚洲无套久久嗯嗯| 亚洲欧美第一页| 综合色图亚洲欧美| 亚洲毛片久久| 日韩精品99999| 青青草原av| 国产亚洲99久久精品| 99re热有精品视频国产| 熟妇高潮一区二区免费视频| 玖草在线视频| 六月婷婷五月丁香| 91亚洲在线| 日本三级小说中文字幕| 97亚洲在线| 青青草九九九九九| 沈阳熟女高潮对白视频| 国产女上位好爽在线| 欧美片第一页| 大吊色| 国产精品一区二区校花| 久久久久久久久久久久欧美日| 成全在线观看免费观看| 日日妻色网| 日韩性爱播放| 久久婷婷成人综合色怡春院| 天天干天天干天天干| 91狠狠综合久久| 狠狠躁AV| 国产精品人人爽人人做可爱福利| 99re在线观看| 黄色区免费观看中文字幕| 日韩成人人妻网站| 婷婷视频网| av网站在线看| 国产污视频麻豆传媒一区二区| 一类av片在线看| 欧美色吧综合| 婷婷色综合| 91视频精品| 精国久久一区二区三区98| 老司机射| 精品一区二区三区麻豆| 亚洲91极品| 肏逼视频日本| 91男同| 色婷视频| 操逼视频国产无套| 97chaopenrihan| 五月开心网| 草草影院最新网址| 性感美女91影视| 黄页大片在线观看| 欧美一区二区三区另类精品| 999国产精品999久久久久久| 嗯嗯啊啊视频在线看| 久久久久亚洲av综合波多野制衣| 精品十八在线观看| 亚洲美乱| 丁香五月综合| 91爱| 国产精品在线一区二区| 人妻加勒比东京热| 99视频这有这里有精品| 欧美性Fer办公室秘书| 国语精品内射在线观看| 亚洲熟女诱惑| 精品少妇一区二区三区免费观看| 中文字幕在线免费观看2| 韩日精品福利视频一区不卡在线免| 久久一区二区三区入口| 亚洲色图欧美激情| 97超碰精品成| 免费看欧美美女黄色大片| 男人在线天堂| 亚洲日韩欧美一区二区| 日韩情色视频| 久久人人爽人人爽人人片Ⅴ| 国产在线播放成人免费| 5252色欧美在线男人的天堂| 樱花草社区www中国| 久久98| 日韩精品中文字幕一| 日产操逼| 国内外毛片在线观看| 精品无码一二三四区| 看看小穴| 国产成人精品日本视频| 成人性爱AV在线免费观看| 亚洲天堂久久| 啊啊啊啊啊好大好舒服想要| 国产少妇与亚洲av| 亚洲日本激情| 五月丁香黄色网| 久久超碰97| 日韩精品操少妇| 欧美综合色站| 天天日日舔舔| 欧美性巨大╳╳╳╳╳高跟鞋| 强奸乱伦免费网站| 狠狠91| 男人天堂 天天射| 日本精品性生活久久久| 中文字幕88av在线| 97色插| 亚洲综合五月天| 伊人五月天| 一级免费啪啪片| 免费一级特黄特色大片在线观看看| 国产AAAAAABBBBB| 91精品人妻偷情| 久久性爱视频免费看| 欧美亚洲中文| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 日韩激情毛片一级久久久| 欧洲在线性爱视频| 精品九九| yw尤物av无码点击进入麻豆| 精品人妻一区二区三区在| 美女91| 天天cao在线| 久久久久女教师免费一区| 日本2020一区二区| 嗯嗯啊啊啊好爽| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 成人精品一区二区91毛片不卡| 免费少妇一区二区| 狠狠中文字幕| 久久只有精品| 91看黄片| 亚洲精品无码成人久久久99| 自拍偷拍 高清无码| 国产精品久久久久无码A√| 欧美经典一区二区三区| 手机在线观看不卡无码av| 播播亚洲小说亚洲| 综合啪啪| 又黄又爽在线观看视频| 色婷婷五月天| 韩国女主播青草在线| 日日骚中文字幕| 久久久性爱| 亚洲精品97| 日韩精品在线放| 一区二区精品日韩欧美在线观看| 性爱视频啪啪啪啪| 天天天天天天天天天天干美女| 逼逼逼逼操操操操操操操操操午夜剧场 | 99综合网| 爆乳免费黄网站| 青青草日本中文字幕| 欧亚第一综合网| 操91| 精品午夜福利| 国产乱伦亚洲色图高清无码| Av手机版天堂网| 福利在线黄片| 亚洲春色激情小说| 美女露胸露奶头| 男人的天堂在线| AV女资源| 成人怡红院| 99久久久无码精品国产人| 91强奸乱轮| 久久免费中文字幕在线观看| 一区二区三区男女操逼黄色小电影| 97频视在线| 青青草好吊色| 综合伊人激情| 午夜丁香|