《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 業(yè)界動(dòng)態(tài) > 一種基于總線的可重用驗(yàn)證平臺(tái)研究

一種基于總線的可重用驗(yàn)證平臺(tái)研究

2008-05-29
作者:詹文法1, 李 麗2, 程作

  摘 要: 提出了一種基于總線的可重用驗(yàn)證平臺(tái)" title="驗(yàn)證平臺(tái)">驗(yàn)證平臺(tái)結(jié)構(gòu),。該結(jié)構(gòu)在傳統(tǒng)的模塊化和抽象技術(shù)的基礎(chǔ)上,,采用了層次化的片上總線結(jié)構(gòu),,同時(shí)引入了參數(shù)化" title="參數(shù)化">參數(shù)化的設(shè)計(jì)方法,,使可重用性" title="可重用性">可重用性進(jìn)一步提高。實(shí)驗(yàn)結(jié)果表明,,使用此方法構(gòu)建的驗(yàn)證平臺(tái),,可重用率至少可達(dá)60%,,驗(yàn)證效率提高約35%。
  關(guān)鍵詞: 驗(yàn)證平臺(tái) 可重用性 待驗(yàn)證模塊 功能驗(yàn)證


  隨著集成電路設(shè)計(jì)規(guī)模和設(shè)計(jì)復(fù)雜度的不斷增加,,傳統(tǒng)的功能驗(yàn)證(Functional Verification)方法由于存在測(cè)試集(Test Suite)過(guò)于龐大,、執(zhí)行時(shí)間過(guò)長(zhǎng)等缺點(diǎn),已經(jīng)無(wú)法提供足夠的性能來(lái)檢查系統(tǒng)所有功能的正確性,。同時(shí),,基于IP重用的系統(tǒng)芯片SoC(System on a Chip)設(shè)計(jì)方法學(xué)的出現(xiàn),也對(duì)傳統(tǒng)驗(yàn)證方法提出了新的挑戰(zhàn),。在缺乏足夠相關(guān)專(zhuān)業(yè)知識(shí)的情況下如何有效驗(yàn)證第三方提供的IP,;如何對(duì)單個(gè)IP以及系統(tǒng)集成后的SoC進(jìn)行驗(yàn)證并提高驗(yàn)證效率等,都是SoC驗(yàn)證工程師所面臨的難題[1~2],。
  傳統(tǒng)的方法是設(shè)計(jì)者提供待驗(yàn)證元件DUV(Design Under Verification)的驗(yàn)證平臺(tái),,輸入測(cè)試向量,驗(yàn)證測(cè)試結(jié)果是否正確,。這種方法的缺陷在于,,對(duì)于不同的DUV需要開(kāi)發(fā)不同的驗(yàn)證平臺(tái)。SoC設(shè)計(jì)是一種面向集成的設(shè)計(jì),,包含模塊(即IP)設(shè)計(jì)和系統(tǒng)集成兩個(gè)部分,。因此,傳統(tǒng)的SoC驗(yàn)證需要開(kāi)發(fā)兩個(gè)驗(yàn)證平臺(tái):IP單獨(dú)驗(yàn)證平臺(tái)和SoC系統(tǒng)集成驗(yàn)證平臺(tái),。驗(yàn)證平臺(tái)的開(kāi)發(fā)本身需要時(shí)間,,不利于產(chǎn)品的快速面市,而且也很難保證設(shè)計(jì)的驗(yàn)證平臺(tái)本身100%的正確,。如何提高這兩個(gè)驗(yàn)證平臺(tái)的開(kāi)發(fā)效率也就成了驗(yàn)證的難點(diǎn),。
  關(guān)于驗(yàn)證平臺(tái)的研究,目前主要集中在三個(gè)方面:提高驗(yàn)證元件的抽象層次[2][3][5],;提高驗(yàn)證元件的可重用性[3~6]和提高驗(yàn)證過(guò)程的自動(dòng)化實(shí)現(xiàn)[5~7],。提高驗(yàn)證元件的抽象層次,,可以更早地發(fā)現(xiàn)設(shè)計(jì)錯(cuò)誤,,減少系統(tǒng)的開(kāi)發(fā)時(shí)間;提高驗(yàn)證元件的可重用性,,可以減少驗(yàn)證平臺(tái)的開(kāi)發(fā)時(shí)間,;提高驗(yàn)證過(guò)程的自動(dòng)化實(shí)現(xiàn),可以加大驗(yàn)證過(guò)程的運(yùn)行效率,。以上三種方法都可以有不同程度的提高驗(yàn)證效率,,然而其開(kāi)發(fā)過(guò)程都是針對(duì)特定的DUV的。同一種DUV或其衍生系統(tǒng),,可以用上述方法開(kāi)發(fā),。但對(duì)于不同的DUV,,就需要重新設(shè)計(jì)驗(yàn)證平臺(tái)。例如對(duì)ROM和CPU的驗(yàn)證,,就需要設(shè)計(jì)兩種不同的驗(yàn)證平臺(tái),,對(duì)不同的系統(tǒng)芯片更是如此。
  本文正是在傳統(tǒng)方法的基礎(chǔ)上,,提出了一種基于總線的可重用驗(yàn)證平臺(tái)結(jié)構(gòu),,在傳統(tǒng)的抽象和模塊化方法的基礎(chǔ)上,采用層次化的片上總線結(jié)構(gòu),,使驗(yàn)證元件的開(kāi)發(fā)基于特定的總線,,只要總線不同,驗(yàn)證元件就不需要修改,。同時(shí),,為了進(jìn)一步提高可重用性,采用了參數(shù)化的思想,。使用該方法構(gòu)建的驗(yàn)證平臺(tái),,可以同時(shí)適用于IP單獨(dú)驗(yàn)證和SoC系統(tǒng)集成驗(yàn)證,即不僅可以在不同的IP之間實(shí)現(xiàn)可重用,,而且在IP到SoC的集成也可以實(shí)現(xiàn)可重用,。該驗(yàn)證平臺(tái)極大地提高了驗(yàn)證平臺(tái)的開(kāi)發(fā)效率。對(duì)于IP單獨(dú)驗(yàn)證,,如果IP基于同一總線,,驗(yàn)證平臺(tái)開(kāi)發(fā)時(shí)元件的重用率可以達(dá)到100%,如果IP不是基于同一總線,,僅僅需要修改部分驗(yàn)證元件,。該驗(yàn)證平臺(tái)同時(shí)還具有可擴(kuò)展性、自動(dòng)化,、可升級(jí)性和可維護(hù)性等特點(diǎn),。
