CN114048701A - 网表eco方法、装置、设备及可读存储介质 - Google Patents
网表eco方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN114048701A CN114048701A CN202210033646.4A CN202210033646A CN114048701A CN 114048701 A CN114048701 A CN 114048701A CN 202210033646 A CN202210033646 A CN 202210033646A CN 114048701 A CN114048701 A CN 114048701A
- Authority
- CN
- China
- Prior art keywords
- netlist
- modified
- eco
- modification
- layer
- 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.)
- Granted
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/337—Design optimisation
-
- 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/3323—Design verification, e.g. functional simulation or model checking using formal methods, e.g. equivalence checking or property checking
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
本申请提出了一种网表ECO方法、装置、设备及可读存储介质,该方法包括:根据修改需求对原始行为级代码集合进行功能修改,根据第一ECO脚本对原始网表集合进行修改,得到修改后的行为级代码集合和修改后的网表集合,提取出修改层代码和修改层网表,然后根据得到的目标修改模块行为级代码和目标修改模块门级网表进行修改层逻辑等价验证;若修改层逻辑等价验证结果一致,则将第一ECO脚本发送至IC后端运行。本申请在调试阶段仅需要对比修改部分的代码和网表和进行逻辑等价验证,由于局部代码模块数据量较小,从而能够快速完成排错调试,提高ECO脚本调试的效率,缩短ECO脚本调试以及整个IC设计流程的时间。
Description
技术领域
本申请涉及集成电路设计技术领域,具体涉及一种网表ECO方法、装置、设备及可读存储介质。
背景技术
在电路设计中,网表用于描述电路元件相互之间的连接关系,一般来说是一个遵循某种比较简单的标记语法的文本文件。对于复杂的集成电路设计,电路功能需要通过多个级别的描述来完成,包括RTL行为描述,其行为方式的建模采用对信号行为级的描述方法来进行。
工程变更指令(Engineering Change Order,ECO)是指在流程中某个阶段发现错误,在不需要重复全流程的情况下,通过对当前流程阶段的设计直接进行变更,以减小全流程重复带来的项目时间的延长。网表ECO,即手动修改门级网表的过程,由于在芯片设计后期IC后端已经设计完成,门级网表并不能被重新综合,如果重新综合生成得到门级网表会造成后端工作全部报废,因此只允许在现有门级网表上进行修补。
在构思及实现本申请过程中,发明人发现至少存在如下问题:针对大规模数字设计,若后期发现设计问题修改设计代码后,采用传统ECO flow会导致迭代时间过长。如果需要对规模较大的网表进行ECO修改,进行ECO调试,每一次迭代中逻辑等价验证会花费很长的时间才能得到是否比对通过的结果,大大增加了ECO脚本调试的时间,导致整个网表ECO流程效率低下的问题。
前面的叙述在于提供一般的背景信息,并不一定构成现有技术。
发明内容
针对上述技术问题,本申请提供一种网表ECO方法、装置、设备及可读存储介质,通过对修改部分的代码和代码进行逻辑等价验证。
为解决上述技术问题,本申请提供一种网表ECO方法,包括如下步骤:
获取原始行为级代码集合和原始网表集合;
根据修改需求对所述原始行为级代码集合进行功能修改,并根据第一工程变更指令ECO脚本对所述原始网表集合进行修改,得到修改后的行为级代码集合和修改后的网表集合;
分别从所述修改后的行为级代码集合和修改后的网表集合中提取出修改层代码和修改层网表,得到目标修改模块行为级代码和目标修改模块门级网表;
根据所述目标修改模块行为级代码和目标修改模块门级网表进行修改层逻辑等价验证;
若修改层逻辑等价验证结果一致,则将所述第一ECO脚本发送至IC后端运行。
可选地,在所述根据第一工程变更指令ECO脚本对所述原始网表集合进行修改之前,所述网表ECO方法还可以包括:
获取修改需求,提取所述修改需求对应的修改任务信息;
根据所述修改任务信息确定需要修改的目标模块,并生成所述第一ECO脚本。
可选地,在所述修改层逻辑等价验证结果一致之后,所述方法还可以包括:
对所述修改后的行为级代码集合和修改后的网表集合进行整体逻辑等价验证;
若整体逻辑等价验证结果一致,则将所述第一ECO脚本发送至IC后端运行;
若所述整体逻辑等价验证结果不一致,生成用于重新对所述原始网表集合进行修改的第二ECO脚本。
可选地,在所述生成用于重新对所述原始网表集合进行修改的第二ECO脚本之后,所述网表ECO方法还可以包括:
根据所述第二ECO脚本对原始网表集合进行修改,得到重新修改后的网表集合;
分别从修改后的行为级代码集合和重新修改后的网表集合中提取出修改层代码和修改层网表,得到目标修改模块行为级代码和目标修改模块门级网表;
根据所述目标修改模块行为级代码和目标修改模块门级网表进行修改层逻辑等价验证。
可选地,所述网表ECO方法,还可以包括:
若所述修改层逻辑等价验证结果不一致,则将所述修改层逻辑等价验证结果与待修改层逻辑等价验证结果进行比对;
若比对结果不一致,则生成用于重新对所述原始网表集合进行修改的第二ECO脚本;
若所述比对结果一致,则将所述第一ECO脚本发送至IC后端运行。
可选地,在所述比对结果一致之后,所述网表ECO方法还可以包括:
对修改后的行为级代码集合和修改后的网表集合进行整体逻辑等价验证;
若整体逻辑等价验证结果一致,则将所述第一ECO脚本发送至IC后端运行;
若所述整体逻辑等价验证结果不一致,则生成用于重新对原始网表集合进行修改的第二ECO脚本。
可选地,在所述获取原始行为级代码集合和原始网表集合之后,所述网表ECO方法还可以包括:
提取所述原始行为级代码集合中的待修改层代码,生成待修改层行为级代码集合;
提取所述原始网表集合中待修改层代码,生成待修改层网表集合;
对所述待修改层行为级代码集合和所述待修改层网表集合进行待修改层逻辑等价验证,生成待修改层逻辑等价验证结果。
相应地,本申请还提供一种网表ECO装置,包括:
获取模块,用于获取原始行为级代码集合和原始网表集合;
修改模块,用于根据修改需求对所述原始行为级代码集合进行功能修改,并根据第一工程变更指令ECO脚本对所述原始网表集合进行修改,得到修改后的行为级代码集合和修改后的网表集合;
提取模块,用于分别从所述修改后的行为级代码集合和修改后的网表集合中提取出修改层代码和修改层网表,得到目标修改模块行为级代码和目标修改模块门级网表;
验证模块,用于根据所述目标修改模块行为级代码和目标修改模块门级网表进行修改层逻辑等价验证;
发送模块,用于若修改层逻辑等价验证结果一致,则将所述第一ECO脚本发送至IC后端运行。
本申请还提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的网表ECO方法的步骤。
本申请还提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的网表ECO方法的步骤。
实施本申请实施例,具有如下有益效果:
如上所述,本申请提供的一种网表ECO方法、装置、设备及可读存储介质,所述方法包括:首先,获取原始行为级代码集合和原始网表集合;然后,根据修改需求对所述原始行为级代码集合进行功能修改,并根据第一ECO脚本对所述原始网表集合进行修改,得到修改后的行为级代码集合和修改后的网表集合;接着,分别从所述修改后的行为级代码集合和修改后的网表集合中提取出修改层代码和修改层网表,得到目标修改模块行为级代码和目标修改模块门级网表;其次,根据所述目标修改模块行为级代码和目标修改模块门级网表进行修改层逻辑等价验证;最后,若修改层逻辑等价验证结果一致,则将所述第一ECO脚本发送至IC后端运行。本申请通过在调试阶段对比修改部分的代码和网表后,可以仅需对修改部分进行逻辑等价验证,快速完成ECO脚本的调试,无需对全网表进行逻辑等价验证;由于局部代码模块数据量较小,因此本申请能够快速完成排错调试,从而有效提高ECO脚本调试的效率,缩短ECO脚本调试以及整个IC设计流程的时间。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的网表ECO方法的流程示意图;
图2是本申请实施例提供的网表ECO方法一种实施方式的流程示意图;
图3是本申请实施例提供的网表ECO方法另一种实施方式的流程示意图;
图4是本申请实施例提供的网表ECO装置的结构示意图;
图5是本申请实施例提供的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素,此外,本申请不同实施例中具有同样命名的部件、特征、要素可能具有相同含义,也可能具有不同含义,其具体含义需以其在该具体实施例中的解释或者进一步结合该具体实施例中上下文进行确定。
应当理解,尽管在本文可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本文范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、步骤、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。本申请使用的术语“或”、“和/或”、“包括以下至少一个”等可被解释为包括性的,或意味着任一个或任何组合。例如,“包括以下至少一个:A、B、C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A和B和C”,再如,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A和B和C”。仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
应该理解的是,虽然本申请实施例中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
需要说明的是,在本文中,采用了诸如S10、S20等步骤代号,其目的是为了更清楚简要地表述相应内容,不构成顺序上的实质性限制,本领域技术人员在具体实施时,可能会先执行S20后执行S10等,但这些均应在本申请的保护范围之内。
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或者“单元”的后缀仅为了有利于本申请的说明,其本身没有特定的意义。因此,“模块”、“部件”或者“单元”可以混合地使用。
首先介绍本申请可以提供的应用场景,如提供一种网表ECO方法、装置、设备及可读存储介质,通过对比修改部分的代码和模块进行逻辑等价验证,无需对全网表进行逻辑等价验证,快速完成ECO脚本的调试,有效提高ECO脚本调试的效率,缩短ECO脚本调试以及整个IC设计流程的时间。
请参阅图1,图1是本申请实施例提供的网表ECO方法的流程示意图。该网表ECO方法具体可以包括:
S10.获取原始行为级代码集合和原始网表集合。
具体的,对于S10步骤,在前端人员设计得到行为级代码,通过代码逻辑综合工具生成门级网表后,获取整个工程的原始行为级代码集合和原始网表集合;其中,所述原始行为级代码集合包括至少一个原始行为级代码,所述原始网表集合包括至少一个原始门级网表。
S20.根据修改需求对所述原始行为级代码集合进行功能修改,并根据第一工程变更指令ECO脚本对所述原始网表集合进行修改,得到修改后的行为级代码集合和修改后的网表集合。
具体的,对于S20步骤,接收用户发起的ECO请求并进行解析,得到对应的工程修改需求,从而根据该修改需求对原始行为级代码集合进行对应的功能修改,并根据修改需求生成的第一ECO脚本对原始网表集合进行修改,在完成上述修改后,分别得到修改后的行为级代码集合和修改后的网表集合。
S30.分别从所述修改后的行为级代码集合和修改后的网表集合中提取出修改层代码和修改层网表,得到目标修改模块行为级代码和目标修改模块门级网表。
具体的,对于S30步骤,从修改后的行为级代码集合进行修改层代码的提取,提取得到对应的修改层代码;从修改后的网表集合中进行修改层网表的提取,提取得到对应的修改层网表;最后根据提取得到的修改层代码和修改层网表,生成得到目标修改模块行为级代码和目标修改模块门级网表。
S40.根据所述目标修改模块行为级代码和目标修改模块门级网表进行修改层逻辑等价验证。
具体的,对于S40步骤,对目标修改模块行为级代码和目标修改模块门级网表进行修改层逻辑等价验证,只需要对修改部分的代码和网表进行逻辑等价验证,从而验证修改部分的代码和网表是否成功有效修改,由于修改部分属于局部代码模块,因此进行修改层逻辑等价验证时能够快速排错调试,快速完成ECO脚本的调试,提高ECO调试的效率。
S50.若修改层逻辑等价验证结果一致,则将所述第一ECO脚本发送至IC后端运行。
具体的,对于S50步骤,当判断修改层逻辑等价验证结果是一致时,即判定本次修改部分的代码和网表成功有效修改且无漏洞,则将本次修改的第一ECO脚本发送至IC后端,以使IC后端根据EDA工具生成GDS版图文件,从而交付工厂流片。
在现有技术中,针对大规模数字设计,若后期发现设计问题修改设计代码后,采用传统ECO flow会导致迭代时间过长。如果需要对规模较大的网表进行ECO修改,进行ECO调试,每一次迭代中逻辑等价验证会花费很长的时间才能得到是否比对通过的结果,大大增加了ECO脚本调试的时间,导致整个网表ECO流程效率低下的问题。
由上可见,本申请实施例为了解决上述技术问题,首先根据修改需求对原始行为级代码和原始网表进行修改,然后通过在调试阶段对比修改部分的代码和网表后,可以仅需对修改部分进行逻辑等价验证,快速完成ECO脚本的调试,与现有技术相比,本申请实施例无需对全网表进行逻辑等价验证;同时,由于局部代码模块数据量较小,因此本申请实施例能够快速完成排错调试,从而有效提高ECO脚本调试的效率,缩短ECO脚本调试以及整个IC设计流程的时间。
可选地,在一些实施例中,在所述根据第一工程变更指令ECO脚本对所述原始网表集合进行修改之前,所述网表ECO方法具体还可以包括:
S11.获取修改需求,提取所述修改需求对应的修改任务信息;
S12.根据所述修改任务信息确定需要修改的目标模块,并生成所述第一ECO脚本。
在具体的实施例中,在S20步骤之前,获取用户发起的ECO请求并进行解析,得到对应的修改需求,从而从修改需求中提取出对应的修改任务信息,根据修改任务信息确定本次需要修改的目标模块,并生成对应的第一ECO脚本,以用于后续根据第一ECO脚本对原始网表进行修改。
可选地,如图2所示,在一些实施例中,在所述修改层逻辑等价验证结果一致之后,所述方法具体还可以包括:
S60.对所述修改后的行为级代码集合和修改后的网表集合进行整体逻辑等价验证;
S61.若整体逻辑等价验证结果一致,则将所述第一ECO脚本发送至IC后端运行;
S62.若所述整体逻辑等价验证结果不一致,生成用于重新对所述原始网表集合进行修改的第二ECO脚本。
在具体的实施例中,在S50步骤之后,即在验证修改层逻辑等价验证结果一致之后,为了保证修改流程中间没有出现其他错误情况,再进行一次全网表的逻辑等价验证,对修改后的行为级代码集合和修改后的网表集合进行整体逻辑等价验证,判断整体逻辑等价验证结果是否一致;当判断整体逻辑等价验证结果是一致时,即判定本次修改成功有效修改且无漏洞,则将本次修改的第一ECO脚本发送至IC后端,以使IC后端根据EDA工具生成GDS版图文件,从而交付工厂流片;当判断整体逻辑等价验证结果不一致时,即判断本次修改无效且出现漏洞,根据出错信息进一步修改第一ECO脚本,生成第二ECO脚本,从而后续根据第二ECO脚本对原始网表进行重新修改;通过在完成修改部分的逻辑等价验证后再进行全网表整体的逻辑等价验证,进一步提高ECO调试的可靠性和准确性。
可选地,在一些实施例中,在所述生成用于重新对所述原始网表集合进行修改的第二ECO脚本之后,所述网表ECO方法具体还可以包括:
根据所述第二ECO脚本对原始网表集合进行修改,得到重新修改后的网表集合;
分别从修改后的行为级代码集合和重新修改后的网表集合中提取出修改层代码和修改层网表,得到目标修改模块行为级代码和目标修改模块门级网表;
根据所述目标修改模块行为级代码和目标修改模块门级网表进行修改层逻辑等价验证。
在具体的实施例中,在S62步骤之后,还可以包括根据修正后的第二ECO脚本对原始网表集合进行重新修改,得到重新修改后的网表集合;从重新修改后的网表集合中进行修改层网表的提取,提取得到对应的修改层网表,根据提取得到的修改层网表,生成目标修改模块门级网表;根据之前功能修改后得到的目标修改模块行为级代码以及根据第二ECO脚本修改后得到的目标修改模块门级网表进行修改层逻辑等价验证,判断修改层逻辑等价验证结果是否一致。重复上述过程,直至修改层逻辑等价验证结果一致且整体逻辑等价验证结果一致。
可选地,如图3所示,在一些实施例中,所述网表ECO方法具体还可以包括:
S51.若所述修改层逻辑等价验证结果不一致,则将所述修改层逻辑等价验证结果与待修改层逻辑等价验证结果进行比对;
S52.若比对结果不一致,则生成用于重新对所述原始网表集合进行修改的第二ECO脚本;
S53.若所述比对结果一致,则将所述第一ECO脚本发送至IC后端运行。
在具体的实施例中,在S40步骤之后,当判断修改层逻辑等价验证结果不一致时,则将该修改层逻辑等价验证结果与待修改层逻辑等价验证结果进行比对;若判断比对结果一致时,则将本次修改的ECO脚本发送至IC后端运行;若判断比对结果不一致时,则判定本次修改失败,需要根据出错信息重新修改ECO脚本,生成第二ECO脚本,从而根据第二ECO脚本重新修改原始网表集合,再次提取得到目标修改模块的门级网表,并结合目标修改模块行为级代码再次进行修改层逻辑等价验证,重复上述过程,直至修改层逻辑等价验证结果或与待修改层逻辑验证结果的比对结果一致。
可选地,在一些实施例中,在所述比对结果一致之后,所述网表ECO方法具体还可以包括:
S531.对修改后的行为级代码集合和修改后的网表集合进行整体逻辑等价验证;
S532.若整体逻辑等价验证结果一致,则将所述第一ECO脚本发送至IC后端运行;
S533.若所述整体逻辑等价验证结果不一致,则生成用于重新对原始网表集合进行修改的第二ECO脚本。
在具体的实施例中,在S53步骤之后,具体还可以对修改后的行为级代码集合和修改后的网表集合进行全网表的整体逻辑等价验证,判断整体逻辑等价验证结果是否一致;当判断整体逻辑等价验证结果是一致时,即判定本次修改成功有效修改且无漏洞,则将本次修改的第一ECO脚本发送至IC后端,以使IC后端根据EDA工具生成GDS版图文件,从而交付工厂流片;当判断整体逻辑等价验证结果不一致时,即判断本次修改无效且出现漏洞,根据出错信息进一步修改第一ECO脚本,生成第二ECO脚本,从而后续根据第二ECO脚本对原始网表进行重新修改。重复上述过程,直至修改层逻辑等价验证结果一致且整体逻辑等价结果一致,或直至与待修改层逻辑等价验证结果一致且整体逻辑等价结果一致。通过在完成修改部分的逻辑等价验证后再进行全网表整体的逻辑等价验证,进一步提高ECO调试的可靠性和准确性。
可选地,在一些实施例中,在所述获取原始行为级代码集合和原始网表集合之后,所述网表ECO方法具体还可以包括:
S101.提取所述原始行为级代码集合中的待修改层代码,生成待修改层行为级代码集合;
S102.提取所述原始网表集合中待修改层代码,生成待修改层网表集合;
S103.对所述待修改层行为级代码集合和所述待修改层网表集合进行待修改层逻辑等价验证,生成待修改层逻辑等价验证结果。
在具体的实施例中,在S10步骤之后,该网表ECO方法还包括根据用户需求分别提取所述原始行为级代码集合中的待修改层代码和原始网表集合中待修改层代码,对应生成待修改层行为级代码集合和待修改层网表集合,并对待修改层行为级代码集合和所述待修改层网表集合进行待修改层逻辑等价验证,生成待修改层逻辑等价验证结果,作为后续在修改层逻辑等价验证结果不一致时,和待修改层逻辑等价验证结果进行比对。
可选地,在一些实施例中,若目标修改模块的数量超过一个时,首先判断各个目标修改模块是否同属一个上级模块,若同属一个上级模块,则可对各个目标修改模块单独修改再进行修改层逻辑等价验证,也可以对所属的上级模块进行整体修改后再进行修改层逻辑等价验证;若不同属一个上级模块,则可对其中同属一个上级模块的目标修改模块进行单独或整体修改,再同时对其他不同属一个上级模块的其它目标修改模块进行单独修改,在全部目标修改模块均完成修改后再进行修改层逻辑等价验证。
由上可知,本申请实施例提供的网表ECO方法,包括:首先,获取原始行为级代码集合和原始网表集合;然后,根据修改需求对所述原始行为级代码集合进行功能修改,并根据第一ECO脚本对所述原始网表集合进行修改,得到修改后的行为级代码集合和修改后的网表集合;接着,分别从所述修改后的行为级代码集合和修改后的网表集合中提取出修改层代码和修改层网表,得到目标修改模块行为级代码和目标修改模块门级网表;其次,根据所述目标修改模块行为级代码和目标修改模块门级网表进行修改层逻辑等价验证;最后,若修改层逻辑等价验证结果一致,则将所述第一ECO脚本发送至IC后端运行。
本申请实施例通过在调试阶段对比修改部分的代码和网表后,可以仅需对修改部分进行逻辑等价验证,快速完成ECO脚本的调试,无需对全网表进行逻辑等价验证;由于局部代码模块数据量较小,因此本申请实施例能够快速完成排错调试,从而有效提高ECO脚本调试的效率,缩短ECO脚本调试以及整个IC设计流程的时间。另外,在通过修改层逻辑等价验证之后,本申请实施例还需要进行整体逻辑等价验证,以及与待修改层等价验证结果的比对,综合上述比对结果,进一步判断本次修改的ECO脚本是否合格,进一步提高ECO脚本调试的可靠性和准确性。
相应的,本申请还提供一种网表ECO装置,请参阅图4,图4是本申请实施例提供的一种网表ECO装置,具体可以包括获取模块100、修改模块200、提取模块300、验证模块400和发送模块500。
其中,获取模块100,用于获取原始行为级代码集合和原始网表集合。
修改模块200,用于根据修改需求对所述原始行为级代码集合进行功能修改,并根据第一工程变更指令ECO脚本对所述原始网表集合进行修改,得到修改后的行为级代码集合和修改后的网表集合。
可选地,在一些实施例中,修改模块200具体还可以包括:
任务单元,用于获取修改需求,提取所述修改需求对应的修改任务信息;
脚本单元,用于根据所述修改任务信息确定需要修改的目标模块,并生成所述第一ECO脚本。
提取模块300,用于分别从所述修改后的行为级代码集合和修改后的网表集合中提取出修改层代码和修改层网表,得到目标修改模块行为级代码和目标修改模块门级网表。
可选地,在一些实施例中,提取模块300具体还可以包括:
待修改单元,用于提取所述原始行为级代码集合中的待修改层代码,生成待修改层行为级代码集合;提取所述原始网表集合中待修改层代码,生成待修改层网表集合。对所述待修改层行为级代码集合和所述待修改层网表集合进行待修改层逻辑等价验证,生成待修改层逻辑等价验证结果。
验证模块400,用于根据所述目标修改模块行为级代码和目标修改模块门级网表进行修改层逻辑等价验证。
可选地,在一些实施例中,验证模块400具体还可以包括:
整体验证单元,用于对所述修改后的行为级代码集合和修改后的网表集合进行整体逻辑等价验证;若整体逻辑等价验证结果一致,则将所述第一ECO脚本发送至IC后端运行;若所述整体逻辑等价验证结果不一致,生成用于重新对所述原始网表集合进行修改的第二ECO脚本。
待修改层验证单元,用于若所述修改层逻辑等价验证结果不一致,则将所述修改层逻辑等价验证结果与待修改层逻辑等价验证结果进行比对;若比对结果不一致,则生成用于重新对所述原始网表集合进行修改的第二ECO脚本;若所述比对结果一致,则将所述第一ECO脚本发送至IC后端运行。
发送模块500,用于若修改层逻辑等价验证结果一致,则将所述第一ECO脚本发送至IC后端运行。
综上所述,本申请实施例提供的一种网表ECO装置,首先获取模块100,用于获取原始行为级代码集合和原始网表集合;修改模块200根据修改需求对所述原始行为级代码集合进行功能修改,并根据第一ECO脚本对所述原始网表集合进行修改,得到修改后的行为级代码集合和修改后的网表集合;提取模块300分别从所述修改后的行为级代码集合和修改后的网表集合中提取出修改层代码和修改层网表,得到目标修改模块行为级代码和目标修改模块门级网表;验证模块400根据所述目标修改模块行为级代码和目标修改模块门级网表进行修改层逻辑等价验证;发送模块500在修改层逻辑等价验证结果一致时,将所述第一ECO脚本发送至IC后端运行。本申请实施例通过在调试阶段对比修改部分的代码和网表后,可以仅需对修改部分进行逻辑等价验证,快速完成ECO脚本的调试,无需对全网表进行逻辑等价验证;由于局部代码模块数据量较小,因此本申请实施例能够快速完成排错调试,从而有效提高ECO脚本调试的效率,缩短ECO脚本调试以及整个IC设计流程的时间。
参照图5,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于储存网表ECO方法等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种网表ECO方法,包括:首先获取原始行为级代码集合和原始网表集合;然后,根据修改需求对所述原始行为级代码集合进行功能修改,并根据第一ECO脚本对所述原始网表集合进行修改,得到修改后的行为级代码集合和修改后的网表集合;接着,分别从所述修改后的行为级代码集合和修改后的网表集合中提取出修改层代码和修改层网表,得到目标修改模块行为级代码和目标修改模块门级网表;其次,根据所述目标修改模块行为级代码和目标修改模块门级网表进行修改层逻辑等价验证;最后,若修改层逻辑等价验证结果一致,则将所述第一ECO脚本发送至IC后端运行。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种网表ECO方法,包括步骤:首先获取原始行为级代码集合和原始网表集合;然后,根据修改需求对所述原始行为级代码集合进行功能修改,并根据第一ECO脚本对所述原始网表集合进行修改,得到修改后的行为级代码集合和修改后的网表集合;接着,分别从所述修改后的行为级代码集合和修改后的网表集合中提取出修改层代码和修改层网表,得到目标修改模块行为级代码和目标修改模块门级网表;其次,根据所述目标修改模块行为级代码和目标修改模块门级网表进行修改层逻辑等价验证;最后,若修改层逻辑等价验证结果一致,则将所述第一ECO脚本发送至IC后端运行。
上述执行的网表ECO方法,本申请实施例通过在调试阶段对比修改部分的代码和网表后,可以仅需对修改部分进行逻辑等价验证,快速完成ECO脚本的调试,无需对全网表进行逻辑等价验证;由于局部代码模块数据量较小,因此本申请能够快速完成排错调试,从而有效提高ECO脚本调试的效率,缩短ECO脚本调试以及整个IC设计流程的时间。
可以理解,上述场景仅是作为示例,并不构成对于本申请实施例提供的技术方案的应用场景的限定,本申请的技术方案还可应用于其他场景。例如,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例设备中的单元可以根据实际需要进行合并、划分和删减。
在本申请中,对于相同或相似的术语概念、技术方案和/或应用场景描述,一般只在第一次出现时进行详细描述,后面再重复出现时,为了简洁,一般未再重复阐述,在理解本申请技术方案等内容时,对于在后未详细描述的相同或相似的术语概念、技术方案和/或应用场景描述等,可以参考其之前的相关详细描述。
在本申请中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本申请技术方案的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本申请记载的范围。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,被控终端,或者网络设备等)执行本申请每个实施例的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络,或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、存储盘、磁带)、光介质(例如,DVD),或者半导体介质(例如固态存储盘Solid State Disk (SSD))等。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种网表ECO方法,其特征在于,包括如下步骤:
获取原始行为级代码集合和原始网表集合;
根据修改需求对所述原始行为级代码集合进行功能修改,并根据第一工程变更指令ECO脚本对所述原始网表集合进行修改,得到修改后的行为级代码集合和修改后的网表集合;
分别从所述修改后的行为级代码集合和修改后的网表集合中提取出修改层代码和修改层网表,得到目标修改模块行为级代码和目标修改模块门级网表;
根据所述目标修改模块行为级代码和目标修改模块门级网表进行修改层逻辑等价验证;
若修改层逻辑等价验证结果一致,则将所述第一ECO脚本发送至IC后端运行。
2.根据权利要求1所述的网表ECO方法,其特征在于,在所述根据第一工程变更指令ECO脚本对所述原始网表集合进行修改之前,所述方法还包括:
获取修改需求,提取所述修改需求对应的修改任务信息;
根据所述修改任务信息确定需要修改的目标模块,并生成所述第一ECO脚本。
3.根据权利要求1所述的网表ECO方法,其特征在于,在所述修改层逻辑等价验证结果一致之后,所述方法还包括:
对所述修改后的行为级代码集合和修改后的网表集合进行整体逻辑等价验证;
若整体逻辑等价验证结果一致,则将所述第一ECO脚本发送至IC后端运行;
若所述整体逻辑等价验证结果不一致,生成用于重新对所述原始网表集合进行修改的第二ECO脚本。
4.根据权利要求3所述的网表ECO方法,其特征在于,在所述生成用于重新对所述原始网表集合进行修改的第二ECO脚本之后,所述方法还包括:
根据所述第二ECO脚本对原始网表集合进行修改,得到重新修改后的网表集合;
分别从修改后的行为级代码集合和重新修改后的网表集合中提取出修改层代码和修改层网表,得到目标修改模块行为级代码和目标修改模块门级网表;
根据所述目标修改模块行为级代码和目标修改模块门级网表进行修改层逻辑等价验证。
5.根据权利要求1所述的网表ECO方法,其特征在于,还包括:
若所述修改层逻辑等价验证结果不一致,则将所述修改层逻辑等价验证结果与待修改层逻辑等价验证结果进行比对;
若比对结果不一致,则生成用于重新对所述原始网表集合进行修改的第二ECO脚本;
若所述比对结果一致,则将所述第一ECO脚本发送至IC后端运行。
6.根据权利要求5所述的网表ECO方法,其特征在于,在所述比对结果一致之后,所述方法还包括:
对修改后的行为级代码集合和修改后的网表集合进行整体逻辑等价验证;
若整体逻辑等价验证结果一致,则将所述第一ECO脚本发送至IC后端运行;
若所述整体逻辑等价验证结果不一致,则生成用于重新对原始网表集合进行修改的第二ECO脚本。
7.根据权利要求1所述的网表ECO方法,其特征在于,在所述获取原始行为级代码集合和原始网表集合之后,所述方法还包括:
提取所述原始行为级代码集合中的待修改层代码,生成待修改层行为级代码集合;
提取所述原始网表集合中待修改层代码,生成待修改层网表集合;
对所述待修改层行为级代码集合和所述待修改层网表集合进行待修改层逻辑等价验证,生成待修改层逻辑等价验证结果。
8.一种网表ECO装置,其特征在于,包括:
获取模块,用于获取原始行为级代码集合和原始网表集合;
修改模块,用于根据修改需求对所述原始行为级代码集合进行功能修改,并根据第一工程变更指令ECO脚本对所述原始网表集合进行修改,得到修改后的行为级代码集合和修改后的网表集合;
提取模块,用于分别从所述修改后的行为级代码集合和修改后的网表集合中提取出修改层代码和修改层网表,得到目标修改模块行为级代码和目标修改模块门级网表;
验证模块,用于根据所述目标修改模块行为级代码和目标修改模块门级网表进行修改层逻辑等价验证;
发送模块,用于若修改层逻辑等价验证结果一致,则将所述第一ECO脚本发送至IC后端运行。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的网表ECO方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的网表ECO方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210033646.4A CN114048701B (zh) | 2022-01-12 | 2022-01-12 | 网表eco方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210033646.4A CN114048701B (zh) | 2022-01-12 | 2022-01-12 | 网表eco方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114048701A true CN114048701A (zh) | 2022-02-15 |
CN114048701B CN114048701B (zh) | 2022-04-12 |
Family
ID=80196338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210033646.4A Active CN114048701B (zh) | 2022-01-12 | 2022-01-12 | 网表eco方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114048701B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114492256A (zh) * | 2022-04-15 | 2022-05-13 | 南京沁恒微电子股份有限公司 | 集成电路数字后端eco方法、系统及计算机存储介质 |
CN116522830A (zh) * | 2023-06-30 | 2023-08-01 | 奇捷科技(深圳)有限公司 | 可测试设计及布局布线阶段的逻辑功能更正方法及装置 |
CN116522831A (zh) * | 2023-07-04 | 2023-08-01 | 奇捷科技(深圳)有限公司 | 逻辑更正方法、装置、设备及存储介质 |
CN116542191A (zh) * | 2023-07-06 | 2023-08-04 | 奇捷科技(深圳)有限公司 | 逻辑更正方法、装置、设备及存储介质 |
CN116595918A (zh) * | 2023-07-18 | 2023-08-15 | 奇捷科技(深圳)有限公司 | 快速逻辑等价性验证方法、装置、设备及存储介质 |
CN117150999A (zh) * | 2023-08-15 | 2023-12-01 | 上海合芯数字科技有限公司 | 利用冗余电路记录eco实施信息的方法、装置、终端及介质 |
CN117150999B (zh) * | 2023-08-15 | 2024-06-04 | 上海合芯数字科技有限公司 | 利用冗余电路记录eco实施信息的方法、装置、终端及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090178015A1 (en) * | 2008-01-04 | 2009-07-09 | International Business Machines Corporation | Method and system for reducing turn around time of complicated engineering change orders and asic design reutilization |
CN108133069A (zh) * | 2017-08-17 | 2018-06-08 | 上海倚韦电子科技有限公司 | 集成电路后端设计系统及方法 |
-
2022
- 2022-01-12 CN CN202210033646.4A patent/CN114048701B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090178015A1 (en) * | 2008-01-04 | 2009-07-09 | International Business Machines Corporation | Method and system for reducing turn around time of complicated engineering change orders and asic design reutilization |
CN108133069A (zh) * | 2017-08-17 | 2018-06-08 | 上海倚韦电子科技有限公司 | 集成电路后端设计系统及方法 |
Non-Patent Citations (2)
Title |
---|
刘冠男等: "《等价性验证在Soc设计中的应用》", 《中国集成电路》 * |
陈高琳等: "《基于综合工具的ECO自动化流程方法》", 《福建电脑》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114492256A (zh) * | 2022-04-15 | 2022-05-13 | 南京沁恒微电子股份有限公司 | 集成电路数字后端eco方法、系统及计算机存储介质 |
CN116522830A (zh) * | 2023-06-30 | 2023-08-01 | 奇捷科技(深圳)有限公司 | 可测试设计及布局布线阶段的逻辑功能更正方法及装置 |
CN116522830B (zh) * | 2023-06-30 | 2024-03-15 | 奇捷科技(深圳)有限公司 | 可测试设计及布局布线阶段的逻辑功能更正方法及装置 |
CN116522831A (zh) * | 2023-07-04 | 2023-08-01 | 奇捷科技(深圳)有限公司 | 逻辑更正方法、装置、设备及存储介质 |
CN116522831B (zh) * | 2023-07-04 | 2023-09-19 | 奇捷科技(深圳)有限公司 | 门级网表的更正方法、装置、设备及存储介质 |
CN116542191A (zh) * | 2023-07-06 | 2023-08-04 | 奇捷科技(深圳)有限公司 | 逻辑更正方法、装置、设备及存储介质 |
CN116542191B (zh) * | 2023-07-06 | 2023-12-05 | 奇捷科技(深圳)有限公司 | 逻辑更正方法、装置、设备及存储介质 |
CN116595918A (zh) * | 2023-07-18 | 2023-08-15 | 奇捷科技(深圳)有限公司 | 快速逻辑等价性验证方法、装置、设备及存储介质 |
CN116595918B (zh) * | 2023-07-18 | 2023-12-08 | 奇捷科技(深圳)有限公司 | 快速逻辑等价性验证方法、装置、设备及存储介质 |
CN117150999A (zh) * | 2023-08-15 | 2023-12-01 | 上海合芯数字科技有限公司 | 利用冗余电路记录eco实施信息的方法、装置、终端及介质 |
CN117150999B (zh) * | 2023-08-15 | 2024-06-04 | 上海合芯数字科技有限公司 | 利用冗余电路记录eco实施信息的方法、装置、终端及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114048701B (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114048701B (zh) | 网表eco方法、装置、设备及可读存储介质 | |
CN112256558B (zh) | 一种测试用例的生成方法、装置、计算机设备及存储介质 | |
CN105302710A (zh) | 一种确定需要回归测试的测试用例的方法和装置 | |
CN108491326B (zh) | 测试行为重组方法、装置及存储介质 | |
US9384020B2 (en) | Domain scripting language framework for service and system integration | |
US20140208169A1 (en) | Domain scripting language framework for service and system integration | |
CN111538659B (zh) | 业务场景的接口测试方法、系统、电子设备和存储介质 | |
CN114048129A (zh) | 软件功能变更的自动化测试方法、装置、设备及系统 | |
CN115563910A (zh) | Upf命令的执行方法、装置、设备及存储介质 | |
CN111124528B (zh) | 页面加载方法、装置、电子设备及计算机可读存储介质 | |
CN112597718B (zh) | 集成电路设计的验证方法、验证装置以及存储介质 | |
CN110058849A (zh) | 流程图的生成方法、装置、计算机设备以及存储介质 | |
CN111427582B (zh) | Rtl代码的管理方法、装置、设备及计算机可读存储介质 | |
CN111767213B (zh) | 数据库检查点的测试方法、装置、电子设备及存储介质 | |
CN110968339B (zh) | 前端构建工具的方法、装置以及电子设备 | |
CN112561690A (zh) | 信用卡分期业务接口的测试方法、系统、设备及存储介质 | |
CN102902820B (zh) | 数据库类型的识别方法和装置 | |
CN112711405B (zh) | 一种生成增删改查应用程序接口的方法、设备及存储介质 | |
CN115408984A (zh) | 电路布局结构的验证方法、装置、存储介质及设备 | |
CN114171205A (zh) | 医疗数据处理方法、装置以及数字模型编辑器 | |
CN112347723B (zh) | 基于版图的rom代码提取验证方法及装置 | |
CN113722321A (zh) | 数据导出方法、装置和电子设备 | |
CN114721748B (zh) | 一种数据查询方法、系统、设备及可读存储介质 | |
CN112580282B (zh) | 用于集成电路设计验证的方法、装置、设备以及存储介质 | |
CN113033137B (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 |