一种程序化分析集成电路线路结构的方法技术

技术编号:24938968 阅读:32 留言:0更新日期:2020-07-17 21:08
本发明专利技术公开了一种程序化分析集成电路结构的方法,包括以下步骤:根据待整理的电路网表,通过程序分析得到电路结构的统计特征信息;确定一个起始器件集合,所述起始器件集合是电路分析人员根据电路结构特征,从原始网表中得到的属于同一个子电路模块的器件;把所述起始器件集合作为一个起始电路子模块看待,得到起始子模块的输入端信号集合和起始子模块输出端信号集合;对起始子模块的输入端信号集合中的每个信号进行循环分析,将针对每次分析得到的器件求并集,得到属于同一个子电路模块的所有器件。

【技术实现步骤摘要】
一种程序化分析集成电路线路结构的方法
本专利技术属于集成电路逆向分析
,具体涉及一种程序化分析集成电路线路结构的方法。
技术介绍
在集成电路的逆向分析技术中,数字电路的分析整理是一个重要分支。而数字电路的分析整理,因为其规模大,逻辑结构复杂的原因,对分析整理造成的挑战越来越大。现代集成电路的数字设计,都是基于硬件语言例如Verilog,VHDL(Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage,超高速集成电路硬件描述语言)等进行描述,然后通过综合工具进行逻辑综合,再通过后端布局布线工具进行布局排版的方式形成最终电路。因为经过了多层EDA工具的处理和优化,最终实现的数字电路版图上,已经完全找不到最初设计者在使用硬件语言进行描述时候的模块化,层次化信息。而逆向分析工程师,为了从最终版图信息中理解出电路的功能,遇到的一个很大的阻碍就是,复杂的数字逻辑没有了层次化,模块化的信息,如果要理解数字电路的功能,就必须先完成网表的层次化和模块化,否则分析理解根本无从下手。从图形视图来看,分析整理之前的数字电路网表状态如图1所示,完全是一些看似无规则的基本单元的组合,所有基本单元之间的连线,构成了如蛛网一般复杂且无法理解的网络互联关系。而集成电路的数字分析工程师,需要从上述类型的杂乱电路出发,进行理解分析,将这些器件按照逻辑功能进行划分,从而得到如图2所示的划分为一个个子模块的逻辑电路功能块。每个模块内部,都是相对简单明了,易于理解的子电路模块,举个例子:如图3所示的数据流选择结构。为了达到以上目的,集成电路的数字分析工程师需要耗费大量的时间和精力进行整理分析。而目前业界没有任何EDA(ElectronicsDesignAutomation,电子设计自动化)工具可以实现数字电路网表的程序化分层分块整理。
技术实现思路
本专利技术要解决的技术问题是提供一种程序化分析集成电路线路结构的方法。为解决上述技术问题,本专利技术采用如下的技术方案:一种程序化分析集成电路结构的方法,包括以下步骤:根据待整理的电路网表,通过程序分析得到电路结构的统计特征信息;确定一个起始器件集合,所述起始器件集合是电路分析人员根据电路结构特征,从原始网表中得到的属于同一个子电路模块的器件;把所述起始器件集合作为一个起始电路子模块看待,得到起始子模块的输入端信号集合和起始子模块输出端信号集合;对起始子模块的输入端信号集合中的每个信号进行循环分析,将针对每次分析得到的器件求并集,得到属于同一个子电路模块的所有器件。优选地,所述电路结构的统计特征信息包括:每条电路连线所连接节点个数,其中连接节点个数的含义为一条电路连线所连接的所有的基本单元的个数;每条电路连线所驱动的所有器件的基本单元类型;每条电路连线的驱动器件的名称。优选地,所述对起始子模块的输入端信号集合中的每个信号进行循环分析具体如下:从选定的信号作为起点,根据数字电路网表的连接关系,反向递推建立起一个数据结构:从选定的信号出发,在数字电路网表中找到该信号的驱动器件,继而找到该驱动器件的所有输入信号,然后从这些输入信号开始,再重复上述过程,从而找到下一级的驱动信号,如此重复上述过程,直到达到预设的层级数目,最终形成的数据结构是一个金字塔型的数据结构,该数据结构中的每个数据项数字电路网表中的一个基本单元或者是一些特殊标记;对上述金字塔型数据结构进行分析,从数据结构的最底层开始,对每个数据项进行循环分析,查找所作的特殊标记,如果找到一个IM驱动标记,则从该标记出发,到上一层查找被IM驱动标记对应的器件驱动的器件,然后再从这个器件的输出开始,再到更上一层查找被这个器件驱动的器件,如此循环直到递推到金字塔型数据结构的最顶端。采用本专利技术具有如下的有益效果:本专利技术设计了一种辅助集成电路数字分析工程师进行数字电路网表的分析整理方法,使用该方法进行数字电路网表的分析整理,可以极大的提高数字电路网表的分析整理效率。相比于传统的分析整理方式,该专利技术所述方法的优点为:1)程序化辅助分析,分析整理速度大幅度提高;2)避免了传统的人工分析过程可能出现的各种失误,节省调试时间。附图说明图1为现有技术中分析整理之前的数字电路网表状态图;图2为现有技术中分析之后的一个个子模块的逻辑电路功能块;图3所示为一示例的数据流选择结构图;图4为本专利技术实施例的程序化分析集成电路线路结构的方法中起始子模块的输入端信号集合和起始子模块输出端信号集合图;图5为本专利技术实施例的程序化分析集成电路线路结构的方法中所示的一个金字塔型的数据结构。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。参照图1和图2,本专利技术公开了一种程序化分析集成电路线路结构的方法,包括以下步骤:第一步,根据待整理的电路网表,通过程序分析得到电路结构的统计特征信息,该信息包括以下几种类型:每条电路连线所连接节点个数。上述描述中,连接节点个数的含义为:一条电路连线所连接的所有的基本单元的个数。每条电路连线所驱动的所有器件的基本单元类型(referencename)每条电路连线的驱动器件的名称(instantname)。第二步,确定一个起始器件集合,该集合是电路分析人员根据电路结构特征,从原始网表中得到的属于同一个子电路模块的器件。例如,如果某一组MUX(Multiplex,多路选择器)器件,使用了同一个控制信号进行选择,则我们可以认为所有被这个控制信号选择的MUX器件是在逻辑上紧密联系的,因此在概率上有很大可能是属于一个子功能模块的。而在我们的专利技术中,可以通过第一步产生的各种电路结构统计信息,给电路分析人员指出最有可能的分析方向。例如,如果某条net上连接了16个器件,而这16个器件都是同一类型的MUX,那么这16个MUX就可以作为一个起始器件集合对待。第三步,把这个起始器件集合作为一个电路子模块看待,得到起始子模块的输入端信号集合和起始子模块输出端信号集合,如图4所示:为了方便后续描述,把起始子模块命名为IM(INITIALMODULE,起始电路子模块),起始子模块的输入端信号集合命名为IM.I(INITIALMODULEINPUT,起始电路子模块的输入信号),起始子模块的输出端信号集合命名为IM.O(INITIALMODULEOUTPUT,起始电路子模块的输出信号)。第四步,对IM.I集合中的每个信号进行循环分析。分析方法如第五步至第六步所述。第五步,从选定的信号作为起点,根据数字电路网表的连接关系,反向递推建立起一个如下图所示的数据结构。本文档来自技高网
...

