一种自动克隆实现数字电路负载分离的方法

文档序号:1846531 发布日期:2021-11-16 浏览:28次 >En<

阅读说明:本技术 一种自动克隆实现数字电路负载分离的方法 (Method for realizing digital circuit load separation by automatic cloning ) 是由 郭希训 于威 刘圆 殷晓康 袁肖华 徐峰 于 2021-08-16 设计创作,主要内容包括:本发明公开了一种自动克隆实现数字电路负载分离的方法,包括如下步骤:步骤1、指定需要进行复制的源单元和负载;步骤2、导出源单元的电路拓扑结构;步骤3、过滤单元使用递归算法去掉不在源单元和负载单元路径上的单元,获取需要复制的电路结构;步骤4、复制单元复制过滤后的单元;步骤5、断开原电路的连接,然后对负载单元和上一步的复制电路进行重新连接;步骤6、循环复制电路的单元;步骤7、输出单元将步骤4-步骤6的过程进行描述,同时输出形式验证约束文件,以及复制电路所需要的环境设置文件。本发明的一种自动克隆实现数字电路负载分离的方法,可以在电路实现过程中自动完成负载的分离,具有可靠性高,实现过程简单,不需要迭代。(The invention discloses a method for realizing digital circuit load separation by automatic cloning, which comprises the following steps: step 1, appointing a source unit and a load which need to be copied; step 2, deriving a circuit topological structure of the source unit; 3, the filtering unit removes units which are not on the paths of the source unit and the load unit by using a recursive algorithm to obtain a circuit structure to be copied; step 4, the copying unit copies the filtered unit; step 5, disconnecting the original circuit, and then reconnecting the load unit and the replica circuit in the previous step; step 6, circularly copying a unit of the circuit; and 7, describing the processes from the step 4 to the step 6 by an output unit, and simultaneously outputting a form verification constraint file and an environment setting file required by the copy circuit. The method for realizing the digital circuit load separation by automatic cloning can automatically finish the separation of the load in the circuit realization process, and has the advantages of high reliability, simple realization process and no need of iteration.)

一种自动克隆实现数字电路负载分离的方法

技术领域

本发明公开了一种涉及芯片技术领域。

背景技术

在芯片的物理实现环节中,综合和布局布线会经常遇到高扇出或者不同负载因物理距离过远而导致的时序不收敛的问题。为解决该问题,通常的做法是在逻辑设计早期阶段,通过设计人员修改RTL设计来完成负载的分离,策略是通过原电路复制,得到几份同样功能的电路,将其分散连接到原负载从而解除因不同负载导致的强耦合,其劣势在于需要重新进行动态功能验证,若原代码因设计问题需要修改,则复制代码也需要进行同步修改;并且该设计需要和实际物理实现高度关联,也影响到设计的可复用性,对于复杂的电路设计快速调整难度较大;在完成布局布线进入Timing ECO阶段,如果需要复制逻辑来解除不同负载间的强耦合才能优化时序,按照传统流程不得不退回到修改RTL阶段才能实现,从项目执行时间上同样也是不可接受的。在芯片实现阶段,如何通过对芯片进行ECO即工程命令改变的方式来快速改变原来的电路结构,以求达到在保证电路功能正确性的前提下时序快速收敛在数字电路实现过程中是经常面临的挑战。

发明内容

本发明针对现有技术中的不足,提供一种自动克隆实现数字电路负载分离的方法,以解决传统ECO方法实现负载分离难度大,可靠性低,验证难度大,复杂电路难以实现的问题。

为实现上述目的,本发明采用以下技术方案:

一种自动克隆实现数字电路负载分离的方法,包括如下步骤:

步骤1、指定需要进行复制的源单元和负载单元;

步骤2、使用EDA工具导出源单元的电路拓扑结构,包括源单元,负载单元以及其路径上的所有单元;

步骤3、过滤单元使用递归算法去掉不在源单元和负载单元路径上的单元,获取需要复制的电路结构;

步骤4、复制单元复制过滤后的单元,复制的单元和过滤后的单元完全一致,获取原电路的环境约束;

步骤5、断开原电路的连接,包括负载单元和其驱动单元,然后对负载单元和上一步的复制电路进行重新连接;

步骤6、循环复制电路的单元,对于每次循环获取的单个单元,遍历此单个单元没有连接的输入端口,需要将其连接到原始电路单元的对应端口;

步骤7、输出单元将步骤4-步骤6的过程进行描述,写成EDA工具可执行的命令,即ECO脚本形式,输出单元同时输出形式验证约束文件,以及复制电路所需要的环境约束文件,供后续EDA工具实现使用。

