国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種寄存器傳輸級(jí)可觀測(cè)性覆蓋分析與激勵(lì)生成方法

      文檔序號(hào):6849934閱讀:222來源:國知局
      專利名稱:一種寄存器傳輸級(jí)可觀測(cè)性覆蓋分析與激勵(lì)生成方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及集成電路設(shè)計(jì)驗(yàn)證領(lǐng)域,特別是一種寄存器傳輸級(jí)可觀測(cè)性覆蓋分析與激勵(lì)生成方法,是在模擬驗(yàn)證中更確切地評(píng)估以及提高驗(yàn)證力度的方法。
      背景技術(shù)
      可觀測(cè)性的概念起源于生產(chǎn)測(cè)試,它用來表征電路內(nèi)部邏輯信號(hào)的錯(cuò)誤是否可以反映到電路的輸出。在模擬驗(yàn)證中,硬件設(shè)計(jì)是在軟件模擬器上運(yùn)行的,在各時(shí)刻的變量取值實(shí)際上是可知的。但是隨著設(shè)計(jì)規(guī)模的擴(kuò)大,了解設(shè)計(jì)中所有變量的正確行為,其數(shù)據(jù)量之大,對(duì)于驗(yàn)證工程師來說幾乎是不現(xiàn)實(shí)的。另外,硬件設(shè)計(jì)在模擬過程中,其變量的狀態(tài)通常是一串0、1序列,可讀性差。所以,在模擬驗(yàn)證中考慮設(shè)計(jì)的可觀測(cè)性就非常必要了。
      鑒于此,可觀測(cè)性覆蓋評(píng)估準(zhǔn)則被提了出來,它是一種從行為角度對(duì)模擬激勵(lì)進(jìn)行評(píng)估的準(zhǔn)則,是對(duì)傳統(tǒng)覆蓋準(zhǔn)則的增強(qiáng)。傳統(tǒng)的覆蓋準(zhǔn)則只考慮代碼的可控制性,忽略其可觀測(cè)性,即這些準(zhǔn)則保證了代碼會(huì)執(zhí)行,但其執(zhí)行錯(cuò)誤并不一定可以反映到驗(yàn)證者所選定的觀測(cè)點(diǎn)上。這可能導(dǎo)致表面上很高的覆蓋率數(shù)據(jù)所蘊(yùn)含的可信度不高。以語句覆蓋準(zhǔn)則為例,采用該準(zhǔn)則,通常很容易達(dá)到很高的覆蓋率,甚至100%;而可觀測(cè)性語句覆蓋率并不像前者那樣過于樂觀,它不僅評(píng)估每條語句是否被執(zhí)行,而且檢驗(yàn)被激勵(lì)激活的那些潛在錯(cuò)誤的影響是否可以傳播到觀測(cè)點(diǎn),該準(zhǔn)則可以更確切地評(píng)估驗(yàn)證的力度。
      然而,目前已經(jīng)提出的可觀測(cè)性覆蓋分析方法,通常存在計(jì)算復(fù)雜度高,時(shí)間開銷大的問題。同時(shí),在激勵(lì)生成過程中,通常不考慮可觀測(cè)性,這樣所產(chǎn)生的模擬激勵(lì)的驗(yàn)證力度不夠。存在這些問題的原因,一方面是缺乏簡(jiǎn)潔合理的可觀測(cè)性信息分析模型,另一方面是由于可觀測(cè)性分析方法復(fù)雜,這導(dǎo)致其很難應(yīng)用于實(shí)際的設(shè)計(jì)驗(yàn)證流程。
      寄存器傳輸級(jí)(RTL)描述是介于邏輯級(jí)與算法級(jí)之間的一種描述級(jí)別。相比較而言,RTL描述較邏輯級(jí)描述更簡(jiǎn)單明了,縮小了電路描述規(guī)模;而較算法級(jí)描述能更好地表征電路特性(如時(shí)鐘信息),并且易于綜合,因此RTL描述成為目前應(yīng)用最廣泛的電路設(shè)計(jì)描述形式。中國科學(xué)院的尹志剛博士等人采用進(jìn)程控制樹(PCT)、數(shù)據(jù)流向圖(DDG)以及定義行為圖(DBG)來抽象RTL描述。其中進(jìn)程控制樹反映了進(jìn)程的控制結(jié)構(gòu),數(shù)據(jù)流向圖反映了數(shù)據(jù)之間的流動(dòng)關(guān)系,定義行為圖則體現(xiàn)了控制流與數(shù)據(jù)流的結(jié)合。其具體方法可參考下列文獻(xiàn)“A Novel RTL Behavioral Description Based ATPG Method”,by YINZhiGang,MIN YingHua,LI XiaoWei and LI HuaWei,Published in Journal ofComputer Science and Technology,May 2003,Vol.18,No.3,pp.308-317.

      發(fā)明內(nèi)容
      本發(fā)明針對(duì)目前可觀測(cè)性覆蓋評(píng)估算法復(fù)雜度過高,時(shí)間開銷過大,在實(shí)際設(shè)計(jì)驗(yàn)證流程中難以應(yīng)用的問題,提出解決方案。
      本發(fā)明目的之一是提供一種簡(jiǎn)潔合理的表征方式來刻畫電路RTL設(shè)計(jì)的可觀測(cè)性信息。
      本發(fā)明目的之二是提供一種高效的可觀測(cè)性信息分析方法。
      本發(fā)明目的之三是提供一種高效的可觀測(cè)性語句覆蓋評(píng)估算法。
      本發(fā)明目的之四是為模擬激勵(lì)的生成提供可觀測(cè)性信息,作為啟發(fā)式度量標(biāo)準(zhǔn),來指導(dǎo)激勵(lì)生成,提高驗(yàn)證的力度。
      為實(shí)現(xiàn)上述目的,本發(fā)明包含以下內(nèi)容(1)本發(fā)明提出一種可觀測(cè)性信息表征方式。本發(fā)明對(duì)傳統(tǒng)的進(jìn)程控制樹(PCT)結(jié)構(gòu)進(jìn)行擴(kuò)充,提出了增強(qiáng)型進(jìn)程控制樹(EPCT)結(jié)構(gòu)。該結(jié)構(gòu)可以在刻畫進(jìn)程的控制關(guān)系的同時(shí),記錄在任一時(shí)間幀語句的執(zhí)行情況,以及電路在若干時(shí)間幀執(zhí)行以后,每一條語句的可觀測(cè)性信息。同時(shí)本發(fā)明提出了控制-觀測(cè)鏈(COC)結(jié)構(gòu)用于分析電路在每一時(shí)間幀動(dòng)態(tài)執(zhí)行過程中的可觀測(cè)性信息。
      (2)本發(fā)明提出一種可觀測(cè)性信息分析方法。該方法可以劃分為兩個(gè)階段,第一個(gè)階段是模擬階段,這是一個(gè)從輸入到輸出的“正向”過程,其主要目的在于確定每一個(gè)觀測(cè)點(diǎn)的控制-觀測(cè)鏈;第二個(gè)階段是可觀測(cè)性分析階段,這是一個(gè)從觀測(cè)點(diǎn)出發(fā),“反向”分析控制-觀測(cè)鏈,進(jìn)而判斷變量與語句可觀測(cè)性的過程。
      (3)本發(fā)明將可觀測(cè)性分析方法與語句覆蓋準(zhǔn)則相結(jié)合,提出可觀測(cè)性語句覆蓋率的計(jì)算方法。
      (4)本發(fā)明將可觀測(cè)性覆蓋分析所得到的信息,應(yīng)用于模擬激勵(lì)生成,提高了激勵(lì)的質(zhì)量與驗(yàn)證的力度。
      技術(shù)方案寄存器傳輸級(jí)可觀測(cè)性覆蓋分析與激勵(lì)生成方法,通過增強(qiáng)型進(jìn)程控制樹、控制-觀測(cè)鏈等數(shù)據(jù)模型表征可觀測(cè)性信息,在此基礎(chǔ)上,通過對(duì)設(shè)計(jì)電路動(dòng)態(tài)執(zhí)行過程中,每個(gè)觀測(cè)點(diǎn)的控制-觀測(cè)鏈的確定與回退,分析語句與變量的可觀測(cè)性,得到可觀測(cè)性語句覆蓋率,并且利用得到的可觀測(cè)性信息指導(dǎo)激勵(lì)生成。
      寄存器傳輸級(jí)可觀測(cè)性覆蓋分析與激勵(lì)生成方法,采用控制-觀測(cè)鏈來記錄在具體每一時(shí)間幀擴(kuò)展過程中,變量以及語句的可觀測(cè)性信息,具體來說,一個(gè)變量v,在某一時(shí)間幀t的控制-觀測(cè)鏈就是由所有在時(shí)間幀t,對(duì)v的取值產(chǎn)生影響的賦值關(guān)系所形成的集合。
      寄存器傳輸級(jí)可觀測(cè)性覆蓋分析與激勵(lì)生成方法,采用變量的賦值和引用作為可觀測(cè)性分析的基礎(chǔ),可以很容易地與其它考慮可控制性的覆蓋準(zhǔn)則相結(jié)合,其與語句覆蓋評(píng)估準(zhǔn)則相結(jié)合,得到可觀測(cè)性語句覆蓋率,其具體方法是當(dāng)一組向量模擬結(jié)束時(shí),統(tǒng)計(jì)在增強(qiáng)型進(jìn)程控制樹中,obv域的取值為1的節(jié)點(diǎn)數(shù)目,其與總的賦值語句數(shù)目的比值就是可觀測(cè)性語句覆蓋率。
      寄存器傳輸級(jí)可觀測(cè)性覆蓋分析與激勵(lì)生成方法,以可觀測(cè)性語句的覆蓋分布情況為啟發(fā)式信息的激勵(lì)生成算法,這是一種基于模擬的算法,在模擬的開始階段,不指定模擬激勵(lì)的值,當(dāng)執(zhí)行到設(shè)計(jì)的一條語句時(shí),對(duì)其類型進(jìn)行判斷如果遇到賦值語句,則執(zhí)行賦值操作;如果遇到條件分支語句,則比較不同分支下的可觀測(cè)性語句覆蓋分布情況,進(jìn)而決定該算法下一步執(zhí)行方向,在該過程中會(huì)指定全部或者部分輸入位的值,最后對(duì)于經(jīng)過以上操作,沒有被賦值的輸入位,指派一個(gè)隨機(jī)值,這樣得到一個(gè)模擬激勵(lì)。
      本發(fā)明首先對(duì)進(jìn)程控制樹(PCT)進(jìn)行擴(kuò)充,提出增強(qiáng)型進(jìn)程控制樹(EPCT)。簡(jiǎn)單而言,對(duì)PCT的擴(kuò)充方法是在PCT的每一個(gè)節(jié)點(diǎn)(對(duì)應(yīng)一條HDL語句)中加入兩個(gè)域obv域可觀測(cè)性語句標(biāo)識(shí)域。該域只針對(duì)于賦值語句,用來標(biāo)識(shí)該語句的執(zhí)行錯(cuò)誤是否可以被驗(yàn)證者觀測(cè)到。其取值為0,表示該賦值語句是沒有被觀測(cè)到的;其取值為1,表示該賦值語句是可觀測(cè)的。
      active域語句動(dòng)態(tài)執(zhí)行標(biāo)識(shí)域。該域只針對(duì)于賦值語句,由于編譯階段無法得到程序動(dòng)態(tài)執(zhí)行的信息,我們采用該域紀(jì)錄在程序的每一時(shí)間幀的具體執(zhí)行過程中,哪些語句是被執(zhí)行的。在某一時(shí)間幀t,其取值為1,表示該語句在時(shí)間幀t是被執(zhí)行的;其取值為0,表示該語句在時(shí)間幀t沒有執(zhí)行。該域的取值在每一時(shí)間幀都要?jiǎng)討B(tài)刷新。
      增強(qiáng)型進(jìn)程控制樹(EPCT)的遞歸表示形式為EPCT=&lt;C,EPCTthen,EPCTelse,EPCTnext,Attrs>。其中C表示當(dāng)前語句,EPCTthen,EPCTelse,EPCTnext表示不同分支下的子樹。當(dāng)C為賦值語句時(shí),EPCTthen與EPCTelse為空,EPCTnext表示以語句C的后繼為根節(jié)點(diǎn)的增強(qiáng)型進(jìn)程控制樹。當(dāng)C為條件賦值語句時(shí),EPCTthen與EPCTelse分別表示then分支與else分支語句組的增強(qiáng)型進(jìn)程控制樹,同時(shí)EPCTnext表示以條件分支的后繼語句為根節(jié)點(diǎn)的增強(qiáng)型進(jìn)程控制樹。Attrs表示所添加的obv域以及active域。需要注意的是,針對(duì)RTL代碼中的case語句,在編譯階段,已經(jīng)轉(zhuǎn)化成if-else語句,同時(shí)循環(huán)語句也已經(jīng)展開。所以,可以采用上述方式,刻畫RTL描述。
      一段VHDL代碼與其對(duì)應(yīng)的增強(qiáng)型進(jìn)程控制樹(EPCT)與數(shù)據(jù)流向圖(DDG)如圖1所示,其中的虛線表示EPCT與DDG的對(duì)應(yīng)關(guān)系。一條VHDL語句對(duì)應(yīng)于EPCT中的一個(gè)節(jié)點(diǎn),同時(shí)在DDG中有其對(duì)應(yīng)的數(shù)據(jù)傳輸邊。
      EPCT結(jié)構(gòu)中的obv域可以記錄電路在若干時(shí)間幀執(zhí)行以后,每一條語句的可觀測(cè)性信息,但無法記錄在具體每一時(shí)間幀擴(kuò)展過程中,變量以及語句的可觀測(cè)性信息。為了清晰地表征在程序動(dòng)態(tài)執(zhí)行過程中,數(shù)據(jù)的依賴關(guān)系并分析可觀測(cè)性,我們引入以下定義定義1在DDG中,每一個(gè)節(jié)點(diǎn)p代表HDL中一個(gè)變量或表達(dá)式,針對(duì)某段代碼C,其所有變量或表達(dá)式在DDG中對(duì)應(yīng)節(jié)點(diǎn)的集合,我們稱之為代碼C所對(duì)應(yīng)DDG的節(jié)點(diǎn)集,并用P(C)來表示。即P(C)={p|p為代碼C所對(duì)應(yīng)DDG中的節(jié)點(diǎn)}。
      定義2在代碼C中對(duì)變量(包括輸出)的一次賦值,叫做一次數(shù)據(jù)遷移,每個(gè)數(shù)據(jù)遷移在DDG中都有其對(duì)應(yīng)的邊;一個(gè)數(shù)據(jù)遷移tf可以表示為tf=&lt;s,e&gt;,其中s與e分別表示tf的源點(diǎn)與終點(diǎn);代碼C中所有數(shù)據(jù)遷移的集合,表示成TF(C)。即TF(C)={&lt;s,e&gt;|&lt;s,e&gt;為代碼C所對(duì)應(yīng)DDG中的數(shù)據(jù)遷移}。
      定義3在時(shí)間幀t,代碼C所對(duì)應(yīng)的某些數(shù)據(jù)遷移是被執(zhí)行的,某些數(shù)據(jù)遷移是沒有被執(zhí)行的,我們將被執(zhí)行的數(shù)據(jù)遷移稱為活動(dòng)的數(shù)據(jù)遷移;沒有被執(zhí)行的數(shù)據(jù)遷移,稱為非活動(dòng)的數(shù)據(jù)遷移;所有活動(dòng)的數(shù)據(jù)遷移構(gòu)成的集合表示為ATF(C,t)。即ATF(C,t)={&lt;s,e&gt;|(&lt;s,e&gt;∈TF(C))∧(&lt;s,e&gt;在時(shí)間幀t被執(zhí)行)}。
      定義4在時(shí)間幀t,針對(duì)代碼C中的某一變量v,所有對(duì)其產(chǎn)生影響的賦值關(guān)系所形成的活動(dòng)的數(shù)據(jù)遷移的集合,稱為變量v在時(shí)間幀t的控制-觀測(cè)鏈,表示為COC(C,v,t),其形式化定義如下COC(C,v,t)={&lt;s,e,attr>|(&Exists;(w1,...wn)&Element;P(C))]]>[&lt;s,e,attr>,&lt;e,w1,attr>,...,&lt;wn,vattr>&Element;ATF(C,t)]}]]> 根據(jù)上述定義,在圖2中,DDG的節(jié)點(diǎn)集合P(C)={rst,clk,in1,in2,0,1,buf1,buf2,+,buf3,buf4,up event,=,condition,o1,o2}。在時(shí)間幀t,假設(shè)(rst?。?),則{tf2,tf3}為非活動(dòng)的數(shù)據(jù)遷移(即在該時(shí)間幀,語句2、3未執(zhí)行),{tf5,tf6,tf7_l,tf7_r,tf7,tf8,tf9,tf10}為活動(dòng)的數(shù)據(jù)遷移(即在該時(shí)間幀,語句5-10被執(zhí)行),則根據(jù)定義4,變量buf3在該時(shí)間幀的控制-觀測(cè)鏈為COC(C,buf3,t)={tf5,tf6,tf7_l,tf7_r,tf7。需要注意的是針對(duì)RTL代碼中的非阻塞性賦值,其取值涉及前一幀,如圖2中的語句8,要為buf4賦t-1幀中buf3的值,所以其控制-觀測(cè)鏈也要涉及前一幀的取值。如果一條賦值語句存在錯(cuò)誤,則其錯(cuò)誤的取值,將決定該錯(cuò)誤是否可以傳播到賦值目標(biāo)。假設(shè)存在一條賦值語句f=a>(b+c),在執(zhí)行過程中,其正確的取值應(yīng)該為&lt;a=4,b=2,c=1&gt;。這時(shí)如果a的取值發(fā)生錯(cuò)誤,當(dāng)a取大于4的值時(shí),該錯(cuò)誤無法傳播到賦值目標(biāo)f;當(dāng)a取小于4的值時(shí),該錯(cuò)誤可以傳播到賦值目標(biāo)f。
      本發(fā)明假設(shè)所有賦值語句的錯(cuò)誤,其取值都可以傳播到賦值目標(biāo)。
      基于上述數(shù)據(jù)模型以及假設(shè),我們對(duì)變量以及賦值語句的可觀測(cè)性給出如下定義定義5某段代碼C中的可觀測(cè)點(diǎn)(Observable Points,記做OP)的集合OPS(C)定義為
      (1)針對(duì)代碼C,被驗(yàn)證者選來觀察程序行為的變量v,是觀測(cè)點(diǎn)(Observed Point,記做OdP)。OdP的集合記做OdPS(C),顯然OdPS(C)OPS(C)。
      (2) 滿足以下性質(zhì)的變量w,在時(shí)間幀t是可以被觀測(cè)的,OPS(C,t)={w|(&Exists;v&Element;OdPS(C),&Exists;p&Element;P(C))[(w,p)&Element;COC(C,v,t)]},]]>并且我們將對(duì)可觀測(cè)點(diǎn)賦值的語句稱為可觀測(cè)性賦值語句(ObservableStatements,記做OS);顯然OPS(C,t)OPS(C)。
      從一定意義上講,可觀測(cè)性就是內(nèi)部變量和觀測(cè)點(diǎn)之間的數(shù)據(jù)依賴關(guān)系的體現(xiàn)。基于以上提出的數(shù)據(jù)模型及相關(guān)定義,下面給出一種可觀測(cè)性分析方法。
      在進(jìn)行可觀測(cè)性分析前,首先要對(duì)RTL代碼進(jìn)行編譯,得到PCT與DDG結(jié)構(gòu),并對(duì)PCT進(jìn)行擴(kuò)充,增加obv與active域,然后初始化這兩個(gè)域的值。針對(duì)賦值語句,這兩個(gè)域初始化都取0值,并且其取值會(huì)在可觀測(cè)性分析過程中,不斷刷新。針對(duì)條件分支語句,這兩個(gè)域的值為空。通過上述操作,我們就得到了增強(qiáng)型進(jìn)程控制樹(EPCT)。
      上述初始化工作完成后,進(jìn)行可觀測(cè)性分析,該分析過程可以劃分為兩個(gè)階段,第一個(gè)階段是模擬階段,這是一個(gè)從輸入到輸出的“正向”過程,該階段的主要工作是刷新EPCT中active域的值,判斷在當(dāng)前時(shí)間幀DDG中每一個(gè)數(shù)據(jù)遷移是否活動(dòng),進(jìn)而確定在該時(shí)間幀,每一個(gè)觀測(cè)點(diǎn)的控制-觀測(cè)鏈;第二個(gè)階段是可觀測(cè)性分析階段,這是一個(gè)從觀測(cè)點(diǎn)出發(fā),“反向”分析控制-觀測(cè)鏈,判斷代碼可觀測(cè)性的過程。其算法過程如下所示Analyze(C,vector,t)//代碼C,在時(shí)間幀t,模擬向量vector,分析可觀測(cè)性;{//階段1向量模擬階段;模擬向量vector;
      將該時(shí)間幀具體被執(zhí)行的語句所對(duì)應(yīng)的EPCT中active域的取值置為1;通過EPCT與DDG的對(duì)應(yīng)關(guān)系,判斷DDG中哪些數(shù)據(jù)傳輸是活動(dòng)的;進(jìn)而確定每一個(gè)觀測(cè)點(diǎn)的控制-觀測(cè)鏈;//階段2可觀測(cè)性分析階段;for all v∈OdPS(C)for all a_t∈COC(C,v,t)將a_t所對(duì)應(yīng)的EPCT中相應(yīng)節(jié)點(diǎn)的obv域取值刷新為1;}采用上述算法,當(dāng)一組向量模擬結(jié)束時(shí),語句的可觀測(cè)性信息就已經(jīng)得到了。這時(shí)統(tǒng)計(jì)EPCT中obv域的取值為1的節(jié)點(diǎn)數(shù)目,其與總的賦值語句數(shù)目的比值就是可觀測(cè)性語句覆蓋率。
      本發(fā)明所提出的可觀測(cè)性評(píng)估方法采用變量的賦值和引用作為可觀測(cè)性分析的基礎(chǔ),可以很容易地與其它考慮可控制性的覆蓋準(zhǔn)則相結(jié)合。同時(shí)采用本發(fā)明所得到的可觀測(cè)性覆蓋信息,可以作為重要的啟發(fā)式信息指導(dǎo)RTL激勵(lì)生成。
      本發(fā)明提出一種基于模擬的,以可觀測(cè)性語句覆蓋分布為啟發(fā)式信息的激勵(lì)生成算法。在模擬的開始階段,不指定模擬激勵(lì)的值,其輸入的所有位均置為不確定位。
      當(dāng)模擬執(zhí)行到RTL設(shè)計(jì)的一條語句時(shí),對(duì)其類型進(jìn)行判斷。如果遇到賦值語句,則執(zhí)行賦值操作。如果遇到條件分支語句,則判斷不同分支下未觀測(cè)語句的分布情況,進(jìn)而決定該算法下一步執(zhí)行方向。其具體算法如下Engine(EPCT) /*EPCT=&lt;C,EPCTthen,EPCTelse,EPCTnext,Attrs&gt;;*/{步驟1.如果EPCT為空,算法結(jié)束;
      步驟2.如果當(dāng)前語句C為賦值語句,則執(zhí)行該賦值語句,然后算法轉(zhuǎn)至步驟5;否則該語句一定是條件分支語句,轉(zhuǎn)至步驟3;步驟3.如果then分支下,未觀測(cè)到的語句多,我們認(rèn)為算法沿該分支執(zhí)行,會(huì)更有利于觀測(cè)到目前尚未觀測(cè)到的語句,這時(shí)算法提出沿該分支執(zhí)行的請(qǐng)求。如果請(qǐng)求沒有沖突,則算法沿then分支遞歸執(zhí)行Engine(EPCTthen),如果存在沖突,則沿else分支遞歸執(zhí)行Engine(EPCTelse)。算法轉(zhuǎn)至步驟5。
      步驟4.如果else分支下,未觀測(cè)到的語句多,與步驟3的處理過程類似,提出沿else分支執(zhí)行的請(qǐng)求,如果滿足,則遞歸執(zhí)行Engine(EPCTelse),反之遞歸執(zhí)行Engine(EPCTthen)。算法轉(zhuǎn)至步驟5。
      步驟5.遞歸執(zhí)行Engine(EPCTnext);}在上述算法執(zhí)行過程中,通過對(duì)某些變量值的請(qǐng)求,將指定輸入激勵(lì)全部或者部分位的取值。對(duì)于經(jīng)過以上操作,沒有被賦值的輸入位,指派一個(gè)隨機(jī)值。這樣,在每一時(shí)間幀,將產(chǎn)生一個(gè)模擬激勵(lì)。采用該方式得到的模擬激勵(lì)可以使設(shè)計(jì)錯(cuò)誤盡可能地展現(xiàn)在設(shè)計(jì)驗(yàn)證者所選定的觀測(cè)點(diǎn)上,提高設(shè)計(jì)驗(yàn)證的力度。
      本發(fā)明解決了目前已有的可觀測(cè)性覆蓋評(píng)估方法復(fù)雜度高以及在激勵(lì)生成過程中不考慮可觀測(cè)性的問題。本發(fā)明首先針對(duì)可觀測(cè)性信息提出一種表征方式,并在此基礎(chǔ)上提出可觀測(cè)性覆蓋分析方法。提出的表征方式與分析方法簡(jiǎn)潔合理,易于實(shí)現(xiàn)。本發(fā)明將該分析方法與語句覆蓋評(píng)估準(zhǔn)則相結(jié)合,提出計(jì)算可觀測(cè)性語句覆蓋率的方法,并將所得到的可觀測(cè)性覆蓋信息用于指導(dǎo)寄存器傳輸級(jí)激勵(lì)生成。本發(fā)明可用于在模擬過程中計(jì)算代碼的可觀測(cè)性語句覆蓋率,進(jìn)而更確切地評(píng)估驗(yàn)證的力度,也可以用于在激勵(lì)生成過程中以可觀測(cè)性覆蓋信息為指導(dǎo),提高激勵(lì)的質(zhì)量。


      圖1是VHDL代碼與其對(duì)應(yīng)的EPCT與DDG示意圖。
      圖2是可觀測(cè)性分析示意圖。
      圖3是寄存器傳輸級(jí)可觀測(cè)性覆蓋分析與激勵(lì)生成方法流程圖。
      具體實(shí)施例方式
      圖1是一段VHDL代碼與其對(duì)應(yīng)的EPCT與DDG示意圖,電路RTL設(shè)計(jì)的每一條語句在EPCT中都有其對(duì)應(yīng)的節(jié)點(diǎn),同時(shí)在DDG中都有其對(duì)應(yīng)的數(shù)據(jù)傳輸邊,EPCT與DDG之間的虛線,表示同一條語句所對(duì)應(yīng)的EPCT與DDG的對(duì)應(yīng)關(guān)系。通過該圖可以清晰看出,本發(fā)明在PCT中加入obv域與active域來表征截止到當(dāng)前時(shí)間幀對(duì)應(yīng)語句是否可觀測(cè),以及在當(dāng)前時(shí)間幀對(duì)應(yīng)語句是否被執(zhí)行到。圖1中的第一條語句是條件判斷語句,所以obv域與active域都為空;第二、三條語句obv域與active域取值為0,表示截止到目前時(shí)間幀,這兩條語句還不可觀測(cè),同時(shí)在當(dāng)前時(shí)間幀這兩條語句沒有被執(zhí)行。
      圖2中,左邊部分顯示了一段VHDL代碼,中間部分是這段代碼所對(duì)應(yīng)的EPCT結(jié)構(gòu),右邊部分是這段代碼所對(duì)應(yīng)的DDG。
      圖3的寄存器傳輸級(jí)可觀測(cè)性覆蓋分析與激勵(lì)生成方法,其具體步驟如下步驟S1,對(duì)電路設(shè)計(jì)的寄存器傳輸級(jí)代碼進(jìn)行抽象,得到抽象結(jié)構(gòu)進(jìn)程控制樹(PCT)與數(shù)據(jù)流向圖(DDG);步驟S2,對(duì)進(jìn)程控制樹(PCT)進(jìn)行擴(kuò)充,加入可觀測(cè)性語句標(biāo)識(shí)域(obv)與語句動(dòng)態(tài)執(zhí)行標(biāo)識(shí)域(active),得到增強(qiáng)型進(jìn)程控制樹(EPCT),并建立控制-觀測(cè)鏈(COC)結(jié)構(gòu)用于分析電路在每一時(shí)間幀動(dòng)態(tài)執(zhí)行過程中的可觀測(cè)性信息;步驟S3,以目前可觀測(cè)性語句的覆蓋分布情況作為啟發(fā)式信息,產(chǎn)生模擬激勵(lì)T;(1)這是一種基于模擬的方法,在模擬的開始階段,不指定模擬激勵(lì)的值,其輸入的所有位均置為X。
      (2)當(dāng)執(zhí)行到設(shè)計(jì)的一條語句時(shí),對(duì)其類型進(jìn)行判斷。如果遇到賦產(chǎn)值語句,則執(zhí)行賦值操作。如果遇到條件分支語句,則判斷不同分支下未觀測(cè)語句的分布情況,進(jìn)而決定該算法下一步執(zhí)行方向。假設(shè)EPCTthen分支下未觀測(cè)到的語句的數(shù)目大于EPCTelse分支下未觀測(cè)到的語句的數(shù)目,我們認(rèn)為算法沿EPCTthen分支執(zhí)行,可能會(huì)覆蓋到更多的未觀測(cè)語句。反之,我們認(rèn)為沿EPCTelse分支執(zhí)行,可能會(huì)覆蓋到更多的未觀測(cè)語句。這時(shí),我們提出沿相應(yīng)分支執(zhí)行的請(qǐng)求,進(jìn)行請(qǐng)求響應(yīng)處理。在該過程中,通過對(duì)某些變量值的請(qǐng)求,將指定輸入激勵(lì)全部或者部分位的取值。
      (3)對(duì)于經(jīng)過以上操作,沒有被賦值的輸入位,指派一個(gè)隨機(jī)值。這樣,在每一時(shí)間幀,將產(chǎn)生一個(gè)模擬激勵(lì)。
      步驟S4,以步驟S3所得到的激勵(lì)T作為輸入對(duì)電路進(jìn)行模擬,得到可觀測(cè)性語句的覆蓋率以及相應(yīng)的分布信息;(1)以激勵(lì)T作為輸入對(duì)電路進(jìn)行模擬,將該時(shí)間幀具體被執(zhí)行的語句所對(duì)應(yīng)的EPCT中節(jié)點(diǎn)的active域的取值置為1;通過EPCT與DDG的對(duì)應(yīng)關(guān)系,判斷DDG中哪些數(shù)據(jù)傳輸是活動(dòng)的;進(jìn)而確定每一個(gè)觀測(cè)點(diǎn)的控制-觀測(cè)鏈;(2)從每一個(gè)觀測(cè)點(diǎn)出發(fā),分析其控制-觀測(cè)鏈,判斷語句的可觀測(cè)性,進(jìn)而刷新其對(duì)應(yīng)的EPCT中節(jié)點(diǎn)的obv域的取值;步驟S5,如果目前所得到的可觀測(cè)性語句的覆蓋率已經(jīng)達(dá)到設(shè)計(jì)驗(yàn)證者的目標(biāo),或者算法運(yùn)行超時(shí),則算法結(jié)束;反之,轉(zhuǎn)至步驟S3。
      權(quán)利要求
      1.一種寄存器傳輸級(jí)可觀測(cè)性覆蓋分析與激勵(lì)生成方法,其特征在于,通過增強(qiáng)型進(jìn)程控制樹、控制-觀測(cè)鏈等數(shù)據(jù)模型表征可觀測(cè)性信息,在此基礎(chǔ)上,通過對(duì)設(shè)計(jì)電路動(dòng)態(tài)執(zhí)行過程中,每個(gè)觀測(cè)點(diǎn)的控制-觀測(cè)鏈的確定與回退,分析語句與變量的可觀測(cè)性,得到可觀測(cè)性語句覆蓋率,并且利用得到的可觀測(cè)性信息指導(dǎo)激勵(lì)生成。
      2.根據(jù)權(quán)利要求1所述的寄存器傳輸級(jí)可觀測(cè)性覆蓋分析與激勵(lì)生成方法,其特征在于,對(duì)進(jìn)程控制樹進(jìn)行擴(kuò)充,來表征每一時(shí)間幀語句的執(zhí)行情況,以及截止到該時(shí)間幀,語句的可觀測(cè)性情況,其具體做法是在進(jìn)程控制樹中加入以下兩個(gè)域(1)obv域可觀測(cè)性語句標(biāo)識(shí)域;該域只針對(duì)于賦值語句,用來標(biāo)識(shí)該語句的執(zhí)行錯(cuò)誤是否可以被驗(yàn)證者觀測(cè)到;(2)active域語句動(dòng)態(tài)執(zhí)行標(biāo)識(shí)域;該域只針對(duì)于賦值語句,采用該域記錄設(shè)計(jì)電路在某一時(shí)間幀中,哪些語句是被執(zhí)行的,該域的值在每一時(shí)間幀都動(dòng)態(tài)刷新。
      3.根據(jù)權(quán)利要求1所述的寄存器傳輸級(jí)可觀測(cè)性覆蓋分析與激勵(lì)生成方法,其特征在于,采用控制-觀測(cè)鏈來記錄在具體每一時(shí)間幀擴(kuò)展過程中,變量以及語句的可觀測(cè)性信息,具體來說,一個(gè)變量v,在某一時(shí)間幀t的控制-觀測(cè)鏈就是由所有在時(shí)間幀t,對(duì)v的取值產(chǎn)生影響的賦值關(guān)系所形成的集合。
      4.根據(jù)權(quán)利要求1所述的寄存器傳輸級(jí)可觀測(cè)性覆蓋分析與激勵(lì)生成方法,其特征在于,可觀測(cè)性信息分析方法由以下具體步驟組成步驟1向量模擬,這是一個(gè)從輸入到輸出的“正向”過程,該階段的主要工作是刷新增強(qiáng)型進(jìn)程控制樹中active域的值,并判斷在具體某一時(shí)間幀的執(zhí)行當(dāng)中,哪些數(shù)據(jù)遷移是具體執(zhí)行的,進(jìn)而確定在該時(shí)間幀,每一個(gè)觀測(cè)點(diǎn)的控制-觀測(cè)鏈;步驟2可觀測(cè)性分析,這是一個(gè)從觀測(cè)點(diǎn)出發(fā),“反向”分析控制-觀測(cè)鏈,進(jìn)而判斷變量以及語句可觀測(cè)性的過程。
      5.根據(jù)權(quán)利要求1所述的寄存器傳輸級(jí)可觀測(cè)性覆蓋分析與激勵(lì)生成方法,其特征在于,采用變量的賦值和引用作為可觀測(cè)性分析的基礎(chǔ),可以很容易地與其它考慮可控制性的覆蓋準(zhǔn)則相結(jié)合,其與語句覆蓋評(píng)估準(zhǔn)則相結(jié)合,得到可觀測(cè)性語句覆蓋率,其具體方法是當(dāng)一組向量模擬結(jié)束時(shí),統(tǒng)計(jì)在增強(qiáng)型進(jìn)程控制樹中,obv域的取值為1的節(jié)點(diǎn)數(shù)目,其與總的賦值語句數(shù)目的比值就是可觀測(cè)性語句覆蓋率。
      6.根據(jù)權(quán)利要求1所述的寄存器傳輸級(jí)可觀測(cè)性覆蓋分析與激勵(lì)生成方法,其特征在于,以可觀測(cè)性語句的覆蓋分布情況為啟發(fā)式信息的激勵(lì)生成算法,這是一種基于模擬的算法,在模擬的開始階段,不指定模擬激勵(lì)的值,當(dāng)執(zhí)行到設(shè)計(jì)的一條語句時(shí),對(duì)其類型進(jìn)行判斷如果遇到賦值語句,則執(zhí)行賦值操作;如果遇到條件分支語句,則比較不同分支下的可觀測(cè)性語句覆蓋分布情況,進(jìn)而決定該算法下一步執(zhí)行方向,在該過程中會(huì)指定全部或者部分輸入位的值,最后對(duì)于經(jīng)過以上操作,沒有被賦值的輸入位,指派一個(gè)隨機(jī)值,這樣得到一個(gè)模擬激勵(lì)。
      7.根據(jù)權(quán)利要求1所述的寄存器傳輸級(jí)可觀測(cè)性覆蓋分析與激勵(lì)生成方法,其具體步驟如下步驟S1,抽象電路設(shè)計(jì)的寄存器傳輸級(jí)代碼,得到抽象結(jié)構(gòu)進(jìn)程控制樹與數(shù)據(jù)流向圖;步驟S2,對(duì)進(jìn)程控制樹結(jié)構(gòu)進(jìn)行擴(kuò)充,加入可觀測(cè)性語句標(biāo)識(shí)域與語句動(dòng)態(tài)執(zhí)行標(biāo)識(shí)域,得到增強(qiáng)型進(jìn)程控制樹,并建立控制-觀測(cè)鏈結(jié)構(gòu)用于分析電路在每一時(shí)間幀動(dòng)態(tài)執(zhí)行過程中的可觀測(cè)性信息;步驟S3,以目前可觀測(cè)性語句的覆蓋分布情況作為啟發(fā)式信息產(chǎn)生模擬激勵(lì)T;步驟S4,以步驟S3所得到的激勵(lì)T作為輸入,對(duì)電路進(jìn)行模擬,得到可觀測(cè)性語句覆蓋率以及相應(yīng)的分布信息;步驟S5,如果目前所得到的可觀測(cè)性語句的覆蓋率已經(jīng)達(dá)到設(shè)計(jì)驗(yàn)證者的目標(biāo),或者算法運(yùn)行超時(shí),則算法結(jié)束;反之,轉(zhuǎn)至步驟S3。
      全文摘要
      本發(fā)明涉及集成電路設(shè)計(jì)驗(yàn)證領(lǐng)域,特別是一種寄存器傳輸級(jí)可觀測(cè)性覆蓋分析與激勵(lì)生成方法。通過增強(qiáng)型進(jìn)程控制樹、控制-觀測(cè)鏈等數(shù)據(jù)模型表征可觀測(cè)性信息,在此基礎(chǔ)上,通過對(duì)設(shè)計(jì)電路動(dòng)態(tài)執(zhí)行過程中,每個(gè)觀測(cè)點(diǎn)的控制-觀測(cè)鏈的確定與回退,分析語句與變量的可觀測(cè)性,得到可觀測(cè)性語句覆蓋率,并且利用得到的可觀測(cè)性信息指導(dǎo)激勵(lì)生成。本發(fā)明解決了目前已有的可觀測(cè)性覆蓋評(píng)估方法復(fù)雜度高以及在激勵(lì)生成過程中不考慮可觀測(cè)性的問題。生成。本發(fā)明可用于在模擬過程中計(jì)算代碼的可觀測(cè)性語句覆蓋率,進(jìn)而更確切地評(píng)估驗(yàn)證的力度,也可以用于在激勵(lì)生成過程中以可觀測(cè)性覆蓋信息為指導(dǎo),提高激勵(lì)的質(zhì)量。
      文檔編號(hào)H01L21/82GK1688022SQ20051005634
      公開日2005年10月26日 申請(qǐng)日期2005年3月18日 優(yōu)先權(quán)日2005年3月18日
      發(fā)明者魯巍, 李曉維 申請(qǐng)人:中國科學(xué)院計(jì)算技術(shù)研究所
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1