CN114707445A - 集成电路的综合方法、装置、计算机设备及存储介质 - Google Patents
集成电路的综合方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN114707445A CN114707445A CN202210325793.9A CN202210325793A CN114707445A CN 114707445 A CN114707445 A CN 114707445A CN 202210325793 A CN202210325793 A CN 202210325793A CN 114707445 A CN114707445 A CN 114707445A
- Authority
- CN
- China
- Prior art keywords
- data
- target
- time sequence
- integrated circuit
- timing 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.)
- Pending
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/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- 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
-
- 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/337—Design optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/04—Constraint-based CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/02—System on chip [SoC] design
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
本公开提供了一种集成电路的综合方法、装置、计算机设备及存储介质。其中,该方法包括:获取集成电路初始时序约束文件、以及所述集成电路的寄存器转换级电路RTL;所述初始时序约束文件中包括:对所述集成电路中各个功能模块的输入或输出I/O数据进行时序设置得到的时序约束信息;基于所述RTL,对所述初始时序约束文件中的时序约束信息进行校正处理,得到目标时序约束文件;基于所述目标时序约束文件、以及所述RTL进行电路逻辑综合,得到所述集成电路的门级电路。
Description
技术领域
本公开涉及集成电路设计领域,具体而言,涉及一种集成电路的综合方法、装置、计算机设备及存储介质。
背景技术
集成电路的设计步骤通常包括:生成行为级描述、生成寄存器转换级电路(Register Transfer Level,RTL)描述、将行为级描述或者RTL级描述转换为门级电路、以及基于门级电路生成物理版图(集成电路布图)。将行为级描述电路和/或RTL转换至门级电路的过程称为综合。在综合之前,需要对集成电路设计人员设置集成电路中各个功能模块的输入或输出(Inputs/Outputs,I/O)数据进行时序约束信息,生成对应的时序约束文件,然后利用时序约束文件,对RTL进行综合,得到门级电路。
但是,随着系统级芯片(System on Chip,SOC)的设计规模持续增长,单颗芯片集成的晶体管数量都已经达到几十亿,上百亿级别。由于工艺的不断演进,一颗芯片上集成的模块也越来越多,芯片以及内部模块的接口也越来越多用来实现更多更复杂的功能,这也导致了集成电路内部的I/O数量也越来越多。人为手动设置I/O约束会出现遗漏、笔误等错误导致约束不完整或不正确,造成对RTL进行综合过程中,需要耗费大量的计算资源、人力和时间来解决I/O数据的时序约束问题,这导致集成电路的综合效率低,成本高的问题。
发明内容
本公开实施例至少提供一种集成电路的综合方法、装置计算机设备及存储介质。
第一方面,本公开实施例提供了一种集成电路的综合方法,包括:获取集成电路初始时序约束文件、以及所述集成电路的寄存器转换级电路RTL;所述初始时序约束文件中包括:对所述集成电路中各个功能模块的输入或输出I/O数据进行时序设置得到的时序约束信息;基于所述RTL,对所述初始时序约束文件中的时序约束信息进行校正处理,得到目标时序约束文件;基于所述目标时序约束文件、以及所述RTL进行电路逻辑综合,得到所述集成电路的门级电路。
这样,通过寄存器转换级电路RTL在逻辑综合前对初始时序约束文件进行校正,得到目标时序约束文件,从而在针对集成电路各个功能模块进行逻辑综合时,不需要考虑I/O时序约束的完整性和准确性,减少逻辑综合的迭代次数,提高集成电路综合效率。
一种可选的实施方式中,所述时序约束信息包括:所述I/O数据的第一标识信息、用于与所述I/O数据对应时钟的时钟名称、以及所述I/O数据对应的时钟周期;其中,与所述I/O数据对应的时钟用于控制对应I/O数据的时钟周期。
这样,通过对I/O数据的第一标识信息、I/O数据对应时钟的时钟名称、以及I/O数据对应的时钟周期进行设置生成一份时序约束文件,为时序分析提供依据,对后续逻辑综合以及门级电路进行优化。
一种可选的实施方式中,所述基于所述RTL,对所述初始时序约束文件中的时序约束信息进行校正处理,得到目标时序约束文件,包括:对所述RTL进行解析,得到所述RTL集成电路中各个功能模块的I/O数据的第二标识信息;基于所述第二标识信息、以及所述初始时序约束文件,确定所述I/O数据中是否存在未设置时序约束的第一目标I/O数据;响应于存在所述第一目标I/O数据,基于与所述第一目标I/O数据对应时钟的额定时钟周期,确定所述第一目标I/O数据的时序约束信息;基于所述第一目标I/O数据的时序约束信息,得到所述目标时序约束文件。
这样,通过第二标识信息与初始时序约束文件,确定未设置时序约束的第一目标I/O数据,进而对第一目标I/O数据对应的额定时钟周期设置时序约束,得到目标时序约束文件,从而实现在逻辑综合前将I/O数据的时序约束调整完毕,减少逻辑综合的迭代次数,提高逻辑综合效率。
一种可选的实施方式中,所述基于所述第二标识信息、以及所述初始时序约束文件,确定所述I/O数据中是否存在未设置时序约束的第一目标I/O数据,包括:对所述第二标识信息、以及所述第一标识信息进行匹配;响应于任一第二标识信息和所述第一标识信息匹配失败,将该匹配失败的第二标识信息对应的I/O数据确定为所述第一目标I/O数据。
这样,可以通过匹配失败的第二标识信息对应的I/O数据,筛选出第一目标I/O数据,进而可以确定需设置时序约束信息的I/O数据,忽略已经设置时序约束信息的I/O数据,提高设置时序约束效率。
一种可选的实施方式中,所述响应于存在所述第一目标I/O数据,基于与所述第一目标I/O数据对应时钟的额定时钟周期,确定所述第一目标I/O数据的时序约束信息之前,还包括:基于确定的所述第一目标I/O数据的第二标识信息,从所述RTL中解析所述第一目标I/O数据对应的时钟、以及额定时钟周期;或者,
对所述RTL进行解析,得到所述集成电路中各功能模块的I/O数据对应的时钟、以及额定时钟周期;基于所述确定的所述第一目标I/O数据的第二标识信息,从所述集成电路中各功能模块的I/O数据对应的时钟、以及额定时钟周期中,筛选所述第一目标I/O数据对应的时钟、以及额定时钟周期。
这样,根据得到的第一目标I/O数据对应的时钟、以及额定时钟周期,可以实现对第一目标I/O数据时序约束信息的设置。
一种可选的实施方式中,所述基于与所述第一目标I/O数据对应时钟的额定时钟周期,确定所述第一目标I/O数据的时序约束信息,包括:基于所述第一目标I/O数据对应时钟的额定时钟周期、以及预设系数,生成所述第一目标I/O数据的时序约束信息。
这样,通过对第一目标I/O数据对应时钟的额定时钟周期、以及预设系数两者间的计算,得到第一目标I/O数据的时序约束信息。
一种可选的实施方式中,所述基于所述第一目标I/O数据的时序约束信息,得到所述目标时序约束文件,包括:将所述第一目标I/O数据的时序约束信息写入所述初始时序约束文件,生成所述目标时序约束文件。
这样,通过将得到的第一目标I/O数据的时序约束信息写入初始时序约束文件中,达到了检查遗漏的I/O约束并补充约束的目的。
一种可选的实施方式中,所述基于所述第一目标I/O数据的时序约束信息,得到所述目标时序约束文件,包括:基于所述第一目标I/O数据的时序约束信息,写入不同于所述初始时序约束文件的另一时序约束文件,生成所述目标时序约束文件。
这样,通过将得到的第一目标I/O数据的时序约束信息写入不同于初始时序约束文件的另一时序约束文件中,在进行逻辑综合时会将两个文件一起进行逻辑综合,达到了检查遗漏的I/O约束并补充约束的目的。
一种可选的实施方式中,所述基于所述目标时序约束文件、以及所述RTL进行电路逻辑综合,得到所述集成电路的门级电路,包括:基于目标时序约束文件、所述初始时序约束文件、以及所述RTL进行电路逻辑综合,得到所述集成电路的门级电路。
这样,通过目标约束文件、初始时序约束文件、以及RTL电路逻辑综合后,得到集成电路的门级电路。
一种可选的实施方式中,所述方法还包括:基于所述第二标识信息、以及所述初始时序约束文件,确定所述初始时序约束文件中是否存在未包括在所述集成电路中的第二目标I/O数据;响应于存在所述第二目标I/O数据,将所述第二目标I/O数据的时序约束信息从所述初始时序约束文件中删除。
这样,通过将第二目标I/O数据的时序约束信息从初始时序约束文件中删除,可以避免I/O数据重复,减少逻辑综合时间,进而提高逻辑综合效率
第二方面,本公开实施例还提供一种集成电路的综合装置,包括:
获取模块,用于获取集成电路初始时序约束文件、以及所述集成电路的寄存器转换级电路RTL;所述初始时序约束文件中包括:所述集成电路中的功能模块的输入或输出I/O数据对应的时序约束信息;匹配模块,用于基于所述RTL,对所述初始时序约束文件中的时序约束信息进行校正处理,得到目标时序约束文件;逻辑综合模块,用于基于所述目标时序约束文件、以及所述RTL进行电路逻辑综合,得到所述集成电路的门级电路。
一种可选的实施方式中,所述时序约束信息包括:所述I/O数据的第一标识信息、用于与所述I/O数据对应时钟的时钟名称、以及所述I/O数据对应的时钟周期;其中,与所述I/O数据对应的时钟用于控制对应I/O数据的时钟周期。
一种可选的实施方式中,所述装置还包括解析模块,所述解析模块还用于:对所述RTL进行解析,得到所述RTL集成电路中各个功能模块的I/O数据的第二标识信息;所述匹配模块还用于:基于所述第二标识信息、以及所述初始时序约束文件,确定所述I/O数据中是否存在未设置时序约束的第一目标I/O数据;响应于存在所述第一目标I/O数据,基于与所述第一目标I/O数据对应时钟的额定时钟周期,确定所述第一目标I/O数据的时序约束信息;基于所述第一目标I/O数据的时序约束信息,得到所述目标时序约束文件。
一种可选的实施方式中,所述匹配模块还用于:对所述第二标识信息、以及所述第一标识信息进行匹配;响应于任一第二标识信息和所述第一标识信息匹配失败,将该匹配失败的第二标识信息对应的I/O数据确定为所述第一目标I/O数据。
一种可选的实施方式中,所述解析模块还用于:基于确定的所述第一目标I/O数据的第二标识信息,从所述RTL中解析所述第一目标I/O数据对应的时钟、以及额定时钟周期;或者,对所述RTL进行解析,得到所述集成电路中各功能模块的I/O数据对应的时钟、以及额定时钟周期;基于所述确定的所述第一目标I/O数据的第二标识信息,从所述集成电路中各功能模块的I/O数据对应的时钟、以及额定时钟周期中,筛选所述第一目标I/O数据对应的时钟、以及额定时钟周期。
一种可选的实施方式中,所述匹配模块还用于:基于所述第一目标I/O数据对应时钟的额定时钟周期、以及预设系数,生成所述第一目标I/O数据的时序约束信息。
一种可选的实施方式中,所述匹配模块还用于:将所述第一目标I/O数据的时序约束信息写入所述初始时序约束文件,生成所述目标时序约束文件。
一种可选的实施方式中,所述匹配模块还用于:基于所述第一目标I/O数据的时序约束信息,写入不同于所述初始时序约束文件的另一时序约束文件,生成所述目标时序约束文件。
一种可选的实施方式中,所述逻辑综合模块还用于:基于目标时序约束文件、所述初始时序约束文件、以及所述RTL进行电路逻辑综合,得到所述集成电路的门级电路。
一种可选的实施方式中,所述匹配模块还用于:响应于存在所述第二目标I/O数据,将所述第二目标I/O数据的时序约束信息从所述初始时序约束文件中删除。
第三方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
关于上述集成电路的综合装置、计算机设备、及计算机可读存储介质的效果描述参见上述集成电路的综合方法的说明,这里不再赘述。
本公开实施例提供的一种集成电路的综合方法、装置、计算机设备、及计算机可读存储介质,通过在初始时序约束文件SDC中确定是否存在未设置时序约束的第一目标I/O数据,并对所有存在未设置时序约束的第一目标I/O数据进行统一时序约束,从而使得初始时序约束文件出现遗漏、或者设置错误的I/O的时序约束信息得到校正,规避了因人为因素导致的笔误或I/O时序约束存在遗漏等问题,达到了检查遗漏的I/O约束并补充I/O约束的目的,减少由于I/O约束出现问题导致的综合迭代次数过多的情况,提高集成电路的综合效率,降低成本。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种集成电路的综合方法的流程图;
图2示出了本公开实施例所提供的一种检查遗漏的I/O约束并补充约束的流程图。
图3示出了本公开实施例所提供的一种集成电路的综合装置的示意图;
图4示出了本公开实施例所提供的一种计算机设备结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
经研究发现,对集成电路中的RTL进行综合前,需要集成电路的设计人员基于集成电路中各个模块的I/O数据,将I/O数据的时序约束信息写入时序约束文件中;在对RTL进行综合时,将时序约束文件作为综合过程的输入。在对RTL进行综合后,会得到相应的时序约束检查报告。集成电路设计人员可以通过时序约束检查报告,检查时序约束文件中I/O约束的完整性和正确性;若I/O约束不完整、或者出现错误,就需确认时序约束文件中存在问题的位置,并对时序约束文件中存在问题的位置进行修改后,再利用得到的修改后的时序约束文件对RTL重新进行综合;迭代执行上述过程,直至I/O约束的问题被全部解决。
但是由于I/O数量众多,人为手动设置I/O约束会出现遗漏、笔误等错误导致约束不完整或不正确,这导致了对时序约束文件的调整过程在很多情况下可能需要多次迭代,并且在每次迭代时,都需重新对RTL进行综合。但综合过程会消耗大量的时间以及计算资源,导致了集成电路的综合过程存在效率较低,成本高的问题。
基于上述研究,本公开提供了一种集成电路的综合方法,在针对集成电路进行综合之前,利用RTL对初始时序约束文件中的时序约束信息进行校正处理,使得初始时序约束文件出现遗漏、或者设置错误的I/O的时序约束信息得到校正,从而使用目标时序约束文件对RTL进行综合,减少由于I/O约束出现问题导致的综合迭代次数过多的情况,提高集成电路的综合效率,降低成本。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种集成电路的综合方法进行详细介绍,本公开实施例所提供的电路布图的综合方法的执行主体一般为具有一定计算能力的计算机设备。在一些可能的实现方式中,该电路布图的综合方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
参见图1所示,为本公开实施例提供的一种集成电路的综合方法的流程图,所述方法包括步骤S101~S103,其中:
S101:获取集成电路初始时序约束文件、以及所述集成电路的寄存器转换级电路RTL;所述初始时序约束文件中包括:对所述集成电路中各个功能模块的输入或输出I/O数据进行时序设置得到的时序约束信息。
其中,集成电路是一种微型电子器件或部件。采用一定的工艺,把一个电路中所需的晶体管、电阻、电容和电感等元件及布线互连一起,制作在一小块或几小块半导体晶片或介质基片上,然后封装在一个管壳内,成为具有所需电路功能的微型结构。
集成电路在进入制作之前,需要生成与集成电路对应的集成电路布图。而基于RTL进行综合,是集成电路布图生成过程的一个步骤。
集成电路的设计过程一般包括逻辑设计和物理设计两个阶段:
逻辑设计阶段包括下述a1~a5:
a1:设计准备,总体描述功能、画出系统架构、系统状态跳转图,划分多个功能模块,详细描述各个功能模块作用,给出功能设计图、时序图。
a2:设计输入,用硬件描述语言(Hardware Description Language,HDL)或电路原理图的形式对系统进行功能级描述的设计输入;
a3:功能仿真,对功能级描述进行功能和时序仿真验证并在验证功能正确后转变成适用于综合器的RTL级描述的输入;
a4:在完成设计输入和功能仿真后,根据a1步骤,制定初始时序约束文件。
a5:逻辑综合(Logic Synthesis),把高层次设计的描述利用某种标准单元库按照一定的约束条件转换成优化的门级电路,设计者只要把精力集中在层次的划分、高层的设计、描述准确的约束条件和标准单元库的单元优化上,其他大量的工作由逻辑综合工具自动完成,逻辑综合工具经过多次交互处理最终产生最优化的门级电路;布局前模拟,对综合后加入单元时延信息的门级电路进行仿真检查各个功能模块的I/O数据在时序上是否满足设计系统规范和接口规范。
本公开实施例所述的综合,即为上述a4综合阶段;时序约束文件,包括为集成电路中各个功能模块的I/O数据确定的时序约束信息。
物理设计阶段包括下述b1~b4:
b1:平面规划,其任务是为每个模块和整个芯片选择一个好的布图方案,一般根据其包含器件数估计模块的面积,再根据该模块和其它模块的连接关系和上层模块或芯片的形状,估计该模块的形状和相对位置,此过程一般手工完成;
b2:布局,确定模块中各单元的位置布局问题比较复杂一般分成,初始布局和改进布局两步;
b3:布线,通常布线分为总体布线(Global Routing)和详细布线(DetailedRouting)两步,总体布线把线网分配到合适的布线区域不关心走线的具体位置,详细布线最终确定连线的具体位置;
b4:参数提取,确定各个连接处的电阻和电容及互连线的分布参数;后仿真,加入布局布线所增加的各种寄生电学参数后再次进行时序仿真并进行电学规则检查(Electrical Rule Checking,ERC),和设计规则检查(Design Rule Checking,DRC),最后进行网表的验证(Layout Versus Schematic,LVS)来确认版图的正确性。
RTL级是指:不关注寄存器和组合逻辑的细节(如使用了多少逻辑门,逻辑门之间的连接拓扑结构等)。RTL级描述的目标就是可逻辑综合,即,可以转换至门级电路。
功能模块,又称为集成电路中的子模块,是指在集成电路中能够实现某一功能的子电路,由电路元件构成,电路元件例如包括:寄存器、乘法器、选择器、加法器、门电路等。在同一集成电路中可以包括多级功能模块,每一级功能模块中也可以包括至少一个功能模块。对应的,功能模块分别对应的描述信息指的是每个功能模块所具备的功能、属性等描述性的特征信息。具体的,可以包括针对电路元件的硬件行为描述、结构描述、数据流描述等。
I/O的时序约束信息包括:I/O数据的第一标识信息、用于与I/O数据对应时钟的时钟名称、以及I/O数据对应的时钟周期;其中,与I/O数据对应的时钟用于控制对应I/O数据的时钟周期。
具体的,I/O数据的第一标识信息可以包括:与I/O数据对应的名称、标识码等,可以通过I/O数据的第一标识信息,从时序约束文件中读取对应的I/O的时序约束信息,若某一I/O数据在逻辑综合前没有人为设置时序约束信息,或在设置时I/O数据的第一标识信息出现错误,则在时序约束文件中查找不到该I/O数据对应的第一标识信息。
示例性的,由于集成电路中I/O数量较多,设置I/O时序约束易出现遗漏或笔误导致的I/O约束不完备、不正确的情况,因此在获取的初始时序约束文件中,可能会存在上述时序约束信息遗漏或者设置错误的问题。
承接于上述S101,本公开实施提供的集成电路的综合方法还包括:
S102:基于所述RTL,对所述初始时序约束文件中的时序约束信息进行校正处理,得到目标时序约束文件。
在具体实施中,时序约束文件用于保存集成电路中各个功能模块的I/O数据对应时序约束信息。在集成电路设计的过程中,集成电路设计约束(Synopsys DesignConstraints,SDC)文件中包括时序约束文件。SDC中除时序约束信息外,还对集成电路的面积,功耗进行约束。SDC决定了芯片是否满足设计要求的规范,一个SDC文件表示集成电路中的一个功能模块包含的所有I/O时序约束信息。
示例性的,例如可以采用下述方式,对初始时序约束文件中的时序约束信息进行校正处理:创建一个时序约束检测脚本,所述时序约束检测脚本中包括:I/O约束完整性检查的相关代码;执行时序约束检测脚本,以实现对初始时序约束文件中的时序约束信息进行校正处理。
其中,所述时序约束检测脚本可以适用多种集成电路。通过时序约束检测脚本,可以将所述集成电路各个功能模块对应的初始时序约束文件中的I/O时序约束信息进行统一检测、以及校正,提高通用性和检测效率。
示例性的,例如可以采用下述步骤A~步骤C对时序约束信息进行校正处理:
步骤A:对所述RTL进行解析,得到所述RTL集成电路中各个功能模块的I/O数据的第二标识信息。
具体的,RTL电路描述了电路的时序逻辑和组合逻辑,即RTL体现了电路的寄存器结构和数目、电路的拓扑结构、寄存器之间的组合逻辑功能以及寄存器与I/O端口之间的组合逻辑功能,通过解析RTL代码,能够得到RTL集成电路中各个功能模块的I/O数据的第二标识信息;
其中,解析RTL代码得到的第二标识信息可以是集成电路各功能模块所有I/O数据对应的名称、标识码等。
示例性的,RTL描述可以表示为一个有限状态机,或是一个可以在一个预定的时钟周期边界上进行寄存器传输的时序状态机,通常用VHDL/verilog两种语言进行描述。因此对RTL进行解析,可以是遍历RTL代码,从遍历到的代码中检测是否存在I/O的标识信息,如果存在,就将该标识信息读取出来,例如,可以将获取到的第二标识信息导出一份表格,表格中包含对应的各个功能模块,并将各功能模块按照预设方式进行排序,例如,按照遍历功能模块的顺序进行排序,遍历到的第一个功能模块对应的I/O数据的数量有8个,且8个I/O数据的第二标识信息分别为s1~s8,第二个功能模块对应的I/O数据的数量有4个,且4个I/O数据的第二标识信息分别为s9~s12,则导出的表格中,I/O的排序例如可以包括:s1~s8、s9~s12。
表格仅仅是一种存储方式,还可以是列表、或者按照遍历到第二标识信息的顺序进行存储等其他存储方式,在此不做限制。
步骤B:基于所述第二标识信息、以及所述初始时序约束文件,确定是否存在未设置时序约束的第一目标I/O数据。
在具体实施中,确定第一目标I/O数据的过程例如下述步骤b1~b2所示:
步骤b1:对所述第二标识信息、以及所述第一标识信息进行匹配。
在将第二标识信息和第一标识信息进行匹配时,例如可以针对每一条第二标识信息,将初始时序约束文件中的各条第一标识信息,与该第二标识信息进行比对;若其中任一条第一标识信息和该条第二标识信息一致,则该第二标识信息与该任一条第一标识信息匹配成功。
若针对某条第二标识信息,在初始时序约束文件中,不存在与其一致的第一标识信息,则该第二标识信息和第一标识信息匹配失败。
示例性的,第一标识信息分别为s1~sm,第二标识信息分别为x1~xn,假设第一标识信息可能存在有遗漏或者不一致的情况,而第二标识信息是从RTL中接续得到的,因此认为是正确的。
针对x1:将s1和x1进行比对,如果不一致,将s2和x1进行比对;如果不一致,将s3和x1进行比对,如果一致,则s3和x1匹配成功。
针对x2:将s1和x2进行比对,如果不一致,将s2和x2进行比对;如果不一致,则将s3和x2进行比对,……将sm和x2进行比对,如果还不一致,则x2和第一标识信息匹配失败。
如此针对x1~xn中的每个第二标识信息,在RTL约束文件中为其匹配是否具有相同的第一标识信息。如果匹配不成功,则认为该第二标识信息对应的时序约束信息在时序约束文件中被遗漏。
又一示例中,可以生成一张包含第一标识信息以及第二标识信息的表格,在所述表格中对第一标识信息和第二标识信息进行匹配,且第二标识信息分别为s1~sn在表格中按照序号、或者按照遍历功能模块的顺序进行排序,对应的,时序约束信息中的第一标识信息分别为x1~xn按照与第二标识信息相同的排序方式进行排序,正常情况下,如果时序约束文件中的I/O数据都设置了时序约束,那么标识信息一一对应,例如,第二标识信息s1对应的第一标识信息为x1,s2对应x2,sn对应xn。若表格中存在某个xi,并未对应相应的si,则认为该si匹配失败,该第二标识信息xi对应的时序约束信息在时序约束文件中被遗漏。
步骤b2:响应于任一第二标识信息和所述第一标识信息匹配失败,将该匹配失败的第二标识信息对应的I/O数据确定为所述第一目标I/O数据。
响应于任一第二标识信息和所述第一标识信息匹配成功,则认为该第二标识信息对应的I/O数据已经设置了时序约束信息,无需再对其进行校正。
其中,出现匹配失败的情况可以是根据I/O数据对应的第二标识信息没有匹配到对应的第一标识信息、或者第一标识信息的内容与第二标识信息的内容不一致。
步骤C:响应于存在所述第一目标I/O数据,基于与所述第一目标I/O数据对应时钟的额定时钟周期,确定所述第一目标I/O数据的时序约束信息。
步骤D:基于所述第一目标I/O数据的时序约束信息,得到所述目标时序约束文件。
在具体实施中,确定匹配失败的第二标识信息为第一目标I/O数据后,为第一目标I/O数据设置时序约束信息,以得到目标时序约束文件。
其中,目标时序约束文件可以是在初始时序约束文件的基础之上生成的。
也即,在确定第一目标I/O数据后,将第一目标I/O数据对应的第二标识信息写入初始时序约束文件中,并为其设置相应的时序约束信息,得到目标时序约束文件。
另外,目标时序约束文件也可以是新生成的时序约束文件;在目标时序约束文件生成后,利用目标时序约束文件、以及初始时序约束文件作为综合过程中输入的时序约束文件,对RTL进行综合。
在对第一目标I/O数据设置时序约束信息时,可以是每确定一个第一目标I/O数据,即为其设置对应的时序约束信息;另外,也可以将所有的第一目标I/O数据确定出来后,再统一设置时序约束信息。
针对将所有的第一目标I/O数据确定出来后,再统一设置时序约束信息的情况,示例性的,可以为先将配失败的第二标识信息写入目标时序约束文件中,并将其对应的I/O时序约束信息设置为0值。
在确定了所有的第一目标I/O数据后,再从目标时序约束文件中,遍历时序约束信息为0值的第一目标I/O数据,然后针对每个遍历到的第一目标I/O数据,为其设置时序约束信息。
从而可以根据第二标识信息对应的I/O时序约束信息判断对应的I/O数据是否设置时序约束,对时序约束信息为0值的I/O数据统一进行时序约束。
在另一个实施例中,响应于存在所述第一目标I/O数据,基于与所述第一目标I/O数据对应时钟的额定时钟周期,确定所述第一目标I/O数据的时序约束信息之前,从RTL中解析所述第一目标I/O数据对应的时钟、以及额定时钟周期。在从RTL中接续第一目标I/O数据对应的时钟以及额定时钟周期时,例如可以采用下述M1或者M2中任一种方式。
M1:基于确定的所述第一目标I/O数据的第二标识信息,从所述RTL中解析所述第一目标I/O数据对应的时钟、以及额定时钟周期。
时钟周期,是集成电路中的基本时间单位,可以表示为时钟晶振频率的倒数,是集成电路中最基本的、最小的时间单位。通常称为节拍脉冲或者T周期。在一个时钟周期内,集成电路中的某个功能模块仅完成一个最基本的动作。
其中,时钟的标识信息以及时钟周期也属于约束信息的一部分,在集成电路中,可能存在至少一个时钟;集成电路中的各个时钟,用于控制集成电路各个功能模块的I/O数据的时序。第一目标I/O数据对应的时钟,是指用于控制第一目标I/O数据的时序的时钟。额定时钟周期,是指时钟固有的时钟周期。第一目标I/O数据对应的时钟周期,可能小于额定时钟周期、可能大于额定时钟周期,也可能等于额定时钟周期。
示例性的,确定的第一目标I/O数据的第二标识信息包括x2和x5,然后根据第一目标I/O数据的第二标识信息x2和x5,从RTL中查找到与第一目标I/O数据匹配的第二标识信息x2和x5对应的时钟标识以及额定时钟周期。
M2:对所述RTL进行解析,得到所述集成电路中各功能模块的I/O数据对应的时钟、以及额定时钟周期;基于所述确定的所述第一目标I/O数据的第二标识信息,从所述集成电路中各功能模块的I/O数据对应的时钟、以及额定时钟周期中,筛选所述第一目标I/O数据对应的时钟、以及额定时钟周期。
示例性的,首先从RTL中确定所有的第二标识信息x1~xn分别对应的时钟和额定时钟周期,然后确定第一目标I/O数据包括x2和x5,最后从RTL中确定的x1~xn的时钟以及额定时钟周期筛选出对应的第一目标I/O数据的x2喝x5分别对应的时钟和额定时钟周期。
在得到第一目标I/O数据对应的时钟和额定时钟周期后,可以基于所述第一目标I/O数据对应时钟的额定时钟周期、以及预设系数,生成所述第一目标I/O数据的时序约束信息。
其中,预设系数是设计人员根据实际情况设定的数字因数,与第一目标I/O数据对应时钟的额定时钟周期进行某种算数运算得到时钟约束信息的约束值,基于额定时钟周期和预设系数确定时序约束信息的方式,包括但不限于:额定时钟周期*预设系数、额定时钟周期+预设系数、额定时钟周期-预设系数等,在此不做限制。
示例性的,第一目标I/O数据s4对应的额定时钟周期为10ns(纳秒),预设系数为0.4,执行乘法运算,则第一目标I/O数据的约束值为4ns。
预设值可以是设计人员根据实际情况预先设置好,并存储至某个固定的存储空间中,当响应于生成第一目标I/O数据的时序约束信息时,从该固定的存储空间中,读取该预设值,并执行后续的动作。
设置约束值的过程可以是自动完成的,响应于确定了第一目标I/O数据后,由程序执行语句自动设置第一目标I/O数据对应的约束值。
在另一实施例中,所述基于所述第一目标I/O数据的时序约束信息,得到所述目标时序约束文件时,可以采用下述方式M3或M4中任一方式:
M3:将所述第一目标I/O数据的时序约束信息写入所述初始时序约束文件,生成所述目标时序约束文件。
示例性的,确定第一目标I/O数据的时序约束信息都设置了约束值之后,即,约束值不为0值,将第一目标I/O数据的时序约束信息写入初始时序约束文件,生成目标时序约束文件,在综合时对生成的目标时序约束文件进行综合。
M4:基于所述第一目标I/O数据的时序约束信息,写入不同于所述初始时序约束文件的另一时序约束文件,生成所述目标时序约束文件。
示例性的,确定第一目标I/O数据的时序约束信息都设置了约束值之后,即,约束值不为0值,生成另一个不同于初始时序约束文件的目标时序约束文件,在综合时,对初始时序约束文件和不同于初始时序约束文件的目标时序约束文件一起进行综合。
在另一实施例中,还可以基于所述第二标识信息、以及所述初始时序约束文件,确定所述初始时序约束文件中是否存在未包括在所述集成电路中的第二目标I/O数据;响应于存在所述第二目标I/O数据,将所述第二目标I/O数据的时序约束信息从所述初始时序约束文件中删除。
具体的,第二目标I/O数据例如是在设计人员对I/O数据的约束信息进行配置时,将标识信息写错的I/O数据,也即,为包括在集成电路中的I/O数据。
在确定了第二目标I/O数据后,删除初始时序约束文件中,将所述第二目标I/O数据的时序约束信息从所述初始时序约束文件中删除,可以提升时序约束文件的可维护性。
示例性的,第二标识信息为s1~sn,第一标识信息为x1~xn,在时序约束文件中的I/O数据都设置正确的情况下,第一标识信息与第二标识信息是一一对应的,即,s1对应x1,s2对应x2,sn对应xn。若在实际过程中,对某个I/O数据进行时序约束信息配置时,某个I/O数据对应的第一标识信息si写错,写作sj,此时确定第一标识信息sj对应的I/O数据为第二目标I/O数据。将该第二标识信息si对应的时序约束信息从初始时序约束文件中删除。
承接于上述S102,本公开实施提供的集成电路的综合方法还包括:
S103:基于所述目标时序约束文件、以及所述RTL进行电路逻辑综合,得到所述集成电路的门级电路。
在具体实施中,若目标时序约束文件和初始时序约束文件为两个不同的文件,则可以基于目标时序约束文件、所述初始时序约束文件、以及所述RTL进行电路逻辑综合,得到所述集成电路的门级电路。
其中,逻辑综合是电路布图生成过程中的步骤之一,是指利用工具将RTL代码转换为门级电路的过程,示例性的,综合一个设计的过程从读取RTL代码开始,通过施加时序约束关系,映射产生一个门级电路文件;具体可以分为:翻译,读入电路的RTL级描述,并将语言描述翻译成相应的功能模块以及功能模块之间的拓扑结构。这一过程的结果是在综合器内部生成电路的布尔函数表达式,不做任何逻辑重组和优化;优化,根据所施加的时序和面积约束,按照一定的算法对翻译结果进行逻辑重组和优化;映射,根据所施加的时序和面积约束,从目标工艺库中搜索符合条件的单元来构成实际电路的逻辑网表。
参见图2所示,本公开实施例还提供一种检查遗漏的I/O约束并补充约束的流程图。
S201:在逻辑综合前获取初始时序约束文件SDC,其中包含I/O相关的时序约束信息。
S202:准备时序约束脚本,可以将其命名为(extra.sdc),脚本中包含I/O约束完整性检查以及统一约束的检查代码,且这些内容对集成电路中所有子模块都通用。
示例性的,也可以不准备extra.sdc文件,直接把检查代码写在初始时序约束文件中,例如可以位于I/O时序约束信息之后。每进行一次综合就需要将检查代码作为SDC内容,写入对应的SDC文件中。
S203:通过时序约束脚本中包含的第一解析指令对RTL进行解析,得到集成电路各个子模块I/O数据对应的时序约束信息。
S204:通过时序约束脚本中包含的第二解析指令对RTL进行解析,得到每个I/O对应的时钟的标识以及额定时钟周期。
示例性的,时钟的标识以及时钟周期也属于约束信息的一部分,芯片中有多个时钟,不同的I/O可能对应不同的时钟,这个是根据芯片的实际需求来确定的,因此,在RTL基础之上,需要人为的设定时钟约束信息,以告知综合工具,需要的约束条件。
S205:通过时序约束脚本中包含的判断指令判断每个I/O是否设置了时序约束。
若人为设置了时序约束,则时序约束信息对应的约束值不为0,若发现遗漏的I/O或写错的I/O对应的时序约束信息得约束值均设置为0。
示例性的,首先利用解析指令解析RTL代码,找到其中所有的I/O、以及对应的标识,其次与初始时序约束文件SDC中的I/O数据对应的标识进行对比,从中找出遗漏或者错误的I/O数据,将时序约束信息对应的约束值设置为0。
如果设置了时序约束,即,I/O时序约束信息对应的约束值不为0,则忽略该I/O,表示这个I/O已经人为设置了时序约束,不需要再次设置;如果该I/O的时序约束信息对应的约束值为0,则表示该I/O未设置时序约束,执行预设语句并根据该I/O对应的时钟周期设置相应的I/O时序约束信息对应的约束值。
示例性的,可以设置一个预设系数,通过步骤S204获得的额定时钟周期,确定出现问题的I/O对应的时钟周期,然后将确定的时钟周期作为出现问题的I/O对应的时序约束信息的约束值,写入到目标时序约束文件中。
S206:通过时序约束脚本中包含的判断指令判断所有I/O,将所有未设置时序约束的I/O进行统一约束。
S207:将设置后的I/O时序约束信息对应的I/O数据补充到初始SDC文件中,生成一个完整的SDC文件(目标时序约束文件),或者,另外生成一个SDC文件(目标时序约束文件),和初始SDC文件(初始时序约束文件)一起进行综合。
示例性的,初始SDC文件需要将名字错误的,从初始SDC文件中删除,防止在综合时出现错误告警,也有利于后期的维护。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与集成电路的综合方法对应的集成电路的综合装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述集成电路的综合方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图3所示,为本公开实施例提供的一种集成电路的综合装置的示意图,所述装置包括:获取模块301模块、匹配模块302模块、逻辑综合模块303;其中,
获取模块301,用于获取集成电路初始时序约束文件、以及所述集成电路的寄存器转换级电路RTL;所述初始时序约束文件中包括:所述集成电路中的功能模块的输入或输出I/O数据对应的时序约束信息。
匹配模块302,用于基于所述RTL,对所述初始时序约束文件中的时序约束信息进行校正处理,得到目标时序约束文件。
逻辑综合模块303,用于基于所述目标时序约束文件、以及所述RTL进行电路逻辑综合,得到所述集成电路的门级电路。
本公开实施例通过在针对集成电路进行综合之前,利用RTL对初始时序约束文件中的时序约束信息进行校正处理,使得初始时序约束文件出现遗漏、或者设置错误的I/O的时序约束信息得到校正,从而使用目标时序约束文件对RTL进行综合,减少由于I/O约束出现问题导致的综合迭代次数过多的情况,提高集成电路的综合效率,降低成本。
一种可选的实施方式中,所述时序约束信息包括:所述I/O数据的第一标识信息、用于与所述I/O数据对应时钟的时钟名称、以及所述I/O数据对应的时钟周期;其中,与所述I/O数据对应的时钟用于控制对应I/O数据的时钟周期。
一种可选的实施方式中,所述装置还包括解析模块304,所述解析模块304还用于:对所述RTL进行解析,得到所述RTL集成电路中各个功能模块的I/O数据的第二标识信息;所述匹配模块302还用于:基于所述第二标识信息、以及所述初始时序约束文件,确定所述I/O数据中是否存在未设置时序约束的第一目标I/O数据;响应于存在所述第一目标I/O数据,基于与所述第一目标I/O数据对应时钟的额定时钟周期,确定所述第一目标I/O数据的时序约束信息;基于所述第一目标I/O数据的时序约束信息,得到所述目标时序约束文件。
一种可选的实施方式中,所述匹配模块302还用于:对所述第二标识信息、以及所述第一标识信息进行匹配;响应于任一第二标识信息和所述第一标识信息匹配失败,将该匹配失败的第二标识信息对应的I/O数据确定为所述第一目标I/O数据。
一种可选的实施方式中,所述解析模块304还用于:基于确定的所述第一目标I/O数据的第二标识信息,从所述RTL中解析所述第一目标I/O数据对应的时钟、以及额定时钟周期;或者,对所述RTL进行解析,得到所述集成电路中各功能模块的I/O数据对应的时钟、以及额定时钟周期;基于所述确定的所述第一目标I/O数据的第二标识信息,从所述集成电路中各功能模块的I/O数据对应的时钟、以及额定时钟周期中,筛选所述第一目标I/O数据对应的时钟、以及额定时钟周期。
一种可选的实施方式中,所述匹配模块302还用于:基于所述第一目标I/O数据对应时钟的额定时钟周期、以及预设系数,生成所述第一目标I/O数据的时序约束信息。
一种可选的实施方式中,所述匹配模块302还用于:将所述第一目标I/O数据的时序约束信息写入所述初始时序约束文件,生成所述目标时序约束文件。
一种可选的实施方式中,所述匹配模块302还用于:基于所述目标I/O数据的时序约束信息,写入不同于所述初始时序约束文件的另一时序约束文件,生成所述目标时序约束文件。
一种可选的实施方式中,所述逻辑综合模块303还用于:基于目标时序约束文件、所述初始时序约束文件、以及所述RTL进行电路逻辑综合,得到所述集成电路的门级电路。
一种可选的实施方式中,所述匹配模块302还用于:响应于存在所述第二目标I/O数据,将所述第二目标I/O数据的时序约束信息从所述初始时序约束文件中删除。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
本公开实施例还提供了一种计算机设备,如图4所示,为本公开实施例提供的计算机设备结构示意图,包括:
处理器41和存储器42;所述存储器42存储有处理器41可执行的机器可读指令,处理器41用于执行存储器42中存储的机器可读指令,所述机器可读指令被处理器41执行时,处理器41执行下述步骤:
获取集成电路初始时序约束文件、以及所述集成电路的寄存器转换级电路RTL;所述初始时序约束文件中包括:对所述集成电路中各个功能模块的输出或输出I/O数据进行时序设置得到的时序约束信息;
基于所述RTL,对所述初始时序约束文件中的时序约束信息进行校正处理,得到目标时序约束文件;
基于所述目标时序约束文件、以及所述RTL进行电路逻辑综合,得到所述集成电路的门级电路。
上述存储器42包括内存421和外部存储器422;这里的内存421也称内存储器,用于暂时存放处理器41中的运算数据,以及与硬盘等外部存储器422交换的数据,处理器41通过内存421与外部存储器422进行数据交换。
上述指令的具体执行过程可以参考本公开实施例中所述的集成电路的综合方法的步骤,此处不再赘述。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的集成电路的综合方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的集成电路的综合方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
Claims (12)
1.一种集成电路的综合方法,其特征在于,包括:
获取集成电路初始时序约束文件、以及所述集成电路的寄存器转换级电路RTL;所述初始时序约束文件中包括:对所述集成电路中各个功能模块的输入或输出I/O数据进行时序设置得到的时序约束信息;
基于所述RTL,对所述初始时序约束文件中的时序约束信息进行校正处理,得到目标时序约束文件;
基于所述目标时序约束文件、以及所述RTL进行电路逻辑综合,得到所述集成电路的门级电路。
2.根据权利要求1所述的综合方法,其特征在于,所述时序约束信息包括:所述I/O数据的第一标识信息、用于与所述I/O数据对应时钟的时钟名称、以及所述I/O数据对应的时钟周期;
其中,与所述I/O数据对应的时钟用于控制对应I/O数据的时钟周期。
3.根据权利要求1或2所述的综合方法,其特征在于,所述基于所述RTL,对所述初始时序约束文件中的时序约束信息进行校正处理,得到目标时序约束文件,包括:
对所述RTL进行解析,得到所述RTL集成电路中各个功能模块的I/O数据的第二标识信息;
基于所述第二标识信息、以及所述初始时序约束文件,确定所述I/O数据中是否存在未设置时序约束的第一目标I/O数据;
响应于存在所述第一目标I/O数据,基于与所述第一目标I/O数据对应时钟的额定时钟周期,确定所述第一目标I/O数据的时序约束信息;
基于所述第一目标I/O数据的时序约束信息,得到所述目标时序约束文件。
4.根据权利要求3所述的综合方法,其特征在于,所述基于所述第二标识信息、以及所述初始时序约束文件,确定所述I/O数据中是否存在未设置时序约束的第一目标I/O数据,包括:
对所述第二标识信息、以及所述第一标识信息进行匹配;
响应于任一第二标识信息和所述第一标识信息匹配失败,将该匹配失败的第二标识信息对应的I/O数据确定为所述第一目标I/O数据。
5.根据权利要求3或4所述的综合方法,其特征在于,所述响应于存在所述第一目标I/O数据,基于与所述第一目标I/O数据对应时钟的额定时钟周期,确定所述第一目标I/O数据的时序约束信息之前,还包括:
基于确定的所述第一目标I/O数据的第二标识信息,从所述RTL中解析所述第一目标I/O数据对应的时钟、以及额定时钟周期;
或者,对所述RTL进行解析,得到所述集成电路中各功能模块的I/O数据对应的时钟、以及额定时钟周期;基于所述确定的所述第一目标I/O数据的第二标识信息,从所述集成电路中各功能模块的I/O数据对应的时钟、以及额定时钟周期中,筛选所述第一目标I/O数据对应的时钟、以及额定时钟周期。
6.根据权利要求3-5任一项所述的综合方法,其特征在于,所述基于与所述第一目标I/O数据对应时钟的额定时钟周期,确定所述第一目标I/O数据的时序约束信息,包括:
基于所述第一目标I/O数据对应时钟的额定时钟周期、以及预设系数,生成所述第一目标I/O数据的时序约束信息。
7.根据权利要求3-6任一项所述的综合方法,其特征在于,所述基于所述第一目标I/O数据的时序约束信息,得到所述目标时序约束文件,包括:
将所述第一目标I/O数据的时序约束信息写入所述初始时序约束文件,生成所述目标时序约束文件;和/或
基于所述第一目标I/O数据的时序约束信息,写入不同于所述初始时序约束文件的另一时序约束文件,生成所述目标时序约束文件。
8.根据权利要求7所述的综合方法,其特征在于,所述基于所述目标时序约束文件、以及所述RTL进行电路逻辑综合,得到所述集成电路的门级电路,包括:
基于目标时序约束文件、所述初始时序约束文件、以及所述RTL进行电路逻辑综合,得到所述集成电路的门级电路。
9.根据权利要求7-8任一项所述的综合方法,其特征在于,所述方法还包括:基于所述第二标识信息、以及所述初始时序约束文件,确定所述初始时序约束文件中是否存在未包括在所述集成电路中的第二目标I/O数据;
响应于存在所述第二目标I/O数据,将所述第二目标I/O数据的时序约束信息从所述初始时序约束文件中删除。
10.一种集成电路的综合装置,其特征在于,所述装置包括:
获取模块,用于获取集成电路初始时序约束文件、以及所述集成电路的寄存器转换级电路RTL;所述初始时序约束文件中包括:所述集成电路中的功能模块的I/O数据对应的时序约束信息;
匹配模块,用于基于所述RTL,对所述初始时序约束文件中的时序约束信息进行校正处理,得到目标时序约束文件;
逻辑综合模块,用于基于所述目标时序约束文件、以及所述RTL进行电路逻辑综合,得到所述集成电路的门级电路。
11.一种计算机设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至9任一项所述的集成电路的综合方法的步骤。
12.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至9任一项所述的集成电路的综合方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210325793.9A CN114707445A (zh) | 2022-03-29 | 2022-03-29 | 集成电路的综合方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210325793.9A CN114707445A (zh) | 2022-03-29 | 2022-03-29 | 集成电路的综合方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114707445A true CN114707445A (zh) | 2022-07-05 |
Family
ID=82171140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210325793.9A Pending CN114707445A (zh) | 2022-03-29 | 2022-03-29 | 集成电路的综合方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114707445A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116542190A (zh) * | 2023-06-02 | 2023-08-04 | 英诺达(成都)电子科技有限公司 | 用户设计综合方法、装置、设备、介质及产品 |
CN116774777A (zh) * | 2023-08-16 | 2023-09-19 | 沐曦集成电路(上海)有限公司 | 芯片时钟数据处理系统 |
CN117332730A (zh) * | 2023-10-10 | 2024-01-02 | 上海合芯数字科技有限公司 | 综合后的网表和sdc中基本单元名称匹配方法、系统、终端及介质 |
-
2022
- 2022-03-29 CN CN202210325793.9A patent/CN114707445A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116542190A (zh) * | 2023-06-02 | 2023-08-04 | 英诺达(成都)电子科技有限公司 | 用户设计综合方法、装置、设备、介质及产品 |
CN116542190B (zh) * | 2023-06-02 | 2023-09-01 | 英诺达(成都)电子科技有限公司 | 用户设计综合方法、装置、设备、介质及产品 |
CN116774777A (zh) * | 2023-08-16 | 2023-09-19 | 沐曦集成电路(上海)有限公司 | 芯片时钟数据处理系统 |
CN116774777B (zh) * | 2023-08-16 | 2023-11-10 | 沐曦集成电路(上海)有限公司 | 芯片时钟数据处理系统 |
CN117332730A (zh) * | 2023-10-10 | 2024-01-02 | 上海合芯数字科技有限公司 | 综合后的网表和sdc中基本单元名称匹配方法、系统、终端及介质 |
CN117332730B (zh) * | 2023-10-10 | 2024-06-04 | 上海合芯数字科技有限公司 | 综合后的网表和sdc中基本单元名称匹配方法、系统、终端及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114707445A (zh) | 集成电路的综合方法、装置、计算机设备及存储介质 | |
US6925621B2 (en) | System and method for applying timing models in a static-timing analysis of a hierarchical integrated circuit design | |
US8117576B2 (en) | Method for using an equivalence checker to reduce verification effort in a system having analog blocks | |
US6321363B1 (en) | Incremental simulation using previous simulation results and knowledge of changes to simulation model to achieve fast simulation time | |
US8554530B1 (en) | Methods and systems for property assertion in circuit simulation | |
US6954915B2 (en) | System and methods for pre-artwork signal-timing verification of an integrated circuit design | |
EP0774139A1 (en) | System and method for simulating discrete functions using ordered decision arrays | |
JPH05143674A (ja) | 回路図形データベースからの自動論理モデル作成方法 | |
US8522182B2 (en) | Generation of an end point report for a timing simulation of an integrated circuit | |
US7882483B2 (en) | Method for checking constraints equivalence of an integrated circuit design | |
US6910194B2 (en) | Systems and methods for timing a linear data path element during signal-timing verification of an integrated circuit design | |
US6836874B2 (en) | Systems and methods for time-budgeting a complex hierarchical integrated circuit | |
CN113536718B (zh) | 一种门级仿真网表文件正确性的验证方法及装置 | |
CN107784185B (zh) | 一种门级网表中伪路径的提取方法、装置及终端设备 | |
US7979262B1 (en) | Method for verifying connectivity of electrical circuit components | |
US6449578B1 (en) | Method and apparatus for determining the RC delays of a network of an integrated circuit | |
US10599802B2 (en) | Methods for automatic engineering change order (ECO) bug fixing in integrated circuit design | |
US20220327269A1 (en) | Computing device and method for detecting clock domain crossing violation in design of memory device | |
CN117350208A (zh) | 时序逻辑元件性能检查方法及设备 | |
US7287235B1 (en) | Method of simplifying a circuit for equivalence checking | |
Bommu et al. | Retiming-based factorization for sequential logic optimization | |
US7191412B1 (en) | Method and apparatus for processing a circuit description for logic simulation | |
Shao et al. | V2Va: An Efficient Verilog-to-Verilog-A Translator for Accelerated Mixed-Signal Simulation | |
CN111400994A (zh) | 网表形式验证方法、装置、计算机设备及存储介质 | |
Loh et al. | VLSI Design Course with Commercial EDA Tools to Meet Industry Demand–From Logic Synthesis to Physical 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 |