林 慧,蔣 武,熊 熙,李元祝,黃志榮
(1.海思半導體技術(shù)有限公司,廣東 深圳 518129;2.楷登企業(yè)管理有限公司深圳分公司,廣東 深圳518129;3.中軟國際科技服務有限公司深圳分公司,廣東 深圳 518129)
Verifier提高驗證完備性
林慧1,蔣武1,熊熙1,李元祝2,黃志榮3
(1.海思半導體技術(shù)有限公司,廣東 深圳 518129;2.楷登企業(yè)管理有限公司深圳分公司,廣東 深圳518129;3.中軟國際科技服務有限公司深圳分公司,廣東 深圳 518129)
隨著集成電路設計技術(shù)的不斷發(fā)展,電路設計中經(jīng)常出現(xiàn)一些問題。因此,設計驗證技術(shù)成為了電路設計中不可或缺的部分。如何提高驗證完備性,是驗證技術(shù)的難題之一。本文介紹了 Cadence最新發(fā)布的適用于模擬設計的ADE Verifier的工具使用流程,以及根據(jù)海思業(yè)務需求定制的使用方法。該工具整合了驗證工具ADE Explorer和ADE Assembler的特性,完善了模擬電路設計驗證流程,解決了模擬設計驗證完備性中的問題。
電路設計;驗證完備性;ADE verifier
ADEExplorer、ADEAssembler是 CadenceVirtuoso ADE一系列產(chǎn)品的重要模擬設計驗證工具,將驗證技術(shù)可視化,能夠很好地支持工程師子模塊的模擬設計驗證,大大提高了驗證效率?,F(xiàn)有的驗證直接根據(jù)仿真結(jié)果來決定驗證設計的好壞與否。這種驗證流程簡單有效,但是也有其弊端——規(guī)格無標準可循、難以覆蓋更高層的設計,導致難以及時發(fā)現(xiàn)并規(guī)避設計更深層的問題。在整合了ADE Explorer、ADE Assembler強大的簡單有效的驗證功能的基礎上,ADE Verifier在驗證流程上做了進一步的優(yōu)化,能夠有效彌補現(xiàn)有模擬設計驗證存在的不足,很大程度上提高了模擬設計驗證的可靠性和完備性。ADE Verifier特性如圖1所示。
圖1 ADE Verifier特性
Verifier支持自頂向下、自下向上、混合的設計方法。本文描述Verifier自頂向下的設計方法。根據(jù)客戶需求、業(yè)務場景和條件等原始需求,項目管理者(PM/PL)整合原始需求,轉(zhuǎn)換成設計語言,細化、分解設計需求。然后將整個需求分配給不同的工程師。根據(jù)分配得到的需求,工程師深入理解設計需求,量化相應的設計規(guī)格,并設計仿真用例和測試用例,完成仿真。然后將需求設計和規(guī)格設計進行最后,工程師提交驗證數(shù)據(jù),項目管理者就可以及時觀測驗證結(jié)果,跟蹤項目驗證進度。ADEVerifier驗證流程如圖2所示。
圖2 ADE Verifier驗證流程
2.1項目管理者建立Requirement
需求的建立有兩種方式,一是項目管理者在 verifier里面創(chuàng)建的,二是直接導入指定格式的需求表格,包括csv文件和excel文件。
需求的內(nèi)容包括項目名稱,模塊名稱,指標的最大值與最小值、指標的單位、責任人、類型以及詳細的描述等。指標的最大值與最小值、指標的單位都是作為后續(xù)規(guī)格設計的約束。內(nèi)容可以由中文、英文、日語、德語、北印度語5種語言組成。
需求的類型包括以下幾種:Note,Spec Pass,Ran OK,Manual。Note類型的需求是不需要仿真驗證;Spec Pass類型和 Ran OK類型的需求是可以進行仿真驗證的,二者差別就是 Spec Pass類型的需求要考慮需求設計的指標值來決定需求的狀態(tài),Ran OK類型的需求只會根據(jù)仿真結(jié)果來決定需求的狀態(tài);Manual類型的需求是指是要人為判斷設計的成功與否,而不是直接簡單地根據(jù)仿真結(jié)果來決定。
需求是Hierarchy結(jié)構(gòu)的。從頂層模塊開始進行需求設計,細化到每個子模塊的需求設計,直到完成整個項目的需求設計。每個需求設計都會指定一個責任人,后續(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即可。
圖3 分配Requirement
2.3工程師添加Implementation
根據(jù)需求設計,工程師進行相應的 Implementation,支持adel、adexl、maestro類型的文件。如圖4所示。
圖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和仿真結(jié)果保持一致。
Fail是指在 requirement的 specification與 implementation的 specification保持一致的前提下,requirement的specification和仿真結(jié)果不同。
No Results是指在 requirement的 specification與 implementation的specification保持一致的前提下,implementation沒有仿真結(jié)果。
Mapped是指 requirement的 specification與 implementation的specification保持一致。
Unmapped是指requirement還沒有建立mapping。
Spec Check Failed是指如果 requirement的 specification與implementation的specification不能保持一致。
2.5工程師加載、提交個人Result
Verifier提供了兩種加載結(jié)果的方式:直接跑仿真和加載仿真結(jié)果。
Verifier呈現(xiàn)的結(jié)果包括整個項目的結(jié)果百分比,以及每個模塊、需求的結(jié)果。需求的結(jié)果狀態(tài)分為兩種:RequirementStatus和SpecificationStatus。Specification Status是根據(jù) spec的結(jié)果而定;Requirement Status是根據(jù)spec結(jié)果以及map結(jié)果而定。加載個人Results如圖5所示。
圖5 加載個人Results
2.6項目管理者查看項目Result
等到工程師提交了個人結(jié)果之后,項目管理者就可以查看整個項目的驗證進展和驗證結(jié)果。如圖6所示。
圖6 查看項目Results
3.1定制化特性
根據(jù)海思的業(yè)務需求,在原有 ADE Verifier平臺上,添加了定制化特性,有以下兩點:
(1)導入的 requirement表格形式:通過新增列數(shù),直觀地呈現(xiàn)需求之間的Hierachy結(jié)構(gòu);
(2)結(jié)果的保存與呈現(xiàn):通過收集工程師提交的結(jié)果,保存到數(shù)據(jù)庫。保存結(jié)果能夠讓現(xiàn)有項目傳承歷史項目的優(yōu)良基因;展示結(jié)果從項目和 owner的維度展示數(shù)據(jù),能夠讓項目管理者直觀看到整個項目的驗證進展,讓工程師清晰認識到自己模塊的進度。Hisilicon Verifier Results如圖7所示。
圖7 Hisilicon Verifier Results
3.2定制化流程
在工程師提交verification時候,結(jié)果數(shù)據(jù)就會被收集。為了適配定制化特性——收集結(jié)果數(shù)據(jù),整理了使用verifier的三種流程,這三種流程都能夠保證收集到數(shù)據(jù)。為了能夠清晰描述三種流程的特點,假設背景如下:工程P,項目經(jīng)理是M,工程師E1,E2,E3。M新建一個verification,設置 result路徑為 Current cellview,這樣結(jié)果文件就在相應的 verification路徑下。分配任務,生成verification_E1,verification_E2,verification_E3。項目經(jīng)理M check in verification,verification_E1,verification_E2,verification_E3。如圖8~圖11所示。
圖8 項目背景
圖9 流程1
圖10 流程2
(1)流程1(如圖8)
Step1:
E1新建maestre_E1,搭建testbench,跑仿真;
Step2:
E1 Check out verification_E1,和 maestre_E1建 立Map,加載結(jié)果,check in verification_E1,這樣才能收集到數(shù)據(jù);
圖11 流程3
Step3:
E1 Check in maestre_E1,這樣 M,E2,E3才能看到E1的結(jié)果;
(2)流程2(如圖9)
Step1:
E1新建maestre_E1,搭建testbench,跑仿真;
Step2:
E1 Check out verification_E1,和 maestre_E1建 立Map,加載結(jié)果,check in verification_E1,這樣才能收集數(shù)據(jù);
Step3:
E1 Check out verification,load E1的結(jié)果,check in verification,這樣M,E2,E3才能看到E1的結(jié)果;
(3)流程3(如圖10)
Step1:
E1新建maestre_E1,搭建testbench,跑仿真;
Step2:
E1 Check out verification_E1,和 maestre_E1建 立Map,加載結(jié)果,check in verification_E1;
這三個流程都能夠達到收集數(shù)據(jù)以及呈現(xiàn)最新結(jié)果的目的,但是流程1和流程2都有其弊端。
流程1中,要想工程師的結(jié)果被其他人看到,必須提交 maestre。首先,maestre很大,提交很費時。其次,maestre保存的是過程配置信息,不適合提交。
流程2中,整個項目組都需要操作一份文件—verification,很容易產(chǎn)生寫沖突,不適合大項目、異地項目的合作。另外,工程師需要操作owner verification和master verification,職責不夠分明。
流程3,只需要選擇HISILICON_VERIFIER為yes,這樣加載結(jié)果來源是結(jié)果的快照文件。提交 owner verification,即可收集數(shù)據(jù),也可以保證其他人都能看到結(jié)果。職責分明,操作簡單。
所以,Hisilicon Verifier采用流程3。
4.1完備性問題
以Hisilicon的驗證流程進行分析,從制定原始需求開始,到編寫測試用例,驗證完備性的突出問題如下。
(1)OR:遺漏、客戶自己不清楚;
(2)DR:功能/隱形需求遺漏;
(3)DS:內(nèi)部規(guī)格未細化、規(guī)格條件不合理、非典電路規(guī)格不全。
4.2Verifier方案
基于Verifier的驗證流程,驗證完備性問題能夠在很大程度上得到解決。
(1)需求設計、規(guī)格設計、仿真等整個驗證流程都是需求驅(qū)動的,保證了需求的可溯性。
(2)從上至下的驗證流程,既保證了各個模塊之間相互獨立,互不干擾,也保證了各個子模塊之間無縫契合。
(3)記錄仿真結(jié)果,自動復現(xiàn)仿真結(jié)果,將仿真過程變得更加可溯和自動化。
(4)當工程師改變了某個設計模塊,verifier具有聯(lián)想功能,能夠提示相關testbench需要重新進行仿真,進一步確保驗證完備性。
通過使用ADE Verifier工具,我們將在電路設計中解決由于驗證不完備性的各種問題。這種問題在很大程度上是可以通過完善的驗證流程去規(guī)避的。在海思的驗證設計實踐中,Virtuoso ADE驗證工具技術(shù)與Virtuoso ADE組裝工具技術(shù)具備設計規(guī)劃能力,讓設計團隊更加高效,提升了模擬IP驗證效率將近30%,驗證發(fā)現(xiàn)的問題數(shù)量減少了一半。所以,ADE Verifier是驗證設計中不可或缺的工具之一。
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)
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.
circuit design;verification completeness;ADE verifier
TN402
A
10.16157/j.issn.0258-7998.2016.08.007
2016-06-16)
林慧(1992-),女,本科,軟件工程師。
蔣武(1983-),男,研究生,軟件工程師。
熊熙(1987-),男,研究生,軟件工程師。
中文引用格式:林慧,蔣武,熊熙,等.Verifier提高驗證完備性[J].電子技術(shù)應用,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.