进一步地,步骤3中具体为,将步骤1中指定的负载用于过滤过程,过滤过程是反向追踪过程,负载作为追踪电路结构的起点,通过递归算法,反向获取从负载直到源单元的所有电路结构,不在此结构内的单元被删除,最终得到完整的过滤后的电路。

进一步地,递归算法具体为:首先要获取负载单元,再获取其驱动单元,如果其驱动单元不是源单元,那么就需要获取其驱动单元的驱动单元,直至驱动单元是源单元为止。

进一步地,步骤4中,环境约束包括:包括时序约束信息,时序例外信息,dont_touch信息。

进一步地,复制前和复制后的环境约束保持一致。

本发明的有益效果是:本发明的一种自动克隆实现数字电路负载分离的方法,实施过程简单,可操作性强;可靠性高,基于原电路的拓扑结构进行完整复制,ECO逻辑定位精准;RTL代码无需修改,可复用性强;灵活性高,可以在综合和布局布线的任意实现阶段实施完成。

附图说明

图1是实施本发明的总流程图;

图2(a)是递归算法的一个实施电路图,图2(b)是递归算法的实施方案流程图;

图3是本发明的获取电路拓扑结构步骤中的原电路结构示意图;

图4是本发明过滤后的电路结构;

图5是本发明复制的单元示意图;

图6是本发明的复制单元连接展示示意图;

图7是实施本发明后的电路图。

具体实施方式

现在结合附图对本发明作进一步详细的说明。

如图1所示,一种自动克隆实现数字电路负载分离的方法,包括如下步骤设置,需要克隆的电路的起点寄存器即源单元和终点寄存器即负载单元,使用EDA工具自动完成指定电路负载的分离,自动分析电路的拓扑结构和连接关系,自动写出ECO的脚本以及环境约束,优点是ECO速度快,结果可靠性高,形式验证通过率高,同时可避免重新动态功能验证,减少设计因不同实现而造成的强耦合,从而提升IP设计的可复用性。包括以下步骤:根据配置要求,获取需要分离负载的源单元和其负载单元,然后通过EDA获取源单元以及其扇出单元的电路结构即从源单元到负载单元及其路径上的逻辑电路,参考图3;之后过滤单元对原电路结构即扇出电路结构进行简化,简化方法是删除和分离负载单元无关的电路结构,获取从源单元到负载单元路径上的所有单元;复制过滤后的电路,复制单元创建过滤后的电路,即复制一份同样的电路单元,并获取原电路的环境约束,后续复制后的电路环境约束和复制前的环境约束保持一致:所述环境约束包括时序约束信息,时序例外信息,以及dont_touch信息等;分离负载,即负载单元与原电路断开连接,将负载单元和复制电路进行连接;查询复制电路还未连接的输入端口,复制电路未连接的端口连接到原电路对应的端口;将以上复制、分离和连接过程写成ECO脚本,并输出形式验证约束,即克隆单元与源单元匹配约束以及复制电路的环境约束,输出形式验证约束文件用于后续的等价性验证;输出复制电路环境约束文件,执行ECO脚本完成克隆。

一种自动克隆实现数字电路负载分离的方法具体过程如下:

步骤1:首先需要指定需要复制的源单元以及其负载,通常每个源单元对应多个负载单元,指定的负载单元将会被连接到复制后的电路,其它的负载单元保持原来的电路结构。指定的源单元既用于获取电路的拓扑结构,也用于创建复制电路,其本身也需要被复制,指定的负载单元是复制的终点。指定图3中的srcRegA、srcRegB为复制电路的源单元,dstRegA、dstRegB为需要分离的负载单元。

步骤2:使用EDA工具导出源单元的电路拓扑结构,包括源单元,负载单元以及其路径上的所有单元,如图3所示,srcRegA、srcRegB、RegE、RegF是源单元,dstRegA、dstRegB、RegC、RegD、RegH、RegK是负载单元,BlockA、BlckB、BlockC、BlckD、BlockE、BlockF是扇出单元;扇出结构是源单元srcRegA、srcReg的完整扇出结构以及RegE、RegF的扇出结构,展示RegE、RegF扇出结构是因为需要复制的部分电路端口是由其驱动。由于srcRegA、srcRegB距离负载dstRegA、dstRegB过远导致本路径存在时序问题,EDA工具为了修复时序问题会插入驱动能力强、面积大的单元,甚至改变部分电路结构,极易引起本区域density和绕线congestion问题;其它的源单元和负载单元满足时序约束不需要分离,所以需指定srcRegA、srcRegB为克隆电路的源单元,dstRegA、dstRegB为需要分离的负载单元。

