[go: up one dir, main page]

CN106611088B - 一种库单元时延功耗状态完整性的检查方法 - Google Patents

一种库单元时延功耗状态完整性的检查方法 Download PDF

Info

Publication number
CN106611088B
CN106611088B CN201611233543.3A CN201611233543A CN106611088B CN 106611088 B CN106611088 B CN 106611088B CN 201611233543 A CN201611233543 A CN 201611233543A CN 106611088 B CN106611088 B CN 106611088B
Authority
CN
China
Prior art keywords
state
target collection
time delay
power consumption
library
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
CN201611233543.3A
Other languages
English (en)
Other versions
CN106611088A (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
Beijing CEC Huada Electronic Design 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 Beijing CEC Huada Electronic Design Co Ltd filed Critical Beijing CEC Huada Electronic Design Co Ltd
Priority to CN201611233543.3A priority Critical patent/CN106611088B/zh
Publication of CN106611088A publication Critical patent/CN106611088A/zh
Application granted granted Critical
Publication of CN106611088B publication Critical patent/CN106611088B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]

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)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

一种库单元时延功耗状态完整性的检查方法,包括步骤:获取单元库中定义的所有状态集合,组成目标集合;根据所有管脚的名称枚举出所有状态集合,组成状态总集合;根据单元的功能定义,以及不同模型的特点从所述目标集合中求出非法状态集合;基于所述非法状态集合,比较所述状态总集合和所述目标集合,得出重复和缺失的状态集合。本发明提供的库单元时延功耗状态完整性的检查方法,通过检查定义时延和功耗的条件,对时序单元库(Timing Library)中的状态(condition)完备性进行分析,查找出错误定义、重复定义,以及遗漏的状态。

Description

