摘 要:為了能使IP在不同的系統中被重用,通常將IP參數化。參數的廣泛使用一方面給IP重用帶來方便,另一方面大量的參數又將給IP認證、驗證和集成帶來新的問題。針對IP參數化帶來的問題提出一種新的遞交方法,首先基于參數及其相互依賴關系,對大量的參數進行統一描述,再構成參數域值圖PDG將參數空間分為多個正交的有效子空間。依靠PDG,用戶進行參數檢查所需要的測試向量條件可以自動產生,而且也可以獲取驗證環境的約束條件,收集、分析功能覆蓋率的數據,減少了系統設計過程中的驗證工作。
關鍵詞:IP;依賴性;參數域值圖;知識產權;片上系統;功能覆蓋率
中圖分類號:TN368.1 文獻標識碼:B
文章編號:1004-373X(2008)11-179-02
Model of Extracting IP Minimum Parameter Space
XU Chunxia1,LU Xueping2
(1.Zhejiang Industry Polytechnic College,Shaoxing,312000,China;2.Shaoxing University,Shaoxing,312000,China)
Abstract:In order to be reused in different applications Intellectual Properties (IP) are usually parameterized.The extensive use of parameters enables users to customize IP to their needs in different applications.On the other hand,a large number of parameters imposes new problems during IP qualification,verification and integration.This article gives an overview of the present work in the addressing problems due to IP parameterization.On the basis of a formal description of parameters and their interdependences so-called Parameter Domain Graphs (PDG) are constructed.Relying on PDG,testbench components for assertion-based parameter checking are automatically generated.Furthermore,generation constraints for verification environments are derived,collection and analysis of functional coverage data are implemented.The verification effort during the design of system is reduced.
Keywords:IP;interdependences;parameter domain graph;intellectual property;SoC;functional coverage
1 引 言
硅工藝的發展允許工廠制造日益復雜的系統芯片,但是隨著產品的多樣化和產品周期的縮短,有限的人力資源已經不可能使任何設計都從頭開始,惟一的方法只有重用已經設計好的IP。
在系統驗證過程中,設計者通常采用自底向上的方法先從模塊驗證著手,雖然通常的IP說明書中對所有參數以及他們的取值范圍都有文字描述甚至提供測試向量,但這些都不能解決問題,由于參數之間的相互依賴性,他們之間的有些組合是無效的。系統設計者不了解參數間的相互關系也不能檢查配置的有效性,只能在系統設計之前依賴IP輸入/輸出行為對IP的覆蓋率進行隨機驗證[1],或者利用所有的參數組合進行直接驗證,因此,IP設計者能夠提供一份明確體現測試功能點的優化參數分布模型,使用戶能從復雜的參數集合中輕松提取有效的參數配置是必要的。
2 參數空間
在RTL層,IP參數分為2種,靜態參數和動態參數。靜態參數用來改變設計的結構,動態參數一般存儲在寄存器中或者用輸入引腳的值來改變設計行為。參數空間可以被理解為所有的動態參數和靜態參數組成的一個集合。如果一個IP有p1,…,pn個參數,則參數空間可以描述為:
P=p1×p2×…×pn
假設每個參數對應的取值范圍定義為R1,R2,…,Rn,則所有的參數組合數為:
|p|=∏[DD(]n[]j=1|Ri|
|Ri|指參數Pi可取值的個數。
通過限制參數到特定的范圍或常數值,同時允許其他參數可取有效范圍內的任意值,可以將參數空間劃分為多個子空間。如果隨意選擇參數組合,那么用來仿真的一些子空間將會出現重迭,導致多個仿真組合實際屬于同一種情況,而且不加選擇地進行參數分配也會出現組合無效的情況。
為了防止驗證無效的配置從而減少驗證工作,參數空間必須滿足兩個條件:
(1) 無效的組合完全從參數空間中去除;
(2) 僅有不重迭的有效子空間。
因此,本文基于參數域[2]提出了一種既能完整描述參數以及他們之間的相互依賴性又能準確、容易提取有效參數空間的方法。
3 構建參數域值圖PDG
在文獻[3]中提出了一種語言文件格式來統一描述參數及其相互依賴關系,對每個模塊的參數描述包括4個基本項目:參數類型聲明,分為靜態參數、寄存器動態參數、輸入引腳3種;參數取值范圍定義,分為連續和離散2種情況;參數間取值相互依賴關系;參數間的關聯約束表示參數間的數值大小關系。所有的參數說明項目放在一個列表中,如果同一個模塊中有多個完全獨立的功能塊,那么可以將這些參數在多個獨立的列表中進行定義說明。
對IP用戶來講,要從這些參數說明中提取有效參數配置的工作量還是很大。基于這種描述方法提出一種PDG(Parameter Domain Graph)模型來描述參數空間。
在PDG中,用樹的節點和邊來組成參數域。參數是用具有名稱的節點來表示的,每條邊起始于某個具有合法取值的指定參數,每條邊的終節點與這條邊上的任何參數取值都沒有沖突。PDG中從根部節點開始到葉子節點的每一枝代表一域。PDG是在參數的相互依賴性基礎上構建起來的,同時也最能體現參數間的相互依賴性,在PDG中用下面的方法來處理參數間的兩種關系。
(1) 當參數X取一定的值時,參數Y的取值對IP的輸出行為沒有影響,定義為Y與X的這個集合沖突,則Y不會出現在這條參數域中。
(2) 只有當X取一定的值時,參數Y的取值才會對IP的輸出行為產生影響,定義為Y需要X,則Y會出現在X取此值的參數域中。
PDG中每一域都代表一些參數分配的有效組合,并且這些組合在參數空間是惟一存在的。PDG相當于所有域的集合,將參數空間劃分為多個正交的子空間并去除無效的配置。如果模塊可以劃分為多個獨立的功能塊,那么對應可以將PDG分為多個獨立的部分。因此如果從PDG中選擇參數分配來進行仿真,他們的有效性是可以保證的,并且不會出現重迭,即PDG呈現了IP模塊的最小參數空間。
假設某IP模塊test有osrate,parity,word,length四個參數,且這四個參數的取值范圍及相互依賴關系如下:
Osrate為整數類型,有三種取值情況4,8,16 ;
Parity為整數類型,有三種取值情況0,1,2;
word、length都為整數類型,取值范圍為1~8;
test模塊可以劃分為兩個獨立的功能模塊,osrate與length構成一個子功能fun2;parity,word,length構成另一個子功能fun1,且當parity的取值為0時,word的取值對IP模塊的輸出行為沒有影響。
此時,根據參數域的定義,我們可以創建test的PDG模型,這個模塊的參數域值圖如圖1所示。
圖1 IP模塊test的參數域值圖
在圖1中,根據IP模塊test兩個獨立的功能,PDG分為兩部分,共由4條正交參數域組成IP模塊的最小參數空間,其中parity取值為0時,word與parity沖突,因此word不出現在這條參數域中,按照參數空間的計算方法計算每條參數域的參數配置數,可以得到IP模塊test最小的參數空間:
|Pmin|=|Pfun1|+|Pfun2|
=|DParity=0|+|Dparity=1|+
|Dparity=2|+|Pfun2|
=8+64+64+24=160
而根據經典的計算方法,IP模塊test的參數空間:
|P|=∏[DD(]i=n[]i=1[DD)]|Ri|
=|Rosrate|#8226;|Rparity|#8226;|Rword|#8226;|Rlength|
=3×3×8×8=576
相比之下參數空間縮小了72%,在參數多且參數間依賴關系復雜的情況下,基于PDG模型的參數描述更顯簡潔,參數空間縮小的比例也更大。
4 結 語
PDG模型既縮小了參數空間又保證了所有參數配置的有效性,而且PDG明確體現了模塊的驗證功能點,如果采用PDG模型中的參數配置進行IP覆蓋率驗證,既可以彌補利用隨機測試矢量難以覆蓋的測試漏洞,也減少了由大量參數組合成測試矢量的直接測試帶來的繁瑣工作量,因此在IP產品化[4]的過程中,將IP模塊的PDG模型隨設計文件作為交付項,從中提取的參數配置將會在系統設計中保證IP驗證過程的快速性、有效性。
參 考 文 獻
[1]劉勁松,林濤.整合多IP的SOC芯片驗證的挑戰和思路[J].中國集成電路,2005(12):32-37.
[2]Jerinic V,Muller D.Shrinking the Parameter Space of IP Utilizing Parameter Domains.International Workshop on IP-based SOC Design Grenoble,France,2002.
[3] Jerinic V,Muller D.Splitting the Parameter Space into orthogonal Parameter Domains.IPQ Workshop Paderbon,Germany,2001.
[4]牛風舉.芯片設計中的IP技術[J].半導體技術,2001,26(10):21-25,32.
[5]Givargis T,Vahid F.Parameterized System Design.IEEE/ACM International Workshop on Hardware/Software Codesign,CODES,2000.
[6]Ascia G,Catania V,Palesi M.Design Space Exploration Methodologies for IP-based System-on-a-Chip.IEEE International Symposium on Circuits and Systems ISCAS,2002.
[7]Nandi A,Marculescu R.System-Level Power/Performance Analysis for Embedded Systems Design.DesignAutomation Conference DAC,2001.
[8]Cadence Design Systems Inc.,Verification Cockpit Product Documentation,2002.
[9]Ascia G,Catania V,Palesi M.Design Space Exploration Methodologies for IP-based System-on-a-Chip.IEEE International Symposium on Circuits and Systems ISCAS,2002.
[10]Raghunathan A,Dey S,Jha N K.Register-transfer Level Estimation Techniques for Switching Activity and Power Consumption.International Conference on Computer Aided Design ICCAD,1996.
作者簡介 徐春霞 女,1981年出生,浙江諸暨人,大學助教,在讀碩士研究生。主要研究方向為集成電路設計。
盧雪萍 女,1976年出生,湖北應城人,大學講師,碩士。主要研究方向為集成電路設計,EDA技術等。
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。