CN106777441B - 时序约束管理方法及装置 - Google Patents
时序约束管理方法及装置 Download PDFInfo
- Publication number
- CN106777441B CN106777441B CN201510824493.5A CN201510824493A CN106777441B CN 106777441 B CN106777441 B CN 106777441B CN 201510824493 A CN201510824493 A CN 201510824493A CN 106777441 B CN106777441 B CN 106777441B
- Authority
- CN
- China
- Prior art keywords
- module
- detected
- sub
- time sequence
- constraint
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/3312—Timing analysis
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
本发明实施例提供一种时序约束管理方法及装置,该方法包括:确定待检测子模块的待检测的时序约束,待检测子模块为顶层模块中的任一子模块;根据待检测的时序约束、以及顶层数据库中存储的顶层模块的时序约束、顶层模块中除待检测子模块外的其它子模块的时序约束,判断待检测的时序约束是否满足预设约束条件;当待检测的时序约束满足预设约束条件时,向顶层模块发送待检测的时序约束,以使顶层模块根据待检测的时序约束对待检测模块进行更新。用以提高对修改后的子模块的时序约束的检测效率,进而提高电路的整体设计效率。
Description
技术领域
本发明实施例涉及电路设计领域,尤其涉及一种时序约束管理方法及装置。
背景技术
在电路的设计过程中,为了便于电路的设计以及维护,通常对电路采用层次化设计,层次化设计的电路由至少一个顶层模块构成,各顶层模块中包括多个子模块,为了保证整个电路可以正常且高效的运行,需要对各顶层模块以及各顶层模块中的子模块进行时序约束。
在电路设计初期阶段,先根据电路的时序约束为电路中的各顶层模块设计时序约束,然后根据顶层模块的时序约束为顶层模块中的子模块设计粗略的时序约束,在电路设计初期阶段之后,当顶层模块中的基本时序模型或者设计环境发生变化时,需要对该顶层模块中的部分子模块的时序约束进行修改;在现有技术中,通常对子模块的所有设计(包括时序约束)进行优化修改后,形成修改后的子模块,然后将修改后的整个子模块拼接至顶层模块中,并通过如下方式对修改后的子模块的时序约束进行检测:在顶层模块中运行顶层模块中的各子模块,在各子模块的运行过程中,根据修改后的子模块以及与该修改后的子模块具有连接关系的子模块的运行状况,判断修改后的子模块与和该修改后的子模块具有连接关系的子模块之间是否存在时序冲突,和/或,通过顶层模块中的所有子模块的运行时长,判断修改后的子模块的时序约束与其它子模块的时序约束的结合是否满足顶层模块的时序约束。
然而,在现有技术中,在顶层模块中运行各子模块的过程中,需要对各子模块中的部件进行调用,由于顶层模块中各子模块的部件通常较多,因此,在对修改后的子模块的时序约束进行检测过程中,需要对拼接形成的顶层模块中所有子模块进行较多的调用,使得检测过程消耗的时间较多,对修改后的子模块的时序约束的检测效率低下,导致电路设计的整体效率低下。
发明内容
本发明实施例提供一种时序约束管理方法及装置,以实现提高对待检测子模块的待检测的时序约束进行检测的效率,进而提高电路的整体设计效率。
第一方面,本发明实施例提一种时序约束管理方法,所述方法应用于时序约束系统,所述时序约束系统中包括顶层模块和所述顶层模块对应的顶层数据库,所述顶层模块中包括至少两个子模块,包括:
确定待检测子模块的待检测的时序约束,所述待检测子模块为所述顶层模块中的任一子模块;
根据所述待检测的时序约束、以及所述顶层数据库中存储的所述顶层模块的时序约束、所述顶层模块中除所述待检测子模块外的其它子模块的时序约束,判断所述待检测的时序约束是否满足预设约束条件;
当所述待检测的时序约束满足预设约束条件时,向所述顶层模块发送所述待检测的时序约束,以使所述顶层模块根据所述待检测的时序约束对所述待检测模块进行更新。
第二方面,本发明实施例提供一种时序约束管理装置,所述时序约束管理装置应用于时序约束系统,所述时序约束系统包括顶层模块和所述顶层模块对应的顶层数据库,所述顶层模块中包括至少两个子模块,所述时序约束管理装置包括确定模块、检测模块以及发送模块,其中,
所述确定模块,用于确定待检测子模块的待检测的时序约束,所述待检测子模块为所述顶层模块中的任一子模块;
所述检测模块,用于根据所述确定模块确定的所述待检测的时序约束、以及所述顶层数据库中存储的所述顶层模块的时序约束、所述顶层模块中除所述待检测子模块外的其它子模块的时序约束,判断所述待检测的时序约束是否满足预设约束条件;
所述发送模块,用于在检测模块判断所述待检测的时序约束满足所述预设约束条件时,向所述顶层模块发送所述待检测的时序约束,以使所述顶层模块根据所述待检测的时序约束对所述待检测模块进行更新。
本发明实施例提供的时序约束管理方法及装置,先确定待检测子模块的待检测的时序约束,待检测子模块为顶层模块中的任一子模块,然后根据待检测的时序约束、以及顶层数据库中存储的顶层模块的时序约束、顶层模块中除待检测子模块外的其它子模块的时序约束,判断待检测的时序约束是否满足预设约束条件,当待检测的时序约束满足预设约束条件时,将待检测的时序约束存储至顶层数据库中,向顶层模块发送待检测的时序约束,以使顶层模块根据待检测的时序约束对待检测模块进行更新;在上述过程中,由于无需对顶层模块中的所有子模块进行运行,只需要根据顶层数据库中预先存储的数据即可判断待检测的时序约束是否满足预设约束条件,减少了对待检测时序约束的检测试时间,提高了检测效率,进而提高电路的整体设计效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的时序约束管理方法的应用场景示意图;
图2为本发明提供的时序约束管理方法的流程示意图一;
图3为本发明提供的时序约束管理方法的流程示意图二;
图4为本发明提供的时序约束管理系统的结构示意图;
图5为本发明提供的时序约束管理装置的结构示意图一;
图6为本发明提供的时序约束管理装置的结构示意图二。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明提供的时序约束管理方法的应用场景示意图,请参照图1,该时序约束系统中包括N个顶层模块,分记为顶层模块1、顶层模块2-顶层模块N,各顶层模块中包括至少两个子模块;值得说明的是,顶层模块和子模块是相对的,一个模块既可以是它下一层模块的顶层模块,也可以是它上一层模块的子模块;例如,模块1中包括模块A和模块B,模块A中包括模块M和模块N,则模块A为模块1的子模块,同时,模块A也是模块M和模块N的顶层模块。各顶层模块和各顶层模块中的子模块均具有各自的时序约束,在电路设计过程中,当对一顶层模块中的子模块的时序约束进行修改后,需要对子模块的修改后的时序约束进行检测,以判断修改后的时序约束的是否符合预设条件;下面采用具体实施例对时序约束管理方法进行详细说明。
图2为本发明提供的时序约束管理方法的流程示意图一,该方法应用于时序约束系统,时序约束系统中包括顶层模块和顶层模块对应的顶层数据库,各顶层模块中包括至少两个子模块,请参照图2,该方法可以包括:
S201、确定待检测子模块的待检测的时序约束,待检测子模块为顶层模块中的任一子模块;
S202、根据待检测的时序约束、以及顶层数据库中存储的顶层模块的时序约束、顶层模块中除待检测子模块外的其它子模块的时序约束,判断待检测的时序约束是否满足预设约束条件;
S203、当所述待检测的时序约束满足预设约束条件时,向顶层模块发送待检测的时序约束,以使顶层模块根据待检测的时序约束对待检测模块进行更新。
在图2所示的实施例中,每一个顶层模块均对应一个顶层数据库,顶层数据库用于存储顶层模块的时序约束、以及顶层模块中各子模块的时序约束;在电路设计初级阶段,为各顶层模块设计时序约束,并根据顶层模块的时序约束为顶层模块中的各子模块设计粗略的时序约束,然后,将顶层模块的时序约束、顶层模块中各子模块的时序约束存放至该顶层模块的顶层数据库中。
在电路设计初级阶段之后的任一阶段,可以根据实际需要对顶层模块中的任一子模块中的时序约束进行修改,并对修改后的时序约束进行检测;下面以顶层模块中的任一待检测子模块的待检测的时序约束的检测过程为例,对图1所示的时序约束管理方法进行详细说明。
在确定待检测子模块的待检测的时序约束之后,在顶层数据库中获取顶层数据库中存储的顶层模块的时序约束、顶层模块中除待检测子模块外的其它子模块的时序约束,并根据待检测的时序约束、在顶层数据库中获取得到的顶层模块的时序约束、顶层模块中除待检测子模块外的其它子模块的时序约束,判断待检测的时序约束是否满足预设约束条件,可选的,预设约束条件可以为待检测子模块的待检测的时序约束和其它子模块的时序约束的结合,满足顶层模块的时序约束。
若判断待检测的时序约束满足预设约束条件,向顶层模块发送待检测的时序约束,以使顶层模块根据待检测的时序约束对待检测模块进行更新。若判断待检测的时序约束不满足预设约束条件,可选的,可以向用户反馈待检测时序约束不满足预设约束条件的分析报告,以使得用户可以根据分析报告对待检测的时序约束进行进一步的修改。
进一步的,在图1所示的实施例中,在电路设计初级阶段之后的任一阶段,可以先对子模块的部分时序约束进行修改以及验证,在验证修改的部分时序约束符合要求时,再对该子模块的其它部分时序约束进行修改,依次类推,直至完成整个子模块以及整个电路的时序约束的修改及验证;通过对电路中各子模块的时序约束进行逐步修改验证,易于定位故障点,过程简单,进而提高电路设计的整体效率。
下面,以具体示例对图1所示的方法进行详细说明。
假设顶层模块1包括3个子模块,分别记为子模块A、子模块B和子模块C,假设预设约束条件为子模块A、子模块B和子模块C的时序约束的结合满足顶层模块1的时序约束。
在电路设计初级阶段,为顶层模块1设计的时序约束为:从顶层模块的信号输入端至信号输出端的延时范围为:15纳秒(nanosecond,简称ns)-20ns,根据顶层模块1的时序约束为子模块A设计的时序约束为:5ns-7ns,子模块B的时序约束为3ns-5ns,子模块C的时序约束为:7ns-8ns;在初级阶段设计完成后,将顶层模块1的时序约束、子模块A-子模块C的时序约束、以及子模块A-子模块C之间的拓扑连接关系存储至顶层模块1的顶层数据库1中。
在电路设计初级阶段之后,根据实际需要,将子模块A的时序约束修改为6ns-8ns,在验证子模块A的待检测的时序约束(6ns-8ns)是否满足预设约束条件时,从顶层数据库1中,获取顶层模块1的时序约束15ns-20ns,子模块B的时序约束3ns-5ns,子模块C的时序约束为7ns-8ns,并确定子模块A的待检测的时序约束、子模块B和子模块C的时序约束的结合为16ns-21ns,子模块A-子模块C结合后的时序约束的最大延时为21ns,大于顶层模块1的最大延时20ns,因此,确定子模块A的待检测的时序约束6ns-8ns不满足预设条件。
再假设在电路设计初级阶段之后,根据实际需要,将子模块A的时序约束修改为5ns-6ns,在验证子模块A的待检测的时序约束(5ns-6ns)是否满足预设约束条件时,从顶层数据库1中,获取顶层模块1的时序约束15ns-20ns,子模块B的时序约束3ns-5ns,子模块C的时序约束为7ns-8ns,并确定子模块A的待检测的时序约束、子模块B和子模块C的时序约束的结合为15ns-19ns,子模块A-子模块C结合后的时序约束的范围在顶层模块1的时序约束的范围之间,确定子模块A的待检测的时序约束满足预设条件,则将子模块A的待检测的时序约束5ns-6ns存储至顶层数据库1中,并向顶层模块1发送子模块A的待检测的时序约束,以使顶层模块1根据子模块A的时序约束更新为5ns-6ns(待检测的时序约束)。
本发明实施例提供的时序约束管理方法,先确定待检测子模块的待检测的时序约束,待检测子模块为顶层模块中的任一子模块,然后根据待检测的时序约束、以及顶层数据库中存储的顶层模块的时序约束、顶层模块中除待检测子模块外的其它子模块的时序约束,判断待检测的时序约束是否满足预设约束条件,当所述待检测的时序约束满足预设约束条件时,将待检测的时序约束存储至顶层数据库中,向顶层模块发送待检测的时序约束,以使顶层模块根据待检测的时序约束对待检测模块进行更新;在上述过程中,由于无需对顶层模块中的所有子模块进行运行,只需要根据顶层数据库中预先存储的数据即可判断待检测的时序约束是否满足预设约束条件,减少了对待检测时序约束的检测试时间,提高了检测效率,进而提高电路的整体设计效率。
在图2所示的实施例中,为了便于对顶层模块中的各子模块的时序约束进行管理,在时序约束系统中,每一个子模块还可以对应一个子数据库,各子模块和其子数据库之间具有交互接口,子模块可以通过和子数据库之间的交互接口获取子数据库中的数据;各模块的子数据库和顶层数据库之间具有交互接口,各子模块的子数据库和顶层数据库之间可以通过交互接口实现数据库中数据传输,在图2所示实施例的基础上,本发明实施例给出了图3所示的实施例。
图3为本发明提供的时序约束管理方法的流程示意图二,在图2所示实施例的基础上,请参照图3,该方法可以包括:
S301、获取修改信息、以及顶层数据库中存储的待检测子模块的时序约束;
S302、根据修改信息,对获取得到的顶层数据库中存储的待检测子模块的时序约束进行修改,得到待检测子模块的待检测的时序约束;
S303、将待检测的时序约束保存至待检测子模块的子数据库中;
S304、当接收到提交信号时,通过待检测子模块的子数据库与顶层数据库之间的交互接口,将待检测的时序约束从待检测模块的子数据库中提交至顶层数据库中,以使顶层数据库将顶层数据库中存储的待检测子模块的初始时序约束更新为待检测的时序约束;
S305、根据待检测的时序约束、以及顶层数据库中存储的顶层模块的时序约束、顶层模块中除待检测子模块外的其它子模块的时序约束,判断待检测的时序约束是否满足预设约束条件;
S306、当待检测的时序约束满足预设约束条件时,向顶层模块发送待检测的时序约束,以使顶层模块根据待检测的时序约束对待检测模块进行更新。
在S301中,当需要对待检测子模块的时序约束进行修改时,需要获取修改信息以及顶层数据库中存储的待检测子模块的时序约束,可选的,获取得到的修改信息可以为用户输入的修改信息;在获取顶层数据库中存储的待检测子模块的时序约束的过程中,由于顶层数据库中存储着待检测子模块的最新的时序约束,因此,首先要获取顶层数据库中存储的待检测子模块的时序约束,但是由于顶层数据库和待检测子模块之间不具备交互接口,因此待检测子模块需要通过子数据库获取顶层数据库中存储的待检测子模块的时序约束。
在实际应用过程中,在电路设计初级阶段之后,若第一次对待检测子模块的时序约束进行修改时,待检测子模块的子数据库中为存储任何数据,此时,可以通过子数据库与顶层数据库之间的交互接口,获取顶层数据库中存储的待检测子模块的时序约束;若第N(N为大于1的整数)次对待检测子模块的时序约束进行修改时,待检测子模块的子数据库中存储着待检测子模块的时序约束,且子数据库中存储的待检测子模块的时序约束与顶层数据库中存储的待检测子模块的时序约束相同,此时,在待检测子模块的子数据库中即可获取顶层数据库中存储的待检测子模块的时序约束。具体的,获取顶层数据库中存储的待检测子模块的时序约束,可以包括:
判断待检测子模块的子数据库中是否存在待检测子模块的时序约束;
若判断结果为是,则通过子数据库与待检测子模块之间的接口,在子数据库中获取待检测子模块的时序约束,子数据库中存储的待检测子模块的时序约束与顶层模块中存储的待检测模块的时序约束相同;
若判断结果为否,通过顶层数据库与子数据库之间的交互接口,将顶层数据库中存储的待检测子模块的时序约束保存至子数据库中,并通过子数据库与待检测子模块之间的接口,在子数据库中获取顶层数据库中存储的待检测子模块的时序约束。
在S302-S304中,在获取得到修改信息、以及顶层数据库中存储的待检测子模块的时序约束后,可选的,可以在待检测子模块中,根据修改信息对获取得到的顶层数据库中存储的待检测子模块的时序约束进行修改,进而得到待检测子模块的待检测的时序约束;在得到待检测的时序约束后,为了方便需要对待检测的时序约束进行修改时,方便获取待检测的时序约束,将待检测的时序约束保存至待检测子模块的子数据库中;进一步的,为了便于顶层模块中的其它子模块对待检测的时序约束的使用,通过待检测子模块的子数据库和顶层数据库之间的交互接口,将待检测的时序约束从待检测模块的子数据库中提交至顶层数据库中,以使顶层数据库将顶层数据库中存储的待检测子模块的初始时序约束更新为待检测的时序约束。
在S305中,在判断待检测的时序约束是否满足预设约束条件时,根据预设约束条件的不同,判断的过程也不相同,在实际应用的过程中,可以根据实际需要设置预设约束条件。
一种可行的实现方式:预设约束条件为:顶层模块中各子模块的时序约束的整合后的时序约束,满足顶层模块的时序约束。
相应的,根据顶层数据库中的顶层模块的时序约束、顶层模块中除待检测子模块外的其它子模块的时序约束、以及待检测的时序约束,判断待检测的时序约束是否满足预设约束条件,包括:对待检测的时序约束和顶层数据库存储的其它子模块的时序约束进行整合,得到整合后的时序约束,根据整合后的时序约束和顶层模块的时序约束,判断待检测的时序约束是否满足预设约束条件。
示例性的,假设顶层模块的时序约束为10ns-15ns,待检测的时序约束为:4ns-5ns,其它子模块的时序约束分别为3ns-4ns、5ns-6ns,对待检测的时序约束以及其它子模块的时序约束进行整合后,得到整合后的时序约束为12ns-15ns,整合后的时序约束在顶层模块的时序约束的范围内,进而可以根据整合后的时序约束以及顶层模块的时序约束,确定待检测的时序约束满足预设约束条件。
另一种可行的实现方式:预设约束条件为:待检测子模块与和待检测子模块具有连接关系的子模块之间不存在时序冲突。
在该种可行的实现方式中,顶层数据库还包括顶层模块中各子模块件的拓扑关系,相应的,根据顶层数据库中的顶层模块的时序约束、顶层模块中除待检测子模块外的其它子模块的时序约束、以及待检测的时序约束,判断待检测的时序约束是否满足预设约束条件,包括:根据拓扑关系,确定与待检测子模块具有连接关系的级联子模块,并确定待检测的时序约束和顶层数据库存储的级联子模块的时序约束之间的时序关系,根据时序关系判断待检测的时序约束是否满足预设约束条件。
示例性的,假设根据顶层模块中各子模块之间的拓扑连接关系,可以确定与待检测子模块具有级联关系的子模块为子模块1,待检测子模块的输出端口与子模块1的输入端口相连;假设根据子模块1的时序约束,确定子模块1的输入端口的输入信号需要在第i个时钟周期之前到达,根据待检测子模块的待检测的时序约束,确定待检测子模块输入端口的输出信号在第j个时钟周期时输出。
若j小于或等于i,则待检测子模块的输出端口的输出信号无法按时到达子模块1的输入接口,进而确定待检测子模块的时序约束与子模块1之间的时序约束存在时序冲突。
若j大于i,则待检测子模块的输出端口的输出信号可以按时到达子模块1的输入接口,进而确定待检测子模块的时序约束与子模块1之间的时序约束不存在时序冲突。
在S306中,可选的,可以通过顶层数据库与顶层模块之间的交互接口,将顶层数据库中存储的待检测的时序约束发送至顶层模块,以使顶层模块根据待检测的时序约束对待检测模块进行更新。
图4为本发明提供的时序约束管理系统的结构示意图,下面,请参照图4,对图3所示的时序约束管理方法进行进一步的说明。
请参照图4,该时序约束管理系统中包括顶层模块401、顶层数据库402、子模块的子数据库403A-403N,测试子模块404A-404B;需要说明的是,在实际的电路设计过程中,为了便于各子模块的开发以及维护,不同的研发人员分别在各子模块中对该子模块进行设计,在对子模块设计完成后,将对子模块的优化或者整个子模块更新至顶层模块中;在图4中,子模块A401A与测试子模块A404A的实质相同,子模块B401B与测试子模块B404B的实质相同,为了便于描述,对子模块的名称进行了区分。
在图4所示的实施例中,顶层模块401和顶层数据库402之间具有交互接口,顶层数据库402和子数据库A-子数据库N之间分别具有交互接口,各子模块的子数据库和各自对应的测试子模块之间具有交互接口,可以通过交互接口进行数据传输。
在电路设计的初级阶段,先设计顶层模块401的时序约束,然后根据顶层模块401的时序约束,设计各子模块401A-401N的时序约束,以及各子模块401A-401N之间的拓扑连接关系,然后通过顶层模块401和顶层数据库402之间的交互接口,将顶层模块401的时序约束、各子模块401A-401N的时序约束以及拓扑连接关系存储至顶层数据库402中。
在电路设计的初级阶段之后的任一阶段,当需要顶层模块中的任一子模块的时序约束进行修改时,在测试子模块中对子模块的时序约束进行修改,并对修改后的时序约束进行测试,下面,以对子模块A的时序约束进行修改以及测试的过程为例进行说明。
当需要对子模块A的时序约束进行修改时,需要根据实际需求,在测试子模块A中进行时序约束的修改,具体的:测试子模块A先判断子数据库A中是否存在子模块A的时序约束,若存在,则通过测试子模块A与子数据库A之间的交互接口,在子数据库A中获取子模块A的时序约束,若不存在,子数据库A通过和顶层数据库402之间的交互接口,在顶层数据库402中获取子模块A的时序约束,并通过和测试子模块A之间的交互接口传输至测试子模块A;在测试子模块A获取得到子模块A的时序约束后,将子模块A的时序约束应用于测试子模块A,并在测试子模块A中对子模块A的时序约束进行修改,得到子模块A的待测试的时序约束。
测试子模块A通过和子数据库A之间的交互接口,将待测试的时序约束传输中子数据库A中,子数据库A对待测试的时序约束进行存储,然后子数据库A将子模块A的待测试的时序约束传输至顶层数据库中,同时,顶层数据库中将子模块A修改前的时序约束进行备份处理,以使得当需要子模块A修改前的时序约束时,可以在顶层数据库中获取得到。
在顶层数据库中,根据子模块A的待测试时序约束、顶层模块的时序约束、以及顶层数据库中存储的子模块B-子模块N的时序约束,判断待测试的时序约束是否满足预设约束条件,可选的,预设约束条件可以存储在顶层数据库中;若待测试的时序约束不满足预设约束条件,对子模块A的时序约束进行再次修改,重复上述过程,直到修改后的子模块A的待测试的时序约束满足预设约束条件,然后顶层数据库402通过和顶层模块401之间的交互接口将子模块A的待检测的时序约束传输至顶层模块401,以使得顶层模块401根据子模块A的待检测的时序约束对子模块A进行更新。
当然,在对子模块A进行更新后,还可以通过上述方法对其它子模块进行更新,直至整个电路设计完成;通过本发明提供的时序约束管理方法,在初级设计阶段之后的任一阶段,可以随时对任一子模块的时序约束进行修改并进行测试,无需在整个子模块测试完成后再对该子模块的时序约束进行测试,缩短设计周期,并且在上述对待测试时序约束进行测试的方法简单方便,无需通过运行整个顶层模块中的各个部件,减少检测时间,提高测试效率,进而提高整个电路的设计效率。
图5为本发明提供的时序约束管理装置的结构示意图一,该时序约束管理装置应用于时序约束系统,时序约束系统包括顶层模块和顶层模块对应的顶层数据库,顶层模块中包括至少两个子模块,时序约束管理装置包括确定模块501、检测模块502以及发送模块503,其中,
确定模块501,用于确定待检测子模块的待检测的时序约束,待检测子模块为顶层模块中的任一子模块;
检测模块502,用于根据确定模块501确定的待检测的时序约束、以及顶层数据库中存储的顶层模块的时序约束、顶层模块中除待检测子模块外的其它子模块的时序约束,判断待检测的时序约束是否满足预设约束条件;
发送模块503,用于在检测模块502判断待检测的时序约束满足预设约束条件时,向顶层模块发送待检测的时序约束,以使顶层模块根据待检测的时序约束对待检测模块进行更新。
图6为本发明提供的时序约束管理装置的结构示意图二,在图5所示实施例的基础上,请参照图6,该时序约束管理装置还可以包括保存模块504和提交模块505,其中,
保存模块504,用于将待检测的时序约束保存至待检测子模块的子数据库中;
提交模块505,用于当接收到提交信号时,通过待检测子模块的子数据库与顶层数据库之间的交互接口,将待检测的时序约束从待检测模块的子数据库中提交至顶层数据库中,以使顶层数据库将顶层数据库中存储的待检测子模块的初始时序约束更新为待检测的时序约束。
进一步的,确定模块501可以包括获取单元5011和修改单元5012,其中,
获取单元5011,用于获取修改信息、以及顶层数据库中存储的待检测子模块的时序约束;
修改单元5012,用于根据修改信息,对获取单元5011获取得到的顶层数据库中存储的待检测子模块的时序约束进行修改,得到待检测子模块的待检测的时序约束。
进一步的,确定模块501还可以包括判断单元5013;
判断单元5013,用于判断待检测子模块的子数据库中是否存在待检测子模块的时序约束;
相应的,获取单元5011,用于在判断单元5013判断待检测子模块的子数据库中存在待检测子模块的时序约束时,通过子数据库与待检测子模块之间的接口,在子数据库中获取待检测子模块的时序约束,子数据库中存储的待检测子模块的时序约束与顶层模块中存储的待检测模块的时序约束相同;
获取单元5011,用于在判断单元5013判断待检测子模块的子数据库中不存在待检测子模块的时序约束时,通过顶层数据库与子数据库之间的交互接口,将顶层数据库中存储的待检测子模块的时序约束保存至子数据库中,并通过子数据库与待检测子模块之间的接口,在子数据库中获取顶层数据库中存储的待检测子模块的时序约束。
可选的,发送模块503具体可以用于:
通过顶层数据库与顶层模块之间的交互接口,将顶层数据库中存储的待检测的时序约束发送至顶层模块,以使顶层模块根据待检测的时序约束对待检测模块进行更新。
在图6所示的实施例中,可选的,检测模块502可以包括整合单元5021和第一检测单元5022:
整合单元5021,用于对待检测的时序约束和顶层数据库存储的其它子模块的时序约束进行整合,得到整合后的时序约束;
第一检测单元5022,用于根据整合后的时序约束和顶层模块的时序约束,判断待检测的时序约束是否满足预设约束条件。
在图6所示的实施例中,顶层数据库还包括顶层模块中各子模块件的拓扑关系,相应的,检测模块502可以包括确定单元5023和第二检测单元5024:
确定单元5023,用于根据拓扑关系,确定与待检测子模块具有连接关系的级联子模块,并确定待检测的时序约束和顶层数据库存储的级联子模块的时序约束之间的时序关系;
第二检测单元5024,用于根据时序关系判断待检测的时序约束是否满足预设约束条件。
本实施例所示的时序约束管理装置,可执行上述方法实施例所示的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (14)
1.一种时序约束管理方法,所述方法应用于时序约束系统,所述时序约束系统中包括顶层模块和所述顶层模块对应的顶层数据库,所述顶层模块中包括至少两个子模块,其特征在于,包括:
确定待检测子模块的待检测的时序约束,所述待检测子模块为所述顶层模块中的任一子模块;
根据所述待检测的时序约束、以及所述顶层数据库中存储的所述顶层模块的时序约束、所述顶层模块中除所述待检测子模块外的其它子模块的时序约束,判断所述待检测的时序约束是否满足预设约束条件;
当所述待检测的时序约束满足预设约束条件时,向所述顶层模块发送所述待检测的时序约束,以使所述顶层模块根据所述待检测的时序约束对所述待检测子模块进行更新。
2.根据权利要求1所述的方法,其特征在于,所述确定待检测子模块的待检测的时序约束之后,包括:
将所述待检测的时序约束保存至所述待检测子模块的子数据库中;
当接收到提交信号时,通过所述待检测子模块的子数据库与所述顶层数据库之间的交互接口,将所述待检测的时序约束从所述待检测子模块的子数据库中提交至所述顶层数据库中,以使所述顶层数据库将所述顶层数据库中存储的所述待检测子模块的初始时序约束更新为所述待检测的时序约束。
3.根据权利要求2所述的方法,其特征在于,所述确定待检测子模块的待检测的时序约束,包括:
获取修改信息以及所述顶层数据库中存储的所述待检测子模块的时序约束;
根据所述修改信息,对获取得到的所述顶层数据库中存储的所述待检测子模块的时序约束进行修改,得到所述待检测子模块的待检测的时序约束。
4.根据权利要求3所述的方法,其特征在于,所述获取所述顶层数据库中存储的所述待检测子模块的时序约束,包括:
判断所述待检测子模块的子数据库中是否存在所述待检测子模块的时序约束;
若判断结果为是,则通过所述子数据库与所述待检测子模块之间的接口,在所述子数据库中获取所述待检测子模块的时序约束,所述子数据库中存储的所述待检测子模块的时序约束与所述顶层模块中存储的所述待检测子模块的时序约束相同;
若判断结果为否,通过所述顶层数据库与所述子数据库之间的交互接口,将所述顶层数据库中存储的所述待检测子模块的时序约束保存至所述子数据库中,并通过所述子数据库与所述待检测子模块之间的接口,在所述子数据库中获取所述顶层数据库中存储的待检测子模块的时序约束。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述向所述顶层模块发送所述待检测的时序约束,以使所述顶层模块根据所述待检测的时序约束对所述待检测子模块进行更新,包括:
通过所述顶层数据库与所述顶层模块之间的交互接口,将所述顶层数据库中存储的所述待检测的时序约束发送至所述顶层模块,以使所述顶层模块根据所述待检测的时序约束对所述待检测子模块进行更新。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述根据所述顶层数据库中的所述顶层模块的时序约束、所述顶层模块中除所述待检测子模块外的其它子模块的时序约束、以及所述待检测的时序约束,判断所述待检测的时序约束是否满足预设约束条件,包括:
对所述待检测的时序约束和所述顶层数据库存储的其它子模块的时序约束进行整合,得到整合后的时序约束;
根据所述整合后的时序约束和所述顶层模块的时序约束,判断所述待检测的时序约束是否满足预设约束条件。
7.根据权利要求1-4任一项所述的方法,其特征在于,所述顶层数据库还包括所述顶层模块中各子模块间的拓扑关系;
相应的,所述根据所述顶层数据库中的所述顶层模块的时序约束、所述顶层模块中除所述待检测子模块外的其它子模块的时序约束、以及所述待检测的时序约束,判断所述待检测的时序约束是否满足预设约束条件,包括:
根据所述拓扑关系,确定与所述待检测子模块具有连接关系的级联子模块,并确定所述待检测的时序约束和所述顶层数据库存储的所述级联子模块的时序约束之间的时序关系,根据所述时序关系判断所述待检测的时序约束是否满足预设约束条件。
8.一种时序约束管理装置,所述时序约束管理装置应用于时序约束系统,所述时序约束系统包括顶层模块和所述顶层模块对应的顶层数据库,所述顶层模块中包括至少两个子模块,其特征在于,所述时序约束管理装置包括确定模块、检测模块以及发送模块,其中,
所述确定模块,用于确定待检测子模块的待检测的时序约束,所述待检测子模块为所述顶层模块中的任一子模块;
所述检测模块,用于根据所述确定模块确定的所述待检测的时序约束、以及所述顶层数据库中存储的所述顶层模块的时序约束、所述顶层模块中除所述待检测子模块外的其它子模块的时序约束,判断所述待检测的时序约束是否满足预设约束条件;
所述发送模块,用于在检测模块判断所述待检测的时序约束满足所述预设约束条件时,向所述顶层模块发送所述待检测的时序约束,以使所述顶层模块根据所述待检测的时序约束对所述待检测子模块进行更新。
9.根据权利要求8所述的时序约束管理装置,其特征在于,所述时序约束管理装置还包括保存模块和提交模块,其中,
所述保存模块,用于将所述待检测的时序约束保存至所述待检测子模块的子数据库中;
所述提交模块,用于当接收到提交信号时,通过所述待检测子模块的子数据库与所述顶层数据库之间的交互接口,将所述待检测的时序约束从所述待检测子模块的子数据库中提交至所述顶层数据库中,以使所述顶层数据库将所述顶层数据库中存储的所述待检测子模块的初始时序约束更新为所述待检测的时序约束。
10.根据权利要求9所述的时序约束管理装置,其特征在于,所述确定模块包括获取单元和修改单元,其中,
所述获取单元,用于获取修改信息、以及所述顶层数据库中存储的所述待检测子模块的时序约束;
所述修改单元,用于根据所述修改信息,对所述获取单元获取得到的所述顶层数据库中存储的所述待检测子模块的时序约束进行修改,得到所述待检测子模块的待检测的时序约束。
11.根据权利要求10所述的时序约束管理装置,其特征在于,所述确定模块还包括判断单元:
所述判断单元,用于判断所述待检测子模块的子数据库中是否存在所述待检测子模块的时序约束;
所述获取单元,用于在所述判断单元判断所述待检测子模块的子数据库中存在所述待检测子模块的时序约束时,通过所述子数据库与所述待检测子模块之间的接口,在所述子数据库中获取所述待检测子模块的时序约束,所述子数据库中存储的所述待检测子模块的时序约束与所述顶层模块中存储的所述待检测子模块的时序约束相同;
所述获取单元,用于在所述判断单元判断所述待检测子模块的子数据库中不存在所述待检测子模块的时序约束时,通过所述顶层数据库与所述子数据库之间的交互接口,将所述顶层数据库中存储的所述待检测子模块的时序约束保存至所述子数据库中,并通过所述子数据库与所述待检测子模块之间的接口,在所述子数据库中获取所述顶层数据库中存储的待检测子模块的时序约束。
12.根据权利要求8-11任一项所述的时序约束管理装置,其特征在于,所述发送模块具体用于:
通过所述顶层数据库与所述顶层模块之间的交互接口,将所述顶层数据库中存储的所述待检测的时序约束发送至所述顶层模块,以使所述顶层模块根据所述待检测的时序约束对所述待检测子模块进行更新。
13.根据权利要求8-11任一项所述的时序约束管理装置,其特征在于,所述检测模块包括整合单元和第一检测单元:
所述整合单元,用于对所述待检测的时序约束和所述顶层数据库存储的其它子模块的时序约束进行整合,得到整合后的时序约束;
所述第一检测单元,用于根据所述整合后的时序约束和所述顶层模块的时序约束,判断所述待检测的时序约束是否满足预设约束条件。
14.根据权利要求8-11任一项所述的时序约束管理装置,其特征在于,所述顶层数据库还包括所述顶层模块中各子模块间的拓扑关系,相应的,所述检测模块包括确定单元和第二检测单元:
所述确定单元,用于根据所述拓扑关系,确定与所述待检测子模块具有连接关系的级联子模块,并确定所述待检测的时序约束和所述顶层数据库存储的所述级联子模块的时序约束之间的时序关系;
所述第二检测单元,用于根据所述时序关系判断所述待检测的时序约束是否满足预设约束条件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510824493.5A CN106777441B (zh) | 2015-11-24 | 2015-11-24 | 时序约束管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510824493.5A CN106777441B (zh) | 2015-11-24 | 2015-11-24 | 时序约束管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106777441A CN106777441A (zh) | 2017-05-31 |
CN106777441B true CN106777441B (zh) | 2020-04-21 |
Family
ID=58963533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510824493.5A Active CN106777441B (zh) | 2015-11-24 | 2015-11-24 | 时序约束管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106777441B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117010307B (zh) * | 2023-10-07 | 2024-03-19 | 北京象帝先计算技术有限公司 | 端口时序约束方法、装置、电子设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1521830A (zh) * | 2003-02-12 | 2004-08-18 | 上海芯华微电子有限公司 | 集成电路设计、验证与测试一体化的技术方法 |
CN1539113A (zh) * | 2001-06-08 | 2004-10-20 | �������Զ�������ƹ�˾ | 层次集成电路设计和分析系统中对子模块设计的表达 |
CN1539114A (zh) * | 2001-06-08 | 2004-10-20 | �������Զ�������ƹ�˾ | 用于在分层集成电路设计系统中产生模块的设计约束的方法 |
US7103863B2 (en) * | 2001-06-08 | 2006-09-05 | Magma Design Automation, Inc. | Representing the design of a sub-module in a hierarchical integrated circuit design and analysis system |
CN1985257A (zh) * | 2004-05-28 | 2007-06-20 | 高通股份有限公司 | 用于修改电路设计中的保持时间违反的方法和设备 |
CN101542488A (zh) * | 2006-10-09 | 2009-09-23 | 明导公司 | 电子设计自动化中的属性 |
CN102043886A (zh) * | 2010-12-31 | 2011-05-04 | 北京大学深圳研究生院 | 集成电路下层硬件映射方法、数据控制流时序约束方法及装置 |
CN103324774A (zh) * | 2012-12-29 | 2013-09-25 | 东南大学 | 一种基于时钟规划偏差算法的处理器性能优化方法 |
CN104376138A (zh) * | 2013-08-15 | 2015-02-25 | 龙芯中科技术有限公司 | 集成电路芯片的时序确定方法和装置 |
-
2015
- 2015-11-24 CN CN201510824493.5A patent/CN106777441B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1539113A (zh) * | 2001-06-08 | 2004-10-20 | �������Զ�������ƹ�˾ | 层次集成电路设计和分析系统中对子模块设计的表达 |
CN1539114A (zh) * | 2001-06-08 | 2004-10-20 | �������Զ�������ƹ�˾ | 用于在分层集成电路设计系统中产生模块的设计约束的方法 |
US7103863B2 (en) * | 2001-06-08 | 2006-09-05 | Magma Design Automation, Inc. | Representing the design of a sub-module in a hierarchical integrated circuit design and analysis system |
CN1521830A (zh) * | 2003-02-12 | 2004-08-18 | 上海芯华微电子有限公司 | 集成电路设计、验证与测试一体化的技术方法 |
CN1985257A (zh) * | 2004-05-28 | 2007-06-20 | 高通股份有限公司 | 用于修改电路设计中的保持时间违反的方法和设备 |
CN101542488A (zh) * | 2006-10-09 | 2009-09-23 | 明导公司 | 电子设计自动化中的属性 |
CN102043886A (zh) * | 2010-12-31 | 2011-05-04 | 北京大学深圳研究生院 | 集成电路下层硬件映射方法、数据控制流时序约束方法及装置 |
CN103324774A (zh) * | 2012-12-29 | 2013-09-25 | 东南大学 | 一种基于时钟规划偏差算法的处理器性能优化方法 |
CN104376138A (zh) * | 2013-08-15 | 2015-02-25 | 龙芯中科技术有限公司 | 集成电路芯片的时序确定方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106777441A (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110633206B (zh) | 用于基于等价类分析的基于自动化要求的测试用例生成的系统和方法 | |
US9612937B2 (en) | Determining relevant events in source code analysis | |
US10354042B2 (en) | Selectively reducing graph based analysis pessimism | |
CN112417798B (zh) | 一种时序测试方法、装置、电子设备及存储介质 | |
CN113434355B (zh) | 模块验证方法、uvm验证平台、电子设备及存储介质 | |
US20170270229A1 (en) | Information processing method and device and computer storage medium | |
CN111767217B (zh) | Js单元测试案例生成方法及装置 | |
US9218273B2 (en) | Automatic generation of a resource reconfiguring test | |
CN106777441B (zh) | 时序约束管理方法及装置 | |
US9646252B2 (en) | Template clauses based SAT techniques | |
US6845440B2 (en) | System for preventing memory usage conflicts when generating and merging computer architecture test cases | |
CN115470125B (zh) | 基于日志文件的调试方法、设备以及存储介质 | |
CN116974874A (zh) | 数据库的测试方法、装置、电子设备及可读存储介质 | |
US11960385B2 (en) | Automatic generation of integrated test procedures using system test procedures | |
CN113297819B (zh) | 异步时钟的时序检查方法、装置、电子设备、存储介质 | |
CN114896110A (zh) | 链路检测方法、装置、设备和存储介质 | |
US8554522B2 (en) | Detection of design redundancy | |
CN106599312A (zh) | 知识库的检验方法、装置及终端 | |
CN112181825A (zh) | 测试案例库构建方法、装置、电子设备及介质 | |
US10437716B2 (en) | Method and apparatus for coverage analysis of SRT look-up table | |
US7277840B2 (en) | Method for detecting bus contention from RTL description | |
WO2019142266A1 (ja) | テストケース生成装置、テストケース生成方法およびテストケース生成プログラム | |
CN115250251B (zh) | 片上网络仿真中的传输路径规划方法、装置、电子设备及计算机可读存储介质 | |
US10521531B1 (en) | System, method, and computer program product for range-based clock analysis associated with the formal verification of an electronic circuit design | |
CN116955331A (zh) | 一种基础数据初始化方法、装置及介质 |
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: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Patentee after: Loongson Zhongke Technology Co.,Ltd. Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing Patentee before: LOONGSON TECHNOLOGY Corp.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |