System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于增量计算更新网表层级的优化方法、装置及计算机可读存储介质制造方法及图纸_技高网

基于增量计算更新网表层级的优化方法、装置及计算机可读存储介质制造方法及图纸

技术编号:41969497 阅读:8 留言:0更新日期:2024-07-10 16:50
本发明专利技术属数字电路设计技术领域,更具体地,涉及基于增量计算更新网表层级的优化方法、装置及计算机可读存储介质。所述方法包括获取全局Netlist的初始level值;当Netlist进行改动时,通过列表法获取Netlist中最先发生连接关系修改的源头pins;将源头pins作为广度优先遍历的起点,寻找到紧邻的、尚未访问的元器件;根据遍历到的元器件的输出pin作为下一轮源头pins;完成基于增量计算更新网表层级的优化后,网表中未进行优化修改区域的元器件之间的顺序关系、递推依赖关系以及level值。本发明专利技术解决了现有技术中只有局部修改,重新计算整个网表的level值将浪费计算资源的问题。

【技术实现步骤摘要】

本专利技术属于数字电路设计,更具体地,涉及基于增量计算更新网表层级的优化方法装置及计算机可读存储介质。


技术介绍

1、快速准确地计算网表的level值是eda工具在电路设计和验证过程中的一个重要步骤。通过快速准确计算网表的level值,设计人员可以更快地了解到电路中信号传输的延迟情况和时序特征,有助于及时发现和解决可能存在的问题,避免信号传输中的时序冲突,提高电路的性能和稳定性。同时也可以更好地了解到电路中各个部分的level值信息,这样,可以有针对性地对电路进行优化,例如合理安排元器件的布局、优化电路的时序路径等,从而更有效地利用电路中的资源。

2、中国专利技术专利cn115238616a公开了一种芯片网表自动修改方法、装置及电子设备,基于芯片网表中异常节点到待修改节点的连接关系,获取修改路径,其中,异常节点为芯片网表中输出异常的节点,待修改节点为导致异常节点输出异常的节点;对芯片网表的文件进行解析,得到cell对象和pin对象,并存储到数据字典中;基于修改路径,查询数据字典得到待修改的目标对象,其中,目标对象为cell对象和/或pin对象;根据针对目标对象的修改脚本,对芯片网表的文件进行修改。

3、综上,随着电路规模的增大,传统全局网表level值计算方法的计算复杂度急剧增加,无法满足大规模电路设计的需求。而对于现代高密度、复杂度高的大规模电路,计算时间长、资源消耗大,严重影响设计效率;而且传统计算方法需要对整个网表进行遍历和分析,对计算资源的要求较高,大型电路设计可能包含数百万个元件和复杂的连接关系,这导致消耗大量的内存和处理器资源;另外,在电路设计的过程中,常常需要对电路进行修改和优化,传统计算方法需要重新计算整个网表的level值,对于已经计算过level值的网表,如果只有局部修改,重新计算整个网表的level值将浪费计算资源,因此传统计算方法无法支持快速的电路修改。


技术实现思路

1、本专利技术旨在克服上述现有技术的至少一种缺陷,提供基于增量计算更新网表层级的优化方法,以解决现有技术中解决对于已经计算过level值的网表,如果只有局部修改,重新计算整个网表的level值将浪费计算资源等问题。

2、本专利技术详细的技术方案如下:

3、s1、获取全局netlist的初始level值,即所有元器件的输入输出pins的level值;

4、所述全局netlist的初始level值包括在netlist未修改之前所有元器件的输入pins的level值和所有元器件的输出pins的level值;

5、s2、当netlist进行改动时,首先获取netlist进行改动的局部元器件之间的顺序关系和递推依赖关系,记录已修改元器件的源头pins信息,并清空已修改元器件所影响的所有元器件的输入pins和输出pins的level值,通过列表法获取netlist中最先发生连接关系修改的源头pins即start_pins;

6、s3、将start_pins作为广度优先遍历的起点,寻找到紧邻的、尚未访问的元器件,并设置与start_pin相连的输入pin的level值,同时将所访问的元器件记录下来;

7、s4、通过start_pins所访问的元器件的所有输入pins的level值设置完成,根据设置的元器件的输出pin(out)作为下一轮start_pins,继续循环s3-s4步骤,寻找紧邻的、尚未访问的元器件,直到下一轮start_pins为空;

8、s5、当netlist进行改动的局部元器件的输入和输出pin的level均设置成功后,即完成基于增量计算更新网表层级的优化,网表中未进行优化修改区域的元器件之间的顺序关系、递推依赖关系以及level值,在进行局部更新前后保持一致,若不一致,则进行修复和更新。

9、进一步地,所述计算所有元器件的输入输出pin的level值的方法如下:

10、s11、初始化netlist的输入端口的level值:

11、s12、从输入端口开始依次遍历设计中的各个元器件,所述遍历各个元器件过程是:

12、获取一个元器件后检查该元器件的所有输入pins是否都有level值:

13、若当前元器件的所有输入pins的level值有缺失,则继续获取下一个元器件,当前元器件作为未计算元器件稍后进行计算;

14、若当前元器件所有输入pins的level值都存在,则可计算出其输出pins的level值等于其所有输入pins的level值的最大值加1。

15、s13、完成获取全局netlist的初始level值;

16、所述完成获取全局netlist的初始level值的标志是当前netlist所有输出端口及当前netlist所包含元器件的所有输入输出pins上都具有level值。

17、进一步地,所述修复和更新是指:首先定位到不一致的元器件,接着找出与该元器件相关联的路径,基于未进行局部更新的netlist,修复这条路径上所有元器件的顺序关系、递推依赖关系以及level值。

18、本专利技术还包括基于增量计算更新网表层级的优化装置,其特征在于,所述装置包括:

19、处理器;

20、存储器,其上存储有可在所述处理器上运行的计算机程序;

21、其中,所述计算机程序被所述处理器执行时实现所述的基于增量计算更新网表层级的优化方法。

22、一种计算机可读存储介质,其特征在于:所述计算机可读存储介质上存储有基于增量计算更新网表层级的优化方法,所述基于增量计算更新网表层级的优化方法被所述处理器执行时实现所述的基于增量计算更新网表层级的优化方法。

23、与现有技术相比,本专利技术的有益效果为:

24、本专利技术提供的基于增量计算更新网表层级的优化方法,当进行netlist的修改或优化时,该方法采用增量计算局部更新的思路,首先找到netlist的修改或优化的起始位置,并重新设置受netlist的修改或优化影响的所有元器件的输入输出端口(pin)的level值,接着从这些起始位置出发向输出端方向遍历,同时设置所遍历元器件上输入输出pins的level值,直到所遍历的元器件不属于netlist的修改或优化区域时停止,来实现基于增量计算更新网表层级的优化,优化了网表level值计算的时间和资源消耗,并支持实时的电路修改。

本文档来自技高网...

【技术保护点】

1.基于增量计算更新网表层级的优化方法,其特征在于,包括:

2.根据权利要求1所述的基于增量计算更新网表层级的优化方法,其特征在于,所述所有元器件的输入输出pins的level值的计算方法如下:

3.根据权利要求2所述的基于增量计算更新网表层级的优化方法,其特征在于,所述修复和更新是指:首先定位到不一致的元器件,接着找出与该元器件相关联的路径,基于未进行局部更新的Netlist,修复这条路径上所有元器件的顺序关系、递推依赖关系以及level值。

4.基于增量计算更新网表层级的优化装置,其特征在于,所述装置包括:

5.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质上存储有基于增量计算更新网表层级的优化程序,所述基于增量计算更新网表层级的优化程序被所述处理器执行时实现如权利要求1至3任一项所述的基于增量计算更新网表层级的优化方法的步骤。

【技术特征摘要】

1.基于增量计算更新网表层级的优化方法,其特征在于,包括:

2.根据权利要求1所述的基于增量计算更新网表层级的优化方法,其特征在于,所述所有元器件的输入输出pins的level值的计算方法如下:

3.根据权利要求2所述的基于增量计算更新网表层级的优化方法,其特征在于,所述修复和更新是指:首先定位到不一致的元器件,接着找出与该元器件相关联的路径,基于未进行局部更新的netlis...

【专利技术属性】
技术研发人员:郑雯雯刘奎唐兴达李扬李倩
申请(专利权)人:山东启芯软件科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1