1.本技术涉及集成电路技术领域,具体涉及一种基本单元库简化方法及装置。
背景技术:2.在使用eda软件进行集成电路设计时,一份设计数据在软件中的组织形式可以用电路图单元库结构呈现,一份设计数据可以包含多个单元库,每个单元库中可以包含多个单元,具有特定电路功能的模块称为单元,例如:反相器(inv)、与门(and)、触发器、放大器等。实现最基本功能的单元称为基本单元。现有的集成电路原理图数据库,在基本单元库中会包含器件参数不同的多个同功能的基本单元,导致基本单元库中包含较多的冗余信息,数据库庞大,增加了电路工程师构建和管理基本单元库的工作量,且在查看电路参数时操作繁琐、不直观。而且,电路工程师在使用基本单元库设计集成电路时,同功能的基本单元越多,导致电路工程师的查找、查看、检查、管理的工作量越大。
3.例如,在现有的基本单元库中,两个反相器单元因为尺寸不同,就需要创建两个电路图。也就是说,当同一结构的电路,存在多个不同尺寸时,需要创建多个名称不同的单元来标示尺寸不同,导致基本单元库庞大,且增加了电路工程师查找、查看、检查、管理的工作量。
4.而且当用户需要将所有电路图打印成pdf或纸质报告时,同样会出现相同结构的电路,因参数不同需要多次出现在报告中,进而导致报告页数过多,查看不方便。例如,在表1示例的基本单元库cex_0909091lib中有89个基本单元,如图1a、图1b、图1c以及图1d示意了表1 基本单元库cex_0909091lib库中多个相同结构但参数不同的inv单元打印为pdf报告的效果,可见相同结构但参数不同的的inv在打印的报告中出现很多次。
技术实现要素:5.本技术实施例的目的是提供一种基本单元库简化方法及装置,能够解决现有技术中当同一结构的电路,存在多个不同尺寸时,需要创建多个名称不同的单元来标示尺寸不同,导致基本单元库庞大的技术问题。
6.本技术的技术方案如下:第一方面,提供了一种基本单元库简化方法,包括:获取集成电路基本单元库中的n个基本单元,n为正整数;基于n个基本单元的功能和结构,将功能相同且结构相同的基本单元合并为模板单元,得到至少一个模板单元;基于至少一个模板单元更新基本单元库,得到简化后的基本单元库。
7.在一些实施例中,将功能相同且结构相同的基本单元合并为模板单元,得到至少一个模板单元,该方法还包括:获取模板单元对应的器件参数;在合并所述模板单元时,依次将器件参数映射到对应的实例上。
8.在一些实施例中,基于n个基本单元的功能和结构,将功能相同且结构相同的基本单元合并为模板单元,得到至少一个模板单元,包括:识别n个基本单元的功能,将功能相同的多个基本单元划分到相同的功能组;针对每个功能组,识别每个基本单元的结构;将结构相同的基本单元合并为模板单元。
9.在一些实施例中,识别n个基本单元的功能,将功能相同的多个基本单元划分到相同的功能组,包括:识别n个基本单元的标识和端口数量,将标识相同且端口数量相同的多个基本单元划分到相同的功能组。
10.在一些实施例中,识别n个基本单元的功能,将功能相同的多个基本单元划分到相同的功能组,包括:识别n个基本单元的布尔表达式或使用真值表,将布尔表达式或使用真值表相同的多个基本单元划分到相同的功能组。
11.在一些实施例中,针对每个功能组,识别每个基本单元的结构,包括:识别每个基本单元中所包含的器件数量和器件类型是否相同;识别每个基本单元中器件的连接关系是否相同;在所述器件数量和所述器件类型相同且所述器件的连接关系相同的情况下,确定基本单元的结构相同;将结构相同的基本单元合并为模板单元,包括:将器件数量、器件类型、器件的连接关系以及结构相同的基本单元合并为模板单元,模板单元的器件数量、器件类型和器件的连接关系与结构相同的基本单元相同。
12.在一些实施例中,识别每个基本单元中所包含的器件和器件的连接关系,包括:识别每个基本单元中器件的拓扑结构,在基本单元中所包含的器件相同且器件拓扑结构相同的情况下,确定器件的连接关系相同;或者,识别每个基本单元对应的数据结构文本,在基本单元对应的数据结构文本相同的情况下,确定器件相同且器件的连接关系相同。
13.在一些实施例中,该方法还包括:识别每个基本单元的电源地信号是否相同;在所述电源地信号不相同的情况下,将所述电源地信号以参数化引线映射到模板单元对应的实例上。
14.在一些实施例中,在将器件数量、器件类型、器件的连接关系以及结构相同的基本单元合并为模板单元之后,该方法还包括:基于合并基本单元后得到的模板单元,更新上一级电路中基本单元对应的调用关系。
15.在一些实施例中,器件参数包括基本单元中晶体管的尺寸。
16.在一些实施例中,器件参数还包括基本单元对应的电路图内的电源地信号,电源地信号在合并后的电路图中以参数化引线标示。
17.第二方面,提供了一种基本单元库简化装置,装置包括:
第一获取模块,用于获取集成电路基本单元库中的n个基本单元,n为正整数;合并模块,用于基于n个基本单元的功能和结构,将功能相同且结构相同的基本单元合并为模板单元,得到至少一个模板单元;更新模块,用于基于至少一个模板单元更新所述基本单元库,得到简化后的基本单元库。
18.本技术的实施例提供的技术方案至少带来以下有益效果:本技术实施例提供的基本单元库简化方法,将集成电路基本单元库中的n个基本单元中功能和结构相同的基本单元合并为模板单元,并模板单元简化基本单元库,得到简化后的基本单元库。如此,简化后的基本单元库中的模板单元的数量大大少于简化前基本单元的数量。电路工程师在使用该基本单元库查找、查看、检查或管理某个基本单元时,由从n个中基本单元选择一个,改成了模板单元中选择一个,降低了电路工程师使用该基本单元库查找、查看、检查或管理基本单元的工作量;并且,将模板单元对应的器件参数映射到该模板单元对应的实例上,可以直观展现单元参数,增强电路可读性。
19.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
20.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理,并不构成对本技术的不当限定。
21.图1a是本技术实施例中一种inv电路示意图;图1b是本技术实施例中另一种inv电路示意图;图1c是本技术实施例中又一种inv电路示意图;图1d是本技术实施例中又一种inv电路示意图;图2是本技术实施例提供的一种简化前的电路图示意图;图3是本技术实施例提供的一种基本单元库简化方法的流程示意图;图4是本技术实施例提供的另一种基本单元库简化方法的流程示意图;图5是本技术中第一基本单元和第二基本单元的符号图示意图;图6a是本技术实施例提供的第一基本单元的端口属性示意图;图6b是本技术实施例提供的第二基本单元的端口属性示意图;图7是本技术实施例提供的一种基板单元库分组后的示意图;图8a是本技术实施例提供的第一基本单元的布尔表达式示意图;图8b是本技术实施例提供的第二基本单元的布尔表达式示意图;图9a是本技术实施例提供的第一基本单元的真值表示意图;图9b是本技术实施例提供的第二基本单元的真值表示意图;图10a是本技术实施例提供的第一基本单元的电路图示意图;图10b是本技术实施例提供的第二基本单元的电路图示意图;图10c是本技术实施例中图10a第一基本单元与图10b第二基本单元合并后的电路图示意图;图10d是本技术实施例中图13b中示例x1符号图的参数窗口;
图11a本技术实施例提供的一种两输入与非门电路原理图示意图;图11b是本技术实施例提供的一种现有的两输入与非门符号图示意图;图11c是本技术实施例提供的一种映射参数后显示参数的三输入与非门符号图示意图;图12是本技术实施例提供的一种三输入与非门电路原理图示意图;图13a是本技术实施例提供的一种简化后的电路图示意图;图13b是本技术实施例提供的一种简化后的映射参数后的电路图示意图;图14是本技术实施例提供的一种化简后的符号图示意图;图15a是一种现有的反相器符号图示意图;图15b是本技术实施例提供的一种映射参数后显示参数的反相器符号图示意图;图16是本技术实施例中提供的一种基本单元库简化方法的装置示意图。
具体实施方式
22.为了使本领域普通人员更好地理解本技术的技术方案,下面将结合附图,对本技术实施例中的技术方案进行清楚、完整地描述。应理解,此处所描述的具体实施例仅意在解释本技术,而不是限定本技术。对于本领域技术人员来说,本技术可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本技术的示例来提供对本技术更好的理解。
23.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的例子。
24.基于背景技术可知,现有技术中当相同结构的电路,存在多个不同尺寸时,需要创建多个名称不同的单元来标示尺寸不同;相同结构的电路,电源地不同时,也需要创建为不同的单元。这样导致基本单元库庞大,且增加了电路工程师在使用该基本单元库时查找、查看、检查、管理的工作量。
25.在一种情况中,多个电路图结构相同的单元,由于各单元的晶体管的尺寸不同,就需要创建多个单元。如表1中invx1 、clkinvx2 与invx3 三个单元,其电路结构相同,如图1a、图1b、图1c所示,但是由于三个单元的晶体管的尺寸不同,在表1中就创建了3个inv单元。
26.在另一种情况中,当电路的电源地信号不同,电路结构相同、参数相同时,由于电源地信号不同,在现有技术中为了区分不同电源域的单元,一般创建为不同的单元。例如,表1中invx3与p_invx3两个inv单元,其电路结构如图1c、图1d所示,结构相同、参数相同,但由于电源地信号不同,在表1中就作为两个不同的单元呈现。
27.因此,在现有技术中,基本单元库中会包含多个结构相同但参数不同的多个相同功能的基本单元,如下表1所示。即,当相同结构的电路,存在不同参数(参数包括晶体管的尺寸与电源地信号等)时,基本单元库中一般需要创建多个名称不同的单元来标示这些基
本单元,导致基本单元库庞大,且增加了电路工程师的工作量。
28.表1基本单元库cex_0909091lib进一步的,在更高层次单元调用基本单元时,基本单元以实例化的符号图形式存在于更高层次单元中。如图2的block电路图调用基本单元invx3时,invx3以实例化的符号图x4形式出现在该电路中,如果需要查看invx3的器件参数时,需要打开单元电路图进行查看,这样不方便、不直观。
29.为了解决上述问题,本技术实施例提供了一种基本单元库简化方法,基于n个基本单元的功能和结构,将n个基本单元进行合并,得到多个模板单元;在合并基板单元时,依次将模板单元对应的实例的器件参数映射到对应的实例上;基于多个模板单元,更新集成电路的基本单元库,得到简化后的基本单元库。
30.下面结合附图对本技术实施例提供的基本单元库简化方法进行详细说明。
31.图3示出了本技术实施例提供的一种基本单元库简化方法的流程示意图,该方法包括:s110,获取集成电路基本单元库中的n个基本单元,n为正整数。
32.s120,基于n个基本单元的功能和结构,将功能相同且结构相同的基本单元合并为模板单元,得到至少一个模板单元。
33.s130,基于所述至少一个模板单元更新基本单元库,得到简化后的基本单元库。
34.在一些实施例中,将功能相同且结构相同的基本单元合并为模板单元,得到至少一个模板单元,还可以包括如下步骤:获取模板单元对应的器件参数。
35.在合并模板单元时,依次将器件参数映射到对应的实例上。
36.在一些实施例中,该方法还包括:在更高层级电路中,将每个模板单元对应的器件参数映射到对应的实例的符号图上。
37.下面对上述步骤进行详细说明,具体如下所示:
合并模板单元时,具体可以是先判断基本单元的功能是否相同,再判断基本单元的结构是否相同,最后将功能和结构都相同的基本单元合并为模板单元。
38.为了提高简化基本单元库的效率,在一些实施例中,如图4所示,基于n个基本单元的功能和结构,将功能相同且结构相同的基本单元合并为模板单元,得到至少一个模板单元,可以包括:s121,识别n个基本单元的功能,将功能相同的多个基本单元划分到相同的功能组中。
39.s122,针对每个功能组,识别每个基本单元的结构。
40.s123,将结构相同的基本单元合并为模板单元。
41.这里,先将功能相同的基本单元划分为若干个功能组,再针对每一个功能组识别其内基本单元的结构是否相同,如此,在识别基本单元的结构时,仅需识别功能组中功能相同的基本单元的结构,而无需识别所有的基本单元的结构,可以提高模板单元的合并效率,进而提高简化基本单元库的效率。
42.在一些实施例中,为了更好地识别基本单元的功能,识别n个基本单元的功能,将功能相同的多个基本单元划分到相同的功能组,可以包括:识别n个基本单元的标识和端口数量,将标识相同且端口数量相同的多个基本单元划分到相同的功能组。
43.基本单元的标识,可以是用来表示该基本单元的标识符。基本单元的标识具体可以是基本单元的名称或者基本单元的功能名称,名称或功能名称可以是去掉前缀和后缀后的主要字段或者是标示基本单元的主要功能的参数,为简便起见,下文以基本单元的标识为基本单元的名称为例,进行说明。
44.从集成电路基本单元库中识别n个基本单元的名称。这个“名称”用来代表该基本单元。后续对基本单元库的简化过程,可以理解为对基本单元库中基本单元的简化,其表现形式可以为对基本单元名称的简化,其实质为对基本单元库中基本单元的简化。
45.从基本单元库中识别n个基本单元的名称后,从名称中提取可以表示该基本单元功能的功能名称,以该功能名称识别基本单元的功能。具体地,可以是比较基本单元的功能名称是否相同,再比较功能名称相同的基本单元的端口数量、名称和端口属性是否相同。
46.例如,表1基本单元库cex_0909091lib中nand2x2和nand2x3,首先获取这两个基本单元的标识,也就是这两个电路的名称,然后可以设定第一基本单元为nand2x2,第二基本单元为nand2x3,忽略功能名前缀及参数后缀,提炼第一基本单元的功能名称为nand2,第二基本单元的功能名称为nand2,然后将两个名称进行比较,第一基本单元和第二基本单元功能名相同。其次,比较第一基本单元与第二基本单元的端口。在一些实施方式中,基本单元的名称会包含模块前缀及参数后缀,如nand2x2的名字也可以为p_nand2_38_15d2的形式。
47.图5为两个基本单元对应的符号图被调用的形式,图6a为第一基本单元 nand2x2的端口属性,图6b为第二基本单元nand2x3的端口属性。第一基本单元nand2x2有3个端口,分别是输入端口a1和a2,输出端口zn;第二基本单元nand2x3有3个端口,分别是输入端口a1和a2,输出端口zn。第一基本单元与第二基本单元端口数量、名称及属性均相同。从而得出结论,第一基本单元与第二基本单元的功能相同。
48.将表1所示的基本单元库cex_0909091lib库中所有基本单元进行比较后,分为10
个功能组,每个功能组内的基本单元的功能相同、端口相同,见图7。
49.在一些实施例中,为了更好地识别基本单元的功能,识别n个基本单元的功能,将功能相同的多个基本单元划分到相同的功能组,可以包括:识别n个基本单元的布尔表达式或使用真值表,将布尔表达式或使用真值表相同的多个基本单元划分到相同的功能组。
50.请继续参考图5,识别第一基本单元与第二基本单元的功能,具体可以是比较第一基本单元与第二基本单元的表达式是否相同。表达式可以为布尔表达式或使用真值表计算两者的功能是否相同。
51.同样以表1基本单元库cex_0909091lib中nand2x2和nand2x3为例。图8a为第一基本单元nand2x2的布尔表达式zn=~(a1 & a2),图8b为第二基本单元nand2x3的布尔表达式zn=~(a1 & a2),两基本单元布尔表达式相同,从而得出结论,第一基本单元与第二基本单元的功能相同,将第一基本单元nand2x2与第二基本单元nand2x3划分到同一个功能组中。
52.此外,还可以通过比较真值表来识别两个基本单元也就是两个基本单元的功能。例如,图9a为第一基本单元nand2x2的真值表,图9b为第二基本单元nand2x3的真值表,两基本单元真值表相同,因此,第一基本单元与第二基本单元的功能相同。分别使用布尔表达式、真值表对表1所示的基本单元库cex_0909091lib中所有基本单元进行功能分组,每个功能组内的基本单元的功能相同、端口相同,分组结果见图7。
53.本技术实施例中,先识别基本单元的功能是否相同,再识别基本单元的结构是否相同,对于基本单元功能的识别相比结构的识别效率更快,准确率更高,进而,在识别结构时,可以仅识别功能相同的基本单元的结构,而无需识别所有的基本单元的结构,可以提高分组的效率,进而提高简化基本单元库的效率。
54.在一些实施例中,为了更好地识别基本单元的结构,s122中针对每个功能组,识别每个基本单元的结构,可以包括:识别每个基本单元中所包含的器件数量和器件类型是否相同;识别每个基本单元中器件的连接关系是否相同;在器件数量和所述器件类型相同且器件的连接关系相同的情况下,确定基本单元的结构相同;s123中将结构相同的基本单元合并为模板单元,可以包括:将器件数量、器件类型、器件的连接关系以及结构相同的基本单元合并为模板单元,模板单元的器件数量、器件类型和器件的连接关系与结构相同的基本单元相同。
55.其中,识别每个基本单元中器件的连接关系是否相同,可以为:识别每个基本单元中器件的拓扑结构,在基本单元中所包含的器件相同且器件拓扑结构相同的情况下,确定器件的连接关系相同;或者,识别每个基本单元对应的数据结构,在基本单元对应的数据结构相同的情况下,确定器件的连接关系相同。
56.以表1基本单元库cex_0909091lib中nand2x2、nand2x3以及nand2x1基本单元为例。图10a为第一基本单元nand2x2的电路图,图10b为第二基本单元nand2x3的电路图,图11a为第三基本单元nand2x1的电路图。其中比较图10a、图10b和图11a所示的三个基本单元
的器件数量。图10a的第一基本单元和图10b的第二基本单元均有4个mos管,分别是2个pmos管m0和m1,2个nmos管m2和m3;故图10a的第一基本单元与图10b的第二基本单元的器件数量相同。图6a的第三基本单元中包含6个mos管,分别是2个pmos管m0和m1,4个nmos管m2、m3、m4和m5;故图6a的第三基本单元与图10a的第一基本单元和图10b第二基本单元的器件数量不同。
57.其次,比较图10a和图10b的基本单元的内部连接关系。图10a中,m0的栅端接a1信号、m0源端接vdd信号、m0的漏端接zn信号,m1的栅端接a2信号、m1的源端接vdd信号、m1的漏端接zn信号,m2的栅端接a1信号、m2的漏端接zn信号、m2的源端接m3的漏端,m3的栅端接a2信号、m3的漏端接m2的源端,m3的源端接vss信号。图10b中,m0的栅端接a1信号、m0源端接vdd信号、m0的漏端接zn信号,m1的栅端接a2信号、m1的源端接vdd信号、m1的漏端接zn信号,m2的栅端接a1信号、m2的漏端接zn信号、m2的源端接m3的漏端,m3的栅端接a2信号、m3的漏端接m2的源端,m3的源端接vss信号。图10a中第一基本单元nand2x2的各晶体管的连接关系与图10b中第二基本单元nand2x3的各晶体管的连接关系相同。
58.综上所述,图10a的第一基本单元与图10b的第二基本单元的电路图结构相同。图10a的第一基本单元(或图10b的第二基本单元)和图11a的第三基本单元的电路图结构不相同。故,图10a的第一基本单元与图10b的第二基本单元可以合并为第一模板单元nand2_1,第一模板单元nand2_1的电路图如图10c所示,电路图中不再设置晶体管的参数。第三基本单元与功能组内其他所有基本单元比较后,合并为第二模板单元nand2_2。
59.在一些实施例中,识别基本单元的结构,s122中识别功能组中多个基本单元的结构,还包括:识别基本单元的电源地信号是否相同;在电源地信号不相同的情况下,将电源地信号以参数化引线映射到模板单元对应的实例上。
60.作为一个示例,如果电源地信号相同,可以保持原有电源地信号,见图10a~图10c;如果电源地信号不同,将电路图中的实例化的电源地信号转化为参数引线。
61.参见图1c和图1d,电源地信号以实例化符号图的形式存在,电源信号以符号图“丅”形式呈现,地信号以符号图
“▽”
形式呈现。在进行基本单元合并时,电路图中全局电源地信号转化为参数化引线,并将电源地信号作为参数。例如,表1所示基本单元库cex_0909091lib中基本单元invx3的电源地信号为vdd和vss,基本单元的p_invx3的电源地信号为vpps和gpps,两个单元的电路图结构如图1c图1d所示。在图1c和图1d合并成一个模板单元时,其电源地信号以参数化引线参数化引线映射到模板单元对应的实例上,以表示图1c和图1d合并的模板单元的电源地信号可以不同,具体如图12所示,图中的*power与*ground为参数化引线。
62.通过步骤s110,获取集成电路基本单元库中的基本单元;s120,将基本单元中功能相同且结构相同的单元进行合并,得到简化后的基本单元库。最终基本单元库cex_0909091lib中的基本单元合并为12个模板单元,见表2。
63.表1所示cex_0909091lib经化简后的单元库列表如表2所示。
64.表2化简后的基本单元库cex_0909091lib
本技术实施例中,通过识别每个基本单元中所包含的器件数量和器件的连接关系,来识别基本单元的结构,识别的结构更为准确。并且,在识别出器件相同后再识别连接关系,进而可以减少识别的工作量,提高识别结构的效率。
65.进一步的,为了使简化后的基本单元库中各种引用关系可以正常使用,上述实施例中在将器件数量、器件类型、器件的连接关系以及结构相同的基本单元合并为模板单元之后,该方法还可以包括:基于合并基本单元后得到的模板单元,更新上一级电路中所述基本单元对应的调用关系。
66.请参考上述实施例中的图2,由于基本单元nand2x2和基本单元nand2x3分别以实例x1和x2被上一级的单元block调用(引用),x1和x2在block的电路图中显示为符号图的形式。基本单元nand2x2与基本单元nand2x3合并为第一模板单元nand2_1后,还需要更新上一级单元block的引用关系,更新后引用关系后的电路图见图13a。
67.图2和图13a所示的block单元为更高层级模块,block电路图中调用了多个反相器、与非门等基本单元的符号图,该模块为基本单元的上级单元,想要查看被调用的基本单元的器件参数、电源地信号时,需要分别进入不同的单元电路图进行查看,不方便,不直观。
68.进一步的,为了解决上述问题,识别并获取电路图中基本单元内器件的参数,作为基本单元的器件参数,并将基本单元器件的器件参数映射到基本单元器件对应的实例上,具体地,可以将基本单元器件的器件参数映射到基本单元器件对应的实例的符号图上。为了便于理解,下面详细说明将模板单元中每个基本单元内部的器件参数映射到基本单元对应的实例的符号图上的具体过程。
69.自动识别并获取电路图中基本单元内器件的参数,作为基本单元的器件参数,将基本单元器件的器件参数映射到基本单元器件对应的实例的符号图上。例如,可以分别识别基本单元中p管和n管的w、m、l参数,并将其映射到符号图上。以反相器为例,如图14形式所示,映射完成后符号图上方显示p管参数,符号图下方显示n管参数,符号图中间显示实例
名称。实际应用中,由于同一个基本单元内部的器件参数多样,需要根据不同类型进行识别。识别图2所示的block模块中的所有实例的参数后,将各实例的器件参数映射至实例的符号图中,设置显示器件参数时,结果为图13b的形式。
70.在一个示例中,请参考,图1c所示的表1中反相器基本单元invx3的门级电路原理图,图15a为现有的反相器符号图被引用/调用的结果,图15b为映射参数后显示参数的反相器符号图被引用/调用的结果。
71.以图1c反相器基本单元invx3为例,对于只有单个p管和n管的门级电路,在识别到p管m1的参数为w=7.8u、l=0.1u,可以将其映射到符号图上为7.8/0.1;在识别到n管m0的参数为w=3.0u、l=0.1u,可以将其映射到符号图上为3.0/0.1,最终得到如图15b所示的映射后反相器基本单元invx3对应的符号图。
72.在另一个示例中,请参考,图11a所示的表1中两输入与非门基本单元nand2x1的电路原理图,图11b为现有的两输入与非门符号图被引用/调用的结果,图11c映射器件参数后显示参数的两输入与非门符号图被引用/调用的结果。
73.当同一份基本单元库中存在多个电源地信号时,由于电源地信号不同,电源地信号也会作为一种器件参数映射到基本单元对应实例的符号图上。在图1c和图1d中,电源地信号与前述的晶体管的参数本质并不相同,电源地信号实际以实例化符号图的形式存在,vdd以及.vpps信号以符号图“丅”形式呈现,gnd以及.gpps信号以符号图
“▽”
形式呈现。使用本技术的方法,在电路图中将全局电源地信号转化为参数化引线,并将电源地信号作为器件参数,显示在符号图上,这样同功能不同电源地信号的单元在基本单元库中仅需存在一个即可。
74.例如,表1所示基本单元库cex_0909091lib中invx3和p_invx3是连接不同电源地信号的inv。如图1c所示invx3作用于vdd/vss下,将全局电源信号作为参数映射到符号图上,其符号图上可显示参数7.8/0.1 vdd,3.0/0.1 vss,如图13b所示的x4形式。p_invx3作用于vpps/gpps下,将全局电源信号作为参数映射到符号图上,其符号图上可显示参数7.8/0.1 vpps,3.0/0.1 gpps,如图13b所示的x5。电源地参数与器件参数、电路名称一样,均可以选择设置是否显示。图13b中,设置显示了实例x4和x5的电源地参数,其他实例没有显示电源地参数。
75.进一步的,当需要电路图页面整洁时,以上参数可以通过设置不显示。在参数设置不显示时,还可以将参数存放在基本单元对应的实例相应的参数窗口中,例如,如图10d所示的实例x1的参数窗口。
76.本技术实施例提供的一种基本单元库简化方法,基于n个基本单元的功能和结构,将n个基本单元进行合并,得到多个模板单元;在合并基板单元时,依次将模板单元对应的实例的器件参数映射到对应的实例上;该基于多个模板单元,更新集成电路的基本单元库,得到简化后的基本单元库。
77.打印报告时,即便参数不一致,相同结构电路,也不需要作为不同单元多次显示呈现,报告页数减少;并且,将功能组中每个基本单元内部的器件参数映射到基本单元对应实例的符号图上,可以直观展现单元参数,增强电路可读性。此外,对单元库进行检查、管理时,由n个单元减少为m个单元,减少工作量,降低管理难度。
78.基于上述任一实施例提供的数字电路分析方法,本技术还提供了一种基本单元库
简化装置实施例,具体参见图16。
79.图16示出了本技术实施例提供的一种基本单元库简化装置示意图。如图所示,该基本单元库简化装置160可以包括:第一获取模块161,用于获取集成电路基本单元库中的n个基本单元,n为正整数。
80.合并模块162,用于用于基于n个基本单元的功能和结构,将功能相同且结构相同的基本单元合并为模板单元,得到至少一个模板单元。
81.更新模块163,用于基于至少一个模板单元更新所述基本单元库,得到简化后的基本单元库。
82.在一些实施例中,基本单元库简化装置160可以包括:第二获取模块,用于获取模板单元对应的器件参数。
83.第一映射模块,用于将基本单元器件的器件参数映射到基本单元器件对应的实例上。
84.在一些实施例中,合并模块162包括:划分单元,用于识别n个基本单元的功能,将功能相同的多个基本单元划分到相同的功能组。
85.识别单元,用于针对每个功能组,识别每个基本单元的结构。
86.合并单元,用于将结构相同的基本单元合并为模板单元。
87.在一些实施例中,划分单元,还用于识别n个基本单元的标识和端口数量,将标识相同且端口数量相同的多个基本单元划分到相同的功能组。
88.在一些实施例中,划分单元,还用于识别n个基本单元的布尔表达式或使用真值表,将所述布尔表达式或使用真值表相同的多个基本单元划分到相同的功能组。
89.在一些实施例中,识别单元,还用于识别每个基本单元中所包含的器件数量和器件类型是否相同。
90.识别单元,还用于识别每个基本单元中器件的连接关系是否相同。
91.识别单元,还用于在所述器件数量和所述器件类型相同且所述器件的连接关系相同的情况下,确定基本单元的结构相同。
92.合并单元,还用于将器件数量、器件类型、器件的连接关系以及结构相同的基本单元合并为模板单元,模板单元的器件数量、器件类型和器件的连接关系与结构相同的基本单元相同。
93.在一些实施例中,识别单元,还用于识别每个基本单元中器件的拓扑结构,在基本单元中所包含的器件相同且器件拓扑结构相同的情况下,确定器件的连接关系相同。
94.识别单元,还用于在识别每个基本单元对应的数据结构文本,在基本单元对应的数据结构文本相同的情况下,确定器件相同且器件的连接关系相同。
95.在一些实施例中,基本单元库简化装置160还可以包括:识别模块,用于识别每个基本单元的电源地信号是否相同。
96.第二映射模块,还用于在所述电源地信号不相同的情况下,将所述电源地信号以参数化引线映射到模板单元对应的实例上。
97.在一些实施例中,合并单元可以包括:更新子单元,用于基于合并基本单元后得到的模板单元,更新上一级电路中所述
基本单元对应的调用关系。
98.以上装置中的各个模块/单元具有实现方法实施例中各个步骤的功能,并能达到其相应的技术效果,为简洁描述,在此不再赘述。
99.以上所述,仅为本技术的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。
技术特征:1.一种基本单元库简化方法,其特征在于,包括:获取集成电路基本单元库中的n个基本单元,n为正整数;基于n个基本单元的功能和结构,将功能相同且结构相同的基本单元合并为模板单元,得到至少一个模板单元;基于所述至少一个模板单元更新基本单元库,得到简化后的基本单元库。2.根据权利要求1所述的方法,其特征在于,将功能相同且结构相同的基本单元合并为模板单元,得到至少一个模板单元,所述方法还包括:获取模板单元对应的器件参数;在合并所述模板单元时,依次将所述器件参数映射到对应的实例上。3.根据权利要求1或者2所述的方法,其特征在于,所述基于n个基本单元的功能和结构,将功能相同且结构相同的基本单元合并为模板单元,得到至少一个模板单元,包括:识别所述n个基本单元的功能,将功能相同的多个基本单元划分到相同的功能组;针对每个功能组,识别每个基本单元的结构;将结构相同的基本单元合并为模板单元。4.根据权利要求3所述的方法,其特征在于,所述识别所述n个基本单元的功能,将功能相同的多个基本单元划分到相同的功能组,包括:识别所述n个基本单元的标识和端口数量,将所述标识相同且所述端口数量相同的多个基本单元划分到相同的功能组。5.根据权利要求3所述的方法,其特征在于,所述识别所述n个基本单元的功能,将功能相同的多个基本单元划分到相同的功能组,包括:识别n个基本单元的布尔表达式或使用真值表,将所述布尔表达式或使用真值表相同的多个基本单元划分到相同的功能组。6.根据权利要求3所述的方法,其特征在于,所述针对每个功能组,识别每个基本单元的结构,包括:识别每个基本单元中所包含的器件数量和器件类型是否相同;识别每个基本单元中器件的连接关系是否相同;在所述器件数量和所述器件类型相同且所述器件的连接关系相同的情况下,确定基本单元的结构相同;所述将结构相同的基本单元合并为模板单元,包括:将器件数量、器件类型、器件的连接关系以及结构相同的基本单元合并为模板单元,所述模板单元的器件数量、器件类型和器件的连接关系与所述结构相同的基本单元相同。7.根据权利要求6所述的方法,其特征在于,所述识别每个基本单元中器件的连接关系是否相同,包括:识别每个基本单元中器件的拓扑结构,在所述基本单元中所包含的器件相同且所述器件拓扑结构相同的情况下,确定所述器件的连接关系相同;或者,识别每个基本单元对应的数据结构文本,在所述基本单元对应的数据结构文本相同的情况下,确定所述器件的连接关系相同。8.根据权利要求2或6所述的方法,其特征在于,所述方法还包括:
识别每个基本单元的电源地信号是否相同;在所述电源地信号不相同的情况下,将所述电源地信号以参数化引线映射到模板单元对应的实例上。9.根据权利要求6所述的方法,其特征在于,在将器件数量、器件类型、器件的连接关系以及结构相同的基本单元合并为模板单元之后,所述方法还包括:基于合并基本单元后得到的模板单元,更新上一级电路中所述基本单元对应的调用关系。10.根据权利要求1或2所述的方法,其特征在于,器件参数包括所述基本单元中晶体管的尺寸。11.根据权利要求10所述的方法,其特征在于,所述器件参数还包括所述基本单元中的电源地信号,所述电源地信号在合并后的模板单元中以参数化引线标示。12.一种基本单元库简化装置,其特征在于,所述装置包括:第一获取模块,用于获取集成电路基本单元库中的n个基本单元,n为正整数;合并模块,用于基于n个基本单元的功能和结构,将功能相同且结构相同的基本单元合并为模板单元,得到至少一个模板单元;更新模块,用于基于所述至少一个模板单元更新所述基本单元库,得到简化后的基本单元库。
技术总结本申请公开了一种基本单元库简化方法及装置,涉及集成电路技术领域。方法包括:获取集成电路基本单元库中的N个基本单元,N为正整数;基于N个基本单元的功能和结构,将功能相同且结构相同的基本单元合并为模板单元,得到至少一个模板单元;基于至少一个模板单元更新基本单元库,得到简化后的基本单元库。得到简化后的基本单元库。得到简化后的基本单元库。
技术研发人员:苏会静 周明月
受保护的技术使用者:北京芯愿景软件技术股份有限公司
技术研发日:2022.05.23
技术公布日:2022/7/5