一种库单元时延功耗状态完整性的检查方法
技术领域
本发明涉及集成电路计算机辅助设计领域,尤其涉及一种库单元时延功耗状态完整性的检查方法。
背景技术
在标准单元库、I/O库以及IP器件的时延和功耗定义中,为了计算的准确性,模型都是分不同的状态定义的。在库文件中,时延功耗模型有三种定义格式:leakage_power()、internal_power()及timing(),状态则是用属性when定义在不同的格式中。
而现在的库文件都是由siliconsmart以及liberate等工具自动生成,由于提取库中模型的选项较多,会出现状态定义混乱的情况,目前没有完整的解决方案,因而需要检查状态的完整性。
图1为现有技术中单元及管脚状态定义格式图。在时延和功耗模型中,有三种类型的状态定义需要检查完备性,截取其中的片段进行说明,如图1所示:leakage_power()定义在cell的下一层,分不同的状态定义具体功耗值;internal_power()定义在pin的下一层,分不同的状态,其中有些有定义related_pin,有些没有定义related_pin;timing()也定义在pin的下一层,分不同的状态,不同的timing_type,但是必须定义related_pin。
直观的检查状态完整性的方法,是通过选择所有的输入管脚(pin)进行状态枚举,然后比对枚举结果和出现的状态。
然而实际情况并没有这么简单,模型类型以及输出pin定义的功能(function)格式不同时,状态定义的规则也会不同。并且,还存在双输出、三态、状态表,以及ff和latch等定义更复杂的情况。此时,就需要根据输入输出pin的名称,以及定义的function内容,过滤出可行的状态。
一般情况下,库单元不同模型中状态定义需要满足以下条件:
1)leakage_power()状态,包含有输出pin的状态,利用function定义内容检查,进行布尔表达式的分析,判断哪些状态是可行的;
2)timing()状态,定义在两个端点之间(arc)的时序关系,包括一个输入pin和一个输出pin,输入pin的信号变化会引起输出pin的信号变化,也就是说状态不能确定输出的信号;
3)internal_power()状态,此种状态比较特殊,当定义在两个端点之间(arc)时和timing()状态类似;当定义在在输入pin时,该输入pin的信号变化不会引起输出的变化,也就是说状态能确定输出信号。
因而,提出一种库单元时延功耗状态完整性的检查方法,能够检查功耗时延模型中状态定义的完备性,帮助设计者以及库的提取者得到完整以及规范的库文件数据,成为亟待解决的问题。
发明内容
为了解决现有技术存在的不足,本发明的目的在于提供一种库单元时延功耗状态完整性的检查方法,可以检查功耗时延模型中状态定义的完备性,帮助设计者以及库的提取者得到完整以及规范的库文件数据。
为实现上述目的,本发明提供的库单元时延功耗状态完整性的检查方法,包括以下步骤:
(1)获取单元库中定义的所有状态集合,组成目标集合;(2)根据所有管脚的名称枚举出所有状态集合,组成状态总集合;(3)根据单元的功能定义,以及不同模型的特点从所述目标集合中求出非法状态集合;(4)基于所述非法状态集合,比较所述状态总集合和所述目标集合,得出重复和缺失的状态集合。
所述步骤(1)进一步包括:针对每一个单元,抽取internal_power()、leakage_power()及timing()定义的状态,组成所述目标集合。
所述步骤(2)进一步包括以下步骤:
(21)通过所述目标集合中的状态和单元定义的管脚方向,确定关联的输入及输出管脚的集合;(22)根据输入管脚,得到状态的个数。
所述步骤(3)进一步包括:首先,选出不符合标准单元功能和三态定义的状态;然后,选出不符合模型特点的状态,得到所述非法状态集合。
所述步骤(4)进一步包括:扣除掉所述目标集合中属于所述非法状态集合的部分,得到合法的目标集合;扣除掉所述状态总集合属于所述非法状态集合的部分,得到合法的状态参考集合;求出所述合法的参考集合中多于所述合法的目标集合的部分,得到定义缺失的状态集合;所述目标集合中,定义的状态重复出现的为冗余状态集合。
本发明提供的库单元时延功耗状态完整性的检查方法,通过检查定义时延和功耗的条件,对时序单元库(Timing Library)中的状态(condition)完备性进行分析,查找出错误定义、重复定义,以及遗漏的状态。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:
图1为现有技术中单元及管脚状态定义格式图;
图2为根据本发明的库单元时延功耗状态完整性的检查方法流程图;
图3为根据本发明的数字和状态的转换图;
图4为根据本发明的状态规则图;
图5为根据本发明的状态集合运算图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明提供的库单元时延功耗状态完整性的检查方法,通过检查定义时延和功耗的条件,对时序单元库(Timing Library)中的状态(condition)完备性进行分析,查找出错误定义、重复定义,以及遗漏的状态。
首先,需要获取状态定义中的单元的输入和输出pin;然后,根据不同模型的特点,进行功能(function)分析,过滤错误的状态,错误状态集和用户提供的状态集的交集,可得出用户集合中错误的状态;最后,比对用户提供的状态集和所有正确的状态集合,可得出缺失的和重复的状态。
图2为根据本发明的库单元时延功耗状态完整性的检查方法流程图,下面将参考图2,对本发明的库单元时延功耗状态完整性的检查方法进行详细描述。
在步骤201,准备需要检查的标准单元时序库文件,并读入EDA工具中;
用户在单元库中定义的所有状态集合,就是需要比较的目标集合Set_tar。
在该步骤中,针对每一个单元,抽取internal_power()、leakage_power()及timing()定义的状态,组成目标集合Set_tar。
以timing()为例,按照arc整理出所有的when定义的状态,这些状态组成目标集合Set_tar。
internal_power()及leakage_power()也整理出所有的when定义的状态,这些状态组成目标集合Set_tar。
在步骤202,根据所有管脚(pin)的名称枚举出所有状态总集合Set_ref;
(1)通过目标集合Set_tar中的状态和单元定义的管脚方向,确定关联的输入及输出pin的集合;
(2)数字信号只有0、1两种,根据输入pin的个数N,状态的个数可有2的N次方种。
已知输入管脚(pin)的个数N和名字,可以枚举出2N种状态。
图3为根据本发明的数字和状态的转换图。参考图3,有A和B两个输入pin,可枚举出四种状态。因为输入pin的顺序是确定的,每一个数字对应一个状态,所以状态和数字可通过二进制自由转换。数字的操作比字符串的速度更快,只有在最后需要结果时,才把具体的状态用字符串输出。由此枚举出所有状态的总集即状态总集合Set_ref。
以timing()为例,每一条arc时序里存在的状态,可根据输入及输出管脚进行枚举,比如有三个输入pinA、pinB、pinC及一个输出pin Z。选取pinA和pinZ组成A->Z的arc,pinB和pinC的状态枚举出所有状态BC、!BC、B!C、!B!C,这四个状态组成arc A->Z的状态总集合Set_ref;
在步骤203,根据单元的功能定义,以及不同模型的特点从目标集合Set_tar中求出非法状态集合Set_ill;
首先选出不符合标准单元功能和三态定义的状态,然后选出不符合模型特点的状态,得到的就是非法状态集合。
其中,根据功能定义及输入pin的状态生成的二元决策图(BDD)可求出输出pin的状态。
下面解释,如何根据单元功能和三态属性定义,求出非法状态集合Set_ill。
图4为根据本发明的状态规则图。以一个两输入与门为例,参考图4,分析状态的合法性。这个与门包含了两个输入管脚(pin)A和B,包含的输出管脚(pin)Z的功能(function)定义是A&B。
在从pin A到pin Z的时序(arc)上定义timing(),当when=B时(B=1),不能确定pinZ的输出值,所以在从pin A到pin Z的arc下定义状态B是合法的状态;当when=!B(B=0)时,pin Z为0,确定了pin Z的输出,所以在从pin A到pin Z的时序arc下定义状态!B是不合法的。
在internal_power()里定义的状态就与在timing()里定义的完全不同了。
在pin A上定义internal_power(),当when=B(B=1)时,不能确定pin Z的输出值,所以在pin A下定义状态B是不合法的状态;当when=!B(B=0)时,pin Z肯定为0,确定了Z的输出,所以在pin A下定义状态!B是合法的。
在步骤204,基于非法状态集合,比较状态总集合和目标集合,得出重复和缺失的状态集合。
图5为根据本发明的状态集合运算图,如图5中公式所示,扣除掉用户给出的需要比较的目标集合Set_tar中属于非法状态集合Set_ill的部分,得到合法(即符合规则)的目标集合Set_tar’;同时,扣除掉状态总集合Set_ref属于非法状态集合Set_ill的部分,得到合法的状态参考集合Set_ref’。在上述过程中,可以根据不同模型的特点,及功能定义的分析,过滤掉一部分错误的状态。最后,求出合法的参考集合Set_ref’中多于合法的目标集合Set_tar’的部分,得到用户定义缺失的状态集合Set_missing。而用户定义的目标集合Set_tar中,如果有重复出现的则是冗余状态集合Set_redundant。
本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (3)

