CN106650136B - 一种检查时序库和网表库的标准单元功能一致性的方法 - Google Patents

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

Info

Publication number
CN106650136B
CN106650136B CN201611242855.0A CN201611242855A CN106650136B CN 106650136 B CN106650136 B CN 106650136B CN 201611242855 A CN201611242855 A CN 201611242855A CN 106650136 B CN106650136 B CN 106650136B
Authority
CN
China
Prior art keywords
library
netlist
boolean expression
time sequence
checking
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201611242855.0A
Other languages
English (en)
Other versions
CN106650136A (zh
Inventor
周舒哲
严晗
陈彬
刘毅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Empyrean Technology Co Ltd
Original Assignee
Huada Empyrean Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huada Empyrean Software Co Ltd filed Critical Huada Empyrean Software Co Ltd
Priority to CN201611242855.0A priority Critical patent/CN106650136B/zh
Publication of CN106650136A publication Critical patent/CN106650136A/zh
Application granted granted Critical
Publication of CN106650136B publication Critical patent/CN106650136B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

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

Description

一种检查时序库和网表库的标准单元功能一致性的方法
技术领域
本发明涉及集成电路计算机辅助设计领域,尤其涉及一种检查时序库和网表库的标准单元功能一致性的方法。
背景技术
随着芯片技术的发展,芯片设计越来越复杂,功能验证在整个设计流程中都非常重要。而传统的验证功能的方法是通过仿真,这种方法效率较低。
在不同文件中,标准单元功能的描述形式完全不同。在时序库(Timing Library)里面的功能属性是通过布尔表达式给出的,而在网表库(Verilog)文件中,标准单元的功能可通过门单元的连接关系来描述。而
因而,提出一种新的检查时序库和网表库的标准单元功能一致性的方法,能够更高效地比较时序库和网表库的标准单元功能的一致性,成为亟待解决的问题。
发明内容
为了解决现有技术存在的不足,本发明的目的在于提供一种检查时序库(TimingLibrary)和网表库(Verilog)的标准单元功能一致性的方法,可以更高效地比较网表库和时序库的标准单元功能的一致性。
为实现上述目的,本发明提供的检查时序库和网表库的标准单元功能一致性的方法,包括以下步骤:
(1)获取时序库及网表库的标准单元的功能文件;(2)获取时序库中的功能属性,得到第一布尔表达式;(3)获取网表库中的功能描述,并将所述功能描述转换为第二布尔表达式;(4)判断所述第一、第二布尔表达式是否相同,验证时序库和网表库的标准单元功能的一致性。
所述步骤(3)中进一步包括:在网表库文件中,通过从端口到线网再到器件进行信号的溯源,得到所述第二布尔表达式。
进一步地,所述网表库文件包括,通过综合或者转化成门级描述的网表库文件。
进一步包括以下步骤:
(31)所有的网表库文件中的功能定义,均转换为由元功能组成的电路结构;(32)将网表库中的所述电路结构转换成布尔表达式。
所述步骤(31)中进一步包括:根据元器件对应的真值表,定义所述元功能的信号操作结果。
所述步骤(32)中进一步包括:依据元器件的真值表得到元器件的处理伪代码。
所述步骤(4)中进一步包括以下步骤:
(41)所述第一、第二布尔表达式的形式相同时,表明时序库与网表库的标准单元功能相一致;(42)所述第一、第二布尔表达式的形式不同时,则判断所述第一、第二布尔表达式是否等价。
步骤(42)所述判断所述第一、第二布尔表达式是否等价是:通过二叉决策图判断所述第一、第二布尔表达式是否等价。
所述步骤(4)中进一步包括:通过可满足性测试判断所述第一、第二布尔表达式是否相同。
本发明的检查时序库和网表库的标准单元功能一致性的方法,基于BDD技术,对Timing Library及Verilog的标准单元库文件功能进行对比。Timing Library中的功能在function属性中被定义为布尔表达式,在Verilog文件中,功能被定义为元器件和线网的连接关系。将Verilog中的功能描述转化为布尔表达式,与Timing Library中的function属性定义的布尔表达式进行比较。并且利用经典的BDD或者SAT求解器判断两个布尔表达式是否等价,验证网表库和时序库中标准单元的功能是否一致。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:
图1为根据本发明的检查时序库和网表库的标准单元功能一致性的方法流程图;
图2为根据本发明的网表库和时序库中的单元功能描述示意图;
图3为根据本发明的电路结构转化为布尔表达式的伪代码示意图;
图4为根据本发明的与门真值表和伪代码示意图;
图5为根据本发明的BDD决策图的生成示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1为根据本发明的检查时序库和网表库的标准单元功能一致性的方法流程图,下面将参考图1,对本发明的检查时序库和网表库的标准单元功能一致性的方法进行详细描述。
在步骤101,准备需要比较的时序库(Timing Library)及网表库(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单元,输入端的net function分别是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,判断第一、第二两个布尔表达式是否相同,如果不同则验证其功能的一致性。其中,
两个布尔表达式的形式相同时,直接表明时序库与网表库的标准单元功能相一致;
两个布尔表达式的形式不相同时,则需要判断两个布尔表达式是否等价。
把网表库里面功能转化为布尔表达式之后,与时序库里面的function可能不相同。为了判断两个布尔表达式是否相同,可以通过二叉决策图(BDD)和可满足性测试(SAT)进行验证。
BDD是将两个布尔表达式按照固定顺序转换为一棵二叉树,当变量顺序一定的情况下,树的结构是相同的,时间主要用在构造二叉树的过程中。
利用BDD技术,将两个布尔表达式同时转换为相同顺序的BDD 树,相同功能的布尔表达式对应的BDD都是一样的,如果两个布尔表达式等价,那么BDD树是相同的。所以通过比较BDD可以判断两个布尔表达式是否相同,从而判断两个文件中的功能描述是否相同。
图5为根据本发明的BDD决策图的生成示意图。如图5所示,利用BDD对两个布尔表达式进行比较,并以两个不同的布尔表达式为例进行说明。
f1=(b&c)|(a&!b&!c),f2=(a&!(b^c))|(!a&b&c) 这两个布尔表达式形式不同,但它们对应的真值表是完全相同的,所以按照相同的字符顺序构造出的二叉决策树也是相同的。图5中3)中画出的决策树也是唯一的,其中虚线表示0,实线表示1。为了降低处理的复杂度,对二叉决策树进行规约,所有的输出信号都集中到了0和1这两个点。由此得到图5中4)中唯一的二叉决策图,从而证明这两个表达式是同功能的。
SAT是测试有没有一种解可满足某个表达式,需要将两个需要比较的布尔表达式进行异或,如果存在解,那么这两个布尔表达式就是不相等的,反之无解表示相等。
本发明的检查时序库和网表库的标准单元功能一致性的方法,基于BDD技术,对Timing Library及Verilog的标准单元库文件功能进行对比。Timing Library中的功能在function属性中被定义为布尔表达式,在Verilog文件中,功能被定义为元器件和线网的连接关系。将Verilog中的功能描述转化为布尔表达式,与Timing Library中的function属性定义的布尔表达式进行比较。并且利用经典的BDD或者SAT求解器判断两个布尔表达式是否等价,验证网表库和时序库中标准单元的功能是否一致。
本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种检查时序库和网表库的标准单元功能一致性的方法,其特征在于,包栝以下步骤:
(1)获取时序库及网表库的标准单元的功能文件;
(2)获取时序库中的功能属性,得到第一布尔表达式;
(3)获取网表库中的功能描述,在网表库文件中,通过从端口到线网再到器件进行信号的溯源,将所述功能描述转换为第二布尔表达式;
(4)判断所述第一、第二布尔表达式是否相同,验证时序库和网表库的标准单元功能的一致性;
所述步骤(4)进一步包括,通过可满足性测试判断所述第一、第二布尔表达式是否相同;
所述第一、第二布尔表达式的形式相同时,表明时序库与网表库的标准单元功能相一致;
所述第一、第二布尔表达式的形式不同时,通过二叉决策图判断所述第一、第二布尔表达式是否等价。
2.根据权利要求1所述检查时序库和网表库的标准单元功能一致性的方法,其特征在于:
所述网表库文件包括,通过综合或者转化成门级描述的网表库文件。
3.根据权利要求1所述检查时序库和网表库的标准单元功能一致性的方法,其特征在于,所述步骤(3)进一步包括以下步骤:
(31)所有的网表库文件中的功能定义,均转换为由元功能组成的电路结构;
(32)将网表库中的所述电路结构转换成布尔表达式。
4.根据权利要求3所述检查时序库和网表库的标准单元功能一致性的方法,其特征在于,所述步骤(31)中进一步包括:
根据元器件对应的真值表,定义所述元功能的信号操作结果。
5.根据权利要求3所述检查时序库和网表库的标准单元功能一致性的方法,其特征在于,所述步骤(32)中进一步包括:
依据元器件的真值表得到元器件的处理伪代码。
CN201611242855.0A 2016-12-29 2016-12-29 一种检查时序库和网表库的标准单元功能一致性的方法 Active CN106650136B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611242855.0A CN106650136B (zh) 2016-12-29 2016-12-29 一种检查时序库和网表库的标准单元功能一致性的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611242855.0A CN106650136B (zh) 2016-12-29 2016-12-29 一种检查时序库和网表库的标准单元功能一致性的方法

