欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于硬件的仿真覆蓋率統(tǒng)計(jì)方法和裝置的制作方法

文檔序號(hào):6331332閱讀:325來源:國知局
專利名稱:一種基于硬件的仿真覆蓋率統(tǒng)計(jì)方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種仿真覆蓋率統(tǒng)計(jì)方法和裝置,特別是涉及一種基于硬件的仿真覆 蓋率統(tǒng)計(jì)方法和裝置。
背景技術(shù)
在數(shù)字大規(guī)模集成電路設(shè)計(jì)中,我們需要對(duì)用Verilog HDL或VHDL來描述電路設(shè) 計(jì)進(jìn)行仿真和驗(yàn)證。一般來說,判斷驗(yàn)證工作有三個(gè)方面正確,完備和速度,也就是說,用 最短的時(shí)間達(dá)到正確和完備?,F(xiàn)有技術(shù)中采用仿真覆蓋率來驗(yàn)證是否完備,所述仿真覆蓋 率(test coverage),是指代碼的覆蓋程度,是一種度量方式,它又細(xì)分為行覆蓋率(line coverage)、條件覆蓋率(conditionalcoverage)、狀態(tài)機(jī)覆蓋率(state coverage)、語句覆蓋率(statementCoverage) 、分支覆蓋率 (Branch Coverage)、路徑覆蓋率(Path Coverage) 等。其中,條件覆蓋率一般指電路描述中的條件語句的條件的覆蓋情況;狀態(tài)機(jī)覆蓋率指狀 態(tài)機(jī)的各個(gè)狀態(tài)和狀態(tài)跳轉(zhuǎn)的覆蓋情況?,F(xiàn)有技術(shù)中通常采用動(dòng)態(tài)仿真(dynamic simulation)技術(shù),在 RTL(RegisterTransfer Level)仿真時(shí),同時(shí)對(duì)覆蓋率進(jìn)行統(tǒng)計(jì),然后形成一個(gè)測(cè)試報(bào)告, 如圖1所示。目前常用的比較典型的動(dòng)態(tài)仿真方法有兩種Syn0pSyS的VCS+CoverMeter、 和Cadence的NC Verilog,這種方式的特點(diǎn)是基于軟件仿真。其缺點(diǎn)是仿真速度慢,如一個(gè) 幾百萬門的仿真,提取出其覆蓋率可能需要10到20天。

發(fā)明內(nèi)容
本發(fā)明的目的是提供一種速度快、性能可靠的、基于硬件的仿真覆蓋率統(tǒng)計(jì)方法 和裝置。為解決上述技術(shù)問題,本發(fā)明采取以下技術(shù)方案一種基于硬件的仿真覆蓋率統(tǒng) 計(jì)方法,包括以下步驟(1)在原電路的設(shè)計(jì)中為各待測(cè)的電路邏輯添加覆蓋率標(biāo)記,所述 覆蓋率標(biāo)記是存儲(chǔ)單元,所述覆蓋率標(biāo)記用于記錄所述電路邏輯被觸發(fā)的次數(shù)和/或狀 態(tài)信息;(2)經(jīng)過電路綜合與布線,將原電路和所述添加的覆蓋率標(biāo)記一起實(shí)現(xiàn)為測(cè)試電 路;(3)向所述測(cè)試電路輸入測(cè)試邏輯,從而使所述覆蓋率標(biāo)記記錄與其對(duì)應(yīng)的電路邏輯 被觸發(fā)的次數(shù)和/或狀態(tài)信息;(4)當(dāng)所述測(cè)試邏輯輸入和運(yùn)行完畢后,將所述覆蓋率標(biāo)記 輸出;(5)分析所述輸出的覆蓋率標(biāo)記,并根據(jù)覆蓋率標(biāo)記同與其對(duì)應(yīng)的邏輯之間的映射 關(guān)系統(tǒng)計(jì)仿真覆蓋率。為解決上述技術(shù)問題,本發(fā)明還采取以下技術(shù)方案一種基于硬件的仿真覆蓋率 統(tǒng)計(jì)裝置,其特征在于,所述裝置包括采用所述的方法所實(shí)現(xiàn)的電路。本發(fā)明中的基于硬件的仿真覆蓋率統(tǒng)計(jì)方法和裝置通過為待測(cè)試的電路邏輯添 加相應(yīng)的覆蓋率標(biāo)記,并將該標(biāo)記用硬件邏輯形式添加在RTL中,然后經(jīng)過綜合、布線到硬 件系統(tǒng)中,從而能夠在硬件系統(tǒng)的運(yùn)行過程中統(tǒng)計(jì)與覆蓋率相關(guān)的硬件邏輯并將統(tǒng)計(jì)的結(jié) 果輸出,并最終形成測(cè)試報(bào)告,因而具有速度快的特點(diǎn),例如一個(gè)測(cè)試向量軟件仿真要36小時(shí),而使用本發(fā)明中所述的方法和裝置來驗(yàn)證則只需要幾秒。