1.一种库单元时延功耗状态完整性的检查方法,其特征在于,包括以下步骤:
(1)获取单元库中定义的所有状态集合,组成目标集合;
(2)根据所有管脚的名称枚举出所有状态集合,组成状态总集合;
(3)根据单元的功能定义,以及不同模型的特点从所述目标集合中求出非法状态集合;
(4)基于所述非法状态集合,比较所述状态总集合和所述目标集合,得出重复和缺失的状态集合;
所述步骤(3)进一步包括:首先,选出不符合标准单元功能和三态定义的状态;然后,选出不符合模型特点的状态,得到所述非法状态集合;
所述步骤(4)进一步包括:扣除掉所述目标集合中属于所述非法状态集合的部分,得到合法的目标集合;扣除掉所述状态总集合属于所述非法状态集合的部分,得到合法的状态参考集合;求出所述合法的参考集合中多于所述合法的目标集合的部分,得到定义缺失的状态集合;所述目标集合中,定义的状态重复出现的为冗余状态集合。
2.根据权利要求1所述库单元时延功耗状态完整性的检查方法,其特征在于,所述步骤(1)进一步包括:
针对每一个单元,抽取internal_power()、leakage_power()及timing()定义的状态,组成所述目标集合。
3.根据权利要求1所述库单元时延功耗状态完整性的检查方法,其特征在于,所述步骤(2)进一步包括以下步骤:
(21)通过所述目标集合中的状态和单元定义的管脚方向,确定关联的输入及输出管脚的集合;
(22)根据输入管脚,得到状态的个数。
CN201611233543.3A 2016-12-28 2016-12-28 一种库单元时延功耗状态完整性的检查方法 Active CN106611088B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611233543.3A CN106611088B (zh) 2016-12-28 2016-12-28 一种库单元时延功耗状态完整性的检查方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611233543.3A CN106611088B (zh) 2016-12-28 2016-12-28 一种库单元时延功耗状态完整性的检查方法

