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

    面向敏捷硬件設(shè)計(jì)的符號(hào)模擬器設(shè)計(jì)與實(shí)現(xiàn)*

    2021-12-24 02:00:52鄒鴻基方雨德
    關(guān)鍵詞:存儲(chǔ)器模擬器運(yùn)算

    鄒鴻基,李 暾,羅 丹,方雨德

    (國(guó)防科技大學(xué)計(jì)算機(jī)學(xué)院,湖南 長(zhǎng)沙 410073)

    1 引言

    縮短設(shè)計(jì)周期,降低設(shè)計(jì)成本,提高設(shè)計(jì)生產(chǎn)率,一直是集成電路設(shè)計(jì)面臨的重要挑戰(zhàn)。為應(yīng)對(duì)這些挑戰(zhàn),研究人員提出了多種設(shè)計(jì)方法和設(shè)計(jì)理念,敏捷硬件設(shè)計(jì)方法正是近年來(lái)出現(xiàn)的一種新設(shè)計(jì)方法。該方法借鑒敏捷軟件設(shè)計(jì)方法,通過(guò)設(shè)計(jì)方法、設(shè)計(jì)工具鏈的革新,使得集成電路設(shè)計(jì)流程變“輕”,以提高設(shè)計(jì)生產(chǎn)率。一些成功案例顯示了該方法強(qiáng)大的設(shè)計(jì)效能[1,2]。

    在敏捷硬件設(shè)計(jì)方法中,前端建模主流技術(shù)是依托某種高級(jí)程序設(shè)計(jì)語(yǔ)言(如Scala、Python)設(shè)計(jì)領(lǐng)域特定語(yǔ)言DSL(Domain Specific Language),通過(guò)定義支持寄存器傳輸級(jí)RTL(Regist-er Transfer Level)建模的端口、寄存器、連線和邏輯單元類等語(yǔ)言機(jī)制,擴(kuò)展現(xiàn)有語(yǔ)言的硬件描述能力,并在運(yùn)行程序時(shí)自動(dòng)生成Verilog或其他格式的RTL電路描述,這種DSL又稱為硬件構(gòu)建語(yǔ)言HCL(Hardware Construction Language)。

    HCL運(yùn)行時(shí)生成硬件借鑒了編譯技術(shù),引入了類似于LLVM(Low Level Virtual Machine)[3]的中間格式。在將HCL描述編譯為中間格式后,可在此基礎(chǔ)上快速地評(píng)估各種后端設(shè)計(jì)參數(shù)對(duì)設(shè)計(jì)的影響,或圍繞中間格式研究各種設(shè)計(jì)驗(yàn)證技術(shù),如等價(jià)性檢查、模型檢驗(yàn)、限界模型檢驗(yàn)和測(cè)試生成等。上述各種驗(yàn)證技術(shù)所需要的共性技術(shù)是符號(hào)模擬,但目前還未有針對(duì)敏捷硬件設(shè)計(jì)前端建模的符號(hào)模擬支持。

    針對(duì)該問(wèn)題,本文以PyRTL DSL[4]為目標(biāo),設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)符號(hào)模擬器,以支持后續(xù)測(cè)試生成、限界模型檢驗(yàn)和等價(jià)性檢查等驗(yàn)證技術(shù)的研究。本文主要貢獻(xiàn)為:

    (1)探討了基于中間格式的符號(hào)模擬方法;

    (2)建立了中間格式與可滿足性模理論SMT(Satisfiability Modulo Theory)[5]之間的映射規(guī)則;

    (3)為敏捷硬件設(shè)計(jì)形式化驗(yàn)證構(gòu)建了基礎(chǔ)。

    本文給出的方法不局限于PyRTL,還可遷移到任何中間格式上,例如FIRRTL[6]、CoreIR[7]和LLHD[8]等。

    2 背景

    2.1 PyRTL簡(jiǎn)介

    PyRTL是由加州大學(xué)圣巴巴拉分校體系結(jié)構(gòu)實(shí)驗(yàn)室基于Python設(shè)計(jì)的一種硬件設(shè)計(jì)DSL。PyRTL在Python的基礎(chǔ)上提供了一組RTL級(jí)建模的原語(yǔ),以支持精準(zhǔn)的設(shè)計(jì)描述,利用設(shè)計(jì)模式技術(shù)提高設(shè)計(jì)建模的效率。它要求所有邏輯都是同步和可綜合的,也是一種基于執(zhí)行的設(shè)計(jì)構(gòu)建語(yǔ)言。PyRTL的目標(biāo)是簡(jiǎn)單、易用和可擴(kuò)展,支持RTL級(jí)設(shè)計(jì)描述、模擬、測(cè)試與跟蹤等。目前,PyRTL支持與Xilinx PYNQ的集成,便于快速開(kāi)發(fā)片上系統(tǒng)SoC(System on Chip)原型。

    PyRTL設(shè)計(jì)背后的主要?jiǎng)訖C(jī)是通過(guò)一組Python類幫助用戶精確地描述數(shù)字硬件結(jié)構(gòu)。為了實(shí)現(xiàn)簡(jiǎn)單性和清晰性,PyRTL有意將用戶限制在一組合理的數(shù)字設(shè)計(jì)實(shí)踐中。例如,時(shí)鐘和復(fù)位信號(hào)是隱式的,默認(rèn)情況下塊內(nèi)存是同步的,不存在未驅(qū)動(dòng)或高阻抗?fàn)顟B(tài),不允許未注冊(cè)的反饋,等等。這樣,任何以有效代碼表示的設(shè)計(jì)總是與可綜合的硬件相對(duì)應(yīng)。

    PyRTL提供了WireVector數(shù)據(jù)結(jié)構(gòu)來(lái)構(gòu)建邏輯單元之間的連線,共有5種不同類型的WireVector:Basic、Input、Output、Const和Register。Basic將2個(gè)或多個(gè)不同的邏輯元件連接在一起,Input和Output表示電路的輸入和輸出信號(hào),Const表示電路中的常量,而Register表示寄存器,存儲(chǔ)下一拍的輸出信號(hào)值。為支持構(gòu)建復(fù)雜的電路邏輯,WireVector上重載了算數(shù)運(yùn)算符、邏輯運(yùn)算符和比較運(yùn)算符等多種運(yùn)算符。除此之外,PyRTL還提供了concat、concat_list等函數(shù)來(lái)支持對(duì)WireVector進(jìn)行位操作,提供了Conditional Blocks來(lái)支持條件語(yǔ)句,提供了select、mux等函數(shù)來(lái)支持選擇操作。

    圖1給出一個(gè)簡(jiǎn)單的PyRTL電路,描述了一位加法器,它有3個(gè)輸入a、b、c,2個(gè)輸出sum、carrry_out:

    Figure 1 adder圖1 加法器

    2.2 PyRTL中間格式

    PyRTL中間格式的目標(biāo)是為RTL之后的硬件設(shè)計(jì)處理提供一套完整的操作和結(jié)構(gòu)。PyRTL提供了Block和WireVector 2種內(nèi)置的數(shù)據(jù)結(jié)構(gòu),支持以自底向上的方式構(gòu)建硬件。Block是由基本邏輯單元組成的設(shè)計(jì),它存儲(chǔ)基本邏輯單元以及它們之間的互連。每個(gè)邏輯單元用一個(gè)LogicNet來(lái)表示,每個(gè)LogicNet是一個(gè)4元組,一般形式如下所示:

    (operator,parameters,args,dests)

    其中,operator表示LogicNet可執(zhí)行的操作,用單個(gè)字符表示;parameters表示LogicNet完成操作時(shí),除輸入信號(hào)外可能需要的額外參數(shù),這些參數(shù)不能在運(yùn)行時(shí)更改;args表示LogicNet的輸入信號(hào)集;dests表示LogicNet的輸出信號(hào)集。

    PyRTL中間格式定義了一些基本的LogicNet操作,如下所列:

    (1)邏輯運(yùn)算和算術(shù)運(yùn)算:如加減、與或等,按其標(biāo)準(zhǔn)定義執(zhí)行指定的算術(shù)或邏輯運(yùn)算,每一種運(yùn)算都有2個(gè)參數(shù)。

    (2)基本的比較操作:“=”檢查WireVector的每一位是否相等,而“<”和“>”執(zhí)行無(wú)符號(hào)算術(shù)比較。所有比較操作的輸出是位寬為1的WireVector。

    (3)w和n運(yùn)算:w是一個(gè)沒(méi)有邏輯函數(shù)的緩沖區(qū),而n為非運(yùn)算。

    (4)x運(yùn)算:表示一個(gè)多路選擇器,含3個(gè)參數(shù),第1個(gè)參數(shù)是1位選擇信號(hào)(select bit),如果第1個(gè)參數(shù)的值為0,選擇第2個(gè)參數(shù);如果為1,選擇第3個(gè)參數(shù)。

    (5)c運(yùn)算:為concat操作符,將任意數(shù)量的線向量(a0,a1,…,an)拼接成一個(gè)新的WireVector,其中a0為最高位,an為最低位。

    (6)s運(yùn)算:為選擇操作符,它根據(jù)指定的常量參數(shù),選擇WireVector的一個(gè)子段。

    (7)r運(yùn)算:代表一個(gè)寄存器,在時(shí)鐘上升沿,它將值從輸入復(fù)制到寄存器的輸出。

    (8)m運(yùn)算:代表內(nèi)存的一個(gè)讀取端口,它支持異步或同步讀取。

    (9)@運(yùn)算:代表內(nèi)存的一個(gè)寫(xiě)端口,支持同步寫(xiě)。

    圖2為圖1中間格式對(duì)應(yīng)的電路圖。

    Figure 2 Circuit diagram圖2 電路圖

    圖2中,a、b、c對(duì)應(yīng)圖1中定義的輸入,sum和carry_out對(duì)應(yīng)圖1中定義的輸出;tmp1=a∧b,tmp2=tmp1∧c,sum=tmp2,對(duì)應(yīng)圖1中的sum<<=a∧b∧c;tmp3=a&b,TEMP1=tmp3,對(duì)應(yīng)圖1中的temp1<<=a&b;tmp4=a&c,tmp0=tmp4,對(duì)應(yīng)圖1中的temp2<<=a&c;tmp5=b&c,對(duì)應(yīng)圖1中的temp3=b&c;tmp6=TEMP1∧tmp0,tmp7=tmp5∧tmp6,carry_out=tmp7對(duì)應(yīng)圖1中的carry_out<<=temp1|temp2|temp3。

    3 符號(hào)模擬器設(shè)計(jì)

    模擬是集成電路設(shè)計(jì)驗(yàn)證常用技術(shù)之一,對(duì)集成電路進(jìn)行模擬時(shí),首先建立電路模擬模型,然后注入模擬激勵(lì)以激活電路模擬模型,通過(guò)運(yùn)行模擬程序驗(yàn)證該模型。通常輸入的模擬激勵(lì)是0、1這樣的二進(jìn)制值。模擬算法通常分為事件驅(qū)動(dòng)的模擬方法和基于節(jié)拍(cycle-based)的模擬方法。

    3.1 主要原理

    符號(hào)模擬仍是一種模擬驗(yàn)證方法,但其接收的模擬激勵(lì)不僅是具體的值,還包含符號(hào)。符號(hào)模擬的主要思想是用符號(hào)代替具體值作為電路模擬模型的輸入,利用模擬算法,由初始輸入出發(fā),依次經(jīng)過(guò)電路的各個(gè)節(jié)點(diǎn),計(jì)算出每個(gè)節(jié)點(diǎn)的符號(hào)表達(dá)式,直到電路的輸出端,得到由初始符號(hào)組成的表達(dá)式,該表達(dá)式是一種體現(xiàn)電路功能的約束函數(shù)。

    對(duì)組合電路,可從初始輸入開(kāi)始至最終輸出,將邏輯單元輸入輸出連接起來(lái),形成用初始輸入表示的最終輸出的邏輯函數(shù)。而對(duì)時(shí)序電路,則需對(duì)電路按一定的節(jié)拍數(shù)展開(kāi),得到組合電路后再進(jìn)行處理。而在展開(kāi)時(shí)序電路時(shí),需要根據(jù)所使用的模擬算法考慮或忽略邏輯單元的延時(shí)。

    本文基于PyRTL中間格式,采用基于節(jié)拍的模擬算法,設(shè)計(jì)并實(shí)現(xiàn)符號(hào)模擬器,主要挑戰(zhàn)是如何利用中間格式將電路展開(kāi)并表示為SMT約束,且能用于其他驗(yàn)證任務(wù)。為處理PyRTL中間格式表示的電路既包含字級(jí)信號(hào),又包含位級(jí)信號(hào),本文選用了SMTLIB2(Statisfiability Modulo Theories LIBrary 2.x)[9]格式作為轉(zhuǎn)換目標(biāo)。SMTLIB2表示是標(biāo)準(zhǔn)格式,可被遵循該標(biāo)準(zhǔn)的各種SMT求解器求解,如Z3[10]、CVC4[11]和Boolector[12]等。

    3.2 算法設(shè)計(jì)

    針對(duì)PyRTL的中間格式,符號(hào)模擬器算法的具體步驟如下所示:

    Step1通過(guò)Block對(duì)象,獲得電路的中間格式。

    Step2記錄LogicNet中出現(xiàn)的所有Const類型的常量。

    Step3判斷電路類型,如果是組合邏輯電路,跳轉(zhuǎn)到Step 4;如果是時(shí)序邏輯電路,跳轉(zhuǎn)到Step 5。

    Step4直接遍歷中間格式保存的每一個(gè)LogicNet,判斷符號(hào)是否已定義,再根據(jù)其功能轉(zhuǎn)換成不同的SMT語(yǔ)句,具體轉(zhuǎn)換方法見(jiàn)3.3節(jié)的轉(zhuǎn)換規(guī)則,最后將Step 2中保存的常量轉(zhuǎn)換成SMT語(yǔ)句,一并寫(xiě)入文件。

    Step5對(duì)時(shí)序邏輯電路進(jìn)行展開(kāi),利用節(jié)拍計(jì)數(shù)對(duì)不同周期的同一符號(hào)進(jìn)行區(qū)分,得到一個(gè)組合邏輯電路。按Step 4對(duì)展開(kāi)的每一拍電路進(jìn)行轉(zhuǎn)換。

    符號(hào)模擬器的應(yīng)用方法如圖3所示。

    Figure 3 Symbolic simulation process圖3 符號(hào)模擬過(guò)程

    算法Step 1中,如前所述,所有的LogicNet及其連接關(guān)系都保存在Block對(duì)象中,因此可以從對(duì)應(yīng)的Block對(duì)象中得到設(shè)計(jì)中包含的所有邏輯單元,以及邏輯單元之間的連接關(guān)系。

    算法的核心在Step 4,需要將電路從PyRTL的中間格式轉(zhuǎn)換為SMTLIB2格式,以便于后續(xù)使用。這種轉(zhuǎn)換需要按照LogicNet邏輯運(yùn)算含義,按一定規(guī)則轉(zhuǎn)換為SMTLIB2中相應(yīng)的運(yùn)算及其約束表示。

    當(dāng)需要進(jìn)行符號(hào)模擬的電路為時(shí)序電路時(shí)(算法Step 5),必須將電路展開(kāi),展開(kāi)后的電路為一個(gè)組合邏輯電路。除了按照轉(zhuǎn)換規(guī)則將電路轉(zhuǎn)換為SMTLIB2格式外,還需要為電路中的信號(hào)名換名,以區(qū)分不同周期間的同名信號(hào)。其換名方法是為信號(hào)名增加一個(gè)標(biāo)記,用于標(biāo)識(shí)是第幾拍的信號(hào)。

    3.3 轉(zhuǎn)換規(guī)則

    2.2節(jié)表示LogicNet的4元組可寫(xiě)成如式(1)所示函數(shù)形式:

    dests=operator([parameters],args)

    (1)

    該函數(shù)表示利用參數(shù)parameters和輸入args執(zhí)行操作operator得到輸出dests,其中parameters為選擇使用。

    在SMTLIB2中表達(dá)式用前綴形式表示,格式如式(2)所示:

    (opa1a2…an)

    (2)

    表示對(duì)a1,a2,…,an執(zhí)行操作op。

    因此,根據(jù)操作語(yǔ)義,可將式(1)中賦值符號(hào)右邊部分operator([parameters],args)轉(zhuǎn)化成SMT表達(dá)式,如式(3)所示:

    (operatorargs[0]args[1] …args[n])

    (3)

    而SMT表達(dá)式中的等號(hào)可表示為:

    (=ab)

    (4)

    綜合式(3)和式(4),可知式(1)轉(zhuǎn)化為SMT表達(dá)式的規(guī)則如式(5)所示:

    (=dests(opargs[0]args[1] …args[n]))

    (5)

    最后使用assert將此表達(dá)式轉(zhuǎn)換為SMT約束,即在約束求解過(guò)程中需被滿足的條件,規(guī)則如式(6)所示:

    (assert(=

    dests(operatorargs[0]args[1] …args[n])))

    (6)

    對(duì)于LogicNet中無(wú)法直接對(duì)應(yīng)SMTLIB2的operator,需要使用多個(gè)SMTLIB2的操作op進(jìn)行轉(zhuǎn)化。由于如式(2)所示的表達(dá)式依然可作為操作數(shù)嵌套使用,因此,多個(gè)操作op可表示成:

    (op1(op2a1a2…an)(op3…)… (opn…))

    (7)

    一般而言,需要用到LogicNet中參數(shù)para-meters的情況主要有以下2種:

    (1)利用參數(shù)parameters和輸入args共同得到輸出dests,即parameters也是LogicNet輸入?yún)?shù)之一,按照式(7)的規(guī)則,此時(shí)可將式(6)的輸入args替換為參數(shù)parameters和輸入args的表達(dá)式:

    (assert(=dests(op1((op2param[0] …param[n])args[0])((op2param[0] …param[n])args[1]))))

    (2)參數(shù)parameters將作為L(zhǎng)ogicNet輸出之一被修改,此時(shí),parameters的功能與情況(1)中的dests一致。此時(shí),可在將式(1)轉(zhuǎn)換為式(5)之外,再增加一條約束,規(guī)則同式(5),如下所示:

    (assert(=parameters(operatorargs[0] …args[n])))

    對(duì)LogicNet轉(zhuǎn)換的關(guān)鍵是對(duì)其operator的轉(zhuǎn)換,經(jīng)對(duì)比operator與SMT中運(yùn)算的語(yǔ)義,本文給出operator的轉(zhuǎn)換規(guī)則,如下所示:

    (1)當(dāng)operator為&、|、∧、n、+、-、*、=、<、>、c時(shí),參數(shù)parameters為空,args的長(zhǎng)度為2,dests的長(zhǎng)度為1,具體含義為dests[0] =args[0]opargs[1]。故此時(shí)生成的SMT約束為:

    (assert(=dests[0] (opargs[0]args[1])))

    (2)當(dāng)operator為~、w、r時(shí),參數(shù)parameters為空,args的長(zhǎng)度為1,dests的長(zhǎng)度為1,具體含義為dests[0] =opargs[0]。故此時(shí)生成的SMT語(yǔ)句為:

    (assert(=dests[0] (opargs[0])))

    注意,r表示寄存器單元,表示前一個(gè)周期的args[0]與當(dāng)前周期的dests[0]相等,因此需要對(duì)符號(hào)所在周期進(jìn)行區(qū)分,如寄存器輸入為la,輸出為lb,則在第1個(gè)周期中,生成的SMT約束為(assert(=lb_0la_1)),其中_0和_1分別表示第0拍和第1拍。

    (3)當(dāng)operator為x時(shí),表示一個(gè)多路選擇器,此時(shí)參數(shù)parameters為空,args的長(zhǎng)度為3,dests的長(zhǎng)度為1。多路選擇器定義的操作為ifargs[0] =0 thendests[0] =args[1] elsedests[0] =args[2]。利用SMT的ite(if-then-else)運(yùn)算,轉(zhuǎn)換后得到的SMT語(yǔ)句為:

    (assert(ite (=args[0] #b0)(=dests[0]args[1])(=dests[0]args[2])))

    其中#b0表示二進(jìn)制0。

    (4)當(dāng)operator為c時(shí),表示將args中的信號(hào)拼接為一個(gè)新信號(hào)。引入SMT中的concat后,轉(zhuǎn)換得到的SMT語(yǔ)句為:

    (assert(=dests[0] concat (args[0]args[1] …args[n])))

    (5)當(dāng)operator為s時(shí),表示根據(jù)parameters指定的位,將args的某些位挑選出來(lái),再合并為一個(gè)新的WireVector信號(hào)。引入SMT的extract操作選擇相應(yīng)的位,((_extractlalb)lc)表示選擇lc[la:lb]位。由于parameters中保存的是選擇的每一位,可以用n個(gè)((_extractparam[i]param[i])args[0])選出所有的位,再利用concat將這些位串聯(lián)起來(lái)。此時(shí),需要注意,WireVector類似于Python中的list,但WireVector中的最低有效位LSB(Least Significant Bit)保存在索引為0處。而在SMT提供的BitVec類型中LSB在最右邊。所以,最后將選擇的所有位合并時(shí),需要將順序顛倒后再合并,最終轉(zhuǎn)換得到的SMT語(yǔ)句為:

    (assert(=dests[0] concat(((_extractparam[n]param[n])args[0])… ((_extractparam[0]param[0])args[0]))))

    (6)當(dāng)operator為m時(shí),它執(zhí)行的是讀存儲(chǔ)器功能,參數(shù)parameters為一個(gè)元組,包含2個(gè)引用,一個(gè)是內(nèi)存端口memid,另一個(gè)是對(duì)包含該端口的內(nèi)存實(shí)例的引用mem。此時(shí)args的長(zhǎng)度為1,dests的長(zhǎng)度為1。

    引入SMT的Array類型來(lái)表示存儲(chǔ)器,定義為:

    (declare-constmem(Array(_BitVecm)(_BitVecn)))

    其中_BitVecm定義一個(gè)m位的_BitVec,mem為存儲(chǔ)器的符號(hào),m為存儲(chǔ)器的地址位數(shù),n為存儲(chǔ)單元的位數(shù)。對(duì)于讀存儲(chǔ)器,可以利用select操作處理,轉(zhuǎn)換得到的SMT語(yǔ)句為:

    (assert(=(selectmemargs[0])dests[0])),表示dests[0] =mem[args[0]]。

    (7)當(dāng)operator為@時(shí),它執(zhí)行的是寫(xiě)存儲(chǔ)器功能,參數(shù)parameters為一個(gè)元組,包含2個(gè)引用,一個(gè)是內(nèi)存端口memid,另一個(gè)是對(duì)包含該端口的內(nèi)存實(shí)例的引用mem。此時(shí)args的長(zhǎng)度為3,分別為存儲(chǔ)地址、數(shù)據(jù)和寫(xiě)使能信號(hào),dests的長(zhǎng)度為0。只有寫(xiě)使能為高電平時(shí),才能對(duì)存儲(chǔ)器進(jìn)行寫(xiě)入。引入SMT的store操作進(jìn)行轉(zhuǎn)換,最終得到的SMT語(yǔ)句為:

    (assert(ite (=args[2] #b1)(=(storeargs[0]args[1])mem)(=memmem)))

    其中#b1表示二進(jìn)制1。

    具體含義為:if 寫(xiě)使能 =1 thenmem[args[0]] =args[1] elsemem=mem。

    (8)PyRTL支持提前定義一個(gè)存儲(chǔ)器ROM。此時(shí),存儲(chǔ)器的數(shù)據(jù)存儲(chǔ)由用戶設(shè)定,存儲(chǔ)在rom_blocks中。因此,將帶有ROM的電路轉(zhuǎn)換為SMT約束時(shí),還需要利用類似寫(xiě)存儲(chǔ)器的方法對(duì)ROM初始化,此時(shí)就沒(méi)有寫(xiě)使能,直接利用store操作進(jìn)行,如(assert(=(storeaddrdata)rom)),把rom_blocks中所有的數(shù)據(jù)轉(zhuǎn)換為SMT語(yǔ)句。

    以圖1的加法器電路為例,由于加法器是組合邏輯電路,直接按照轉(zhuǎn)換規(guī)則,得到的SMT語(yǔ)句如下所示:

    1 (declare-consttmp2 (_ BitVec 1))

    2 (declare-consttmp1 (_ BitVec 1))

    3 (declare-constc(_ BitVec 1))

    4 (assert(=tmp2 (bvxortmp1c)))

    5 (declare-constsum(_ BitVec 1))

    6 (assert(=sumtmp2))

    7 (declare-constcarry_out(_ BitVec 1))

    8 (declare-consttmp7 (_ BitVec 1))

    9 (assert(=carry_outtmp7))

    10 (declare-consttmp4 (_ BitVec 1))

    11 (declare-consta(_ BitVec 1))

    12 (assert(=tmp4 (bvandac)))

    13 (declare-consttmp0 (_ BitVec 1))

    14 (assert(=tmp0tmp4))

    15 (declare-consttmp6 (_ BitVec 1))

    16 (declare-constTEMP1 (_ BitVec 1))

    17 (assert(=tmp6 (bvorTEMP1tmp0)))

    18 (declare-constb(_ BitVec 1))

    19 (assert(=tmp1 (bvxorab)))

    20 (declare-consttmp3 (_ BitVec 1))

    21 (assert(=tmp3 (bvandab)))

    22 (assert(=TEMP1tmp3))

    23 (declare-consttmp5 (_ BitVec 1))

    24 (assert(=tmp7 (bvortmp6tmp5)))

    25 (assert(=tmp5 (bvandbc)))

    第1~3行定義3個(gè)1位的BitVec變量tmp1、tmp2、c。第4行表示tmp2 =tmp1 ^c,對(duì)應(yīng)圖2中用橢圓標(biāo)記的異或門。

    4 實(shí)現(xiàn)與實(shí)驗(yàn)結(jié)果

    本文利用Python實(shí)現(xiàn)了符號(hào)模擬算法,約700行代碼,并已集成到PyRTL中(本項(xiàng)目已開(kāi)源到GitHub,地址為https://github.com/zou-sheng/PyRTL)。目前,已實(shí)現(xiàn)的符號(hào)模擬器用于模擬激勵(lì)自動(dòng)生成,底層使用Z3求解器,對(duì)符號(hào)模擬的結(jié)果進(jìn)行求解,得到滿足要求的模擬激勵(lì)。

    為驗(yàn)證所實(shí)現(xiàn)的符號(hào)模擬器的正確性,本節(jié)在一些設(shè)計(jì)實(shí)例上,以自動(dòng)生成的模擬激勵(lì)為輸入,利用 PyRTL提供的模擬功能,通過(guò)對(duì)比模擬輸出,來(lái)判斷自動(dòng)生成的模擬激勵(lì)是否能恰好在指定節(jié)拍上得到預(yù)期的結(jié)果。

    實(shí)驗(yàn)所用的機(jī)器為配備了Intel i5-8250U CPU和2 GB內(nèi)存、操作系統(tǒng)為ubuntu 16.04的計(jì)算機(jī)系統(tǒng)。

    實(shí)驗(yàn)電路包括一個(gè)簡(jiǎn)單狀態(tài)機(jī)、簡(jiǎn)易乘法器、Wallace樹(shù)形乘法器,以及128位AES加解密電路。實(shí)驗(yàn)電路性質(zhì)如表1所示。

    Table 1 Experimental circuits表1 實(shí)驗(yàn)電路

    表1中,簡(jiǎn)單狀態(tài)機(jī)有2個(gè)1位輸入信號(hào)決定狀態(tài)變化。簡(jiǎn)單乘法器有2個(gè)32位輸入表示運(yùn)算數(shù),以及1個(gè)1位信號(hào)reset。Wallace樹(shù)形乘法器與簡(jiǎn)單乘法器類似,有2個(gè)32位運(yùn)算數(shù)和1個(gè)1位的reset信號(hào),但該乘法器中還提供1個(gè)可配置參數(shù)shifts,表示每個(gè)周期的移位次數(shù)。當(dāng)shifts=1時(shí),乘法器就變成了簡(jiǎn)單加法器;當(dāng)shifts=32時(shí),只需要1個(gè)周期的延遲即可得到乘法的結(jié)果。AES加解密電路有2個(gè)128位的輸入,分別表示明文和密鑰,還有1個(gè)1位信號(hào)reset。

    對(duì)每個(gè)電路,指定隨機(jī)的輸出結(jié)果,展開(kāi)指定的節(jié)拍后,通過(guò)約束求解生成模擬激勵(lì)。生成模擬激勵(lì)的過(guò)程進(jìn)行了多次,取平均耗時(shí)。實(shí)驗(yàn)結(jié)果如表2所示。表2列出了各電路展開(kāi)的節(jié)拍數(shù)、自動(dòng)生成模擬激勵(lì)的平均時(shí)間。

    Table 2 Experimental results表2 實(shí)驗(yàn)結(jié)果

    此處需特別說(shuō)明的是AES加密電路的模擬激勵(lì)生成,將明文和密鑰輸入AES加密電路,經(jīng)過(guò)10輪加密得到最終的密文。

    (1)如果將明文和密鑰作為符號(hào)模擬器的輸入,大約需220.65 s,可以得到符號(hào)模擬的結(jié)果。加密過(guò)程中的字節(jié)替換和列混淆都需要讀取預(yù)先設(shè)置的存儲(chǔ)器。

    (2)如果將密文和密鑰作為符號(hào)模擬器的輸入求解明文時(shí),一些信號(hào)唯一對(duì)應(yīng)存儲(chǔ)器中的值,而Z3求解器需要逐一對(duì)存儲(chǔ)器中的值進(jìn)行測(cè)試,所需時(shí)間很長(zhǎng)。

    (3)如果將這53個(gè)對(duì)應(yīng)存儲(chǔ)器值的信號(hào)每個(gè)周期的值(共636個(gè)),都作為符號(hào)模擬器的輸入,大約需193.35 s,可以求解出正確的明文。

    通過(guò)對(duì)比模擬結(jié)果可知,以表2指定節(jié)拍數(shù)為約束,自動(dòng)生成的模擬激勵(lì)為輸入模擬后,一定能在指定節(jié)拍時(shí)觀察到正確的輸出結(jié)果。由此,本文實(shí)現(xiàn)的符號(hào)模擬器是正確的。

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

    本文介紹了一個(gè)面向敏捷硬件設(shè)計(jì)的符號(hào)模擬器的設(shè)計(jì)與實(shí)現(xiàn),核心工作是PyRTL中間格式至SMTLIB2格式的轉(zhuǎn)換,以及時(shí)序電路展開(kāi)后的變量命名。目前實(shí)現(xiàn)的符號(hào)模擬器較為直接,接下來(lái)的研究方向有2個(gè):(1)加入更多的共性優(yōu)化方法,發(fā)揮SMT求解器能力,使其能處理更大規(guī)模的設(shè)計(jì);(2)根據(jù)具體應(yīng)用,如限界模型檢驗(yàn)、等價(jià)性檢查進(jìn)行針對(duì)性的優(yōu)化。

    猜你喜歡
    存儲(chǔ)器模擬器運(yùn)算
    重視運(yùn)算與推理,解決數(shù)列求和題
    了不起的安檢模擬器
    靜態(tài)隨機(jī)存儲(chǔ)器在軌自檢算法
    盲盒模擬器
    劃船模擬器
    有趣的運(yùn)算
    “整式的乘法與因式分解”知識(shí)歸納
    撥云去“誤”學(xué)乘除運(yùn)算
    動(dòng)態(tài)飛行模擬器及其發(fā)展概述
    存儲(chǔ)器——安格爾(墨西哥)▲
    午夜免费男女啪啪视频观看| 欧美性感艳星| 黄色视频,在线免费观看| 我要搜黄色片| 国产淫片久久久久久久久| 成人性生交大片免费视频hd| 亚洲精品456在线播放app| 高清毛片免费观看视频网站| 欧美成人免费av一区二区三区| 最近最新中文字幕大全电影3| 97超碰精品成人国产| h日本视频在线播放| 全区人妻精品视频| 美女大奶头视频| 久久人人爽人人爽人人片va| 久久韩国三级中文字幕| 麻豆乱淫一区二区| 精品一区二区三区人妻视频| 成年女人看的毛片在线观看| 最好的美女福利视频网| 26uuu在线亚洲综合色| 亚洲综合色惰| 久久久久久伊人网av| 成人国产麻豆网| 国产成年人精品一区二区| 激情 狠狠 欧美| 成人午夜高清在线视频| 麻豆精品久久久久久蜜桃| av黄色大香蕉| 两性午夜刺激爽爽歪歪视频在线观看| 男的添女的下面高潮视频| av在线观看视频网站免费| 久久中文看片网| 中文字幕熟女人妻在线| 日韩亚洲欧美综合| 亚洲图色成人| 搞女人的毛片| 1000部很黄的大片| 免费av毛片视频| 亚洲精品粉嫩美女一区| 18禁在线无遮挡免费观看视频| 一夜夜www| 少妇人妻一区二区三区视频| 热99re8久久精品国产| 日韩欧美三级三区| 久久精品人妻少妇| 欧美激情国产日韩精品一区| 老师上课跳d突然被开到最大视频| 亚洲av第一区精品v没综合| 99久久精品热视频| 国产三级在线视频| 国产激情偷乱视频一区二区| 亚洲精品乱码久久久v下载方式| 69av精品久久久久久| 亚洲内射少妇av| 国产一区亚洲一区在线观看| 婷婷色综合大香蕉| 最好的美女福利视频网| 国产极品精品免费视频能看的| 少妇高潮的动态图| 国产成人freesex在线| 久久精品国产亚洲av涩爱 | 成人性生交大片免费视频hd| 高清日韩中文字幕在线| 精华霜和精华液先用哪个| 午夜a级毛片| 在线免费观看的www视频| 久久久久久伊人网av| 免费看美女性在线毛片视频| 久久人人爽人人片av| 少妇熟女欧美另类| 一本久久中文字幕| 精品久久久久久成人av| 国产伦一二天堂av在线观看| 国内揄拍国产精品人妻在线| 国产高清有码在线观看视频| 成人鲁丝片一二三区免费| 久久久精品大字幕| 亚洲电影在线观看av| 97人妻精品一区二区三区麻豆| 亚洲一级一片aⅴ在线观看| 在线观看美女被高潮喷水网站| 好男人在线观看高清免费视频| 毛片一级片免费看久久久久| 亚洲av.av天堂| 欧美又色又爽又黄视频| 欧美zozozo另类| 国产精品久久久久久亚洲av鲁大| 99视频精品全部免费 在线| 一本精品99久久精品77| 成人二区视频| 国产欧美日韩精品一区二区| 人妻夜夜爽99麻豆av| 欧美bdsm另类| 久久6这里有精品| 久久韩国三级中文字幕| 国产精品久久电影中文字幕| 国产精品国产高清国产av| 成人高潮视频无遮挡免费网站| 欧美一区二区精品小视频在线| 亚洲av.av天堂| 99久久无色码亚洲精品果冻| 别揉我奶头 嗯啊视频| 乱码一卡2卡4卡精品| 国产单亲对白刺激| 国产成人午夜福利电影在线观看| 网址你懂的国产日韩在线| 黄色日韩在线| 亚洲色图av天堂| 青春草视频在线免费观看| 亚洲,欧美,日韩| 国产高清不卡午夜福利| 国产精品人妻久久久久久| 亚洲丝袜综合中文字幕| 亚洲av免费在线观看| 亚洲内射少妇av| 国内精品宾馆在线| 人妻久久中文字幕网| 精品久久久久久久久久久久久| 精品人妻一区二区三区麻豆| 又爽又黄无遮挡网站| 九九热线精品视视频播放| 岛国在线免费视频观看| 免费观看的影片在线观看| 亚洲欧美清纯卡通| 禁无遮挡网站| 国产在视频线在精品| 国产精品久久久久久久电影| 97人妻精品一区二区三区麻豆| 男人舔女人下体高潮全视频| 亚洲欧美成人综合另类久久久 | 18禁裸乳无遮挡免费网站照片| 日韩高清综合在线| 久久九九热精品免费| 久久精品夜色国产| 亚洲成人久久爱视频| 51国产日韩欧美| 欧美色欧美亚洲另类二区| 久久99热6这里只有精品| 国产v大片淫在线免费观看| 欧美丝袜亚洲另类| 国产69精品久久久久777片| 久久精品久久久久久久性| 99久国产av精品| 熟妇人妻久久中文字幕3abv| 久久精品久久久久久噜噜老黄 | 久久久久久伊人网av| 日韩av在线大香蕉| 99热这里只有精品一区| 国产白丝娇喘喷水9色精品| 最新中文字幕久久久久| а√天堂www在线а√下载| 国产精品久久久久久久久免| 免费av不卡在线播放| 国内揄拍国产精品人妻在线| av卡一久久| 国产中年淑女户外野战色| 国产色婷婷99| 亚洲电影在线观看av| 成人国产麻豆网| 91在线精品国自产拍蜜月| 欧美3d第一页| 不卡视频在线观看欧美| 久久精品国产自在天天线| 免费观看人在逋| 99在线视频只有这里精品首页| 日本一本二区三区精品| 欧美日韩一区二区视频在线观看视频在线 | 亚洲国产精品国产精品| 国产毛片a区久久久久| av国产免费在线观看| 久久综合国产亚洲精品| 日韩一区二区三区影片| 亚洲欧美日韩高清在线视频| 一个人看的www免费观看视频| 男女下面进入的视频免费午夜| 亚洲精品国产成人久久av| 好男人视频免费观看在线| 精品欧美国产一区二区三| 午夜爱爱视频在线播放| 国产单亲对白刺激| 国产成人一区二区在线| 欧美日韩精品成人综合77777| 久久6这里有精品| 亚洲精品456在线播放app| 久久精品国产亚洲av涩爱 | 成人毛片60女人毛片免费| 18禁黄网站禁片免费观看直播| 青春草亚洲视频在线观看| 国产人妻一区二区三区在| 国产在线精品亚洲第一网站| 精品一区二区三区人妻视频| 97超视频在线观看视频| 1024手机看黄色片| 日韩大尺度精品在线看网址| 边亲边吃奶的免费视频| 亚州av有码| 精品久久久久久久末码| 久久精品久久久久久久性| 99久久成人亚洲精品观看| 九草在线视频观看| 日日撸夜夜添| 久久久色成人| 精品久久久久久久久久免费视频| 亚洲经典国产精华液单| 在线免费观看的www视频| 国内精品宾馆在线| 日韩大尺度精品在线看网址| 99精品在免费线老司机午夜| 观看美女的网站| 精品久久久久久久末码| 99热全是精品| av黄色大香蕉| 内射极品少妇av片p| 午夜福利在线观看免费完整高清在 | 直男gayav资源| 尤物成人国产欧美一区二区三区| 日本三级黄在线观看| 成人永久免费在线观看视频| 九九在线视频观看精品| 精品国内亚洲2022精品成人| 人妻久久中文字幕网| 伊人久久精品亚洲午夜| 精品久久久久久久久亚洲| 国产黄片视频在线免费观看| 国产精品久久久久久久久免| www.av在线官网国产| 在线观看一区二区三区| 色播亚洲综合网| 国产91av在线免费观看| 少妇高潮的动态图| 日韩制服骚丝袜av| 日韩欧美精品免费久久| 一本精品99久久精品77| 寂寞人妻少妇视频99o| 久久人人爽人人爽人人片va| 国产精品美女特级片免费视频播放器| 人人妻人人看人人澡| 2022亚洲国产成人精品| 青青草视频在线视频观看| 免费看av在线观看网站| 黄色一级大片看看| 最新中文字幕久久久久| 18禁在线无遮挡免费观看视频| 老女人水多毛片| 免费观看在线日韩| 亚洲熟妇中文字幕五十中出| 好男人在线观看高清免费视频| 日韩一区二区视频免费看| 国内精品美女久久久久久| 人妻夜夜爽99麻豆av| 一级二级三级毛片免费看| 蜜桃久久精品国产亚洲av| 国产一级毛片七仙女欲春2| 亚洲精品粉嫩美女一区| 国产精品伦人一区二区| 国产熟女欧美一区二区| or卡值多少钱| 女人被狂操c到高潮| 亚洲色图av天堂| 欧美精品国产亚洲| 欧美xxxx性猛交bbbb| 欧美激情久久久久久爽电影| 99热只有精品国产| 国产麻豆成人av免费视频| 国产伦一二天堂av在线观看| 精品国产三级普通话版| videossex国产| 国产又黄又爽又无遮挡在线| 变态另类成人亚洲欧美熟女| 成人午夜精彩视频在线观看| 亚洲成人久久性| 亚洲精品国产成人久久av| 色视频www国产| 黄色一级大片看看| 自拍偷自拍亚洲精品老妇| 亚洲一级一片aⅴ在线观看| 成人性生交大片免费视频hd| 日日摸夜夜添夜夜添av毛片| 亚洲综合色惰| 国产日本99.免费观看| www.av在线官网国产| av免费在线看不卡| 男人的好看免费观看在线视频| 午夜久久久久精精品| 欧美极品一区二区三区四区| 婷婷精品国产亚洲av| 麻豆国产97在线/欧美| 啦啦啦啦在线视频资源| 欧美日韩综合久久久久久| 国产精品一及| 国产精品一区www在线观看| 国产伦在线观看视频一区| 男的添女的下面高潮视频| 亚洲,欧美,日韩| 亚洲欧洲国产日韩| 久久久久网色| 国产探花极品一区二区| 哪个播放器可以免费观看大片| 美女内射精品一级片tv| 国产日韩欧美在线精品| 欧美精品一区二区大全| 国产蜜桃级精品一区二区三区| 男人舔奶头视频| 亚洲aⅴ乱码一区二区在线播放| 午夜久久久久精精品| 日本五十路高清| 好男人视频免费观看在线| 国产 一区 欧美 日韩| 男人舔奶头视频| 日韩av在线大香蕉| 天堂av国产一区二区熟女人妻| 丰满的人妻完整版| 午夜爱爱视频在线播放| 日韩国内少妇激情av| 深夜a级毛片| 国产一区二区在线观看日韩| 久久午夜亚洲精品久久| 国产高清三级在线| 日本-黄色视频高清免费观看| 久久综合国产亚洲精品| 黄色欧美视频在线观看| www日本黄色视频网| 老司机影院成人| 国产精品国产高清国产av| 久久婷婷人人爽人人干人人爱| 亚洲成人久久爱视频| av福利片在线观看| 狂野欧美激情性xxxx在线观看| 高清毛片免费看| 91午夜精品亚洲一区二区三区| 成人无遮挡网站| 午夜视频国产福利| 国内揄拍国产精品人妻在线| 午夜爱爱视频在线播放| 国产精品1区2区在线观看.| 亚洲精品国产成人久久av| 国产av一区在线观看免费| 亚洲欧美精品专区久久| 亚洲精品影视一区二区三区av| 国产精品麻豆人妻色哟哟久久 | 三级毛片av免费| 99视频精品全部免费 在线| 超碰av人人做人人爽久久| 中文字幕人妻熟人妻熟丝袜美| 日韩人妻高清精品专区| 国产黄片视频在线免费观看| 欧美潮喷喷水| 亚洲综合色惰| 麻豆乱淫一区二区| 插逼视频在线观看| 嫩草影院精品99| 内地一区二区视频在线| 有码 亚洲区| 国产精品蜜桃在线观看 | 国产黄a三级三级三级人| 成人亚洲精品av一区二区| 亚洲欧美精品自产自拍| 国产精品女同一区二区软件| 国产亚洲av片在线观看秒播厂 | 青春草国产在线视频 | 久久久久久久午夜电影| 99久久人妻综合| 亚洲欧美精品专区久久| 给我免费播放毛片高清在线观看| 在线播放无遮挡| 男女下面进入的视频免费午夜| 免费人成视频x8x8入口观看| 淫秽高清视频在线观看| 中文字幕制服av| 人人妻人人澡欧美一区二区| 亚洲av免费高清在线观看| 国语自产精品视频在线第100页| 18禁在线播放成人免费| 亚洲丝袜综合中文字幕| 午夜a级毛片| 国内精品宾馆在线| 人人妻人人澡人人爽人人夜夜 | 亚洲国产精品国产精品| av国产免费在线观看| 国产黄色视频一区二区在线观看 | 色综合色国产| 少妇的逼好多水| 一级黄片播放器| 国产白丝娇喘喷水9色精品| 国产成人福利小说| 中文在线观看免费www的网站| 亚洲精品成人久久久久久| 简卡轻食公司| 少妇熟女aⅴ在线视频| 免费电影在线观看免费观看| 校园春色视频在线观看| av在线观看视频网站免费| 亚洲成人久久爱视频| 精品熟女少妇av免费看| 成人午夜高清在线视频| 欧美日本视频| 免费电影在线观看免费观看| 麻豆精品久久久久久蜜桃| 身体一侧抽搐| 最后的刺客免费高清国语| 色综合色国产| 淫秽高清视频在线观看| 国产伦精品一区二区三区四那| 久久99热这里只有精品18| 美女 人体艺术 gogo| 中文亚洲av片在线观看爽| 亚洲高清免费不卡视频| 不卡视频在线观看欧美| 中文字幕熟女人妻在线| 成人美女网站在线观看视频| 国产三级在线视频| 精品欧美国产一区二区三| 免费看光身美女| 99久久精品一区二区三区| 欧美又色又爽又黄视频| 亚洲va在线va天堂va国产| 内射极品少妇av片p| 国产精品国产三级国产av玫瑰| 99久久人妻综合| 婷婷六月久久综合丁香| 国产精品伦人一区二区| 国产三级在线视频| 午夜爱爱视频在线播放| 我的老师免费观看完整版| 性色avwww在线观看| 亚洲人成网站在线播放欧美日韩| 国模一区二区三区四区视频| 一级黄色大片毛片| 亚洲av熟女| 久久久久久久久久成人| 欧美一区二区亚洲| 成人美女网站在线观看视频| 日韩制服骚丝袜av| 成年av动漫网址| 精华霜和精华液先用哪个| 亚洲精品456在线播放app| 男女啪啪激烈高潮av片| 欧美xxxx性猛交bbbb| 三级国产精品欧美在线观看| 日本av手机在线免费观看| 国产色爽女视频免费观看| 久久99蜜桃精品久久| 久久国内精品自在自线图片| 国产色婷婷99| 午夜精品国产一区二区电影 | 校园春色视频在线观看| 91午夜精品亚洲一区二区三区| 午夜爱爱视频在线播放| 国产午夜福利久久久久久| 午夜福利视频1000在线观看| 人妻系列 视频| 全区人妻精品视频| 男人的好看免费观看在线视频| 久久久久久久久久久免费av| 卡戴珊不雅视频在线播放| 欧美激情久久久久久爽电影| 日日摸夜夜添夜夜爱| 国产精品99久久久久久久久| 我要看日韩黄色一级片| 日本一本二区三区精品| 久久精品久久久久久噜噜老黄 | 亚洲国产色片| 性色avwww在线观看| 精品久久久久久久人妻蜜臀av| 五月伊人婷婷丁香| 人妻系列 视频| 夜夜看夜夜爽夜夜摸| 日本免费a在线| 亚洲无线观看免费| 亚洲av一区综合| 久久鲁丝午夜福利片| 少妇裸体淫交视频免费看高清| 亚洲欧美成人精品一区二区| 欧美性猛交╳xxx乱大交人| 欧美人与善性xxx| av在线天堂中文字幕| 亚洲三级黄色毛片| 国产成人91sexporn| 午夜精品国产一区二区电影 | 国产白丝娇喘喷水9色精品| 日韩av在线大香蕉| 国产精品一区二区在线观看99 | 免费观看在线日韩| 六月丁香七月| 九九在线视频观看精品| 国产亚洲精品久久久com| 日本-黄色视频高清免费观看| 国产亚洲精品久久久com| 1000部很黄的大片| 人妻少妇偷人精品九色| 日韩av不卡免费在线播放| 午夜激情福利司机影院| 国产精品一区二区性色av| 亚洲精品久久国产高清桃花| 熟女电影av网| 亚洲av第一区精品v没综合| 国产午夜精品论理片| 欧美日韩综合久久久久久| 日本色播在线视频| 亚洲人与动物交配视频| 成人毛片60女人毛片免费| 给我免费播放毛片高清在线观看| av天堂中文字幕网| 夜夜爽天天搞| 欧美不卡视频在线免费观看| 女人十人毛片免费观看3o分钟| 免费看光身美女| 免费大片18禁| 欧美日本视频| 听说在线观看完整版免费高清| 看黄色毛片网站| 男女边吃奶边做爰视频| 亚洲美女搞黄在线观看| 国产一区二区在线观看日韩| 国产精品久久久久久久久免| 2022亚洲国产成人精品| 午夜爱爱视频在线播放| 国产一级毛片七仙女欲春2| 搡老妇女老女人老熟妇| 91狼人影院| 丰满乱子伦码专区| 久久这里有精品视频免费| 久久久成人免费电影| 直男gayav资源| 婷婷色综合大香蕉| 久久人人爽人人片av| 日韩一本色道免费dvd| 国产成人aa在线观看| 一进一出抽搐gif免费好疼| 最近手机中文字幕大全| 伦理电影大哥的女人| 成人漫画全彩无遮挡| 亚洲性久久影院| 日本免费a在线| 天天一区二区日本电影三级| 成人午夜高清在线视频| 久久久久久久久久久免费av| 亚洲五月天丁香| 插逼视频在线观看| 中国美女看黄片| 午夜福利在线观看免费完整高清在 | 男人和女人高潮做爰伦理| 国产极品精品免费视频能看的| 亚洲av免费高清在线观看| 男的添女的下面高潮视频| 日韩 亚洲 欧美在线| 此物有八面人人有两片| 精品久久久久久久久亚洲| 欧美色视频一区免费| 久久热精品热| 麻豆精品久久久久久蜜桃| 91av网一区二区| 国产v大片淫在线免费观看| 草草在线视频免费看| 亚洲aⅴ乱码一区二区在线播放| 亚洲人成网站在线观看播放| 亚洲最大成人av| 一个人看视频在线观看www免费| 两个人视频免费观看高清| 九草在线视频观看| av卡一久久| 欧美最新免费一区二区三区| 69av精品久久久久久| h日本视频在线播放| 久久午夜亚洲精品久久| 99国产极品粉嫩在线观看| 九九爱精品视频在线观看| 色综合亚洲欧美另类图片| 国产成人精品一,二区 | 黄色欧美视频在线观看| 中国国产av一级| 免费无遮挡裸体视频| 美女内射精品一级片tv| 亚洲成人久久性| 成人二区视频| 免费av毛片视频| 波多野结衣巨乳人妻| 欧美zozozo另类| 女同久久另类99精品国产91| 能在线免费观看的黄片| 2022亚洲国产成人精品| 久久精品国产亚洲av天美| 久久精品影院6| 国产精品99久久久久久久久| 性插视频无遮挡在线免费观看| 国产免费一级a男人的天堂| 久久精品国产亚洲网站| 3wmmmm亚洲av在线观看| 亚洲在线观看片| 亚洲国产欧美人成| av在线亚洲专区| 男女视频在线观看网站免费| 日本-黄色视频高清免费观看| 乱系列少妇在线播放| 亚洲真实伦在线观看| 啦啦啦啦在线视频资源| 日韩精品有码人妻一区| 又爽又黄a免费视频| 国产精品一区二区三区四区久久| 波多野结衣巨乳人妻| 免费观看人在逋| 黄色欧美视频在线观看| 色综合色国产| 久久久久久久午夜电影| 人妻制服诱惑在线中文字幕| 亚洲va在线va天堂va国产| 国产精品一区二区性色av| 欧美色欧美亚洲另类二区| 欧美日韩精品成人综合77777| 中文在线观看免费www的网站| 日韩精品有码人妻一区| 大又大粗又爽又黄少妇毛片口| 18禁在线播放成人免费| 亚洲人成网站在线播放欧美日韩|