CN117077602A - 集成电路分析方法和装置 - Google Patents
集成电路分析方法和装置 Download PDFInfo
- Publication number
- CN117077602A CN117077602A CN202311320393.XA CN202311320393A CN117077602A CN 117077602 A CN117077602 A CN 117077602A CN 202311320393 A CN202311320393 A CN 202311320393A CN 117077602 A CN117077602 A CN 117077602A
- Authority
- CN
- China
- Prior art keywords
- chunk
- instance
- chunks
- integrated circuit
- block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 52
- 238000010586 diagram Methods 0.000 claims abstract description 160
- 238000004806 packaging method and process Methods 0.000 claims abstract description 52
- 238000000034 method Methods 0.000 claims abstract description 48
- 230000004044 response Effects 0.000 claims abstract description 42
- 238000012856 packing Methods 0.000 claims description 19
- 230000006870 function Effects 0.000 description 20
- 230000008569 process Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003213 activating effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 238000009432 framing Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/36—Circuit design at the analogue level
- G06F30/367—Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本申请公开了一种集成电路分析方法和装置。该方法包括:在显示有集成电路的电路图的情况下,响应于用户对第一实例的第一输入,将第一实例创建为第一组块;其中,第一组块包括平面组块和打包组块,第一组块具有标题信息、边界信息和组块标识;集成电路的电路图中包括至少一个实例,至少一个实例包括第一实例;响应于用户对第二实例的第二输入,将第二实例添加至第一组块中,其中,第二实例为在第一组块之外的实例。采用本申请提供的方法,可以直接根据在集成电路图上形成的组块来对集成电路图上的实例进行操作,无需在集成电路图上将宏单元打散,然后重建宏单元,再在集成电路图中重新引用重建后的宏单元,操作方便,提高了用户体验。
Description
技术领域
本申请涉及集成电路分析技术,具体涉及一种集成电路分析方法和装置。
背景技术
随着集成电路技术的飞速发展,电路结构越发复杂,组成电路结构的逻辑门单元越来越多,如何对组成电路结构的逻辑门单元进行整理分析是集成电路领域的一个重要问题。
电路整理是对一个平面的电路进行层次化整理,形成一个有层次结构的电路。目前,在进行电路整理时,工程师根据经验或数据表等资料将各个功能较明确的若干器件或单元创建为宏单元,该宏单元与顶层单元属于同一层级的两个独立的单元,共同存储在集成电路数据库的单元库中,宏单元需要通过单元引用的形式显示在集成电路电路图(即顶层电路所对应的电路图)中,由于宏单元和电路图顶层单元同在单元库中,且宏单元需要通过引用的形式显示在电路图顶层单元的电路图中(宏单元的引用,即将顶层单元中部分器件或实例替换为宏单元),故在对集成电路电路图中的宏单元进行修改时,需要将该宏单元进行打散(恢复宏单元的引用,即将被宏单元替换掉的顶层单元中部分器件或实例重新恢复至顶层单元电路中),然后重新构建新的宏单元,将该新的宏单元重新引用至集成电路电路图中,这种方式过程繁琐,效率低下,用户体验度低。
发明内容
本申请实施例的目的是提供一种集成电路分析方法、装置、电子设备和存储介质,以解决电路整理分析中在需要对已引用的宏单元中实例进行操作时,需要将集成电路电路图中引用的宏单元进行打散,对恢复回来的器件或实例进行操作,操作完成后,再重新创建宏单元,然后将该重新创建的宏单元重新引用至集成电路电路图中,这导致的过程繁琐,效率低下,用户体验度低的问题。
本申请的技术方案如下:
第一方面,提供了一种集成电路分析方法,该方法包括:
在显示有集成电路的电路图的情况下,响应于用户对第一实例的第一输入,将所述第一实例创建为第一组块;其中,所述第一组块包括平面组块和打包组块,所述第一组块具有标题信息、边界信息和组块标识;所述集成电路的电路图中包括至少一个实例,所述至少一个实例包括所述第一实例;
响应于用户对第二实例的第二输入,将所述第二实例添加至所述第一组块中,其中,所述第二实例为在所述第一组块之外的实例。
第二方面,提供了一种集成电路分析方法,该方法包括:
在第一组块具有总线信号,且总线信号为至少一个的情况下,按照所述总线信号,将所述第一组块展开为至少一个子组块;
其中,所述第一组块和所述子组块为第一方面所述的第一组块,所述第一组块为打包组块,每个所述子组块中包含至少一个实例,所述子组块的数量与所述总线信号的数量一致。
第三方面,提供了一种集成电路分析装置,该装置包括:
创建模块,用于在显示有集成电路的电路图的情况下,响应于用户对第一实例的第一输入,将所述第一实例创建为第一组块;其中,所述第一组块包括平面组块和打包组块,所述第一组块具有标题信息、边界信息和组块标识;所述集成电路的电路图中包括至少一个实例,所述至少一个实例包括所述第一实例;
添加模块,用于响应于用户对第二实例的第二输入,将所述第二实例添加至所述第一组块中,其中,所述第二实例为在所述第一组块之外的实例。
第四方面,提供了一种集成电路分析装置,该装置包括:
展开模块,用于在第一组块具有总线信号,且总线信号为至少一个的情况下,按照所述总线信号,将所述第一组块展开为至少一个子组块;
其中,所述第一组块和所述子组块为第三方面所述的第一组块,所述第一组块为打包组块,每个所述子组块中包含至少一个实例,所述子组块的数量与所述总线信号的数量一致。
本申请的实施例提供的技术方案至少带来以下有益效果:
本申请实施例提供的集成电路分析方法,通过在显示有集成电路电路图的情况下,响应于用户对第一实例的第一输入,将第一实例创建为第一组块,该第一组块可以为平面组块和打包组块,然后响应于用户对第一组块外的第二实例的第二输入,可将第二实例添加到第一组块中,这样用户可以直接根据显示在集成电路电路图上的第一实例的操作,即可直接创建组块,实现了快速对组块进行创建的效果,在创建第一组块后,可通过对该第一组块外的第二实例的第二输入,可将该第二实例直接添加到第一组块中,如此,在对第一组块中的实例进行调整时,可无需将第一组块打散,然后重建,而是直接对第二实例进行操作,即可实现对第一组块内的实例的调整,因而,相较于现有技术,本申请实施例的方法在创建组块,以及修改组块时,操作方便,提高了用户体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理,并不构成对本申请的不当限定。
图1是根据一示例性实施例示出的集成电路分析方法的流程示意图;
图2是根据一示例性实施例示出的集成电路电路图的示意图;
图3是根据一示例性实施例示出的打包组块的生成示意图;
图4是根据一示例性实施例示出的集成电路电路图的示意图;
图5是根据一示例性实施例示出的平面组块的生成示意图;
图6a是根据一示例性实施例示出的电路层次结构示意图;
图6b是现有技术中电路层次结构创建示意图;
图7是根据一示例性实施例示出的电路层次结构创建示意图;
图8是根据一示例性实施例示出的集成电路电路图的示意图;
图9a是根据一示例性实施例示出的集成电路电路图的示意图;
图9b是根据一示例性实施例示出的集成电路电路图的示意图;
图10a是根据一示例性实施例示出的集成电路电路图的示意图;
图10b是根据一示例性实施例示出的集成电路电路图的示意图;
图11是根据一示例性实施例示出的集成电路电路图的示意图;
图12是根据一示例性实施例示出的集成电路电路图的示意图;
图13是根据一示例性实施例示出的集成电路电路图的示意图;
图14是根据一示例性实施例示出的集成电路电路图的示意图;
图15是根据一示例性实施例示出的集成电路电路图的示意图;
图16a是根据一示例性实施例示出的集成电路电路图的示意图;
图16b是根据一示例性实施例示出的集成电路电路图的示意图;
图17是根据一示例性实施例示出的集成电路电路图的示意图;
图18是根据一示例性实施例示出的集成电路分析方法的流程示意图;
图19是根据一示例性实施例示出的集成电路电路图的示意图;
图20是根据一示例性实施例示出的集成电路电路图的示意图;
图21是根据一示例性实施例示出的集成电路电路图的示意图;
图22是根据一示例性实施例示出的集成电路电路图的示意图;
图23是根据一示例性实施例示出的集成电路电路图的示意图;
图24是根据一示例性实施例示出的集成电路电路图的示意图;
图25是根据一示例性实施例示出的集成电路电路图的示意图;
图26是根据一示例性实施例示出的集成电路电路图的示意图;
图27是根据一示例性实施例示出的集成电路电路图的示意图;
图28是根据一示例性实施例示出的集成电路电路图的示意图;
图29是根据一示例性实施例示出的集成电路电路图的示意图;
图30是根据一示例性实施例示出的集成电路电路图的示意图;
图31是根据一示例性实施例示出的集成电路电路图的示意图;
图32是根据一示例性实施例示出的集成电路电路图的示意图;
图33是根据一示例性实施例示出的集成电路电路图的示意图;
图34是根据一示例性实施例示出的一种集成电路分析装置的结构框图;
图35是根据一示例性实施例示出的一种集成电路分析装置的结构框图;
图36是根据一示例性实施例示出的一种电子设备的硬件结构示意图。
具体实施方式
为了使本领域普通人员更好地理解本申请的技术方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的例子。
在本申请实施例的技术方案中,本申请实施例的技术方案主要适应于集成电路领域。以下均是以集成电路领域为例进行说明。
如背景技术,在进行电路整理时,工程师根据经验或数据表等资料将各个功能较明确的若干器件或单元创建为宏单元,该宏单元与顶层电路属于同一层级的两个独立的单元,共同存储在集成电路的数据库中,宏单元需要通过引用的形式显示在集成电路的电路图(即顶层电路所对应的电路图)中,由于宏单元和集成电路的电路图同在数据库中,且宏单元需要通过引用的形式显示在集成电路的电路图中,故在对集成电路的电路图中的宏单元进行修改时,需要将该宏单元进行打散,修改完成后重新构建新的宏单元,再将该新的宏单元重新引用至集成电路的电路图中。
例如,在集成电路的电路图中具有两个电路元素X1和X2,X1和X2这两个电路元素实现了某一功能A,在数据库中存储有一个宏单元,该宏单元中包含有电路元素X11和X12,X11和X12这两个电路元素也实现了功能A,则为了集成电路的电路图的简洁,可直接将由X11和X12组成的宏单元来代替集成电路的电路图中的电路元素X1和X2,但是若后续需要将集成电路的电路图中X1、X2和X3组合形成另一功能B,但是由于在之前已经利用X11和X12组成的宏单元来代替了X1和X2,此时若将X3添加进去,是无法直接在集成电路的电路图上将其添加进去的,需要先将集成电路的电路图中X11和X12组成的宏单元打散(或打平),恢复成X1和X2,然后通过将X11、X12和X13重新组成另一个宏单元,来实现功能B,将该由X11、X12和X13组成的宏单元引用至集成电路的电路图中。其中,X13是与X3对应的能与X11、X12实现功能B的电路元素,即形成功能B的电路元素X1、X2和X3,可用X11、X12和X13组成的宏单元代替。
针对相关技术中出现的问题,本申请实施例提供了一种集成电路分析方法和装置,通过在显示有集成电路的电路图的情况下,响应于用户对第一实例的第一输入,将第一实例创建为第一组块,该第一组块可以为平面组块和打包组块,然后响应于用户对第一组块外的第二实例的第二输入,可将第二实例添加到第一组块中,这样用户可以直接根据显示在集成电路电路图上的第一实例的操作,即可直接创建组块,实现了快速对组块进行创建的效果,在创建第一组块后,可通过对该第一组块外的第二实例的第二输入,可将该第二实例直接添加到第一组块中,如此,在对第一组块中的实例进行调整时,可无需将第一组块打散,然后重建,而是直接对第二实例进行操作,即可实现对第一组块内的实例的调整,因而,相较于现有技术,本申请实施例的方法在创建组块,修改组块时,操作方便、灵活,提高了用户体验和工作效率。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的集成电路分析方法进行详细的说明。
图1是根据一示例性实施例示出的一种集成电路分析方法的流程图,该集成电路分析方法的执行主体可以为服务器或电子设备,需要说明的是,上述执行主体并不构成对本申请的限定。
如图1所示,该显示方法可以包括如下步骤110-步骤120:
步骤110、在显示有集成电路的电路图的情况下,响应于用户对第一实例的第一输入,将第一实例创建为第一组块。
其中,集成电路的电路图中可以包括至少一个实例,这里的第一实例可以是至少一个实例中的任意一个或多个实例。
第一输入可以是用于将第一实例创建为第一组块,该第一输入可以是对第一实例的点击输入、双击输入、拖动输入或滑动输入,或者上述至少两个输入的组合输入。
在本申请的一些实施例中,第一组块可以是平面组块,也可以是打包组块,该第一组块具有标题信息、边界信息和组块标识。这里的标题信息可以是第一组块的名称,该名称可以是用户根据需求自行添加的。由于组块类型的不同,平面组块的边界信息为平面组块与组块外实例连接的信号;打包组块的边界信息为打包组块的端口。
在本申请的一些实施例中,由于组块的类型不同,其在集成电路电路图上显示也会不同,故在集成电路电路图上显示组块对应的符号,即组块标识,具体可以包括:
在组块为平面组块的情况下,在集成电路电路图上显示平面组块内的各实例对应的符号;
在组块为打包组块的情况下,在集成电路电路图上显示打包组块对应的预设图形。
其中,预设图形可以是预先设置的图形,该预设图形的形状和大小可以任意定义,与打包组块内实例组成的电路没有直接关系。可以是方形、星型、角型或不规则图形等,这里不做限定,只要该图形可以将组块的端口展示清晰即可。
在本申请的一些实施例中,平面组块中各实例会显示出来,而打包组块中各实例会隐藏起来。若该组块为平面组块,相当于用一个透明的组块标示框将组成平面组块的多个实例框起来,用户视觉上可以看到组成平面组块的多个实例;若该组块为打包组块,则用一个不透明的组块标示框将组成打包组块的多个实例框起来,相当于一个黑匣子,用户视觉上看不到组成打包组块的多个实例,可认为将组成打包组块的多个实例使用打包组块的组块标识进行代替。
在本申请实施例中,根据组块的类型可以在集成电路电路图中以不同的形式进行展示,例如可以是用不同的名称或不同的图形来进行展示,这样可以很清晰的根据展示形式来很容易区分组块的类型。
下面以具体示例来说明打包组块的生成过程。
在一个示例中,如图2所示,接收用户在集成电路电路图上对X7、X13和X5(第一实例)的第一输入,例如可以是点击输入,响应于该输入,可将X7、X13和X5组成打包组块MI3,将该打包组块MI3所对应的组块标识(即图2中的方框31)显示在集成电路电路图上,该打包组块MI3所对应的组块标识为用户预先设置的矩形,当然也可以是其他预设图形。
在本申请的一些实施例中,在激活组块功能,将X7、X13和X5创建为打包组块后,用户为该打包组块添加标题信息,可将该标题信息显示在集成电路电路图上,或将标题信息以组块参数形式显示,或两者结合显示。继续参照图2,给打包组块MI3添加标题“nand2_2b”,可将该标题显示在集成电路电路图上,同时将标题以组块参数形式显示。
在本申请的一些实施例中,在创建打包组块时,需要将要创建的打包组块的实例进行隐藏,具体的实现方式如下:
接收用户对要构建为打包组块的第一实例的第五输入;
响应于第五输入,调用边界函数,基于边界函数,隐藏第一实例,生成打包组块对应的组块标识。
其中,第五输入可以是用于对要构建的打包组块的实例进行隐藏,该第五输入可以是对要构建的打包组块的各实例的点击输入、双击输入、拖动输入、滑动输入或填写输入,或者上述至少两个输入的组合输入。
在本申请的一些实施例中,当用户点击各实例后,可以直接调用边界函数,基于该边界函数找到要构建的打包组块的输入和输出边界,将要构建成打包组块的各实例和各实例之间的线网进行隐藏,生成打包组块对应的组块标识,如图2中的打包组块MI3的符号31。
在本申请的一些实施例中,如图3所示为生成打包组块的流程示意图,具体可包括步骤11-步骤15,根据该流程示意图可生成打包组块。
需要说明的是,在图3中,步骤12和步骤11的顺序是可以调换的,即可以先激活组块功能,再选取要组成打包组块的第一实例,步骤12和步骤11的顺序可根据用户需求自行决定,这里不做限定。
另外,需要说明的是,在实际应用中,激活组块功能是在创建组块时直接自动激活的。
下面以具体示例来说明平面组块的生成过程。
在一个示例中,如图4所示,接收用户在集成电路电路图上对X7、X13和X5(第一实例)的第一输入,例如可以是在X7、X13和X5外部创建组块标示框51,响应于该输入,可将X7、X13和X5组成平面组块,将该平面组块所对应的组块标识(即图4中的方框52)显示在集成电路电路图上,该平面组块所对应的内部各实例对应的符号也显示在集成电路电路图上。
在本申请的一些实施例中,在激活组块功能,对X7、X13和X5创建为平面组块后,用户还可以为平面组块添加标题信息,可将该标题信息显示在集成电路电路图上,或将标题信息以组块参数形式显示,或两者结合显示。继续参照图4,给平面组块添加标题“nand2_2b”,可将该标题显示在集成电路电路图上,同时将标题以组块参数形式显示。
在本申请的一些实施例中,在组成平面组块后,还可以为平面组块内部的各实例添加身份标识信息,用于标记实例归属于哪个组块,具体实现方式如下:
接收用户对平面组块内的各实例的第六输入;
响应于第六输入,将各实例的身份标识信息以实例参数的形式显示在集成电路电路图上。
其中,第六输入可以是用于对平面组块内的各实例添加身份标识信息,该第六输入可以是对平面组块内的各实例的点击输入、双击输入、拖动输入、滑动输入或填写输入,或者上述至少两个输入的组合输入。
需要说明的是,各实例的身份标识信息可以是在创建平面组块时软件自动添加,也可以是用于手动添加,这里不做限定。
在一个示例中,继续参照图4,可对平面组块内的实例X5添加身份标识信息“No3.nand2_2b”,然后该身份标识信息“No3.nand2_2b”可以是以参数的形式存储在实例上。
在本申请的一些实施例中,如图5所示为生成平面组块的流程示意图,具体可包括步骤21-步骤25,根据该流程示意图可生成平面组块。
需要说明的是,在图5中,步骤22和步骤21的顺序是可以调换的,即可以先激活组块功能,再选取要组成组块的第一实例,步骤22和步骤21的顺序可根据用户需求自行决定,这里不做限定。
在现有技术中,若要创建多层级电路图结构,需要从最底层向上一层一层进行创建,如此创建过程缺乏灵活性,一旦中间某一层级出现问题,需要从顶层组块开始逐层打散至出现问题的层级,待问题解决后,需要再将电路重新从该层级依次创建至顶层,如此操作复杂,缺乏灵活性。
在一个示例中,若要构建如图6a所示的电路层次结构,即树状结构,按照现有技术的方案,参考图6b,必须从底层向上一层一层进行创建,即先创建最低级的宏单元8~宏单元10,然后将宏单元8~宏单元10创建为上一层次的宏单元3,同时可创建与宏单元3同层次的宏单元4~宏单元5,以及宏单元6~宏单元7,进一步的将宏单元3~宏单元5创建为上一层次的宏单元1,宏单元6~宏单元7创建为上一层次的宏单元2,最终顶层包含宏单元1和宏单元2。如此一旦中间某个层次出现问题需要从宏单元1和宏单元2开始,逐个层次的打散相关宏单元。例如,当发现第二级宏单元3应该只由宏单元8和宏单元9组成,而第二级宏单元4由宏单元10组成时,需要先将第三级宏单元1散开为宏单元3~宏单元5,再将第二级宏单元3散开为宏单元8~宏单元10;再重新将宏单元8和宏单元9创建为第二级宏单元3-1,宏单元10创建为第二级宏单元4-1;进而,再重新将宏单元3-1、宏单元4-1和宏单元5重新创建为第三级宏单元1-1。
为了解决上述问题,在本申请的一些实施例中,为了进一步实现组块创建的便捷性,在步骤110之后,上述所涉及的方法还可以包括:
响应于用户对第一组块的第三输入,分别创建第二组块和第三组块;其中,第一组块、第二组块和第三组块形成树状结构,第一组块在树状结构中位于第i层级,第二组块在树状结构中位于第一组块的上一层级,第三组块在树状结构中位于第一组块的下一层级。
其中,第三输入可以是用于创建第一组块的上一层级组块和下一层级组块,该第三输入可以但不限于包括对第一组块的点击输入、双击输入、语音输入和手势输入,还可以是上述至少两种输入的组合,这里不做限定。
在本申请的一些实施例中,组块具有灵活创建层级的特点,可以从任意层级开始向上或向下创建新层次,如图7所示,要构建左下处的电路层次结构,可以先创建中间层次组块3~组块5,然后创建上一层次组块1,然后向下创建组块3的下一层次组块8~组块10,然后再次创建中间层次的组块6和组块7,然后向上创建组块2,最后形成顶层电路。
在本申请的实施例,通过响应于用户对第一组块的第三输入,可以分别创建第二组块和第三组块,如此由第一组块、第二组块和第三组块形成树状结构,第一组块在树状结构中位于第i层级,第二组块在树状结构中位于第一组块的上一层级,第三组块在树状结构中位于第一组块的下一层级,即针对任意层级的第一组块,可以直接不受层级限制,在不需打散重建的基础上自由向上或向下创建组块,调整电路层次结构,提升了组块创建的灵活性。相比于现有技术中,对电路引用的宏单元进行层次结构调整时,需要打散、重组再引用,本申请的组块技术更加灵活,操作更加简便、高效。
在本申请的一些实施例中,为了提升用户体验,在所述响应于用户对第一组块的第三输入,分别创建第二组块和第三组块之后,上述所述涉及的方法还可以包括:
响应于对第一组块的第四输入,对第一组块进行更改。
其中,第四输入可以是对第一组块中实例进行更改。
在本申请的一些实施例中,第四输入具体的可以是包括如下至少一项:
将第三实例拖拽添加至第一组块;
将第一组块内的第四实例从第一组块内移除。
其中,第三实例可以是第一组块外的一个实例。
第四实例可以是第一组块内的任意一个实例。
在本申请的一些实施例中,在对第一组块进行更改时,具体的可以将第一组块外的任一实例拖拽添加到第一组块中,也可以将第一组块中的任一实例移除出去。
在本申请的一些实施例中,这里的第一组块可以为树状结构中位于任意层级的组块。如此可不受层级限制,在不需打散重建的基础上直接对任意层级的组块进行更改。
在本申请的实施例中,通过响应于对位于树状结构任意层级的第一组块的第四输入,可直接对第一组块进行更改,如此可不受层级限制,在不需打散重建的基础上直接对任意层级的组块进行更改,提升了对组块更改的灵活性,提升了用户体验。
在本申请的一些实施例中,在创建组块后,还可以对组块内或组块外的实例进行跟踪,具体的跟踪方式如下:
在本申请的一些实施例中,第一实例的第一端口与第五实例的第二端口相连,该第五实例可以为集成电路的电路图中的位于第一组块外或位于第一组块内的一个实例。
这里的第一端口为第一实例的端口,第二端口为第五实例的端口。
在步骤110之后,上述所涉及的方法还可以包括:
对第二端口进行跟踪,得到第一实例的信号信息,以及第一组块的标题信息。
其中,第一实例的信号信息至少可以包括第一实例的实例名称、单元名称和第一端口名称及第一端口的方向。
在本申请的一些实施例中,在第二端口与第一端口相连的情况下,可以对第二端口进行跟踪,得到第一实例的信号信息和第一组块的标题信息。
在一个示例中,参考图8,对第五实例X7的第二端口进行跟踪,得到图8左侧表格,可知第五实例X7的第二端口Z与第一实例X13的第一端口ZN相连。对第五实例X7的第二端口进行跟踪,可根据图8左侧表格得到第一实例X13的信号信息,包括CELL列的单元名(即INV_2)、INST列的实例名(即X13)、PIN列的第一端口名称(即ZN)和DIR列的第一端口方向(即INPUT),还可以得到第一实例所处的第一组块的组块标题,即INFO列的nand_2b。当第五实例为任意组块内实例时,也可以显示第五实例的信号信息,以及第五实例所处组块的组块标题;当第五实例为组块外实例时,也可以显示第五实例的信号信息。在本示例中,第五实例X7同为第一组块内实例,所以图8左侧表格中同样显示了第五实例X7的信号信息以及第五实例所处的第一组块的组块标题。
在本申请的实施例中,在第一实例的第一端口与第一组块外或第一组块内的第五实例的第二端口相连时,在对第二端口进行跟踪时,可直接得到第一实例的信号信息,以及第一组块的标题信息,如此可直观的查看到第一实例的信号信息,以及第一组块的标题信息。
步骤120、响应于用户对第二实例的第二输入,将第二实例添加至第一组块中。
其中,第二实例可以是在第一组块之外的实例。
在本申请的一些实施例中,可以直接响应于用户对第二实例的第二输入,将第二实例添加到第一组块中,实现了组块的实例添加灵活性。
在本申请的一些实施例中,在组成第一组块后,在将第二实例添加到第一组块中时,首先需要确定第一组块的工作状态,具体的可以是集成电路图中还可以包括第四组块,该第四组块具有工作状态属性,该工作状态属性具体的可以是锁定状态或非锁定状态。这里的锁定状态是指组块内的实例不可以脱离该实例所在的组块,单独移动至其他位置。非锁定状态是指组块内的实例可脱离该实例所在的组块,单独移动至其他位置。
在本申请的一些实施例中,步骤120具体可以包括:
当第二实例处于第四组块中且第四组块处于锁定状态时,响应于用户对第二实例的第二输入,将第四组块添加至第一组块中;或者,
当第二实例处于第四组块中且第四组块处于非锁定状态时,响应于用户对第二实例的第二输入,将第二实例添加至第一组块中。
在本申请的一些实施例中,若第二实例位于第四组块中,且第四组块处于锁定状态,则响应于用户对第二实例的第二输入后,可将第二实例所在的第四组块整体添加到第一组块中。若第四组块处于非锁定状态,则在响应于用户对第二实例的第二输入后,可仅将第二实例添加到第一组块中。其中,第四组块是第一组块所在集成电路图中的另一组块。
在一个示例中,如图9a和图9b,在跟踪实例X9和X11的输入端连接时发现,实例X9左侧的输入端连接未锁定状态的组块and2_2b中的实例X4,实例X11左侧的输入端连接锁定状态的组块nand2_2b中的实例X5。可以直观的在图9a左侧两个表格中的“INFO”列,看到锁定状态组块与非锁定状态组块的标题信息显示是不同的,这里以添加符号“*”的方式来区分,即锁定状态组块nand2_2b显示为“*nand2_2b”,非锁定状态组块and2_2b显示为“and2_2b”,或者也可以其他方式达到区分效果,这里不做限定。
在图9b中可查看平面组块nand2_2b和and2_2b的工作状态属性,其中,平面组块nand2_2b的工作状态为锁定状态,平面组块and2_2b的工作状态为未锁定状态,具体可根据组块参数中有无“target”参数来决定组块的工作状态,如图9b左上方表格显示平面组块nand2_2b具有“target”参数及其参数值“lock”,这就表示平面组块nand2_2b的工作状态为锁定状态。
在该示例中,若X9和X11为第一组块内的实例,想要把上述两个组块and2_2b和nand2_2b中与实例X9和X11具有连接关系的实例X4和X5移动至第一组块内的X11和X9的输入端,以更加直观的呈现两者之间的连接时,锁定组块作为整体移动,未锁定的组块中的元素脱离组块移动。由于nand2_2b为锁定状态,X5不能独立移动至X11的输入端,nand2_2b作为整体移动至X11的输入端;由于and2_2b为未锁定状态,X4脱离该组块,作为个体移动至X9的输入端,在一些可行的实施例中,可以将X4以区别于第一组块内的其他实例的形式显示,如使用不同颜色或线条显示。
需要说明的是,在删除第一组块中的某一实例时,若该第一组块为锁定状态,则无法将该实例从第一组块中删除,若第一组块为非锁定状态,则将该第一组块中的该实例删除即可。
在本申请的一些实施例中,在将平面组块内的实例进行删除时,则该实例所对应的身份标识信息也一并进行了删除,对应的,在将平面组块外的实例添加到平面组块内时,则对应添加该实例的身份标识信息,并将该实例的身份标识信息以实例参数的形式在集成电路电路图上进行显示。
在本申请的一些实施例中,宏单元和组块在集成电路电路图中显示的形态是不一样的,组块会以有区别于宏单元符号的颜色进行显示,组块是顶层单元的一部分,不需要以单元形式存放在单元库中,不需要额外的物理存储,而宏单元是独立的电路单元,可以被其他电路引用(如顶层单元),需要以单元形式存放在单元库中,需要在单元库中独立存储。
在一个示例中,如图10a和图10b所示,图10a是宏单元的数据结构示意图,图10b是组块的数据结构示意图,在图10a,方框111是宏单元,在图10b中,方框112是组块,可见宏单元和组块在集成电路电路图中显示的形态是不一样的,但是组块是顶层单元的一部分,在集成电路单元库110中是不存在的,而宏单元111在集成电路数据库110DEMOSUB_SCH中是存在的。
在本申请的一些实施例中,生成的组块是虚拟的,并不存储在集成电路的单元库中,若要对组块进行存储,则需要将组块转换为宏单元的形式,以宏单元的形式存储在集成电路的单元库中,故为了便于对组块进行存储,为了与其他软件兼容,需要将组块转换为宏单元进行存储,具体的将打包组块转换为宏单元的实现方式可以如下:
接收用户对第一目标打包组块的第七输入;
响应于第七输入,将第一目标打包组块转换为宏单元。
其中,第一目标打包组块可以是集成电路电路图上的至少一个打包组块。
第七输入可以是用于将第一目标打包组块转化为宏单元,该第七输入可以是对第一目标打包组块的点击输入、双击输入、拖动输入、滑动输入或填写输入,或者上述至少两个输入的组合输入。
需要注意的是,在将打包组块转换成宏单元之前,需要预先创建一个集成电路单元库,或者选择一个已经存在的集成电路单元库,用该单元库来存放转换成的宏单元。
在本申请的一些实施例中,除了可以以上述实现方式将打包组块转换为宏单元外,还可以以类似上述实现方式将引用至集成电路电路图内的宏单元转换为打包组块,这样以便于直接对该打包组块进行操作,无需打散宏单元,操作简单、方便,提高了用户体验。
在一个示例中,利用软件面板的转换器工具,弹出转换弹窗,响应于用户对转换弹窗的操作,可将创建的宏单元(或打包组块)转换为打包组块(或宏单元)。
需要说明的是,在将组块转换为宏单元时,只能将打包组块转换为宏单元,而不能将平面组块转换为宏单元,这是因为平面组块内的各电路元素在集成电路电路图中是可以显示的,而打包组块内的各电路元素在集成电路电路图中是隐藏的,宏单元引用至集成电路电路图中,宏单元内的各电路元素也是隐藏的,所以在将组块转换为宏单元时,只可将打包组块转换为宏单元。若要将平面组块转换为宏单元,则需要首先将平面组块转换为打包组块,然后再转换为宏单元。
在本申请的一些实施例中,可以实现平面组块和打包组块之间的相互转换,即不仅可以将平面组块转换为打包组块,打包组块也是可以转换为平面组块的,具体实现方式如下:
接收用户对第一目标组块的第八输入;
响应于第八输入,将第一目标组块的类型转换成目标类型。
其中,第一目标组块可以是集成电路电路图中的任意一个或多个组块。
第八输入可以是用于将第一目标组块的类型转换成目标类型,该第八输入可以是对第一目标组块的点击输入、双击输入、拖动输入、滑动输入或填写输入,或者上述至少两个输入的组合输入。
目标类型可以是不同于第一目标组块类型的类型。
在本申请的一些实施例中,若第一目标组块的类型为打包组块,则目标类型可以是平面组块。若第一目标组块的类型为平面组块,则目标类型可以是打包组块。
在一个示例中,利用软件面板的转换器工具,弹出转换弹窗,响应于用户对转换弹窗的操作,可实现将第一目标组块的类型进行转换,如图11所示,方框181为打包组块,方框182为平面组块,两个组块之间可以相互转换。
在本申请的一些实施例中,打包组块和平面组块之间是可以嵌套的,即在打包组块中可以包括打包组块,也可以包括平面组块。同样的,在平面组块中可以包括打包组块,也可以包括平面组块。
在本申请实施例中,打包组块和平面组块之间可以嵌套,使用嵌套组块可以提高电路整理的灵活性,提高工作效率,提高用户体验,解决了现有技术中,在宏单元内不可以再创建宏单元的问题。
在本申请的一些实施例中,在两个组块之间进行嵌套时,可以是有两种顺序,一种是由低层次向高层次,另一种是由高层次向低层次。
下面利用示例来详细介绍创建嵌套组块的过程。
一、打包组块嵌套打包组块
1、由低层次到高层次:先打包低层次的组块,再打包高层次的组块,参考图12。
A、通过上述创建组块的方式创建低层次打包组块nand2_2b,实例名为MI3。
B、在集成电路电路图中选中所要创建为高层次打包组块的电路元素X1、X8和打包组块nand2_2b(MI3)。
C、通过上述的创建组块的方式将电路元素X1、X8和打包组块nand2_2b(MI3)创建为高层次的打包组块nand2_3b(MI6)。
2、由高层次到低层次:先打包高层次的组块,再打包低层次的组块,参考图13。
A、在集成电路电路图中选择要创建为高层次打包组块的电路元素X1、X7、X13、X5、X8和X11。
B、通过上述创建组块的方式将A中的电路元素创建为高层次打包组块nand2_3b(M16)。
C、进入高层次打包组块nand2_3b(M16)中,选中所要创建为低层次打包组块的电路元素X7、X13和X5。
D、通过上述创建组块的方式将C中选中的电路元素创建为低层次打包组块nand2_2b(M19)。
二、平面组块嵌套平面组块
1、由低层次到高层次:先创建低层次的平面组块,再创建高层次的平面组块,参考图14。
A、通过上述创建组块的方式,将X7、X13、X5创建为低层次平面组块nand2_2b。
B、在集成电路电路图中选中所要创建为高层次平面组块的电路元素X1、X8和平面组块nand2_2b。
C、通过上述的创建组块的方式将电路元素X1、X8和平面组块nand2_2b创建为高层次的平面组块nand2_3b。
2、由高层次到低层次:先创建高层次的平面组块,再创建低层次的平面组块,参考图15。
A、在集成电路电路图中选择要创建为高层次平面组块的电路元素X1、X7、X13、X5和X8。
B、通过上述创建组块的方式将A中的电路元素创建为高层次平面组块nand2_3b。
C、进入高层次平面组块nand2_3b中,选中所要创建为低层次平面组块的电路元素X7、X13和X5。
D、通过上述创建组块的方式将C中选中的电路元素创建为低层次平面组块nand2_2b。
三、打包组块嵌套平面组块,参考图16a和图16b。
A、通过上述创建组块的方式创建打包组块nand2_3b(M16),如图16a所示。
B、进入打包组块nand2_3b(M16)中,如图16b所示,通过上述创建组块的方式将电路元素X7、X13和X5创建为平面组块nand2_2b。
四、平面组块嵌套打包组块,参见图17。
A、通过上述创建组块的方式创建平面组块nand2_3b。
B、进入平面组块nand2_3b中,通过上述创建组块的方式将电路元素X7、X13和X5创建为打包组块nand2_2b(M19)。
在本申请的一些实施例中,组块相较于宏单元,具有如下优点:
1、层次可调整:可在组块中直接创建新的组块,宏单元不可新建层次,在宏单元中,当发现层次有问题时,需要从顶层依次打散至有问题的层次,解决问题后再依次重建宏单元。
2、组块不需要独立的单元库进行管理,宏单元需要独立的单元库,这样当集成电路元素的数量比较庞大时,存放由电路元素构建的宏单元的数量可能会有几十甚至几百个,导致单元库内单元数量增多。
3、唯一性:组块是在集成电路电路图中根据该电路图上的电路元素直接构建,所构建的组块是唯一的,而宏单元为一个模板,只要是可以与集成电路电路图中的集成电路元素所代表的功能相同即可引用至集成电路电路图中,该宏单元内的电路元素并不一定是集成电路电路图上的电路元素,其仅是与其功能相同的电路元素而已。
4、组块中的电路元素仍然属于顶层电路(集成电路电路图所对应的电路),而宏单元中电路元素不再属于顶层电路。宏单元跟顶层电路一致,是存在于数据库中,是一个具体的视图,具有一定的数据大小,而组块-是顶层单元的一部分,不具有独立性。
5、组块可以同名,宏单元不能同名,例如,在集成电路电路图中具有电路元素X1和X2,将这两个电路元素组成组块,该组块可命名为A,若在A中又加入了电路元素X3,形成新的组块,则该组块还可以继续命名为A,但是宏单元不可以,因为宏单元与集成电路电路图所对应的顶层电路是属于同一层级,同存储于单元库中,是单元库中两个平行的单元,宏单元需引用至顶层电路中,若名称一致,则无法正确引用宏单元。
6、组块有两种表现形式,即平面组块和打包组块,宏单元只有打包一种形式,打包组块与宏单元可以相互转换。
7、打包组块与平面组块之间可以相互嵌套,相互转换。
在本申请的一些实施例中,第一组块可能具有总线信号,在此基础上,本申请实施例还提供了集成电路分析方法的另一种可实现方式,如图18所示,本申请实施例提供的集成电路分析方法包括步骤1910:
步骤1910、在第一组块具有总线信号,且总线信号为至少一个的情况下,按照总线信号,将第一组块展开为至少一个子组块。
其中,第一组块和子组块为上述实施例中的第一组块,该第一组块为打包组块,即在第一组块为打包组块的情况下,子组块也为打包组块。每个子组块中包含至少一个实例,该子组块的数量与总线信号的数量一致。
在本申请的实施例中,在第一组块具有总线信号,且总线信号为至少一个的情况下,按照总线信号,将第一组块展开为至少一个子组块,每个子组块中包含至少一个实例,子组块的数量与总线信号的数量一致,如此可快速将第一组块展开,提升组块的灵活性。
在本申请的一些实施例中,为了进一步提升组块的灵活性,所述按照总线信号,将第一组块展开为至少一个子组块,具体可以包括:
在第一组块的输出信号为总线信号,且输出信号为至少一个情况下,针对每个输出信号,向前追溯第一组块中的实例,直至向前扩展至第一组块的输入信号,基于第一组块的输入信号和输出信号之间的实例展开为子组块。
在本申请的一些实施例中,在第一组块的输出信号为总线信号,且输出信号为多个的情况下,针对每个输出信号,可向前追溯第一组块中的实例,直至向前扩展至第一组块的输入信号,基于第一组块的输入信号和输出信号之间的实例展开为子组块。
在一个示例中,图19为一个打包组块nand2_7b(M19)被调用的形式,图20是nand2_7b(M19)内部的电路图,该内部电路中信号已经改为了总线方式的命名,如A<0>~A<6>、ZN<0>~ZN<6>,将其创建为图19所示的打包组块,打包后的组块将总线端口合并显示。
在一种实施方式中,此类组块还可按照总线展开为多个子组块(实质是打包组块),展开的每个子组块对应一个输出总线位。此类组块的一个特征是,当输出信号为总线时,在展开子组块模式下,可以按照总线信号展开为多个子组块。其中,每个子组块包含一个输出总线位向前追溯跟踪到组块输入信号的所有逻辑单元。例如:图19中,组块nand2_7b(M19)具有总线输出信号ZN<6:0>,在展开子组块模式下,可以将图19所示的组块nand2_7b(M19)展开为7个子组块M12~M18(如图21所示)。
展开的具体形式为:图20中,以总线信号ZN<0>展开为子组块M12为例,总线信号ZN<0>的来源为INV_2(X13)的输出,INV_2(X13)信号的来源为AND2_1(X7),AND2_1(X7)信号的来源为输入信号A<0>和set_0,因此可将总线信号ZN<0>向前扩展至信号源头A<0>和set_0,信号源头与总线信号之间的实例即为子组块M12的内容。因此INV_2(X13)和AND2_1(X7)为总线信号ZN<0>对应的子组块M12的内容。如图21所示,即图21中M12对应总线信号ZN<0>展开的子组块。每个子组块内包含了一个输出总线位向前追溯到组块输入信号的所有逻辑单元,如图22所示,为子组块M12的内部电路图。
以总线形式展开为打包组块是因为,当组块初始创建时,是以平面电路的形式创建,但因为组块边界不合理或其他原因需要拆散时,可以不用全部拆散为平面电路,通过以总线为源头解散为打包子组块,建立一种中间层的组块。
在本申请的实施例中,在第一组块的输出信号为总线信号,且输出信号为至少一个情况下,针对每个输出信号,通过向前追溯第一组块中的实例,直至向前扩展至第一组块的输入信号,基于第一组块的输入信号和输出信号之间的实例展开为子组块,如此可精确将第一组块展开为多个子组块。
在本申请的一些实施例中,在第一组块中包括共享子组块或实例的情况下,至少两个子组块中包括共享子组块或实例。
在本申请的一些实施例中,在第一组块中包括共享子组块或实例的情况下,则在展开的各子组块中要均包括该共享子组块或实例。
在一个示例中,图23是原始平面电路中的局部,该局部电路中信号已经改为了总线方式的命名,如A<0>~A<6>、ZN<0>~ZN<6>将其创建为图24所示的打包组块。打包后的组块将总线端口合并显示。此类组块可按照总线方式展开为多个子组块,每个子组块对应一个输出总线位,如图25所示,即图25中MI24对应ZN<0>……。每个总线组块内包含了一个输出总线位向前追溯到组块输入信号的所有逻辑单元,如图26所示,如果存在共享的逻辑单元,则在每一个子组块内均会显示这些共享单元,以保证局部逻辑完整性。就整体电路而言,逻辑单元数量并未增加,共享单元是通过创建一系列影子单元实现在多个子组块中显示的。
在本申请的一些实施例中,至少一个子组块可以为并行结构,且至少一个子组块的结构相同,或者,至少一个子组块为并行结构,且至少一个子组块的结构不相同。
在一个示例中,如图20、21所示,各子组块为并行结构,且各子组块的结构相同。
在本申请的一些实施例中,至少一个子组块可以为并行结构,且至少一个子组块的结构不相同。例如,图27是原始平面电路中的局部,该局部电路中信号已经改为了总线方式的命名,如Q<0>~Q<3>、将其创建为图28所示的打包组块。打包后的组块将总线端口合并显示。此类组块可按照总线方式展开为多个子组块,每个子组块对应一个输出总线位,如图29所示,即图29中MI1对应Q<0>……。每个子组块内包含了一个输出总线位向前追溯的所有逻辑单元(截止到端口或寄存器的输出),如图30~33所示,如果存在共享的逻辑单元,则在每一个可追溯到共享单元的子组块内均会显示这些共享单元,以保证局部逻辑完整性。就整体电路而言,逻辑单元数量并未增加,共享单元是通过创建一系列影子单元实现在多个总线组块中显示的。
需要说明的是,本申请实施例提供的集成电路分析方法,执行主体可以为集成电路分析装置,或者该集成电路分析装置中的用于执行集成电路分析方法的控制模块。本申请实施例中以集成电路分析装置执行集成电路分析方法为例,说明本申请实施例提供的集成电路分析装置。
基于与上述的集成电路分析方法相同的发明构思,本申请还提供了一种集成电路分析装置,该集成电路分析装置应用于服务器。下面结合图34-图35对本申请实施例提供的集成电路分析装置进行详细说明。
图34是根据一示例性实施例示出的一种集成电路分析装置的结构框图。
如图34所示,该集成电路分析装置3500可以包括:
创建模块3510,用于在显示有集成电路的电路图的情况下,响应于用户对第一实例的第一输入,将所述第一实例创建为第一组块;其中,所述第一组块包括平面组块和打包组块,所述第一组块具有标题信息、边界信息和组块标识;所述集成电路的电路图中包括至少一个实例,所述至少一个实例包括所述第一实例;
添加模块3520,用于响应于用户对第二实例的第二输入,将所述第二实例添加至所述第一组块中,其中,所述第二实例为在所述第一组块之外的实例。
在本申请实施例中,通过在显示有集成电路电路图的情况下,响应于用户对第一实例的第一输入,将第一实例创建为第一组块,该第一组块可以为平面组块和打包组块,然后响应于用户对第一组块外的第二实例的第二输入,可将第二实例添加到第一组块中,这样用户可以直接根据显示在集成电路电路图上的第一实例的操作,即可直接创建组块,实现了快速对组块进行创建的效果,在创建第一组块后,可通过对该第一组块外的第二实例的第二输入,可将该第二实例直接添加到第一组块中,如此,在对第一组块中的实例进行调整时,可无需将第一组块打散,然后重建,而是直接对第二实例进行操作,即可实现对第一组块内的实例的调整,因而,相较于现有技术,本申请实施例的方法在创建组块,以及修改组块时,操作方便,提高了用户体验。
在本申请的一些实施例中,创建模块3510还可以用于:
响应于用户对所述第一组块的第三输入,分别创建第二组块和第三组块;其中,所述第一组块、所述第二组块和所述第三组块形成树状结构,所述第一组块在所述树状结构中位于第i层级,所述第二组块在所述树状结构中位于所述第一组块的上一层级,所述第三组块在所述树状结构中位于所述第一组块的下一层级。
在本申请的一些实施例中,上述所涉及的装置还可以包括:
更改模块,用于响应于对所述第一组块的第四输入,对所述第一组块进行更改,其中,所述第一组块为所述树状结构中任意层级的组块。
在本申请的一些实施例中,所述第四输入包括下述至少一项:
将第三实例拖拽添加至所述第一组块;
将所述第一组块内的第四实例从所述第一组块内移除。
在本申请的一些实施例中,所述第一实例的第一端口与第五实例的第二端口相连;
上述所涉及的装置还可以包括:
跟踪模块,用于对所述第二端口进行跟踪,得到所述第一实例的信号信息,以及所述第一组块的标题信息,其中,所述第一实例的信号信息至少包括所述第一实例的实例名称、单元名称和第一端口名称及方向。
在本申请的一些实施例中,所述平面组块的组块标识显示为所述平面组块内各实例对应的符号;所述打包组块的组块标识显示为所述打包组块对应的预设图形。
在本申请的一些实施例中,所述集成电路图中还包括第四组块,所述第四组块具有工作状态属性;所述工作状态属性包括锁定状态和非锁定状态。
在本申请的一些实施例中,添加模块3520具体可以用于:
当所述第二实例处于第四组块中且所述第四组块处于所述锁定状态时,响应于用户对第二实例的第二输入,将所述第四组块添加至所述第一组块中;或者,
当所述第二实例处于第四组块中且所述第四组块处于所述非锁定状态时,响应于用户对第二实例的第二输入,将所述第二实例添加至所述第一组块中。
在本申请的一些实施例中,所述平面组块与所述打包组块之间相互嵌套和/或相互转换;所述打包组块与宏单元之间相互转换。
图35是根据一示例性实施例示出的另一种集成电路分析装置的结构框图。
如图35所示,该集成电路分析装置3600可以包括:
展开模块3610,用于在第一组块具有总线信号,且总线信号为至少一个的情况下,按照所述总线信号,将所述第一组块展开为至少一个子组块;其中,所述第一组块和所述子组块为上述实施例中的第一组块,所述第一组块为打包组块,每个所述子组块中包含至少一个实例,所述子组块的数量与所述总线信号的数量一致。
在本申请的实施例中,在第一组块具有总线信号,且总线信号为至少一个的情况下,按照总线信号,将第一组块展开为至少一个子组块,每个子组块中包含至少一个实例,子组块的数量与总线信号的数量一致,如此可快速将第一组块展开,提升组块的灵活性。
在本申请的一些实施例中,展开模块3610具体可以用于:
在所述第一组块的输出信号为总线信号,且所述输出信号为至少一个情况下,针对每个所述输出信号,向前追溯所述第一组块中的实例,直至向前扩展至第一组块的输入信号,基于所述第一组块的输入信号和所述输出信号之间的实例展开为子组块。
在本申请的一些实施例中,至少一个所述子组块为并行结构,且至少一个所述子组块的结构相同,或者,至少一个所述子组块为并行结构,且至少一个所述子组块的结构不相同。
在本申请的一些实施例中,在所述第一组块中包括共享子组块或实例的情况下,至少两个所述子组块中包括所述共享子组块或实例。
本申请实施例提供的集成电路分析装置,可以用于执行上述各方法实施例提供的集成电路分析方法,其实现原理和技术效果类似,为简介起见,在此不再赘述。
基于同一发明构思,本申请实施例还提供了一种电子设备。
图36是本申请实施例提供的一种电子设备的结构示意图。如图36所示,电子设备可以包括处理器3701以及存储有计算机程序或指令的存储器3702。
具体地,上述处理器3701可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本发明实施例的一个或多个集成电路。
存储器3702可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器3702可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器3702可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器3702可在综合网关容灾设备的内部或外部。在特定实施例中,存储器3702是非易失性固态存储器。在特定实施例中,存储器3702包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
处理器3701通过读取并执行存储器3702中存储的计算机程序指令,以实现上述实施例中的任意一种集成电路分析方法。
在一个示例中,电子设备还可包括通信接口3703和总线3710。其中,如图36示,处理器3701、存储器3702、通信接口3703通过总线3710连接并完成相互间的通信。
通信接口3703,主要用于实现本发明实施例中各模块、设备、单元和/或设备之间的通信。
总线3710包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线3710可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
该电子设备可以执行本发明实施例中的集成电路分析方法,从而实现图1和图18描述的集成电路分析方法。
另外,结合上述实施例中的集成电路分析方法,本发明实施例可提供一种可读存储介质来实现。该可读存储介质上存储有程序指令;该程序指令被处理器执行时实现上述实施例中的任意一种集成电路分析方法。
另外,结合上述实施例中的集成电路分析方法,本发明实施例可提供一种计算机程序产品,该计算机程序产品中的指令由电子设备的处理器执行时,使得所述电子设备上述实施例中的任意一种集成电路分析方法。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
Claims (15)
1.一种集成电路分析方法,其特征在于,所述方法包括:
在显示有集成电路的电路图的情况下,响应于用户对第一实例的第一输入,将所述第一实例创建为第一组块;其中,所述第一组块包括平面组块和打包组块,所述第一组块具有标题信息、边界信息和组块标识;所述集成电路的电路图中包括至少一个实例,所述至少一个实例包括所述第一实例;
响应于用户对第二实例的第二输入,将所述第二实例添加至所述第一组块中,其中,所述第二实例为在所述第一组块之外的实例。
2.根据权利要求1所述的方法,其特征在于,在所述将所述第一实例创建为第一组块之后,所述方法还包括:
响应于用户对所述第一组块的第三输入,分别创建第二组块和第三组块;其中,所述第一组块、所述第二组块和所述第三组块形成树状结构,所述第一组块在所述树状结构中位于第i层级,所述第二组块在所述树状结构中位于所述第一组块的上一层级,所述第三组块在所述树状结构中位于所述第一组块的下一层级。
3.根据权利要求2所述的方法,其特征在于,在所述响应于用户对所述第一组块的第三输入,分别创建第二组块和第三组块之后,所述方法还包括:
响应于对所述第一组块的第四输入,对所述第一组块进行更改,其中,所述第一组块为所述树状结构中任意层级的组块。
4.根据权利要求3所述的方法,其特征在于,所述第四输入包括下述至少一项:
将第三实例拖拽添加至所述第一组块;
将所述第一组块内的第四实例从所述第一组块内移除。
5.根据权利要求1所述的方法,其特征在于,所述第一实例的第一端口与第五实例的第二端口相连,在所述将所述第一实例创建为第一组块之后,所述方法还包括:
对所述第二端口进行跟踪,得到所述第一实例的信号信息,以及所述第一组块的标题信息,其中,所述第一实例的信号信息至少包括所述第一实例的实例名称、单元名称和第一端口名称及方向。
6.根据权利要求1所述的方法,其特征在于,所述平面组块的组块标识显示为所述平面组块内各实例对应的符号;所述打包组块的组块标识显示为所述打包组块对应的预设图形。
7.根据权利要求1所述的方法,其特征在于,所述集成电路图中还包括第四组块,所述第四组块具有工作状态属性;所述工作状态属性包括锁定状态和非锁定状态。
8.根据权利要求7所述的方法,其特征在于,所述响应于用户对第二实例的第二输入,将所述第二实例添加至所述第一组块中,包括:
当所述第二实例处于第四组块中且所述第四组块处于所述锁定状态时,响应于用户对第二实例的第二输入,将所述第四组块添加至所述第一组块中;或者,
当所述第二实例处于第四组块中且所述第四组块处于所述非锁定状态时,响应于用户对第二实例的第二输入,将所述第二实例添加至所述第一组块中。
9.根据权利要求1所述的方法,其特征在于,所述平面组块与所述打包组块之间相互嵌套和/或相互转换;所述打包组块与宏单元之间相互转换。
10.一种集成电路分析方法,其特征在于,所述方法包括:
在第一组块具有总线信号,且总线信号为至少一个的情况下,按照所述总线信号,将所述第一组块展开为至少一个子组块;
其中,所述第一组块和所述子组块为权利要求1-9任一所述的集成电路分析方法中的第一组块,所述第一组块为打包组块,每个所述子组块中包含至少一个实例,所述子组块的数量与所述总线信号的数量一致。
11.根据权利要求10所述的方法,其特征在于,所述按照所述总线信号,将所述第一组块展开为至少一个子组块,包括:
在所述第一组块的输出信号为总线信号,且所述输出信号为至少一个情况下,针对每个所述输出信号,向前追溯所述第一组块中的实例,直至向前扩展至第一组块的输入信号,基于所述第一组块的输入信号和所述输出信号之间的实例展开为子组块。
12.根据权利要求10所述的方法,其特征在于,至少一个所述子组块为并行结构,且至少一个所述子组块的结构相同,或者,
至少一个所述子组块为并行结构,且至少一个所述子组块的结构不相同。
13.根据权利要求10所述的方法,其特征在于,在所述第一组块中包括共享子组块或实例的情况下,至少两个所述子组块中包括所述共享子组块或实例。
14.一种集成电路分析装置,其特征在于,所述装置包括:
创建模块,用于在显示有集成电路的电路图的情况下,响应于用户对第一实例的第一输入,将所述第一实例创建为第一组块;其中,所述第一组块包括平面组块和打包组块,所述第一组块具有标题信息、边界信息和组块标识;所述集成电路的电路图中包括至少一个实例,所述至少一个实例包括所述第一实例;
添加模块,用于响应于用户对第二实例的第二输入,将所述第二实例添加至所述第一组块中,其中,所述第二实例为在所述第一组块之外的实例。
15.一种集成电路分析装置,其特征在于,所述装置包括:
展开模块,用于在第一组块具有总线信号,且总线信号为至少一个的情况下,按照所述总线信号,将所述第一组块展开为至少一个子组块;
其中,所述第一组块和所述子组块为权利要求1-9任一所述的集成电路分析方法中的第一组块,所述第一组块为打包组块,每个所述子组块中包含至少一个实例,所述子组块的数量与所述总线信号的数量一致。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311320393.XA CN117077602B (zh) | 2023-10-12 | 2023-10-12 | 集成电路分析方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311320393.XA CN117077602B (zh) | 2023-10-12 | 2023-10-12 | 集成电路分析方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117077602A true CN117077602A (zh) | 2023-11-17 |
CN117077602B CN117077602B (zh) | 2024-02-09 |
Family
ID=88717315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311320393.XA Active CN117077602B (zh) | 2023-10-12 | 2023-10-12 | 集成电路分析方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117077602B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5384710A (en) * | 1990-03-13 | 1995-01-24 | National Semiconductor Corporation | Circuit level netlist generation |
CN101931395A (zh) * | 2009-06-18 | 2010-12-29 | 英赛特半导体有限公司 | 集成电路分析系统和方法 |
CN112632880A (zh) * | 2020-12-28 | 2021-04-09 | 芯华章科技股份有限公司 | 用于逻辑系统设计的编译方法、电子设备及存储介质 |
CN112989733A (zh) * | 2021-05-07 | 2021-06-18 | 北京芯愿景软件技术股份有限公司 | 电路分析方法、装置、设备及存储介质 |
CN116542190A (zh) * | 2023-06-02 | 2023-08-04 | 英诺达(成都)电子科技有限公司 | 用户设计综合方法、装置、设备、介质及产品 |
-
2023
- 2023-10-12 CN CN202311320393.XA patent/CN117077602B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5384710A (en) * | 1990-03-13 | 1995-01-24 | National Semiconductor Corporation | Circuit level netlist generation |
CN101931395A (zh) * | 2009-06-18 | 2010-12-29 | 英赛特半导体有限公司 | 集成电路分析系统和方法 |
CN112632880A (zh) * | 2020-12-28 | 2021-04-09 | 芯华章科技股份有限公司 | 用于逻辑系统设计的编译方法、电子设备及存储介质 |
CN112989733A (zh) * | 2021-05-07 | 2021-06-18 | 北京芯愿景软件技术股份有限公司 | 电路分析方法、装置、设备及存储介质 |
CN116542190A (zh) * | 2023-06-02 | 2023-08-04 | 英诺达(成都)电子科技有限公司 | 用户设计综合方法、装置、设备、介质及产品 |
Non-Patent Citations (1)
Title |
---|
TYLER: "IC Packagers: Shrinking Dies Inside thePackage Layout", 《HTTPS://COMMUNITY.CADENCE.COM/CADENCE_BLOGS_8/B/PCB/POSTS/SHRINKING-DIES-INSIDE-THE-PACKAGE-LAYOUT》, pages 1 - 9 * |
Also Published As
Publication number | Publication date |
---|---|
CN117077602B (zh) | 2024-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8768676B2 (en) | Simplified data signal support for diagramming environment languages | |
Lavin et al. | Rapid prototyping tools for FPGA designs: RapidSmith | |
CN105138769B (zh) | 一种用于可编程电路的时序模型生成方法及装置 | |
US20140122026A1 (en) | Self-testing Graphical Component Algorithm Specification | |
JP6387182B2 (ja) | 情報処理方法、装置及びコンピュータ記憶媒体 | |
JPH03156572A (ja) | 論理回路比較検証システムおよび方法 | |
CN106293664A (zh) | 代码生成方法及装置 | |
CN106682268B (zh) | 可编程逻辑器件配置方法及设备 | |
CN111400169B (zh) | 一种自动化生成用于测试软硬件的网表文件的方法及系统 | |
US8739089B2 (en) | Systems and methods for increasing debugging visibility of prototyping systems | |
US10387584B1 (en) | Streaming on hardware-software platforms in model based designs | |
CN103164228B (zh) | 一种现场可编程门阵列程序的生成方法及装置 | |
CN115705446A (zh) | 集成电路的后仿真方法和装置 | |
CN104090995B (zh) | 一种ABAQUS轮胎模型中rebar单元网格的自动生成方法 | |
CN115495069A (zh) | 基于模型驱动的煤炭工业软件流程实现方法、装置及设备 | |
CN108958611A (zh) | 一种信息编辑方法及装置 | |
CN117077602B (zh) | 集成电路分析方法和装置 | |
CN116090396B (zh) | 显示芯片设计的数据流的方法及相关设备 | |
CN104615837A (zh) | 一种fpga的物理实现方法及装置 | |
CN104123253A (zh) | 一种实现待验证芯片互联的方法和装置 | |
Fernando et al. | 2: Accelerator synthesis using algorithmic skeletons for rapid design space exploration | |
Nasartschuk et al. | Visualization support for FPGA architecture exploration | |
CN113515909A (zh) | 门级网表的处理方法、计算机存储介质 | |
US10817486B2 (en) | Containment of data structures with data objects in data modeling tools | |
Haar | Design Reconstruction for Partial Reconfigurable FPGA Systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |