《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > Verifier提高驗證完備性
Verifier提高驗證完備性
2016年電子技術應用第8期
林 慧1,蔣 武1,熊 熙1,李元祝2,黃志榮3
1.海思半導體技術有限公司,廣東 深圳518129;2.楷登企業(yè)管理有限公司深圳分公司,廣東 深圳518129; 3.中軟國際科技服務有限公司深圳分公司,廣東 深圳518129
摘要: 隨著集成電路設計技術的不斷發(fā)展,電路設計中經常出現(xiàn)一些問題。因此,設計驗證技術成為了電路設計中不可或缺的部分。如何提高驗證完備性,是驗證技術的難題之一。本文介紹了Cadence最新發(fā)布的適用于模擬設計的ADE Verifier的工具使用流程,以及根據(jù)海思業(yè)務需求定制的使用方法。該工具整合了驗證工具ADE Explorer 和ADE Assembler的特性,完善了模擬電路設計驗證流程,解決了模擬設計驗證完備性中的問題。
中圖分類號: TN402
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.08.007
中文引用格式: 林慧,蔣武,熊熙,等. Verifier提高驗證完備性[J].電子技術應用,2016,42(8):37-40,43.
英文引用格式: Lin Hui,Jiang Wu,Xiong Xi,et al. Verifier-Improve the simulation verification completeness[J].Application of Electronic Technique,2016,42(8):37-40,43.
Verifier-Improve the simulation verification completeness
Lin Hui1,Jiang Wu1,Xiong Xi1,Li Yuanzhu2,Huang Zhirong3
1.HiSilicon Technologies,Shenzhen 518129,China;2.Cadence Design System,Shenzhen 518129,China; 3.Soft International Science and Technology,Shenzhen 518129,China
Abstract: With the technology of the integrated circuit design developing, some problems in the circuit design also arise. The verification technology plays an important role in the circuit design. At present, it is urgent for us find solutions of improving the verification completeness. This paper describes a tool newly published by Cadence, that is, ADE Verifier. In this paper, you will get to know the usage of ADE Verifier and acquire its customized application in HiSilicon. By integrating the identities of both ADE Explorer and ADE Assemble, meanwhile, and by improving the process in a simulation verification, ADE Verifier has been fairly helpful to solve the completeness problem effectively.
Key words : circuit design;verification completeness;ADE verifier

1 介紹

  ADE Explorer、ADE Assembler是Cadence Virtuoso ADE一系列產品的重要模擬設計驗證工具,將驗證技術可視化,能夠很好地支持工程師子模塊的模擬設計驗證,大大提高了驗證效率?,F(xiàn)有的驗證直接根據(jù)仿真結果來決定驗證設計的好壞與否。這種驗證流程簡單有效,但是也有其弊端——規(guī)格無標準可循、難以覆蓋更高層的設計,導致難以及時發(fā)現(xiàn)并規(guī)避設計更深層的問題。在整合了ADE Explorer、ADE Assembler強大的簡單有效的驗證功能的基礎上,ADE Verifier在驗證流程上做了進一步的優(yōu)化,能夠有效彌補現(xiàn)有模擬設計驗證存在的不足,很大程度上提高了模擬設計驗證的可靠性和完備性。ADE Verifier特性如圖1所示。

圖像 001.png

圖1  ADE Verifier特性

2 Verifier驗證流程

  Verifier支持自頂向下、自下向上、混合的設計方法。本文描述Verifier自頂向下的設計方法。根據(jù)客戶需求、業(yè)務場景和條件等原始需求,項目管理者(PM/PL)整合原始需求,轉換成設計語言,細化、分解設計需求。然后將整個需求分配給不同的工程師。根據(jù)分配得到的需求,工程師深入理解設計需求,量化相應的設計規(guī)格,并設計仿真用例和測試用例,完成仿真。然后將需求設計和規(guī)格設計進行最后,工程師提交驗證數(shù)據(jù),項目管理者就可以及時觀測驗證結果,跟蹤項目驗證進度。ADE Verifier驗證流程如圖2所示。

圖像 002.png

圖2  ADE Verifier驗證流程

  2.1 項目管理者建立Requirement

  需求的建立有兩種方式,一是項目管理者在verifier里面創(chuàng)建的,二是直接導入指定格式的需求表格,包括csv文件和excel文件。

  需求的內容包括項目名稱,模塊名稱,指標的最大值與最小值、指標的單位、責任人、類型以及詳細的描述等。指標的最大值與最小值、指標的單位都是作為后續(xù)規(guī)格設計的約束。內容可以由中文、英文、日語、德語、北印度語5種語言組成。

  需求的類型包括以下幾種:Note,Spec Pass,Ran OK,Manual。Note類型的需求是不需要仿真驗證;Spec Pass類型和Ran OK類型的需求是可以進行仿真驗證的,二者差別就是Spec Pass類型的需求要考慮需求設計的指標值來決定需求的狀態(tài),Ran OK類型的需求只會根據(jù)仿真結果來決定需求的狀態(tài);Manual類型的需求是指是要人為判斷設計的成功與否,而不是直接簡單地根據(jù)仿真結果來決定。

  需求是Hierarchy結構的。從頂層模塊開始進行需求設計,細化到每個子模塊的需求設計,直到完成整個項目的需求設計。每個需求設計都會指定一個責任人,后續(xù)每個責任人都只需要對各自被分配到的需求負責人。

  在現(xiàn)有的整個項目需求設計基礎上,可以新增需求、刪除現(xiàn)有需求、編輯現(xiàn)有需求。

  2.2 項目管理者分配Requirement

  根據(jù)需求責任人,可以將master verification分成幾個不同的owner verification。每個責任人只需要著眼于own verification,根據(jù)被分配到的需求進行規(guī)格設計。如圖3所示,F(xiàn)red、Harry是master verification的責任人,分配需求時,會生成相應的verification_Fred和verification_Harry。之后,F(xiàn)red和Harry只需要分別修改、完善verification_Fred 和 verification_Harry即可。

圖像 003.png

圖3  分配Requirement

  2.3 工程師添加Implementation

  根據(jù)需求設計,工程師進行相應的Implementation,支持adel、adexl、maestro類型的文件。如圖4所示。

圖像 004.png

圖4  工程師添加Implementation

  2.4 工程師建立Mapping

  工程師根據(jù)自己分配到的任務,建立testbench,和Requirement建立映射。Requiremment與SPEC之間可以是n:1或者1:n的關系。

  需求的mapping有6種狀態(tài):Pass,F(xiàn)ail,No Results,Mapped,Unmapped,Spec check failed。

  Pass是指在requirement的specification與implementation的specification保持一致的前提下,requirement的specification和仿真結果保持一致。

  Fail是指在requirement的specification與implementation的specification保持一致的前提下,requirement的specification和仿真結果不同。

  No Results是指在requirement的specification與implementation的specification保持一致的前提下,implementation沒有仿真結果。

  Mapped是指requirement的specification與implementation的specification保持一致。

  Unmapped是指requirement還沒有建立mapping。

  Spec Check Failed是指如果requirement的specification與implementation的specification不能保持一致。

  2.5 工程師加載、提交個人Result

  Verifier提供了兩種加載結果的方式:直接跑仿真和加載仿真結果。

  Verifier呈現(xiàn)的結果包括整個項目的結果百分比,以及每個模塊、需求的結果。需求的結果狀態(tài)分為兩種:Requirement Status 和Specification Status。Specification Status是根據(jù)spec的結果而定;Requirement Status是根據(jù)spec結果以及map結果而定。加載個人Results如圖5所示。

圖像 005.png

圖5  加載個人Results

  2.6 項目管理者查看項目Result

  等到工程師提交了個人結果之后,項目管理者就可以查看整個項目的驗證進展和驗證結果。如圖6所示。

圖像 006.png

圖6  查看項目Results

3 Hisilicon Verifier

  3.1 定制化特性

  根據(jù)海思的業(yè)務需求,在原有ADE Verifier平臺上,添加了定制化特性,有以下兩點:

  (1)導入的requirement表格形式:通過新增列數(shù),直觀地呈現(xiàn)需求之間的Hierachy結構;

  (2)結果的保存與呈現(xiàn):通過收集工程師提交的結果,保存到數(shù)據(jù)庫。保存結果能夠讓現(xiàn)有項目傳承歷史項目的優(yōu)良基因;展示結果從項目和owner的維度展示數(shù)據(jù),能夠讓項目管理者直觀看到整個項目的驗證進展,讓工程師清晰認識到自己模塊的進度。Hisilicon Verifier Results如圖7所示。

圖像 007.png

圖7  Hisilicon Verifier Results 

  3.2 定制化流程

  在工程師提交verification時候,結果數(shù)據(jù)就會被收集。為了適配定制化特性——收集結果數(shù)據(jù),整理了使用verifier的三種流程,這三種流程都能夠保證收集到數(shù)據(jù)。為了能夠清晰描述三種流程的特點,假設背景如下:工程P,項目經理是M,工程師E1,E2,E3。M新建一個verification,設置result路徑為Current cellview,這樣結果文件就在相應的verification路徑下。分配任務,生成verification_E1, verification_E2, verification_E3。項目經理M check in verification,verification_E1, verification_E2, verification_E3。如圖8~圖11所示。

  (1)流程1(如圖8)

圖像 008.png

圖8  項目背景

  Step1:

  E1 新建maestre_E1,搭建testbench,跑仿真;

  Step2:

  E1 Check out verification_E1,和maestre_E1建立Map,加載結果,check in verification_E1,這樣才能收集到數(shù)據(jù);

  Step3:

  E1 Check in maestre_E1,這樣M,E2,E3才能看到E1的結果;

  (2)流程2(如圖9)

圖像 009.png

圖9  流程1

  Step1:

  E1 新建maestre_E1,搭建testbench,跑仿真;

  Step2:

  E1 Check out verification_E1,和maestre_E1建立Map,加載結果,check in verification_E1,這樣才能收集數(shù)據(jù);

  Step3:

  E1 Check out verification,load E1的結果,check in verification,這樣M,E2,E3才能看到E1的結果;

  (3)流程3(如圖10)

圖像 010.png

圖10  流程2

  Step1:

  E1 新建maestre_E1,搭建testbench,跑仿真;

  Step2:

  E1 Check out verification_E1,和maestre_E1建立Map,加載結果,check in verification_E1;

  這三個流程都能夠達到收集數(shù)據(jù)以及呈現(xiàn)最新結果的目的,但是流程1和流程2都有其弊端。

  流程1中,要想工程師的結果被其他人看到,必須提交maestre。首先,maestre很大,提交很費時。其次,maestre保存的是過程配置信息,不適合提交。

  流程2中,整個項目組都需要操作一份文件—verification,很容易產生寫沖突,不適合大項目、異地項目的合作。另外,工程師需要操作owner verification 和master verification,職責不夠分明。

  流程3,只需要選擇HISILICON_VERIFIER為yes,這樣加載結果來源是結果的快照文件。提交owner verification,即可收集數(shù)據(jù),也可以保證其他人都能看到結果。職責分明,操作簡單。

  所以,Hisilicon Verifier采用流程3。

圖像 011.png

圖11  流程3

4 驗證完備性

  4.1 完備性問題

  以Hisilicon的驗證流程進行分析,從制定原始需求開始,到編寫測試用例,驗證完備性的突出問題如下。

  (1)OR:遺漏、客戶自己不清楚;

  (2)DR:功能/隱形需求遺漏;

  (3)DS:內部規(guī)格未細化、規(guī)格條件不合理、非典電路規(guī)格不全。

  4.2 Verifier方案

  基于Verifier的驗證流程,驗證完備性問題能夠在很大程度上得到解決。

  (1)需求設計、規(guī)格設計、仿真等整個驗證流程都是需求驅動的,保證了需求的可溯性。

  (2)從上至下的驗證流程,既保證了各個模塊之間相互獨立,互不干擾,也保證了各個子模塊之間無縫契合。

  (3)記錄仿真結果,自動復現(xiàn)仿真結果,將仿真過程變得更加可溯和自動化。

  (4)當工程師改變了某個設計模塊,verifier具有聯(lián)想功能,能夠提示相關testbench需要重新進行仿真,進一步確保驗證完備性。

5 結語

  通過使用ADE Verifier工具,我們將在電路設計中解決由于驗證不完備性的各種問題。這種問題在很大程度上是可以通過完善的驗證流程去規(guī)避的。在海思的驗證設計實踐中,Virtuoso ADE驗證工具技術與Virtuoso ADE組裝工具技術具備設計規(guī)劃能力,讓設計團隊更加高效,提升了模擬IP驗證效率將近30%,驗證發(fā)現(xiàn)的問題數(shù)量減少了一半。所以,ADE Verifier是驗證設計中不可或缺的工具之一。

  


此內容為AET網(wǎng)站原創(chuàng),未經授權禁止轉載。