99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

從零構(gòu)建FPGA 10G網(wǎng)卡:Verilog實現(xiàn)核心架構(gòu)與三套源碼解析

從零構(gòu)建FPGA 10G網(wǎng)卡:Verilog實現(xiàn)核心架構(gòu)與三套源碼解析 1. 項目概述為什么選擇用FPGA實現(xiàn)10G網(wǎng)卡在數(shù)據(jù)中心、高性能計算和網(wǎng)絡(luò)設(shè)備的核心高速網(wǎng)絡(luò)接口卡NIC是數(shù)據(jù)吞吐的咽喉要道。當市面上充斥著基于ASIC或商用芯片的成熟方案時一個標題為“FPGA實現(xiàn) NIC 10G 網(wǎng)卡純verilog代碼編寫”的項目無疑會吸引一批硬核工程師的目光。這不僅僅是一個“造輪子”的練習(xí)其背后是對網(wǎng)絡(luò)協(xié)議棧的深度掌控、對硬件時序的極致追求以及對定制化網(wǎng)絡(luò)功能的無限遐想。簡單來說這個項目就是用FPGA芯片通過編寫硬件描述語言Verilog從零開始構(gòu)建一個能夠處理10Gbps萬兆以太網(wǎng)數(shù)據(jù)流的網(wǎng)絡(luò)接口卡。它不依賴于任何現(xiàn)成的、黑盒的IP核所有的邏輯從最底層的物理層編碼解碼如XGMII接口、PCS/PMA到數(shù)據(jù)鏈路層的MAC媒體訪問控制再到上層的DMA直接內(nèi)存訪問和與主機交互的接口如PCIe全部由可讀、可修改的Verilog代碼實現(xiàn)。那么誰需要這樣的項目首先是網(wǎng)絡(luò)協(xié)議和硬件加速的研究者他們需要透明的、可任意插樁和修改的硬件平臺來驗證新算法。其次是特定行業(yè)的開發(fā)者比如金融交易中對網(wǎng)絡(luò)延遲有納秒級要求的場景或者工業(yè)控制中需要確定性和特定過濾規(guī)則的數(shù)據(jù)采集FPGA的靈活性和并行處理能力是ASIC方案無法比擬的。最后也是最重要的是那些希望深入理解“數(shù)據(jù)包如何從網(wǎng)線走到內(nèi)存”這一完整鏈條的工程師和學(xué)生。通過親手實現(xiàn)你會對CRC校驗、流量控制、中斷機制、DMA描述符環(huán)等概念有刻骨銘心的理解這是閱讀一百篇文檔也無法替代的。我最初接觸這個方向是因為在一個定制化數(shù)據(jù)采集項目中需要網(wǎng)卡對特定模式的數(shù)據(jù)包進行線速過濾和打時間戳商用網(wǎng)卡的驅(qū)動和固件限制讓我們寸步難行。自研FPGA網(wǎng)卡成了唯一出路。踩過無數(shù)坑之后我深刻體會到一個穩(wěn)定可靠的10G NIC其難點遠不止是讓鏈路燈亮起來更在于如何在復(fù)雜的真實網(wǎng)絡(luò)環(huán)境中保持高性能、低延遲和絕對的穩(wěn)定性。接下來我將拆解這個項目的核心設(shè)計思路、關(guān)鍵模塊的實現(xiàn)細節(jié)并分享那些在數(shù)據(jù)手冊里找不到的實戰(zhàn)經(jīng)驗。2. 核心架構(gòu)與模塊化設(shè)計思路一個完整的10G FPGA NIC絕非一個龐大的Verilog文件所能容納。它必須是一個層次清晰、模塊解耦的系統(tǒng)工程。核心架構(gòu)通常遵循標準的分層模型但每一層都需要用硬件邏輯來實現(xiàn)。2.1 整體系統(tǒng)框圖與數(shù)據(jù)流一個典型的、與主機通過PCIe交互的FPGA 10G NIC其核心數(shù)據(jù)通路可以概括為網(wǎng)絡(luò)側(cè)與主機側(cè)的分離與橋接。網(wǎng)絡(luò)側(cè)下行/接收方向 RXSFP光模塊接收光信號 - 芯片內(nèi)置或外置的SerDes串行器/解串器進行串并轉(zhuǎn)換 -PCS物理編碼子層模塊完成64B/66B編碼解碼、對齊碼組Alignment -MAC媒體訪問控制模塊進行幀定界識別SFD、CRC校驗、幀過濾、將數(shù)據(jù)存入RX FIFO。主機側(cè)一個DMA直接內(nèi)存訪問引擎負責(zé)搬運數(shù)據(jù)。它從RX FIFO中取出完整的數(shù)據(jù)包根據(jù)描述符Descriptor環(huán)的指示通過PCIe Endpoint模塊將數(shù)據(jù)直接寫入主機內(nèi)存的指定位置。隨后它更新描述符狀態(tài)并可能觸發(fā)一個中斷MSI-X通知主機驅(qū)動“數(shù)據(jù)已就緒”。發(fā)送方向TX則是一個逆過程主機驅(qū)動填充發(fā)送描述符和內(nèi)存數(shù)據(jù) - DMA引擎從主機內(nèi)存取數(shù)據(jù) - 存入TX FIFO- MAC模塊添加前導(dǎo)碼、SFD和CRC - PCS進行編碼 - SerDes串行化 - 光模塊發(fā)送。在這個流程中時鐘域是最容易讓人栽跟頭的地方。網(wǎng)絡(luò)側(cè)通常來自恢復(fù)時鐘如156.25MHz或161.13MHz取決于編碼而FPGA邏輯、PCIe總線、DDR緩存如果使用各有各的時鐘。整個設(shè)計充滿了異步FIFO和時鐘域交叉CDC邏輯確保數(shù)據(jù)在跨越時鐘域時不會丟失或重復(fù)。2.2 關(guān)鍵模塊選型與自研考量1. PHY/PCS層硬核與軟核的抉擇這是第一個關(guān)鍵決策點。許多高端FPGA如Xilinx的UltraScale Intel的Stratix 10內(nèi)部集成了10G甚至更高速率的PCS硬核如Xilinx的GTY/GTM Transceiver Intel的F-Tile。使用硬核是最高效、最穩(wěn)定的選擇你只需要通過IP核配置工具如Xilinx的Transceiver Wizard生成一個包裝模塊然后專注于與之對接的XGMII10G媒體獨立接口或類似接口邏輯。然而本項目的魅力在于“純Verilog”。這意味著我們可能需要用FPGA的通用邏輯資源LUT、Register去實現(xiàn)64B/66B編解碼、擾碼Scrambling等復(fù)雜操作。這極具挑戰(zhàn)性對時序和資源消耗是巨大考驗。在實際工程中一個折中且務(wù)實的方案是使用芯片廠商提供的、可綜合的PCS軟核IP如果有或者使用經(jīng)過充分驗證的開源PCS邏輯如OpenCores上的相關(guān)項目。雖然這不算“完全從零開始”但在工程上更可行。我們的三套工程源碼很可能就是基于不同的PHY方案一套基于FPGA內(nèi)置硬核一套基于第三方軟核另一套可能是更基礎(chǔ)的仿真或測試平臺。2. MAC層協(xié)議合規(guī)性的核心MAC層是設(shè)計的重中之重它直接決定了網(wǎng)卡是否符合IEEE 802.3標準。核心功能包括幀處理生成/識別前導(dǎo)碼Preamble和幀起始定界符SFD。CRC生成與校驗發(fā)送時計算并附加32位CRC接收時校驗并可能將結(jié)果傳遞給上層。流量控制實現(xiàn)PAUSE幀的發(fā)送與響應(yīng)這是避免丟包的關(guān)鍵。統(tǒng)計計數(shù)器維護發(fā)送/接收的字節(jié)數(shù)、幀數(shù)、錯誤計數(shù)等用于監(jiān)控和調(diào)試。這里的一個大坑是IFG幀間間隔的處理。標準要求至少96比特時間。在10G速率下這對應(yīng)一個非常短的時間窗口。MAC邏輯必須在發(fā)送完一幀后精確地插入空閑碼Idle確保IFG滿足要求同時又要高效利用帶寬。實現(xiàn)時需要一個精準的狀態(tài)機來控制。3. DMA與描述符環(huán)性能的引擎DMA引擎是網(wǎng)卡與主機CPU之間的“搬運工”其效率直接決定吞吐量和CPU占用率。核心設(shè)計是一個環(huán)形的描述符隊列。每個描述符是一個數(shù)據(jù)結(jié)構(gòu)包含數(shù)據(jù)包在主機內(nèi)存中的地址、長度、狀態(tài)位如OWN位標識描述符屬于主機還是網(wǎng)卡等。工作流程以接收為例驅(qū)動初始化時在主機內(nèi)存中分配一片緩沖區(qū)并創(chuàng)建描述符環(huán)將所有描述符的OWN位交給網(wǎng)卡DMA。FPGA側(cè)的DMA控制器維護著頭指針Consumer Index和尾指針Producer Index。當RX FIFO中有完整數(shù)據(jù)包時DMA引擎取出一個空閑描述符OWN1將數(shù)據(jù)通過PCIe寫入該描述符指向的主機內(nèi)存地址。寫入完成后DMA引擎清除該描述符的OWN位交還給主機并更新本地指針同時可選地觸發(fā)中斷。主機驅(qū)動輪詢或響應(yīng)中斷后處理該數(shù)據(jù)包處理完畢后再將描述符的OWN位置1放回環(huán)中供DMA再次使用。這里的挑戰(zhàn)在于PCIe傳輸?shù)男屎涂煽啃?。需要使用PCIe IP核的AXI-Stream或用戶接口設(shè)計高效的請求打包邏輯支持Max Payload Size和Read Completion Boundary避免因TLP事務(wù)層包拆分不當導(dǎo)致的性能下降。同時必須處理PCIe傳輸錯誤如Completion with Error實現(xiàn)描述符狀態(tài)的可靠回滾。4. 主機接口PCIe的集成PCIe Endpoint的實現(xiàn)同樣依賴于FPGA廠商的硬核IP如Xilinx的XDMA或PCIe Bridge。我們的“純Verilog”更多是指在這些IP核的用戶接口之上實現(xiàn)數(shù)據(jù)搬運和控制邏輯。需要深入理解IP核提供的AXI4、AXI4-Stream或本地接口協(xié)議實現(xiàn)正確的TLP組裝與解析。注意聲稱“純Verilog”實現(xiàn)10G NIC通常不包括SerDes和PCIe PHY這些極度復(fù)雜的模擬/混合信號電路它們幾乎總是以硬核形式存在。工程的重點在于用Verilog“粘合”和擴展這些硬核實現(xiàn)完整的網(wǎng)絡(luò)協(xié)議棧和數(shù)據(jù)通路控制。這是一個務(wù)實的、可實現(xiàn)的工程目標。3. 三套工程源碼的深度解析與適用場景提供“三套工程源碼”是這個項目的巨大價值所在它覆蓋了從學(xué)習(xí)驗證到生產(chǎn)部署的不同階段。下面我來逐一拆解它們可能的構(gòu)成和設(shè)計意圖。3.1 工程一基礎(chǔ)驗證與仿真平臺Simulation-Only / Loopback Test這套工程的目標不是上板運行而是在仿真環(huán)境中搭建一個完整的、可觀測的驗證平臺。核心內(nèi)容完整的Testbench用SystemVerilog或Verilog編寫模擬網(wǎng)絡(luò)數(shù)據(jù)流生成符合以太網(wǎng)標準的激勵和主機行為模擬驅(qū)動對描述符環(huán)的操作。BFM總線功能模型模擬PCIe Root Complex的行為響應(yīng)FPGA端發(fā)起的TLP請求用于驗證DMA讀寫功能。無物理層可能用簡單的FIFO或AXI-Stream接口替代真實的PCS/MAC與外部網(wǎng)絡(luò)的接口專注于驗證MAC層及以上邏輯CRC、幀處理、DMA控制的正確性。豐富的斷言Assertion和覆蓋率收集在關(guān)鍵狀態(tài)機和數(shù)據(jù)通路上插入斷言確保行為符合預(yù)期并收集代碼和功能覆蓋率指導(dǎo)測試用例的完善。技術(shù)要點使用$display或$write進行調(diào)試輸出記錄關(guān)鍵事件如“收到一幀長度XXCRC_OK”。編寫腳本Python/Makefile自動化回歸測試一鍵運行所有測試用例并檢查結(jié)果??赡芗砷_源驗證方法學(xué)如UVM的簡單組件但更多是直接的自定義測試。適用場景與價值這是學(xué)習(xí)以太網(wǎng)協(xié)議和FPGA NIC架構(gòu)的絕佳起點。你可以在不依賴任何硬件的情況下深入調(diào)試MAC狀態(tài)機、DMA描述符處理邏輯。對于初學(xué)者我強烈建議從此工程入手用仿真器如ModelSim, VCS, Verilator一步步跟蹤信號理解整個數(shù)據(jù)流。3.2 工程二基于評估板的完整參考設(shè)計Hardware Reference Design這是最核心、最實用的一套工程。它針對某一款具體的FPGA評估板例如Xilinx的VCU118 Intel的Stratix 10 DK進行了完整的實現(xiàn)和引腳約束。核心內(nèi)容完整的RTL代碼包含所有模塊PCIe IP核包裝、DMA引擎、MAC、PCS可能調(diào)用GT Wizard生成的Wrapper、時鐘管理MMCM/PLL、寄存器組用于狀態(tài)控制和統(tǒng)計信息讀取。約束文件XDC/SDC精確的引腳分配特別是SFP接口的差分對、參考時鐘、時序約束包括輸入延遲、輸出延遲、以及GT Transceiver的特定約束。驅(qū)動軟件提供Linux內(nèi)核驅(qū)動源碼通常是基于內(nèi)核的igb或ixgbe驅(qū)動框架修改或Windows NDIS驅(qū)動框架。驅(qū)動負責(zé)初始化描述符環(huán)、映射PCIe BAR空間、提供網(wǎng)絡(luò)設(shè)備接口net_device給操作系統(tǒng)。文檔與腳本詳細的編譯指南Vivado/Quartus工程搭建步驟、驅(qū)動編譯加載說明、簡單的性能測試腳本如用iperf3或netperf進行帶寬測試。技術(shù)要點時鐘方案這是硬件成敗的關(guān)鍵。工程必須提供穩(wěn)定、低抖動的時鐘源給GT Transceiver和用戶邏輯。通常需要利用板載晶振通過MMCM生成所需的各種頻率。復(fù)位序列FPGA上電后GT Transceiver、PCIe硬核、用戶邏輯必須有嚴格的復(fù)位順序確保各模塊處于已知狀態(tài)。代碼中會有一個頂層的復(fù)位控制器。調(diào)試接口通常會集成一個ILA集成邏輯分析儀或Signaltap內(nèi)核將內(nèi)部關(guān)鍵信號如MAC狀態(tài)、FIFO空滿、描述符指針引出方便在線調(diào)試。性能優(yōu)化為了達到線速DMA引擎和PCIe接口的流水線設(shè)計、數(shù)據(jù)位寬可能是128位或256位選擇、FIFO深度設(shè)置都需要精心調(diào)優(yōu)。適用場景與價值這是產(chǎn)品原型的基礎(chǔ)。開發(fā)者可以基于此工程在真實的硬件上驗證功能、測試性能延遲、吞吐量、CPU占用率并以此為藍本進行定制化修改例如添加時間戳、特定包頭過濾、負載均衡邏輯。3.3 工程三輕量級或替代方案設(shè)計Lightweight / Alternative Design這套工程展示了設(shè)計的靈活性可能針對資源受限或特定應(yīng)用場景??赡艿姆较蛞籙DP/IP卸載引擎。在某些嵌入式或工業(yè)場景不需要完整的TCP/IP協(xié)議棧只需要基于UDP的快速數(shù)據(jù)交換。此工程可能在MAC層之上直接實現(xiàn)一個輕量級的UDP/IP封裝/解封裝模塊甚至集成簡單的ARP和ICMP響應(yīng)形成一個“瘦身版”智能網(wǎng)卡資源占用更少延遲更低??赡艿姆较蚨c軟核CPU如MicroBlaze/Nios II協(xié)同。將部分控制平面功能如描述符環(huán)維護、統(tǒng)計信息收集、驅(qū)動交互交給FPGA內(nèi)嵌的軟核處理器而數(shù)據(jù)平面MAC、DMA數(shù)據(jù)搬運仍由硬件邏輯處理。這種軟硬協(xié)同方式簡化了與主機驅(qū)動的交互復(fù)雜度更適合復(fù)雜的狀態(tài)管理??赡艿姆较蛉喽丝诨蜴溌肪酆?。展示如何將核心的MAC和DMA模塊進行復(fù)用通過一個共享的DMA引擎和PCIe接口驅(qū)動多個如2個或4個10G網(wǎng)絡(luò)端口實現(xiàn)簡單的交換機功能或鏈路聚合LACP。技術(shù)要點這套工程的重點在于架構(gòu)的擴展性。它會展示如何通過參數(shù)化Verilog中的parameter和generate語句來配置端口數(shù)量、數(shù)據(jù)位寬、FIFO深度等。代碼結(jié)構(gòu)會更具模塊化和可配置性。適用場景與價值為有進階需求的開發(fā)者提供思路拓展。當你需要基于基礎(chǔ)方案進行二次開發(fā)時這套工程展示了如何優(yōu)雅地修改和擴展架構(gòu)而不是推倒重來。4. 關(guān)鍵模塊的Verilog實現(xiàn)細節(jié)與坑點實錄紙上得來終覺淺絕知此事要躬行。下面我選取幾個最核心也最容易出錯的模塊結(jié)合代碼片段以思路說明為主和實戰(zhàn)經(jīng)驗進行深度解析。4.1 10G MAC層發(fā)送邏輯設(shè)計與狀態(tài)機發(fā)送邏輯TX負責(zé)將來自DMA或上層的數(shù)據(jù)封裝成符合標準的以太網(wǎng)幀送出去。其核心是一個狀態(tài)機。// 簡化的TX狀態(tài)機狀態(tài)定義 localparam TX_IDLE 4d0; localparam TX_PREAMBLE 4d1; localparam TX_SFD 4d2; localparam TX_DATA 4d3; localparam TX_PAD 4d4; // 填充如果需要 localparam TX_CRC 4d5; localparam TX_IFG 4d6; reg [3:0] tx_state; reg [31:0] crc32_tx; // CRC計算寄存器 reg [7:0] ifg_cnt; // IFG計數(shù)器狀態(tài)轉(zhuǎn)移邏輯關(guān)鍵部分TX_IDLE等待TX FIFO非空表示有數(shù)據(jù)包要發(fā)送。一旦有數(shù)據(jù)進入TX_PREAMBLE并開始計算CRC初始值應(yīng)為全1。TX_PREAMBLE/TX_SFD連續(xù)輸出7個字節(jié)的0x55和1個字節(jié)的0xD5。注意這些字節(jié)不參與CRC計算。TX_DATA從FIFO中讀取數(shù)據(jù)字節(jié)輸出到XGMII接口的TXD同時將每個字節(jié)輸入CRC32模塊進行計算。需要處理幀長度小于64字節(jié)的情況此時需要進入TX_PAD狀態(tài)進行填充至60字節(jié)加上4字節(jié)CRC后為64字節(jié)。TX_CRC將計算好的CRC32值需要按位取反輸出。這里有一個細節(jié)CRC計算是從目的MAC地址開始的到數(shù)據(jù)字段結(jié)束。輸出CRC時是高位字節(jié)先出Big-Endian。TX_IFG發(fā)送完CRC后不能立刻發(fā)送下一幀。必須輸出至少12個字節(jié)的“空閑碼”Idle XGMII中對應(yīng)0x07控制字符。必須嚴格計數(shù)ifg_cnt從0計到11或更多期間輸出Idle。完成后才返回TX_IDLE。踩坑實錄一CRC計算的同步與滯后。CRC計算是組合邏輯但存在延遲。如果你在TX_DATA狀態(tài)的最后一個周期將當前數(shù)據(jù)輸入CRC模塊并在下一個周期TX_CRC狀態(tài)直接使用計算結(jié)果可能會因為組合邏輯延遲導(dǎo)致CRC值錯誤。穩(wěn)妥的做法是采用流水線在發(fā)送數(shù)據(jù)字節(jié)N的同時計算基于字節(jié)N-1及之前數(shù)據(jù)的CRC中間值?;蛘咴赥X_DATA狀態(tài)結(jié)束后插入一個等待周期TX_WAIT_CRC讓CRC組合邏輯穩(wěn)定再輸出結(jié)果。一定要在仿真中用Wireshark或自編檢查工具驗證每個發(fā)出幀的CRC是否正確這是協(xié)議兼容性的生命線。4.2 接收邏輯RX與幀定界同步接收邏輯的挑戰(zhàn)在于從連續(xù)的碼流中正確識別出幀的起始和結(jié)束。幀定界接收端PCS層會恢復(fù)出數(shù)據(jù)和控制字符流。幀起始由/S/Start控制字符標識緊隨其后的就是SFD0xD5和數(shù)據(jù)。幀結(jié)束由/T/Terminate控制字符標識/T/后面的4個字節(jié)就是發(fā)送端計算的CRC。// 簡化的RX處理片段 always (posedge rx_clk) begin case(rx_state) RX_IDLE: begin if (rx_ctrl CTRL_START rx_data 8hD5) begin // 檢測到/S/和SFD rx_state RX_DATA; crc32_rx 32hFFFF_FFFF; // 初始化CRC frame_good 1b0; end end RX_DATA: begin if (rx_ctrl CTRL_TERMINATE) begin // 檢測到/T/ rx_state RX_CRC; stored_crc rx_data; // 開始接收對方發(fā)來的CRC值連續(xù)4個周期 crc_index 2d0; end else begin // 正常接收數(shù)據(jù)并輸入CRC模塊計算 data_to_fifo rx_data; crc32_rx next_crc32(crc32_rx, rx_data); end end RX_CRC: begin // 拼接接收到的4字節(jié)CRC stored_crc_reg {stored_crc_reg[23:0], rx_data}; crc_index crc_index 1; if (crc_index 2d3) begin // 已收齊4字節(jié) rx_state RX_CHECK; end end RX_CHECK: begin // 比較自己計算的CRCcrc32_rx取反和接收到的CRCstored_crc_reg if ((~crc32_rx) stored_crc_reg) begin frame_good 1b1; // 幀有效 end else begin frame_good 1b0; // CRC錯誤 // 更新錯誤計數(shù)器 end rx_state RX_IDLE; end endcase end踩坑實錄二跨時鐘域與FIFO的深度設(shè)置。RX數(shù)據(jù)從恢復(fù)時鐘域rx_clk進入FPGA必須通過一個異步FIFO緩存再送到DMA引擎所在的系統(tǒng)時鐘域sys_clk。這個FIFO的深度設(shè)置至關(guān)重要。深度太淺在突發(fā)大流量或系統(tǒng)時鐘域背壓backpressure時容易溢出丟包。深度太深會增加資源消耗和延遲。一個經(jīng)驗公式是FIFO深度 (突發(fā)數(shù)據(jù)量 / 寫入數(shù)據(jù)位寬) × (寫時鐘頻率 / 讀時鐘頻率) 安全余量。對于10G網(wǎng)絡(luò)突發(fā)一個最大幀約1500字節(jié)開銷是常見情況。假設(shè)寫時鐘156.25MHz讀時鐘250MHz數(shù)據(jù)位寬64位8字節(jié)那么突發(fā)數(shù)據(jù)量約為2KB計算出的最小深度約為(2048/8)*(156.25/250) ≈ 160??紤]到時鐘頻率比的不確定性和其他延遲設(shè)置256或512的深度是相對安全的。務(wù)必在仿真中注入背壓場景測試FIFO是否會溢出。4.3 DMA描述符環(huán)控制器實現(xiàn)描述符環(huán)控制器是軟件和硬件之間的契約管理者。以下是其核心邏輯的簡化描述。module descriptor_controller #( parameter DESC_RING_SIZE 1024 // 描述符環(huán)大小 )( input wire sys_clk, input wire sys_rst_n, // 與主機內(nèi)存交互的接口通過PCIe Bridge output reg [63:0] dma_rd_addr, output reg dma_rd_valid, input wire dma_rd_ready, // ... 其他PCIe讀寫控制信號 // 與數(shù)據(jù)通路FIFO的接口 input wire [63:0] data_to_dma, input wire data_valid, output reg data_ready ); // 描述符在FPGA側(cè)的緩存通常用Block RAM實現(xiàn)雙端口RAM reg [127:0] desc_ram [0:DESC_RING_SIZE-1]; // 假設(shè)每個描述符128位 reg [31:0] consumer_idx; // 消費者索引硬件已處理 reg [31:0] producer_idx; // 生產(chǎn)者索引硬件待處理 reg [31:0] local_tail_ptr; // 緩存的驅(qū)動更新的尾指針 // 狀態(tài)機IDLE, FETCH_DESC, CHECK_OWN, READ_DATA, WRITE_BACK reg [2:0] state; always (posedge sys_clk or negedge sys_rst_n) begin if (!sys_rst_n) begin state IDLE; consumer_idx 0; end else begin case(state) IDLE: begin if (producer_idx ! local_tail_ptr) begin // 環(huán)中有待處理描述符 state FETCH_DESC; // 計算描述符在RAM中的地址并讀取 end end FETCH_DESC: begin // 從desc_ram中讀取描述符內(nèi)容 // 檢查描述符的OWN位是否為1屬于硬件 if (desc_own_bit 1b1) begin state READ_DATA; // 根據(jù)描述符中的主機物理地址發(fā)起PCIe讀請求用于TX或準備寫地址用于RX end else begin // OWN位為0描述符不屬于硬件可能是驅(qū)動還未回收跳過 consumer_idx consumer_idx 1; state IDLE; end end READ_DATA: begin // 處理數(shù)據(jù)搬運...以RX為例將FIFO數(shù)據(jù)寫入主機內(nèi)存 if (dma_write_complete) begin state WRITE_BACK; // 準備更新描述符狀態(tài)清除OWN位寫入實際接收的字節(jié)數(shù)可能設(shè)置中斷位 end end WRITE_BACK: begin // 將更新后的描述符寫回desc_ram或直接通過PCIe寫回主機內(nèi)存取決于架構(gòu) if (write_back_done) begin consumer_idx consumer_idx 1; // 處理下一個描述符 state IDLE; end end endcase end end // 一個獨立的邏輯塊定期通過PCIe讀取主機驅(qū)動更新的尾指針local_tail_ptr // 驅(qū)動通過寫B(tài)AR空間寄存器來更新尾指針 always (posedge sys_clk) begin if (update_tail_ptr_signal) begin // 發(fā)起一個PCIe讀請求讀取主機內(nèi)存中驅(qū)動維護的尾指針變量 // 讀回后更新 local_tail_ptr end end endmodule踩坑實錄三描述符環(huán)的“緩存一致性”地獄。這是DMA設(shè)計中最棘手的部分之一。驅(qū)動在主機內(nèi)存中更新尾指針告訴硬件有新的描述符可用硬件在完成數(shù)據(jù)處理后更新描述符狀態(tài)將OWN位清零并寫回。這兩次寫操作必須保證硬件能看到正確的順序。如果硬件緩存了舊的描述符內(nèi)容可能會錯誤地重復(fù)處理或丟失描述符。解決方案使用內(nèi)存屏障在驅(qū)動代碼中在更新尾指針之前使用如wmb()或mmiowb()等內(nèi)存屏障指令確保之前對描述符的寫入對設(shè)備可見。硬件側(cè)無效緩存如果硬件緩存了描述符在讀取描述符OWN位之前確保緩存是最新的。一種簡單粗暴但有效的方法是不緩存描述符每次需要時都通過PCIe去讀主機內(nèi)存但性能差。高性能方案是使用帶無效化功能的緩存或在關(guān)鍵操作前主動無效化緩存行。嚴格的順序依賴設(shè)計硬件狀態(tài)機時確保在更新本地consumer_idx之前描述符狀態(tài)OWN位清零的寫操作已經(jīng)完成并同步。這通常意味著需要等待PCIe寫完成的確認。調(diào)試方法在驅(qū)動中加入大量的printk日志記錄每次更新尾指針和檢查頭指針的值。在FPGA邏輯中用ILA抓取consumer_idx,producer_idx,local_tail_ptr以及關(guān)鍵描述符字段的變化。對比兩者找到不一致的時刻。5. 從仿真到上板全流程實戰(zhàn)與調(diào)試技巧有了代碼如何讓它真正跑起來這里分享從仿真驗證到實際上板調(diào)試的完整流程和血淚教訓(xùn)。5.1 仿真環(huán)境搭建與關(guān)鍵測試用例仿真不能只跑通一個簡單的正向用例。必須構(gòu)建一個接近真實環(huán)境的、充滿“惡意”的測試平臺。Testbench架構(gòu)網(wǎng)絡(luò)側(cè)BFM模擬對端設(shè)備。不僅要能發(fā)送標準的、長度隨機的數(shù)據(jù)幀還要能發(fā)送錯誤幀CRC錯誤、短幀、巨幀、插入PAUSE幀模擬鏈路的UP/DOWN抖動。主機側(cè)BFM模擬PCIe Root Complex和主機驅(qū)動。需要模擬驅(qū)動初始化描述符環(huán)、更新尾指針、響應(yīng)MSI-X中斷、處理完成狀態(tài)等完整流程。監(jiān)控與檢查模塊自動檢查每個接收到的幀是否與發(fā)送的一致包括數(shù)據(jù)、長度檢查每個發(fā)送的幀格式是否正確IFG、CRC統(tǒng)計各類錯誤。必須覆蓋的測試場景基礎(chǔ)功能單幀收發(fā)、背靠背Back-to-Back幀收發(fā)、最大幀~1500B和最小幀64B收發(fā)。流量控制模擬接收方發(fā)送PAUSE幀驗證發(fā)送方是否能在指定時間內(nèi)暫停發(fā)送。錯誤注入在傳輸路徑中隨機插入比特錯誤驗證CRC校驗?zāi)K是否能正確檢出錯誤并丟棄壞幀同時更新統(tǒng)計計數(shù)器。資源壓力測試讓RX FIFO接近滿TX FIFO接近空驗證背壓信號是否正常工作是否會發(fā)生丟包或死鎖。DMA壓力測試模擬驅(qū)動處理慢導(dǎo)致描述符環(huán)被填滿驗證DMA引擎是否會正確停止取描述符并在環(huán)有空閑后恢復(fù)。隨機混合測試長時間運行隨機長度、隨機間隔、混合正確和錯誤幀的測試這是發(fā)現(xiàn)狀態(tài)機角落案例Corner Case的最佳方法。仿真工具技巧使用$random或$urandom生成隨機數(shù)據(jù)。使用SystemVerilog的斷言assert在仿真中實時檢查協(xié)議違規(guī)如IFG不足、CRC錯誤但未置錯誤標志。將關(guān)鍵信號如狀態(tài)機狀態(tài)、FIFO讀寫指針、描述符指針記錄到VCD或FSDB文件中便于波形查看。5.2 硬件調(diào)試ILA與驅(qū)動聯(lián)調(diào)實戰(zhàn)當仿真通過后就可以綜合生成比特流下載到FPGA板卡了。真正的挑戰(zhàn)才剛剛開始。靜態(tài)時序分析STA必須過關(guān)在布局布線后務(wù)必仔細查看時序報告確保所有路徑特別是跨時鐘域路徑都滿足建立時間和保持時間要求。重點關(guān)注GT Transceiver與用戶邏輯接口的時序以及PCIe接口的時序。集成邏輯分析儀ILA是救星在綜合前就在代碼中實例化ILA IP核抓取你想看的任何內(nèi)部信號。關(guān)鍵信號列表rx_state,tx_stateMAC層狀態(tài)機。rx_fifo_wr_en,rx_fifo_full,rx_fifo_rd_en,rx_fifo_emptyFIFO控制信號。dma_stateDMA控制器狀態(tài)機。consumer_idx,producer_idx,local_tail_ptr描述符環(huán)指針。pcie_axi_awvalid,pcie_axi_awreadyPCIe AXI寫地址通道握手信號如果使用AXI接口。驅(qū)動加載與初步聯(lián)調(diào)編譯并加載內(nèi)核驅(qū)動insmod。使用lspci -vvv命令查看FPGA板卡是否被正確識別BAR空間是否已映射。使用ifconfig或ip link命令嘗試將網(wǎng)絡(luò)接口如eth2up起來。此時驅(qū)動會開始初始化硬件配置MAC地址、分配描述符環(huán)內(nèi)存、設(shè)置中斷、啟動MAC和DMA。第一個常見問題鏈路不UP。檢查SFP光模塊是否插好對端設(shè)備是否工作。在ILA中檢查PCS層的rx_ready或link_up信號。檢查MAC的配置寄存器是否被驅(qū)動正確寫入。用ILA抓取驅(qū)動通過PCIe配置空間或BAR空間寫寄存器的過程。數(shù)據(jù)通路調(diào)試Ping不通這是第一個里程碑。在FPGA端用ILA抓取RX路徑看是否收到了來自主機的ARP Request包。如果沒收到問題可能出在接收鏈路或MAC配置。如果收到了ARP Request檢查MAC是否生成了正確的ARP Reply。抓取TX路徑看Reply是否被正確發(fā)送出去。重點檢查目的MAC地址是否替換為請求者的MACCRC計算是否正確。如果FPGA發(fā)送了Reply但主機沒收到檢查TX鏈路或者用ILA抓取PCIe的TLP發(fā)送情況看DMA是否成功將Reply包的數(shù)據(jù)寫入了主機內(nèi)存。能Ping通但iperf打不到線速在FPGA端用ILA監(jiān)控RX FIFO和TX FIFO的空滿狀態(tài)。如果RX FIFO經(jīng)常滿說明DMA搬運速度跟不上接收速度。檢查DMA讀效率是否PCIe讀請求延遲太大是否描述符環(huán)太小如果TX FIFO經(jīng)常空說明驅(qū)動發(fā)送數(shù)據(jù)不夠快或者DMA從主機取數(shù)據(jù)有瓶頸。檢查驅(qū)動的中斷處理效率是否使用了NAPINew API來批量處理收包使用ethtool -S ethX查看驅(qū)動統(tǒng)計信息關(guān)注rx_missed_errors,tx_errors,rx_length_errors等與FPGA內(nèi)部的統(tǒng)計寄存器對比。系統(tǒng)不穩(wěn)定運行一段時間后死機或丟包嚴重首要懷疑對象時鐘和復(fù)位。用示波器測量供給FPGA和光模塊的參考時鐘是否干凈、抖動是否在范圍內(nèi)。檢查復(fù)位邏輯確保所有模塊在穩(wěn)定時鐘后足夠長時間才釋放復(fù)位。其次內(nèi)存訪問錯誤??赡苁荄MA寫到了非法的主機內(nèi)存地址描述符地址錯誤導(dǎo)致系統(tǒng)內(nèi)存損壞。在驅(qū)動中啟用IOMMU如果支持可以一定程度上防護。在FPGA端可以添加地址范圍檢查邏輯。最后資源競爭或死鎖。仔細審查所有狀態(tài)機是否存在在某些極端條件下無法跳出的狀態(tài)FIFO的異步復(fù)位是否干凈跨時鐘域的信號是否都經(jīng)過了至少兩級同步器終極調(diào)試心法分而治之與對比法。不要試圖一次性調(diào)試整個系統(tǒng)。先確保物理鏈路正常光模塊、時鐘。然后屏蔽DMA用FPGA內(nèi)部邏輯產(chǎn)生固定的ARP Reply包看對端能否收到驗證MAC層以下。再啟用DMA但先用驅(qū)動發(fā)送固定的UDP包到FPGAFPGA收到后原路返回Loopback驗證DMA讀寫通路。最后才進行全雙工、線速的壓力測試。遇到問題時將可疑模塊的行為與一個已知正確的參考模型可以是仿真代碼也可以是簡化版本進行對比往往能快速定位差異點。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
大香蕉丁香| 超碰成人在线免费观看| 色五月在线视频观看| 五月综合激情啪啪啪啪啪| 国产另类综合| 五月丁香色婷婷婷基地| 久热伊人9| 久久精品9| 深爱婷婷基地| 影音先锋男人资源站一区二区| 久99久精品视频| 狠狠艹狠狠艹| 久久婷婷成人| 亚洲色区17| 五月婷婷欧美| 强伦轩人妻一区二区电影| 玖玖午夜视频| 婷婷丁香五月在线观看91| 婷婷五月天网址| 欧美va亚洲va| 九九re精品视频在线观看| 日本色婷婷| 丁香五月欧美激情| 停停色综合伊人| 超级碰91| 性爱五月婷| 91碰碰碰| 婷婷丁香九月| 国产激情综合五月久久| 久热只有这里精品| 九九视频精品在线免费| 夜夜躁狠狠 | 亚洲俩性性爱图片久久第六页| 久操热| 97色色色色色| 这里只有精品9| 久久草大香蕉| 日本欧美在线| 九九热AV| 五月婷婷综合网| 99青青草99| 日韩成人网址| 99热国产这里只有精品| 丁香成人五月天| 丁香五月冃欧美| 99婷婷五月天| 久热这里只有精品性色AV| 久久婷婷激情四射五月天| 超碰成人公开| 亚洲在线网站| 五月丁香A片| 欧美激情综合| 亚洲中文字幕在线观看| 欧美性生交XXXXX无码小说 | 真实熟女-91九色| 综合久久婷婷| 久久婷婷五月天| 欧美久久婷婷| 26uuu亚洲| 五月天播播中文字幕 | 欧美大片| 亚洲99精品九九在线| 九九热视频在线观看| 综合性爱网| 欧美日韩一区二区三区四区| 五月丁香影院| 4399成人黄A片| 91日日日| 婷婷成人视频| 久久婷婷五月天激情新地址| 丁香婷婷综合影院| 色色色地址| 九九热青青草| 久久99精品九九久久久婷婷| 丁香五月 综合| 日本三级黄色大片| 五月天播播综合| 热99国产精品| 九月婷婷综合八月丁香在线观看| www,五月天激情| 狠狠干激情五月| 天天cha成人综合网| 丁香五月激情站| 狠狠色丁婷婷日日,伊人激情综合网 | 精品视频99看在线视频| 丁香婷婷六月激情综合| 色五月天在线观看| 色五月婷婷丁香五月| 五月丁香亚洲综合| 少妇人妻人伦A片| 丁香六月天| 午夜成人片400| 日本人妻伦在线中文字幕| 99精品成人无码A片观看金桔| 色丁香五月婷婷| 婷婷久久综合久| 极品少妇XXXX精品少妇偷拍| 亚洲人成网站999综合| 丁香五月婷婷www..com| 婷婷五月丁香av网站| 九九这里只有精品在线视频| 人人做人人看人人摸| 国产成人99久久亚洲综合精品| 亚洲综合婷婷五月| 9久久久久久久久久久| 色优久久| 综合久久首页| 精品国产va久久久久| 日本在线视频手机播放五月婷| 日韩欧美四五区| 激情五月天免费视频| 狠狠草在线观看| 99久久久久久www| 激情综合网五月婷婷| 国产毛片欧美毛片久久久| 九九热青青草| 欧美激情丁香五月天久久婷婷一区| 天天天摸夜夜夜玩| 九九这里有精品| A片天天| 国产97色在线 | 日韩| 九九人人操| 丁香婷婷久久激情| 日韩AV大全| 五月婷婷综合网| 婷婷五月综合网激情| 99爽视频| 五月丁香成人小说| 91丨九色丨首页| 99碰视频| 天天日日夜夜爽。| 精品香蕉99久久久久网站| 我想看国产大学生口爆吞精的视频| 日本久热| A在线观看| 色五月激情五月| 9九色首页| 久久99热这里只有精品23| 色五月色五天免费视频| 天堂美国久久| 深爱激情四射| 国产肥白大熟妇BBBB视频 | 丁香婷婷成人在线播放| 亚洲妇女熟BBW| 大香蕉网站,大香蕉综合| 丁香婷婷中文字幕| 日本一级淫| www色婷婷| 99热这里只有免费精品| av免费在线观看0| 这里只有精品,日韩视频| 成人开心五月天| 亚洲精品久久久无码| 五月丁香婷草| 99自拍视频在线| 六月丁香婷婷大香蕉| 色青青视频| 男女99免费视频| 91色欲综合| 99re在线观看视频| 丁香五月婷婷色综合| 激情丁香五月天综合| www.黄色片-久久成人国产精品在线播放-999AV | 人人操9| 青青草搞屄视频网站| 9久精品视频| 香蕉国产2013| 97精品综合| www.99视频| 激情婷婷丁香五月天| 五月激情婷婷偷拍| 天天干天天干天天| www.91在线观看| 天天肏天天肏天天肏| 久久五月婷婷视频| 婷婷五月天丁香花| 婷婷深爱五月天在线| 色婷网| site:901-07.com| 五月丁香网站| 天天射夜夜骑| 热日韩欧美| 亚洲色模骚货| 激情五月天综合网| 五月婷婷综合网| 亚洲婷婷五月天在线激情综合网| 婷婷五月天伊人| 婷婷狠狠久久| 肏日网在线看| 99热老网站| 国产 亚洲 在线| 91久久久久久| 99久久久精品| 深情六月婷婷综合久久| 久操乱| 色五狠狠| 另类A片| 丁香五月欧美| 思思re99视频在线观看| 激情五月天婷婷| 日日夜夜干| 亚洲色色色色| 五月婷婷欧美| 日韩人妻在线播放| 99热这里只有精品3| 婷婷五月天色综合翘| 91聚色综合网| 日本天天操| 婷婷色五月情| 五月色在线| 五月激情综合网婷婷| 99热这里只有精品热| 超碰av天堂| 五月天婷婷成人网| 丁香五月天之婷婷影院| 欧美黑人巨大猛烈cuckold| 99天堂在线观看免费视频| 强伦轩人妻一区二区电影| 婷婷97碰碰| 国产日比| 激情五月婷| 色婷婷五月丁香在线观看| 色吧网综合| 亚洲无码11| 99re这里只有精品视频6| 日本网站久久| 狠狠精品干练久久久无码中文字幕| 五月丁香六月婷婷亚洲综合| 五月丁香六月婷婷综合免| 天天艹| 丁香九月激情| 九九色婷婷| 久狠日av| 婷婷激情欧美| 五月天成人在线视频丁香| 婷婷中文网站| 国产婷婷色综合AV蜜臀AV | 天天做夜夜爽| 婷婷五月骚厕所| 97操碰| 丁香六月婷婷开心婷婷网| 综合色99| 成人av播放| 婷婷激情六月天视频| 玖玖综合网| 91高潮喷水久久久久久久久| 97碰碰久久| 婷婷五月天开心网| 五月丁香狠狠爱| 国产26uuu| 夜夜夜叫天天天做| 狠狠色狠狠鲁| 婷婷五月天激情综合| 亚洲 视频 导航 一区| 婷婷丁香五月社区亚洲| 蜜乳久AV| 成人做爰高潮A片免费视频| 91ncm视频| 久久性爱视频久久性爱视频| 丁香五月综合在线播放 | 激情五月天情色| 大香蕉啪啪啪| 可以免费观看的AV| 亚洲另类在线观看| 免看黄大片AA | 激情五月小说婷婷| 69精品人人人人| 欧美一级色| 丁香激情五月| 91人妻人人做人碰人人爽九色| 天天草天天摸| 久久视频婷婷| 色色色免费视频| 色婷五月| AA丁香综合激情| 日狠狠| 91精品综合久久久久久五月丁香| 99久超碰| 久久99精品视频| 激情综合网五月激情| 五月丁香婷婷综合久久| 久久激情视频| 少妇2做爰HD韩国电影| 亚洲中文字幕网| 99热只有| 亚洲激情四射色| 久久婷婷七月丁香| 丁香五月黄色| 无码九九| 岛国av电影网站| 综合激情深爱| 91肏| 99久久国产宗和精品1上映| 97精品人人A片免费看| 亚洲成av人影院| 丰满少妇猛烈A片免费看观看| 怡红院AV亚洲一区二区三区H| 亚洲国产精品VA在线看黑人| 99干在线视频| 99综合视频| 婷婷在线播放av| 另类图片五月天婷婷| 热久久视频99| 亚洲成人免费电影| 伊人狼人干| 婷婷五月,偷窥偷拍网| 婷婷六月视频| 欧美美女国产日韩一区二区久| 色的色综合| 这里只有精彩亚洲视频推荐| 综合五月婷婷| 色玖玖网| 久久色五月| 天天爽日日爽夜夜爽| 久色五月丁香视频| 色色色综合| 天天操天天国产三级片处女学生妹| 九九九九九九综合| 678五月丁香亚洲综合| 婷婷开心激情五月激情网| 99精品视频在线观看| 狠狠干五月天| 婷婷色情五月| 丁香五月婷婷激情视频播放| 深夜男女福利刺激影院一区完整| 国产干逼片| 精品成人久久久久久久_一二三四视| 五月丁香久久精品在线观看| 这里只有精品视频免费在线观看| 香蕉AV777XXX色综合一区| 99资源人人| 久er免费视频| 任你爽精品免费视频6| 爽tv | 久久视频婷婷| 婷婷天天色| 天天综合色| 五月丁香婷婷啪啪网| 人人干天天舔| 91九色首页| 9999热精品| 五婷婷六月合| 99操视频| 激情五月天黄色小说| 综合网亚洲| 欧美性猛交AAAA片黑人 | av激情在线| 亚洲丁香网| 婷婷深爱五月| 色五月天丁香| 91久久| 永久热91| 思思热99热| 日韩AV中文在线观看| 激情五月丁香五月| 97在线视频观看| 综合伊人久久| 人人视频人人干人人做| 九九视频在线观看视频在线播放69| site:901-07.com| 99九九在线精品热动漫| 26uuu偷拍亚洲欧洲综合| 米奇影视资源婷婷狠狠色激情欧美五月丁香 | 日日操,天天操| www九九热| 1024日韩| XX色综合| 99热这只有| 黄色成人网站在线播放| 色呦呦美女| 激情深爱五月天| 久久婷婷艹| 天天综合网亚洲综合网| 婷婷不卡基地| 日韩AAAAA| 日本英国美国欧美亚洲国产精亚洲日韩精品在线观看 | 亚洲热综合| 亚洲天堂啪啪| 99热最新| 99热偷拍| 五月激情小说| 99色1| 精品一二三区久久AAA片| 一區四區歐美日韓| 99re6在线视频精品免费| 六月丁香基地| 婷婷五月天VI| 色五月综合在线| 九伊人网| 精品人妻一区二区三区四区不卡在| 九九热黄色| 天天影院色| 千人斩操逼| 激情五月丁香五月色| 怡红院精品视频久久久久久久久| 东京热人妻一区二区三区在线| 六月婷婷在线视频| 色99视频| 婷婷五月天桃花网| 亚洲六月婷婷| 五月天婷婷黄色视频| 精品一二三区久久AAA片| 婷婷五月天影视| 日本性视频| 狠狠高潮精品亚洲1| 一起草无码| 99热网站| 久久aaaa片一区二区| 婷婷色六月| 色五月首页| 色色色精品无码区| 色天堂操| www.久久久.com| 99热最新地址在线| 99精品手机在线视频| 来吧亚洲综合网| 9色在线| 国产伦亲子伦亲子视频观看| 天天综合五月天| 69热在线| 婷婷五月天首页激情| 亚洲欧美成人在线| 狠狠五月激情丁香六月| www,8050,午夜三级| 狠狠婷婷色| www婷婷| 久久这里只有国产| 国内久久久精品99| 超碰狠狠干99| 亚洲色啪| 婷婷社区五月天| 久久这里都是精品免费| 婷婷欧美激情| 六月婷婷综合网2| 亚洲婷婷基地| 中文乱子伦视频| 九九国产视频| 婷婷色五月天色色| 天天插操| 亚洲视频在线观看| 日本久久高清| 色综合天天| 天天人人天天爽| 色婷婷丁香综合中文字幕| 婷婷热色| 色婷婷久久9.com| 色色无码| 午夜天堂一区人妻| 欧美激情综合色综合啪啪五月| 另类激情五月在线视频欧美| 丁香五月天成人| 安息电影在线观看完整版| WWW、99热| 五月婷婷啪啪| 99久久这里只有精品| 色噜噜狠噜噜视频| 激情综合五月婷婷六月丁香| 夜夜做天天爽| 婷婷 激情 五月| 91久久久久久久久久久| 日本啪啪网| 97大香蕉五月天| 亚韩在线视频| 婷婷丁香九月| 99精品一二三四视频| 97色色色色色| 丁香久久| 五月婷婷亚洲色视频| 五月婷婷狠狠干| 五月丁香六月婷婷综合免| 97人人操人人爽| 久青操| 久久综合色情网站| 欧洲精品爱爱| 九九99九九99| 99色在线观看| 婷丁五月| 亚洲网站在线鸭子av| 另类视频综合| 掩去也综合五月视频| 五月久久婷婷天堂视频| 婷婷在线综合| 欧美精品999| 色婷婷综合视频| 丁香六月 婷婷六月| 中文无码精品一区二区三区| 日日夜夜天天综合| 五月婷婷大香蕉| 婷婷五月天久久久| 99riAV成人在线视频| 色欲色香综合网站| 天天久久66xxx| 日批在线看| www激情婷婷com| 色婷婷A| 天天干天天干天天操| 开心五月色婷婷综合开心网| 久久99免费视频| 五月停停色色丁香| 色婷婷九月综合| 操一操干一干| 色五月综合| 97色一二三| 超碰91人人操| 婷婷丁香五月噜噜噜| 天天舔天天爽| 国产午夜精品一区二区三区四区| 丁香色五月AV在线| 这里只有精品,日韩视频| 少妇人妻综合色6699| 99玖玖免费视频| 亚洲妇女熟BBW| 超碰9在| AAAA亚洲| 东京热伊人| 激情玖玖sh| 99热1| 青青草婷婷综合五月| 日本久久精品18| 亚洲无AV在线中文字幕| 久久婷婷啪啪视频| 色爱亚洲| 婷婷狠狠综合网入口| 日本一级| 五月婷婷六月丁香色| 99精品综合视频| 99色免费| 五月婷婷自拍视频| 国产激情久久久| 色五月天丁香婷婷色| 五月丁香久久久日婷婷久久婷婷日| 无套内射极品大美女| 五月天综合网| 欧美日韩999| 色久丁香五| 亚洲无AV在线中文字幕| WWW,五月天| 亚洲色频| 1024在线视频| 五月天婷婷五月| www.99在线| AV网站免费在线| 亚洲99精品欧美一区| 国产精品日本一区二区在线播放| 欧韩性爱| 六月婷婷中文字幕| 五月婷婷激情综合| 久久精品4| 久久婷婷东京热大香樵| 天天夜夜操| 亚洲亚洲人成综合网络| 日韩激情婷婷五月天| 婷婷五月天色色| 五月丁香久人妻中文| 激情色色色| 日本三级第一页| 99性爱无码| 激情又色又爽又黄的A片| 色五月综合网| 99热这里只有精品在线观看| 性爱先锋AV| 91精品久久久久久| 看婷婷五月天网| 淫视馆aV二区一区| 秋霞免费三级片| 日本超碰在线| 欧美极品999| 91精品综合久久久久久五月丁香| 婷婷亚洲色| 久热99| 五月丁香啪| 99免费| 天天骑日日爽| 亚洲妇女熟BBW| 激情五月综合免费| 丁香五月婷婷社区| 日本色色视频| 婷婷五月丁香花综合| 久99久99精品免| 亭亭五月天成人| 国外亚洲成AV人片在线观看| 亚洲精品性色| 免费成人中文字幕| 99无码超碰| 91久久婷婷| 国产激情综合五月久久| 色婷婷影音| 亚洲AV成人在线观看| 婷婷色五月在线视频| 中文字幕日韩成人| 97在线精品| 色五月五月天| 97日在线视频| 日日干日日| 99热这里只有精品69| 无毒黄色网址| 伊人久久五月天| 26uuu四色| 日本色99网站| 超碰色综合| 六月色伊人婷婷| 爱穴久久| 91色久| 激情伊人五月婷婷久久| 伊人玖玖婷婷| 91精品国产色猫| 精品色色色| 五月婷婷之综合激情| 男女99免费视频| 国模狼狼| 婷婷五月丁香久久| 思思99热这里只有精品| 蜜桃人妻无码AV天堂三区| 国产色五月婷婷| 欧美啪啪五月天| 五月丁香六月欧美综合网站| 婷婷五亚洲| 99九色视频在线观看| 无码人妻AV久久久一区二区三区| 天天爽天天| 五月婷色| 中文字幕人妻AV| 丁香五月手机在线| 狠狠色综合五月| 丁香大香蕉| 婷婷5月久久综合网站| 一区二区成人电影| 亚洲视频久久| 99无码| 人。妻久久| 99热最新| 青996青| 久久久久久久人妻| 99干视频| 激情五月天婷婷丁香| 99er这里只有精品视频| 五月婷久久草| 香蕉99网| 中文字幕日本最新乱码视频| 天天噜噜| 色综合大香蕉| 九九热视| 日日夜夜天天爽| 人人爱干人人爱草| 九九热黄色| 香蕉乱插| 人人97操| 九月停停| 久久综合66| 97五月天| 九九色逼| 五月婷婷啪啪| 超碰人人操人人干| 天天综合五月| 久久五月丁香| 久久婷婷六月综合综合色| wwwxxx五月婷婷小说| 成人深爱丁香五月| site:hcxsz888.com| 91黄址| 色色九九五月天 | 日日色综合| 亚洲精品国产精品乱码不99| 丁香婷五月| 天天色五月| 电影爱拉战争免费观看| 激情综合自拍五月婷婷色五月| 久久在这里99| 久久9视频欧美| www999日韩精品| 久色激情| 综激情网| 五月婷婷xxx| 99精品久久久久久久婷婷| 九九热大香蕉| 九九热AV| 小视频aaa久久久| 婷婷色色综合激情| 丁香婷停五月激情综合深爱| 性爱电影科技贸易有限公司| 玖久精品视频9| 99热777| 岛国AV网站| 日韩精品二三区| 国产婷婷五月在线视频| 亚洲人妻电影| 成人电影一区| 99热这里只有精品8| 亚洲最大成人综合网720P| 色五月亚洲| 丁香9月婷婷| 久草五月天| 狠狠色噜噜狠狠狠狠综合| 日韩啪啪视频| 天天拍夜夜爽日日| www.99热这里只有精品| www.91.com黄| 国产精品99久久久久久久女警| 狠狠CAO日日穞夜夜穞AV| 婷婷综合九色伊人| 激情五月婷婷视频一区二区三区| 久操热线| 99精品无码网站| 五月丁香成人视频| 五月丁香婷婷色| 国产人妻人伦精品一区二区| 色婷婷色和| 综合色五月| 六月丁香婷婷天堂| 丁香五月天激情综合| 激情伊人五月天| 九九一区| 亚洲av网站在线观看| 色亚洲视频| 日欧大屏操| 九九在线视频| 任你搞在线观看视频| 超碰91在线| 能直接看的AV网站| 91狠狠综合久久| 夜色五月天| 天天搡日日搡aaaaⅩ| hd五月婷婷在线| 五月婷婷成人| 日韩无码AV电影网站| 成人免费在线电影| Va另类视频| 人人澡玖玖一| 91高潮喷水久久久久久久久 | 婷婷天堂综合网| 一本久道综合色婷婷五月| 插插五月天| 婷婷丁香成人| 九九精品re免费视频| 欧日美女Va| 亚洲综合色网| 五月婷婷av在线| 99热久| 激情五月天在线免费美女视频| 极品少妇高潮啪啪AV无码| 六月婷婷九月丁香| 五月之婷婷| 亚洲欧洲另类| 色色色色色色色色五月先| 五月天俺去也| 99国产精品白浆在线观看免费| 操B五月天| 色五月天在线观看| 精品视频二级九九| 婷婷 激情 五月| 婷婷综合五月| 五月丁香婷婷综合视频| 婷婷五月激情天| seav天堂| 五月婷婷熟女| 日本三级中国三级99人妇网站| 久久性刺激| 青青草激情网| 丁香五月 性爱| 久久 这里只有精品1| 99热| 无码九九| 久久99网| 婷婷激情小说网| 色五月综合| 五月天婷婷綜合院| 久久亚洲无码| 五月丁香婷婷婷激情爱爱| 99在线精品视频免费观看20| 老师高潮流白浆喷水的A片| 好吊丝aV| 丰满少妇乱A片无码| 五月婷婷色综图片| 国产精品18久久久| 另类图片五月天婷婷| 婷婷精品视频| jiujiu无码五区| 大香蕉综合网| 五月婷庭丁香在线| 色婷婷呢狠禁久禁| 激情五月天色婷婷综合| 人碰人人人玩91| 伊人午夜综合色啪| 激情婷婷护士激情| 色五月婷婷很很操| 日本97在线| 婷婷五月综合社区| 久激情网| 六月激情婷婷| 丁香五月狠狠综合欧美| 五月天激情美女久久| 人妻精品久久久久久久| 丁香六月激情国产| 六月色婷婷| 99自拍视频网站| 夜夜谢天天干| 热久久66| 亚洲成人中文字幕| 国产9色在线/日韩| 丁香六月婷婷一区| 变态 另类 在线 | 色五月成人| 性色人人爽| 五月综合激情| 午夜丁香五月天综合| 天天网曰日曰夜夜综合永久免费| 99这里热| 日韩婷婷五月| 五月婷婷 激情按摩| 婷婷开心激情| 九月丁香婷婷| 五月天综合在线网| 久久久久人妻| 色婷婷狠狠干| 九九久久偷拍| 久久婷婷色| 97涩涩丁香五月天| 激情五月丁香色色去久久| 丁香婷婷久久| 色情五月天A片| 91免费看片| 婷婷丁香社区| 婷婷在线播放| 婷婷在线操| 91 九色 入口| 婷婷性爱| 日本色婷婷| www.99热国产| 欧美色色色色色色| 无码少妇高潮喷水A片免费| 欧美激情综合五月色丁香| www.99久| 操逼综合激情网| www.久久| 五月激情婷婷在线| 五月婷婷五月天激情视频| 国产亚洲成人综合| 99久热| 直接看的AV| 噜综合| 五月天婷婷色色首页| 日韩人妻无码专区| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 亚洲熟妇无码乱子AV电影| 草美女在线观看视频在线播放| 丁香五月婷婷亚洲激情四射| 六月丁香啪啪啪| 午夜成人综合| 九九热视频思思| 深爱婷婷基地| 先锋资源婷婷| av操B网站| 婷婷久草| www久久99| 久久狠狠干| 婷婷操逼网| 91婷婷丁香五月天免费视频网站| 色九月综合网| 教师性爱毛片| 欧美在线视频99| 日韩成人中文字幕| 夜夜夜夜撸夜夜操| 热99re| 成人深爱丁香五月| 亚洲激情av| 9999热在线免费观看| 久久九九思思| 丰满少妇猛烈A片免费看观看| 热九九精品| 婷婷六月色开 | 开心色五月天久久久久久久| 婷婷丁香五月天色区| 99热思思久| 99久久综合网| 日韩不卡DvD| 五月天社区婷婷丁香社区| 香蕉五月婷婷| 色情婷婷久久五月天| 色婷婷呢狠禁久禁| 99ER热精品视频| 欧美大肥婆大肥BBBBB| 九九99久久| 九九AV| 91精品久久久久| 婷婷精品在线| 五月婷婷亚洲| 久久久久久激情| 91碰超| 亚洲一区二区无遮挡A片| 99热综合网| 综合久久99| 丁香五月偷拍| 久久9热| 另类图片激情五月| 97精品在线| 另类图片色五月| 婷婷久月| 五月天婷婷久久| 色情五月婷婷| 日本不卡一区二区三区| 国产看真人毛片爱做A片| 男人操女人高潮91视频| 八戒青柠影视剧在线观看| 大地9中文在线观看免费高清 | 超碰人人摸AV| 亚洲婷婷丁香五月| 99ri视频在线播放| 最新久久网址| 婷婷丁香色五月亚洲| 五月婷婷激情四季| 婷婷五月天影视网址| 天天 青草 丝袜制服 在线| 久久96热| 天天色噜| 天天色播| 亚洲V国产V欧美V久久久久久| 香蕉久久国产AV一区二区| 波多婷婷久久| 丁香五月综合久久综合| 婷婷五月激情网| 人人爱天天摸摸天天爱| 久久久人妻门| 狠狠99| 久久99网| 亚洲激情四射色| 97婷婷五月激情六月丁香伊人| 大香蕉五月天婷婷丁香91| www.激情五月天。com| 激情开心五月婷婷| 中文乱子伦视频| 色婷婷久久综合| 三人荫蒂添的好舒服A片| 色九月综合| 亚洲综合五月天婷婷丁香| 99r这里只有精品哦| 成人电影丁香六月天| 欧美啪啪9| 色色99| 亚州婷婷五月激情综合| 99re6热在线精品视频播放速度| AV 3P| 97色色网| 校花娇喘呻吟校长陈若雪视频| 色婷婷久久7777| 99er6免费视频热播| 天天天日天天天干| 激情五月天视频| 欧美综合激情| 婷婷永久在线| www.激情五月天| 婷婷色色五月天| 婷婷五月天丁香综合网| 色色色色综合网| 亚洲国产精品综合色区| 97人人干人人操| 天天日天天久久青青| 永久免费视频| 99热日韩| 99精品热| 精品女人九九九| 久久久区区一久久久久久| 久99久在线| 99精品手机在线视频| 性日本激情| 丁香五月在线播放| 人妻丰满精品一区二区A片| 亚洲熟女色| 五月婷婷网站| 欧美精品XXXXBBBB| 五月婷婷色影院| a久久免费视频| 欧美色五月| 五月天丁香综合| 99热无码首页| 国产精品18久久久| 俺也去婷婷五月天第五色| 深爱婷婷网| 大香蕉久久综合网| 99热20| 综合色色网| 91视频综合网| 五月天婷网| 久久精品国产AV一区二区三区 | 久久久激情| AV无码免费| 久久人妻在线| 日本熟妇乱妇熟色A片蜜桃| 色综合久| 99九九在线精品热动漫| 99热在线看| 伊人五月成人| 久久综合五月天激情小说网站 | 五月天婷基地| 久久五月婷| 婷婷综合在线播放| 综合网五月| 啪啪九九色| 国色天香伊人狠狠色| 五月花婷婷| 97亚洲色 torrent magnet| www.激情| 91热久久| 色五月综合激情| 9精品视频在线观看| 色色色综合网| 久9精品| 26uuu欧美| 神马欧美精| 丁香婷婷九月| 99热日| 激情综合99| 91九色无码日韩 | 亚洲五月天激情| 久久色五月天| 开心五月激情网| 色情·com| 八戒青柠影视剧在线观看| 99热6这里只有精品6| 丁香六月婷婷综合| 五月激情丁香五月宗合| 风流少妇A片一区二区蜜桃 | 99免费在线| 黄色一极大片| 天天搞天天色综合| 青青草原亚洲天堂| 91精品综合久久久久久五月丁香| 婷婷五月激情网站| 丁香五月色| 天插天啪天啪天啪| 亚洲天堂制| 天天色视频| 五月丁香操婷逼| 99精品综合| 五月天成人网婷婷| 超级碰 久久9| 色欲午夜无码久久久久久张津瑜| 色久女| 99色| 久8色色| 婷婷网影院| 26uuu成人网| 亚洲九九九九| 青青操日本摸摸看看| 激情五月天天狠狠久久| 色播综合| 欧美性生交XXXXX无码小说| 拳交大逼| 日韩成人中文字幕| 亚洲人妻av伦理| 婷婷五月激情视频| 99热碰碰热| 免费无码毛片一区二区A片| 99热99热在线| 六月色色| 九九九九九九九九九九九九九九九九九九九在线视频 | 丁香婷婷六月天| 吾爱AV导航| 囯产精品久久欠久久久久久九大| 激情五月婷婷综合网| 婷婷五月天午夜激情影院| 熟女激情五月天| 婷婷五月天电影在线| 五月婷在线影院| 久久精品99国产精品日本| 青青草成人网| 色七色九九| 亚洲第一影院高清无码网站| 97色色色色色| 激情五月天色婷婷| 国产激情综合五月久久| 国产精品成av人在线视午夜片| av色婷婷| 色婷五月| 日本色频| 丁香社92视频| 丁香六月婷婷综合| 婷婷五月天成人网| 亚州视频九九99| 曰曰久久| 综合久久五月| 91超级碰碰| 99这里有精品视频| 激情www.98com| 亚洲中文字幕av| 激情超碰网| 99热精品在线| 色狠狠999综合| 俺去也在线www色官网| 六月婷婷综合| 玖色色综合| 国产精品激情AV久久久青桔| 婷婷五月天黄色| 色色综合网络| ji'qing'luan'ren'lun| 久久久18| 丁香五月婷婷99| 婷婷五月色综合香五月| 天天日天天爽| 庭庭久久内射| 无套内射极品大美女| 五月丁香六月婷婷手机无线| 在线观看熟女少妇| 色色色婷婷五月天| 婷婷亚洲久久| 任我肏视频精品| 99婷婷精品推荐在线视频| 天天插天天爽| 9久国产精品| 天天爱天天操| 激情五月综合网最新| 人人干人人操人人摸人人做| 狠狠色婷婷在线| 天堂久久精品| 亚洲网站999| 碰碰操91| 天天网曰日曰夜夜综合永久免费| 色吧婷婷五月亚洲| 天天操夜夜操| 五月丁香啪啪啪| 色五月天电影| 久久曰曰| 99爱爱| 九九综合精品| 久月婷婷| 色播婷婷五月天| 91人人网| 黄色五月婷婷| 久久婷婷婷| 99日在线视频| 久久9视频欧美| 激情综合区| www.丁香五月| 91chinese在线| 亚洲激情网| 俺去也综合| 婷婷六月天| 亚洲成人在线播放| 亚洲精品国产熟女久久久| 99激情| 丰满少妇猛烈A片免费看观看| 成人综合网站| 精品成人在线| 欧美日韩一区二区三区四区| 啪啪啪丁香五月| 人妻在线网站| 六月婷欧美| Av大香蕉| 99色这里| 九九久久99| 婷婷五月图片小说视频| 97色色在线视频| 丁香五月天婷婷激情| 九九99热| 五月色影院| 国外亚洲成AV人片在线观看| 久草丁香婷婷1024| 五月婷色丁香| 久久九九玖玖| 久青青久| 亚洲激情区| 五月天亚洲综合网| 婷香五月| 农村熟妇高潮精品A片| 真实的国产乱XXXX在线91| 激情五月天第四色| 蜜桃成语时李时珍 免费| 五月婷婷丁香六月| 91精品久久久久久| 五月婷在线| 国av网| 狼友超碰| 五月激情六月| 就爱射中文字幕资源网| 婷婷色导航| 久久综合五月天| 91919191919久久成人视频| 久久亭亭电影| 九九热av| 狠狠操在线视频| 婷婷五月天基地| 色婷五月| 丁香五月 激情文学| 大香蕉婷婷丁香天堂AV| 激情五月综合色婷婷| 久色资源| 色狠狠综合| 99久久婷婷五月| 欧美噜噜噜草| 这里只有精品在线免费视频| 9热视频在线观看| 熟女人妻视频| 夜夜大香蕉婷婷丁香| 婷婷在线五月天观看| 思思久久精品| 婷婷五月天丁香| 热婷婷在线视频| www久久五月com| 九九色热| 人妻丰满精品一区二区A片| www.99精品视频| 五月综合在线婷婷图片| 97亚洲婷婷| 婷婷无五月无码视频| 国产91视频| 亚洲色模骚货| www.99视频| 五月天停停日日| 五月丁香五月天现场视频| 91婷婷丁香| 亚洲天堂碰碰婷婷| 日韩一66精品| 99精品视频偷拍| 大大香蕉综合在线| 亚洲天堂亚洲色色色| 97热这里精品在线视频| 五月丁香婷婷欧美色图视频五月丁香777电影 | 丁香五月久久| 99热1| 色情五月停停丁香| 中文字幕无码人妻少妇免费视频| WWW,五月| 99久久玖玖| 国产精品扒开腿做爽爽爽A片唱戏| 一区二区免费看| 日屌日日操日日色| 国产黄大片在线观看画质优化| 狠狠综合久久| 亚洲综合另类| 91seAV| 蜜臀嫩草| 欧美69久成人做爰视频| 人妻性爱av网站| 免费亚洲婷婷中文字幕| 色婷av| 99精品小视频| 热99玖玖99玖玖99九九| 激情五月综合免费| www.色婷婷| 91日韩在线| 99在线69| 成人网站免费在线播放| 九九这里有精品| ou洲色吧| 日本操逼九九九九58日本操逼| 丁香网五月天| 丁香激情合作五月| 午夜婷婷| 琪琪理论片| 超碰久热| 777久久综合视频| 在线99热| 再綫Av免费視品| 97精品综合久久| 婷婷五月丁香六月伊人网| 九热视频| 丁香六月婷婷综合激情欧美| 偷拍五月丁香| 九九99在线观看视频| 激情五月天婷婷五月天| 天天爽夜夜爽夜夜爽精品| 婷婷综合激情| 777色婷婷爱五月| 日本综合久久| 五月天色官网| 五月婷婷 激情按摩| 丁香美女主播视频在线观看|