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

ARTICLE DETAIL

資訊詳情

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

SystemVerilog約束隨機(jī)驗(yàn)證精講:rand、constraint與dist實(shí)戰(zhàn)

SystemVerilog約束隨機(jī)驗(yàn)證精講:rand、constraint與dist實(shí)戰(zhàn) 你有沒有遇到過這種情況定向測(cè)試寫了幾十個(gè)用例覆蓋率還是差口氣或者隨機(jī)化用例一跑報(bào)錯(cuò)一大片你根本不知道約束哪里寫擰了。在SystemVerilog驗(yàn)證里隨機(jī)化策略是非常核心的一環(huán)核心就落在三個(gè)關(guān)鍵詞上rand隨機(jī)變量、constraint約束、dist權(quán)重以及隨機(jī)數(shù)怎么產(chǎn)生。很多剛接觸驗(yàn)證的人會(huì)把SystemVerilog的約束隨機(jī)和C語言里的rand()畫等號(hào)覺得無非是生成幾個(gè)隨機(jī)數(shù)結(jié)果一上手寫UVM就懵了。這篇文章我就從驗(yàn)證從業(yè)者的角度把這套機(jī)制和實(shí)際示例放在一起拆開講清楚適合剛接觸UVM的驗(yàn)證工程師、準(zhǔn)備面試的在校學(xué)生以及想理解約束隨機(jī)驗(yàn)證到底在解決什么問題的讀者。1. 為什么要用隨機(jī)化策略從定向測(cè)試到約束隨機(jī)驗(yàn)證1.1 定向測(cè)試的瓶頸在哪里早年做驗(yàn)證主要靠定向用例也就是你根據(jù)設(shè)計(jì)規(guī)格把功能點(diǎn)一條條列出來然后為每個(gè)功能點(diǎn)手寫輸入激勵(lì)再檢查輸出是否正確。這種方式在小規(guī)模模塊驗(yàn)證時(shí)沒什么問題但一旦設(shè)計(jì)規(guī)模上來缺陷就很明顯功能點(diǎn)多到一定程度后用例數(shù)量會(huì)爆炸。比如一個(gè)簡(jiǎn)單的AHB總線接口地址對(duì)齊、burst類型、transfer大小、保護(hù)信號(hào)、master/slave組合每個(gè)維度交叉一下就是幾百個(gè)組合靠手寫定向用例驗(yàn)證工作量會(huì)變得非常夸張。更麻煩的是定向用例只能覆蓋到“你想到的”場(chǎng)景。設(shè)計(jì)人員寫RTL時(shí)的邊界條件、跨時(shí)鐘域交互、異常路徑這些靠人肉枚舉非常容易漏。我見過不少項(xiàng)目定向用例全過了chip一集成到SoC就出問題回頭一查是某個(gè)狹窄的地址邊界組合從來沒被定向用例打到過。1.2 約束隨機(jī)驗(yàn)證的適用場(chǎng)景約束隨機(jī)驗(yàn)證Constrained Random VerificationCRV要解決的就是“用例覆蓋不全”和“用例數(shù)量爆炸”這兩個(gè)問題。它的思路是驗(yàn)證人員不再一個(gè)個(gè)手寫激勵(lì)而是定義好輸入空間寫清楚“合法范圍”然后讓求解器在這個(gè)范圍內(nèi)隨機(jī)生成輸入。就像你不再親手做每一頓飯而是給廚師一臺(tái)能做任意菜色的機(jī)器你只需要告訴它今天不吃辣、不放香菜、必須用雞肉剩下的交給它自己發(fā)揮。CRV可以說是目前芯片驗(yàn)證的主流方法論UVM最核心的機(jī)制之一就是建立在約束隨機(jī)之上。它適合的場(chǎng)景包括協(xié)議級(jí)驗(yàn)證AXI、PCIe、Ethernet、總線仲裁與隨機(jī)延時(shí)、寄存器配置、數(shù)據(jù)通路的數(shù)據(jù)包生成等。只要是輸入空間大、組合多、定向用例寫不過來的場(chǎng)景約束隨機(jī)都能顯著提升驗(yàn)證效率。但注意約束隨機(jī)不是銀彈。它適合“空間大、需要大量組合覆蓋”的場(chǎng)景不適合“路徑極其精細(xì)、需要完全確定性”的場(chǎng)景后者仍然要配合定向用例或斷言來補(bǔ)。1.3 隨機(jī)化策略的核心三件套rand、constraint、dist理解了CRV的動(dòng)機(jī)再看SystemVerilog里實(shí)現(xiàn)CRV的三個(gè)關(guān)鍵詞就非常自然了。rand聲明一個(gè)變量是隨機(jī)變量。只有加了rand或randc前綴的成員變量在調(diào)用randomize()時(shí)才會(huì)被求解器賦隨機(jī)值。constraint定義約束塊用來限制隨機(jī)變量的取值范圍、變量之間的相互關(guān)系、條件約束等。沒有約束的隨機(jī)是無序的約束讓隨機(jī)變得“合法且可控”。dist在constraint塊中定義權(quán)重分布。它解決的是“合法空間內(nèi)如何偏重某些取值”的問題讓隨機(jī)不是均勻分布而是按業(yè)務(wù)場(chǎng)景調(diào)整概率。三者配合的邏輯是rand確定哪些字段會(huì)變constraint保證變化合法dist控制變化的偏向。這就像選人面試rand是候選人池constraint是崗位要求學(xué)歷、經(jīng)驗(yàn)、技能dist是你在眾多符合要求的候選人中更想看哪一種背景的人的比例。2. 核心機(jī)制拆解rand變量、constraint約束、dist權(quán)重怎么用2.1 rand與randc隨機(jī)變量的聲明與區(qū)別先看一個(gè)最簡(jiǎn)單的類定義class packet; rand bit [7:0] addr; rand bit [31:0] data; randc bit [1:0] prio; endclass這里的addr和data是rand變量每次調(diào)用randomize()都會(huì)隨機(jī)生成一個(gè)新值允許重復(fù)。prio是randc變量randc是循環(huán)隨機(jī)random-cycle它會(huì)盡可能遍歷所有取值在遍歷完所有可能值之前不會(huì)出現(xiàn)重復(fù)值。比如prio只有0、1、2、3四個(gè)值第一次隨機(jī)可能是2第二次可能是0第三次可能是3第四次是1四輪走完才算一個(gè)循環(huán)然后又開始下一輪遍歷。這個(gè)區(qū)別在驗(yàn)證中很關(guān)鍵。如果你希望某個(gè)配置字段每個(gè)值都能被反復(fù)跑到但又希望短時(shí)間內(nèi)盡可能覆蓋全比如仲裁優(yōu)先級(jí)、地址掃描的page編號(hào)用randc就非常合適。而一般的數(shù)據(jù)包內(nèi)容、地址偏移等用rand就足夠了因?yàn)閿?shù)據(jù)空間大你用randc也沒法真正“遍歷完”反而會(huì)增加求解器的負(fù)擔(dān)。我實(shí)際用下來的感受是randc適合小范圍窮舉類字段rand適合大范圍隨機(jī)類字段。如果在小范圍字段上用了rand而不是randc隨機(jī)種子不夠好的時(shí)候可能會(huì)連續(xù)幾次隨機(jī)到同一個(gè)值導(dǎo)致覆蓋率收斂變慢。2.2 constraint約束塊別把約束寫成硬編碼約束塊的語法比許多人想象的簡(jiǎn)單class packet; rand bit [7:0] len; rand bit [7:0] addr; constraint c_len_range { len 8; len 64; } constraint c_addr_valid { addr inside {[16h1000 : 16h1FFF]}; addr ! 16h1234; // 排除特定地址 } endclass約束塊里有幾個(gè)點(diǎn)需要特別注意。第一約束體使用花括號(hào){}不是begin...end。不少人從C/Perl轉(zhuǎn)過來后習(xí)慣性寫begin end然后編譯報(bào)錯(cuò)半天。第二約束不是“按順序執(zhí)行”的代碼它是一個(gè)約束求解系統(tǒng)。變量之間的關(guān)系是同時(shí)滿足的比如constraint c_rel { a b; b 0; a 100; }求解器會(huì)同時(shí)滿足這幾個(gè)條件而不是先求a再求b。這意味著你可以在約束里寫很強(qiáng)的關(guān)聯(lián)約束比如addr % 4 0、len 2 * payload_len等求解器會(huì)自動(dòng)解算。第三約束變量只在調(diào)用randomize()時(shí)生效。如果你只聲明了rand變量但沒調(diào)用randomize()它的值永遠(yuǎn)是初始化值這一點(diǎn)非常容易踩。我之前見過一個(gè)環(huán)境忘了對(duì)某個(gè)對(duì)象調(diào)用randomize()結(jié)果所有用例都用的同一個(gè)默認(rèn)值測(cè)試還全通過了直到覆蓋率全為零才反應(yīng)過來。第四約束塊里不能做賦值操作。len 32是錯(cuò)的應(yīng)該寫成len 32。這個(gè)誤寫的報(bào)錯(cuò)很有趣SystemVerilog會(huì)試著把當(dāng)約束把當(dāng)非法語句。2.3 dist權(quán)重讓隨機(jī)分布可控而非均勻dist是constraint塊里控制概率分布的操作符它的語法是constraint c_dist { src inside {[0:15]}; src dist { 0 : 30, [1:7] : 60, [8:15] : 10 }; }重點(diǎn)在:和:/的區(qū)別這是新手最容易弄混的地方。:表示權(quán)重平均分配到值域中的每個(gè)值。比如[1:7] : 60表示1到7這7個(gè)值每個(gè)值的權(quán)重都是60整個(gè)區(qū)塊權(quán)重總計(jì)是7乘以60也就是420。:/表示權(quán)重按區(qū)塊整體分配區(qū)塊內(nèi)部所有值平分總權(quán)重。比如[1:7] :/ 60表示整個(gè)1到7區(qū)塊總權(quán)重是60每個(gè)元素的權(quán)重是60除以7約等于8.57。很多人在實(shí)際項(xiàng)目里權(quán)重算不準(zhǔn)就是因?yàn)闆]有區(qū)分這兩個(gè)操作符。如果希望區(qū)間內(nèi)每個(gè)值概率相等用:如果希望整個(gè)區(qū)間作為一個(gè)整體來控制概率用:/。一般情況下控制單個(gè)熱點(diǎn)值用:比如錯(cuò)誤號(hào)0特別重要給一個(gè)大的:權(quán)重控制一個(gè)范圍總比例用:/比如地址落在共享區(qū)間的比例用:/更直觀。另外dist約束本質(zhì)上也是約束不能和其他的constraint沖突。比如你在dist里給一個(gè)值很高的權(quán)重但又寫了另一個(gè)constraint排除它那dist對(duì)那個(gè)值就不生效因?yàn)榍蠼馄鲀?yōu)先滿足所有約束dist只是概率傾向不是硬性要求。2.4 solve...before與概率分布的隱形調(diào)整除了distSystemVerilog還提供了solve...before來影響隨機(jī)變量的聯(lián)合概率分布。在多個(gè)約束相互影響時(shí)求解順序會(huì)影響最終概率。看個(gè)例子class example; rand bit a; rand bit [1:0] b; constraint c { b 0 - a 1; } endclass這里如果b0則a1。求解器默認(rèn)會(huì)先解bb有四種取值各1/4概率然后解a。在這種情況下a1的概率是多少需要同時(shí)算上b0時(shí)強(qiáng)制1以及b!0時(shí)a可隨機(jī)總和起來大概是62.5%。如果你希望a先求解讓a成為主導(dǎo)constraint c_order { solve a before b; }求解器會(huì)先隨機(jī)a再根據(jù)a隨機(jī)b。此時(shí)a隨機(jī)到1的概率是50%b的變化也會(huì)跟著調(diào)整。這種概率細(xì)節(jié)在做覆蓋率分析時(shí)很重要。不要以為約束只是“滿足條件”實(shí)際上約束還微妙地影響著概率分布導(dǎo)致某些組合出現(xiàn)的頻率和你想象的不一樣。3. 從零寫一個(gè)約束隨機(jī)示例數(shù)組生成實(shí)戰(zhàn)3.1 需求場(chǎng)景與類設(shè)計(jì)接下來我們來寫一個(gè)能直接跑起來的示例。需求很簡(jiǎn)單生成一個(gè)包含10個(gè)隨機(jī)數(shù)的一維數(shù)組數(shù)組元素范圍在0到255之間并且要求數(shù)組里所有元素不能重復(fù)同時(shí)希望數(shù)組的前3個(gè)元素偏大、后7個(gè)元素偏小。這個(gè)需求在驗(yàn)證里很典型類似于生成一組地址偏移量、一組配置值、或者一組數(shù)據(jù)標(biāo)簽。難點(diǎn)有三個(gè)動(dòng)態(tài)數(shù)組怎么約束長(zhǎng)度、每個(gè)元素怎么約束范圍、元素之間怎么約束唯一性。我定義一個(gè)類array_gen主要成員如下class array_gen; rand int unsigned arr[]; rand int unsigned len; constraint c_len { len 10; } constraint c_arr_size { arr.size() len; } constraint c_arr_range { foreach (arr[i]) { arr[i] inside {[0:255]}; } } constraint c_arr_uniq { unique {arr}; } constraint c_arr_weight { foreach (arr[i]) { if (i 3) { arr[i] inside {[128:255]}; } else { arr[i] inside {[0:127]}; } } } endclass3.2 完整代碼示例與求解細(xì)節(jié)在頂層模塊里調(diào)用這個(gè)類打印結(jié)果module tb; initial begin array_gen ag; ag new(); if (ag.randomize()) begin $display(len %0d, ag.len); foreach (ag.arr[i]) begin $display(arr[%0d] %0d, i, ag.arr[i]); end end else begin $error(randomize failed); end end endmodule運(yùn)行這個(gè)例子你可能會(huì)得到一組形如arr[0]201, arr[1]173, arr[2]254, arr[3]72, arr[4]19...的數(shù)組。每次運(yùn)行結(jié)果不同因?yàn)榍蠼馄鲿?huì)根據(jù)仿真器的隨機(jī)種子生成不同解。注意幾個(gè)細(xì)節(jié)。第一arr.size() len這個(gè)約束非常重要。SystemVerilog里對(duì)動(dòng)態(tài)數(shù)組做約束時(shí)如果沒有給size()加約束隨機(jī)化后的數(shù)組長(zhǎng)度是不可預(yù)測(cè)的可能為空也可能非常大。加上這個(gè)約束后數(shù)組長(zhǎng)度才會(huì)和len一致。第二unique {arr}約束用于保證數(shù)組內(nèi)元素互不重復(fù)這是一個(gè)非常強(qiáng)力的約束。求解器會(huì)嘗試在0到255的取值空間里挑出10個(gè)互不重復(fù)的數(shù)這本身是可行的但如果你把數(shù)組長(zhǎng)度改成300同時(shí)取值范圍還是[0:255]約束就會(huì)失敗因?yàn)閺?56個(gè)不同值里選300個(gè)互不相同的數(shù)本來就不可能。這一點(diǎn)也提示我們約束的可行性需要人工預(yù)判求解器不會(huì)幫你選擇“更合理”的需求。第三foreach約束里的i 3和i 3兩部分共同生效可以組合出“前3個(gè)元素在[128:255]、后7個(gè)元素在[0:127]”的效果。這里是按索引區(qū)間分配取值范圍配合total數(shù)組長(zhǎng)度約束求解器能同時(shí)滿足。// 運(yùn)行結(jié)果示例基于種子12345 len 10 arr[0] 201 arr[1] 173 arr[2] 254 arr[3] 72 arr[4] 19 ...3.3 隨機(jī)種子與可復(fù)現(xiàn)性為什么每次仿真結(jié)果都不同很多人第一次跑約束隨機(jī)時(shí)都會(huì)有一個(gè)疑問同樣的代碼為什么每次結(jié)果都不一樣答案很簡(jiǎn)單因?yàn)榉抡嫫鞯碾S機(jī)數(shù)發(fā)生器RNG默認(rèn)會(huì)取一個(gè)隨時(shí)間或進(jìn)程相關(guān)變化的初始種子。SystemVerilog仿真器在啟動(dòng)仿真時(shí)如果你沒有顯式指定種子就會(huì)從系統(tǒng)時(shí)間、進(jìn)程ID等信息中生成一個(gè)種子然后整個(gè)隨機(jī)化求解過程都是從這個(gè)種子出發(fā)的。隨機(jī)化不可復(fù)現(xiàn)在調(diào)試時(shí)是個(gè)大問題。你遇到一個(gè)隨機(jī)化才觸發(fā)的bug但你再跑一遍就復(fù)現(xiàn)不出來了這種痛苦做過驗(yàn)證的人應(yīng)該都懂。所以幾乎所有仿真器都支持在命令行里固定隨機(jī)種子。在VCS/Questa里是ntb_random_seed12345在部分仿真器里也可以用-seed選項(xiàng)。固定種子后同一份代碼、同一個(gè)種子每次仿真結(jié)果完全一致。我個(gè)人的習(xí)慣是常規(guī)編譯仿真時(shí)不指定種子讓每次回歸都能探索不同空間一旦某個(gè)場(chǎng)景出現(xiàn)失敗立刻用當(dāng)前l(fā)og里打印的種子去跑一個(gè)單回歸穩(wěn)定復(fù)現(xiàn)然后才去debug。很多UVM環(huán)境的基類會(huì)在仿真啟動(dòng)時(shí)打印當(dāng)前使用的種子如果你的環(huán)境沒有這個(gè)打印建議自己加一行成本極低關(guān)鍵時(shí)刻能救命。3.4 取值范圍與小數(shù)隨機(jī)生成的擴(kuò)展有人會(huì)問熱詞里有“隨機(jī)函數(shù)生成隨機(jī)數(shù)0.2到0.3中間”SystemVerilog里能不能做呢可以直接用real類型的rand變量class real_gen; rand real r; constraint c_real_range { r 0.2; r 0.3; } endclass但實(shí)際項(xiàng)目里我一般不建議直接用real做約束隨機(jī)。浮點(diǎn)求解在部分仿真器上效率低而且數(shù)據(jù)比較麻煩必須用r inside {[0.2:0.3]}這種寫法浮點(diǎn)邊界還容易遇到精度問題。更好的做法是用整數(shù)擴(kuò)放比如生成200到300之間的整數(shù)再除以1000得到0.2到0.3之間的小數(shù)精度可控、求解也快rand int unsigned scaled; constraint c_scale { scaled inside {[200:300]}; } // 使用時(shí) real r scaled / 1000.0;這樣既保留了隨機(jī)范圍的控制能力又避免了浮點(diǎn)約束的坑。我在很多數(shù)據(jù)包時(shí)延仿真場(chǎng)景里就是用這種方式生成“小數(shù)比例”比如丟包率、功耗比例等實(shí)測(cè)穩(wěn)定且可復(fù)現(xiàn)。4. 隨機(jī)數(shù)產(chǎn)生的底層邏輯PRNG、常見隨機(jī)接口與真隨機(jī)數(shù)4.1 偽隨機(jī)數(shù)發(fā)生器的本質(zhì)你可能聽過一個(gè)說法計(jì)算機(jī)沒有辦法生成真正的隨機(jī)數(shù)只能生成偽隨機(jī)數(shù)。這話基本準(zhǔn)確在仿真驗(yàn)證領(lǐng)域尤其如此。SystemVerilog仿真器里的隨機(jī)化本質(zhì)上是偽隨機(jī)數(shù)發(fā)生器PRNG加約束求解器的組合。PRNG的核心是一個(gè)確定性算法給它一個(gè)初始種子它會(huì)按某種數(shù)學(xué)規(guī)則產(chǎn)出一個(gè)看起來隨機(jī)、但完全確定的數(shù)值序列。常見的PRNG有線性同余發(fā)生器LCG、梅森旋轉(zhuǎn)Mersenne Twister、xorshift等。SystemVerilog的隨機(jī)化一般建立在仿真器內(nèi)置RNG之上VCS所用RNG和Questa所用RNG的算法可能有區(qū)別這也是為什么同一個(gè)種子在不同仿真器上跑出的隨機(jī)值不同。既然“偽隨機(jī)”為什么還能用于驗(yàn)證因?yàn)槲覀円牟⒉皇菙?shù)學(xué)意義上的隨機(jī)而是“足夠的隨機(jī)性 完全可復(fù)現(xiàn)”。隨機(jī)性用來探索輸入空間可復(fù)現(xiàn)性用來調(diào)試。這兩點(diǎn)恰恰是偽隨機(jī)數(shù)發(fā)生器的優(yōu)勢(shì)真隨機(jī)數(shù)反而做不到可復(fù)現(xiàn)。4.2 $random、$urandom、$urandom_range的區(qū)別SystemVerilog里除了randomize()之外還有幾個(gè)常見的系統(tǒng)隨機(jī)函數(shù)。很多人會(huì)拿它們當(dāng)普通函數(shù)調(diào)用卻不清楚差異這里講清楚。$random返回32位有符號(hào)隨機(jī)整數(shù)。它的歷史很悠久來源于Verilog-1995在SystemVerilog中仍然可以使用。$urandom返回32位無符號(hào)隨機(jī)整數(shù)推薦在新代碼中使用。$urandom_range(max, min)返回[min, max]范圍內(nèi)的無符號(hào)整數(shù)。三個(gè)函數(shù)的使用非常簡(jiǎn)單int a; bit [31:0] b; bit [7:0] c; a $random % 100; // 有符號(hào)隨機(jī)可負(fù)值取??赡艹霈F(xiàn)負(fù)值要小心 b $urandom; // 32位無符號(hào)隨機(jī) c $urandom_range(255, 0); // 0到255之間隨機(jī)這里有幾個(gè)常見坑。第一$random % 100在a取負(fù)時(shí)可能得到負(fù)數(shù)所以如果你想得到0到99之間的數(shù)最好用$urandom_range(99,0)或者用$urandom % 100配合無符號(hào)變量。第二$urandom_range的參數(shù)順序是先max后min不是有的語言里習(xí)慣的(min, max)寫反了會(huì)行為詭異甚至編譯警告。在類里做約束隨機(jī)時(shí)我推薦優(yōu)先使用randomize()而不是用$urandom手工拼。因?yàn)槭止そo每個(gè)變量調(diào)用隨機(jī)函數(shù)寫起來累還容易遺漏條件組合約束的優(yōu)雅性和可維護(hù)性都差很多。$urandom適合在簡(jiǎn)單測(cè)試平臺(tái)里或者需要在過程塊里快速生成一個(gè)輔助隨機(jī)值時(shí)使用。4.3 為什么驗(yàn)證中很少用系統(tǒng)隨機(jī)函數(shù)替代約束隨機(jī)這是一個(gè)很多新手會(huì)問的問題既然用$urandom也能生成隨機(jī)數(shù)為什么還要大費(fèi)周章寫class、寫constraint、寫dist關(guān)鍵在于“約束”這兩個(gè)字。$urandom只能生成一個(gè)滿足均勻分布、在某個(gè)范圍內(nèi)的隨機(jī)數(shù)它本身不具備“多變量聯(lián)合約束”和“關(guān)系約束”的能力。比如你希望len 8 len 64并且payload_len * 2 len用$urandom生成兩個(gè)變量后你還得寫一堆條件判斷來過濾失敗時(shí)還要重新生成。而用constraint求解器直接給你一組整體滿足條件的值。更重要的差異是概率分布的精細(xì)控制。$urandom_range(10, 1)生成的是均勻分布1到10的概率完全一樣。但在真實(shí)驗(yàn)證場(chǎng)景里你往往希望某些值出現(xiàn)的概率更高比如寄存器配置字段0很常見、異常值很少見這時(shí)候dist權(quán)重是簡(jiǎn)單隨機(jī)函數(shù)無法優(yōu)雅實(shí)現(xiàn)的。打個(gè)比方$urandom像抽獎(jiǎng)箱每個(gè)球都一樣重約束隨機(jī)像骰子你可以把某一面的鉛加重一些。當(dāng)驗(yàn)證空間復(fù)雜、覆蓋目標(biāo)多時(shí)只有后者才能讓你在有限仿真時(shí)間內(nèi)把隨機(jī)次數(shù)用在刀刃上。4.4 隨機(jī)穩(wěn)定性與種子管理提到隨機(jī)穩(wěn)定性再展開講一下種子管理。UVM環(huán)境中有兩種主要的隨機(jī)種子來源一種是仿真器全局RNG種子命令行控制另一種是每個(gè)uvm_component里的rng種子局部種子可以通過uvm_top.get_sequencer()或工廠配置覆蓋。全局種子控制整個(gè)驗(yàn)證環(huán)境的隨機(jī)流起點(diǎn)局部種子控制每個(gè)組件的隨機(jī)行為。實(shí)際使用中要讓回歸導(dǎo)致的可復(fù)現(xiàn)性變好可以注意幾點(diǎn)每次仿真啟動(dòng)時(shí)把種子打印到log文件建議在testbench的initial塊里加一行$display(RANDOM SEED: %0d, $get_initial_seed());。多組件環(huán)境里不要過度依賴全局命令種子因?yàn)閁VM的sequence_item隨機(jī)化通常從sequence本身的rng獲取某些sequence可能需要單獨(dú)設(shè)置種子才能復(fù)現(xiàn)。回歸失敗時(shí)拿到記錄種子后直接重跑。如果重跑還能穩(wěn)定復(fù)現(xiàn)那說明問題與隨機(jī)化有關(guān)如果重跑就消失了多半是環(huán)境里有不可控的絕對(duì)值比如絕對(duì)時(shí)間、文件讀取順序、數(shù)組哈希迭代順序等污染了隨機(jī)流。4.5 真隨機(jī)數(shù)與嵌入式安全場(chǎng)景的補(bǔ)充補(bǔ)充一點(diǎn)熱詞里提到的S32K144 CSEC獲取真隨機(jī)數(shù)。這個(gè)場(chǎng)景和驗(yàn)證仿真不一樣它是嵌入式安全模塊Crypto Service Engine通過硬件熵源生成真隨機(jī)數(shù)用于密鑰生成、簽名等安全場(chǎng)景因?yàn)閭坞S機(jī)數(shù)一旦種子泄露密鑰就容易被推導(dǎo)出來。在驗(yàn)證和日常軟件開發(fā)中我們基本不需要真隨機(jī)數(shù)但如果你做的是安全相關(guān)驗(yàn)證就需要區(qū)分開硬件真隨機(jī)數(shù)的驗(yàn)證重點(diǎn)在熵源質(zhì)量如NIST SP 800-90B測(cè)試和SystemVerilog約束隨機(jī)的驗(yàn)證思路完全不同。再比如熱詞里的“openssl rand -hex 32”這個(gè)命令在開發(fā)環(huán)境很常用它本質(zhì)上也是用OpenSSL的偽隨機(jī)數(shù)發(fā)生器或者系統(tǒng)安全熵源生成32字節(jié)隨機(jī)數(shù)據(jù)再以hex格式打印常用來生成密鑰、token、salt等。它和仿真驗(yàn)證不是一回事但如果你要在腳本里快速生成一個(gè)隨機(jī)的十六進(jìn)制串做測(cè)試數(shù)據(jù)用openssl rand -hex 16這樣一條命令確實(shí)比寫一堆代碼省事。注意別把它當(dāng)密碼學(xué)安全隨機(jī)源用除非你知道后端用的熵源足夠安全。5. 常見問題與排查技巧實(shí)錄5.1 randomize()返回0約束沖突了怎么辦隨機(jī)化失敗最常見的原因就是約束沖突。比如前面說的數(shù)組長(zhǎng)度300但取值范圍只有256個(gè)唯一值這種約束必然失敗。仿真器在randomize()返回0時(shí)通常不會(huì)直接報(bào)具體約束只是返回一個(gè)失敗的狀態(tài)如果你沒寫else分支問題就被吞掉了。排查思路我建議按三步走。第一步確認(rèn)你檢查了randomize的返回值如下if (!ag.randomize()) begin $fatal(1, randomize failed); end不要直接調(diào)用ag.randomize();然后使用變量失敗了你都不知道。第二步縮小范圍。把類里的約束逐個(gè)注釋掉只留下最小必選約束看哪個(gè)約束和哪個(gè)約束組合起來導(dǎo)致失敗。這個(gè)工作靠經(jīng)驗(yàn)也靠耐心如果約束很多建議寫一個(gè)最小化重現(xiàn)類。第三步使用仿真器的constraint debug選項(xiàng)。VCS有不少關(guān)于約束求解的debug命令打開之后可以打印出求解器的詳細(xì)求解過程能直接看出哪個(gè)約束不滿足。Questa/ModelSim也可以用-solvefailtest這類選項(xiàng)做約束失敗分析。仿真器的report里通常會(huì)列出沒能滿足的約束名學(xué)會(huì)看這個(gè)報(bào)告比瞎猜快得多。5.2 dist權(quán)重不生效概率和想象中不一樣dist權(quán)重不生效最常見的兩個(gè)原因一個(gè)是約束沖突一個(gè)是權(quán)重設(shè)置方式不對(duì)。約束沖突前面說了dist是概率傾向如果另一個(gè)constraint硬性排除了某個(gè)值那這個(gè)值的權(quán)重就毫無意義。比如你寫了len dist {0 : 80, [1:7] : 20};但同時(shí)寫了constraint c_avoid { len ! 0; }那么len為0的情況永遠(yuǎn)出不來80%的權(quán)重等于白設(shè)。這是初學(xué)時(shí)容易犯的隱形錯(cuò)誤。另一個(gè)原因是:和:/的語義混淆。建議記住一條判斷原則如果你希望某個(gè)區(qū)間內(nèi)的每個(gè)值都按同一個(gè)權(quán)重重現(xiàn)用:如果你希望整個(gè)區(qū)間作為一個(gè)整體控制權(quán)重讓這個(gè)區(qū)間內(nèi)部的值平分總權(quán)重用:/。以[1:7] : 60為例每個(gè)值權(quán)重都是60總的1到7權(quán)重是420在總權(quán)重中占比會(huì)非常高如果你本意只是想讓“1到7”這個(gè)區(qū)間占60%那應(yīng)該用[1:7] :/ 60。這個(gè)區(qū)別直接決定了你的隨機(jī)分布是否符合覆蓋率模型設(shè)計(jì)。5.3 randc用錯(cuò)場(chǎng)景覆蓋率不收斂randc雖然會(huì)自動(dòng)遍歷取值但它只在連續(xù)多次randomize()同一對(duì)象時(shí)才有這個(gè)效果。如果你每次randomize()之后就把對(duì)象復(fù)制走或者每個(gè)用例重新new一個(gè)對(duì)象那么randc的循環(huán)遍歷效果就失效了因?yàn)樗涗浀氖菍?duì)象實(shí)例內(nèi)部的循環(huán)狀態(tài)。我見過一個(gè)項(xiàng)目里sequence每次發(fā)送包都新建一個(gè)packet對(duì)象里面用了randc字段想著能覆蓋每個(gè)值。結(jié)果每次新建對(duì)象后randc都從初始狀態(tài)開始隨機(jī)性完全變成了普通rand行為覆蓋率跑了很久都不收斂。后來改成在sequence里保存對(duì)象引用、連續(xù)復(fù)用同一個(gè)item覆蓋率才正常。另外如果randc字段的最大值特別大比如randc bit [31:0] seed_value;要遍歷全部42億個(gè)值才可能隨機(jī)回同一個(gè)值它的“循環(huán)”意義就基本不存在了用rand反而更合適。我建議randc只用在值域小于幾十、需要快速覆蓋每個(gè)值的字段上。5.4 隨機(jī)種子變化導(dǎo)致回歸失敗無法復(fù)現(xiàn)回歸一時(shí)全綠再加幾個(gè)用例就紅了但單獨(dú)把紅的那條用例拿出來跑又不紅這是驗(yàn)證環(huán)境里很磨人的場(chǎng)景。多半出在隨機(jī)種子的全局流上。解決這類問題首先要把每條用例實(shí)際的隨機(jī)種子記下來。很多UVM環(huán)境在test的main_phase開頭都會(huì)打印種子比如uvm_test_done的打印或者你自己寫$display(seed%0d ...)。失敗時(shí)拿到那條用例的準(zhǔn)確種子然后用單回歸加上這個(gè)種子去跑。如果固定了種子仍然復(fù)現(xiàn)不了主義檢查環(huán)境中有沒有“非確定性來源”比如使用系統(tǒng)時(shí)間做延時(shí)、從外部文件隨機(jī)讀取、使用哈希表遍歷順序不一致、多線程并行調(diào)度導(dǎo)致事件順序變化等。這些都會(huì)擾動(dòng)RNG的推進(jìn)步數(shù)導(dǎo)致同一個(gè)種子下序列錯(cuò)位。解決辦法是把這些非確定因素盡量固化比如文件讀取用固定順序、組件實(shí)例化順序固定、避免在同一次randomize之間插入依賴環(huán)境的調(diào)度。5.5 浮點(diǎn)約束導(dǎo)致仿真變慢或失敗前面提到過用real做隨機(jī)約束可能出現(xiàn)求解慢、邊界精度問題。這在實(shí)際項(xiàng)目里確實(shí)存在。另一種更隱蔽的問題是當(dāng)你把浮點(diǎn)和整數(shù)混合約束時(shí)比如r inside {[0.2:0.3]}; r * 1000 int_val;求解器可能對(duì)浮點(diǎn)方程的求解支持不好導(dǎo)致隨機(jī)化失敗。我的建議是盡量用整數(shù)方案替代浮點(diǎn)約束除非設(shè)計(jì)本身需要浮點(diǎn)浮點(diǎn)隨機(jī)源。比如需要生成一個(gè)隨機(jī)的時(shí)間偏移系數(shù)用rand int unsigned permille; constraint c_permille { permille inside {[200:300]}; }使用時(shí)real coef permille / 1000.0;。這樣既能精確控制范圍又不會(huì)有浮點(diǎn)約束帶來的求解開銷。這一點(diǎn)算是個(gè)人實(shí)踐里比較受益的經(jīng)驗(yàn)。寫到最后的一點(diǎn)體會(huì)隨機(jī)化策略看起來是幾個(gè)關(guān)鍵詞的事實(shí)際用起來卻貫穿了整個(gè)驗(yàn)證環(huán)境的設(shè)計(jì)思路。怎么選randc、怎么寫constraint、怎么調(diào)dist權(quán)重本質(zhì)上是在“可控性”和“隨機(jī)性”之間找平衡。我在實(shí)際項(xiàng)目里最深的感受是約束隨機(jī)不是讓驗(yàn)證變得“純隨機(jī)”而是讓驗(yàn)證能夠在有限仿真時(shí)間內(nèi)更聰明地探索那些最容易藏bug的空間。因此每次寫約束之前先想清楚這個(gè)變量在業(yè)務(wù)場(chǎng)景里的真實(shí)分布再用dist表達(dá)出來會(huì)比隨手寫一個(gè)范圍約束有效得多。最后分享一個(gè)小習(xí)慣每寫一個(gè)帶約束的類我都會(huì)在類里加一個(gè)function void post_randomize()把隨機(jī)結(jié)果的關(guān)鍵字段打印出來方便第一時(shí)間看到隨機(jī)化后的值是否符合預(yù)期。不要小看這個(gè)動(dòng)作它能在你寫完約束后立刻暴露約束寫錯(cuò)、權(quán)重配比不對(duì)、或者范圍不合理的問題省去后面大量的debug時(shí)間。隨機(jī)化這個(gè)東西一旦理順了是驗(yàn)證效率提升最明顯的手段之一。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
熟妇的味道HD中文字幕| 99热成人| 人妻少妇无码| 天美av在线观看| 丁香婷婷五月| 偷拍色图| 人人手机欧洲亚洲国产人妻| 天天日天天搞天天干| 午夜福利在线合集| 盗摄 精品 另类 一区| 国产真乱mangent| www.人人摸在线视频| 国产精品国产自产拍高清AV| 日本一区二区不卡精品| av一区二区三区四区| 激情内射| 香蕉色网| 天堂综合| 国产熟妇一区二区| 麻豆国产第一| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 久久国产热视频97电影| 中文字幕久久亚州无码| 大香蕉AV丝袜| 久热久一区二区三区| 亚洲中文日韩精品| 国产在线视视频有精品| av强奸乱轮| 色五月AV| 中文字幕丰满子伦无码专区在线视频最新| 久久久专区| 中美日韩毛片| 很黄很污的免费网站| 少妇干B| 放黄片放3级黄片没穿衣服| 夜色97| 午夜欧美J进J出白浆流出久久久 | 五月天综合在线| 色黄色美女大长腿午夜视频| 国产粉嫩蜜臀av一区二区三区| 国产自偷| 中文 人妻 制服| 狠久久| 丰满人妻一区二区中文| 久久久com| 日本三级中国三级99人妇网站| 日韩人妻一二三区视频| 操逼网免费无码视频| av无线看| 性爱乱伦一区| **一级毛片国产| 日本精品一区二区中文字幕| 岛国AB视频| 久久精品国产AV一区二区三区| 99色在线| 久久久青青草| 91搡老女人老妇女老熟女歌词翻译| 久久香蕉国产线看观看亚洲女人 | 综合国产影视三级| 欧美性生活男人的天堂| 岛国在线免费视频| 色婷婷激一区二区三区 | 色婷婷日韩精品一区二区三区| 日日日啊啊啊| 色欲人妻一区二区在线| 91国产精品在线看| 亚欧精品久久久久久久久久久| 婷婷丁香五月激情啪啪| 国产视频一区二区在线观看| 东京热不卡视频| 亚洲精品一卡二卡三卡福利视频网站| 熟妇高潮二区三区| 欧美激情视频一区二区| a片自拍直播视频| 91足交| 色婷婷丁香五月天| 自拍视频大全亚洲专媒视频/一区二区三区 | 欧美精品1区2区3区| 婷婷亚洲综合| 夜夜騷av、一區二區| 99国产精品免费| AV高清一区| 欧美亚男人的天堂| 国产精品久久久久久久久久久久久久久久 | 国产精品69久久久久久久| 欧美性色欧美| 秋霞久久亚洲精品成人| 天天欧美色| 加勒比五月天| 中文AV制服乱伦| 日韩性爱1级片视频| 欧州一区二区三区四区| 乱伦系列一区二区| 亚洲中文字幕乱码无码一区二区 | 精品97精品97| 中文在线视频| AV乱伦专区| 图片区小说区| 超碰97在线 欧美 国产| 日逼97| 亚洲影视综合| 户外裸露刺激视频第一区| 盗摄 精品 另类 一区| 久插综合| 黄色免费一级在线毛片| 国产成人综合网| 天堂国产AV| 青草一区二区| 综合一区中亚洲国产成人综合精品 | 91N综合网| 999久久久免费精品国产牛牛| www.久久最新地址| 色综合天天| 亚洲文学偷乱拍啪啪啪啪| 99精品国产户外露出| 九九aV| 97bbn| 乱伦强奸区日韩| 人人扣人人操| 97资源站国产精品| 欧美人人AAA| 日韩av色图| 乱伦日本中文自拍| 91成人国产综合久久精品蜜月| 久久东京热成人| 日本性爱欧美性爱| 99精品网| 国产精品噜噜噜日日日| 五月丁香啪| 亚洲影视高清第一页| 中文一区二区婷婷视频| 富女玩鸭子一级毛片| www.丁香五月| 香蕉精品二区二区| 亚洲,欧美,春色,另类 | 素人播放一区| 亚洲人久久久久日| 九九热精品在线| 麻豆激情综合| 强奸乱伦Av网| 蜜桃臀一区二区aV| 天美麻花大全视频| 骚人妻少妇视频| 亚洲乱码国产乱码精网站| 色999偷自拍拍| 乱伦a片视频| 青青草视频爽一爽| 十八禁av无码免费网站APP| 91原创在线观看| 男人的天堂kva| 色999亚洲人成色| 丰满人妻一区二区三区四区| 91女神在线视频| 在线中文字幕视频| 少妇毛片久久| 极品尤物自安慰| 欧美色自拍| 欧美日韩不卡a片| 天天干1区2区在线| 亚洲成人碰碰| A级毛片在线看免费| 免费观看成人www精品视频| 嗯……啊…嗯嗯…啊…好舒服| 一级片视频啪啪| 国产AV人人 夜夜人人澡| 久久久亚洲高清不打码| 黄片www视频免费| 99啪| 综合久久六月久久婷婷| 欧美加勒比| 蜜桃精久三区| 亚洲 欧美都市激情| 91精品国产91久久福利| 婷婷九月丁香| 吉田爱美AV在线| 在线免费观看日韩一区| 97se亚洲综合自| 一区中文字幕二区日韩| 国产AV激情无码久久无码| 啊啊啊骚| 久久m| 五月激情影院| 做爱A级亚欧| 男女啊啊啊啊啊| 午夜精品久久久99| 操碰97| 亚洲黄色电影| 啊啊啊啊好大好硬啊啊啊啊啊| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 中文字幕人成乱码熟女香港| 中文字幕欧洲有码| 四虎AV影视国产精品亚洲精品| 国产精品视频在线播放| 久久婷婷五月天| 久久riav中文精品| 无码久久国产| 亚洲全色网| 美女好片色日本| 污污污8888| 91久久久久久久久久久| A片 AV一级在线播放观看免费| 99re这里只有精品9| 中文字幕文字幕无码一区二区三区电影99 | 96麻豆精品一区二区三区| 夜草欧美| 国产精品乱人伊人网| 熟女精品一区二区三区| 国产日韩精品无码去免费专区国产| 日韩有码中文字幕女同性恋| 美女丝袜激情小说| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 久久成人午夜精品影院| 狠狠色狠狠色狠狠五月| 51久久夜色精品国产麻豆| AV中亚| 热久日综合| 男人下部插入女人下部| 亚洲天堂热| 亚洲精品三| 久久av一级av少妇av高潮| 青青操网| 岛国A V在线免费看| a片自拍直播视频| 大香蕉日亚洲日本亚大| 欧美日日人人天天| 玖玖爱伊人玖玖爱| 在线观看黄色电话| 思思热影视| 夜夜操青青草| 爱av免费| 婷婷五月成人| 精品无吗久久| 欧美玖玖爱免费玖玖| 性欧美精| 女上位精品在线| 亚洲熟妇综合久久久久久| 麻豆激情综合| 亚洲区 欧美区| 风韵犹存大大大大香蕉| 在线视频 亚洲精品| 97精品久久| 成年人三级黄色片视频| 操逼www.| 亚洲欧美激情在线视频| 91啪9色| 国产11页| 男人的天堂在线2| 日韩丨制服丨中文|在线| 91熟女视频网| 日韩性爱毛片操骚逼| 99色在线视频| 精品一区二区三区四区女| 亚洲人精品久久久| 性饥渴少妇av无码毛片| 97在线精品| 97欧美日韩中文| 蜜臀久久99精品久久久久久| 人人操人人摸人 | 亚洲日本激情| 色精品极品| 97热视频在线观看| 国产精品一区二区久久精品| 五月婷婷深深爱| 久久久久9| 亚洲啪啪综合?v一区综合精品区| 乱色视频中文字幕| 大香蕉日亚洲日本亚大 | 超碰人人妻| 久日综合网| 国产不良强奸视频免费看| 天天爽夜夜操| 亚洲精品久久久久久| 午夜a成v人电影| 久久久久久亚洲精品不卡人乳| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 久久香蕉综合一本到3atv| 人人妻人人操人人乐| 9.1小视频| 91艹B视频| 欧美大香蕉97| 香伊人在线| 天美av在线观看| 亚洲毛片久久| 婷婷五月花| 亚洲双插| 欧美 亚洲 制服 精品| 91天美免费| 日韩av在线播放不卡| 国产欧美日韩臀| 国产一区二区成人av在线播放| 久久亚洲不卡| 亚洲97综| 亚洲精品欧洲精品| 人人做天天爱| 亚洲性猛| 久久九色| 啪啪啪亚欧美视频| 午夜精品久久久久久久男人的天堂| 亚洲天堂久久| 91无码中出人妻视频| 99久视频| 午夜久久无码1000合集| 天天干天天干天天干| 国产国产亚洲一二三久久| 人人考人人摸人人干| 大香交| 久久久久久AV无码免费网站| 国产乱码久久久| 亚洲色啪| 69XX一中文字幕人妻91| 超碰在线97国产| 亚洲 国产 精品一区| 久久久性少妇| 九九成人| 大香蕉免费3| 亚洲欧洲第二视频在线观看色图| 探花熟女,姿勢到位,體驗感也到位| 无毛精品| 亚洲色图超碰在线| 久久久99免费| 国产精品农村妇女精品| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 91超碰丝袜制服| 久久久久亚洲av综合波多野制衣| 97就爱干| 天天狠| 国产成人精品必看| 日韩无码第3页| 大鸡巴久久久| 亚洲熟女av日韩熟女| 色色九区| 久欲AV| 婷婷五月天补不补| 日韩一区二区三区四区五区| 怡红院成人视频| 免费视频在线观看啊啊啊啊啊| ji熟女.com| 97超级久久| 亚洲人妻熟妇三十三区| 美日韩成人| 日韩乱伦AⅤ| 午夜一区| 91在线丝袜| 麻豆AV一区二区| 人妻熟女av国产网站| 久久久久亚洲Av无码专区老牛影视| 欧美精品 - 91爱爱| 色色色五月婷婷| 在线观看成人性爱免费小视频| 狠狠爱夜夜| 亚洲无限观看| 用力操死我| 1024香蕉视频| av资源在线观看少妇| 黄色片,com| 久久男人的天堂| 中字一区| 国产九九九九九九| 亚洲污污网站| 综合网欧| 高树玛利亚无码流出| 激情久久久| 人人干人人搞人人摸| 级做a爱无码性色永久免费| 98久久| 精品97久久| 人妻熟妇一区二区三区| 国产AV人人夜夜澡人人爽麻豆| 日本啊啊啊啊啊视频| 天美传媒av 在线| 欧美激情综合色综合啪啪五月| A片 AV一级在线播放观看免费| 亚洲精品国产日韩无码AV永久免 | JULIA人妻风俗店中出电影| 久热大香蕉| av资源在线观看少妇| 欧美午夜一区二区三区| 成人三一级一片aaa| 操B视频日韩无码| 91大神精品长腿在线观看网站| 丝袜亚洲综合| 午夜性生活av免费在线看| 啊啊啊啊啊啊在线| av影片在线观看不卡| 偷拍视频青青草在线视频| 精品免费成人久久| JuliaAnnXXX888| 日韩15p| 超碰色老头| 国产内射爽爽大片| 亚洲成人精品在线一区| 蜜乳AV一区| 偷拍自拍在线视频观看| 人成午夜免费大片| 日日夜夜狠狠| 78p欧美| 亚洲综合一| 97超碰伊人| 日韩欧美传媒一区国产| 国产精品高潮久久久无码| 精品无码一区二区三区色欲| 一区操逼| 国产日本久久免费精品| 五月婷婷六月激情| 国产精品久久久777| 超碰午夜| 一起草在线视频| 视频一区二区免费在线| 日韩国产欧美伦理在线| 另类天堂| 久久久久七视频| 欧美日韩人妻少妇 一区二区三区| 亚洲九九视频| 国产一区二区在线播放量| 无码精品蜜桃一区二区三区ww| 日韩欧美经典在线观看| 一二三啪啪专区| 天堂亚洲精品久久老牛| 殴美大黄片| 99国产人成精品| 亚洲免费日韩在线一区二区| 久久9免费视频| 亚洲欧美综合| 日韩精品亚洲专区在线影视| 人人喜人人妻| 蜜臀99精品国产高清在线观看| 综合伊人网12色| 亚洲女毛多水多21P| 夜夜操2028| 91路www| 91五十路| 亚洲中文字幕av| 欧洲乱码视频| 日韩人妻丝袜中文字幕| 色乱二区| 综合亚洲情色| 国产精品片| 欧美日韩性爱无码| 91国产大片| 99re久久| 青青草丝袜在线视频| 精品视频专区| 精品久久久av无码免费| 亚洲欧美成人在线| 在线情色电影 91大| 97日韩欧美| 天堂8在线新版官网| 中日无幕一二三四区| 精品少妇人妻一区二区三区| 日韩有码 一区二区三区| 九月色婷婷| 中出人妻中文字幕91在线| 2019精品国产无码成人| 亚洲精品一区二区三区新线路| 久久99干一本高清| 伊人激情五月天一区二区| 午夜性| 久久久久少妇| 亚洲人精| 婷婷五月在线视频| 国产中午字一暮区| 欧美日韩性爱操大逼| 九九九九九用不成了| 人人么人人操| 蜜桃臀 后入 一区 二区 三区 在线| 97色操| 插欧洲美女欧美精品| 国产乱青青草久久| 福利在线观看一区二区| 亚洲激情欧美色图 | 国产av青草| 国产一区二区三区高清视频| 欧美.亚洲.另类.丝袜.制服.诱惑| 综合五月天| 桃色五月天| 亚洲欧美伦综合| 亚洲天堂区| 蜜臀久久99精品久久久久| 日韩有码一区三区| 国产免费一区2区3区| 在现视频女上位好爽| 久久久96| 骚逼一区二区| 亚洲性爱无码乱伦av| 天天操天天干美女网址导航| 99自拍视频| 东京热男人天堂| 中文字幕日产av人| 99老司机精品视频在线观看| 操死我了啊啊啊| 免费的黄片wwwwww| 91综合中文字幕| 日本少妇va7777| 日韩黄色av中文字幕| 色网综合网| 日本污ww视频网站| 国产精品点击进入在线影院高清| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 青苹果影院男人的天堂| 亚洲成人无码影院| 亚洲精品91| 中文久久一区| 伊人久久艹| 欧差乱伦二三| 人人妻人人色一区二区三区| 超碰日本97美女人妻人人玩人人爱| 粉嫩av平台| 天天日美女的B| 情色AV电影| 亚洲天堂一区二区久久| 91久久婷婷| 久久999久| 激情五月婷婷综合| 日本精品网站在线中文| 黄色工厂这里只有精品| 亚洲免费97免费| 99精品久久久久久久婷婷蜜桃| 国产精品久久久啊| 九久久精品| 色哟哟-国产专区| 亚洲色诱惑| 日韩黄片视频试看| 男人在线天堂| 天天夜夜rb| 欧美色图人妻| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 日韩人妻操B| 91干熟女| 亚欧视频在线| 国产亚洲日韩欧| 大香蕉综合网| 天堂亚洲精品| 黑人粗大V S日韩女优视频| 人妻一区二区三区| 我想要 啊 啊 啊| 国产妇女精品视频青青草| 97人肏| www.色婷婷| 岛园激情| 亚洲五码一区二区三区| 在线观看高清AV| 激情综合网亚洲| 91色亚洲| 久久春色| 97亚洲精品| 亚洲欧洲自拍| 久久精品店| 伊人九九九| 欧美成人贴图| 欧美92| 久草这里只有精品 | aaaa少妇高潮大片| 在线一道啪| 国产最新小视频在线播放下载 | 国产日韩人人| 欧美国产一区二区三区麻豆传媒| 91最新综合| 少妇国产不卡| 大香蕉欧美伊| 国产精品视频在线播放| 97一本大道亚洲一区| 啊啊啊啊操死我了| 久久夜精品一区二区三区| 夜夜人妻爽| 青青伊人久久| 激情内射| 亚洲全色网| 日韩一级久久毛片| 人妻 丝袜美腿 中文字幕| 日本东京热加勒比久久| 天天干夜夜操网| 久久精品色欧美aⅴ一区二区| 欧美久久伊人| 激情五月婷婷| 国产怡红院| 东北老女人的激情视频| 免费亚洲国产精品久久一区| 少妇精品久久久八区九区| 久久九九精品一区二区| 久久久久久久久一区二区三区| 91人妻人人澡人人爽人人精品| 亚洲熟女av中文字幕| 26uuu最新| av天堂天堂av日韩| 超碰99在线观看| 91久久精品国产| 女人的天堂大香蕉网| 少妇久久久免费| 神马麻豆福利院| 激情小说图片亚洲首页| 亚洲av淫乱| 欧美淫穴| 欧美日韩人妻少妇 一区二区三区| 91天天爽| 国产精品一二三区18| 一起草日韩| 色丁香五月婷婷| 日韩av色图综合| 夜夜高潮夜夜爽国产伦精品| 欧美精品二区视频在线| 天天做日日爱夜夜爽| 亚洲情色五月天| 97国产精品久久久久| 91色拍| 福利视频一区二区微拍| 色精品极品| 人人九九精| 啪啪性爱免费视频| 超碰免费在线| 久久久久久久久国产| 中文字幕一区二区三区50路| 国产综合网站在线播放 | 色九久| 一区二区视频在线播放| 成人影 天天操 亚洲| 国产AV天美传媒一区二区三区| 啊啊啊啊嗯嗯嗯用力好爽 | 亚洲人天堂| 日本无码1| 人人污日韩一区二区| 超碰97国产欧美| 亚洲乱码国产乱码精网站| 久久的网站啊啊啊啊啊| 色色九区| 曰韩av中文字幕专区| 性色av一区二区| 秋霞Av理论一级在线| 精品国产精品一区二区| 亚洲熟久久| 粉嫩av平台| 99青草| 青青草久草| 综合久久婷婷| 精品日日人妻| 午夜婷婷| 欧美日韩欧美| 精品人妻伦一二三区久久| 天天综合站| 久草国产在线视频| 东京热精品97综合网| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 91欧洲入口| 色yeye成人免费视频| a人欧美综合天堂麻豆| 高清国产精品福利网站| 后入 亚洲 美女 射| 天堂成人网| av天堂影视中文在字幕在线中文| 伊人九九九| h在线看免费版在线看| 啊啊啊啊好疼| 熟女丰满人妻一区| 久久精品国产Aⅴ| 丝袜狠狠草尤物人妻av91| 久久久亚洲| 欧美日韩免费专区在线| 无码高清操逼网址| 1204金沙人妻懂旧版免费| 亚州日韩97| jizzjizz欧美| 91欧美www| 天天91~综合入口| 麻豆国产97在线| 在线黄色污污网站| 国产无码一二三区| 色香综合| 亚洲天堂自拍| 岛园激情| 日本综合色图| 樱花草社区www中国| 中文字幕精品一区二区精| 日本久久久精品电影| 能看的av| 久久欲| 女人天堂网| 亚洲不卡AV在线| 91搞逼视频| 青娱乐 青青青操 日逼| 色综合中文字幕不卡| 久操com| 欧美色亚洲色| 天天综合网91入口| 日本在线不卡v二区| 春色综合网| 99只有精品| 丰满人妻一区二区三区| 国产一区自拍欧美日韩| 91少妇高潮| 国产60区。| www.色操逼| 亚洲**2021在线观看| 四虎影视永久在线观看精品免费网站 | 艹少妇网站| 99999国产精品| 99黄页网站| 97天天摸天天碰| 乱伦Av网| 成人免费视瓶| 色爱天堂| 老司机午夜精品福利视频一区二区| 亚洲成人免费在线| 午夜精品久久久久久久久久蜜桃| aV中文麻| 日韩不卡一二三四| 高树玛利亚无码流出| 国模精品娜娜一二三区| 久久免费99精品久久久久久| 台湾佬大香蕉| 天堂综合| 国产美女91视频| 91美女中出| 一区二区三区 日韩欧美| 2024年最新色情网站在线观看| 欧美色吧综合| 美女黄码视频午夜| 少妇69中文| 黑人综合网| 941超碰| 天天摸夜夜操视频| 99re8超碰| 欧美色偷拍 | 国产av热热色| 天天看人人操屄犊摸阴| 野狼激情网| 五月婷婷五月天| www.91久久| 精品一区二区亚洲国产| 欧美亚洲| 免费伦费视频在线观看| 亚洲欧洲综合成人av一区| 国产精品久久久久久久无码AV| 后入国产| 欧美人妻少妇| 大香蕉78| www国产无码| dy888午夜老子影视达达兔| 一本色道久久综合精品婷婷| 欧美97av| 日韩九九九| 91丝袜| 97久久精品| 色激情综合网站| 免费AV中文网在线观看| TS人妖另类精品视频系列| 麻豆久久精品亚洲精品88 | 熟女中出视频| 欧美日动态视频| 91超碰碰在线| 天操天操夜操夜月月年年操操 | 亚洲精品久久久久久久蜜桃臀| 男人的天堂一区三区| 中文字幕av乱伦| 色婷视频| 四虎永久在线精品免费网址| 亚洲男人天堂2012| 亚洲色图美腿丝袜| 国产风韵犹存熟妇三区| 亚洲天堂另类| 国产在线播放成人免费| se吧提供国产乱老熟视频胖女人| 亚洲伊人a线观看视频| 91人妻素女| 色五月婷婷色| 97欧美精品综合| 国产亚洲日本| 欧美性性性| 人人搞人人插人人操| 欧美黄色片在线播放| 小草av不卡亚洲二区| 欧美综合传媒| 熟妇视频一区二区三区在线| 亚洲成人精品在线一区| 日本熟妇人妻中出视频| 男人的天堂2010| 香蕉久久精品| 亚洲欧美综合图片| 国产精品福利资源在线尤物| 国产网站在线播放| 伊人久久88国产女| 蜜桃色院一区久久| 欧美熟妇色| 老熟女乱伦一区| 国产热RE99久久6国产精品首| 欧美午夜精品久久久久久超碰| 丝袜天堂| 黄页| 日本熟妇人妻中出视频| 性欧美另类高清| 国产风韵犹存熟妇三区| 成人精品无码| 最新国产精品久久精品| 人妻天天爽夜夜爽精品2| 亚洲综人| 丁香五月天激情综合| 久久久免费一级黄片| av麻豆啪啪| 久久永久无码人妻视频| 国产高清成人传媒影视| 亚洲污污网站| 亚洲另类小说卡通动漫| 在线中文AV| 久久久久久久国产a∨| 国产真乱mangent| 在线国产探花| 欲香欲色天天天综合和网| 大香蕉视频啪啪啪啪| 日韩无码黄色片| 亚州操操穴网| 亚洲图片小说欧洲| 黄在线| 日韩AV中文字幕电影| 男人天堂最新手机版在线青青草| 不卡中文字幕aⅴ在线| 操久久久久久| 91超碰丝袜制服| 国产一在线观看| 久久久久久久久久久久久久久乱码| 九九热只有精品| 福利在线观看一区二区| 国产又大又粗又长视频在线| 欧美中文字幕精品人妻| 91Chinese在线| 日韩成人人妻网站| 国产精品自在线发布| 啊啊啊在线观看免费视频| av中亚| 日韩AV电影网站| 97日亚洲欧美| 久久精品电影| 日韩性爱小视频| 国产在线视视频有精品| 91影视亚洲| 99久久婷婷丁香| 欧美日韩亚洲五月天婷婷| 97在线免费视频| 婷婷色中文字幕| 91青青在线| 九九热精品| 大香蕉99999| 国产亚洲人妻综合日韩 久久| 色香欲综合| 天天摸,夜夜摸| av天堂电影网| 亚州操操穴网| 国产狂喷潮在线精品| 大香蕉在线免| 天天操夜夜嗨| 日韩专区久久久| 妺妺跟我一起洗澡没忍住| av2014 日韩在线中文字幕| 性爱1区| 亚洲欧美洲综合| 嗯嗯啊啊视频在线看| 色悠久| 神马午夜久久久| 无码av永久免费专区网站| 天天天堂影视日韩亚洲91| 女人爽到高潮潮喷18禁网站| 青青草公开在线免费不卡视频| 在线观看一卡二卡| 无码高清少妇久久| 成人久久久精品| 久热99| 大香蕉乱级| 久久成人午夜狠狠| 亚洲成人在线播放| 亚洲无码视频免费在线观看网址!| 色综合加勒比四四季| 黄片色区软件| 久久久久久久| 中文字幕av久久爽Av| 亚洲精品无码久久AV| 九九热精品视频六| 久久超碰亚洲人| 日韩 欧美 另类 人妻| 精品人妻丰满熟妇一区二区三| 按摩中文字幕| 岛国艾薇凹凸视频天堂| 久久区| 黑人精品久久97| 五月天激情网图片| 偷拍亚洲熟女视频播放| 香港久久久| 欧美精品双插| 日本狠狠干| 日韩中文字幕人妻视频| 91亚洲在线| 大屁股国产在线视频| 男人的天堂2018东京热啪啪啪| 亚洲精品一二区| 亚洲性天堂| 吊色| 天天综合欧美综合| 色婷婷av在线观看| 久久91精品国产9丨久久分亭| 97色婷婷| 日韩黄片视频试看| 亚洲情色综合| 97超碰伊人| 久草男人天堂| 18一区二区三区| 大香蕉520| 成人亚欧免费视频| 精品亚洲一区在线观看| 九热久| 大香蕉日韩欧美| 97超碰免费人人性爱| 尻女朋友一夜| 91美女中出| 欧美日韩操逼嗦吊| 亚洲精美粉嫩嫩泬在线观看 | 国产综合永久精品日韩鬼片| 91在线精品一区二区三区| 中国91AV| 极品出轨视频网站| 啊啊啊啊啊好舒服视频| 国产精品网站www| 男人下部插入女人下部 | 午夜毛片亚洲精品片国产久久久| 欧美日韩亚洲国产中文永久天天看| 97免费视频网| 欧美一二三区四五区| 久久久久13| 色五月婷婷五月天| 激情五月婷婷| 色色热| 亚洲成人综合在线| 国产视频一区二区免费| 色yeye成人免费视频| 嫩呦国产一区二区三区AV| 国产91亚洲精品一区二区三区| 国产精品操| 97在线免费看视频| 久久人妻熟女一区二区| 国产9熟妇视频网站| 亚洲情色无码一区二区三区| 国产AB视频| 亚洲丝袜二区在线| 一区二区三区一亚洲中文字幕、综合区灬 | 九草九九九| 日韩淫色网| 久久九九精品一区二区| 久久久久久免费电影| 色偷偷2020免费视频播放| 色婷婷一区二区三区久久午夜成人不| 国产精品在线一区二区| 日韩av情韩国爱禁区av一区二区| 屁股久久久久久久久| 久久久九| 国产精品成人午夜福利| 97日韩| 国产无码成人无码| 中文字幕日韩专区精品系列| 欧洲亚洲国产综合在线| 日韩精品免费高清视频在线| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 亚洲 欧美 天天| 精品久一区免费| 精品国产一区二区三区四区在线看| 激情五月综合开心五月| 精品亚洲国产成人av网站| 久久‘黄片视频| 人妻嗯啊啊在线播放| 久热久一区二区三区| 日韩美女高潮喷水视频| 色一区二区三区综合| 中文 人妻 制服| 欧美18 在线观看| 3D污黄视频在线观看| 国内外色色色色色成人视频| 九九精品美女高溯喷水| 99黄页网站| 嗯嗯不要 视频| 日韩免费在线观看不卡| 无码精品一区二区三区潘金莲| 成人性爱电影网| 在线女人91| 日本精品一区二区三| 91五十路| 无码操逼网| 日韩草久视频| 欧美传媒一区| 熟女探花啪啪| 操逼网站视频漫画国产| 天堂日本亚洲欧美| 超碰97综合网| 级做a爱无码性色永久免费| 欧美成人午夜免费福利785| 99中出在线| 好爽要喷了| 岛国片在线视频网站| 91久久久久久| 亚欧美综合网。| 无码人妻1727| 性爱1区| 91国产美女丝袜足交精品视频 | 婷婷五月成人| 日韩中文字幕宗合在线| 亚洲性网| 97自拍视频在线| 97天天在线| 人人操,人人插| 婷婷激情啪啪| 208天天久久九九九| 国产中文字幕在线点播| 久久亚洲不卡| 欧美日韩人妻精品一区二区三区| 免费av在线播放二区| 亚洲老熟妇xxx| 亚洲素人综合| 免费伦费视频在线观看| 色婷婷蜜臀av| 亚洲男人电影天堂| 99无码视频| 女上位精品在线| 大香蕉www.超碰| 99热精品青草在线 | 中文字幕五区| 日本亚洲嫩草影院啪啪| 成人免费不卡在线视频| 精品九九九九九九九九九| 日韩精品资源专区二区| 色嘟嘟人妻天堂网| 欧美色图20P| 成人在线视频网| 久久久性少妇| 丰满人妻大屁一区二区| 欧美天天综合站| 欧美一级久久久久久久大片动画| 懂色AV中文| 日韩免费一级性爱视频| 18一区二区三区| 久久精品人妻一区| 青青草原人妻| 中文字幕欧美日韩三级| 国产一区二区三区中文字幕| 日韩欧美传媒一区国产| 五月婷婷激情| 女人久久久| 久久国产精品91| 操国产逼| 日日夜夜国产综合| 久久91视频| 黄色av播放免不| 欧美在线观看综合国产| 婷婷久久久精品| 激情综合婷婷| 好吊色青靑草| 日韩伦理久 久久 清纯| 尹人免费观看视频在线| 久久色一区二区| 国产熟女免费观看久久| 亚洲精品97p| 午夜免费视频1000| J?P?NESEHD熟女熟妇伦| 中文字幕日韩精品一区二区三区| 在线岛国新天堂8| 中国的操老妇女| 99综合免费视频| 国产91 丝袜在线播放00-百度| 小草三级久久观看| gogogo免费高清看中国国语| 性爱AV天堂| 日韩啪啪视频| 国产精品白领在线观看| 浓厚中出中文字幕在线| 搞中出视频在线观看| 日本熟妇人妻中出视频| 91美女片在线| 欧美亚洲第1页| 日韩在线观看字幕精品| 精品人妻一区二区三区免费视频| 色穴精品| 逼逼逼逼操操操操操操操操操午夜剧场 | 一个色导综合| 欧美线天码中字| 99热超碰| 欧美系列在线一区二区| 欧美高清16| 欧美熟女妇同| 色五月综合| 国产精品久久久久久久久久梁医生| 久日综合网| 少妇高潮99p| 亚洲黄色网址视频| 丁香七月婷婷| 久久是精品| 打av高清| 九九成人| 日本三级网页| 免费A片三p视频| 超碰97综合网| 日韩三级在线观看mp4| 婷婷综合网| 色狠狠 - 百度| 亚洲精品九九九| 婷婷探花久久精品一区| 九九热五区| 色色99| 在线观看中文av字幕| 日韩成人私密一级精品av| 玖色av| 欧美在线视频播放| 伊人色综合超碰| 九九在线视频| 亚洲色图亚洲无码强奸乱伦| 亚欧无码线免费观看视频| 欧美色91| 看看日B真人视频| 一区二区三区蜜桃成人撸久久东京热 | 亚熟hd视频在线| 日韩女优在线| 久色网| 日韩av在线播放不卡| 欧洲综合无码| 超碰午夜| 婷婷爽人人婷婷爽视频| 久9综合在线| 婷婷九月国产| 97干天天| 精品无吗久久| 东北黄色电影| 丁香六月婷婷综合| 久久久久久AⅤ无码免费肉站| 最新av网站在线观看| 欧美激情综合| 国产精品久久久久婷婷二区次| 91插B网站| 色综合 加勒比| 日韩亚洲97| 亚洲色图自拍| 天天舔天天日天天射| 久久伊人青青草| 日本女厕偷拍| 亚洲熟妇图片| 超碰激情808| 江都AV在线| 国产精品久久发布| 91肏屄网| xxx亚洲午夜天堂| 综精品久久久aaaa| 第二页中文字幕| 亚洲色9| 亚州久久9| 1024手机看片欧美日韩| 嫩草影院永久在线制服丝袜| 欧美日韩一干二干| 操逼精品视频| 在线情色电影 91大 | 激情看片网站| 伊人激情| 91N欧美| 久9久| 蜜臀久久99精品| 日韩 欧美 国产 麻豆| 污电影在线观看| 97资源站国产精品| 国产精品第一页国产大屁股视频免费区| 噜噜噜噜久久久精品免费| 久久久久久久97|