圖1是現(xiàn)有技術(shù)中的動(dòng)態(tài)仿真時(shí)統(tǒng)計(jì)覆蓋率的示意圖。圖2是本發(fā)明中的統(tǒng)計(jì)覆蓋率的示意圖。圖3是狀態(tài)機(jī)的狀態(tài)圖。圖4是添加了覆蓋率標(biāo)記后的狀態(tài)機(jī)的邏輯示意圖。圖5是使用比較器產(chǎn)生覆蓋率標(biāo)記的示意圖。圖6是特定的主從條件加上覆蓋率標(biāo)記時(shí)的示意圖。圖7是覆蓋率標(biāo)記的邏輯復(fù)用示意圖。
具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)說明。本發(fā)明中的仿真覆蓋率統(tǒng)計(jì)方法包括以下步驟1.向待測(cè)的電路邏輯中添加覆蓋率標(biāo)記(coverage mark),其中,所述覆蓋率標(biāo)記 是存儲(chǔ)單元,優(yōu)選地,所述存儲(chǔ)單元是memory或DFF。(1)加上條件邏輯的覆蓋率標(biāo)記(conditional logic coverage mark)以下面的電路為例子alwaysi(posedge clock)if (condition_a)reg < = ' dl ;else if(condition_b)reg < = ' dO ;condition_a和condition_b是兩個(gè)條件邏輯,我們給它們加上標(biāo)志(coverage mark)。以condition_a為例,命名它對(duì)應(yīng)的覆蓋率標(biāo)記為mark_condition_a[l:0]。如果 condition_a從來沒有觸發(fā)過,則mark_condition_a邏輯為00 ;如果condition_a觸發(fā)過, 且僅為0,則mark_condition_a邏輯為01 ;如果condition_a觸發(fā)過,且僅為1,則mark_ condition_a 邏輯為 10 ;如果 condition_a 觸發(fā)過,且既有 0 又有 1,則 mark_condition_a 邏輯為11 ;上述過程用Verilog HDL表示為alwaysi (posedge clock or negedge rst_n)if( ! rst_n)mark_condition_a <= 2' bOO ;elsebegincase(mark_condition_a)2,bOO :If ( ! condition_a)mark_condition_a <= 2' bOl ;
E1se if(condition a)
mark condition a<一2’b10
2’bOl
if(condition a)
mark condition a<一2’b11
2’b10
if(! condition a)
mark condition a<一2’b11
2’b11
mark condition a<一2’b11
endcase
end(2)為狀態(tài)機(jī)加上覆蓋率標(biāo)記(state coverage mark)設(shè)一個(gè)狀態(tài)機(jī)有F個(gè)狀態(tài),G個(gè)不同狀態(tài)間的跳轉(zhuǎn)。我們需要加兩類標(biāo)記一是為 狀態(tài)機(jī)的F個(gè)狀態(tài)是否遍歷過;二是G個(gè)狀態(tài)切換是否發(fā)生過。例如,假設(shè)一個(gè)狀態(tài)機(jī)有5個(gè)狀態(tài)、7個(gè)狀態(tài)跳變,它的狀態(tài)圖如圖3所示。我們用F個(gè)狀態(tài)遍歷標(biāo)記(state appearing coverage mark),用G個(gè)狀態(tài)跳變 標(biāo)記(state transition coverage mark)當(dāng)對(duì)應(yīng)的狀態(tài)出現(xiàn)時(shí),狀態(tài)遍歷標(biāo)記為1,否則 為0 ;當(dāng)對(duì)應(yīng)的狀態(tài)跳變發(fā)生時(shí),狀態(tài)跳變標(biāo)記為1。添加了覆蓋率標(biāo)記后的邏輯示意圖如 圖4所示。(3)為特定的信號(hào)加上覆蓋率標(biāo)記(value coverage mark)在某些情況下,我們需要知道某個(gè)信號(hào)的值的取值范圍,如一個(gè)N個(gè)bit的信號(hào) value [N-1 0],它的取值范圍是0,1,2,3……2·^,如果要判斷所有的這些理論值是否出現(xiàn) 過,那么我們需要用2"個(gè)標(biāo)記。如圖5示出了由一組比較器產(chǎn)生的所述標(biāo)記。如果我們只需要看某些特定的值是否出現(xiàn)過,則只需要對(duì)應(yīng)的比較器和覆蓋率標(biāo) 記。如果value的值等于某個(gè)特定值,則比較器判斷為相等,標(biāo)記為1,否則為0.(4)為特定的主從條件加上覆蓋率標(biāo)記(combinational coverage mark)如圖6所示,在某些情況下,我們需要知道在特定條件A下,信號(hào)B的取值情況。 這種情況可以由上述(3)中的情況加上條件判斷得到如果B的值等于某個(gè)特定值,并且滿 足條件A,則標(biāo)記為1,否則為0。2.電路綜合與布線將原電路和所添加的覆蓋率標(biāo)記(coverage mark) 一起實(shí)現(xiàn)到一定的電路中,優(yōu) 選地,采用綜合,布局布線到FPGA中的方法將原有的電路和所加的覆蓋率標(biāo)記(coverage mark) 一起實(shí)現(xiàn)到一定的電路中。優(yōu)選地,覆蓋率標(biāo)記的邏輯可通過以下方式復(fù)用如圖7所示,如果電路所添加的 覆蓋率邏輯太多,可以考慮復(fù)用這些邏輯標(biāo)記如果所加的邏輯標(biāo)記有M個(gè),而有N個(gè)存儲(chǔ) 單元,若M > N,則一個(gè)存儲(chǔ)單元被復(fù)用的次數(shù)P = [M/N](即取整數(shù)),在這種情況下,一個(gè) 運(yùn)行測(cè)試程序需要運(yùn)行P次。3.在系統(tǒng)端加上邏輯輸入,在FPGA上運(yùn)行硬件系統(tǒng),這時(shí)覆蓋率標(biāo)記將記錄對(duì)應(yīng)的邏輯的運(yùn)行情況。4.運(yùn)行完一定數(shù)量的輸入向量后,將覆蓋率標(biāo)記輸出。5.分析輸出的覆蓋率標(biāo)記,根據(jù)標(biāo)記與電路邏輯之間的映射,判斷仿真和測(cè)試是 否完備。此外,本發(fā)明還涉及一種基于硬件的仿真覆蓋率統(tǒng)計(jì)裝置,所述裝置包括采用所 述的方法所實(shí)現(xiàn)的電路。本發(fā)明中的基于硬件的仿真覆蓋率統(tǒng)計(jì)方法和裝置通過為待測(cè)試的電路邏輯添 加相應(yīng)的覆蓋率標(biāo)記,并將該標(biāo)記用硬件邏輯形式添加在RTL中,然后經(jīng)過綜合、布線到硬 件系統(tǒng)中,從而能夠在硬件系統(tǒng)的運(yùn)行過程中統(tǒng)計(jì)與覆蓋率相關(guān)的硬件邏輯并將統(tǒng)計(jì)的結(jié) 果輸出,并最終形成測(cè)試報(bào)告,因而具有速度快的特點(diǎn),例如一個(gè)測(cè)試向量軟件仿真要36 小時(shí),而使用本發(fā)明中所述的方法和裝置來驗(yàn)證則只需要幾秒。
權(quán)利要求
一種基于硬件的仿真覆蓋率統(tǒng)計(jì)方法,其特征在于包括以下步驟(1)在原電路的設(shè)計(jì)中為各待測(cè)的電路邏輯添加覆蓋率標(biāo)記,所述覆蓋率標(biāo)記是存儲(chǔ)單元,所述覆蓋率標(biāo)記用于記錄所述電路邏輯被觸發(fā)的次數(shù)和/或狀態(tài)信息;(2)經(jīng)過電路綜合與布線,將原電路和所述添加的覆蓋率標(biāo)記一起實(shí)現(xiàn)為測(cè)試電路;(3)向所述測(cè)試電路輸入測(cè)試邏輯,從而使所述覆蓋率標(biāo)記記錄與其對(duì)應(yīng)的電路邏輯被觸發(fā)的次數(shù)和/或狀態(tài)信息;(4)當(dāng)所述測(cè)試邏輯輸入和運(yùn)行完畢后,將所述覆蓋率標(biāo)記輸出;(5)分析所述輸出的覆蓋率標(biāo)記,并根據(jù)覆蓋率標(biāo)記同與其對(duì)應(yīng)的邏輯之間的映射關(guān)系統(tǒng)計(jì)仿真覆蓋率。
2.如權(quán)利要求1所述的基于硬件的仿真覆蓋率統(tǒng)計(jì)方法,其特征在于所述覆蓋率標(biāo) 記占用多個(gè)bit的存儲(chǔ)單元,并通過編碼的形式記錄與其對(duì)應(yīng)的電路邏輯被觸發(fā)的次數(shù)和 /或狀態(tài)信息。
3.如權(quán)利要求2所述的基于硬件的仿真覆蓋率統(tǒng)計(jì)方法,其特征在于所述電路邏輯 是條件邏輯、狀態(tài)機(jī)、特定的信號(hào)、特定的主從條件邏輯中的一種或多種。
4.如權(quán)利要求3所述的基于硬件的仿真覆蓋率統(tǒng)計(jì)方法,其特征在于所述條件邏輯 中添加的覆蓋率標(biāo)記是與所述條件邏輯中的條件變量相對(duì)應(yīng)的。
5.如權(quán)利要求3或4所述的基于硬件的仿真覆蓋率統(tǒng)計(jì)方法,其特征在于所述狀態(tài) 機(jī)中添加的覆蓋率標(biāo)記是與該狀態(tài)機(jī)的狀態(tài)個(gè)數(shù)和/或不同狀態(tài)間的跳轉(zhuǎn)次數(shù)相對(duì)應(yīng)的。
6.如權(quán)利要求5所述的基于硬件的仿真覆蓋率統(tǒng)計(jì)方法,其特征在于所述特定的信 號(hào)中添加的覆蓋率標(biāo)記與該信號(hào)的取值范圍相對(duì)應(yīng)。
7.如權(quán)利要求6所述的基于硬件的仿真覆蓋率統(tǒng)計(jì)方法,其特征在于當(dāng)需要判斷該 信號(hào)是否取某些特定的值時(shí),將該信號(hào)的值與比較器比較的結(jié)果輸出為與該信號(hào)相對(duì)應(yīng)的 覆蓋率標(biāo)記。
8.如權(quán)利要求1-4,6-7任一項(xiàng)所述的基于硬件的仿真覆蓋率統(tǒng)計(jì)方法,其特征在于 所述存儲(chǔ)單元是memory或DFF。
9.如權(quán)利要求1-4,6-7任一項(xiàng)所述的基于硬件的仿真覆蓋率統(tǒng)計(jì)方法,其特征在于 如果所添加的覆蓋率標(biāo)記多于所述存儲(chǔ)單元,則通過多次運(yùn)行測(cè)試邏輯來實(shí)現(xiàn)對(duì)所述覆蓋 率標(biāo)記的復(fù)用。
10.一種基于硬件的仿真覆蓋率統(tǒng)計(jì)裝置,其特征在于,所述裝置包括采用如權(quán)利要求 1-9任一項(xiàng)所述的方法所實(shí)現(xiàn)的電路。
全文摘要
本發(fā)明涉及一種基于硬件的仿真覆蓋率統(tǒng)計(jì)方法,其特征在于包括以下步驟(1)在原電路的設(shè)計(jì)中為各待測(cè)的電路邏輯添加覆蓋率標(biāo)記,所述覆蓋率標(biāo)記是存儲(chǔ)單元,所述覆蓋率標(biāo)記用于記錄所述電路邏輯被觸發(fā)的次數(shù)和/或狀態(tài)信息;(2)經(jīng)過電路綜合與布線,將原電路和所述添加的覆蓋率標(biāo)記一起實(shí)現(xiàn)為測(cè)試電路;(3)向所述測(cè)試電路輸入測(cè)試邏輯,從而使所述覆蓋率標(biāo)記記錄與其對(duì)應(yīng)的電路邏輯被觸發(fā)的次數(shù)和/或狀態(tài)信息;(4)當(dāng)所述測(cè)試邏輯輸入和運(yùn)行完畢后,將所述覆蓋率標(biāo)記輸出。本發(fā)明中的方法和裝置能夠在硬件系統(tǒng)的運(yùn)行過程中統(tǒng)計(jì)與覆蓋率相關(guān)的硬件邏輯并將統(tǒng)計(jì)的結(jié)果輸出,并最終形成測(cè)試報(bào)告,因而具有速度快的特點(diǎn)。
文檔編號(hào)G06F17/50GK101989311SQ201010270989
公開日2011年3月23日 申請(qǐng)日期2010年9月3日 優(yōu)先權(quán)日2010年9月3日
發(fā)明者王振國 申請(qǐng)人:王振國
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
双鸭山市| 曲松县| 江都市| 卢氏县| 潜山县| 隆德县| 宝清县| 根河市| 南京市| SHOW| 奇台县| 牟定县| 呈贡县| 双城市| 同仁县| 金门县| 牟定县| 湟源县| 辛集市| 绩溪县| 石台县| 平湖市| 临朐县| 广元市| 陇川县| 吴堡县| 沙坪坝区| 修武县| 信丰县| 灵川县| 富锦市| 浠水县| 中西区| 巴林左旗| 镇原县| 保定市| 固镇县| 凤冈县| 潞西市| 卢龙县| 平果县|