一种检查时序库和网表库的标准单元功能一致性的方法技术

技术编号:15297674 阅读:85 留言:0更新日期:2017-05-11 20:17
一种检查时序库和网表库的标准单元功能一致性的方法,包括步骤:获取时序库及网表库的标准单元的功能文件;获取时序库中的功能属性,得到第一布尔表达式;获取网表库中的功能描述,并将所述功能描述转换为第二布尔表达式;判断所述第一、第二布尔表达式是否相同,验证时序库和网表库的标准单元功能的一致性。本发明专利技术的检查时序库和网表库的标准单元功能一致性的方法,将Verilog中的功能描述转化为布尔表达式,与Timing Library中的function属性定义的布尔表达式进行比较;再利用经典的BDD或者SAT求解器判断两个布尔表达式是否等价,从而更高效地验证网表库和时序库中标准单元的功能是否一致。

A method for checking the consistency of standard cell function of time base and netlist Library

A timing check database and netlist library standard unit function consistency method comprises the following steps: acquiring timing function file library and standard netlist library unit; to obtain functional properties in the library to get the first time, Boolean expressions; access network table in the library function description, and the conversion function description second Boolean expressions; judging whether the first and the second Boolean expressions are the same, the consistency verification and timing library netlist library standard cell function. The invention of the scquential library and netlist library standard unit function consistency method, the Verilog function description into a Boolean expression, compared with the Boolean expression to define the function attribute in the Library Timing; then uses the classical BDD or SAT solver to judge two Boolean expression is equivalent to more efficiently verify whether consistent netlist standard cell library and library function sequence.

【技术实现步骤摘要】

本专利技术涉及集成电路计算机辅助设计领域,尤其涉及一种检查时序库和网表库的标准单元功能一致性的方法
技术介绍
随着芯片技术的发展,芯片设计越来越复杂,功能验证在整个设计流程中都非常重要。而传统的验证功能的方法是通过仿真,这种方法效率较低。在不同文件中,标准单元功能的描述形式完全不同。在时序库(TimingLibrary)里面的功能属性是通过布尔表达式给出的,而在网表库(Verilog)文件中,标准单元的功能可通过门单元的连接关系来描述。而因而,提出一种新的检查时序库和网表库的标准单元功能一致性的方法,能够更高效地比较时序库和网表库的标准单元功能的一致性,成为亟待解决的问题。
技术实现思路
为了解决现有技术存在的不足,本专利技术的目的在于提供一种检查时序库(TimingLibrary)和网表库(Verilog)的标准单元功能一致性的方法,可以更高效地比较网表库和时序库的标准单元功能的一致性。为实现上述目的,本专利技术提供的检查时序库和网表库的标准单元功能一致性的方法,包括以下步骤:(1)获取时序库及网表库的标准单元的功能文件;(2)获取时序库中的功能属性,得到第一布尔表达式;(3)获取网表库中的功能描述,并将所述功能描述转换为第二布尔表达式;(4)判断所述第一、第二布尔表达式是否相同,验证时序库和网表库的标准单元功能的一致性。所述步骤(3)中进一步包括:在网表库文件中,通过从端口到线网再到器件进行信号的溯源,得到所述第二布尔表达式。进一步地,所述网表库文件包括,通过综合或者转化成门级描述的网表库文件。进一步包括以下步骤:(31)所有的网表库文件中的功能定义,均转换为由元功能组成的电路结构;(32)将网表库中的所述电路结构转换成布尔表达式。所述步骤(31)中进一步包括:根据元器件对应的真值表,定义所述元功能的信号操作结果。所述步骤(32)中进一步包括:依据元器件的真值表得到元器件的处理伪代码。所述步骤(4)中进一步包括以下步骤:(41)所述第一、第二布尔表达式的形式相同时,表明时序库与网表库的标准单元功能相一致;(42)所述第一、第二布尔表达式的形式不同时,则判断所述第一、第二布尔表达式是否等价。步骤(42)所述判断所述第一、第二布尔表达式是否等价是:通过二叉决策图判断所述第一、第二布尔表达式是否等价。所述步骤(4)中进一步包括:通过可满足性测试判断所述第一、第二布尔表达式是否相同。本专利技术的检查时序库和网表库的标准单元功能一致性的方法,基于BDD技术,对TimingLibrary及Verilog的标准单元库文件功能进行对比。TimingLibrary中的功能在function属性中被定义为布尔表达式,在Verilog文件中,功能被定义为元器件和线网的连接关系。将Verilog中的功能描述转化为布尔表达式,与TimingLibrary中的function属性定义的布尔表达式进行比较。并且利用经典的BDD或者SAT求解器判断两个布尔表达式是否等价,验证网表库和时序库中标准单元的功能是否一致。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。附图说明附图用来提供对本专利技术的进一步理解,并且构成说明书的一部分,并与本专利技术的实施例一起,用于解释本专利技术,并不构成对本专利技术的限制。在附图中:图1为根据本专利技术的检查时序库和网表库的标准单元功能一致性的方法流程图;图2为根据本专利技术的网表库和时序库中的单元功能描述示意图;图3为根据本专利技术的电路结构转化为布尔表达式的伪代码示意图;图4为根据本专利技术的与门真值表和伪代码示意图;图5为根据本专利技术的BDD决策图的生成示意图。具体实施方式以下结合附图对本专利技术的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本专利技术,并不用于限定本专利技术。图1为根据本专利技术的检查时序库和网表库的标准单元功能一致性的方法流程图,下面将参考图1,对本专利技术的检查时序库和网表库的标准单元功能一致性的方法进行详细描述。在步骤101,准备需要比较的时序库(TimingLibrary)及网表库(Verilog)的标准单元库文件,并读入EDA工具中;在该步骤中,获取时序库及网表库的标准单元的功能文件。图2为根据本专利技术的网表库和时序库中的单元功能描述示意图。如图2所示,时序库文件中Cell部分通过在输出pin里面定义function属性,来描述器件功能;网表库文件中的module部分定义了AO22是五输入一输出的器件,由两个与门和一个或门组成,来描述功能。在步骤102,获取时序库中的功能(function)属性,得到第一布尔表达式;在步骤103,获取网表库(Verilog)中的功能描述部分,并将其转换为第二布尔表达式;在该步骤中,在Verilog文件中,通过从端口(port)到线网(net)再到器件(instant)进行信号的溯源,得到布尔表达式。Verilog中不是门级描述的文件,综合或者转化成门级描述,即由基本元器件组成的电路。基本元器件包括:与门,与非门,或门,或非门等。下面进一步地描述转换过程:(1)所有的Verilog文件中的功能定义,均转换为由元功能组成的电路结构;元功能与基本元器件相对应,根据基本元器件对应的真值表,定义元功能的信号操作结果。元功能为基本的信号操作,包括:AND、NAND、OR、NOR、XOR、XNOR、BUF、INV、CMOS、NMOS、GND、PWR、X、Z、PullDown及PullUp等。(2)将网表库中的电路结构转换成布尔表达式。比如AND单元,输入端的netfunction分别是A和B,那么经过与门AND单元的功能就转化为布尔表达式A+B。图3为根据本专利技术的电路结构转化为布尔表达式的伪代码示意图,如图3所示,代码可以分为三个部分:第一部分是Extract()选取所有的输出pin,并获取相应的net,然后调用ExtractNetFunction();第二部分是ExtractNetFunction(),当net的驱动是一个器件调用ExtractInstFunction(),如果是一个信号端,可直接获取信号的名称;第三部分是ExtractInstFunction(),对于所有输入pin,获取其所在net,调用ExtractNetFunction(),得到每个输入pin的功能表达式,然后根据PrimitiveFunction()的规则进行组合。元器件转化为布尔表达式,通过调用PrimitiveFunction()。图4为根据本专利技术的与门真值表和伪代码示意图。在已知输入pin的信号和器件的功能情况下,以AND单元为例,说明转换细节。如图4所示,两输入与门,根据输入的信号决定输出信号,输入的数字信号有四种0/1/X/Z,其中X是未知,Z是高阻。按照真值表可以得出元器件的处理伪代码,当input1为0时输出为0,当input1为X/Z时输出为X;然后处理input2,当input2为0输出为0,当input2为X/Z时输出为X,当input2等于inv(input1)输出为0,否则out等于input1&input2。在步骤104,判断第一、第二两个布尔表达式是否相同,如果不同则验证其功能的一致性。其中,两个本文档来自技高网...
一种检查时序库和网表库的标准单元功能一致性的方法

