免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

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
返回資訊列表
精品久久久久成人码免费动漫| 丁香五月影院| 激情五月丁香综合蜜桃| 狠干综合| 91热在线| 九九在线这里只有精品视频| 亚洲小视频免费看| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 五月婷婷免费视频| 97操视频| www...com黄在线观看| 91久久婷婷人人澡草 | 婷婷色色欧美| 韩国97天堂| 99久久婷婷国产综合| 五月天婷婷青青| 97婷婷狠狠久久综合9色| 色五月欧美| 激情综合色网| 光棍影院日韩精品| 97涩婷婷| 国产性爱大片久久| 亚洲日韩乱码一区二区三区四区| 亚洲99热| 久久资源网五月婷| 五月婷婷视频| 婷婷丁香在线播放| 天天开心AV色综合婷婷五月天| 欧美啪啪9| 99精彩视频网站在线| 久久久人妻| VA国产在线综合网站| 熟女啪啪视频| 久久jiuwww| 亚洲激情四射色| 26uuu日韩| 天天日天天爽夜夜爽| 日韩激情婷婷五月天| 日本久久99久久| 小香蕉av| 99热有精品在线观看| 天天玩夜夜操| 公的粗大挺进了我的密道| 丁香五月亚综合图片| 26uuu.| 99自拍视频在线观看| 4399无码视频二区| 中文字幕91,综合| 婷婷玖玖丁香| 中文字幕九九九九| 伊人玖玖婷婷| 超碰在线视屏| 久久久人妻不卡| 五月天婷婷情色| 九九精品re免费视频| 9久热精品在线视频| 91精品综合久久久久久五月丁香| 99热日韩| 99ri国产在线| 天天插天天射| 中文字幕永久在线| 亚洲精品V天堂中文字幕| 激情丁香五月| 国产毛片精品一区二区色欲黄A片| 五月天综合激情网| 五月天亚洲综合网| 亚洲网站999| 激情五婷网| 久久五月婷婷开心网| 婷婷五月大| 91ncm视频| 婷婷久久影院| 天天干,天天操,天天射| 91精品91久久久中77777久久玖玖九九| 99久高清视频| 久久五月丁香婷婷| 日韩婷婷五月天| 九九九成人在线视频| 日日干综合| 梁铮版《蜘蛛女侠》在线| 99色这里| 99热12| 激情综合丁| 婷婷综合色五月天| 久久综合干| VA色婷婷| 国内精品免费一区二区2009| 9视频1在线| 九月大香蕉| 亚洲视频码| 激情综合网激情五月俺也去| 操逼综合网| 天综合日日夜综合7799| 婷婷激情伍月网| 九九热在线观看6| 色婷婷黄色网络| 五月婷婷久久激情| AV成人在线播放| 99热手机在线精品| 久久天堂色| 欧洲一区二区| 久久这里只有精品1| 巴基斯坦粉嫩无码视频| 婷婷五月在线影院| 天花AV无码| 超碰在线99热| 常久最新免费的色吊丝| 91久久99久久91熟女精品| 日韩黄色影院| 色愛综合网| 色情免费视频播放| 婷婷视频网| 天天肏天天舔AV| 日韩人妻无码精品| 色在线视频网2025| 狠狠色色| 婷婷丁香97| 色小说婷婷五月天天天| 婷婷精品视频| 婷婷五月天AV在| 看婷婷五月天网| 天天操夜夜肏| 777影视理论片大全在线观看 | 亚韩在线视频| 99久久高清视频| 日韩啪啪网| 色婷婷丁香五月色综合网| www.精品99| 丁香网五月天| 亚洲丁香五月天在线视频| 久久精品人妻| 国产中文字幕在线视频免费观看 | 日韩av免费版| 婷婷六月丁香色| 九九综合色综合| 成人在线二区| 五月婷婷五月天天| 中文字幕日产A片在线看| 中文字幕不卡视频| 天天噜噜| 超碰在线观看成人视| 内射丰满人妻| 丁香五月五月婷婷欧美大香蕉| 九九色院| 日本啪啪网| 亚洲精品九九| 久久国产色| 五月天电影网| 天天干、天天日日| 色色色com| 日韩五月天婷婷| 亚洲精品99| 丁香久久九九99| 99久久综合网| 国产精品成人网址| 丁香婷婷视频| 丁香婷婷婷五月综合色情| 性生活久久人妻| 青柠影视免费高清电视剧| 激情六月下句是什么| 五月婷婷啪啪啪| 国产资源在线视频| www色五月| 大香AV| 99热在线看| 国产精品成人网址| 丁香五月六月婷婷怡红院| 国产亚洲精品久久久久久郑州| 五月天激情四射| 国产成人网站在线观看| 久青青久| 91干婷婷| 99九九视频| 婷婷五月天午夜激情影院| 夜丁香五月婷婷| 久久电影五月天丁香电影| 五月天激情.com| 人与禽A片啪啪| 日本精品。999| 少妇人妻人伦A片| 五月丁香久久综合| 五月天婷婷Av| 婷婷97碰碰| 九艹在线| 最近免费中文字幕大全高清大全1 色狠狠色噜噜AV天堂五区 | 综合激情五月丁香| 99热12| 99精彩视频在线观看| 91色情播放| 丁香五月黄色| 日日夜夜狠狠| 99这里| 久久与婷婷| 婷婷亚洲天堂| 激情 婷婷 插| 精品在线网站| 国产一级黄色影片,| 人人人人人人人草| 狠狠综合久久| 九九久99免费视频| 天天做夜夜爽| 夜夜骑夜夜撸| 五月婷婷综合激情| 超碰资源在线| 久久艹 五月天| 五月丁香婷婷成人综合网| 日韩av网站在线观看| 性爱综合网| 日韩六十路91性交电影| 丁香激情网| 99精品视频在线观看| 九九精品视频在线观看| 丁香香五月激情免费视频| 好吊兆人妻| www.精品99| 五月婷婷亚洲综合网| www.久久色.com| 97干欧美| 日韩五月丁香| 国产日日夜夜操| www.无码com| 九九精品免费| 中文字幕av在线播放| 五月婷婷激情综合在线| 人人干女人| 欧美大肥婆大肥BBBBB| 天天婷婷| 国色天香伊人狠狠色| 天天搡日日搡aaaaⅩ| 成人美女网| 婷婷五月天AV在线| 九九热在线99| 五月婷婷我| 色优久久| 久久人人看| AV网址大全在| www.99色在线| 大地资源色婷婷视频在线 | 99婷婷| 99热这里只有精彩| 婷婷五月中文字幕国产| 婷婷丁香一月| 婷丁香五月天| 国产日韩欧美性生活| 色涩影院六月丁香| 亚洲成人无码免费| 九九久99免费视频| 精品日本视频444| 另类激情中文| 激情综合五月婷婷| 亚洲成人综合在线| 丁香五月激情网| 九九成人| 色域五月婷婷丁香| 国产97色在线| 婷婷九月亚洲| 99久久久久| 久久久久丁香婷婷五月天| 丁香五月骚喷水视频| 玖热精品综合视频| 六月丁香五月婷婷首页| 久久国产性爱A V| 婷婷五月色| 久久婷婷人人| 97婷婷狠狠| 夜夜爱爱亚洲| 成人Av在线大片| 国产成人亚洲综合亚洲| 国产色网站| www91久久| 七七色综合| 欧美人人草草| 日韩欧美老妇性视频91久久久| 五月天堂色色| 六月婷婷av| 天天肏在线观看| 日韩AV中文字幕在线| 婷婷五月综合基地| 14色综合婷婷| 婷婷,五月天,丁香,第一| 婷婷99热| 人妻系列久久久久久久久久久| 丁香五月婷婷性爱| 俺去也在线www色官网| 婷婷日日天天| 激情综合网激情五月天| 日韩中文欧美| 天天揷综合网| 大香蕉人在线65| 久久色五月| 亚洲综合婷婷| 九九热短视频在线观看| 天天爽天天干| 亚洲激情四射| 一级黄色操B| 99热精品网| 小色小蛇伊人婷婷色香五月| 激情丁香婷婷六月天| 美女婷婷六月色| 五月丁香六月婷婷网站| 中文字幕婷婷| 中国女人做爰A片| www.ywav| 五月天丁香六月综合| 欧美美女国产日韩一区二区久 | 亚洲天天免费| 日本va欧美va国产激情| 五月色婷婷综合| 无码AV免费精品一区二区三区| 丁香五月天堂婷婷| 狠狠丁香| 五月花综合视频| 99在线免费视频| www.夜夜操| 九日日夜夜69| 亚洲色色在线| 丁香五月综合激情啪啪| 国产99久久久国产精品免费看| www.婷婷五月天,com| 超碰91在线| 丁香五月天五码婷婷| 五月婷婷六月丁香五月| 91精品激情9| 超碰高清在线| 夜夜骑福利资源| 亚洲成人网在线观看| 欧美性生交XXXXX无码小说| 久久久免费图片视频| 国产人妻操逼| 久久婷婷成人| 久久sp免费视频| 99热热九九| 亚洲日日日| 激情五月天综合网| 婷婷五月天色色| www.激情五月天| 99热手机在线精品| 精品网站:999WWW| 精品怡红九九九| 99久在线精品99re8| 色九四色| 亚洲日本激情| 激情综合区| 91a片爽| 五月天啪啪视频| aaa日韩| 天天插天天射| 五月丁香福利| 欧洲亚洲免费视频9| 色啪久| 这里只有精品视频视频在线观看| 成功精品影院| 大香婷婷| 五月天婷婷综合免费| 亚洲精品V天堂中文字幕| 97碰碰人人| www,天天干| 欧美色激情四射| 婷婷激情丁香五月婷婷激情丁香五月婷婷 | 婷婷综合激情| 开心婷婷五月激情网小说| 99九九热在线观看| 大香蕉九操| 色播播婷婷| 激情婷婷五月丁香啪啪啪| 色播五月婷婷综合| 色色色热| 激情五月丁香激情综合网 | 亚州第一A片| 丁香六月视频免费观看| 久久这里只有精品视频15| aaaaaa片| 色欧美一级| 丁香五月激情欧欧美| 97精品综合久久| 伊人婷婷青青cao| www久久久| 99性视频| 黄桃AV无码免费一区二区三区| 天天干,天天舔| 超碰在线看| AV在线免费播放| 色久九| 开心五月综合激情网| 久青操| 人伦30P| 九九热99视频| 日本本土色网第一区| 国产乱妇无乱码大黄AA片| 青青操avbb| 99re6在线视频精品免费| 99re在线观看视频| 狠狠狠狠狠狠草| 婷婷五月天干干| 狼人伊人干| 四月丁香五月婷婷久久| 日韩婷婷| 亚洲精品无码99热| 国产美女视频久| 麻豆雪千夏| 丁香五月影院| 丁香六月激情蜜桃| 久久综合影院| 欧美电影在线播放| 五月丁香婷婷综合网| 91婷婷色| 三级毛片视频| 亚洲 视频 导航 一区| 婷婷五月天黄色| 97香蕉碰碰人妻国产欧美| 免费试看小视频 99| 无码人妻一区二区一牛影视| 亚洲激情综合网| 色欲Av五月天| 亚洲在线播放| WWW.桔色成人.COM| h亚洲| 久久五月六月| 碰超在线九色| 亚洲激情网| 99综合激情久久精品久久| 久操干| 九九热最新| 夜夜爽天天干| 色播五月丁香婷婷| 综合色影| 色天使色综合| 91性高潮久久久久久久久| 思思久久青草热| 激情五月天色网站| 激情综合另类| 天堂成人A片永久免费网站| 免费视频无码| 性生活久久朋友人妻| 欧美久久婷婷| 成人色图情色成人网 www.5b5b5bcom 五月天 | 亚洲五月天激情| 色五月天成人| 色999;丁香五月| 人妻22p| 五六月婷婷久久| 99色天堂| 久热九九| 丁香婷婷91在线观看视频| 巴基斯坦粉嫰无码视频| 久久草人妻| www久久久久久| www.99热| 97精品综合久久| 99热精品免费| 人妻内射视频| 丁香婷婷六月在线资源观看| 99热成人精品| 婷婷久久午夜网| 色婷婷久久综| 超碰色女人| 先锋影音av色五月天资源站| 婷婷大香蕉| 色综合婷婷| 99精品性爱| 色婷婷丁香中文在线播放| www.天天干.com| 超碰在线网站| 婷久久高清| 美日韩成人| 激情综合色图| 久9热在线视频| 色综合激情| 开心五月婷婷激情网| 激情美女五月天| 99精品久久久久久久婷婷| 日韩大片艹艹| 日韩av网站在线观看| 久久艹99| 婷婷99狠狠| www.99热视频| 日韩视频99| 九九大香蕉黄色影院| 色女伊人| 九九色热| 强伦轩人妻一区二区电影| 亚州操人在线视频| 天天插天天爱| 久久人人九九| 激情五月天综合| 九九色精品| 九九色逼| 久久婷五月天| 欧美色男人网站| 日比网免费国产| 色五月婷婷在线观看第一页舔| 亚洲色久| 大香蕉婷婷婷| 六月婷婷七月丁香| 超碰免费人人| 五月丁香综合网色欲| 超碰成人电影| 婷婷五月天视| 狠狠色噜噜狠狠狠888了| 严洲天天插| 直接看的AV| 天堂五月婷婷| 国产毛片精品一区二区色欲黄A片| 久久久精品人妻| 亚洲人妻av| 亚洲中文字幕在线观看| 婷婷五月日本| 97人妻碰碰碰久| 第2色五月婷| 精品国产人人爱人人| 丁香婷婷五月天校园春色| 狠狠干天天内射| 99热九九在线| 色久女| 激情五月婷婷综合| 狠狠爱婷婷五月天| 男女99免费视频| 丁香色播五月天| 99精品免费欧美小视频 | 激情五月天开心网丁香无码| 婷婷五月花丁香| 色婷网| 草草女人亚洲| 丁香五月综合激情性爱| 天天草天天爱| 色九九九九| 婷婷五月天色色| 五月天婷婷色综合| 玖玖资源站国产| 中文字幕性爱丰满| 激情五月天综合网| 婷婷丁香综合| 成人婷婷五月天| 亚洲热久久| 99热久| 97干在线免费| henhencao国产在线| 色色色色五月| 福利视频在线播放| 婷婷涩五月| 成人精品99| 国产午夜一区二区三区| 国产精品岛国片在线观看免费| 久久只有精| 天天天操天天天日| 精品夜夜澡人妻无码AV| 丁香色色网| 五月丁香无码视频| 国产做爰视频免费播放| 亚洲午夜AV| 亚洲婷婷五月天激情| 亚洲精品久久久无码| 五月丁香琪琪| 丁香五月影院| 九九99九九精品视频| 亚洲精品乱码久久久久99| 五月天激情网站| 色综合视频在线| 久久婷婷六月| 丁香六月婷婷开心| 午夜婷婷久久| 激情五月,激情综合网| 五月婷色| 婷婷五月色播网| 五月婷婷丁香俺日污视频| 亚洲五月天激情| 乱码操操| 99久久99九九99九九九| 狠狠色噜噜狠狠狠狠综合| 色吧五月婷婷| 亚洲精品另类| 激情五月综合网最新 | 热五月婷婷| 久久a热| 丁香av网| 五月丁香在线看| 3p九色在线| 六月婷婷网站| 激情五月成年| 天天看夜夜看| 五月丁香婷婷狠狠操| 丁香婷婷六月天| 丁香五月av| 五月丁香在线视频观看| 五月天婷婷色色| site:xiongshengzz.com| 大香蕉九九| 九九婷婷综合| www.日日夜夜.com| 欧美成人无码高清一区二区三区| 亚洲va成人va成人va在线观看| 色优久久| 久色网| 激情丁香婷婷| 五月天婷婷色综合| 欧洲99视频在线| 秋霞AV淫| 激情综合网丁香| 狠狠操狠狠插| 天天艹夜夜爽| 欲色人妻| 欧洲亚洲免费视频9 | 激情深爱五月天| 激情五月图| 日日躁夜夜躁狠狠久久AV| 九九视频精品在线免费| 中文字幕人妻一区二区| 久久WW| 91色色色| 在线18av | 26uuu亚洲精品国产| 五月亭久久无码视频| 婷婷月综合| 99色在线观看免费| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 人人爽网| 五月丁香六月婷| 91婷婷丁香| 99久热| 婷婷久久亚洲| 色九区| 激情内射人妻1区2区3区| 日夜夜久久| www.99精品在线| 婷婷五月天丁香| 亚洲激情精品| 五月丁香啪啪网| 99久久国产宗和精品1上映| 欧美综合激情丁香五月六月婷| 综合AV在线| 777精品久无码人妻蜜桃| 视频这里只有精品16| www:99热视频| 丁香激情网| 婷婷五月天视频亚洲| 五月天激情综合在线| 亚洲超碰中文字幕| 亚洲va综合va国产va中文| 丁香五月天成人| 九九九色综合| 自拍视频99| 久久婷婷视频| 久久超视频| 六月丁香婷婷尤物| 欧美精品999| 高清免费在线视频| 九九热在线视频| 久久视频婷婷| 丁香九月婷婷色| AV伊人青草丁香六月| 色婷婷五月天无码视频| 97高清国语自产拍| 九色视频91| 另类小说激情五月天| 色婷婷成人丁香| 在线资源av-超碰中文在线-成人AV| www夜夜操| 狠狠狠狠狠干| 色性五月天| 欧日韩AV| 激情五月婷婷丁香六月| 日熟女| 在线日本www| 欧洲色区| 久久婷婷五月天| 91久久精品无码一区二区三区| 六月丁香好婷婷| 情五月亚洲婷婷| 草草视频91| 大香蕉久久婷婷| 色八戒操婷婷| 99色嘟嘟精品网站| 无码一区精品一区视频| 色爱综合网| 久久a热| 9久久精品| 久久999久久999久久999久久| 丁香五月综合在线视频| caopeng97日韩| 99色精品视频| 日本女va| WWW色五月天| 《诡秘之主》在线观看| 另类激情五月天。| 日本老女人黄页在线播放| 人人操人人操919999| 婷婷综合一二三| 青青草婷婷久久| 久久六月综合| 亚洲成人av在线播放| 狠爱婷色| 日韩99视频| 久久五月天色婷婷| 日本久热| 中文激情网| 九九亚洲视频| 六月婷婷无码| 狠狠狠狠狠狠狠狠草| 婷婷五月开心中文字幕色| 色综合播放| 超碰AAAAAAV| 婷婷四色五月| 俺去也五月天婷婷| 停停五月色宗合| 五月丁香激情四射| 免费亚洲婷婷| 国产无遮挡又黄又爽免费网站| 午夜不卡久久精品无码免费| 大香蕉在线99热| 丁香五月婷婷国产在线| 六月婷婷青青青视频| 亚洲精品中文字幕成人片| 五月婷婷 自拍| 五月丁香婷婷成人版| 丁香婷婷六月天| 大香蕉久久伊人婷婷五月丁香| 五月天伊人av| 99久久99热这里只有精品| 色狠狠色综合| 五月婷婷久久综合| 丁香网站| 色月丁| 999热在线视频| 欧美激情丁香五月天久久婷婷一区| 99热这里精| 99色网站| 久色网| 啪啪啪丁香五月| 五月丁香婷草| 亚洲激情丁香五月基地| 久久精品视频在这里有| 79精品视频在线观看,| 欧美槡BBBB槡BBB少妇| 综合久久六月| 五月丁香综合啪啪啪啪啪| 操逼棍操逼| www.激情| 免费色婷婷| 大香蕉五月天| 午夜激情五月天| 午夜免费试看| 国内精品免费一区二区2009| 婷婷五月色| 五月婷婷说| 99久在线精品99re8| 婷久久高清| AV九九| 五月激情六月宗合| 无码少妇高潮喷水A片免费| 伊人久久大香线蕉AV最新午夜| 99爽视频| 久久婷婷五月天激情唯美| 自拍偷窥99热| 国产超碰av| 天天狠狠婷婷在线| 色播五月网| 青青草国产亚洲精品久久| 97色97干| 综合久久六月| 欧美内射AAAAAAXXXXX| 91狠狠色色丁香婷婷综合久久| 五五月五月| 99人妻碰碰碰久久久久禁片| 狠狠色婷婷色| 亚洲99视频| 五月天色社区| 久久最新色| 99热在线免费| 成人国产欧美大片一区| 91婷婷丁香五月天免费视频网站 | 六月丁香婷婷综合在线| 国产偷人爽久久久久久老妇APP| 亚洲成人在线免费| 五月天婷婷激情| 99热国产在线| 97色伦另类图片小说视频 | 六月婷婷激情| 色色五月天激情| 天天做天天爱综合| 天天日中文| 成人婷婷五月天| 国产毛片精品一区二区色欲黄A片| 国产亚洲99久久| 99精品视频免费| 99热热热天天人人人超超碰| 欧美色骚婷婷五月天| 五月婷婷天| 久久婷婷网站| 狠狠爱婷婷爱| 99精品一二三四视频| 婷婷丁香五月婷婷| 玖色色综合| 色在线视频网2025| 江苏少妇性BBB搡BBB爽爽爽| 天天上天天爽| 色色国产| 婷婷五月丁香在线观看| www.99热| 丁香五月天婷婷久久| 无码少妇高潮喷水A片免费| 99激情网| 成人国产欧美大片一区| 日日鲁鲁夜夜爽爽| 婷婷97色| www夜夜操com| 久热丁香| 丁香五月婷婷AV| 97视频91| jiZZdr| 电影蜘蛛女| 成人做爰A片免费看视频| 在线观看的av| 五月亭亭开心网| 伊人青草成人| 久久caop| 婷婷激情视频欧美视频自拍视频欧美剧 | 丁香婷婷人妻综合网| 国产精产国品一二三在观看| 色色综合视频| 丁香 亚洲 久久| 五月色婷| 狠狠色婷婷7| 精品久久久久成人码免费动漫| 久久这里只有国产精品视频| 亚洲天堂九九九| 六月色播| 五月天快乐开心激情网| 欧美三级巜人妻互换| 亚洲精品国产精品乱码不99| www久久久久| 丁香五月婷婷啪啪| 丁香五月婷婷亚洲综合精品在线| 五月天婷婷Av| 伊人久久大香线蕉av最新| 99热免费精品热久久66| 日本黄色三级片内射| 五月成人网站| 在线你懂的亚洲欧| 婷婷激情社区| 五月网网站| 欧洲综合视频| 免费无码毛片一区二区A片| 一级性爱视频| 天天天久久久| 九九Y精品热播| 婷婷的99视频网站| WWW.开心五月天.COM| 99精品高潮| 色激情五月天| 五月天精品| 激情综合网五月天天| 9 9热这里有精品| 激情综合五月婷婷| 99精品亚洲| 天天日天天舔天天摸| 大地资源色婷婷视频在线| 99热精品无码| 夜夜骑操AV| 激情五月丁香色色去久久| 丁香六月综合激情| 丁香婷婷六月| 五月丁香婷婷激情在线| 97人人做| 中文婷婷狠狠| 丁香五月社区| 婷婷五月大香蕉| 五月天停停基地| 久热久色| 91se在线观看| 久久五月天激情| 五月天婷婷激情在线色图| 狠狠xx| 婷婷五月天影视| 亚洲高清在线| 久久婷婷综合拍| 91精品激情9| 日本三级日本三级99| 激情五月天色婷婷| 九九99视频精品| 亚洲第一成人无码A片| 久久婷鲁| 大香蕉五月婷婷丁香| 99热只有| 天天做天天爱天天玩| 亚洲性天天| 五月丁香好婷婷A片网| 国产免费av网站| 精品无码久久久久久久久| 婷婷中文在线| 五夜丁香| 国产欧美va| 国精产品一区二区三区| 五月婷婷就去色| 99久久婷婷国产综合精品草原| 97资源碰碰在线| 99日视频在线| 久久久色情| 操日本99| 青青草原亚洲久| 国产亚洲精品久久久久久久久动漫| www.夜夜操| 婷婷香五月天| 久9热| 在线成人网站| 大香蕉婷婷色| 婷婷丁香色五月久久88| peg 2区三区四区的| 国产色色在线| 狠狠五月激情在线| 婷婷五月小说色综合| 精品久久99码| 99亚洲天堂| 网色99| 91Chinese在线| 久久五月综合| 深爱五月激情综合| 日韩欧美一区二区三区四区| 欧美va精品va老师va| 99开心五月五月丁香激情| 亚州色婷婷| 激情久久久久久| 日本片日本片祼观看网站在线看中文版网页在线看 | 男人天堂伊人五月丁香| 97性视频| 国产欧美日韩性爱| 激情涩涩网| 97涩涩丁香五月天| 五月丁香六月花| 久久久精品色| 久99久在线观看| 婷婷五月成人| 丁香久久| 99久热视频在线| 51XX嘿嘿午夜无码| 秋霞成人毛片一级A片| 六月丁香花婷婷| 五月丁香亚洲校园欧美| 久久婷五月婷| 婷色成人| 五月天激情www| 色色色在线观看| 超碰av在线| 国产欧美日韩综合精品一区二区| 久cao香蕉影院| www. 五月. com| 97人人干人人操| 狠狠久久婷五月综合色| 五月开心深爱激情网| 91九色中文字幕女在线观看| 成人 在线 日韩| 日产精品一线二线三线芒果| 激情综合五月丁香六月婷婷| 婷婷 伊人 久久| 婷婷五月天激情四射五月天激情| 婷婷免费无视频| 狠狠狠狠狠| 欧美精品999| 婷婷综合天堂| 99久久99九九99九九九| 五月丁综合在线观看| 99乱视频| 久久久久久人妻| yw.av| 九九99精品| 婷婷5月天av| 激情99| 亚洲精品白浆高清久久久久久| 久久久免费图片视频| 狠色综合网| 激情丁香六月| 欧洲色色| 五月丁香婷婷婷激情爱爱| 99色看这里只有精品| 久热只有精品| 午夜少妇在线观看视频| 欧美日韩成人在线网| 天天做天天爰天天爽天天无遮挡| 国产激情综合五月久久| 亚洲激情网| 日韩高清久久| 我要射综合| 色播五月婷婷| 久久久人人操A V| 日本在线视频手机播放五月婷| 99热这里只| 99在线精品免费视频| 五月天婷婷网站888| 日日爽天天| 日本片日本片祼观看网站在线看中文版网页在线看 | xx久久| 99热99热| 国产亚洲精品久久久久久郑州 | 看国产探花操逼三级片| 激情综合网五月婷婷| 婷婷五月六月丁香| 伊人干练久| 美女五月天| 激情丁香久久久久久| 九九九九九九九热| 亚洲欧美婷婷五月色综合| 久久与婷婷| 97男人天堂| 五月天四色房丁香| 狼人久草| 久久婷婷色| www999日韩精品| 99精品偷拍视频| 天天天天天天噜| www99热| 亚洲成人免费在线| 久久婷婷内射| 99视频久久久| 激情深爱综合网| 日本91在线播放| 五月婷婷香蕉| WWW.桔色成人.COM| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 丁香六月啪啪| 在线不卡视频| 中文久久婷婷| 超碰人人99| 欧美色性色好| 99免费偷拍视频| 五月丁香六月激情欧美综合| 大香蕉福利导航| 五月天成人手机在线视频| 日韩精品AV一区二区三区| 九九热色视频| 日本色婷婷| 99热99成人| 九九久久综合| 激情综合网,五月| 亚洲精品久久久无码| 色五月亚洲五月天| 国产亚洲精品AAAAAAA片| 丁香五月婷婷少妇| 婷婷色播婷婷| 婷婷激情五月| 激情AV| 伊人国产婷婷五月天| 欧美激情综合五月色丁香| 5月婷婷六月丁香| 五月丁香婷婷五月色| 天天夜夜六月丁香五月婷婷老师| 99se丁香| 99热只有精| 九七色色六月丁香| 天天肏在线观看| 九九热99熟女| 日本色超碰| 日日夜夜爽| www,奇米影视| 亚洲视频丁香网va| 国产婷婷五月天| 玖玖99精品视频| 久久激情五月婷婷| 超碰激情网| 91超级碰| 久久成人天| 丁香五月WWW| 天天操婷婷| 99,色| 能看的AV| 米奇影视资源777狠狠色婷婷五月天激情网| 五月丁香综合啪啪| 婷婷九月激情网| 九色综合网| 色色色色色色色色网站| 欧美三级大片AA在线看| 激情综合色婷婷六月天| 欧美色碰| 五月激情综合网| 俺也去婷婷五月天第五色| 国产成人精品一区二区三区视频| 538在线| BBWCUCKOLD精品熟妇| 亚洲婷婷激情五月天| 五月婷婷久久久久| 六月婷婷综合| 婷婷射丁香| 婷婷成人网五月天| 操大屄五月天视频| 玖玖婷婷五月| 99热在线中文字幕| 五月天丁香婷婷社区| 狠狠操狠狠| 色五月婷婷一二| 国产综合色婷婷精品久久| 亚洲日韩乱码一区二区三区四区| 色综合色色色| 婷婷久久欧美| 亚洲蜜乳AV| 天天综合精品| 狠狠99| 婷婷五月丁香色情| 97人人看| www91色网站| 婷婷五月婷婷| 99免费视频在线观看爱| 色五月首页| 激情五月天色色色| 91久久久久久久| www.99热| 综合六月激情婷婷| 成人片在线播放| 免费99色| 大战熟女丰满人妻AV| 伊人五月丁香| 色色色视频免费无码 | 六月丁香色色| 久久这里只有精品1| 天天久久66xxx| 色噜久| 91无码一起草| 99操逼| 伊人久久大香网| 激情五月丁香六月| 五月婷在线色视频| 中文网AV| 99热999| 国产真人做爰视频免费| 日韩成人av在线| 激情五月天偷拍综合网| 色VA| 四色永久成人网站| 丁香五月婷婷五月| 日本丰满久久| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 五月天天堂久久| 日韩操啪| 色五月色开心开心五月| 91色久| 亚洲免费婷婷| 欧洲综合视频| 女人被男人吃奶到高潮| 99视频网| 国产精品久久久久久五月天加勒比| 狠狠爱综合网| www.久操| Www.se.久久| 蒲京久久无码视频| 97超碰免费超级在线观看| 99热自拍| 91丨九色丨大屁股| 九九热精品| www.五月丁香| 草草视频91| 99九九精品| 国产成人亚洲综合A∨婷婷| 日撸夜撸日操| 五月丁香婷婷三级| 色色欧美色色| 韩国三级五月天婷婷。| 天天五月情| 五月天电影网| 婷婷丁香激情五月天色色| 欧美色色色| 亚洲狠狠操| 亚洲精品操一操、噜一噜、摸一摸、爽| 在线伦子99热| 丁香六月激情综合| 91超碰在线观看| 色色色999| 99在线观看精品| 综合AV在线| 婷婷天天色| 激情六月婷婷| 夜夜嗨一区二区三区直播内容 | 以及AA大片看看| 少妇搡BBBB搡BBB搡毛茸茸 | 操丝袜视频影院导航| 狠狠操狠狠做| 色色色综合| 99精品无码| 熟妇人妻中文字幕无码老熟妇| 日日夜夜亚洲一区| 91人人澡人人爽人人看| WWW五月婷婷| 5月婷婷性视频| 婷婷五月婷婷| 色婷婷综合网站| 五月天激情美女久久| 国产精品人妻在线网址| 欧美狠狠草| 丁香五月婷婷俺也要去| 精品久久人妻| 久久精彩视频| 中文字幕高清av| 九热视频| 噜噜噜噜在线| 婷婷五月激情的图片| 五月婷丁香| 影音先锋男士资源网一区| 最新av在线观看| 五月丁香六月婷婷玖玖| 97九色视频| 天天综合精品| 五月天婷婷丁香花| 亚洲色婷婷网站| 色五月婷婷基地| 99精品在线播放| 丁香五月天天| 五月激情久久综合| 开心激情婷婷| 少妇2做爰HD韩国电影| 婷婷色中文| 操丝袜视频影院导航| 免费国产视频| WW婷婷五月天com| 日本人妻A片成人免费看片| 婷婷五月丁香综合人妻| 色丁香婷婷| 超碰69天堂| 伊人大香五月天| 97色色综合| 欧美大片免费观看| www.黄色片-久久成人国产精品在线播放-999AV | 色色五月婷| 9操在线| 丁香五月激情鲁| 婷婷六月啪啪| 色七七九九| 国产五月天欧美色| 专区无日本视频高清8| 婷婷九月狠狠色| 五月丁香在线婷婷美女| 成人做爰A片免费看视频| 中文字幕AV网址| 五月婷婷欲色| 五月丁香六月婷| 99自拍视频在线观看| EEUSS鲁片一区二区三区| 亚洲春色奇米影视| 天天色情站| 成人AV在线网站| 98永久精品| 五月丁香六月婷婷在线播放| 五月激情综合网| 六月婷婷激情图片| 色婷婷国产精品综合在线观看| 亚洲成人AV电影在线| 丁香五月丐人妻| 五月亭亭直播| 丁香六月色婷婷| 五月婷婷成人| 超碰免费人人肏| 国产视频久色| 成人va在线播放| 亚洲综合视频网| 激情五月天网| 秋霞九九无码| 丁香婷婷五月天色播| 色色激情五月天| 亚洲无码成人网| 欧美激情VA永久在线播放| 丁香婷婷超碰| 五月婷婷|欧美| 怡春院久操| 婷婷色五月激情强奸四射| 超碰高清在线| 噜噜色噜噜网| www一起操在线观看| 婷婷另类小说| 婷婷色啪| 成人五月天丁香婷| 五月丁香激情四射|