一种数字集成电路的智能模块分析方法技术

技术编号:28752075 阅读:15 留言:0更新日期:2021-06-09 10:16
本发明专利技术公开了一种数字集成电路的智能模块分析方法,包括以下步骤:S10,原始网表的初步整理;S20,对于模块,计算模块之间的相关系数:遍历当前所有的模块,依次选择一个模块M,计算它与其它各个模块的相关系数;S30,选择一个模块,查找其最大匹配项是否满足合并条件;S40,是,则合并模块;S50,否,则判断是否为最后一个模块;S60,是最后一个模块,则判断是否满足预设整理要求,是,则结束;否,则返回S20;不是最后一个模块,则返回S30。本发明专利技术对数字电路网表的进行分析,通过分析网表中器件之间的相互关系,智能地将器件整理到不同的模块中去,可以极大的提高数字电路网表的分析整理效率。可以极大的提高数字电路网表的分析整理效率。可以极大的提高数字电路网表的分析整理效率。

【技术实现步骤摘要】
一种数字集成电路的智能模块分析方法


[0001]本专利技术属于电子电路领域,具体涉及一种数字集成电路的智能模块分析方法。

技术介绍

[0002]在集成电路的逆向分析技术中,数字电路的分析整理是一个重要分支。随着集成电路生产工艺的提升,芯片中集成的器件数量呈指数上升,对电路分析整理提出了越来越高的要求。
[0003]在集成电路的正向设计中,工程师是根据设计需求划分模块,参见图1,划分为module1-module5,用高级硬件描述语言分别描述相关模块功能,然后经综合、布局布线工具软件处理后,得到最终的器件版图。
[0004]而逆向分析则是一个完全相反的过程,工程师首先面对的是一个蛛网般庞杂混乱的器件网络,参见图2,尚且只是一个器件网表的局部,然后通过梳理一点点理解这些器件的关系和用途,最终将这些器件根据功能划分到一层层不同的模块中去。通常工程师需要根据自己的经验整理器件并将之模块化,边理解边整理,整理模块的过程就是一步步理解网表的过程。这种人工的分析过程不仅需要耗费大量的时间,而且对工程师的能力有非常高的要求。有时遇上特别复杂的器件连接关系,甚至会让工程师一筹莫展,花费大量时间也难有寸进。

技术实现思路

[0005]鉴于以上存在的技术问题,本专利技术用于提供一种对数字电路网表进行分析,通过分析网表中器件之间的相互关系,智能地将器件整理到不同的模块中去,可以极大的提高数字电路网表的分析整理效率。
[0006]采用如下的技术方案:
[0007]S10,原始网表的初步整理:数字电路网表中的器件分为组合逻辑器件、触发器和锁存器,根据器件类别,对强相关的器件进行最初始的模块合并;
[0008]S20,对于模块,计算模块之间的相关系数:遍历当前所有的模块,依次选择一个模块M,计算它与其它各个模块的相关系数;
[0009]S30,选择一个模块,查找其最大匹配项是否满足合并条件;
[0010]S40,是,则合并模块;
[0011]S50,否,则判断是否为最后一个模块;
[0012]S60,是最后一个模块,则判断是否满足预设整理要求,是,则结束;否,则返回S20;
[0013]不是最后一个模块,则返回S30;
[0014]其中,S20中对于器件,亦与上述步骤相同。
[0015]优选地,所述原始网表的初步整理包括以下步骤:
[0016]S11,遍历网表中的所有组合逻辑器件,将所有的组合逻辑锥合并成独立模块;
[0017]S12,遍历网表中的所有网线,分析其驱动的器件列表,即一个或多个输入引脚连
接至该网线的所有器件,如果该网线所驱动的器件都为相同类型器件,且器件数量小于预设数值,将所驱动的器件合并成独立模块。
[0018]优选地,所述计算模块之间的相关系数,为一模块M和另一模块S的相关系数计算公式:
[0019]C
MS
=K
MS_Inputs
×
C
MS_Inputs
+K
MS_Outputs
×
C
MS_Outputs
+K
SM_Outputs
×
C
SM_Outputs

[0020]其中,K
MS_Inputs
、K
MS_Outputs
、K
SM_Outputs
为三个预设的常数,用于调整不同相关系数的权重;
[0021]包括以下步骤:
[0022]S21,输入相关系数C
MS_Inputs
反应两个模块的输入引脚相关程度,遍历所有输入引脚,对于同时输入一模块M和另一模块S的网线,计算相关值V
net_input
并累加至输入相关系数C
MS_Inputs

[0023]V
net_input
=((网线在M中负载器件数量+网线在S中负载器件数量)/网线总负载器件数量)/M输入引脚数量;
[0024]S22,输出相关系数C
MS_Outputs
反应一模块M的输出引脚和另一模块S的输入引脚的相关程度,遍历一模块M的所有输出引脚,对应连接到另一模块S输入引脚的网线,计算相关值V
net_output
并累加至输出相关系数C
MS_Outputs