Publications (2)

Publication Number Publication Date
CN106650136A CN106650136A (zh) 2017-05-10
CN106650136B true CN106650136B (zh) 2020-06-02

Family

ID=58835501

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611242855.0A Active CN106650136B (zh) 2016-12-29 2016-12-29 一种检查时序库和网表库的标准单元功能一致性的方法

Country Status (1)

Country Link
CN (1) CN106650136B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107644137B (zh) * 2017-09-26 2021-08-10 郑州云海信息技术有限公司 一种对接接口定义检查方法及系统
CN108664768A (zh) * 2018-05-15 2018-10-16 桂林电子科技大学 基于sat及obdd桶消元的蛋白质分类方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103164560A (zh) * 2011-12-19 2013-06-19 北京华大九天软件有限公司 一种甚大规模集成电路版图比较工具数据重用方法
CN103678741A (zh) * 2012-09-17 2014-03-26 北京华大九天软件有限公司 一种集成电路版图验证中短路路径的图形优化方法
CN105718702A (zh) * 2016-03-08 2016-06-29 北京工业大学 一种Def库与3D集成电路bookshelf库转换的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103164560A (zh) * 2011-12-19 2013-06-19 北京华大九天软件有限公司 一种甚大规模集成电路版图比较工具数据重用方法
CN103678741A (zh) * 2012-09-17 2014-03-26 北京华大九天软件有限公司 一种集成电路版图验证中短路路径的图形优化方法
CN105718702A (zh) * 2016-03-08 2016-06-29 北京工业大学 一种Def库与3D集成电路bookshelf库转换的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
How Good Is Your Library? Are You Sure?;Paul McLellan;《https://semiwiki.com/eda/empyrean/4624-how-good-is-your-library-are-you-sure/》;20150526;第1-4页 *
基于SOC_Encounter的ASIC芯片后端设计研究;骆礼厅;《中国优秀硕士学位论文全文数据库 信息科技辑》;20160315(第3期);第I135-795页 *

