版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、<p><b> 畢業(yè)論文</b></p><p> 題 目 基于功能覆蓋率的 </p><p> 處理器運算部件測試 </p><p> 專 業(yè) 微電子學 </p><p> 基于功能覆蓋率的處理器運算部件測試</p><p><
2、b> 摘 要</b></p><p> 測試驗證是數(shù)字集成電路設計中一個非常重要的環(huán)節(jié),一般一個復雜的芯片從設計到封裝成型,測試將占用百分之七十的時間。因此,一種能花費最短時間,并且能最大限度測試出芯片中設計錯誤的測試方法是非常重要的?;诠δ芨采w率的測試方法就是一種可信性比較高的測試方法。</p><p> 本論文主要研究如何用借助仿真工具以及基于功能覆蓋率的測試
3、方法,對微處理器中功能部件功能正確性及語法正確性進行批量測試。測試過程是在system verilog平臺環(huán)境下進行的,應用gcc編譯工具和GDB調(diào)試工具測試C-modle,以及應用Vcs仿真軟件測試RTL代碼,最后運用基于功能覆蓋率的方法編寫覆蓋組方案代碼以及用嵌入式匯編語言編寫測試激勵,完成C-modle和RTL代碼中除了浮點除、浮點乘加以外的所有運算功能測試任務。測試出部分功能部件模塊存在代碼語法錯誤或結(jié)構(gòu)錯誤,并反饋改正。達到了
4、對數(shù)字電路測試驗證的目的。</p><p> 關鍵詞:測試,功能覆蓋率,處理器功能部件,IEEE-754浮點標準</p><p><b> Abstract</b></p><p> Test verification is a very important part of digital integrated circuit desig
5、n, and generally a complex chip from design to the package-molding, the test will take up 70% time. Therefor, a mothod of test which cost the shortest time and can test the wrong of the design of the chip maximum extent
6、is very important. Testing method based on functional coverage rate is a method which has a relatively high credibility.</p><p> In this paper, study how to use the simulation tools and test methods based o
7、n functional coverage rate to finish the batch tests of the functional correctness and syntactic correctness of the cpu. Testing process is carried out under the system verilog platform, using GCC compiler tool and GDB d
8、ebugging tool to test C-modle, and VCS simulation software to test RTL code, finally, finish all the computing functions testing task in the C-modle and RTL code except floating-point addition and floa</p><p
9、> Key words:Test,F(xiàn)unctional coverage,Processor function components,</p><p> IEEE Standard 754 for Binary Floating-Point Arithmetic</p><p><b> 目 錄</b></p><p> 第 1
10、章 緒論1</p><p> 1.1測試方法學的研究現(xiàn)狀1</p><p> 1.2測試的意義2</p><p> 1.3本文的主要內(nèi)容2</p><p> 第2章 測試內(nèi)容的基本介紹4</p><p> 2.1 基于Mips指令集的微處理器功能部件的簡單介紹4</p><
11、p> 2.1.1 功能部件在微處理器中的位置4</p><p> 2.1.2 功能部件實現(xiàn)功能和內(nèi)部結(jié)構(gòu)4</p><p> 2.1.3 Mips指令集介紹5</p><p> 2.2 IEEE-754標準7</p><p> 2.2.1 IEEE-754內(nèi)容7</p><p> 2.2.1
12、 IEEE-754舍入方式和異常情況9</p><p> 2.3 基于功能覆蓋率測試方法學的簡單介紹11</p><p> 第3章 微處理器功能部件參考模型(C-modle)的測試15</p><p> 3.1 微處理器 refercence modle---C-modle的簡單介紹15</p><p> 3.2 C-modl
13、e功能部件的基本功能測試15</p><p> 3.3 C-modle在微處理器中聯(lián)調(diào)17</p><p> 第4章 微處理器的RTL代碼測試21</p><p> 4.1 RTL代碼的基本測試21</p><p> 4.2 用功能覆蓋率的測試方法測試RTL代碼24</p><p> 第5章 測試總
14、結(jié)31</p><p><b> 致謝33</b></p><p><b> 參考文獻34</b></p><p><b> 第 1 章 緒論</b></p><p> 1.1測試方法學的研究現(xiàn)狀</p><p> 隨著微電子制造加工技
15、術的發(fā)展, 芯片的集成規(guī)模越來越大, 系統(tǒng)級芯片的集成度早已跨過百萬門級的規(guī)模。另外市場對于電子產(chǎn)品的更新?lián)Q代要求很快, 對于系統(tǒng)級芯片的設計周期往往要求能夠縮短至一年以內(nèi)。因此迫切要求提高設計的生產(chǎn)效率。而當前在芯片的設計過程中驗證已經(jīng)成為開發(fā)過程中占用人力資源最多, 耗費時間最長的部分。按照以前那樣用手工編寫測試代碼的方法, 只能為小規(guī)模電路的芯片設計服務, 只能達到比較低的測試覆蓋率, 不論從驗證的效率, 或是從驗證效果方面考慮,
16、 都遠遠不能滿足系統(tǒng)級芯片的設計要求。</p><p> 隨著集成電路產(chǎn)業(yè)技術的發(fā)展,芯片的規(guī)模和復雜度不斷地提高,尤其是系統(tǒng)芯片(SOC)的興起【1】,使得我們能在一個芯片上集成整個系統(tǒng)。而這使得芯片的驗證工作變得越來越復雜和困難,驗證工作在芯片研發(fā)中所占的比重也越來越大,根據(jù)許多文獻報道,近年來新推出的SoC 芯片的驗證工作量所占用的人力和時間超過了總資源的70%。</p><p>
17、 為了適應這種變化,人們提出了很多新的概念來提高驗證工作的效率,包括斷言、受約束的隨機約束、功能覆蓋率模型等等,通過采用這些機制,可以大大提高驗證的效率和首次流片的成功概率。本文將就這些機制中的一個方面,即針對功能覆蓋率的驗證過程,做一個簡要的介紹,以引起國內(nèi)同行的注意。</p><p> 功能覆蓋率簡單地說是一個比例數(shù)據(jù),指芯片中已驗證過的功能占該芯片全部功能的百分比。只有當芯片中所有的功能都被驗證為正確時
18、才能保證流片的成功,驗證工作的目標就是盡量使功能覆蓋率達到100%。想要提高驗證工作的效率,就必須在盡可能短的時間內(nèi),盡可能多地提高功能覆蓋率。</p><p><b> 1.2測試的意義</b></p><p> 測試驗證是數(shù)字集成電路設計中一個非常重要的環(huán)節(jié),一般一個復雜的芯片從設計到封裝成型,測試將占用百分之七十的時間。即使投入這么長時間測試,芯片也不可能1
19、00%的測試通過【2】。因此,一種能花費最短時間,并且能最大限度測試出芯片中設計錯誤的測試方法對于集成電路設計行業(yè)的重要性不言而喻。</p><p> 浮點和定點的功能部件作為處理器中數(shù)據(jù)吞吐量最大的部件【3】,其穩(wěn)定性非常重要。就功能部件本身而言,它會遇到很大數(shù)量的數(shù)據(jù)崩塌點。世界著名的半導體公司Intel就曾今因為浮點部件的錯誤沒有測試出來而被大量召回,造成很大損失??梢?,處理器中功能部件是核心,而功能部件
20、的測試,則是這個核心中的最重要的一個零件。</p><p> 基于功能覆蓋率的測試方法就是一種可信性比較高的測試方法。不僅提供覆蓋率報告反映以測試驗證的進度,也為功能驗證的完成提供重要的量化標準,保證驗證工作的完備性,同時證明設計的正確性與可靠性。</p><p> 1.3本文的主要內(nèi)容</p><p> 本課題主要研究基于功能覆蓋率的處理器運算部件驗證。功能
21、覆蓋率簡單地說是一個比例數(shù)據(jù), 指芯片中已驗證過的功能占該芯片全部功能的百分比。只有當芯片中所有的功能都被驗證為正確時才能保證流片的成功, 驗證工作的目標就是盡量使功能覆蓋率達到100%。想要提高驗證工作的效率, 就必須在盡可能短的時間內(nèi), 盡可能多地提高功能覆蓋率。</p><p> 本課題的主要任務是通過對測試功能部件指令研究與分析,結(jié)合所有的功能部件指令特點,完成C-modle和RTL代碼中除了浮點除、浮
22、點乘加以外的所有運算功能測試任務。具體工作包括一下幾點:</p><p> 1)C-modle功能部件的基本功能測試。</p><p> 2)C-modle在微處理器中的聯(lián)調(diào)。</p><p> 3)基于仿真軟件RTL代碼的測試。</p><p> 4)用功能覆蓋率的測試方法測試RTL代碼。</p><p>
23、 第2章 測試內(nèi)容的基本介紹</p><p> 2.1 基于Mips指令集的微處理器功能部件的簡單介紹</p><p> 2.1.1 功能部件在微處理器中的位置</p><p> 圖2-1 處理器中功能部件的位置</p><p> 圖2-1為功能部件ALU和FALU在微處理器中的位置。微處理器通過icache從內(nèi)存中取出指令,經(jīng)過
24、譯碼后發(fā)往發(fā)射模塊,發(fā)射模塊從RF中取出操作數(shù),并將指令發(fā)往功能部件單元模塊,功能部件經(jīng)過運算后將結(jié)果寫入RF【4】。</p><p> 2.1.2 功能部件實現(xiàn)功能和內(nèi)部結(jié)構(gòu)</p><p> 功能部件是微處理器中的核心運算部件之一,實現(xiàn)除了浮點除,浮點乘加以外的所有運算功能。功能部件的內(nèi)部結(jié)構(gòu)主要分為定點ALU和浮點FALU兩部分。指令集的前八個模塊復用為定點ALU模塊,后五個模塊
25、復用為浮點FALU模塊,定點ALU和浮點FALU共用一個入口寄存器和一個出口寄存器。</p><p> 指令集具體包括以下模塊:</p><p><b> 1.位運算模塊</b></p><p><b> 2.固定取位模塊</b></p><p><b> 3.前導零模塊</
26、b></p><p><b> 4.移位模塊</b></p><p><b> 5.加法模塊</b></p><p><b> 6.比較跳轉(zhuǎn)模塊</b></p><p><b> 7.選擇取位模塊</b></p><p&g
27、t;<b> 8.跳轉(zhuǎn)模塊</b></p><p> 9.浮點簡單運算模塊</p><p> 10.浮點判斷移位模塊</p><p> 11.定點轉(zhuǎn)浮點模塊</p><p> 12.浮點轉(zhuǎn)定點模塊</p><p><b> 13.浮點比較模塊</b></p&
28、gt;<p> 2.1.3 Mips指令集介紹</p><p> MIPS是高效精簡指令集計算機(RISC)體系結(jié)構(gòu)中最優(yōu)雅的一種【5】;即使連MIPS的競爭對手也這樣認為,這可以從MIPS對于后來研制的新型體系結(jié)構(gòu)比如DEC的Alpha和HP的Precision產(chǎn)生的強烈影響看出來。雖然自身的優(yōu)雅設計并不能保證在充滿競爭的市場上長盛不衰,但是MIPS微處理器卻經(jīng)常能在處理器的每個技術發(fā)展階段保
29、持速度最快的同時保持設計的簡潔。</p><p> 相對的簡潔對于MIPS來說是一種商業(yè)需要,MIPS起源于一個學術研究項目,該項目的設計小組連同幾個半導體廠商合伙人希望能制造出芯片并拿到市場上去賣。結(jié)果是該結(jié)構(gòu)得到了工業(yè)領域內(nèi)最大范圍的具有影響力的制造商們的支持。從生產(chǎn)專用集成電路核心(ASIC Cores)的廠家(LSI Logic,Toshiba, Philips, NEC)到生產(chǎn)低成本微處理器的廠家(N
30、EC, Toshiba,和IDT),從低端64位處理器生產(chǎn)廠家(IDT, NKK, NEC)到高端64位處理器生產(chǎn)廠家(NEC, Toshiba和IDT)。</p><p> 低端的微處理器物理面積只有1.5平方毫米(在SOC系統(tǒng)里面肉眼很難找到).而高端的R10000處理器,第一次投放市場時可能是世界上最快的微處理器,它的物理面積幾乎有1平方英寸,發(fā)熱近30瓦特.雖然MIPS看起來沒什么優(yōu)勢,但是足夠的銷售量
31、使其能健康發(fā)展:1997年面市的44M的MIPS 微處理器,絕大多數(shù)使用于嵌入式應用領域。</p><p> MIPS 微處理器是一種RISC結(jié)構(gòu)的微處理器【2】, 它產(chǎn)生于一個特殊的蓬勃發(fā)展的學術研究與開發(fā)時期.RISC(精簡指令集計算機)是一個極有吸引力的縮寫名詞,與很多這類名次相似,可能遮掩的真實含義超過了它所揭示的.但是它的確對于那些在1986到1989年之間投放市場的新型微處理器體系結(jié)構(gòu)提供了一個有用
32、的標識名,這些新型體系結(jié)構(gòu)的非凡的性能主要歸功于幾年前的幾個具有開創(chuàng)性的研究項目所產(chǎn)生的思想。有人曾說:"任何在1984年以后定義的計算機體系結(jié)構(gòu)都是RISC";雖然這是對于工業(yè)領域廣泛使用這個縮寫名詞的嘲諷,但是這個說法也的確是真實的-1984年以后沒有任何一款計算機能夠忽視RISC先驅(qū)者們的工作。</p><p> MIPS的指令格式只有3種:</p><p>
33、 1、R(register)類型的指令。該類型指令從寄存器堆(register file)中讀取兩個源操作數(shù),計算結(jié)果寫回寄存器堆。</p><p> 2、I(immediate)類型的指令。該類型指令使用一個16位的立即數(shù)作為一個源操作數(shù)。</p><p> 3、J(jump)類型的指令。該類型指令使用一個26位的立即數(shù)作為跳轉(zhuǎn)的目標地址(target address)。</p
34、><p> MIPS的指令種類有:</p><p><b> 1、算術運算。</b></p><p><b> 2、邏輯運算。</b></p><p><b> 3、數(shù)據(jù)傳送。</b></p><p><b> 4、條件轉(zhuǎn)移。</b
35、></p><p><b> 5、無條件跳轉(zhuǎn)。</b></p><p><b> 6、特殊指令。</b></p><p><b> 7、例外指令。</b></p><p><b> 8、協(xié)處理器指令。</b></p><p
36、> 9、系統(tǒng)控制協(xié)處理器指令。</p><p> 基于功能覆蓋率的處理器運算部件測試采用了MIPS精簡指令集(RISC)體系結(jié)構(gòu),改體系結(jié)構(gòu)基于的理論是使用相當簡單的指令,結(jié)合優(yōu)秀的編譯器以及采用流水線執(zhí)行指令的硬件,就可以用更少的晶元面積生產(chǎn)更快的處理器。</p><p> 2.2 IEEE-754標準</p><p> 2.2.1 IEEE-754
37、內(nèi)容</p><p> 有IEEE-754標準是IEEE計算機科學標準委員會的微處理器標準小組委員會浮點工作組于1985年制訂的,主要是為便于軟件的移植,給浮點數(shù)數(shù)據(jù)格式的表示、加、減、乘、除等運算處理等所作的統(tǒng)一標準【6】,并對于浮點數(shù)一些特殊數(shù)處理、異常處理以及最終結(jié)果的舍入進行了明確的規(guī)定。</p><p> 圖2-1-1浮點數(shù)的表示形式</p><p>
38、 圖2-1-1為IEEE754標準表示形式。在表示浮點數(shù)時,每個浮點數(shù)均由符號位S、指數(shù)部分E、尾數(shù)部分M三部分組成。</p><p> IEEE-754只定義了四種格式的浮點數(shù)據(jù)類型:單精度、單精度擴展、雙精度、擴展雙精度格式【7】。</p><p> IEEE-754對于以下的一些特殊數(shù)據(jù)作了詳細的規(guī)定:</p><p> 1)NANs(非數(shù))</
39、p><p> 當浮點數(shù)的指數(shù)部分全為1且尾數(shù)不全為0時,不論符號位的正負,則為NAN數(shù),即非數(shù)。非數(shù)又分為兩種,一種為SNAN,一種為QNAN。當SNAN作為操作數(shù)時,觸發(fā)異常,應報無效操作錯誤;當QNAN作為操作數(shù)時,不觸發(fā)異常,直接輸出QNAN原數(shù)據(jù),當操作數(shù)中出現(xiàn)多個QNAN數(shù)時,由設計者決定優(yōu)先級。SNAN和QNAN的區(qū)別由設計者確定。</p><p><b> 2)無窮
40、(∞)</b></p><p> 當浮點數(shù)的指數(shù)部分為全1且尾數(shù)為全0時,則為無窮數(shù),其正負取決于符號位。所有對于無窮的操作都是精確的,且除以下兩種情況外不觸發(fā)任何異常:</p><p> 1、無窮數(shù)是由有限數(shù)據(jù)計算產(chǎn)生或者是除0操作產(chǎn)生;</p><p> 2、無窮數(shù)作為觸發(fā)無效操作異常的操作數(shù)。</p><p><
41、b> 3)非規(guī)格化數(shù)</b></p><p> 當浮點數(shù)的指數(shù)部分為全0且尾數(shù)不為全0時,則為denormal數(shù),即非規(guī)格化數(shù)。以64位雙精度來說,此時隱含位不再為1而是為0,其</p><p> 已經(jīng)偏移的指數(shù)表示的真值為-1022而不是通常所理解的0-1023=-1023。</p><p><b> 4)0 </b>
42、;</p><p> 當浮點數(shù)的指數(shù)和尾數(shù)部分全為0時,則其值為0,符號位決定正負。所有格式中對正負0有明顯的區(qū)別,但是符號位只在某些特定的場合有意義,如乘零的時候,在其他地方則沒有意義。</p><p> 2.2.1 IEEE-754舍入方式和異常情況</p><p> 確定了浮點數(shù)的格式之后,我們最關心的就是浮點數(shù)的舍入方式及由此帶來的誤差。浮點數(shù)運算中,
43、運算結(jié)果有可能超出浮點數(shù)所容許的位數(shù),舍入得目的就是使得有效數(shù)據(jù)的尾數(shù)保持在固定位數(shù)范圍內(nèi)。</p><p> IEEE-754標準規(guī)定了四種舍入模式:</p><p> 1.就近舍入(round to nearest):結(jié)果被舍入成最接近原值的可表示數(shù);如果兩個值同樣接近原值,那么根據(jù)IEEE-754標準,系統(tǒng)應該選擇最后一個有效數(shù)字為“0”的那個值作為舍入結(jié)果。</p>
44、<p> 2.向上舍入(round toward +∞):結(jié)果被舍入成最接近原值而又大于或等于原值的可表示數(shù)。</p><p> 3.向下舍入(round toward -∞):結(jié)果被舍入成最接近原值而又小于或等于原值的可表示數(shù)。</p><p> 4.向零舍入(round toward 0):結(jié)果被舍入成最接近原值而又絕對值又小于或等于原值的可表示數(shù)。</p&g
45、t;<p> 在各種浮點數(shù)運算、操作過程中,當出現(xiàn)某些情況時,系統(tǒng)必須通過特定的方式通知用戶,IEEE-754用“異常(exception)”來表示這些情況。</p><p> IEEE-754定義了五中異常: </p><p> 上溢(Overflow)</p><p> 下溢(Underflow) 由運
46、算的結(jié)果所導致</p><p> 不精確(Inexact)</p><p> 無效運算(Invalid operation) </p><p> 由參與運算的操作數(shù)所導致 </p><p> 除以零(Division by zero) </p><p> (1) 非法操作例外V</p>
47、<p> 當存在非法情況的兩個操作數(shù)存在于一個可執(zhí)行的操作中時,則發(fā)出V例外。在浮點除法部件中具體包括:</p><p> 兩個零相除:(+0)/(-0)、(+0)/(+0)、(-0)/(+0) 、(-0)/(-0) </p><p> 兩個無窮數(shù)相除:(+∞)/(-∞)、(+∞)/(+∞)、(-∞)/(+∞)、(-∞)/(-∞) </p><p&
48、gt; 對SNAN的所有操作</p><p><b> (2)不精確例外</b></p><p> 以下任一種情況發(fā)生時產(chǎn)生不精確例外:</p><p><b> 舍入后結(jié)果上溢;</b></p><p><b> 舍入后結(jié)果非精確;</b></p>&
49、lt;p> 舍入后結(jié)果下溢,而且下溢例外和非精確例外的enable位都不被設置,而FS比特被設置。</p><p> (3)浮點上溢、下溢例外 </p><p> 在舍入的幅度超過了目標格式的最大有限值時,輸出結(jié)果會產(chǎn)生上溢異常,此時該輸出結(jié)果由舍入方式?jīng)Q定。最近偶舍入上溢的結(jié)果設置為∞;目標格式的幅度最大有限值被設置為零舍入上溢的結(jié)果;負無窮舍入正上溢則設置為目標格式的最大有
50、限值,負上溢設置為負無窮;正無窮舍入設置負上溢為目標格式的最大有限值,設置正上溢為正無窮。</p><p><b> (4)除以零例外</b></p><p> 當除數(shù)為零(包括“+0”和“-0”)而被除數(shù)是有限值時,發(fā)生該例外。在浮點除法部件中具體如:</p><p> 3.0/+0.0=+∞</p><p>
51、 3.0/-0.0=-∞</p><p> -3.0/-0.0=+∞</p><p> 2.3 基于功能覆蓋率測試方法學的簡單介紹</p><p> 功能覆蓋率簡單地說是一個比例數(shù)據(jù),指芯片中已驗證過的功能占該芯片全部功能的百分比【8】。只有當芯片中所有的功能都被驗證為正確時才能保證流片的成功,驗證工作的目標就是盡量使功能覆蓋率達到100%。想要提高驗證工作的
52、效率,就必須在盡可能短的時間內(nèi),盡可能多地提高功能覆蓋率。</p><p> 功能覆蓋率似乎是一個較新的概念,但事實上,傳統(tǒng)的驗證過程也使用了功能覆蓋率的概念。為了驗證一個設計,項目組長必須編寫驗證需求文檔(或類似的文檔),以確定需要驗證的測試案例。這份文檔最后被歸納為一張表格,表格中的一欄填寫的是所有測試案例的名稱,另一欄是這些測試案例的完成情況。驗證工程師的任務就是要在投片(tape-out)之前把這些的測
53、試案例一個個地完成。實際上,這樣一張表格就是一個功能覆蓋率模型。</p><p> 傳統(tǒng)的驗證過程由于缺少自動地統(tǒng)計當前功能覆蓋率的機制,大大地限制了它的能力,只能說它使用了初級的功能覆蓋率模型。為了適應當前的芯片的規(guī)模和復雜度,我們需要一種新的針對功能覆蓋率的驗證過程,在這個新的驗證過程中,對當前功能覆蓋率進行自動統(tǒng)計的機制是必不可少的。</p><p> 圖2-3-1 針對功能覆蓋
54、率的驗證過程</p><p> 在如圖2-3-1這個新的驗證過程中,與傳統(tǒng)的驗證過程不同的地方在于:它實現(xiàn)了一個能夠自動統(tǒng)計功能覆蓋率的模型。通過該模型,可以方便地得到當前的功能覆蓋率,并根據(jù)它調(diào)整驗證策略,以盡快地達到100%功能覆蓋率【9】。</p><p> 功能覆蓋中最常見的是需求覆蓋,其含義是通過設計一定的測試用例,要求每個需求點都被測試到。其公式是需求覆蓋 = (被驗證到的
55、需求數(shù)量)/(總的需求數(shù)量)</p><p> 功能覆蓋率是通過仿真器統(tǒng)計功能覆蓋點的覆蓋情況得到的。它要求驗證工程師首先根據(jù)spec定義功能覆蓋點,覆蓋點的定義這里不在細說。</p><p> 功能覆蓋率驗證過程。首先說一下功能點。從系統(tǒng)設計的角度來看,功能點就是設計的某一個具體功能。在不同的抽象層次上,功能點的含義有較大的區(qū)別。在較高的抽象層次上,功能點可以是系統(tǒng)的某一項功能;而在
56、較低的抽象層次上,功能點可以僅僅是設計中的某個信號的改變(例如:微處理器內(nèi)部某個通用寄存器值的改變)。從設計驗證的角度來看,功能點就是我們?yōu)榱俗C明設計的正確性,而構(gòu)造的一個個能正確執(zhí)行的測試用例。因而功能點的含義包含兩個方面:一是測試用例,二是正確性。</p><p> 圖2-3-2 功能點的含義</p><p> 圖2-3-2說明了功能點的含義。我們把不同的測試用例定義為縱向功能線,
57、正確性檢查的條件定義為橫向功能線。功能點就是縱向功能線和橫向功能線的交點。</p><p> 如果我們能找到完備的測試用例,并且能證明設計執(zhí)行每個測試用例都是正確的,我們就可以確認我們的設計是正確的。當然這是功能驗證的理想情況,設計驗證要做的就是如何找出完備的測試用例和如何定義充要的正確性條件。</p><p> 根據(jù)前面對功能點的說明,驗證的過程可以分為兩步:一是構(gòu)造能夠體現(xiàn)設計功能
58、的測試用例;二是定義設計的正確性條件。定義好測試用例和正確性條件以后,我們就可以搭建驗證平臺(Testbench),對設計進行仿真了。仿真的結(jié)果是不是達到了我們預期的目標了呢?這就需要通過某種手段來分析。功能覆蓋率就是用來分析仿真結(jié)果的一種手段。功能覆蓋率包含兩方面的內(nèi)容:一是測試用例的覆蓋率,二是正確性條件的覆蓋率。在仿真完成后,感興趣的測試條件是不是都被構(gòu)造出來了?定義的正確性條件是不是都得到滿足?這些都可以通過功能覆蓋率體現(xiàn)出來。
59、</p><p> 功能覆蓋率在這種策略中的作用就是指出哪些功能點已經(jīng)覆蓋到,哪些還沒有覆蓋到,從而對構(gòu)造新的測試用例作出指導。從分析覆蓋率到生成新的測試用例,這個過程可以由人手工完成,也可以由驗證環(huán)境自動完成:前者節(jié)省機器的仿真時間,后者節(jié)省人的編碼的時間。</p><p> 第3章 微處理器功能部件參考模型(C-modle)的測試</p><p> 3.1
60、 微處理器 refercence modle---C-modle的簡單介紹</p><p> C-modle是個reference modle,即參照模型。即用C語言(高級語言)寫的一個微處理器的模型【10】,由于C語言是高級語言,具有以下特點:</p><p> 1. 簡潔緊湊、靈活方便 </p><p><b> 2. 運算符豐富 </b&
61、gt;</p><p> 3. 數(shù)據(jù)結(jié)構(gòu)豐富 </p><p> 4. C是結(jié)構(gòu)式語言 </p><p> 5. C語法限制不太嚴格、程序設計自由度大 </p><p> 6. C語言允許直接訪問物理地址,可以直接對硬件進行操作 </p><p> 7. C語言程序生成代碼質(zhì)量高,程序執(zhí)行效率高 </p
62、><p> 8. C語言適用范圍大,可移植性好 </p><p> 調(diào)試C-modle的目的就是保證其正確性,由于C-modle的正確性和可信度都遠遠高于RTL代碼。因此,用這個模型做RTL的比對模型,會減少RTL調(diào)試時的困難。</p><p> 3.2 C-modle功能部件的基本功能測試</p><p> C-modle功能部件的基本
63、功能測試對象為MIPS指令集中的每條指令在C-modle中都是單獨用一個函數(shù)實現(xiàn)的,然后將這些指令打包成一些有特定功能的模塊,這些不同功能的模塊就組合成了整個ALU部件,C-modle功能部件的基本功能測試的測試對象就是針對每條指令的這個函數(shù)來測試的。</p><p> C-modle功能部件的基本功能測試過程先從*.c文件中取出要測試指令模塊,根據(jù)指令需求寫C語言測試激勵和輸出語句。然后用gcc編譯工具在測
64、試平臺上采用相關命令將測試激勵編譯生成*.txt的可執(zhí)行文件,輸入測試激勵,再運行此文件,進行相關測試。最后,將得到測試指令模塊的測試結(jié)果與預期的結(jié)果進行對比,來驗證模塊功能的完備性【11】。</p><p> C-modle功能部件的基本功能測試結(jié)果用位運算模塊NOR指令為例具體分析。</p><p> 圖3-2-1 提取測試指令模塊</p><p> 圖3
65、-2-2 修改代碼</p><p> 圖3-2-3 測試結(jié)果</p><p> 該測試過程可分為六步:</p><p> 第一步,如圖3-2-1所示,從*.c文件中取出要測試指令模塊。</p><p> 第二步,如圖3-2-2所示,根據(jù)指令需求修改C語言代碼,編寫測試激勵和輸出語句。</p><p> 第三步
66、,用gcc編譯工具在測試平臺上采用相關命令將測試激勵編譯生成*.txt的可執(zhí)行文件,輸入測試激勵,再運行此文件。</p><p> 第四步,如圖3-2-3所示,賦值分別為212990和2109128。</p><p> 測試結(jié)果為-229376。手算同或結(jié)果為-229376。</p><p> 測試指令模塊的測試結(jié)果與預期的結(jié)果相同,則該模塊測試通過。<
67、/p><p> 在C-modle功能部件的基本功能的測試期間,我對精簡Mips指令集中13個模塊中的近200多條指令進行了測試。但由于時間的限制,針對每個小的指令模塊僅賦值一個輸入需求進行測試,所以達到的覆蓋情況一般。但是C-modle功能部件的基本功能測試的工作量仍然較大,測試過程中出現(xiàn)的問題較多,基本可歸結(jié)為指令模塊結(jié)構(gòu)錯誤。通過對C-modle功能部件的基本功能的測試,也為之后C-modle在微處理器中聯(lián)調(diào)測
68、試打下了堅實的基礎。達到了C-modle功能部件的基本功能的測試的目的。</p><p> 3.3 C-modle在微處理器中聯(lián)調(diào)</p><p> C-modle在微處理器中聯(lián)調(diào)測試對象是將Mips指令集中所有指令打包成一些特定功能的模塊,這些不同功能的模塊組合成為一個整個的ALU部件,ALU部件在C-modle中用不同函數(shù)實現(xiàn)其功能。C-modle功能部件在微處理器中聯(lián)調(diào)就是針對所
69、有指令對應的函數(shù)來測試的。</p><p> C-modle在微處理器中聯(lián)調(diào)測試首先,讀測試需求的文檔,用嵌入式匯編編寫測試C代碼。嵌入式匯編就是將匯編語言嵌入C語言中,嵌入式的那段匯編就是要測試的指令序列,這樣做的好處是指令序列可控,這里的匯編就是Mips指令隊列。其次,將寫好的嵌入式匯編代碼反匯編成Mips指令隊列。將Mips指令的隊列的編碼寫入虛擬內(nèi)存中。將指令加入C-modle的虛擬內(nèi)存,運行這個mod
70、le。再用GDB單步調(diào)試C-modle,并觀察結(jié)果,并與預期結(jié)果比對。如果有錯誤,對錯誤進行定位查找,并將錯誤反饋【12】。</p><p> C-modle在微處理器中聯(lián)調(diào)測試結(jié)果以ADDIU為例具體分析其測試過程及結(jié)果。</p><p> 圖3-3-1 反匯編代碼寫入虛擬內(nèi)存</p><p> 圖3-3-2 GDB中設置斷點和觀察點</p>
71、<p> 圖3-3-3 入口寄存器數(shù)據(jù)流觀察</p><p> 圖3-3-4 出口寄存器數(shù)據(jù)流觀察</p><p> 圖3-3-5 數(shù)據(jù)寫回結(jié)果</p><p> 該測試過程可分為六步:</p><p> 第一步,先根據(jù)測試需求的文檔,用嵌入式匯編編寫測試C代碼。</p><p> 第二步,將寫好
72、的嵌入式匯編代碼反匯編成Mips指令隊列。</p><p> 第三步,如圖3-3-1將Mips指令的隊列的編碼寫入其虛擬內(nèi)存中的過程。由于片外存儲器DDR不包含在代碼中,故需要用一個結(jié)構(gòu)體組模擬這個內(nèi)存空間。將指令隊列賦值給這個數(shù)組后,讓微處理器從這個數(shù)組拿數(shù)據(jù)就模擬了微處理器從內(nèi)存中取數(shù)的行為。</p><p> 第四步,將指令加入C-modle的虛擬內(nèi)存,運行這個modle。<
73、;/p><p> 第五步,如圖3-3-2在GDB中設置斷點為196行和165行,觀察點分別為fu_in_reg[0],fu_out_reg[0],pc_reg,lw_id。</p><p> 第六步,用GDB單步調(diào)試C-modle【13】。如圖3-3-3和圖3-3-4所示,觀察入口寄存器數(shù)據(jù):</p><p> fu_in_reg[0]= [value1=(ui=
74、0),valulue2=(ui=4294967000)]</p><p><b> 出口寄存器數(shù)據(jù):</b></p><p> fu_out_reg[0]= [result=(ui=4294967000)]</p><p> 如圖3-3-5所示,數(shù)據(jù)寫回結(jié)果:</p><p> Rf_reg[29]=[data=
75、(li=4294967000)]</p><p> 測試結(jié)果與預期結(jié)果進行比對相同,說明該指令模塊發(fā)射成功并通過。</p><p> C-modle在微處理器中聯(lián)調(diào)測試期間,我對精簡Mips指令集中加法模塊、定點轉(zhuǎn)浮點模塊和浮點轉(zhuǎn)定點模塊進行了測試。測試過程中出現(xiàn)的問題較多,基本可歸結(jié)為指令模塊結(jié)構(gòu)錯誤。由于時間和當前測試能力的限制,僅僅測試了十三個模塊中的三個模塊,但是基本達到了C-
76、modle在微處理器聯(lián)調(diào)測試的目的。</p><p> 第4章 微處理器的RTL代碼測試</p><p> 4.1 RTL代碼的基本測試</p><p> RTL代碼的基本測試的對象是MIPS指令集中的每條指令在VCS仿真軟件中都是單獨用一個函數(shù)實現(xiàn)的,然后將這些指令打包成一些有特定功能的模塊,這些不同功能的模塊就組合成了整個ALU部件,RTL代碼的基本功能測
77、試的測試對象就是針對每條指令的這個函數(shù)用VCS仿真軟件來測試的。</p><p> RTL代碼的基本測試的過程是先編寫test_bench,即編寫測試RTL的激勵文件。然后單獨運行功能部件的模塊。應用VCS仿真軟件,在圖形化界面下查看結(jié)果,并與用IEEE-754標準手算輸出結(jié)果進行比對,結(jié)果一致這測試模塊正確可通過,不一致則說明該模塊存在問題【14】。</p><p> RTL代碼的基
78、本測試結(jié)果用一個測試出錯誤和一個測試驗證正確的兩條指令為例具體分析,兩條指令分別是位運算模塊NOR指令和固定取位模塊DSBH指令。</p><p> 圖4-1-1 位運算模塊NOR指令在VCS仿真軟件中測試波形</p><p> 在位運算模塊測試中,測出多處錯誤。以NOR指令模塊測試為例,如圖4-1-1可知,輸入賦值分別是:</p><p> fu_in_va
79、lue1輸入十六進制數(shù)為000000000b42abc3</p><p> fu_in_value2輸入十六進制數(shù)為000000000000f0f3</p><p><b> 波形圖輸出結(jié)果:</b></p><p> fu_out_result 輸出十六進制數(shù)為fffffffff4bd020c</p><p>
80、 應用IEEE-754標準手算輸出結(jié)果為fffffffff4bda2cf</p><p> VCS仿真軟件輸出結(jié)果與用IEEE-754標準手算輸出結(jié)果不一致,說明該模塊存在問題。</p><p> 圖4-1-2 固定取位模塊DSBH指令在VCS仿真軟件中測試波形</p><p> 在固定取位模塊測試中,同樣測出存在錯誤,但DSBH指令模塊測試正確可通過。&l
81、t;/p><p> 如圖4-1-2可知,輸入賦值:</p><p> fu_in_value1輸入十六進制數(shù)為0c1ef701f00f0801</p><p><b> 波形圖輸出結(jié)果:</b></p><p> fu_out_result 輸出十六進制數(shù)為1e0c01f70ff00108</p>&
82、lt;p> 應用IEEE-754標準手算輸出結(jié)果為1e0c01f70ff00108</p><p> VCS仿真軟件輸出結(jié)果與用IEEE-754標準手算輸出結(jié)果一致,說明該模塊測試正確可以通過。</p><p> 對基于VCS仿真軟件RTL代碼的測試過程,我主要對位運算模塊AND、OR、NOR、XOR四個指令模塊,固定取位模塊LUI、SEB、SEH、WBSH、DSHD、DSBH
83、六個指令模塊,前導零模塊CLZ、CLO、DCLZ、DCLO四個指令模塊,移位模塊SLL、SRL、SRA、ROTR、DSLL、DSRL、DSRA、DROTR、DSLL32、DSRL32、DSRA32十一個指令模塊進行測試。其中每個指令模塊賦值一個需求輸入,將輸測試RTL激勵文件寫入test-bench中,單獨運行功能部件的指令模塊代碼,用VCS仿真軟件,輸入指定數(shù)據(jù),在圖形化界面下查看結(jié)果,并與用IEEE-754標準手算輸出結(jié)果進行比對,
84、結(jié)果一致這測試模塊正確可通過,不一致則說明該模塊存在問題。對所進行的二十五個指令模塊測試中,共發(fā)現(xiàn)十一處錯誤。達到了測試目的,完成了RTL代碼基本測試工作任務。</p><p> 4.2 用功能覆蓋率的測試方法測試RTL代碼</p><p> 用功能覆蓋率的測試方法學測試RTL代碼的測試對象是ALU和FALU功能模塊,RTL代碼的實現(xiàn)是基于C-modle的,其基本功能已在4.1節(jié)中驗證
85、通過。為了驗證ALU和FALU相應模塊的功能完備性,需用功能覆蓋率的方法驗證ALU和FALU相應模塊的邊角情況。</p><p> 用功能覆蓋率的測試方法學測試RTL代碼的測試過程是先讀取測試需求數(shù)據(jù)文檔,用嵌入式匯編編寫測試C語言代碼。其次,將寫好的嵌入式匯編代碼反匯編成MIPS指令隊列,將MIPS指令的隊列的編碼寫入虛擬內(nèi)存中。然后,用system verilog編寫覆蓋率代碼,并插入RTL代碼,將這些代碼
86、加入RTL中之后,就相當于加入很多觀察點,這些觀察點會在將來的覆蓋報告中讀出其覆蓋信息。最后,將.v文件生成功能覆蓋報告,讀取覆蓋點的覆蓋信息,看是否功能覆蓋100%【15】。</p><p> 對于用功能覆蓋率的測試方法測試RTL代碼,我的主要工作是學習用system verilog編寫覆蓋率代碼。由于C-modle和RTL比對平臺還不夠完善,以及時間及能力有限,只做了功能覆蓋率組的代碼實現(xiàn),并沒有在基于功能
87、覆蓋率的測試平臺上做測試。此模塊批量測試任務后續(xù)進行,但測試過程已經(jīng)掌握。</p><p> 以在ce信號的上升沿對覆蓋點進行采樣為例,對用system verilog編寫代碼及覆蓋報告生成過程具體分析介紹。</p><p><b> 測試需求文檔為:</b></p><p> 覆蓋點:addr、datai、datao、we。</p
88、><p> 1. addr為存數(shù)據(jù)或取數(shù)據(jù)的地址,位寬為8,值為0-255。通道可劃分為3個通道:0-50、51-150、151-255。</p><p> 2. we為讀寫使能信號,1位寬,為0時代表讀,為1時代表寫。那么可劃分為兩個通道,分別為讀和寫。</p><p> 3. 交叉覆蓋addr和we的通道。</p><p> 4. d
89、atai為要寫的數(shù)據(jù),8位寬,值為0-255。劃分為256個通道。</p><p> 圖4-2-1 將system verilog編寫代碼程序放入.v文件</p><p> 圖4-2-1是根據(jù)測試需求文檔要求,運用system verilog所編寫的測試程序,使程序滿足每個覆蓋點的需求,能在工作站中正常運行,并將該程序復制放入example.v文件中。</p><p
90、> 圖4-2-2 編譯步驟</p><p> 圖4-2-3 編譯步驟</p><p> 圖4-2-4 編譯步驟</p><p> 圖4-2-5 編譯步驟</p><p> 用system verilog編寫覆蓋代碼后,編譯*.v文件生成功能覆蓋報告的過程分四步【15】。</p><p> 第一步,如圖
91、4-2-2顯示為所輸入的編譯指令過程,作用是編譯*.v文件,生成simv可執(zhí)行文件;</p><p> 第二步,如圖4-2-3顯示為輸入的編譯指令過程,及該程序在VCS軟件中可正常運行,作用是運行simv可執(zhí)行文件,生成simv.vdb文件夾;</p><p> 第三步,如圖4-2-4顯示為所輸入的編譯指令過程,作用是在simv.vdb文件夾生成text報告數(shù)據(jù)文件;</p>
92、;<p> 第四步,如圖4-2-5顯示為打開text文件中grpinfo.txt文件查看覆蓋率報告。</p><p> 圖4-2-6 覆蓋率報告</p><p> 圖4-2-6所顯示的為在ce信號的上升沿對覆蓋點進行采樣結(jié)果,即覆蓋點的詳細覆蓋率。可以看出整體覆蓋率為41.86%,覆蓋點we有2個測試通道,覆蓋到2個通道,覆蓋率為100%;覆蓋點addr有3個測試通道,
93、2個測試通道沒有覆蓋,覆蓋到1個測試通道,覆蓋率為33.33%;覆蓋點datai有256個通道,其中有254個通道沒有被覆蓋,只覆蓋到2個通道,所以覆蓋率僅有0.78%。還可以看到三個覆蓋點匯總統(tǒng)計為Variables,總結(jié)有261個通道,其中256個通道沒有覆蓋,覆蓋了5個通道,平均覆蓋率為44.70%。交叉覆蓋點addr1有6個通道,覆蓋到2個通道,4個通道沒有被覆蓋,覆蓋率為33.33%。因為交叉覆蓋點只有一個,所以匯總統(tǒng)計結(jié)果C
94、rosses同覆蓋點addr1的覆蓋率相同【16】。</p><p><b> 第5章 測試總結(jié) </b></p><p> 通過對測試功能部件指令研究與分析,結(jié)合所有的功能部件指令特點,選擇合適的方法與工具,完成處理器運算部件測試。該測試過程在system verilog平臺環(huán)境下,應用gcc編譯工具和GDB調(diào)試工具測試C-modle,以及應用Vcs仿真軟件測試
95、RTL代碼,完成C-modle和RTL代碼中除了浮點除、浮點乘加以外的所有運算功能測試任務。</p><p> 本文進行的主要工作有:</p><p> 1)C-modle功能部件的基本功能測試</p><p> 首先,從.c文件中取出要測試指令模塊,在代碼中編寫測試激勵和輸出語句,然后然后用gcc編譯工具將此編譯成可執(zhí)行文件,輸入測試激勵,運行該文件,得到測
96、試指令模塊的測試結(jié)果,將該結(jié)果與手算的結(jié)果進行對比,如果不相符則報錯。</p><p> 2)C-modle在微處理器中的聯(lián)調(diào)</p><p> 首先,讀取測試需求數(shù)據(jù)文檔,用嵌入式匯編編寫測試C語言代碼。其次,將寫好的嵌入式匯編代碼反匯編成MIPS指令隊列,將MIPS指令的隊列的編碼寫入虛擬內(nèi)存中,指令加入C-modle的虛擬內(nèi)存,運行這個modle。在用GDB單步調(diào)試C-modle
97、,并觀察結(jié)果,并與預期結(jié)果對比,如果有錯誤,對錯誤進行定位查找,并將錯誤反饋。</p><p> 3)基于仿真軟件RTL代碼的測試</p><p> 首先編寫test_bench,即編寫測試RTL的激勵文件。將測試所需的激勵數(shù)據(jù)寫入test_bench,然后單獨運行功能部件的模塊。應用VCS仿真軟件,輸入指定數(shù)據(jù),在圖形化界面下查看結(jié)果,并與用IEEE-754標準手算輸出結(jié)果進行比對,
98、結(jié)果一致這測試模塊正確可通過,不一致則說明該模塊存在問題。</p><p> 4)用功能覆蓋率的測試方法測試RTL代碼</p><p> 首先,讀取測試需求數(shù)據(jù)文檔,用嵌入式匯編編寫測試C語言代碼。其次,將寫好的嵌入式匯編代碼反匯編成MIPS指令隊列,將MIPS指令的隊列的編碼寫入虛擬內(nèi)存中。然后,用system verilog編寫覆蓋率代碼,并插入RTL代碼,將這些代碼加入RTL中
99、之后,就相當于加入很多觀察點。最后,將.v文件生成功能覆蓋報告,讀取覆蓋報告中覆蓋信息,看是否功能覆蓋100%。</p><p><b> 致謝</b></p><p> 本論文是在余老師的精心指導下完成的。余老師認真指導,多方面支持,給出了許多很好的意見。在畢業(yè)設計過程中,是您的細心指導和關懷,使我能夠順利的完成畢業(yè)設計。在我的學業(yè)和畢設的工作中無不傾注著老師們
100、辛勤的汗水和心血。您的嚴謹治學態(tài)度、淵博的知識、無私的奉獻精神使我深受啟迪。從尊敬的余老師身上,我不僅學到了扎實、寬廣的專業(yè)知識,也學到了做人的道理。您的嚴格,讓我學會了做人;您的關懷,使我不斷成長。在此我要向她致以最衷心的感謝和深深的敬意。</p><p> 感謝賈文華學長在我論文過程為我答疑解惑,他一絲不茍的工作作風,豐富的實踐經(jīng)驗都給我留下了深深的印象,對我今后的工作和學習產(chǎn)生了深厚的影響。</p&
101、gt;<p> 在畢業(yè)設計過程中,同學之間互相幫助,有什么不懂的大家在一起商量,聽聽不同的看法對我們更好的理解知識,所以在這里非常感謝幫助我的同學。與此同時,還得到509和707教研室的學長們大力支持與幫助。在此一并表示感謝!</p><p><b> 參考文獻 </b></p><p> SoC Level Verification using
102、 System Verilog[J].Purvi D. Mulani. Lecturer, EC Dept, Charotar Institute of Technology, Changa.2008</p><p> 雷紹充,邵志標,梁峰. VLSI測試方法學和可測試性設計[M].北京:電子工業(yè)出版社,2005年1月</p><p> 羅渂. 高性能浮點處理單元的研究與設計[D] ,
103、西北工業(yè)大學博士論文,2004</p><p> David Money Harris Sarah L.Harris. 數(shù)字設計和計算機體系結(jié)構(gòu)[M].北京:機械工業(yè)出版社,2009年5月</p><p> 李鵬,鮑崢,石洋. MIPS體系結(jié)構(gòu)透視[M].北京:機械工業(yè)出版社,2008年5月</p><p> Prof. W. Kahan. IEEE Stan
104、dard 754 for Binary Floating-Point[P] Arithmetic. Elect. Eng. & Computer Science.University of California Berkeley CA 94720-1776</p><p> 何立強. IEEE754標準浮點測試向量的生成[J].中國科學院計算技術研究所,2004年10月</p>&l
105、t;p> 徐盛. 覆蓋率導向的驗證方法的研究與實現(xiàn)[D].同濟大學碩士論文</p><p> 張蓓莉. 微處理器基于功能覆蓋率的偽隨機驗證方法[J]. 國家高性能集成電路(上海)設計中心</p><p> 譚浩強. C語言設計[M].北京:清華大學出版社,2005年11月</p><p> 黃永勤,朱英,巨鵬錦,吳志勇,陳誠. 申威-1號高性能微處理器
106、的功能驗證[Z],國家高性能集成電路(上海)設計中心</p><p> 王俊,文延華,漆鋒濱. 計算機浮點功能測試方法[Z]. 江南計算技術研究所,2006年6月</p><p> 張健. GDB簡明教程[M]. 加拿大達內(nèi)科技有限公,2004</p><p> 范長永. 32位RISC微處理器模塊設計[C],2003</p><p>
107、 閆沫,張媛. 基于SystemVerilog語言的設計驗證技術[J].現(xiàn)代電子技術,2007年第6期</p><p> 維加亞拉哈文. System Verilog Assertions應用指南[M].北京:清華大學出版社,2006</p><p> 李揚. 高性能面積敏感浮點乘加部件設計及可信性測試體系[D]. 微電子與固體電子學,2010</p><p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于OVM的功能覆蓋率驅(qū)動模塊實現(xiàn).pdf
- 代碼覆蓋率
- 撥備覆蓋率
- 基于覆蓋率驗證方法的IP核測試平臺設計.pdf
- modelsim代碼覆蓋率測試說明文檔
- 基于微處理器的繼電保護畢業(yè)論文外文翻譯
- 北橋芯片功能驗證中的覆蓋率分析.pdf
- 畢業(yè)論文--基于8086微處理器的溫度測控系統(tǒng)設計
- 基于功能覆蓋率收劍技術的驗證方法研究與應用.pdf
- mr重疊覆蓋率優(yōu)化報告
- 單片機功能測試向量生成技術的研究與故障覆蓋率分析.pdf
- RTL級基于覆蓋率驅(qū)動EMI的驗證.pdf
- 基于IIP模塊的覆蓋率驅(qū)動驗證技術.pdf
- 基于軟件自測試方法的DSP處理器功能測試.pdf
- 高性能微處理器基本功能部件的設計與測試.pdf
- 提高森林覆蓋率的分析與思考
- 基于2440處理器嵌入式環(huán)境搭建畢業(yè)論文
- 基于覆蓋率的無線傳感器網(wǎng)絡LEACH協(xié)議研究及改進.pdf
- 基于2440處理器嵌入式環(huán)境搭建畢業(yè)論文
- 《村莊綠化覆蓋率技術規(guī)程(征求》
評論
0/150
提交評論