• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于DPI-C的脈動(dòng)陣列模塊驗(yàn)證平臺(tái)

    2023-07-06 12:42:24鑫,陳
    關(guān)鍵詞:浮點(diǎn)數(shù)參考模型代碼

    王 鑫,陳 博

    (江南大學(xué) 物聯(lián)網(wǎng)工程學(xué)院,江蘇 無(wú)錫 214122)

    0 引言

    人工智能(AI,artificial intelligence)加速芯片[1]很大一部分的算法涉及到矩陣運(yùn)算,在矩陣運(yùn)算過(guò)程中,其中的數(shù)學(xué)算術(shù)包括乘法運(yùn)算,加法運(yùn)算。矩陣乘法是一種計(jì)算量很大的算術(shù)運(yùn)算,它被認(rèn)為是許多信號(hào)處理應(yīng)用的關(guān)鍵。同時(shí),隨著AI加速芯片的巨大進(jìn)步,邊緣計(jì)算[2]開(kāi)始進(jìn)入人們的視野,邊緣設(shè)備功能也變得強(qiáng)大,AI向邊緣的移動(dòng)更是一種必然。研發(fā)人員在開(kāi)發(fā)AI芯片時(shí)需要設(shè)計(jì)并實(shí)現(xiàn)有關(guān)AI算法單元,對(duì)于AI算法而言主要進(jìn)行的數(shù)學(xué)運(yùn)算是卷積操作。在硬件上經(jīng)常使用到的卷積硬件結(jié)構(gòu)有加法樹(shù)、Eyeriss和脈動(dòng)陣列,其中的脈動(dòng)陣列就常常應(yīng)用于AI加速芯片領(lǐng)域之中[3]。

    在芯片設(shè)計(jì)人員設(shè)計(jì)并實(shí)現(xiàn)芯片內(nèi)部模塊時(shí),后續(xù)的驗(yàn)證工作也是不可忽略的,設(shè)計(jì)的模塊只有經(jīng)過(guò)了驗(yàn)證人員的全面驗(yàn)證,排查一切可能出錯(cuò)的點(diǎn)并加以改正之后,才可以讓它應(yīng)用于芯片中,否則在后續(xù)流片時(shí)可能會(huì)出現(xiàn)致命的錯(cuò)誤,從而導(dǎo)致之前的努力和投入的金錢(qián)都付之一炬。對(duì)脈動(dòng)陣列模塊進(jìn)行驗(yàn)證時(shí),其參考模型在整個(gè)驗(yàn)證平臺(tái)的實(shí)現(xiàn)中較為繁瑣和耗時(shí),主要原因出現(xiàn)在浮點(diǎn)數(shù)乘加運(yùn)算。為了解決這一問(wèn)題并鑒于C/C++等高級(jí)語(yǔ)言可以更加方便的實(shí)現(xiàn)激勵(lì)讀取、參考模型構(gòu)建等功能,本文采用C語(yǔ)言來(lái)輔助完成參考模型的編寫(xiě)。本文的驗(yàn)證環(huán)境使用UVM(universal verification methodology)[4-5]來(lái)搭建,利用SystemVerilog的DPI[6-8]技術(shù)將C 代碼與驗(yàn)證環(huán)境連接起來(lái),有效地提高驗(yàn)證效率,實(shí)現(xiàn)驗(yàn)證平臺(tái)的重用。

    1 所驗(yàn)脈動(dòng)陣列結(jié)構(gòu)

    脈動(dòng)陣列(systolic array)的架構(gòu)是簡(jiǎn)單的、有規(guī)律的、模塊化的和并發(fā)的,它可以有效計(jì)算矩陣-向量相乘或者矩陣-矩陣相乘[9-11],它是一種應(yīng)用在片上多處理器的體系結(jié)構(gòu)。在這一節(jié)中,主要簡(jiǎn)單列舉兩個(gè)矩陣相乘的具體計(jì)算過(guò)程從而引出脈動(dòng)陣列,并介紹本文中所使用脈動(dòng)陣列的具體結(jié)構(gòu)。

    1.1 基本矩陣運(yùn)算及PE單元

    給出兩個(gè)2×2階的A矩陣和B矩陣,兩矩陣相乘如式(1)所示。C矩陣由A、B矩陣相乘得出,其元素的具體計(jì)算過(guò)程如式(2)所示:

    圖1為A、B矩陣相乘得出C矩陣的空間表示法,呈正方體結(jié)構(gòu)。每個(gè)節(jié)點(diǎn)上執(zhí)行乘加運(yùn)算,在脈動(dòng)陣列的體系結(jié)構(gòu)中這些節(jié)點(diǎn)稱為處理元素(PEs,processing elements)。在圖1中可以看出A矩陣中的元素都是從正面進(jìn)入,B矩陣的元素是從左側(cè)面進(jìn)入,C矩陣元素從正方體上方得出。其中A矩陣的單個(gè)元素經(jīng)過(guò)一個(gè)處理元素運(yùn)算后,并不會(huì)即刻消失,而是繼續(xù)與走向下一個(gè)處理元素,同理B矩陣的元素也是以這種方式進(jìn)行運(yùn)動(dòng)。從圖中可以看出,整個(gè)矩陣的運(yùn)算是從正方體的底面開(kāi)始,在頂面結(jié)束,正方體的每一面的每一個(gè)橫邊所表示的是A、B矩陣內(nèi)的元素,而豎邊所表示的是中間運(yùn)算結(jié)果,可以看出底面的4個(gè)處理單元經(jīng)過(guò)計(jì)算得出結(jié)果后,各自把得到的結(jié)果發(fā)射到上面的處理元素作為被加數(shù)。經(jīng)過(guò)這種空間表示法可以形象地解釋矩陣相乘其實(shí)是以向量的形式進(jìn)行運(yùn)算,同時(shí)又把向量拆分至元素,從而更加形象地描述了矩陣運(yùn)算過(guò)程。

    圖1 A×B矩陣的空間表示法

    A、B矩陣在陣列中的運(yùn)算方式以及矩陣元素在PE中的運(yùn)算過(guò)程如圖2所示。在圖2中,左圖可以看出A、B矩陣內(nèi)的元素是以西、北方向進(jìn)入陣列中進(jìn)行運(yùn)算,輸出結(jié)果在南方;右圖是C矩陣中的元素在PE單元中具體運(yùn)算過(guò)程剖析圖,其中的橢圓表示一個(gè)PE單元。

    圖2 二維陣列和PE單元運(yùn)算過(guò)程

    在圖2中,B矩陣以列向量的形式送進(jìn)陣列中,4個(gè)元素分布在對(duì)應(yīng)的位置,如圖2左圖中的左上角是b0,0,右下角是b1,1,A矩陣則以行向量的形式進(jìn)入陣列與排布好的B矩陣進(jìn)行運(yùn)算。我們可以看出A矩陣的行向量進(jìn)入陣列后,它在未完全涉及所有陣列之前,并不會(huì)發(fā)生變化,例如a0,0元素在向右游走時(shí),是貫穿兩個(gè)PE單元后變?yōu)闊o(wú)效,這樣才能保證A矩陣的行向量與B矩陣的列向量進(jìn)行運(yùn)算,A、B矩陣完成了標(biāo)準(zhǔn)的矩陣運(yùn)算。

    1.2 脈動(dòng)陣列內(nèi)部結(jié)構(gòu)

    脈動(dòng)陣列是由多個(gè)PE單元編排而成。本文中的待測(cè)設(shè)計(jì)(DUT,design under test)是由32×32個(gè)PE 單元組成的脈動(dòng)陣列,其二維空間分布如圖3所示,呈正方形結(jié)構(gòu)。此陣列把每列的32個(gè)PE單元?jiǎng)澐譃橐粋€(gè)DOT(vector dot product unit),每一個(gè)DOT 運(yùn)算后會(huì)產(chǎn)生1個(gè)運(yùn)算結(jié)果作為新矩陣的元素。

    圖3 脈動(dòng)陣列內(nèi)部結(jié)構(gòu)

    劃分后的DOT 是執(zhí)行一次矩陣乘運(yùn)算中一個(gè)矩陣的行向量乘一個(gè)矩陣的列向量的運(yùn)算操作。選擇的行向量會(huì)不斷的向右方向進(jìn)行延續(xù)并與下一個(gè)列向量進(jìn)行運(yùn)算,即一個(gè)行向量需要游歷32個(gè)DOT 后才會(huì)失效,此時(shí)下一個(gè)行向量便會(huì)進(jìn)入。脈動(dòng)陣列中參與運(yùn)算的數(shù)都是浮點(diǎn)數(shù),經(jīng)過(guò)脈動(dòng)陣列運(yùn)算之后,最終會(huì)形成一個(gè)由32個(gè)浮點(diǎn)數(shù)所組成的向量,每經(jīng)過(guò)32 次運(yùn)算就會(huì)組成一個(gè)32×32 矩陣。1.3小節(jié)詳細(xì)地描述了矩陣是如何在脈動(dòng)陣列中進(jìn)行運(yùn)算的。

    1.3 矩陣送入脈動(dòng)陣列進(jìn)行運(yùn)算

    在脈動(dòng)陣列中,實(shí)現(xiàn)32×32矩陣運(yùn)算分為以下步驟:

    1)先將一個(gè)n=32的B矩陣分成32個(gè)列向量送入脈動(dòng)陣列中的每一個(gè)DOT,等待另一個(gè)行向量a的進(jìn)入,a向量與每一個(gè)DOT 進(jìn)行運(yùn)算。經(jīng)過(guò)32個(gè)DOT 的運(yùn)算之后可以得到新向量。

    2)每產(chǎn)生32次新的a向量并與之前在脈動(dòng)陣列中排布好的B矩陣相乘,便可以得到C矩陣。

    3)在完成一次C矩陣的計(jì)算后,開(kāi)始更換新的B矩陣與新的a向量,這樣經(jīng)過(guò)再一次的運(yùn)算便形成新的C矩陣。

    在每個(gè)DOT 中,每個(gè)PE 單元同時(shí)進(jìn)行乘加運(yùn)算。每?jī)蓚€(gè)相鄰的積相加,參與一次加法的積不可以與另一個(gè)相鄰的數(shù)進(jìn)行相加。得出的和再一次跟另一個(gè)和進(jìn)行相加,逐步重復(fù)下去,便形成加法樹(shù)的形式。其運(yùn)算過(guò)程如圖4表示。

    圖4 單個(gè)DOT 結(jié)果運(yùn)算輸出過(guò)程

    2 基于DPI-C的驗(yàn)證方案

    驗(yàn)證人員在正常情況下,可以利用SystemVerilog直接完成參考模型的編寫(xiě),但是在一定情況下,利用C/C++是唯一解決參考模型編寫(xiě)問(wèn)題的途徑。例如,當(dāng)遇到復(fù)雜的函數(shù)、SystemVerilog中不存在的、復(fù)雜的數(shù)據(jù)類型時(shí),便可以使用C/C++來(lái)輔助完成驗(yàn)證環(huán)境的搭建,這樣既快捷又高效。對(duì)于脈動(dòng)陣列中的浮點(diǎn)數(shù)運(yùn)算,主要是利用C程序進(jìn)行建模,之后通過(guò)DPI技術(shù)把C 代碼放進(jìn)驗(yàn)證平臺(tái)所需的位置來(lái)輔助完成脈動(dòng)陣列的驗(yàn)證。

    2.1 直接編程接口

    DPI-C利用了SystemVerilog的直接編程接口連接C 編程語(yǔ)言,實(shí)現(xiàn)了SystemVerilog 和C 語(yǔ)言之間的數(shù)據(jù)通信[12]。一旦聲明或者使用了import語(yǔ)言 “導(dǎo)入”了一個(gè)子程序,就可以像調(diào)用SystemVerilog中的子程序一樣去調(diào)用它,使用起來(lái)非常方便。通過(guò)較為高級(jí)的編程語(yǔ)言實(shí)現(xiàn)復(fù)雜模型比使用HDL語(yǔ)言要輕便很多,并且仿真速度也比較快。比如,在C 語(yǔ)言中,它已經(jīng)提供了很多庫(kù)函數(shù),直接調(diào)用即可,無(wú)需重新編寫(xiě)。這樣既保證了激勵(lì)編寫(xiě)的正確性,又提高了可重用性。同時(shí)C 語(yǔ)言目標(biāo)代碼的執(zhí)行速度比HDL仿真速度至少要提高一個(gè)數(shù)量級(jí)。在本文中通過(guò)DPI技術(shù)實(shí)現(xiàn)C代碼的更高層次的復(fù)用。

    在對(duì)特殊的DUT 進(jìn)行驗(yàn)證時(shí),采用直接編程接口也可以很便利地把C 代碼與UVM 驗(yàn)證環(huán)境連接起來(lái),按照下面4個(gè)步驟進(jìn)行。

    1)編寫(xiě)C代碼,實(shí)現(xiàn)所需算法。在編寫(xiě)C 代碼時(shí),需要聲明包含頭文件svdpi.h,是因?yàn)樵趕vdpi.h 中包含了SystemVerilog DPI結(jié)構(gòu)和方法的定義。

    2)完成C 與SystemVerilog的通信。在UVM 驗(yàn)證平臺(tái)中,通過(guò)導(dǎo)入函數(shù)或者任務(wù)的方式來(lái)調(diào)用C 代碼,DPI也允許在C代碼中通過(guò)導(dǎo)出函數(shù)和任務(wù)來(lái)調(diào)用SystemVerilog中的方法。

    3)匹配數(shù)據(jù)類型映射。由于SystemVerilog與C 語(yǔ)言數(shù)據(jù)類型差異較大,SystemVerilog中定義了通過(guò)DPI傳遞的每個(gè)數(shù)據(jù)類型的匹配模式。需要注意的是,DPI并不會(huì)檢查數(shù)據(jù)類型的兼容性,需要使用者自己保證數(shù)據(jù)匹配的正確性。

    4)利用仿真工具編譯C程序的方法,生成最終的目標(biāo)碼,并與SystemVerilog混合運(yùn)行。

    2.2 非標(biāo)準(zhǔn)化的浮點(diǎn)數(shù)

    IEEE二進(jìn)制浮點(diǎn)數(shù)算術(shù)標(biāo)準(zhǔn)(IEEE754)是20 世紀(jì)80年代以來(lái)最廣泛使用的浮點(diǎn)數(shù)運(yùn)算標(biāo)準(zhǔn)[13],許多CPU以及浮點(diǎn)運(yùn)算器都采用了這一標(biāo)準(zhǔn)。一個(gè)浮點(diǎn)數(shù)的表示方法可以為:

    其中:sign為符號(hào)位,exponent為指數(shù)位,fraction為小數(shù)位。對(duì)于指數(shù)位而言,它實(shí)際上是指數(shù)的實(shí)際值加上某個(gè)固定值,這個(gè)固定值在IEEE754標(biāo)準(zhǔn)中被稱為偏置并規(guī)定該值為127,即2e-1-1,e取數(shù)字8。這里需要注意的是,IEEE754標(biāo)準(zhǔn)中存在3個(gè)特殊值:

    1)如果指數(shù)位是0,并且小數(shù)位為0,那么這個(gè)數(shù)是±0(和符號(hào)位相關(guān))。

    2)如果指數(shù)位是255(2e-1),并且小數(shù)位為0,那么這個(gè)數(shù)是±∞(和符號(hào)位相關(guān))。

    3)如果指數(shù)位是255(2e-1),并且小數(shù)位不為0,那么這個(gè)數(shù)表示不為一個(gè)數(shù)(NaN)。

    常見(jiàn)的浮點(diǎn)數(shù)有:半精度浮點(diǎn)數(shù)(16bit)、單精度浮點(diǎn)數(shù)(32bit)、雙精度浮點(diǎn)數(shù)(64bit)。在本文中的脈動(dòng)陣列所運(yùn)算的浮點(diǎn)數(shù)是半精度浮點(diǎn)數(shù)和單精度浮點(diǎn)數(shù),其中單精度浮點(diǎn)數(shù)是定制的,即在IEEE754標(biāo)準(zhǔn)的基礎(chǔ)上進(jìn)行了修改,把標(biāo)準(zhǔn)中特殊值NaN更改為無(wú)窮大或無(wú)窮小(和符號(hào)位相關(guān))。

    2.3 參考模型的編寫(xiě)

    參考模型用于完成和DUT 相同的功能,其輸出用于與DUT 的輸出相比較。根據(jù)脈動(dòng)陣列內(nèi)部體系結(jié)構(gòu)以及定制化的浮點(diǎn)數(shù)算術(shù)運(yùn)算規(guī)則,設(shè)計(jì)并完成驗(yàn)證平臺(tái)中的參考模型?;诿}動(dòng)陣列運(yùn)算要求,需要實(shí)現(xiàn)乘法和加法的模型建設(shè)。

    乘法模型使兩個(gè)16位半精度浮點(diǎn)數(shù)相乘能夠得到一個(gè)32位的單精度浮點(diǎn)數(shù);加法模型是為了實(shí)現(xiàn)32位單精度浮點(diǎn)數(shù)相加的功能。在模型搭建之前就需要引入利用C 語(yǔ)言寫(xiě)好的乘加運(yùn)算模型,把它們當(dāng)作函數(shù)來(lái)使用。

    對(duì)于在參考模型中所使用的乘法和加法函數(shù)而言,在函數(shù)形式上這兩個(gè)函數(shù)后面都有3個(gè)參數(shù),第一個(gè)參數(shù)表示結(jié)果輸出,第二和第三個(gè)參數(shù)都表示輸入。因?yàn)槌朔ㄆ鲗?shí)現(xiàn)的是兩個(gè)半精度浮點(diǎn)數(shù)乘法運(yùn)算,因此兩個(gè)輸入都是16bit,其輸出結(jié)果就變成了32bit的單精度浮點(diǎn)數(shù)。加法器的兩個(gè)輸入是乘法器的輸出,即都是32bit。在對(duì)加法樹(shù)進(jìn)行建模時(shí)需要用到加法器。

    由于在設(shè)計(jì)并考慮到對(duì)脈動(dòng)陣列進(jìn)行建模時(shí)整個(gè)代碼頁(yè)太多,我們?cè)诰帉?xiě)參考模型時(shí),使用了extern virtual task關(guān)鍵字。其中的extern是為了控制class的長(zhǎng)度,如果在class中想使用一些函數(shù)或者任務(wù),用這個(gè)關(guān)鍵字就可以另起一頁(yè)代碼去編寫(xiě)代碼行較長(zhǎng)的函數(shù)或者任務(wù),這樣就可以避免一頁(yè)代碼行過(guò)多;virtual就是簡(jiǎn)單的虛函數(shù)功能;task是簡(jiǎn)單的任務(wù)關(guān)鍵字。這樣只需要在新的代碼頁(yè)中編寫(xiě)有關(guān)脈動(dòng)陣列的模型代碼即可。

    參考模型的編寫(xiě)思路如下:

    首先是實(shí)現(xiàn)一個(gè)DOT 中的乘法運(yùn)算,并把運(yùn)算結(jié)果寄存到一個(gè)數(shù)組中,這種數(shù)組需要聲明32個(gè),數(shù)組的位寬為32bit。完成一個(gè)DOT 中的乘法運(yùn)算后,便是開(kāi)始建立加法樹(shù)模型,從而得出最終結(jié)果。經(jīng)過(guò)上文的介紹后,我們可以得知,加法樹(shù)的底部是由32個(gè)乘法運(yùn)算結(jié)果而組成的,而這些結(jié)果已經(jīng)存入了所聲明的數(shù)組中。從數(shù)組中取出這32個(gè)乘法運(yùn)算結(jié)果并作為加法器的輸入,按照兩兩結(jié)合的方式進(jìn)行相加,其過(guò)程如1.3小節(jié)中所描述的一致,此時(shí)所需要的加法器數(shù)量為16個(gè)。經(jīng)過(guò)相加后便可以得出16個(gè)數(shù)據(jù),這16個(gè)數(shù)據(jù)會(huì)存入到新聲明的數(shù)組中去,然后從新聲明的數(shù)組中取出數(shù)據(jù),繼續(xù)兩兩相加,這時(shí)候會(huì)比上次減少8個(gè)加法器,以此類推,最終會(huì)得到一個(gè)輸入結(jié)果,即一個(gè)DOT 的輸出,最終使用了32 個(gè)乘法器,31 個(gè)加法器。

    其次,由于脈動(dòng)陣列中劃分了32個(gè)DOT,因此只需要在上述步驟情況下,利用一個(gè)for循環(huán)即可實(shí)現(xiàn)整個(gè)脈動(dòng)陣列的運(yùn)算過(guò)程。經(jīng)過(guò)運(yùn)算后,32個(gè)DOT 會(huì)產(chǎn)生32個(gè)運(yùn)算結(jié)果,這些運(yùn)算結(jié)果也會(huì)根據(jù)DOT 的排列順序而進(jìn)行排序,從而組成一個(gè)向量。例如,處于脈動(dòng)陣列中最左邊的DOT,那么它產(chǎn)生的結(jié)果就會(huì)在結(jié)果向量的第一個(gè)位置,同理,其它DOT 產(chǎn)生的結(jié)果就會(huì)在結(jié)果向量中相對(duì)應(yīng)的位置,這一功能只需要利用移位便可以實(shí)現(xiàn)。具體的實(shí)現(xiàn)過(guò)程是,每得到一個(gè)32bit的數(shù)據(jù)時(shí),都把它排在向量的最左端,然后把它和向量的高992 位進(jìn)行組合,利用System-Verilog中的{},以此往復(fù)32次。

    上述的步驟就可以實(shí)現(xiàn)脈動(dòng)陣列的模型建立,高效且簡(jiǎn)潔明了,對(duì)于其他人而言也方便理解。如果存在相似結(jié)構(gòu)的脈動(dòng)陣列,此模型也可以直接進(jìn)行移植使用,達(dá)到復(fù)用的效果。

    3 UVM 驗(yàn)證結(jié)構(gòu)

    使用DPI可以很方便地連接C 代碼,這些C 代碼可以讀取激勵(lì)、包含一個(gè)參考模型或僅僅擴(kuò)展SystemVerilog的功能。此外,驗(yàn)證平臺(tái)還使用到了UVM,它是由Cadence、Mentor和Synopsys聯(lián)合推出的新一代驗(yàn)證方法學(xué)。

    3.1 關(guān)于UVM

    UVM 主要是一個(gè)以SystemVerilog語(yǔ)言為基礎(chǔ)的一個(gè)庫(kù)。因?yàn)閁VM 具有層次化的結(jié)構(gòu)、可隨機(jī)化的激勵(lì)、可高度復(fù)用的驗(yàn)證平臺(tái)等優(yōu)點(diǎn)廣泛應(yīng)用于數(shù)字集成電路(IC,integrated circuit)的驗(yàn)證過(guò)程之中[14-15]。驗(yàn)證平臺(tái)因?yàn)槭褂昧薙ystemVerilog這一面向?qū)ο笳Z(yǔ)言來(lái)構(gòu)建,所以UVM也繼承這一特點(diǎn)。在UVM 中,是通過(guò)樹(shù)形結(jié)構(gòu)來(lái)管理各個(gè)類,各個(gè)類是派生于uvm _object或者uvm _component[16],而UVM 中常用類的繼承關(guān)系如圖5所示。這些通用驗(yàn)證部件不僅具有可配置性、封裝性、可重用等優(yōu)點(diǎn)而且還具有phase自動(dòng)執(zhí)行特性。Phase是將component分割成幾個(gè)不同的執(zhí)行階段并且按照一定的先后順序來(lái)執(zhí)行。Phase的引入,在很大程度上避免了由代碼書(shū)寫(xiě)不規(guī)范而引發(fā)的問(wèn)題。Phase中最常用的由build_phase、connect_phase、run_phase等。在3.2和3.3小節(jié)中,詳細(xì)講述了本實(shí)驗(yàn)的驗(yàn)證平臺(tái)結(jié)構(gòu)。

    圖5 UVM 中常用類的繼承關(guān)系

    3.2 UVM 驗(yàn)證平臺(tái)組件

    UVM 中各個(gè)組件有著不同的功能,包括產(chǎn)生激勵(lì)、發(fā)送激勵(lì)、采集信號(hào)、模擬待驗(yàn)?zāi)K以及輸出接口數(shù)據(jù)對(duì)比等?;诒疚拿}動(dòng)陣列的結(jié)構(gòu),其驗(yàn)證平臺(tái)采用UVM 組件進(jìn)行設(shè)計(jì),具體各個(gè)組件的名稱及其功能見(jiàn)表1。這些組件的繼承關(guān)系會(huì)在1.3小節(jié)中進(jìn)行描述。

    表1 驗(yàn)證平臺(tái)組件及其功能

    3.3 驗(yàn)證平臺(tái)內(nèi)部通信

    當(dāng)設(shè)計(jì)一個(gè)基于UVM 的驗(yàn)證平臺(tái)時(shí),需要完成各個(gè)組件的代碼編寫(xiě),其次把編寫(xiě)好的各個(gè)組件進(jìn)行實(shí)例化并利用事務(wù)級(jí)建模(TLM,transaction level modeling)[17-18]方法進(jìn)行組件之間的通信。其組件之間具體的通信以及驗(yàn)證平臺(tái)部分功能實(shí)現(xiàn)過(guò)程:

    1)首先是輸入階段,在Transaction中聲明受約束的激勵(lì),激勵(lì)通過(guò)Sequence發(fā)送給Driver,之后再由Driver發(fā)送給接口,此時(shí)Monitor對(duì)輸入接口進(jìn)行監(jiān)測(cè),并把監(jiān)測(cè)結(jié)果傳送給Reference Model,這一步便完成了驗(yàn)證平臺(tái)的輸入數(shù)據(jù)包發(fā)送過(guò)程以及脈動(dòng)陣列的激勵(lì)產(chǎn)生。

    2)輸入階段完成后,脈動(dòng)陣列和Reference Model便會(huì)產(chǎn)生各自的輸出。脈動(dòng)陣列的輸出結(jié)果也是由Monitor進(jìn)行監(jiān)測(cè)脈動(dòng)陣列輸出接口上的數(shù)據(jù)得到的。Reference Model的輸出結(jié)果和脈動(dòng)陣列的輸出結(jié)果會(huì)各自寫(xiě)入預(yù)置好的FIFO(先入先出,first input first output)中,在Scoreboard會(huì)把兩個(gè)FIFO 中的數(shù)據(jù)進(jìn)行讀取并進(jìn)行對(duì)比,這一階段便完成了輸出階段。

    3)由于一些信號(hào)在時(shí)序上需要滿足特定的情況,采用在Interface 中添加斷言的方式去保證信號(hào)時(shí)序符合要求[19-20]。

    根據(jù)3.1小節(jié)圖5中UVM 類的繼承關(guān)系、3.2小節(jié)表1中的驗(yàn)證平臺(tái)組件以及上述的內(nèi)部通信過(guò)程,本文設(shè)計(jì)的驗(yàn)證平臺(tái)框架如圖6所示。每個(gè)組件名字下面括號(hào)內(nèi)的標(biāo)簽就是其父類,例如Driver繼承于uvm_driver,Reference mode繼承與uvm_component,其他組件同理。

    圖6 基于UVM 的驗(yàn)證框架

    4 實(shí)驗(yàn)結(jié)果與分析

    本節(jié)介紹在完成脈動(dòng)陣列的驗(yàn)證平臺(tái)搭建后,DUT 和參考模型的輸出結(jié)果在Scoreboard中進(jìn)行對(duì)比的過(guò)程,并對(duì)比對(duì)結(jié)果進(jìn)行分析。

    4.1 結(jié)果對(duì)比過(guò)程

    激勵(lì)經(jīng)過(guò)輸入給脈動(dòng)陣列和參考模型后,脈動(dòng)陣列以及參考模型會(huì)把各自的輸出結(jié)果送進(jìn)預(yù)先定義好且不同的FIFO 中。把脈動(dòng)陣列的輸出結(jié)果定義為actual放進(jìn)一個(gè)FIFO 中,參考模型的輸出結(jié)果定義為expect放進(jìn)一個(gè)FIFO 中,之后分別從兩個(gè)FIFO 中取數(shù)據(jù)來(lái)進(jìn)行比對(duì)。

    在出現(xiàn)錯(cuò)誤的時(shí)候,先記錄下actual與expect,定位所發(fā)送出現(xiàn)對(duì)比錯(cuò)誤的數(shù)據(jù)并記錄下來(lái)。找到目標(biāo)數(shù)據(jù)后,根據(jù)設(shè)定的浮點(diǎn)數(shù)算術(shù)運(yùn)算標(biāo)準(zhǔn)進(jìn)行人工計(jì)算,把人工計(jì)算結(jié)果分別與脈動(dòng)陣列和參考模型輸出的結(jié)果進(jìn)行對(duì)比,然后以此來(lái)分析錯(cuò)誤原因并修正錯(cuò)誤。修正錯(cuò)誤后,把記錄下的數(shù)據(jù)以定向激勵(lì)的形式再一次發(fā)送給驗(yàn)證平臺(tái),若此時(shí)輸出為正確結(jié)果,則繼續(xù)進(jìn)行驗(yàn)證,否則重復(fù)上述工作。

    4.2 驗(yàn)證結(jié)果分析

    在本次測(cè)試用例中,給出一個(gè)隨機(jī)種子,其中有1 000個(gè)受約束的隨機(jī)數(shù)據(jù)。在所給的隨機(jī)數(shù)據(jù)中包括vain(A矩陣)、vbin(B矩陣)、ainvld(A矩陣有效信號(hào))、binvld(B矩陣有效信號(hào))。vain、vbin接口在測(cè)試的時(shí)候分為符號(hào)位、指數(shù)位、尾數(shù)位。把這三部分進(jìn)行隨機(jī)約束遍歷,進(jìn)行這一操作是為了實(shí)驗(yàn)后階段能夠收取較好的覆蓋率。隨機(jī)約束遍歷情況如表2所示。

    表2 不同接口數(shù)據(jù)遍歷情況

    在實(shí)驗(yàn)測(cè)試用例里的隨機(jī)數(shù)據(jù)包全部使用完之后,需要查看FIFO 中是否還有殘留的未發(fā)送的隨機(jī)數(shù)據(jù)包。在實(shí)驗(yàn)中,經(jīng)過(guò)多次隨機(jī)種子后,其FIFO 中的殘余數(shù)據(jù)結(jié)果如表3。

    表3 各個(gè)FIFO 內(nèi)數(shù)據(jù)情況

    運(yùn)行不同的測(cè)試用例的仿真或者不同的種子都會(huì)生成專屬的覆蓋率數(shù)據(jù)。經(jīng)多次仿真且覆蓋率經(jīng)過(guò)合并后,根據(jù)覆蓋率情況證明達(dá)到了驗(yàn)收要求。表4所展示的是最終的總的覆蓋率結(jié)果,每個(gè)覆蓋組代表著脈動(dòng)陣列中的一個(gè)功能點(diǎn)。

    表4 功能覆蓋率結(jié)果

    5 結(jié)束語(yǔ)

    本文利用DPI-C 技術(shù)與UVM 相結(jié)合的方法搭建一個(gè)脈動(dòng)陣列的驗(yàn)證環(huán)境。該驗(yàn)證環(huán)境利用了SystemVerilog事務(wù)處理能力強(qiáng)大的優(yōu)點(diǎn)以及C 實(shí)現(xiàn)模型成熟、穩(wěn)定、重用性高的優(yōu)點(diǎn),相對(duì)于傳統(tǒng)的驗(yàn)證方法,平臺(tái)結(jié)構(gòu)較為簡(jiǎn)單,可以快速搭建參考模型。本文實(shí)驗(yàn)通過(guò)運(yùn)用覆蓋率驅(qū)動(dòng)策略,將驗(yàn)證進(jìn)度進(jìn)行量化,最終達(dá)到功能覆蓋率100%的驗(yàn)證目標(biāo),提高了驗(yàn)證的完備性和準(zhǔn)確性。另外,本文的驗(yàn)證方案不僅能夠?qū)崿F(xiàn)驗(yàn)證環(huán)境的復(fù)用,而且測(cè)試用例也能實(shí)現(xiàn)更高驗(yàn)證層次的復(fù)用,可以大幅縮短片上系統(tǒng)芯片的開(kāi)發(fā)周期。

    猜你喜歡
    浮點(diǎn)數(shù)參考模型代碼
    四種Python均勻浮點(diǎn)數(shù)生成方法
    創(chuàng)世代碼
    創(chuàng)世代碼
    創(chuàng)世代碼
    創(chuàng)世代碼
    在C語(yǔ)言中雙精度浮點(diǎn)數(shù)線性化相等比較的研究
    非精確浮點(diǎn)數(shù)乘法器設(shè)計(jì)
    基于環(huán)境的軍事信息系統(tǒng)需求參考模型
    語(yǔ)義網(wǎng)絡(luò)P2P參考模型的查詢過(guò)程構(gòu)建
    基于參考模型的制造業(yè)MES需求建模
    国产老妇伦熟女老妇高清| 久久久久久国产a免费观看| 日本-黄色视频高清免费观看| 男女下面进入的视频免费午夜| 国产亚洲5aaaaa淫片| 在线观看一区二区三区| 亚洲怡红院男人天堂| 人妻夜夜爽99麻豆av| 人妻少妇偷人精品九色| 国产人妻一区二区三区在| 简卡轻食公司| 亚洲图色成人| 欧美97在线视频| videos熟女内射| 97超碰精品成人国产| 日韩欧美一区视频在线观看 | 69av精品久久久久久| 久久午夜福利片| 国内精品宾馆在线| 51国产日韩欧美| 麻豆乱淫一区二区| 中文乱码字字幕精品一区二区三区 | 日日摸夜夜添夜夜爱| 午夜老司机福利剧场| 午夜免费激情av| 在线 av 中文字幕| 老司机影院成人| 水蜜桃什么品种好| 国产69精品久久久久777片| 亚洲图色成人| 一级毛片aaaaaa免费看小| 亚洲精华国产精华液的使用体验| 特级一级黄色大片| 欧美最新免费一区二区三区| 亚洲欧美日韩东京热| 欧美区成人在线视频| 免费观看在线日韩| 久久久午夜欧美精品| 国产黄频视频在线观看| 久久久成人免费电影| 欧美另类一区| 国产黄色小视频在线观看| 一区二区三区乱码不卡18| 简卡轻食公司| 狠狠精品人妻久久久久久综合| 高清在线视频一区二区三区| 午夜视频国产福利| 白带黄色成豆腐渣| 两个人的视频大全免费| 国产极品天堂在线| 亚洲成人精品中文字幕电影| 日韩不卡一区二区三区视频在线| 国产精品久久久久久精品电影| 久久久久久久久久黄片| 亚洲欧洲日产国产| 国国产精品蜜臀av免费| 深爱激情五月婷婷| 国模一区二区三区四区视频| 欧美xxxx性猛交bbbb| 超碰97精品在线观看| 亚洲av在线观看美女高潮| 又爽又黄a免费视频| 日韩在线高清观看一区二区三区| 亚洲国产日韩欧美精品在线观看| 精品少妇黑人巨大在线播放| 国产一区二区三区综合在线观看 | 久久精品国产亚洲av涩爱| 久久久久久久亚洲中文字幕| 欧美成人精品欧美一级黄| 免费看av在线观看网站| 国产乱人偷精品视频| 联通29元200g的流量卡| 人妻制服诱惑在线中文字幕| 我的老师免费观看完整版| 美女大奶头视频| 国产国拍精品亚洲av在线观看| 亚洲自偷自拍三级| 免费观看无遮挡的男女| 99热这里只有是精品在线观看| 联通29元200g的流量卡| av在线亚洲专区| 欧美日韩综合久久久久久| 国产精品一区二区性色av| 久久99精品国语久久久| 亚洲美女视频黄频| 日韩三级伦理在线观看| 欧美性猛交╳xxx乱大交人| 亚洲va在线va天堂va国产| 成人鲁丝片一二三区免费| 欧美97在线视频| 欧美最新免费一区二区三区| 国产高潮美女av| 国产精品av视频在线免费观看| 一级a做视频免费观看| 免费观看性生交大片5| 国产乱来视频区| 亚洲国产精品国产精品| 免费av观看视频| 国产有黄有色有爽视频| 少妇人妻一区二区三区视频| 日韩大片免费观看网站| 国产免费视频播放在线视频 | 我的老师免费观看完整版| av免费观看日本| 久久久久久国产a免费观看| 97热精品久久久久久| 蜜桃亚洲精品一区二区三区| 免费少妇av软件| 黄色一级大片看看| 蜜臀久久99精品久久宅男| 亚洲自偷自拍三级| 最近中文字幕高清免费大全6| 欧美日韩国产mv在线观看视频 | 日韩伦理黄色片| 国产一区二区亚洲精品在线观看| 国产精品久久视频播放| 超碰97精品在线观看| 国产色婷婷99| 免费观看av网站的网址| 日韩制服骚丝袜av| 天美传媒精品一区二区| 狂野欧美白嫩少妇大欣赏| 国产成人精品一,二区| 精品少妇黑人巨大在线播放| 国内精品美女久久久久久| 亚洲综合色惰| 午夜亚洲福利在线播放| 国产美女午夜福利| 国产综合懂色| 波野结衣二区三区在线| 国产午夜精品久久久久久一区二区三区| 七月丁香在线播放| 久久韩国三级中文字幕| 男人狂女人下面高潮的视频| 国产又色又爽无遮挡免| 91久久精品电影网| 日韩大片免费观看网站| 国产av国产精品国产| 亚洲成人一二三区av| 欧美97在线视频| 夜夜看夜夜爽夜夜摸| 亚洲欧美成人综合另类久久久| 观看美女的网站| 久久精品国产亚洲网站| 亚洲人成网站高清观看| 欧美不卡视频在线免费观看| 3wmmmm亚洲av在线观看| av在线天堂中文字幕| 免费在线观看成人毛片| 国产日韩欧美在线精品| 在线a可以看的网站| www.色视频.com| 一级毛片久久久久久久久女| av女优亚洲男人天堂| 国产高清三级在线| 久久久久国产网址| 免费看a级黄色片| 国产亚洲91精品色在线| 91久久精品国产一区二区成人| 日韩一区二区三区影片| 免费人成在线观看视频色| 麻豆久久精品国产亚洲av| 99久久精品热视频| 欧美zozozo另类| 干丝袜人妻中文字幕| 欧美日本视频| 免费高清在线观看视频在线观看| 又粗又硬又长又爽又黄的视频| av国产久精品久网站免费入址| 亚洲美女搞黄在线观看| 亚洲性久久影院| 国产老妇女一区| 少妇丰满av| 偷拍熟女少妇极品色| 五月天丁香电影| 亚洲在线观看片| 免费观看在线日韩| 亚洲av.av天堂| av国产久精品久网站免费入址| 在线免费观看的www视频| 99re6热这里在线精品视频| www.av在线官网国产| 国产又色又爽无遮挡免| 亚洲欧洲国产日韩| 在线 av 中文字幕| 尾随美女入室| 麻豆国产97在线/欧美| av免费在线看不卡| 国产片特级美女逼逼视频| 女的被弄到高潮叫床怎么办| 色5月婷婷丁香| 国产老妇女一区| 99久久精品热视频| 国产免费视频播放在线视频 | 国产高潮美女av| 国产精品一及| 啦啦啦中文免费视频观看日本| 最近2019中文字幕mv第一页| 老女人水多毛片| 大陆偷拍与自拍| 草草在线视频免费看| 青青草视频在线视频观看| 午夜激情福利司机影院| 国产成人午夜福利电影在线观看| 精品一区二区三区人妻视频| 亚洲av男天堂| 久久午夜福利片| 色尼玛亚洲综合影院| 久久久久久久久久久免费av| 免费观看a级毛片全部| 国产视频首页在线观看| 亚洲精品成人av观看孕妇| 欧美一级a爱片免费观看看| 免费av不卡在线播放| 亚洲美女视频黄频| 欧美激情在线99| 欧美 日韩 精品 国产| 97超碰精品成人国产| 日韩av在线免费看完整版不卡| 亚洲18禁久久av| 日本一二三区视频观看| 精品亚洲乱码少妇综合久久| 成人亚洲精品一区在线观看 | 97热精品久久久久久| 九九爱精品视频在线观看| 精品酒店卫生间| 国内揄拍国产精品人妻在线| 毛片一级片免费看久久久久| 欧美 日韩 精品 国产| 人人妻人人澡人人爽人人夜夜 | 一个人观看的视频www高清免费观看| 午夜精品国产一区二区电影 | 国产又色又爽无遮挡免| 中文字幕av成人在线电影| 久久综合国产亚洲精品| 成年免费大片在线观看| 免费看不卡的av| 午夜福利在线在线| 视频中文字幕在线观看| 青春草国产在线视频| 欧美激情国产日韩精品一区| 亚洲乱码一区二区免费版| 日本免费a在线| 亚洲一区高清亚洲精品| 一个人看视频在线观看www免费| 亚洲精品视频女| 色综合站精品国产| 在线 av 中文字幕| 91精品国产九色| 亚洲在久久综合| 日本午夜av视频| 美女xxoo啪啪120秒动态图| 国产乱来视频区| 尾随美女入室| 精品久久久久久久久亚洲| 少妇裸体淫交视频免费看高清| 一级av片app| 搞女人的毛片| 久久精品久久久久久噜噜老黄| 亚洲精品久久午夜乱码| 女人被狂操c到高潮| 成人高潮视频无遮挡免费网站| 哪个播放器可以免费观看大片| 午夜福利视频精品| 中文在线观看免费www的网站| 黄色日韩在线| 成人国产麻豆网| 亚洲av免费高清在线观看| 免费观看精品视频网站| 在线观看av片永久免费下载| 一级毛片电影观看| 国产69精品久久久久777片| 免费大片黄手机在线观看| 国内揄拍国产精品人妻在线| 性色avwww在线观看| 丝袜喷水一区| 中文天堂在线官网| 国产精品日韩av在线免费观看| 在线免费十八禁| 欧美变态另类bdsm刘玥| 黄片无遮挡物在线观看| 久久97久久精品| 内地一区二区视频在线| 插逼视频在线观看| 亚洲内射少妇av| 99热这里只有是精品在线观看| 亚洲欧美日韩东京热| 亚洲一级一片aⅴ在线观看| 午夜激情福利司机影院| .国产精品久久| 国产黄a三级三级三级人| 亚洲精品中文字幕在线视频 | 成人美女网站在线观看视频| 国产爱豆传媒在线观看| 搡老妇女老女人老熟妇| 天堂影院成人在线观看| 国产黄色免费在线视频| 两个人视频免费观看高清| 亚洲在线自拍视频| 亚洲精品,欧美精品| 亚洲欧美日韩卡通动漫| av黄色大香蕉| 亚洲第一区二区三区不卡| 国产av不卡久久| 久久精品久久久久久久性| 亚洲经典国产精华液单| 少妇的逼好多水| 韩国高清视频一区二区三区| 欧美最新免费一区二区三区| 纵有疾风起免费观看全集完整版 | 国产精品女同一区二区软件| 免费黄网站久久成人精品| 欧美高清成人免费视频www| 免费观看在线日韩| 久久久久精品久久久久真实原创| 国产成人一区二区在线| 少妇被粗大猛烈的视频| 亚洲精品国产av成人精品| 国产精品人妻久久久久久| 成人国产麻豆网| 亚洲四区av| videos熟女内射| 精品国产露脸久久av麻豆 | 美女黄网站色视频| 97热精品久久久久久| 直男gayav资源| 亚洲成人av在线免费| 美女国产视频在线观看| 最近手机中文字幕大全| 男女那种视频在线观看| 日本-黄色视频高清免费观看| 午夜激情久久久久久久| 在线免费观看不下载黄p国产| 一个人看视频在线观看www免费| 亚洲精品,欧美精品| 啦啦啦中文免费视频观看日本| 久久久久久久大尺度免费视频| 十八禁网站网址无遮挡 | 亚洲人成网站高清观看| 亚洲激情五月婷婷啪啪| 日本免费a在线| 女的被弄到高潮叫床怎么办| 久久久久久久久久久免费av| 亚洲怡红院男人天堂| 午夜老司机福利剧场| 国产色婷婷99| 日韩精品青青久久久久久| 少妇裸体淫交视频免费看高清| 91精品国产九色| 夜夜看夜夜爽夜夜摸| 高清日韩中文字幕在线| 在线 av 中文字幕| 波多野结衣巨乳人妻| 久久精品久久久久久噜噜老黄| 女人十人毛片免费观看3o分钟| av黄色大香蕉| 久久久久国产网址| 亚洲av成人精品一二三区| 欧美日韩国产mv在线观看视频 | 天天一区二区日本电影三级| 高清日韩中文字幕在线| 最近2019中文字幕mv第一页| 国产伦理片在线播放av一区| 男人舔女人下体高潮全视频| 精品久久久久久久末码| 最近最新中文字幕大全电影3| 国产精品综合久久久久久久免费| 色综合站精品国产| 成人鲁丝片一二三区免费| 少妇熟女aⅴ在线视频| 午夜福利在线在线| 国产高清有码在线观看视频| 熟妇人妻不卡中文字幕| 波野结衣二区三区在线| 欧美精品国产亚洲| a级毛色黄片| 夜夜看夜夜爽夜夜摸| 嫩草影院精品99| av黄色大香蕉| 欧美精品一区二区大全| 国精品久久久久久国模美| 99久久精品一区二区三区| 久久久成人免费电影| 欧美xxxx性猛交bbbb| 波野结衣二区三区在线| 欧美另类一区| 99久久人妻综合| 22中文网久久字幕| 欧美激情在线99| 日韩电影二区| 久久精品国产自在天天线| 国产精品一区www在线观看| 伦理电影大哥的女人| 精品久久国产蜜桃| 亚洲美女搞黄在线观看| 亚洲av日韩在线播放| 国产黄片视频在线免费观看| 一级毛片aaaaaa免费看小| 国内揄拍国产精品人妻在线| 日韩 亚洲 欧美在线| 精品酒店卫生间| 国产精品一区二区三区四区久久| 麻豆精品久久久久久蜜桃| 女人久久www免费人成看片| 一级毛片电影观看| 又爽又黄a免费视频| 永久免费av网站大全| 日本免费a在线| 国产日韩欧美在线精品| 日韩不卡一区二区三区视频在线| 国产精品熟女久久久久浪| 国产一区二区三区综合在线观看 | 久久午夜福利片| 在线播放无遮挡| 777米奇影视久久| 国产精品蜜桃在线观看| 22中文网久久字幕| 国模一区二区三区四区视频| 国产伦一二天堂av在线观看| 国产一区亚洲一区在线观看| 女的被弄到高潮叫床怎么办| 神马国产精品三级电影在线观看| 欧美三级亚洲精品| 99久久精品热视频| 成年免费大片在线观看| 亚洲精品aⅴ在线观看| av国产久精品久网站免费入址| 91狼人影院| 久久久久久久久久黄片| 一级av片app| 久久精品人妻少妇| 日本一二三区视频观看| 看十八女毛片水多多多| 免费看美女性在线毛片视频| 国产成人a区在线观看| 婷婷六月久久综合丁香| 欧美丝袜亚洲另类| 天天一区二区日本电影三级| 有码 亚洲区| 亚洲天堂国产精品一区在线| av播播在线观看一区| 国产人妻一区二区三区在| 熟女电影av网| 六月丁香七月| 天天一区二区日本电影三级| 成人特级av手机在线观看| 国产亚洲av片在线观看秒播厂 | 欧美精品国产亚洲| 韩国高清视频一区二区三区| 一区二区三区高清视频在线| 99久国产av精品国产电影| 国产成人精品福利久久| 我要看日韩黄色一级片| 99久久精品一区二区三区| 国产一区亚洲一区在线观看| 熟妇人妻不卡中文字幕| 国产一区二区三区av在线| 国产精品美女特级片免费视频播放器| 色网站视频免费| 国产免费视频播放在线视频 | 激情 狠狠 欧美| 日韩电影二区| 97超视频在线观看视频| 久久久久久久国产电影| 精品人妻视频免费看| 亚洲人与动物交配视频| 午夜福利在线观看免费完整高清在| 亚洲国产精品成人综合色| 亚洲,欧美,日韩| 激情五月婷婷亚洲| 国产探花在线观看一区二区| 99热网站在线观看| 婷婷色av中文字幕| 精品人妻偷拍中文字幕| 2021少妇久久久久久久久久久| 欧美最新免费一区二区三区| 精品人妻偷拍中文字幕| 美女内射精品一级片tv| 99re6热这里在线精品视频| 舔av片在线| 赤兔流量卡办理| 精品久久国产蜜桃| 免费观看精品视频网站| 丰满人妻一区二区三区视频av| 亚洲人成网站在线播| 看非洲黑人一级黄片| 中文字幕制服av| eeuss影院久久| 美女高潮的动态| 国产永久视频网站| 国产淫片久久久久久久久| 高清午夜精品一区二区三区| 亚洲婷婷狠狠爱综合网| 色综合色国产| 最近中文字幕高清免费大全6| 内射极品少妇av片p| 一级二级三级毛片免费看| 国产午夜精品论理片| 亚洲av电影在线观看一区二区三区 | 国产久久久一区二区三区| 亚洲乱码一区二区免费版| 亚洲精品成人av观看孕妇| 亚洲精品,欧美精品| 亚洲精品中文字幕在线视频 | 久久99蜜桃精品久久| 国产精品久久久久久精品电影小说 | 日本午夜av视频| 久久草成人影院| 婷婷色综合大香蕉| 久久99热6这里只有精品| 国产精品无大码| 秋霞在线观看毛片| 午夜福利高清视频| 国产高清有码在线观看视频| 18+在线观看网站| 久久久精品94久久精品| 成年女人在线观看亚洲视频 | 综合色av麻豆| 成人午夜精彩视频在线观看| 丰满乱子伦码专区| 久久久久久久久中文| 亚洲欧洲日产国产| 成人午夜精彩视频在线观看| 成人特级av手机在线观看| 成年女人在线观看亚洲视频 | 精品一区在线观看国产| 亚洲人成网站在线观看播放| 综合色av麻豆| 亚洲精品日本国产第一区| 国产免费福利视频在线观看| av女优亚洲男人天堂| 国产爱豆传媒在线观看| 能在线免费观看的黄片| 午夜福利高清视频| 一级黄片播放器| 国产 一区精品| 特大巨黑吊av在线直播| 热99在线观看视频| 日日啪夜夜爽| 爱豆传媒免费全集在线观看| 大又大粗又爽又黄少妇毛片口| 精品午夜福利在线看| 国产淫语在线视频| 国国产精品蜜臀av免费| 人人妻人人看人人澡| 一级二级三级毛片免费看| 国产成人一区二区在线| 国产av国产精品国产| 亚洲av二区三区四区| 国语对白做爰xxxⅹ性视频网站| 欧美xxⅹ黑人| 熟女人妻精品中文字幕| 91午夜精品亚洲一区二区三区| 久久精品国产亚洲网站| 国产三级在线视频| 久热久热在线精品观看| 草草在线视频免费看| 国产成人a区在线观看| 国产黄a三级三级三级人| 国产又色又爽无遮挡免| 偷拍熟女少妇极品色| 国产成人一区二区在线| 日日干狠狠操夜夜爽| 欧美不卡视频在线免费观看| 国产成人a∨麻豆精品| av.在线天堂| 午夜激情福利司机影院| 人人妻人人澡欧美一区二区| 久久久久久久大尺度免费视频| 欧美bdsm另类| 最近最新中文字幕大全电影3| 亚洲18禁久久av| 亚洲av中文字字幕乱码综合| 天美传媒精品一区二区| 波野结衣二区三区在线| 日本欧美国产在线视频| 日韩人妻高清精品专区| 欧美丝袜亚洲另类| 看非洲黑人一级黄片| 真实男女啪啪啪动态图| 高清av免费在线| 在线播放无遮挡| 国产av国产精品国产| 熟女电影av网| 精品人妻熟女av久视频| 国产av在哪里看| 国产v大片淫在线免费观看| 26uuu在线亚洲综合色| 国产一区有黄有色的免费视频 | 国产精品美女特级片免费视频播放器| 亚洲精品亚洲一区二区| 国产精品久久久久久久久免| 国产精品av视频在线免费观看| 日本一本二区三区精品| 色综合站精品国产| 精品少妇黑人巨大在线播放| 午夜老司机福利剧场| 日韩av不卡免费在线播放| 免费看日本二区| 日韩大片免费观看网站| 亚洲av中文字字幕乱码综合| 国产精品三级大全| 青春草视频在线免费观看| 美女黄网站色视频| 精品人妻一区二区三区麻豆| 又大又黄又爽视频免费| 一级av片app| 国产精品美女特级片免费视频播放器| 国产毛片a区久久久久| 免费观看性生交大片5| 熟妇人妻久久中文字幕3abv| 国国产精品蜜臀av免费| 联通29元200g的流量卡| 亚洲一级一片aⅴ在线观看| 亚洲精品一区蜜桃|