1 基于總線的可重用驗(yàn)證平臺(tái)結(jié)構(gòu)
  隨著IP標(biāo)準(zhǔn)化工作的進(jìn)行,SoC的結(jié)構(gòu)趨于統(tǒng)一,,采用層次化的片上總線結(jié)構(gòu),,SoC包括處理器總線、系統(tǒng)總線和外設(shè)" title="外設(shè)">外設(shè)總線,,所有的IP組成SoC時(shí),,都是掛接在這三條總線上[8]的。其結(jié)構(gòu)如圖1所示,。由圖可見(jiàn),,存儲(chǔ)器管理單元(CPU、MMU),、高速緩存,、主存儲(chǔ)器,、仲裁器和IP分別接在處理器總線、系統(tǒng)總線和外設(shè)總線上,,集成為SoC,。
  基于特定的總線不同的IP可以實(shí)現(xiàn)重用,IP可以集成為SoC,,是因?yàn)椴捎昧藢哟位钠峡偩€結(jié)構(gòu),,可以根據(jù)IP的種類(lèi)將其分別掛接在處理器總線、系統(tǒng)總線和外設(shè)總線上,?;谶@種思想,驗(yàn)證平臺(tái)也可以采用層次化的片上總線結(jié)構(gòu),,如圖2所示,。將驗(yàn)證平臺(tái)分解成監(jiān)視器、總線報(bào)告器(Bus Reporter),、驅(qū)動(dòng),、系統(tǒng)服務(wù)等,并分別掛接在處理器總線,、系統(tǒng)總線和外設(shè)總線上,。本文介紹的驗(yàn)證平臺(tái)是建立在VSIA IPBUS 2.0規(guī)范[8]的基礎(chǔ)上的。只要參與驗(yàn)證的模塊符合VSIA 的IP設(shè)計(jì)規(guī)范,,就可以直接使用該驗(yàn)證平臺(tái)來(lái)驗(yàn)證,。對(duì)于不符合VSIA規(guī)范的IP,在驗(yàn)證前需要增加一層接口來(lái)封裝這個(gè)IP,,這層接口實(shí)現(xiàn)IP與VSIA協(xié)議的轉(zhuǎn)換,。該驗(yàn)證平臺(tái)在SOLARIS 8操作系統(tǒng)下開(kāi)發(fā),用BOURN shell腳本,、RERL腳本和Verilog編寫(xiě),,仿真器采用Cadence公司的Verilog-XL。

?


  驗(yàn)證模塊可以根據(jù)需要加入驗(yàn)證平臺(tái),。每次的驗(yàn)證過(guò)程就是相應(yīng)的激勵(lì)作用于驗(yàn)證平臺(tái)的過(guò)程,。驗(yàn)證結(jié)果由驗(yàn)證平臺(tái)產(chǎn)生、檢驗(yàn)和輸出,。其中,,監(jiān)視器,、總線報(bào)告器,、驅(qū)動(dòng)、系統(tǒng)服務(wù)和激勵(lì)文件的開(kāi)發(fā)采用抽象和模塊化原則,,具體可見(jiàn)參考文獻(xiàn)[2],、[4]中介紹的方法,。
  監(jiān)視器用于檢查總線上的數(shù)據(jù)傳輸,報(bào)告接口上關(guān)鍵信號(hào)的變化,。驗(yàn)證平臺(tái)提供的標(biāo)準(zhǔn)監(jiān)視器模板有:處理器總線監(jiān)視器模板,、系統(tǒng)總線監(jiān)視器模板和外設(shè)總線監(jiān)視器模板??偩€報(bào)告器用于報(bào)告總線上協(xié)議的錯(cuò)誤和特定信號(hào),;同時(shí)也提供了相應(yīng)的標(biāo)準(zhǔn)模板。監(jiān)視器和總線報(bào)告器可以根據(jù)需要打開(kāi)或關(guān)閉,,可以通過(guò)控制參數(shù)值來(lái)實(shí)現(xiàn),。為了方便,驗(yàn)證平臺(tái)在設(shè)計(jì)時(shí)將該參數(shù)放到了驗(yàn)證時(shí)的系統(tǒng)配置文件中,。
  激勵(lì)系列是由Verilog和C語(yǔ)言編寫(xiě)的測(cè)試向量,。嚴(yán)格來(lái)說(shuō),激勵(lì)并不是驗(yàn)證平臺(tái)的一部分,,因?yàn)榧?lì)與要驗(yàn)證的元件密切相關(guān),,隨驗(yàn)證元件的不同而不同,但激勵(lì)是調(diào)用驅(qū)動(dòng)來(lái)實(shí)現(xiàn)的,。驅(qū)動(dòng)就如同軟件設(shè)計(jì)中調(diào)用系統(tǒng)API的應(yīng)用程序,,所以激勵(lì)是進(jìn)行驗(yàn)證不可缺少的部分。
  為了方便操作,,驗(yàn)證平臺(tái)在設(shè)計(jì)時(shí),,將一些經(jīng)常需要配置的部分設(shè)為參數(shù),然后將這些參數(shù)放在配置文件中來(lái)設(shè)置,。通過(guò)配置文件可以配置驅(qū)動(dòng),、監(jiān)視器和驗(yàn)證選項(xiàng)。配置文件和激勵(lì)文件都由驗(yàn)證平臺(tái)的使用者編輯,。
  驗(yàn)證平臺(tái)的另一個(gè)特點(diǎn)是靈活性,。利用Cadence公司的Verilog-XL仿真器,各待驗(yàn)證元件的模型可以是多種形式的描述,。該驗(yàn)證平臺(tái)可以進(jìn)行C/C++,、Verilog和VHDL協(xié)同驗(yàn)證,支持的模型包括C/C++的PLI,、VPI或OMI模型,、Verilog/VHDL行為級(jí)模型、Verilog/VHDL RTL級(jí)模型或Verilog/VHDL門(mén)級(jí)模型以及管腳模型,。該驗(yàn)證平臺(tái)還可以根據(jù)配置文件來(lái)調(diào)取同一IP的不同版本,,實(shí)現(xiàn)版本控制。對(duì)于不同的描述,激勵(lì)大都需要重寫(xiě),。使用該驗(yàn)證平臺(tái),,使得同一激勵(lì)文件可以應(yīng)用設(shè)計(jì)的各個(gè)階段,避免了重復(fù)編輯激勵(lì)文件,,從而在驗(yàn)證環(huán)節(jié)上節(jié)省了大量時(shí)間,。
  上述基于總線的可重用驗(yàn)證平臺(tái)可以同時(shí)作為IP單獨(dú)驗(yàn)證平臺(tái)和SoC系統(tǒng)驗(yàn)證平臺(tái)使用。驗(yàn)證單個(gè)IP時(shí),,為了提高驗(yàn)證速度,,只需將該IP所對(duì)應(yīng)的總線上的監(jiān)視器和總線報(bào)告器保留,而將其他總線上的監(jiān)視器和總線報(bào)告器關(guān)閉,,以免消耗系統(tǒng)資源,,影響驗(yàn)證速度。例如,,驗(yàn)證主存儲(chǔ)器時(shí),,只需要保留系統(tǒng)總線上的監(jiān)視器和總線報(bào)告器,將處理器總線和外設(shè)總線上的監(jiān)視器和總線報(bào)告器都關(guān)閉,。驗(yàn)證SoC時(shí),,其系統(tǒng)驗(yàn)證平臺(tái)的連接見(jiàn)圖2。
  監(jiān)視器和總線報(bào)告器不驅(qū)動(dòng)信號(hào),,僅完成對(duì)信號(hào)的監(jiān)視,,包括檢查協(xié)議的連續(xù)性、時(shí)序和期望的響應(yīng)等,。從圖2中可以看出,,監(jiān)視器和總線報(bào)告器的設(shè)計(jì)是基于特定總線的,在構(gòu)成另一個(gè)SoC驗(yàn)證平臺(tái)時(shí),,只要特定的總線不變(如其處理器總線),,若兩個(gè)SoC都使用M*Core CPU時(shí),處理器總線上對(duì)應(yīng)的監(jiān)視器和總線報(bào)告器就可以直接使用,,因此有很高的可重用性,。考慮到監(jiān)視器可能會(huì)監(jiān)視內(nèi)部信號(hào),,因此在邏輯綜合時(shí),,需要將這些要監(jiān)視的內(nèi)部信號(hào)保留。驅(qū)動(dòng)和系統(tǒng)服務(wù)都是基于外設(shè)總線的,,為了進(jìn)一步提高可重用性,,將驅(qū)動(dòng)和系統(tǒng)服務(wù)分解成一個(gè)個(gè)子任務(wù)來(lái)實(shí)現(xiàn),任務(wù)之間互相獨(dú)立,,當(dāng)修改一個(gè)任務(wù)時(shí)不會(huì)影響其他任務(wù),,所有的任務(wù)合在一起就構(gòu)成了任務(wù)庫(kù),。驅(qū)動(dòng)所對(duì)應(yīng)的任務(wù)庫(kù)是基于外設(shè)總線的。系統(tǒng)服務(wù)所對(duì)應(yīng)的任務(wù)包括驗(yàn)證平臺(tái)的配置,、驗(yàn)證的自動(dòng)化實(shí)現(xiàn)及驗(yàn)證工具的調(diào)用等,。此時(shí)激勵(lì)文件的編寫(xiě)就變成了調(diào)用任務(wù)庫(kù)中的任務(wù),,使激勵(lì)文件的編寫(xiě)更簡(jiǎn)單易行,。
2 驗(yàn)證平臺(tái)的數(shù)據(jù)結(jié)構(gòu)
  驗(yàn)證平臺(tái)所涉及的文件和工具非常多,采取合理高效的目錄管理有利于項(xiàng)目管理和設(shè)計(jì)數(shù)據(jù)的更新,,方便腳本的調(diào)用和配置,,從而實(shí)現(xiàn)驗(yàn)證過(guò)程的自動(dòng)化。為此將驗(yàn)證平臺(tái)分為:工具目錄,、整體目錄(也稱(chēng)系列目錄,,F(xiàn)amily Directory)、模塊目錄和工作目錄四個(gè)子目錄,。
2.1 工具目錄
  該目錄下存儲(chǔ)驗(yàn)證平臺(tái)運(yùn)行時(shí)所需要使用的驗(yàn)證工具以及與整體目錄的鏈接,。該目錄下主要有兩個(gè)腳本文件:family_mapping和sim_env。family_mapping文件指定芯片系統(tǒng)數(shù)據(jù)映射路徑,,sim_env文件提供驗(yàn)證平臺(tái)的入口,,文件包含對(duì)Verilog-XL仿真器工具、代碼覆蓋率工具等調(diào)用接口,,并通過(guò)shell語(yǔ)言的文本過(guò)濾命令sed和awk,,提取目錄和文件,以便構(gòu)建完整的驗(yàn)證平臺(tái),。其工作原理是:從模塊目錄中提取驗(yàn)證所需的模塊文件(.v)和從模板產(chǎn)生測(cè)試文件(test.v),,并將這些文件名和驗(yàn)證時(shí)所需要的工具和相應(yīng)參數(shù)全部輸出到一個(gè)文件中,即驗(yàn)證所需要的所有元件全部在該文件中,,用腳本調(diào)用該文件就可以完成驗(yàn)證過(guò)程,。驗(yàn)證平臺(tái)的可重用性主要體現(xiàn)在本目錄。在該目錄中,,使用了參數(shù)化的思想來(lái)達(dá)到重用的目的,。使用者可以通過(guò)配置參數(shù)來(lái)建立所需要的驗(yàn)證平臺(tái)。這是該驗(yàn)證平臺(tái)的特點(diǎn)之一,,也是其與傳統(tǒng)驗(yàn)證平臺(tái)的不同之處,。
2.2 整體目錄
  建立當(dāng)前驗(yàn)證平臺(tái)所需的信息存儲(chǔ)在整體目錄中,包括可重用的代碼信息(如監(jiān)視器和總線報(bào)告器等),、系統(tǒng)服務(wù),、輔助文件、內(nèi)部鏈接等,。驗(yàn)證平臺(tái)的可升級(jí)性主要體現(xiàn)在這個(gè)目錄中,,當(dāng)SoC升級(jí)或做部分修改時(shí),,其相應(yīng)的驗(yàn)證平臺(tái)就需要調(diào)整,如在SoC升級(jí)為后續(xù)衍生產(chǎn)品的驗(yàn)證中,,系統(tǒng)服務(wù)就需要修改,,而此時(shí)系統(tǒng)服務(wù)可以與原來(lái)有不同的實(shí)現(xiàn),但必須有相同或相似的接口和參數(shù),。這樣,,激勵(lì)文件和腳本文件就可以不用修改,從而實(shí)現(xiàn)修改程度最小化,。
2.3 模塊目錄
  該目錄包括當(dāng)前需要驗(yàn)證的設(shè)計(jì)的源代碼" title="源代碼">源代碼及相關(guān)信息,。對(duì)于集成電路來(lái)說(shuō),按照設(shè)計(jì)流程可以劃分為系統(tǒng)級(jí)設(shè)計(jì),、RTL級(jí)設(shè)計(jì),、門(mén)級(jí)設(shè)計(jì)、布局布線設(shè)計(jì),,因此模塊目錄可以相應(yīng)地劃分為以下子目錄:系統(tǒng)級(jí)源代碼,、RTL級(jí)源代碼、門(mén)級(jí)源代碼和布局布線級(jí)源代碼等,,每一個(gè)子目錄中存儲(chǔ)相應(yīng)設(shè)計(jì)階段的代碼,,如RTL級(jí)源代碼存儲(chǔ)在RTL級(jí)源代碼目錄下。需要做某個(gè)階段的驗(yàn)證時(shí),,只需要將驗(yàn)證參數(shù)設(shè)置成該階段,,就可以調(diào)用該階段的代碼。
2.4 工作目錄
  該目錄是驗(yàn)證工程師的操作目錄,,是驗(yàn)證平臺(tái)和驗(yàn)證工程師的接口,。在驗(yàn)證過(guò)程中,驗(yàn)證工程師編寫(xiě)的激勵(lì)文件,、運(yùn)行仿真以及最后的錯(cuò)誤分析等都在該目錄下進(jìn)行,。對(duì)驗(yàn)證工程師來(lái)說(shuō),該目錄是惟一可寫(xiě)的目錄,。工作目錄又可以進(jìn)一步分為驗(yàn)證配置文件,、文本信息及波形文件、驗(yàn)證代碼和驗(yàn)證腳本等四個(gè)子目錄,。驗(yàn)證配置文件目錄存儲(chǔ)配置文件,,驗(yàn)證工程師配置驗(yàn)證平臺(tái)只需在該文件中配置相應(yīng)參數(shù)即可。驗(yàn)證代碼的編寫(xiě)存儲(chǔ)在驗(yàn)證代碼目錄中,,對(duì)應(yīng)于不同階段的設(shè)計(jì),,驗(yàn)證也可以分為相應(yīng)階段的驗(yàn)證:系統(tǒng)級(jí)驗(yàn)證、RTL級(jí)驗(yàn)證,、門(mén)級(jí)驗(yàn)證和布局布線后驗(yàn)證,。類(lèi)似地,,不同階段的驗(yàn)證也可以通過(guò)設(shè)置參數(shù)來(lái)實(shí)現(xiàn)。文本信息及波形文件目錄存儲(chǔ)驗(yàn)證時(shí)產(chǎn)生的文本文件和波形文件,,用于分析驗(yàn)證情況和追查錯(cuò)誤信息等,。驗(yàn)證腳本目錄用于存儲(chǔ)驗(yàn)證平臺(tái)的腳本,該腳本用于自動(dòng)化地完成驗(yàn)證過(guò)程,。
  從平面結(jié)構(gòu)上看,,驗(yàn)證平臺(tái)的目錄是由如上所述四種類(lèi)型的目錄組成的。而從立體結(jié)構(gòu)上看,,它們之間又是有層次的,,這種層次結(jié)構(gòu)能比較直觀地反映設(shè)計(jì)版本信息和驗(yàn)證階段信息,,從而有利于項(xiàng)目管理者推進(jìn)驗(yàn)證進(jìn)度,。驗(yàn)證平臺(tái)建立好后,模塊目錄和驗(yàn)證目錄都通過(guò)鏈接集成在系統(tǒng)中,。整個(gè)驗(yàn)證平臺(tái)的系統(tǒng)結(jié)構(gòu)如圖3所示,,其中,庫(kù)文件目錄中存放基本可重用模塊,,頂層目錄是一個(gè)項(xiàng)目的根目錄,,基本配置文件中存儲(chǔ)可參數(shù)化測(cè)試平臺(tái)的配置信息。雖然在文件的存儲(chǔ)結(jié)構(gòu)上,,模塊目錄和工作目錄等都在同一層次上,,但各目錄以圖3的方式鏈接,形成樹(shù)狀結(jié)構(gòu),。


3 可重用性的實(shí)現(xiàn)與可重用性分析
3.1 可重用性的實(shí)現(xiàn)

  可重用性的實(shí)現(xiàn)主要體現(xiàn)在以下幾個(gè)方面:采用驗(yàn)證平臺(tái)配置文件,、采用參數(shù)化的設(shè)計(jì)思想和基于總線的驗(yàn)證平臺(tái)結(jié)構(gòu)。分述如下:
  (1)所謂驗(yàn)證平臺(tái)配置文件,,是指用來(lái)對(duì)驗(yàn)證平臺(tái)進(jìn)行配置的文件,。在驗(yàn)證平臺(tái)中需要使用哪些模塊(包括源碼和驗(yàn)證文件等)和驗(yàn)證工具等,可以直接由驗(yàn)證平臺(tái)配置文件來(lái)指定,。這樣做的好處是驗(yàn)證工程師在構(gòu)建另一個(gè)新的驗(yàn)證環(huán)境時(shí),,只需要修改驗(yàn)證平臺(tái)的配置文件,而不需修改其他部分,,提高了驗(yàn)證平臺(tái)的建立時(shí)間,,縮短了驗(yàn)證周期。
  類(lèi)似于DOS操作系統(tǒng)中的配置文件,,當(dāng)驗(yàn)證工程師不對(duì)配置文件進(jìn)行配置時(shí),,自動(dòng)使用默認(rèn)配置,使修改的程度最小化,。因?yàn)轵?yàn)證平臺(tái)之間許多配置是一樣的,,只要將這些相同的部分作為默認(rèn)值,,需要修改的部分就很少了。配置文件中的配置信息至少包含所使用的驗(yàn)證工具,、驗(yàn)證工具的配置,、需要驗(yàn)證的設(shè)計(jì)源碼、用來(lái)驗(yàn)證的測(cè)試代碼,、驗(yàn)證結(jié)果的輸出配置,、驗(yàn)證時(shí)的出錯(cuò)處理和環(huán)境變量的配置等。由于需要配置的參數(shù)比較多,,可以將上述配置文件分為幾個(gè),,需要經(jīng)常改動(dòng)的放在一個(gè)文件,不需要經(jīng)常改動(dòng)的放在另一個(gè)文件,。例如,,可以將配置文件分成configuration和directory兩個(gè)文件。configuration文件用于說(shuō)明當(dāng)前驗(yàn)證平臺(tái)的構(gòu)成情況,;directory文件主要用于說(shuō)明構(gòu)成平臺(tái)的模塊信息,。
  同時(shí),為了實(shí)現(xiàn)驗(yàn)證過(guò)程的快速配置,,可以對(duì)上述兩個(gè)配置文件提供一個(gè)模板,。一方面,當(dāng)驗(yàn)證一個(gè)設(shè)計(jì)時(shí),,只需要修改該模板中的部分變量,,就可以進(jìn)一步加速驗(yàn)證平臺(tái)的建立;另一方面就使用模板為腳本提供了一個(gè)標(biāo)準(zhǔn)的接口,,使驗(yàn)證過(guò)程的自動(dòng)化實(shí)現(xiàn)成為可能,。
  (2)該驗(yàn)證平臺(tái)的另一個(gè)特點(diǎn)是使用了參數(shù)化的設(shè)計(jì)思想,具體實(shí)現(xiàn)包括驗(yàn)證平臺(tái)建立的參數(shù)化和驗(yàn)證過(guò)程的參數(shù)化,。驗(yàn)證平臺(tái)建立的參數(shù)化為建立驗(yàn)證平臺(tái)提供了方便,,如驗(yàn)證工程師可以通過(guò)配置參數(shù)很容易實(shí)現(xiàn)驗(yàn)證平臺(tái)中各元件的增加和刪除,也可以通過(guò)配置參數(shù)實(shí)現(xiàn)不同驗(yàn)證工具之間的切換等,。驗(yàn)證過(guò)程的參數(shù)化是指驗(yàn)證工程師可以通過(guò)配置參數(shù)很容易地控制驗(yàn)證流程,,進(jìn)行各階段的驗(yàn)證,從而提高驗(yàn)證速度,。如通過(guò)配置參數(shù)實(shí)現(xiàn)RTL級(jí)源代碼和RTL級(jí)驗(yàn)證代碼的調(diào)用,。對(duì)于驗(yàn)證平臺(tái)中的環(huán)境變量、接口參數(shù)等需要經(jīng)常使用而且又經(jīng)常需要修改的變量,,采用參數(shù)化的設(shè)計(jì)思想,,其具體取值由驗(yàn)證工程師在配置文件中指定。
  (3)基于總線的驗(yàn)證平臺(tái)結(jié)構(gòu)能夠進(jìn)一步提高該驗(yàn)證平臺(tái)的可重用性,。首先,,在不同的IP單獨(dú)驗(yàn)證時(shí)有很好的可重用性,。如果兩個(gè)不同的IP是基于同一總線的,第二個(gè)IP可以直接放在該驗(yàn)證平臺(tái)中驗(yàn)證,,而不需要修改驅(qū)動(dòng),、系統(tǒng)服務(wù)、激勵(lì)文件和腳本等,。其次,,這種基于總線的驗(yàn)證平臺(tái)在驗(yàn)證SoC衍生產(chǎn)品時(shí)有很好的可重用性。因?yàn)檫@種系列產(chǎn)品所對(duì)應(yīng)的總線是不變的,,因此,,監(jiān)視器和總線報(bào)告器可以直接重用,如果設(shè)計(jì)得當(dāng),,即使衍生產(chǎn)品的系統(tǒng)服務(wù)和驅(qū)動(dòng)實(shí)現(xiàn)過(guò)程不一樣,,有同樣或相似的接口和參數(shù),激勵(lì)和腳本也可以重用,。
3.2 驗(yàn)證平臺(tái)的可重用性分析
  (1)在不同IP模塊單獨(dú)驗(yàn)證平臺(tái)間可以有很高的可重用性,。兩個(gè)不同的IP塊驗(yàn)證時(shí),,如果它們是基于同一總線的,,驗(yàn)證第二塊IP時(shí),可以放在第一塊IP的驗(yàn)證平臺(tái)中直接驗(yàn)證,。此時(shí),,是完全可重用的,而且可重用率達(dá)到100%,;如果兩塊IP是基于不同的總線的,,驗(yàn)證第二塊IP時(shí),只需修改總線功能模型,,而對(duì)其中的激勵(lì),、系統(tǒng)服務(wù)、驅(qū)動(dòng)和監(jiān)視器都不需做任何修改,,五種基本元件只需修改一種,,而可重用率仍可達(dá)到80%。如果將SoC中的處理器總線,、系統(tǒng)總線和外設(shè)總線的總線功能模型全部設(shè)計(jì)好,,以后的IP單獨(dú)驗(yàn)證平臺(tái)的設(shè)計(jì)就變成了僅僅是選擇不同總線功能模型的過(guò)程。
  (2)從IP模塊單獨(dú)驗(yàn)證平臺(tái)到SoC系統(tǒng)驗(yàn)證平臺(tái)的設(shè)計(jì)過(guò)程中具有很高的可重用性,,監(jiān)視器可以完全重用,,但這需要在芯片邏輯綜合時(shí),將監(jiān)視器所監(jiān)視的內(nèi)部信號(hào)保留,。如果驅(qū)動(dòng)的功能是產(chǎn)生芯片級(jí)管腳信號(hào),,驅(qū)動(dòng)也可以重用,。系統(tǒng)服務(wù)也可以被重用,兩個(gè)驗(yàn)證自動(dòng)化的過(guò)程不一定要同樣地實(shí)現(xiàn),,但必須要有統(tǒng)一的接口,。IP單獨(dú)驗(yàn)證平臺(tái)的激勵(lì)可以完全重用于SoC系統(tǒng)驗(yàn)證平臺(tái)的激勵(lì)文件中。即只要設(shè)計(jì)合適,,IP模塊單獨(dú)驗(yàn)證平臺(tái)中的監(jiān)視器,、系統(tǒng)服務(wù)、激勵(lì)可以被完全重用,,驅(qū)動(dòng)的可重用性則需要根據(jù)IP模塊在SoC中所處的位置和所起的作用來(lái)決定,,總線功能模型會(huì)被實(shí)際的總線所代替,五種基本元件中,,至少有三種可被完全重用,,可重用率至少可達(dá)60%。
  (3)在不同的SoC系統(tǒng)驗(yàn)證平臺(tái)中有很高的可重用性,。本文所提出的驗(yàn)證平臺(tái)結(jié)構(gòu)是基于總線的,。因此不同的SoC系統(tǒng)驗(yàn)證平臺(tái)中的可重用性也取決于SoC本身所采用的總線。如果兩個(gè)不同的SoC采用完全相同的總線,,即它們具有完全相同的處理器總線,、系統(tǒng)總線和外設(shè)總線,若設(shè)計(jì)和該設(shè)計(jì)的派生設(shè)計(jì)的驗(yàn)證平臺(tái),,此時(shí)可達(dá)到驗(yàn)證平臺(tái)的完全可重用,,即可重用率為100%;如果兩個(gè)不同的SoC采用完全不同的總線,、在第二個(gè)SoC系統(tǒng)驗(yàn)證平臺(tái)中則可以重用第一個(gè)SoC系統(tǒng)驗(yàn)證平臺(tái)中的監(jiān)視器,、系統(tǒng)服務(wù)和激勵(lì),可重用率仍可達(dá)到60%,。
