本发明专利技术公开了一种自动克隆实现数字电路负载分离的方法,包括如下步骤:步骤1、指定需要进行复制的源单元和负载;步骤2、导出源单元的电路拓扑结构;步骤3、过滤单元使用递归算法去掉不在源单元和负载单元路径上的单元,获取需要复制的电路结构;步骤4、复制单元复制过滤后的单元;步骤5、断开原电路的连接,然后对负载单元和上一步的复制电路进行重新连接;步骤6、循环复制电路的单元;步骤7、输出单元将步骤4
【技术实现步骤摘要】
一种自动克隆实现数字电路负载分离的方法
[0001]本专利技术公开了一种涉及芯片
技术介绍
[0002]在芯片的物理实现环节中,综合和布局布线会经常遇到高扇出或者不同负载因物理距离过远而导致的时序不收敛的问题。为解决该问题,通常的做法是在逻辑设计早期阶段,通过设计人员修改RTL设计来完成负载的分离,策略是通过原电路复制,得到几份同样功能的电路,将其分散连接到原负载从而解除因不同负载导致的强耦合,其劣势在于需要重新进行动态功能验证,若原代码因设计问题需要修改,则复制代码也需要进行同步修改;并且该设计需要和实际物理实现高度关联,也影响到设计的可复用性,对于复杂的电路设计快速调整难度较大;在完成布局布线进入Timing ECO阶段,如果需要复制逻辑来解除不同负载间的强耦合才能优化时序,按照传统流程不得不退回到修改RTL阶段才能实现,从项目执行时间上同样也是不可接受的。在芯片实现阶段,如何通过对芯片进行ECO即工程命令改变的方式来快速改变原来的电路结构,以求达到在保证电路功能正确性的前提下时序快速收敛在数字电路实现过程中是经常面临的挑战。
技术实现思路
[0003]本专利技术针对现有技术中的不足,提供一种自动克隆实现数字电路负载分离的方法,以解决传统ECO方法实现负载分离难度大,可靠性低,验证难度大,复杂电路难以实现的问题。
[0004]为实现上述目的,本专利技术采用以下技术方案:
[0005]一种自动克隆实现数字电路负载分离的方法,包括如下步骤:
[0006]步骤1、指定需要进行复制的源单元和负载单元;
[0007]步骤2、使用EDA工具导出源单元的电路拓扑结构,包括源单元,负载单元以及其路径上的所有单元;
[0008]步骤3、过滤单元使用递归算法去掉不在源单元和负载单元路径上的单元,获取需要复制的电路结构;
[0009]步骤4、复制单元复制过滤后的单元,复制的单元和过滤后的单元完全一致,获取原电路的环境约束;
[0010]步骤5、断开原电路的连接,包括负载单元和其驱动单元,然后对负载单元和上一步的复制电路进行重新连接;
[0011]步骤6、循环复制电路的单元,对于每次循环获取的单个单元,遍历此单个单元没有连接的输入端口,需要将其连接到原始电路单元的对应端口;
[0012]步骤7、输出单元将步骤4
‑
步骤6的过程进行描述,写成EDA工具可执行的命令,即ECO脚本形式,输出单元同时输出形式验证约束文件,以及复制电路所需要的环境约束文件,供后续EDA工具实现使用。
[0013]进一步地,步骤3中具体为,将步骤1中指定的负载用于过滤过程,过滤过程是反向追踪过程,负载作为追踪电路结构的起点,通过递归算法,反向获取从负载直到源单元的所有电路结构,不在此结构内的单元被删除,最终得到完整的过滤后的电路。
[0014]进一步地,递归算法具体为:首先要获取负载单元,再获取其驱动单元,如果其驱动单元不是源单元,那么就需要获取其驱动单元的驱动单元,直至驱动单元是源单元为止。
[0015]进一步地,步骤4中,环境约束包括:包括时序约束信息,时序例外信息,dont_touch信息。
[0016]进一步地,复制前和复制后的环境约束保持一致。
[0017]本专利技术的有益效果是:本专利技术的一种自动克隆实现数字电路负载分离的方法,实施过程简单,可操作性强;可靠性高,基于原电路的拓扑结构进行完整复制,ECO逻辑定位精准;RTL代码无需修改,可复用性强;灵活性高,可以在综合和布局布线的任意实现阶段实施完成。
附图说明
[0018]图1是实施本专利技术的总流程图;
[0019]图2(a)是递归算法的一个实施电路图,图2(b)是递归算法的实施方案流程图;
[0020]图3是本专利技术的获取电路拓扑结构步骤中的原电路结构示意图;
[0021]图4是本专利技术过滤后的电路结构;
[0022]图5是本专利技术复制的单元示意图;
[0023]图6是本专利技术的复制单元连接展示示意图;
[0024]图7是实施本专利技术后的电路图。
具体实施方式
[0025]现在结合附图对本专利技术作进一步详细的说明。
[0026]如图1所示,一种自动克隆实现数字电路负载分离的方法,包括如下步骤设置,需要克隆的电路的起点寄存器即源单元和终点寄存器即负载单元,使用EDA工具自动完成指定电路负载的分离,自动分析电路的拓扑结构和连接关系,自动写出ECO的脚本以及环境约束,优点是ECO速度快,结果可靠性高,形式验证通过率高,同时可避免重新动态功能验证,减少设计因不同实现而造成的强耦合,从而提升IP设计的可复用性。包括以下步骤:根据配置要求,获取需要分离负载的源单元和其负载单元,然后通过EDA获取源单元以及其扇出单元的电路结构即从源单元到负载单元及其路径上的逻辑电路,参考图3;之后过滤单元对原电路结构即扇出电路结构进行简化,简化方法是删除和分离负载单元无关的电路结构,获取从源单元到负载单元路径上的所有单元;复制过滤后的电路,复制单元创建过滤后的电路,即复制一份同样的电路单元,并获取原电路的环境约束,后续复制后的电路环境约束和复制前的环境约束保持一致:所述环境约束包括时序约束信息,时序例外信息,以及dont_touch信息等;分离负载,即负载单元与原电路断开连接,将负载单元和复制电路进行连接;查询复制电路还未连接的输入端口,复制电路未连接的端口连接到原电路对应的端口;将以上复制、分离和连接过程写成ECO脚本,并输出形式验证约束,即克隆单元与源单元匹配约束以及复制电路的环境约束,输出形式验证约束文件用于后续的等价性验证;输出复制
电路环境约束文件,执行ECO脚本完成克隆。
[0027]一种自动克隆实现数字电路负载分离的方法具体过程如下:
[0028]步骤1:首先需要指定需要复制的源单元以及其负载,通常每个源单元对应多个负载单元,指定的负载单元将会被连接到复制后的电路,其它的负载单元保持原来的电路结构。指定的源单元既用于获取电路的拓扑结构,也用于创建复制电路,其本身也需要被复制,指定的负载单元是复制的终点。指定图3中的srcRegA、srcRegB为复制电路的源单元,dstRegA、dstRegB为需要分离的负载单元。
[0029]步骤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过远导致本路径存在时本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种自动克隆实现数字电路负载分离的方法,其特征在于:包括如下步骤:步骤1、指定需要进行复制的源单元和负载单元;步骤2、使用EDA工具导出源单元的电路拓扑结构,包括源单元,负载单元以及其路径上的所有单元;步骤3、过滤单元使用递归算法去掉不在源单元和负载单元路径上的单元,获取需要复制的电路结构;步骤4、复制单元复制过滤后的单元,复制的单元和过滤后的单元完全一致,获取原电路的环境约束;步骤5、断开原电路的连接,包括负载单元和其驱动单元,然后对负载单元和上一步的复制电路进行重新连接;步骤6、循环复制电路的单元,对于每次循环获取的单个单元,遍历此单个单元没有连接的输入端口,需要将其连接到原始电路单元的对应端口;步骤7、输出单元将步骤4
‑
步骤6的过程进行描述,写成EDA工具可执行的命令,即ECO脚本形式,输出单元同时输出形式验证约束文件,以及复制电路所需要的环境约束文件,供后...
【专利技术属性】
技术研发人员:郭希训,于威,刘圆,殷晓康,袁肖华,徐峰,
申请(专利权)人:上海芷锐电子科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。