【技术保护点】
1.一种程序化分析集成电路结构的方法,其特征在于,包括以下步骤:/n根据待整理的电路网表,通过程序分析得到电路结构的统计特征信息;/n确定一个起始器件集合,所述起始器件集合是电路分析人员根据电路结构特征,从原始网表中得到的属于同一个子电路模块的器件;/n把所述起始器件集合作为一个起始电路子模块看待,得到起始子模块的输入端信号集合和起始子模块输出端信号集合;/n对起始子模块的输入端信号集合中的每个信号进行循环分析,将针对每次分析得到的器件求并集,得到属于同一个子电路模块的所有器件。/n

【技术特征摘要】
1.一种程序化分析集成电路结构的方法,其特征在于,包括以下步骤:
根据待整理的电路网表,通过程序分析得到电路结构的统计特征信息;
确定一个起始器件集合,所述起始器件集合是电路分析人员根据电路结构特征,从原始网表中得到的属于同一个子电路模块的器件;
把所述起始器件集合作为一个起始电路子模块看待,得到起始子模块的输入端信号集合和起始子模块输出端信号集合;
对起始子模块的输入端信号集合中的每个信号进行循环分析,将针对每次分析得到的器件求并集,得到属于同一个子电路模块的所有器件。


2.如权利要求1所述的程序化分析集成电路结构的方法,其特征在于,所述电路结构的统计特征信息包括:
每条电路连线所连接节点个数,其中连接节点个数的含义为一条电路连线所连接的所有的基本单元的个数;
每条电路连线所驱动的所有器件的基本单元类型;
每条电路连线的驱动器件的名称。


3....

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

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

1