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

ARTICLE DETAIL

資訊詳情

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

AMBA APB協(xié)議精講:時(shí)序、從機(jī)設(shè)計(jì)與驗(yàn)證實(shí)戰(zhàn)

AMBA APB協(xié)議精講:時(shí)序、從機(jī)設(shè)計(jì)與驗(yàn)證實(shí)戰(zhàn) 做數(shù)字IC設(shè)計(jì)這行AMBA總線幾乎是繞不開(kāi)的一課而APB又是整個(gè)AMBA家族里結(jié)構(gòu)最簡(jiǎn)單、最容易被忽視、卻最容易在項(xiàng)目后期翻車的一環(huán)。我這些年做過(guò)SoC集成、也做過(guò)外設(shè)IP的獨(dú)立設(shè)計(jì)踩過(guò)APB的坑不算少低功耗外設(shè)掛不上去、橋接后讀寫(xiě)時(shí)序?qū)Σ积R、仿真過(guò)了上板卻讀到臟數(shù)據(jù)這些問(wèn)題的根子往往都出在對(duì)APB協(xié)議理解得不夠透徹。這篇總結(jié)我打算把AMBA總線、APB協(xié)議、APB時(shí)序、APB總線這些核心內(nèi)容從頭到尾捋一遍重點(diǎn)講清楚APB到底是什么、它能做什么、適合誰(shuí)來(lái)參考。不管你是剛接觸總線協(xié)議的學(xué)生還是已經(jīng)寫(xiě)過(guò)幾個(gè)AHB從機(jī)、正準(zhǔn)備補(bǔ)上APB這塊拼圖的老手我都盡量用一線工程師的口吻把原理、時(shí)序、代碼、驗(yàn)證和踩坑經(jīng)驗(yàn)一次性講明白讓你看完就能直接動(dòng)手寫(xiě)一個(gè)能跑的APB從機(jī)。1. AMBA家族地圖與APB的生態(tài)位1.1 AMBA的幾代演進(jìn)和協(xié)議分工很多人學(xué)AMBA的時(shí)候腦子里是一團(tuán)漿糊覺(jué)得AXI、AHB、APB好像都能干同樣的事區(qū)別無(wú)非是快和慢。這個(gè)理解其實(shí)不太對(duì)。AMBA是ARM提出的一套片上互連規(guī)范從最早的AMBA 1.0到現(xiàn)在的AMBA 5核心思路一直沒(méi)變用不同的協(xié)議去覆蓋不同性能、不同功耗、不同復(fù)雜度的場(chǎng)景而不是用一個(gè)協(xié)議打天下。我把幾個(gè)主流協(xié)議擺在一起對(duì)比一下就清楚了。AXI4面向的是高帶寬、高并發(fā)、亂序訪問(wèn)的場(chǎng)景比如DDR控制器、GPU、DMA這類主設(shè)備它的讀寫(xiě)通道獨(dú)立、支持多筆未完成事務(wù)、支持突發(fā)長(zhǎng)度可配AHB是較早期的總線面向中等性能、流水線式訪問(wèn)一次傳輸一個(gè)地址相位加一個(gè)數(shù)據(jù)相位結(jié)構(gòu)比AXI簡(jiǎn)單很多而APBAdvanced Peripheral Bus高級(jí)外設(shè)總線定位非常明確——它就是給那些對(duì)帶寬毫無(wú)要求、只需要寄存器讀寫(xiě)的外設(shè)用的。協(xié)議定位典型主/從設(shè)備帶寬復(fù)雜度AXI4高性能、高并發(fā)DDR、DMA、GPU極高高AHB中高性能、流水線SRAM、Flash控制器中高中APB低帶寬、寄存器訪問(wèn)UART、I2C、GPIO、Timer低極低這個(gè)表不是隨便列的它背后的邏輯是面積和功耗的權(quán)衡。你讓一個(gè)GPIO模塊去實(shí)現(xiàn)一套AXI4接口光是握手信號(hào)的寄存器就要多出幾百個(gè)綜合出來(lái)的面積和靜態(tài)功耗完全不劃算。而APB只有一套地址、數(shù)據(jù)、控制信號(hào)狀態(tài)機(jī)簡(jiǎn)單到用兩段代碼就能描述清楚正好匹配這類偶爾被配置一下、平時(shí)基本不干活的外設(shè)。1.2 APB的適用邊界為什么慢速外設(shè)都?xì)w它管搞清楚APB適合管什么比記住它的信號(hào)名更重要。我的一般判斷標(biāo)準(zhǔn)是這樣的如果一個(gè)外設(shè)的訪問(wèn)模式是少量、離散、非周期性的寄存器讀寫(xiě)并且對(duì)延遲不敏感那就用APB。舉個(gè)實(shí)際的例子。一個(gè)UART模塊CPU要配置波特率分頻系數(shù)、數(shù)據(jù)位寬、停止位數(shù)、校驗(yàn)方式這些寄存器加起來(lái)也就十來(lái)個(gè)而且通常只在初始化時(shí)寫(xiě)一次之后就是讀寫(xiě)數(shù)據(jù)寄存器一個(gè)I2C控制器配置時(shí)鐘分頻、從機(jī)地址、中斷使能同樣是寄存器操作。這些場(chǎng)景的共同點(diǎn)是單次訪問(wèn)就是一個(gè)32位或者更小的讀寫(xiě)沒(méi)有突發(fā)、沒(méi)有流水線、不需要高吞吐。那APB不適合什么它不適合掛存儲(chǔ)器因?yàn)榇鎯?chǔ)器要的是連續(xù)突發(fā)訪問(wèn)APB一次只能傳一個(gè)數(shù)據(jù)它也不適合掛高吞吐的數(shù)據(jù)通道比如視頻流、以太網(wǎng)數(shù)據(jù)路徑那些應(yīng)該走AHB或者AXI。我見(jiàn)過(guò)有項(xiàng)目為了省事把一大塊SRAM掛在APB上結(jié)果CPU取指的時(shí)候每次都要等好幾個(gè)周期性能直接崩掉。這不是協(xié)議的問(wèn)題是選型的問(wèn)題。還有一個(gè)容易被忽略的點(diǎn)APB通常是二級(jí)外設(shè)總線也就是說(shuō)它往往掛在AHB或AXI這類高性能總線的下面通過(guò)一個(gè)橋Bridge接出來(lái)。CPU訪問(wèn)外設(shè)的路徑是CPU → AHB/AXI → APB Bridge → APB外設(shè)。這個(gè)層級(jí)關(guān)系決定了APB的另一個(gè)特點(diǎn)——它不需要獨(dú)立的仲裁器因?yàn)橥粫r(shí)刻只有橋這一個(gè)主設(shè)備在訪問(wèn)它。這是APB結(jié)構(gòu)簡(jiǎn)單的根本原因也是很多人第一次看APB協(xié)議時(shí)覺(jué)得怎么連仲裁都沒(méi)有的原因。2. APB的信號(hào)體系與兩相狀態(tài)機(jī)2.1 信號(hào)清單逐個(gè)拆開(kāi)講APB的信號(hào)不多但每一個(gè)都有明確的時(shí)序約束我先把它們列全再講容易搞混的地方。下面這張表我按APB4的版本整理APB5新增的幾個(gè)低功耗信號(hào)我在后面單獨(dú)說(shuō)。信號(hào)名方向位寬說(shuō)明PCLK輸入1總線時(shí)鐘所有傳輸同步到它的上升沿PRESETn輸入1低電平有效的異步復(fù)位PADDR主→從通常8~32地址總線PSELx主→從1每個(gè)從機(jī)一根選中信號(hào)PENABLE主→從1使能信號(hào)標(biāo)記ACCESS相位PWRITE主→從1高為寫(xiě)低為讀PWDATA主→從通常32寫(xiě)數(shù)據(jù)PRDATA從→主通常32讀數(shù)據(jù)PREADY從→主1從機(jī)就緒可拉低插入等待PSLVERR從→主1傳輸錯(cuò)誤指示PPROT主→從3保護(hù)屬性APB4PSTRB主→從4字節(jié)選通APB4這里有幾個(gè)細(xì)節(jié)值得單獨(dú)拎出來(lái)。第一PSEL是每個(gè)從機(jī)一根不是廣播式的這是APB地址譯碼的直接體現(xiàn)——橋或者譯碼器根據(jù)地址把對(duì)應(yīng)從機(jī)的PSEL拉高其他從機(jī)的PSEL保持為低。第二PENABLE只有一個(gè)它不區(qū)分讀寫(xiě)也不區(qū)分從機(jī)是全局的。第三PREADY和PSLVERR是每個(gè)從機(jī)獨(dú)立輸出的因?yàn)樗鼈円答伕髯缘臓顟B(tài)。我在實(shí)際項(xiàng)目里見(jiàn)過(guò)有人把PSEL和PENABLE搞反了用途以為PSEL是訪問(wèn)有效、PENABLE是訪問(wèn)開(kāi)始結(jié)果寫(xiě)出來(lái)的從機(jī)在SETUP相位就動(dòng)了寄存器。這個(gè)錯(cuò)誤很典型根源是沒(méi)理解APB的兩相結(jié)構(gòu)。2.2 SETUP-ACCESS兩相結(jié)構(gòu)為什么這么設(shè)計(jì)APB的一次傳輸嚴(yán)格分成兩個(gè)相位——SETUP相位和ACCESS相位中間沒(méi)有第三個(gè)。這個(gè)結(jié)構(gòu)是理解APB時(shí)序的關(guān)鍵。在SETUP相位主設(shè)備做三件事把地址放到PADDR上、把PWRITE設(shè)置好、把對(duì)應(yīng)從機(jī)的PSEL拉高同時(shí)把PENABLE保持為低。這個(gè)相位的本質(zhì)是**預(yù)告**——告訴從機(jī)我馬上要訪問(wèn)你地址和方向在這兒了你先準(zhǔn)備著。注意這個(gè)相位里完成的是地址和控制的建立setup數(shù)據(jù)還沒(méi)到。在ACCESS相位主設(shè)備把PENABLE拉高表示正式開(kāi)始。寫(xiě)操作時(shí)PWDATA在這個(gè)相位有效從機(jī)采樣讀操作時(shí)從機(jī)在這個(gè)相位把PRDATA驅(qū)動(dòng)出來(lái)。如果從機(jī)需要更多時(shí)間就把PREADY拉低主設(shè)備會(huì)保持ACCESS相位不變直到PREADY拉高傳輸才算結(jié)束。為什么APB要設(shè)計(jì)成兩相而不是像AHB那樣流水我的理解是為了給從機(jī)留出充足的譯碼和準(zhǔn)備時(shí)間同時(shí)把時(shí)序路徑切短。在SETUP相位從機(jī)可以拿PSEL和PADDR去做地址譯碼、準(zhǔn)備寄存器選擇信號(hào)到了ACCESS相位從機(jī)只需要在PENABLE和PREADY的控制下完成真正的讀寫(xiě)。這種先建立、后使能的做法讓從機(jī)的組合邏輯路徑更短更容易在低頻下收斂時(shí)序這也是為什么APB能容忍更低的設(shè)計(jì)成本。一個(gè)容易踩的坑是SETUP相位只有一拍不能延長(zhǎng)。協(xié)議規(guī)定SETUP到ACCESS的過(guò)渡必須在一個(gè)時(shí)鐘周期內(nèi)完成如果從機(jī)來(lái)不及只能在ACCESS相位用PREADY拉低來(lái)插等待不能在SETUP相位停。我早期寫(xiě)過(guò)一個(gè)從機(jī)試圖在SETUP相位插等待結(jié)果仿真波形看著能動(dòng)但和標(biāo)準(zhǔn)主設(shè)備對(duì)接時(shí)直接掛死。3. APB讀寫(xiě)時(shí)序逐拍拆解3.1 寫(xiě)傳輸從SETUP到完成的完整過(guò)程寫(xiě)傳輸是最直觀的我按拍數(shù)拆一遍。假設(shè)地址為0x10數(shù)據(jù)為0xDEADBEEF從機(jī)不需要等待。第一拍T1SETUP相位主設(shè)備驅(qū)動(dòng)PADDR0x10PWRITE1PSEL1PENABLE0PWDATA此時(shí)可以是任意值協(xié)議不要求在SETUP相位提供有效寫(xiě)數(shù)據(jù)但很多實(shí)現(xiàn)會(huì)提前驅(qū)動(dòng)。這一拍結(jié)束時(shí)從機(jī)已經(jīng)知道要往0x10寫(xiě)入。第二拍T2ACCESS相位主設(shè)備保持PADDR、PWRITE、PSEL不變把PENABLE拉高為1同時(shí)驅(qū)動(dòng)PWDATA0xDEADBEEF。從機(jī)在這一拍的時(shí)鐘上升沿采樣PWDATA如果PREADY為高默認(rèn)情況寫(xiě)操作這一拍就算完成了。第三拍T3結(jié)束主設(shè)備撤銷PENABLE、PSEL進(jìn)入下一次傳輸?shù)腟ETUP或者讓總線空閑。這里有個(gè)非常關(guān)鍵的約束PWDATA必須在ACCESS相位保持穩(wěn)定并且要在ACCESS相位的時(shí)鐘上升沿之前建立好。如果從機(jī)在ACCESS相位用PREADY拉了等待那么主設(shè)備必須保持PWDATA不變直到PREADY拉高的那一拍才允許變化。我見(jiàn)過(guò)一個(gè)從機(jī)設(shè)計(jì)在等待期間誤以為PWDATA會(huì)保持結(jié)果主設(shè)備因?yàn)榻M合邏輯原因?qū)е聰?shù)據(jù)抖動(dòng)寫(xiě)進(jìn)了錯(cuò)誤值。穩(wěn)妥的做法是從機(jī)在PREADY拉高之前只在最終的時(shí)鐘邊沿采樣PWDATA中間狀態(tài)一概忽略。3.2 讀傳輸與等待插入的實(shí)際處理讀傳輸和寫(xiě)傳輸前半段完全一樣SETUP相位給地址、方向PWRITE0、PSELACCESS相位拉高PENABLE。區(qū)別在于數(shù)據(jù)流向反了——從機(jī)要在ACCESS相位把PRDATA驅(qū)動(dòng)出來(lái)主設(shè)備在PREADY拉高的那一拍采樣。讀傳輸最容易出問(wèn)題的地方是PRDATA的驅(qū)動(dòng)時(shí)機(jī)。協(xié)議建議從機(jī)在ACCESS相位才驅(qū)動(dòng)PRDATA不要在SETUP相位就驅(qū)動(dòng)因?yàn)榇藭r(shí)從機(jī)可能還沒(méi)被完全選中PSEL雖然為高但地址譯碼可能還沒(méi)穩(wěn)定。如果你的從機(jī)是組合邏輯輸出PRDATA那么它會(huì)隨PADDR變化而變化這在多從機(jī)系統(tǒng)里會(huì)造成總線上的數(shù)據(jù)沖突。我的習(xí)慣做法是讀數(shù)據(jù)要么用寄存器在ACCESS相位鎖存輸出要么明確用PENABLE做門控避免在SETUP相位把數(shù)據(jù)推上總線。等待插入Wait State是APB里非常實(shí)用的機(jī)制。從機(jī)只要在ACCESS相位把PREADY拉低主設(shè)備就會(huì)保持當(dāng)前ACCESS相位的一切信號(hào)不變一個(gè)周期一個(gè)周期地等下去直到PREADY被拉高。這個(gè)機(jī)制可以用來(lái)適配慢速外設(shè)比如某些外設(shè)寄存器需要通過(guò)較長(zhǎng)的組合邏輯才能讀出結(jié)果或者需要跨時(shí)鐘域同步。注意PREADY的默認(rèn)值是高。如果你在設(shè)計(jì)從機(jī)時(shí)忘了驅(qū)動(dòng)PREADY它可能會(huì)綜合成一個(gè)懸空或恒定低電平導(dǎo)致總線永久等待。這是新手最常見(jiàn)的總線掛死原因之一。3.3 APB4與APB5的擴(kuò)展信號(hào)APB演進(jìn)到現(xiàn)在主要的擴(kuò)展都集中在安全和低功耗上。APB4引入了PPROT和PSTRB。PPROT是保護(hù)屬性三位分別表示特權(quán)/用戶、安全/非安全、數(shù)據(jù)/指令主要用于權(quán)限檢查從機(jī)可以據(jù)此決定是否拒絕訪問(wèn)。PSTRB是字節(jié)選通四位對(duì)應(yīng)32位數(shù)據(jù)的四個(gè)字節(jié)寫(xiě)操作時(shí)只有選通的字節(jié)會(huì)被真正寫(xiě)入這對(duì)外設(shè)寄存器的字節(jié)寫(xiě)場(chǎng)景很有用。我做過(guò)的一個(gè)項(xiàng)目里軟件要用字節(jié)寫(xiě)的方式改一個(gè)32位配置寄存器的某幾個(gè)位沒(méi)有PSTRB就只能讀改寫(xiě)有了PSTRB直接一次寫(xiě)搞定。APB5在低功耗方向加了PWAKEUP以及一組用戶自定義信號(hào)PAUSER、PWUSER、PRUSER、PBUSER。PWAKEUP用于喚醒請(qǐng)求配合電源管理單元使用。用戶自定義信號(hào)則是留給SoC廠商做私有擴(kuò)展的比如加ECC校驗(yàn)位、加sideband信息。這些信號(hào)在基礎(chǔ)設(shè)計(jì)里用得不多但如果你要做低功耗SoC遲早會(huì)碰到。4. 從零寫(xiě)一個(gè)APB從機(jī)4.1 接口定義與參數(shù)化設(shè)計(jì)前面講了這么多原理落到代碼上其實(shí)很清爽。我給一個(gè)參數(shù)化的APB從機(jī)模板寄存器數(shù)量、地址寬度、數(shù)據(jù)寬度都可以配。這個(gè)模板我用了很多次改改寄存器映射就能直接塞進(jìn)項(xiàng)目。module apb_slave #( parameter ADDR_WIDTH 12, parameter DATA_WIDTH 32, parameter NUM_REGS 16 )( input wire PCLK, input wire PRESETn, // APB 接口 input wire [ADDR_WIDTH-1:0] PADDR, input wire PSEL, input wire PENABLE, input wire PWRITE, input wire [DATA_WIDTH-1:0] PWDATA, input wire [DATA_WIDTH/8-1:0] PSTRB, output reg [DATA_WIDTH-1:0] PRDATA, output wire PREADY, output wire PSLVERR ); // 寄存器組 reg [DATA_WIDTH-1:0] regs [0:NUM_REGS-1]; // 地址譯碼 wire [3:0] reg_index PADDR[5:2]; wire addr_hit (PADDR[ADDR_WIDTH-1:6] 0) (reg_index NUM_REGS); // 傳輸有效標(biāo)志 wire write_en PSEL PENABLE PWRITE addr_hit; wire read_en PSEL PENABLE ~PWRITE addr_hit; integer i; always (posedge PCLK or negedge PRESETn) begin if (!PRESETn) begin for (i 0; i NUM_REGS; i i 1) regs[i] {DATA_WIDTH{1b0}}; end else if (write_en) begin // 字節(jié)選通寫(xiě) for (i 0; i DATA_WIDTH/8; i i 1) if (PSTRB[i]) regs[reg_index][i*8 : 8] PWDATA[i*8 : 8]; end end // 讀邏輯ACCESS 相位輸出 always (*) begin if (read_en) PRDATA regs[reg_index]; else PRDATA {DATA_WIDTH{1b0}}; end // 本設(shè)計(jì)無(wú)等待周期、無(wú)錯(cuò)誤 assign PREADY 1b1; assign PSLVERR 1b0; endmodule4.2 寫(xiě)通道實(shí)現(xiàn)里的幾個(gè)關(guān)鍵點(diǎn)上面這段寫(xiě)邏輯看著簡(jiǎn)單但有幾個(gè)點(diǎn)必須講清楚否則你復(fù)制過(guò)去可能跑不通。第一寫(xiě)使能的組合條件里同時(shí)包含了PSEL、PENABLE、PWRITE。這就是ACCESS相位才動(dòng)寄存器的落地。很多新手只寫(xiě)PSEL PWRITE結(jié)果在SETUP相位就把數(shù)據(jù)寫(xiě)進(jìn)去了而SETUP相位的數(shù)據(jù)可能還沒(méi)建立穩(wěn)定寫(xiě)進(jìn)去的值就是隨機(jī)的。第二地址譯碼邏輯要覆蓋越界情況。我用了PADDR[ADDR_WIDTH-1:6] 0來(lái)判斷高位地址是否為0加上reg_index NUM_REGS來(lái)防止訪問(wèn)不存在的寄存器。如果地址超出范圍addr_hit為0write_en和read_en都不成立從機(jī)不響應(yīng)這是合理的默認(rèn)行為。但你也可以選擇拉高PSLVERR上報(bào)錯(cuò)誤看系統(tǒng)需求。第三PSTRB的處理。字節(jié)選通寫(xiě)用了一個(gè)for循環(huán)逐字節(jié)判斷。綜合工具一般能把它展成并行的寫(xiě)使能邏輯不會(huì)真的生成循環(huán)。如果你的綜合報(bào)告里發(fā)現(xiàn)這里變成了移位結(jié)構(gòu)說(shuō)明工具沒(méi)優(yōu)化好建議手動(dòng)展開(kāi)成case或者直接用位選。4.3 讀通道與PREADY的靈活生成讀邏輯我用的是組合輸出PRDATA直接跟隨read_en。這種寫(xiě)法在低頻下沒(méi)問(wèn)題但在高頻下regs[reg_index]是一個(gè)較大的多路選擇器輸出到PRDATA的路徑可能成為關(guān)鍵路徑。如果你的APB時(shí)鐘跑到100MHz以上建議改成寄存器輸出在ACCESS相位用一個(gè)寄存器把讀數(shù)據(jù)鎖存一拍代價(jià)是讀延遲增加一個(gè)周期但時(shí)序會(huì)好很多。PREADY的生成是體現(xiàn)從機(jī)靈活性的地方。一個(gè)需要等待的從機(jī)可以這樣寫(xiě)// 一個(gè)需要 2 拍等待的從機(jī)示例 reg [1:0] wait_cnt; always (posedge PCLK or negedge PRESETn) begin if (!PRESETn) wait_cnt 2d0; else if (PSEL PENABLE ~PREADY) wait_cnt wait_cnt 1b1; else if (!(PSEL PENABLE)) wait_cnt 2d0; end assign PREADY (wait_cnt 2d2);這段邏輯的含義是進(jìn)入ACCESS相位后wait_cnt從0開(kāi)始計(jì)數(shù)數(shù)到2時(shí)PREADY拉高總共插入2個(gè)等待周期。這里有個(gè)細(xì)節(jié)——wait_cnt的遞增條件是PSEL PENABLE ~PREADY即只在還沒(méi)就緒的ACCESS相位里計(jì)數(shù)一旦PREADY拉高或者傳輸結(jié)束計(jì)數(shù)清零。這樣設(shè)計(jì)能保證每次傳輸?shù)牡却袨橐恢虏粫?huì)把上一次的計(jì)數(shù)值帶進(jìn)來(lái)。實(shí)操心得等待計(jì)數(shù)器一定要有明確的清零條件最好和PSEL或PENABLE掛鉤。我見(jiàn)過(guò)一個(gè)從機(jī)的等待計(jì)數(shù)在傳輸結(jié)束后不清零第二次訪問(wèn)時(shí)直接少等了一拍導(dǎo)致采樣到錯(cuò)誤數(shù)據(jù)。這種bug在功能仿真里很難發(fā)現(xiàn)因?yàn)榧?lì)往往是單次傳輸只有連續(xù)多次傳輸才會(huì)暴露。5. APB橋接與系統(tǒng)集成要點(diǎn)5.1 AHB/APB橋的內(nèi)部結(jié)構(gòu)單獨(dú)一個(gè)APB從機(jī)沒(méi)有多少工程價(jià)值真正的場(chǎng)景是它掛在橋上、接入整個(gè)SoC。APB橋通常是從AHB或AXI轉(zhuǎn)APB承擔(dān)的核心工作有三件協(xié)議轉(zhuǎn)換、地址譯碼、以及時(shí)序適配。協(xié)議轉(zhuǎn)換的本質(zhì)是把流水的AHB事務(wù)拆成非流水的APB事務(wù)。AHB的一個(gè)傳輸有地址相位和數(shù)據(jù)相位還可能帶流水APB則是老老實(shí)實(shí)的SETUP-ACCESS。橋在AHB的地址相位拿到地址和控制先驅(qū)動(dòng)APB的SETUP再驅(qū)動(dòng)ACCESS等到APB的PREADY拉高把結(jié)果回傳給AHB。如果APB從機(jī)插了等待橋就慢慢等同時(shí)告訴AHB主設(shè)備我還沒(méi)好讓主設(shè)備保持。地址譯碼是橋的另一大職責(zé)。橋的輸入端有一個(gè)地址映射表比如0x4000_0000~0x4000_0FFF分給UART0x4000_1000~0x4000_1FFF分給I2C。橋根據(jù)地址高位判斷該選哪個(gè)從機(jī)把那一路的PSEL拉高其余保持低。這個(gè)映射表通常在RTL里用組合邏輯寫(xiě)死也有用寄存器配置的看SoC的靈活度需求。5.2 集成時(shí)的時(shí)鐘復(fù)位和信號(hào)完整性把APB從機(jī)集成進(jìn)SoC有幾個(gè)坑我必須提醒。第一個(gè)是時(shí)鐘域。APB通常跑在較低頻率的外設(shè)時(shí)鐘域而AHB/AXI在高頻核心時(shí)鐘域橋內(nèi)部要做跨時(shí)鐘域同步。如果你的APB從機(jī)的PCLK直接接了核心時(shí)鐘而其他外設(shè)用了分頻時(shí)鐘那么PSEL的建立和保持關(guān)系就可能會(huì)在橋內(nèi)部出現(xiàn)亞穩(wěn)態(tài)風(fēng)險(xiǎn)。穩(wěn)妥的做法是讓整個(gè)APB子系統(tǒng)統(tǒng)一時(shí)鐘或者在橋里做好CDC。第二個(gè)是復(fù)位策略。PRESETn是異步復(fù)位、同步釋放的經(jīng)典結(jié)構(gòu)。如果你直接把PRESETn接一個(gè)純異步信號(hào)從機(jī)內(nèi)部寄存器的復(fù)位可能在不同時(shí)鐘沿上不同步導(dǎo)致復(fù)位撤銷時(shí)狀態(tài)機(jī)跳到一個(gè)非法態(tài)。我一般的做法是加一個(gè)標(biāo)準(zhǔn)的復(fù)位同步器reg [1:0] rst_sync; always (posedge PCLK or negedge PRESETn) begin if (!PRESETn) rst_sync 2b00; else rst_sync {rst_sync[0], 1b1}; end wire resetn_sync rst_sync[1];內(nèi)部邏輯全部用resetn_sync這樣復(fù)位撤銷嚴(yán)格發(fā)生在PCLK邊沿上避免亞穩(wěn)態(tài)。第三個(gè)是PSLVERR的使用。默認(rèn)情況下從機(jī)可以一直把PSLVERR拉低表示永遠(yuǎn)不報(bào)錯(cuò)。但如果你訪問(wèn)了非法地址橋可能會(huì)把它轉(zhuǎn)成一個(gè)錯(cuò)誤響應(yīng)。要不要實(shí)現(xiàn)錯(cuò)誤上報(bào)取決于系統(tǒng)是否需要軟件能檢測(cè)到非法訪問(wèn)。我個(gè)人的建議是在橋的譯碼邏輯里對(duì)未映射地址產(chǎn)生錯(cuò)誤響應(yīng)這樣軟件調(diào)試時(shí)能第一時(shí)間發(fā)現(xiàn)問(wèn)題而不是讀到一個(gè)全0或者垃圾值。6. 驗(yàn)證與調(diào)試實(shí)錄6.1 一套夠用的測(cè)試激勵(lì)怎么寫(xiě)APB從機(jī)的驗(yàn)證不需要像AXI那樣搞復(fù)雜的UVM環(huán)境一套寫(xiě)讀回環(huán)的task就夠發(fā)現(xiàn)90%的問(wèn)題。我的習(xí)慣是寫(xiě)幾個(gè)SystemVerilog的task分別覆蓋單次寫(xiě)、單次讀、寫(xiě)后讀、連續(xù)寫(xiě)、帶等待的寫(xiě)。// 單次寫(xiě)任務(wù) task apb_write(input [31:0] addr, input [31:0] data); (posedge PCLK); PADDR addr; PWRITE 1b1; PWDATA data; PSEL 1b1; PENABLE 1b0; (posedge PCLK); PENABLE 1b1; (posedge PCLK); while (!PREADY) (posedge PCLK); PSEL 1b0; PENABLE 1b0; endtask // 單次讀任務(wù) task apb_read(input [31:0] addr, output [31:0] data); (posedge PCLK); PADDR addr; PWRITE 1b0; PSEL 1b1; PENABLE 1b0; (posedge PCLK); PENABLE 1b1; (posedge PCLK); while (!PREADY) (posedge PCLK); data PRDATA; PSEL 1b0; PENABLE 1b0; endtask這兩個(gè)task的寫(xiě)法有幾個(gè)講究。驅(qū)動(dòng)信號(hào)用非阻塞賦值采樣用阻塞賦值這是避免仿真競(jìng)爭(zhēng)的基本功。PREADY的等待用了while循環(huán)兼容帶等待的從機(jī)。讀數(shù)據(jù)在PREADY有效的時(shí)鐘沿之后采樣保證拿到的是穩(wěn)定值。驗(yàn)證時(shí)我一般會(huì)覆蓋這幾類場(chǎng)景復(fù)位后所有寄存器是否為0、逐個(gè)寄存器寫(xiě)讀回環(huán)、連續(xù)訪問(wèn)相鄰寄存器、訪問(wèn)越界地址、以及帶等待狀態(tài)的從機(jī)如果你的從機(jī)有等待邏輯一定要寫(xiě)一個(gè)專門測(cè)它。寫(xiě)讀回環(huán)是最有價(jià)值的因?yàn)樗芡瑫r(shí)暴露寫(xiě)路徑和讀路徑的問(wèn)題。6.2 常見(jiàn)問(wèn)題速查表下面這張表是我這些年debug APB問(wèn)題時(shí)用得最多的幾乎每次出問(wèn)題都能在里面找到對(duì)應(yīng)項(xiàng)?,F(xiàn)象可能原因排查方法總線永久等待波形上PENABLE一直高、PREADY一直低PREADY未驅(qū)動(dòng)或邏輯錯(cuò)誤檢查PREADY的默認(rèn)值和組合邏輯分支讀到的數(shù)據(jù)是全0或恒定值PRDATA未驅(qū)動(dòng)、地址譯碼未命中檢查read_en條件、地址譯碼范圍寫(xiě)進(jìn)去的值和期望不符PWDATA采樣時(shí)機(jī)錯(cuò)、PSTRB未處理檢查寫(xiě)使能是否含PENABLEPSTRB邏輯只在連續(xù)傳輸時(shí)出錯(cuò)等待計(jì)數(shù)器或狀態(tài)機(jī)未清零檢查復(fù)位條件是否包含傳輸結(jié)束上板后偶發(fā)讀錯(cuò)時(shí)序違例或跨時(shí)鐘域看時(shí)序報(bào)告檢查CDC同步器SETUP相位就寫(xiě)寄存器寫(xiě)使能漏了PENABLE寫(xiě)使能必須同時(shí)包含PSEL、PENABLE這張表我建議你打印出來(lái)貼在顯示器邊上。尤其是第一條和最后一條新手幾乎必踩。6.3 我踩過(guò)的坑和幾條經(jīng)驗(yàn)分享幾個(gè)真實(shí)的坑都是文檔里不會(huì)寫(xiě)的。第一個(gè)坑是**仿真通過(guò)不代表上板通過(guò)**。我做過(guò)一個(gè)APB從機(jī)仿真里讀數(shù)據(jù)用的是組合輸出時(shí)序報(bào)告也沒(méi)報(bào)違例因?yàn)榉抡嬗玫氖抢硐肽P徒Y(jié)果上板后偶爾讀到舊值。根本原因是組合路徑在實(shí)際工藝下有延遲從機(jī)的讀多路選擇器輸出到PRDATA的路徑在某個(gè)corner下超了。后來(lái)改成寄存器輸出問(wèn)題消失。結(jié)論讀數(shù)據(jù)路徑如果較長(zhǎng)優(yōu)先用寄存器打一拍別圖省事。第二個(gè)坑是PSTRB的默認(rèn)值。APB4之后PSTRB是必選項(xiàng)但很多老的主設(shè)備模型或者簡(jiǎn)單的橋會(huì)把PSTRB恒定為全1。如果你的從機(jī)做了字節(jié)選通仿真時(shí)全1當(dāng)然沒(méi)問(wèn)題但一旦接上一個(gè)會(huì)部分選通的主設(shè)備沒(méi)處理PSTRB的從機(jī)就會(huì)把整個(gè)32位都寫(xiě)進(jìn)去覆蓋掉不該改的字節(jié)。所以從機(jī)一定要按PSTRB逐字節(jié)判斷哪怕當(dāng)前環(huán)境里PSTRB恒為全1。第三個(gè)坑是地址對(duì)齊。APB的地址通常是字對(duì)齊的PADDR的低兩位在32位訪問(wèn)時(shí)可以忽略。但如果你用PADDR[1:0]去做寄存器索引就會(huì)出錯(cuò)。我一般用PADDR[5:2]之類的低位去索引寄存器確保每個(gè)寄存器占4字節(jié)地址步進(jìn)是4。如果用PADDR[3:0]直接索引相鄰寄存器的地址就重疊了。最后一個(gè)經(jīng)驗(yàn)是關(guān)于PSLVERR的默認(rèn)值。我一般默認(rèn)讓從機(jī)的PSLVERR恒為0錯(cuò)誤上報(bào)交給橋的譯碼邏輯統(tǒng)一處理。這樣做的好處是從機(jī)邏輯簡(jiǎn)單錯(cuò)誤處理集中在一處方便統(tǒng)一維護(hù)。如果你讓每個(gè)從機(jī)各自處理錯(cuò)誤最后會(huì)出現(xiàn)有的從機(jī)報(bào)錯(cuò)有的不報(bào)的混亂局面軟件完全沒(méi)法統(tǒng)一判斷。關(guān)于APB的后續(xù)擴(kuò)展如果你已經(jīng)吃透了基礎(chǔ)讀寫(xiě)下一步可以研究?jī)蓚€(gè)方向一是APB5的PWAKEUP和低功耗握手這在做超低功耗SoC時(shí)是繞不開(kāi)的二是自己寫(xiě)一個(gè)AHB到APB的橋把地址譯碼、協(xié)議轉(zhuǎn)換、CDC完整實(shí)現(xiàn)一遍。橋?qū)懲四銓?duì)整個(gè)AMBA層級(jí)關(guān)系的理解會(huì)上一個(gè)大臺(tái)階。我自己就是寫(xiě)完橋之后才真正明白為什么APB不需要仲裁、為什么慢速外設(shè)要單獨(dú)掛一條總線——這些設(shè)計(jì)選擇不是隨意的每一條都在面積、功耗、時(shí)序之間做了精確的權(quán)衡。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
狠狠色噜噜狠狠亚洲A∨| 武则天精品久久| 五月深爱网| 岛国AAAV| 五月婷婷综合在线| 99re免费精品视频| 八戒青柠影视剧在线观看| 九九热亚洲中文在线观看免费| 热99在线| A网在线欧洲| 久久综合55| 精品成人a v无码内射| 国产中文字幕在线视频免费观看| 国产精品久久99| 亚洲天天操| 色综合播放| 亚洲AV在线免费看| 一起草无码| 婷婷色播婷婷| 97超级啪啪在线观看| 热久视频| 激情综合5| 操操啪| 3p日韩网站视频| www,婷婷,com| 久久久久久久97| 婷婷在线观看五月天在线视频| 国产精品涩涩涩视频网站| 米奇影视资源婷婷狠狠色激情欧美五月丁香 | 99re思思精品视频在线观看| 午夜福利8055| 天天插天天插| 欧美黄色韩日网| 91超级碰碰碰| 五月婷婷丁香综合,亚洲天堂| 久色五月丁香视频| 久久五月天激情视频| 97超级碰碰碰久久久| 97色片| 丁香五月社区| 丁香婷婷色情| www色中色综合| 久久久性爱视频| 激情九九这里只有精品| Av大香蕉| 婷婷五月天大香蕉| 久久精品国产AV一区二区三区 | 91视频精品99| 99在线观看视频| www.超碰| 99精品视频推荐| 色五月激情五月天| 五月天激情久久| 亚洲综合激情五月天婷婷| 激情九月丁香婷婷| 天天肏夜夜肏| 在线天堂9| 五月天激情Av| 亚洲Va成人| 久久久久九九九九视屏小说88| 久久婷婷五月丁香网| 五月婷婷色男女| 97ai婷婷| 伊人久久婷婷五月综合97色| 99精品久久| 婷婷综合五月色播| 婷婷五月天激情偷拍| 婷婷色五月天色| 成人国产欧美大片一区| 五月天婷婷av| 999久久久国产精品| 蜜乳A√| 五月婷婷婷综合网| 欧美日韩日韩成人| 色五月婷婷丁香凹凸| 天天天天操| 欧洲亚洲精品| 九色无码| 爱iii做iiii日日| 色综合激情| 亚洲视频图片婷婷五月| 26uuu欧美激情另类| 播五月婷婷开心| 超碰97免费在线| 丁香综合| 碰97 久| 噜噜五月天综合| 成人精品亚洲性爱| 永久AⅤ1| 99久久久国产精品免费蜜乳tv| 99无码视频| 丁香六月av| 亚洲精品一区中文字幕乱码| 国产成人网址| 91九色精品熟女内射| 亚洲天堂aaaa| 丁香婷婷色五月| 五月丁香天堂网婷婷| 色婷视频| 久久久久久xxxxx| 六月婷婷久久| 日韩综合网络男女香蕉a片| 美欧成人视频| 综合色吧| 日本一级一片免费视频| 亚洲在线操| 777久久久| 婷婷情色五月| 五月婷婷综合色啪首页 | 色婷婷综合网| 色色色成人网| 亚洲色婷婷| 五月在线| 色色无码| 丁香六月丁香婷婷激情| 97碰 在线视频观看| 俺也去五月婷婷丁| 大香蕉丁香五月| 激情五月成年| 青青草Avb在线| 激情综合九| 影音先锋自拍网| 偷拍视频五月天| 99精品视频在线免费观看| 96精品久久久久久久久| 97碰碰在线看视频免费| 婷婷丁香九月| 五月六月播婷婷| 综合九九久久| 9久热免费视频99| 91丁香| 成人VAV视频在线观看| 99热香港| 成人啪啪色婷婷久| 九九干视频| 草草影院爱爱| 久久久WWW| 色婷婷六月天| 天天干夜夜操A片| 青青草tp| 五月丁香va| 日本99久久| 五月丁香大香蕉| 九月激情网| 99热这里是精品| 色色五月天激情| 亚洲色碰| 激情5月婷婷狠狠干| 日本特黄aaaaa| 色色永久| 五月婷视屏在线观看| 人人爱国产| 很很干天天干| 色婷五月天| 日本系列_4页_777FP| 久99久精品| 久久五月激情综合| 五月天综合网| 天天综合网色欲香| 色婷婷狠狠18禁| 亚州激情网| 伍月激情天| 综合五月激情网| 精品久久婷婷| 天天天久久久| 亚洲夜夜操| 亚洲 六月 综合| 久久九九热视频| 狠狠色丁香婷婷久久综合| 五月丁香综合中文| 99久久婷婷国产综合精品草原| 日本熟妇乱妇熟色A片蜜桃| 五月丁香综合精品欧美| 超碰在线观看9| 婷婷激情五月| 天天操天天日天天操| www夜夜操| 久久xxxx| 五月婷婷亚洲天堂97色婷婷| 99热99色| 婷婷五月天激情五月天深爱五月天| 五月激情影院| 最近中文字幕大全免费版在线| 色99综合色88| 久久婷婷热| 伊人超碰| 婷婷五月天影院| 国产成人一区二区三区在线观看| 久久久久久久久久久月丁| 99ri视频| 五月婷婷花| 秋霞AV淫| 伊人网色婷婷五月天| 九月激情综合| 婷婷五月天综合中文| 免费婷婷| 热99热久| 婷婷丁香五月天在线视频| 激情文学五月丁香六月婷婷| 免费看欧美成人A片无码 | 99久热这里有精品| 五月天激情小说网| 色综合久久之分久久| 亚洲秘 无码一区二区三区妃光/1| 婷婷五月天成人五月天| 一本色道久久88综合日韩精品| 久久免费丁香| 五月色网| 久久久久久99精品无码| 伊人五月天婷婷| 欧美成人性爱网| www激情| 日本久久爽| 五月婷婷激清网| 丁香六月啪啪| 亚洲婷婷五月草久| 久久婷婷午夜| 综合九九久久| 日日噜狠狠| 日本五月婷婷久久久六月丁香| 人妻AV在线| 亚洲色五月| 99在线精品观看99| 超碰操网| 五月丁香福利| www.henhengan| 婷婷五月丁香基地| 肏屄色播伊人97婷婷| 深爱激情av| 激情五月天综合| 国产亚洲av片| 五月宗合激情网| 色五月婷婷中文字幕| 欧美日韩五月婷婷| 久久成人人妻| 99久久超级| 色婷婷五月天亚洲| 五月婷婷婷婷| 综合AV在线| 九九婷婷网五月天| 91干99| 女人天堂av| 五月婷婷六月丁香| 99九无网码| 激情五月天社区| 黄色录像网点| 婷婷五月天婷婷| 欧美在线视频99| 狠狠人妻色综合| 亚洲A色| 欧美性猛交XXXX乱大交极品| 午夜美女人啪最红院| 国产超碰在线| 婷婷狠狠97| 婷婷激情小说| 婷婷精品视频| 婷婷五月AV| 日日色综合| 日本美女97在线视频| 丁香五月天激情五月天激情五月天激情网 | 婷婷的激情五月| 五月丁香无码| 99热e| 91要啪| 丁香六月婷婷社区| www.色婷婷| 2005天天干天天1| 久久 视频这里只有精总| 日本精品人妻无码77777| 色婷婷五月六月丁香综合视频| 97干免费视频| 99re66热这里只有精品| 狠狠干狠狠色| 免费试看小视频 99| 大地资源色婷婷视频在线| 亚洲另类婷婷五月丁香在线播放| 亚洲激情另类| 婷婷婷五月天最新综合你懂的| 欧美日韩中文国产一区发布| 先锋av性爱成人电影| 51精品国自产在线| 99日这里只有精品| 日本久久人| 五月婷婷五月色| 超碰在线超碰| 99色在线| 在线伦子99热| 香蕉婷婷色五月| 亚洲av综合网| 这里只有精品视频在线| 五月丁香六月情婷婷久久| www五月婷婷| 国产资源91在线| 久久五月天精品视频| 亚洲狠狠婷婷综合久久久| 国产69久久久欧美黑人A片| 日日干日日s| 婷婷婷婷午夜| 久久99热免费最新版| 久激情| 视频一二区| 91日本在线观看| 成人AV在线电影| yazhouzonghesese| 久久综合播放| 丁香六月激情| 狠狠狠狠狠狠狠狠| 99综合视频在线| 无码人妻AV久久久一区二区三区| 婷婷丁香十月| 婷婷丁香六月五月天| 欧美丰满熟妇BBB久久久| 俺也去综合| 婷婷金品综合视频| 夜夜操狠狠操| 狠狠色丁香| 婷婷五月天av| 五月婷婷开心网| 日韩综合网络男女香蕉a片| 九月婷婷丁香| 成人视频在线免费播放| 国产亚洲精品AAAAAAA片| 婷婷深爱五月丁香网| 狠狠综合色网| 国产成人精品亚洲线观看| 亚洲小视频| 国产av基地| 国产偷人爽久久久久久老妇APP| 色五月成人在线| 婷婷五月天久久综合88| 亚洲国产精品二二三三区| 婷婷六月激情在线视频| 五月天丁香六月综合| 婷婷欠久少妇| www.婷婷| 色婷婷六月丁香综合欲精品| 五月丁香激情四射综合| 亚洲av成人一区二区电影在线| 狠狠色噜噜狠狠狠狠综合| 深爱婷婷色| 影音先锋男人资源站一区二区 | 日韩久热| 婷婷丁香五月基地| 日本色婷婷| 精品久久人妻| 天天干天天日日| 久久激情天堂| 亚洲99精品九九在线| 久久婷婷啪啪视频| www色中色综合| 综合久久高清| 男人的天堂在线婷婷| 性色五月天| 91视频综合网| 欧美大片| 人妻内射视频| 婷婷色在线播放| 欧美色小说婷婷| 久久九九玖玖| 亚洲色色五月天| 欧美情色电影一区二区| 日本三级韩三级99久久| 99在线观看视频| Www,五月天| 久久黄色网扯| 久久五月婷婷电影| 91互操| 亚洲中文字幕翔田千里| 欧美精品中文字幕亚洲专区| 婷婷基地爱| 丁香婷婷五月天在线视频| 夜夜爽日日躁| oumeisesewang| 色99网| 性爱五月婷婷| 香蕉五月婷婷| 亚洲另类AV| www五月婷婷88导航| 五月丁香婷婷综合网| 久9视频免费播放| 久久婷婷五月综合伊人| 欧美色色色| 99热网站| 五月丁香成人网| 丁香五月婷婷综合激情哟哟哟| 亚洲成av人影院| 国产激情综合五月久久| 丁香婷婷色五月| 综合网啪| 婷婷五月天在线看| 中文字幕av在线| 91性人人| 色九月国产| 久草视频大香蕉99| 97精品综合久久内射| 99A片| 在线看的免费网站| 8090在线影视少妇| 成人精品视频99在线观看免费| 九九热精品在线| 91超碰在线观看| 可以看的av| www.亭亭五月天| 亚洲第一色色色色| 亚洲行行色色| 婷婷激情五月天在线| 米奇影视资源777狠狠色婷婷五月天激情网 | 欧美噜噜久久久XXX| 婷婷亚洲天堂| 在线视频色五月| 99久久久久| 婷婷色色欧美| 大香蕉啪啪| 久久99久久99精品免观看粉| 色欲av伊人久久大香线蕉影院| 91色噜噜狠狠狠狠色综合| 国产激情在线观看| 日韩在线视频中文字幕| 欧洲永久精品| 六月丁香啪| 激情婷婷五月天伊人在线观看| 精品无码色| 99热99热在线观看| 婷婷五月天com| 五月天激情.com| 玖玖资源站视频| 天天做天天爱天天要| 99热九九热| av性爱网站| 丁香五月在线| www婷婷| 五月丁香六月激情在线| 中字幕视频在线永久在线观看免费 | 色色婷| 五月天免费色| 婷婷五月天男人影院色色网| www.99热| 丁香六月激情综合| 狠狠ri| 五月天久久激情| 97干网站| 五月天婷婷丁香蜜桃91| 日日夜夜狠狠操| 色天堂在线| 色婷婷影视| 日韩中文字幕| 国产免费av在线| 婷婷综合| 新激情五月天色播| 久碰婷婷视频| 亚洲国产精品SUV| 91五月花丁香| 久久99网站| 五月天五月色| 99热天堂| 国产又爽又猛又粗的视频A片| 91av成人| 久99热| 久久婷婷婷婷伊人| 99热新网址| 婷婷六月激情| 色色亚洲99com| 超碰93在线观看| 天天弄天天爽| 九九99久久| 79精品视频在线观看,| 国产亚洲精品久久久久久久久动漫| 婷婷新网址| 九九热a| 天天操夜夜肏| 五月天社区| 青青久久五月| 婷婷在线播放av| 亚洲综合婷婷六月丁香五月| 成人看片网站| 五月激情久久| 日日操,日日爽| 天天日日夜夜| 久草婷婷网| 精品亚洲国产成AV人片传媒| 678五月丁香亚洲综合| 天堂综合久久| 在线免费视频caop| 99热99成人| 欧美va欧美va差| 天天天天天日| 香港九九六区八区99| 激情综合无码| 色婷婷五月视频| 日日干天天| 99热www| 综合99在线| 色播播五月天| 伊人久久丁香狠狠婷婷综合香蕉 | 人妻少妇色综合| 超碰京东热av男人的天堂| 狠狠狠婷婷五月综合| 久热免费| 91狼友视频网页更新| 99热在线播放| 五月婷婷丁香大陆免费| 狠狠色综合久久久久| 六月激情婷婷色| 婷婷情色五月天| 中文字幕丰满乱孑伦无码专区| 婷婷五月天最新综合你懂的| 日韩成人AV在线播放| 亚洲成人日韩无码精品| 天天综合.com| 深爱开心激情| 91热久久| 99re视频在线播放| 五月丁香婷婷啪啪综合| 五月天激情AV| 亚洲美女裸体被操在线观看| 丁香五月六月婷婷自拍| 99久久综合| 丁香五月中文字幕| 色综合丁香婷婷| 91在线看片| 五月丁香久久久日婷婷久久婷婷日| 丁香激情网| 大香婷婷| 五月婷婷五月色| www.久久久久久久久久.com| 色五月天视频| 91男同视频| 五月丁香六月综合情在线观看| 啪啪 综合网| 9热久久| 99热免| 99精品久久| 色优久久| 高清无码入口| 国产亚洲99| 久久色情| 丁香五月天啪啪| 无码区婷婷五月花开| 91丨九色丨老农村| 亚洲无码色| 亚洲AV成人无码电影| 99热99色| 亚洲爱婷婷| 欧美25p| 丁香五月九九| 久久婷婷五月天激情| 婷婷国产欧美97| 激情综合五月婷婷六月丁香| 婷婷日韩| 思思久久精品| 欧美网站视频4399| 日本色道视频网站| 六月丁香花婷婷| 日日色综合| 操操操操操操婷婷五月天| 婷婷五月天AV| 丁香五月自拍| 国产乱子轮XXX农村| 天天综合五月| 色天使色综合| 中文AV网| 婷婷九九| 激情综合久久| 亚洲 在线 性爱 | 婷婷婷五月香蕉| 亚洲天天| 天天综合网91| 中文字幕在线观看视频www| 国产色色网址网站| 人妻第九页| 人妻VideOssS人妻| 大香蕉75线| 98色花堂98t.R| 婷婷精品免费久久| 性做久久久久久久免费看| 激情综合五月激情| 丰满少妇猛烈A片免费看观看| 亚洲 在线 性爱 | 九九婷婷五月天| 91九色精品| 大香蕉啪啪啪| 天天拍久久| 五月婷免费视频| 99热播放| 五月天激情播播网| 97操碰98| 99精品一二三四视频| 久久免费精品小视频| 91久久婷婷| 久久婷婷色五月| 国产97色在线 | 日韩| 丁香五月婷婷影院| 九玖欧洲亚洲| 丁香五月综合久久综合| 日本狠狠色| 五月天深爱激情网| 五月丁香色| 亚洲熟妇AV乱码在线观看| 丁香六月婷婷综合在线| 婷婷五月天奸女| 亚洲激情综合| 无码任你操| 婷婷中文在线| 五月激情四射网站| 色婷婷免费观看| 天天在线久久综合 | 亚洲色图五月丁香| 夜夜噜夜夜奇| 欧美色图天堂网色| 噼里啪啦完整版中文在线观看| 婷婷五月天精品| 久久婷婷五月综合| 123日本不卡在线| 五月婷婷亚洲| 欧美英丁香开心快乐六月天网| 五月丁香激情综合六月涩涩爱| 国产精品色色| pom538精品视频| 六月丁香婷婷色综合| 丁香九月激情久久| 国产成人精品一区二区三区视频| 色导航色婷婷五月天在线观看| 色色五月天网站| 免费无码毛片一区二区A片| 久久开心五月天激情| www.91九色| www.99热国产| 一月婷婷色色| 思思热精品免费视频| 亚洲色图81p| 99热在线播放| 婷婷五月天基地| 人人色性网| 在线免费观看激情视频| 九九亚洲视频| 97碰超级人人看| 日本熟女一区二区| 国产伊人五月天| 九九亚洲无码| 97久久精品视频| 婷婷九月色| 2017人人操| 天天爽日日爽夜夜爽| 夜夜涩涩涩| 在线观看av网站| 99A片| 99国产精品久久久久久久久久久| av网址在线| 丁香六月欧美| 色婷婷香蕉丁丁网| 亚洲avjiujiur91| 亚洲av无码精品色午夜| 亞洲自怕| 国产精产国品一二三在观看| 丁香五月欧美| 91久久婷婷| 荷兰av一级| 久久五月天色| 丁香五月婷婷欧美成人色图| 五月天成人在线精品| 91凹凸在线| 九九无毛| 人人妖人人97| 丰满少妇乱A片无码| 色综合九九色综合88| 色播播婷婷| 亚洲无码九九| 六月天丁婷婷| 亚洲性图一区二区| 五月婷婷狠狠干| 激情婷婷五月色| 久久6这里只有精品| 九九视频免费| 久久婷婷五月天激情新地址| 丁香五月综合高清在线| 99免费综合网| 只有精品在线观看| 婷婷放心五日爱| 综合激情婷婷| 丁香五月婷婷久久综合激情网| 亚洲综合色色| 91九色在线| 91一起艹| 五月天亚洲图片婷婷| 99综合网| 综激情网| 丁香婷婷六月婷婷六月婷婷六月婷婷| 丁香 婷婷 激情 综合 五月| 五月久久婷婷丁香| 日本啪啪天堂| 婷婷偷拍网| 99re思思在线视频| 深夜婷婷五月丁香| 手机激情网| 久久婷婷欧美| 99热中国| 综合色五月| 六月丁香社区| 五月色综合| 99九九热在线观看| 91久久久久久久| 九九99九九99九九99视频网| 五月激情六月宗合| 日本欧美成人片AAAA| 内射爽无广熟女亚洲| 在线18av | 婷婷五月成人社区| 丁香五月色网| 婷婷丁香五月亚洲欧美| 桃色激情婷婷伊人网| 五月婷婷精品视频| 99在线精品免费视频| 婷婷五月天视频| 婷婷丁香97| 日本婷婷五月天| 国产精品99久久久久久久女警| 欧美三级巜人妻互换| 婷婷丁香精品视频在线观看| 久久98热re| 婷婷99狠狠躁天天躁| 亚洲人人96@| 日韩欧美骚货| 天天噜| 色色激情五月天| 91人久| 丁香六月婷婷社区| 欧美久热| 狠狠狠五月婷婷六月丁香| 成人va视频| 五月丁香成人| 狠狠操综合| 东京热免费视频| 天天肏夜夜肏| 亚洲AV成人无码精品| 久久综合婷婷五月| 亚洲美女婷婷五月天| 丁香五月中文字幕久色| 五月天操逼网| 曰韩少妇内射免费播放| 毛片蕉地一二| site:xiongshengzz.com| 亚洲一区二区无码蜜乳av| 99热思思| 日日做A爰片久久毛片A片英语| 久草视频大香蕉99| 99er6免费视频热播| 五月丁香六月欧美| 99色亚洲| 99无码精品| 在线色婷婷| 另类在线| 天天爽日日爽夜夜爽| 久久婷婷成人综合色怡春院| 9色资源在线| 激情综合网五月丁香| 亚洲色小说在线综合| 色香久久| 色吧婷婷五月亚洲| www..999热久| 日本激情五月| 久久婷婷六月综合| 九热av| 在线视频另类| 性生活久久朋友人妻| 亚洲综合另类| 婷婷丁香无码专区| 99久久亚洲精品视频| 玖玖资源在线视频| 欧美激情五月天| 色九九七七| 九九九午夜影院成人| 激情小说婷婷五月| 婷色五月| 大香蕉伊人久久| site:901-07.com| 久久99jiu9| 久久99婷婷| 激情五月,激情综合网| 日本丁香五月| 亚洲av无码精品色午夜| 五月婷婷m| 色婷婷综合视频| 成人午夜在线视频| 伊人成人宗合网| www.99久| 丁香五月婷婷亚洲另类| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 色综合网页| www.爱操com.| 精品一二三区久久AAA片| 97欧美在线| 伊人色综在线| 国产精品电影| 五月天亚洲图片婷婷| 美国十月色婷婷在线观看| 国产av网| 五月天激日本色情在线| 激情九月综合| 日本婷婷色| 久久激情四射| 五月婷视频久久| 五月丁香久久综合| 大香蕉75线| 久热这里只有精品99re,久热这里只有精品7| 婷婷精品免费久久| 91狠狠色丁香| 免费观看欧美成人AA片爱我多深| 婷婷激情伍月网| 五月天另类小说| 久久9精品| 黄网在线播放| 婷婷久久久| 99热在线观看| 99亚洲欧洲| 日本网站久久| 国产午夜一区二区三区| 成人一区在线观看| 狠狠色噜噜狠狠狠狠综合| 激情五月婷婷综合网| 国产精品99久久久久久久女警| 五月婷护士| 天天久| 人人干天天舔| 九九热在这里只有精品| 婷婷99狠狠躁天天久久久九九九| 思思视频精品| 五月天狠狠| 天天操天天爱天天日| 激情五月丁香五月| 综合AV在线| www.色婷婷| 色综合久久888| 99操逼| 2015好吊操| a在线观看| 九九家庭影院| 国产人妻人伦精品一区二区| 亚洲性爱电影| 日本色色图| 五月伊人网| 思思热精品在线视频| 亚洲综合婷婷| 色播播五月天| 五月婷婷和六月| 97caop| 激情五月天www| 日日噜噜久久婷婷五月天| 天天狠狠夜夜狠狠2023| 五月丁香综合影院| 色欲天天综合| Www99热| 婷婷五月天激情小说| 久操人妻| 激情深爱五月天| 婷婷性爱无码视频| 青青草99re| 五月天偷拍| 久操大| 可以免费观看的av| 五月婷婷偷| 日本不卡高字幕在线2019| 开心五月综合| 第四色网婷婷| 无码人妻一区| www99在线观看视频| 五月丁香综合激情网| 五婷婷六月合| av不卡网站| 激情五月天综合网| 九九99久久| 人人人操 超碰| 婷婷香五月天| av第一二区| 亚洲精品视频在线播放| 热久久66| 操人视频91| WWW,五月天| 久草热久草在线视频| 伊人午夜综合色啪| 亚洲婷婷激情综合激情999精品| 五月天激情图片| 狠狠干激情五月| 丁香久久九九99| 五月天婷婷在线AN| 丁六月激情| 99九九这里有免费视频| 男女免费视频999| 丁香五月花婷婷开心| 国产亚洲AV人片在线| 人妻无码精品一区| 淫荡家庭AV| 91黄色五月天视频| 色三级色三级| www.伊人天堂偷偷婷婷| av无码电影| 99精品偷自拍| 99视频在线精品| 第四色婷婷日本| 欧美色偷偷大香| 这里只有精品1| 婷婷5月九九| 1024人妻| 日韩AV一区二区三区| 丁香午夜天| 天天天天爽爽天干| 人人操女人| 午夜精品久久久久久久爽| 99re热免费观看视频精品| 日韩成人av在线| 热99玖玖99玖玖99九九| 色999五月色| 日日操日日爽| 99爱视频精品在线观看| 亚洲另类AV| 99热精品在线观看| 激情久久丁香| 亚洲99在线视频| 九九热婷婷| 五月日韩中文字幕| 天天爽人人综合免费7799| 久久AV电影| 婷婷丁香五月天婷婷| 9久操| 无码AV免费精品一区二区三区| 99狠狠操一| 狠狠色性| ww久久| 狠狠色婷婷色| 国产精品18久久久| 无码色| 久99热| 99er6| 夜夜资源站| www.久操| 男女啪啪做爰高潮无遮挡| 91超级碰| 欧美性爱五月天| 99在线国| 99热 免费| 天天色图| 色综合香蕉视频| 久草热久草在线视频| 91天天操天天干天天射| 特级西西4444www无码| 五月婷婷中字在线| 99爱视频精品| 成人电影在线免费试看| 九九精品婷| 丁香五月天堂婷婷| 99热免费| 色五月首页| 99视频九九热| 五月天社区狠狠| 五月天婷婷丁香花| 五月天激情小说婷婷| 9超碰在线| 密视AV综合在线| 黄色片avv| 国产99久久久国产精品免费看| 久久久久久97| 天天日夜夜曹| 久久人妻www| 99在线国| 先锋资源 996| 天天日夜夜草进麻麻的子宫| eeuus五月婷| 99视频内射三四| 丁香五月另类色婷婷麻豆| 91热视频色网站| 中文字幕网站在线观看| 性爱五月婷| 欧美一级毛卡片无码| 狠狠色 综合色区| 香蕉人妻AV久久久久天天| 亚洲激情综合| 婷婷97| www.久久久久| 99热老网站| 夜夜 操无码| 五月婷婷六月丁香| 色色婷婷丁香| 人人爱操| 91久久久久久| 亚洲永久免费| 六月丁香啪啪| 五月天婷婷久久视频| 五月丁香网站| 激情丁香五月婷婷| 成人无码髙潮喷水A片| 五月天色五月| 中文字幕无码人妻少妇免费视频| 成人做爰A片免费看网站找不到了| AV九九| 婷婷色网| 日本精品人妻无码77777| 少妇伦子伦精品无吗| 国产一区二区av免费| 五月天婷婷婷| 亚洲情欲久久| 伊人婷婷91| 26UUU欧美激情一区二区| 五月丁香久人妻中文| 91久久电影| 色婷婷免费视频| Av大香蕉| 五月丁香色色网| 五月天色播网| 成人婷婷深爱综合网| 开心五月婷婷在线| www.五月丁香| 丁香婷婷五月天激情四射| 丁香六月五月天| 欧美肉大捧一进一出免费视频| 九八Av| 亚洲区1| 久热超碰91| 欧美极品999| 天天操夜夜啊| 激情五月五月五月婷婷| 婷婷网五月天| 久久久97| 激情五月综合网| 五月丁香婷婷综合网| 久久视频在线视频| 色九九九综合| 五月天婷婷基地综合网| 亚洲天堂亚洲色色色| 婷婷涩五月天综合| 99热官网| 久久激情五月| 五月婷护士| 伊人玖玖精品| 五月丁香五月丁香| 五月丁香六月激情啪| 开心婷婷五月| 99热这里只有精品在线| 日本操B视频在线观看| 日韩美一级毛卡片| 69久久99精品久久久久婷婷| 亚洲综合激情五月天婷婷| 丁香五月第四色88| 九九精品视频在线观看| 色婷婷综合久久久久| 成人免费120分钟啪啪| 伊人成综合五月婷婷| 色丁香五月婷婷| 婷婷婷五月天最新综合你懂的| 伊人激情影院| 国产午夜精品AV一区二区麻豆| 婷五月天| 五月婷婷色色| 99er热精品视频| 97自拍视频在线| 99精品丁香五月| 热九九精品| 五月婷婷六月基地| 99ri国产在线| 久久精品99国产精品日本| 亚洲一区二区 成人网站戴套| 久久综合爱| www.五月激情.com| 色色色婷婷五月| αv中文字幕在线观| www.色情五月天.com| 天天日夜夜B久久| 五月天婷婷7米| 亚洲黄色精品| 五月丁香婷婷欧美色图视频五月丁香777电影 | 丁香五月天AV| 色5月婷婷色| 亚洲性爱AV在线| 操逼电影免费看| 秋霞黄色一级久久| 99爱在线视频| 久久久国产精品黄毛片| 亚洲天堂爱爱| 婷婷五月天偷拍| 夜夜谢天天干| 国产成人AV在线播放| renre人人操国产超碰在线| 日韩黄色电影| 精品国婬伦V无码久久久| 如何安全看伊人婷婷| 六月丁香激情综合| 日韩 中文 欧美| 久久婷婷免费| 婷婷五月天播| 69色婷婷| 婷婷大香焦| 色婷婷六月性| 91精品综合久久婷婷九色| 亚洲六月综合激情久久下卡| 五月丁香激情综合网| 狠狠干综合| 丁香五月瑟瑟| 四色永久成人网站| 天天插天天射| 最新无码专区| 99 热国产在| 在线观看免费狠狠色丁香香综合| 久久久天堂国产精品女人| 99久在线视频| 日本欧美成人片AAAA| 91操黄| 99er在线观看| 99九九久久| 久久久97| 99热亚洲| 五月天之色情综合网| 99久久久国产精品免费蜜乳tv| 年轻的妺妺伦理HD中文| 色婷婷成人| 婷婷五月天精品| 亚洲黄网在线| 激情五月婷婷在线区| 天天操天天插| 激情五月天久久丁香| 人人97碰| 国产综合婷婷| 激情五月丁香六月综合AVXXXX| 欧美日韩二区在线| 99久久综合网| 天天爽天天操| 97精品欧美91久久久久久久| 五月天婷婷激情小说电影| 激情网 久久| 丁香五月亚洲综合| 久久久99精品免费观看| 五月伊人综合| 色欲久久综合| 成人看片网站| 丁香五月婷婷五月天| 天综合日日夜综合7799| 五月丁香六月婷婷的女人| 婷色天堂| 天天操夜夜夜拍拍拍| 黄色五月婷婷| a九九热www| 激情综合网激情五月天| 综合网网欲色| 丁香婷婷激情五月天无毒不卡蜜桃| 丁香五月色色婷| 《蜘蛛女》梁铮1995| 一区二区你懂的| 涩涩网五月天| 内射 无码 伊人| 五月激情综合深爱| 丁香五月色激情| 99性爱视频网站| 丁香五月天视频| www.五月天婷婷姐姐| 青青草视频免费观看| 丁香婷婷六月天| 丰满少妇乱A片无码| sewuyuejiqingwang| 丁香五月婷婷天激情| 婷婷香五月综合激情| 成人无码髙潮喷水A片| 天堂五月婷婷| av高清无码| 国内婷婷丁香社区在线播放| 婷婷五月花| 区区久久妻| 色综合网址| 超碰国产在线| 极品人妻VIDEOSSS人妻| 99色区| 九九成人| 婷婷综合网站| 色色网91| 色色色综合色| 9l视频自拍九色9l视频在线观看| 这里只有精品视频99| 性爱激情小说AV五月丁香花| 婷婷丁香五月色| 高清视频一区| 天天色播| 九九精品片一| 亚洲AV久久久久久久久久久久久久久久 | 国产一二区爆乳_1国产日韩一区二区三-成人AV| 日韩成人精品一区久久久久| 婷婷五月天社区| 亚洲久热无码| 综合五月丁香97| 亚洲六月婷婷| 玖玖综合色| 久久精品国产AV一区二区三区 | 五月婷综合激情| 天天日天天爽| www色色com| 亚洲欧洲中文日韩久久AV乱码| 翔田千里aV中文字幕| 91嫩草国产线观看亚洲一区二区| 精品乱码久久久久| 99久久久| 国产小精品| 亚洲色情一区二区三区四区| www.久操| 九九久久五月天| 亚洲Av入口| 99热999| 五月天婷婷丁香基地在线观看| 久草大| 99网| 五月天色区| 狠狠干五月天婷婷网| 超碰69天堂| 亚洲精品激情| 久久99久久久久久| 99九九这里有免费视频| 香蕉婷婷色五月| 日韩成人网站精品久久大全| 色吧网综合| 婷婷另类小说| 五月天国产成人| 婷婷五月天渟渟| 国产激情久久久| 婷婷五月丁香五月基地| 丁香五月欧美| 色五月婷婷五月丁香五月激情五月视频| 精品夜夜澡人妻无码AV| 五月天天视频| 一夜福利不卡| 97色婷婷在线观看| 色99色| 五月天久久久| 九九操屄| 丁香五月影院| 五月丁香啪啪网| 婷婷欧美偷拍综合| 一级黄色操B| 丁香五月婷婷社区| 激情综合激情五月| 大香蕉人人人| 欧美成人AAA片一区国产精品| 丁香婷婷成人网站| 久久总和99| 91久久人人操| www.91色| 激情亚洲婷婷| 久久66精品| site:xiongshengzz.com| 色偷偷人人| 欧美日韩91| 激情久久丁香| 天天干夜夜b| 色综合久久44| 99视频在线观看地址| 色综合色色| 日日爽日日| 国产一级片| 9久久久| 丁香婷婷九月在线| 操碰97| 婷婷激情综合| 国产在线另类五月婷婷| 深爱五月婷婷开心中文字幕| 国产色色色色色| 五月婷色色| 思思热在线视频精品| 深爱五月亚洲| 色狠狠五月天| 91免费看片| 亚洲Av成人在线观看| 婷婷在线中文字幕| 婷婷香蕉|