Publications (2)

Publication Number Publication Date
CN106611088A CN106611088A (zh) 2017-05-03
CN106611088B true CN106611088B (zh) 2019-10-08

Family

ID=58636082

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611233543.3A Active CN106611088B (zh) 2016-12-28 2016-12-28 一种库单元时延功耗状态完整性的检查方法

Country Status (1)

Country Link
CN (1) CN106611088B (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1258729C (zh) * 2003-11-14 2006-06-07 清华大学 基于虚拟模块的大规模混合模式布图方法
WO2005111874A2 (en) * 2004-05-07 2005-11-24 Mentor Graphics Corporation Integrated circuit layout design methodology with process variation bands
US7937256B2 (en) * 2006-12-02 2011-05-03 Altos Design Automation, Inc. Systems and methods of efficient library characterization for integrated circuit cell libraries
CN102112988B (zh) * 2008-06-10 2015-03-25 绿洲模具公司 用于针对生产工作流的芯片设计中的单元完整性、改变和起点的独立评估的方法和设备

Also Published As

Publication number Publication date
CN106611088A (zh) 2017-05-03

Similar Documents

Publication Publication Date Title
US8266571B2 (en) Methods and devices for independent evaluation of cell integrity, changes and origin in chip design for production workflow
CN105095491B (zh) 基于Petri网基本结构的过程模型修复方法
US5301318A (en) Hierarchical netlist extraction tool
CN103336742B (zh) 一种基于Android的自动化软件黑盒测试系统及方法
CN112560401B (zh) Verilog文件转换方法、装置、存储介质及设备
WO2009152249A2 (en) Methods and devices for independent evaluation of cell integrity, changes and origin in chip design for production workflow
CN107394892B (zh) 一种智能变电站间隔变动的调试范围确定方法及系统
KR20190121372A (ko) 시스템 아키텍처를 표현하는 속성 그래프 데이터 모델
CN118503270B (zh) 一种nl2sql数据集构建方法、装置、设备及介质
CN116126692A (zh) 一种基于python的算法工具自动化测试系统及方法
CN109408385A (zh) 一种基于缺陷规则和分类反馈的缺陷发现方法
Huang et al. Errortracer: Design error diagnosis based on fault simulation techniques
US8001503B2 (en) Method and system for automatically accessing internal signals or ports in a design hierarchy
CN106611088B (zh) 一种库单元时延功耗状态完整性的检查方法
CN120832858A (zh) 芯片后仿真验证加速方法、系统、设备以及存储介质
US20030046649A1 (en) Model-based logic design
US20110191739A1 (en) Circuit design method, circuit design system, and recording medium
CN112380798A (zh) 参数检查方法、装置、设备和存储介质
CN120849299B (zh) 用于数据库内核测试的基于算子组合的sql生成方法
CN112214401B (zh) 一种基于模型检测的标准模型分析方法
CN115422863B (zh) 一种嵌入式的逻辑优化验证流程框架及验证方法
Adamov et al. Electronic system level models for functional verification of system-on-chip
CN121051760A (zh) 一种基于图遍历规则生成的Verilog漏洞检测方法
CN120849299A (zh) 用于数据库内核测试的基于算子组合的sql生成方法
JP4781994B2 (ja) 信号波形解析装置

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
CP03 Change of name, title or address
CP03 Change of name, title or address

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.