Also Published As

Publication number Publication date
CN106650136A (zh) 2017-05-10

Similar Documents

Publication Publication Date Title
US8479130B1 (en) Method of designing integrated circuit that accounts for device aging
CN101539958B (zh) 一种标准单元库和集成电路的设计方法和装置
US8789004B2 (en) Automatic flow of megacell generation
CN107784136B (zh) 一种标准单元库的创建方法及系统
CN106650136B (zh) 一种检查时序库和网表库的标准单元功能一致性的方法
CN116205171A (zh) 电源开关单元的匹配方法、装置、设备及存储介质
US10176283B2 (en) Equivalence checking of analog models
US8893068B1 (en) Techniques to generate a more accurate simulation model
CN113723045A (zh) 数字集成电路的设计方法
US9836567B2 (en) Method of simulating a semiconductor integrated circuit, computer program product, and device for simulating a semiconductor integrated circuit
CN107784185B (zh) 一种门级网表中伪路径的提取方法、装置及终端设备
US9104829B2 (en) Method of validating timing issues in gate-level simulation
CN107666313B (zh) 一种指定逻辑功能用cmos电路实现的方法
CN113919256A (zh) 一种布尔可满足性验证方法、系统、cnf生成方法及存储装置
US7216321B2 (en) Pattern recognition in an integrated circuit design
CN110763984B (zh) 逻辑电路失效率确定方法、装置、设备及存储介质
US9268891B1 (en) Compact and efficient circuit implementation of dynamic ranges in hardware description languages
Mneimneh et al. REVERSE: Efficient sequential verification for retiming
Hobeika et al. Functional constraint extraction from register transfer level for ATPG
Zhang et al. A fast HDL model for full-custom FPGA verification
US20110191739A1 (en) Circuit design method, circuit design system, and recording medium
US9053271B1 (en) Integrated circuit reset system modification tool
Masoumi et al. New tool for converting high-level representations of finite state machines to verilog hdl
CN111695321B (zh) 电路设计方法及相关的电脑程序产品
Lee et al. Static fault analysis for resilient System-on-Chip design

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 100102 floor 2, block a, No.2, lizezhong 2nd Road, Chaoyang District, Beijing

Patentee after: Beijing Huada Jiutian Technology Co.,Ltd.

Address before: 100102 floor 2, block a, No.2, lizezhong 2nd Road, Chaoyang District, Beijing

Patentee before: HUADA EMPYREAN SOFTWARE Co.,Ltd.

CP01 Change in the name or title of a patent holder