[0025]V
net_output
=((网线在M中负载器件数量+网线在S中负载器件数量)/网线总负载器件数量)/M输出引脚数量;
[0026]S23,输出相关系数C
SM_Outputs
反应另一模块S的输出引脚和一模块M的输入引脚的相关程度,遍历另一模块S的所有输出引脚,对应连接到一模块M输入引脚的网线,计算相关值V
net_output
并累加至输出相关系数C
SM_Outputs

[0027]V
net_output
=((网线在S中负载器件数量+网线在M中负载器件数量)/网线总负载器件数量)/S输出引脚数量。
[0028]优选地,所述选择一个模块,查找其最大匹配项是否满足合并条件,为遍历一模块M的相关系数列表,选择与其相关系数最高的另一模块S;搜索另一模块S的相关系数列表,判断模块M是否与其相关系数最高或彼此相关系数之和最高;对于器件,亦与上述判断方法一致。
[0029]优选地,所述合并模块,为先进行预合并,预合并通过后再进行正式合并;其中,导致预合并失败的原因包括合并后器件数目过多或合并后模块效率因子降低过多,其中模块效率因子为模块器件数除以模块输入输出引脚数目之和。
[0030]采用本专利技术具有如下的有益效果:完全填补了当前数字电路网表中组合逻辑环路分析整理的空白,当前业内针对组合逻辑环路缺乏自动化的处理方法,基本完全是依靠人工进行处理,或是人工逻辑分析化简,或是置之不理只在必要时人工加约束处理,给数字电路网表分析工作造成极大的障碍。使用本专利技术所述的方法,通过程序化方法实现,可以极大的减轻集成电路逆向分析工程师的人工工作量,提高处理组合逻辑环路的速度和准确性。
[0031]本专利技术提供的数字集成电路中数字集成电路的智能模块分析方法,对原始的数字网表进行初始整理,依据器件类别和基本连接关系进行初始的合并;对于初始整理后网表中的模块/器件进行遍历,计算所有模块/器件两两之间的相关系数,并据此判断是否有合适的合并目标;合并符合判断条件的模块/器件,直至网表整理满足预设要求。相比于现有
技术中的分析整理方法,至少具有以下优点:
[0032]1.通过程序化的方法,初始庞杂混乱的器件,依据前述算法不断地智能合并,自动生长成为一个个功能合理的模块;
[0033]2.将传统的人工先理解后整理,变为先程序整理后人工理解,极大地减轻了工程师的工作量。
附图说明
...

【技术保护点】

【技术特征摘要】
1.一种数字集成电路的智能模块分析方法,其特征在于,包括以下步骤:S10,原始网表的初步整理:数字电路网表中的器件分为组合逻辑器件、触发器和锁存器,根据器件类别,对强相关的器件进行最初始的模块合并;S20,对于模块,计算模块之间的相关系数:遍历当前所有的模块,依次选择一个模块M,计算它与其它各个模块的相关系数;S30,选择一个模块,查找其最大匹配项是否满足合并条件;S40,是,则合并模块;S50,否,则判断是否为最后一个模块;S60,是最后一个模块,则判断是否满足预设整理要求,是,则结束;否,则返回S20;不是最后一个模块,则返回S30;其中,S20中对于器件,亦与上述步骤相同。2.如权利要求1所述的一种数字集成电路的智能模块分析方法,其特征在于,所述原始网表的初步整理包括以下步骤:S11,遍历网表中的所有组合逻辑器件,将所有的组合逻辑锥合并成独立模块;S12,遍历网表中的所有网线,分析其驱动的器件列表,即一个或多个输入引脚连接至该网线的所有器件,如果该网线所驱动的器件都为相同类型器件,且器件数量小于预设数值,将所驱动的器件合并成独立模块。3.如权利要求1所述的一种数字集成电路的智能模块分析方法,其特征在于,所述计算模块之间的相关系数,为一模块M和另一模块S的相关系数计算公式:C
MS
=K
MS_Inputs
×
C
MS_Inputs
+K
MS_Outputs
×
C
MS_Outputs
+K
SM_Outputs
×
C
SM_Outputs
;其中,K
MS_Inputs
、K
MS_Outputs
、K
SM_Outputs
为三个预设的常数,用于调整不同相关系数的权重;包括以下步骤:S21,输入相关系数C
MS_Inputs
反应两个模块的输入引脚相关程度,遍历所有输入引脚,对于同时输...

【专利技术属性】
技术研发人员:姜寒冰王小龑
申请(专利权)人:杭州起盈科技有限公司
类型:发明
国别省市:

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

1