4 實(shí) 驗(yàn)
  實(shí)驗(yàn)元件選自合肥工業(yè)大學(xué)微電子設(shè)計(jì)研究所自主開(kāi)發(fā)的系統(tǒng)芯片HGD2112和HGD3118,,實(shí)驗(yàn)環(huán)境:Sun Solaris 8 操作系統(tǒng),Pentium IV 1.7處理器,,256MB內(nèi)存,,gcc編輯器,B shell腳本語(yǔ)言,。該驗(yàn)證平臺(tái)成功地驗(yàn)證了上述兩個(gè)系統(tǒng)芯片,。兩個(gè)項(xiàng)目驗(yàn)證的實(shí)際開(kāi)銷(xiāo)和節(jié)約開(kāi)銷(xiāo)如表1所示。 由于HGD3118和HGD2112是兩種不同的系統(tǒng)芯片,,其驗(yàn)證平臺(tái)相似性較少,,但如果使用該驗(yàn)證平臺(tái)來(lái)驗(yàn)證這兩種系統(tǒng)芯片的衍生產(chǎn)品,其驗(yàn)證效率可以進(jìn)一步提高。如果設(shè)計(jì)合理,,驗(yàn)證平臺(tái)的構(gòu)建所占時(shí)間基本可以忽略,,驗(yàn)證時(shí)間也僅為運(yùn)行驗(yàn)證過(guò)程的時(shí)間。


  本文討論的基于總線的可重用性驗(yàn)證平臺(tái)已經(jīng)實(shí)現(xiàn),。由于該結(jié)構(gòu)在很大程度上實(shí)現(xiàn)了高可重用,、可升級(jí)、可維護(hù)和自動(dòng)化的設(shè)計(jì)思想,,為設(shè)計(jì)的規(guī)范化和標(biāo)準(zhǔn)化提供了一種可資借鑒的方法,,已經(jīng)被設(shè)計(jì)公司借鑒。使用該驗(yàn)證平臺(tái),,可以極大地提高驗(yàn)證平臺(tái)的開(kāi)發(fā)效率,,從而最終提高集成電路的驗(yàn)證效率。
參考文獻(xiàn)
1 Anderson T. Your core-my problem? integration and verifi-cation of IP[J]. IEEE Design & Test, 2001,;18(5):170~171
2 Rashinkar P, Paterson P, Singh L. System-on-a-chip veri-fication methodology and techniques[M]. New York: Kluwer Academic Publishers,2002:45~87
3 Hawana M,Schutten R. Testbench design. A systematic app-roach, http://www.synopsys.com/sps/pdf/paper2.pdf,2003-12
4 Chang H, Cooke L. Surviving the SOC revolution-a guide to platform-based design[M]. Boston: Kluwer Academic Publishers, 2002:51~60
5 Bergeron J. Writing testbench-function verification of HDL models[M]. New York: Kluwer Academic Publishers, 2000:155~268
6 陸思安.面向系統(tǒng)芯片的驗(yàn)證策略[J]. 微電子學(xué), 2002;3(4):265~268
7 韓俊剛. 系統(tǒng)芯片的混合驗(yàn)證方法[J]. 西安郵電學(xué)院學(xué)報(bào), 2002;7(1):12~17
8 On-chip bus development working group specification 1 ver-sion 1.0 (OCE 1 1.0) [S].VSI Alliance,1998

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。