【技术保护点】
一种检查时序库和网表库的标准单元功能一致性的方法,其特征在于,包括以下步骤:(1)获取时序库及网表库的标准单元的功能文件;(2)获取时序库中的功能属性,得到第一布尔表达式;(3)获取网表库中的功能描述,并将所述功能描述转换为第二布尔表达式;(4)判断所述第一、第二布尔表达式是否相同,验证时序库和网表库的标准单元功能的一致性。

【技术特征摘要】
1.一种检查时序库和网表库的标准单元功能一致性的方法,其特征在于,包括以下步骤:(1)获取时序库及网表库的标准单元的功能文件;(2)获取时序库中的功能属性,得到第一布尔表达式;(3)获取网表库中的功能描述,并将所述功能描述转换为第二布尔表达式;(4)判断所述第一、第二布尔表达式是否相同,验证时序库和网表库的标准单元功能的一致性。2.根据权利要求1所述检查时序库和网表库的标准单元功能一致性的方法,其特征在于,所述步骤(3)中进一步包括:在网表库文件中,通过从端口到线网再到器件进行信号的溯源,得到所述第二布尔表达式。3.根据权利要求2所述检查时序库和网表库的标准单元功能一致性的方法,其特征在于:所述网表库文件包括,通过综合或者转化成门级描述的网表库文件。4.根据权利要求2所述检查时序库和网表库的标准单元功能一致性的方法,其特征在于,进一步包括以下步骤:(31)所有的网表库文件中的功能定义,均转换为由元功能组成的电路结构;(32)将网表库中的所述电路结构转换成布尔表达式。5.根据权利要求4所述检查时序库和网表...

【专利技术属性】
技术研发人员:周舒哲严晗陈彬刘毅
申请(专利权)人:北京华大九天软件有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1