步骤3:过滤单元执行过程如图2(a)、图2(b)所示,步骤1中指定的负载用于过滤过程,过滤过程是反向追踪过程,负载作为追踪电路结构的起点,通过递归算法,可以反向获取从负载直到源单元的所有电路结构,不在此结构内的单元被删除,最终得到完整的过滤后的电路,同时需要获取过滤后电路的环境约束用于复制后的电路,复制后的电路需要完全按照原连接关系连接,以此保证复制电路具有和原电路相同的功能。递归过程中,初始化将负载desRegB的D端口作为Sink端口,从电路结构中获知U4的X端口是其驱动,因此复制电路的desRegB的D端口需要连接到U4的X端口,而U4的X端口的驱动端口是U4的A、B、C端口,从电路结构中可知B端口不在源/负载路径上,因此B端口需要连接到原电路的B端口,A、C端口在源/负载路径上,因此循环将U4的A端口、U4的C端口作为Sink端口,使用递归算法直至追溯到源单元srcRegA截至。递归算法中,首先要获取负载单元dstRegB,获取其驱动单元U4,如果其驱动单元不是源单元,那么就需要获取其驱动单元U4的驱动单元U2和U3,直至驱动单元是源单元srcRegA为止,需要在算法中不断调用自身即递归算法。首先获取负载单元dstRegB的驱动是U4单元的输出端口X,获取U4单元的输入端口A和C,U4的B端口不属于源单元srcRegA的扇出;获取U4的A端口的驱动的是U2的X端口,获取U2的输入端口U2的A端口,获取U2的A端口的驱动是U1的X端口,获取U1的输入端口U1的A端口,获取U1的A端口的驱动是源单元srcRegA,接着按照同样的算法处理U4的C端口,最终得到从负载单元到源单元的电路结构:此算法是基于电路结构进行完整复制,所以复制成功率达到100%,电路的复杂度只会影响递归算法的时间。

步骤3执行结果如图4所示,经过过滤,BlockE和BlockF不在源单元到分离负载的路径上,需要删除,虚线框内的是过滤后的电路结构,需要在之后进行复制。

步骤4:复制单元执行结果如图5所示,复制单元创建过滤后的单元,新创建的电路必须要和过滤后的电路完全一致。

步骤5,断开原电路的连接,包括负载单元和其驱动单元,然后对负载单元和上一步的复制电路进行重新连接。步骤5断开负载单元与原电路的连接,改为接到复制后的电路,图6中dstRegA、dstRegB和原来的连接BlockB、BlockD断开连接,改为连接到复制的BlockB’、BlockD’;复制电路内部的连接按照原来的电路连接进行,如图6中的以下连接方式:srcRegA’连接BlockA’,BlockA’连接BlockB’,srcRegB’连接BlockC’,BlockC’连接BlockD’。

步骤6,循环查询新创建的单元,遍历其没有连接的输入端口,因源驱动逻辑未在复制列表,故未有逻辑驱动该端口,为了保证ECO前后功能的一致性,需要将其连接到原电路单元的对应端口,步骤6采用循环判断克隆电路单元的端口,找出尚未连接的端口,如图6中虚线连接的端口,虚线表示其驱动不在源单元扇出电路中,需要连接到原电路对应端口,虚线连接到BlockA’、BlockB’、BlockC’BlockD’。

创建单元复制过滤过的电路,这一步需要完整且唯一的复制,不完整导致功能不一致,重复复制导致多重驱动的问题,都会导致ECO失败;复制单元对过滤后的电路进行复制,图6中srcRegA’、srcRegB’、BlockA’、BlockB’、BlockC’、BlockD’是图3中srcRegA、srcRegB、BlockA、BlockB、BlockC、BlockD的复制电路。

步骤7:输出单元写出上述过程描述的ECO脚本,形式验证约束文件,以及复制电路所需要的环境设置文件,供后续EDA工具实现使用。执行步骤7写出的ECO脚本完成ECO过程,执行后的电路如图7所示,

复制后的电路进行连接,图7中BlockA’、BlockB’、BlockC’、BlockD’所有的输入端口连接方式都与原电路一致,srcRegA’、srcRegB’的输入端口与源单元srcRegA、srcRegB输入端口相连接,从而保证了复制电路与原电路功能一致,dstRegA、dstRegB从原电路成功分离。

需要注意的是,发明中所引用的如“上”、“下”、“左”、“右”、“前”、“后”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。

以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。

10页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于验证平台扩频时钟恢复方法和装置、存储介质和终端

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类