基于无衬结标准单元库的衬结单元插入方法

文档序号:6597338阅读:236来源:国知局
专利名称:基于无衬结标准单元库的衬结单元插入方法
技术领域
本发明涉及半导体元器件的制造技术,尤其是指一种基于无衬结标准单元库 (tapless standard cell library)的入力
背景技术
为了克服多芯片集成系统所产生的一些系统性能提升问题,在20世纪90年代提 出了片上系统(SOC,System On Chip)的技术,从而通过以嵌入式系统为核心的手段,提高 芯片集成的系统功能以获得更高的系统性能。随着集成电路技术的不断发展,SOC设计已成为集成电路设计的发展方向。在SOC 芯片中,集成了大量的微处理器、数字信号处理器(DSP)、模/数转换器(ADC)、数/模转换 器(DAC)、模拟滤波器、存储器及射频(RF)单元等各种器件,使得芯片的设计规模远远超过 了以往的设计规模,其片内通讯及接口的复杂程度也大大提高,使其设计的难度和复杂度 都达到了前所未有的程度。现有技术中在使用数字方法进行逻辑综合实现复杂SOC设计的过程中,为了提高 设计效率,一般可使用无衬结标准单元库来实现SOC设计。在使用上述的无衬结标准单元 库设计相应器件的平面布置图(floorplan)时,由于平面布置图上一般既需要设置一个或 多个硬模块,也需要设置多个标准单元或由多个标准单元组成的单元列(cell row),且硬 模块一般均为体积较大的模块,不同类型的硬模块的高度和宽度并不一致,因此,在实际设 计过程中,一般都先在平面布置图中预先设定的位置设置所需的各个硬模块阵列(例如, 一般都将硬模块阵列设置在平面布置图中靠近边缘或边角的位置),每个硬模块阵列中包 括一个或多个硬模块;然后再在平面布置图中未设置硬模块阵列的其它位置设置各个标准 单元或单元列。由于各个硬模块之间一般都间隔一定的距离,因此在各个硬模块空隙之间 也会设置相应的标注单元。另外,由于无衬结标准单元库中的各个标准单元中均未设置相应的衬结单元,因 此,在完成标注单元的设置之后,还必须每隔固定的距离设置一列衬结单元(welltie),使 得各个标注单元在规定的距离内(例如,30μπι)均可找到可供使用的welltie,以实现该硬 模块中的衬底/衬井(substrate/well)与电源/接地(power/ground)之间的连接。然而, 随着现有技术中所需SOC规模的日益增大,芯片中所使用的各种硬模块,例如,嵌入式存储 器SRAM等的数量越来越多,种类也越来越多,而且各种硬模块的大小并不相同,各种硬模 块在芯片上的位置也将随着设计需要而发生改变,并不是固定不变的。因此,如果预先从某 一个固定点开始,仅按照固定步长(即间隔)设置welltie,则很难保证芯片中的所有标注 单元块在规定的范围内(例如,30μπι)都能找到可供使用的welltie。例如,如果按照固定 步长设置welltie,则当需要设置一列welltie的位置上恰好设置有一硬模块阵列时,系统 将不会设置相应的welltie,因此,设置于该硬模块阵列与另一相邻硬模块阵列之间的间隙 处的标注单元将无法找到可供使用的welltie。现有技术中,为了解决上述问题,一般所使用的方法是通过常用的物理实现工具自动从指定的起始点开始,按照指定的插入步长在整个芯片中进行相应的衬结插入 (welltie insertion)。在完成上述的衬结插入后,再通过人工的方式对整个芯片进行检 查。如果发现芯片中有标注单元无法找到可供使用的welltie时,则通过减小插入步长的 方式重新进行过量插入,或者针对上述检测出问题的区域单独进行welltie的逐个插入, 以使得芯片中的所有标注单元均可在相应的范围内找到可供使用的welltie。但是,由于上述的衬结插入过程中,需要人工的参与,不能实现完全的自动插入, 从而使得整个衬结插入过程无法实现完全的自动化,增加了维护成本;而且,由于上述检测 必须通过人工完成,因此在上述的检测过程也较容易出现漏检的问题,且检测的时间也比 较长;另外,如果为了使得少数几个标注单元能够找到可供使用的welltie,而减小插入步 长重新进行过量插入,则会增大芯片的面积,从而增加器件的制造成本。

发明内容
有鉴于此,本发明的主要目的在于提供一种基于无衬结标准单元库的衬结单元插 入方法,从而自动完成衬结单元的插入过程,降低系统的维护成本和制造成本。为达到上述目的,本发明中的技术方案是这样实现的一种基于无衬结标准单元库的衬结单元插入方法,该方法包括获取平面布置图中的所有硬模块的预设原点在该平面布置图中的实际位置;根据所获取的各个硬模块的预设原点在平面布置图中的实际位置,确定各个所需 插入的衬结单元的位置坐标以及窗口大小;根据所确定的各个所需插入衬结单元的位置坐标以及窗口大小,插入所需的衬结 单元;在离位于芯片最外侧的硬模块阵列的未插入衬结单元的一侧的预设距离处插入
一列衬结单元。所述获取平面布置图中的所有硬模块的预设原点在该平面布置图中的实际位置 包括获取平面布置图中所有硬模块的实际名称;根据所获取的各硬模块的实际名称,获取所述各个硬模块的预设原点在所述平面 布置图中的实际位置。所述获取平面布置图中所有硬模块的实际名称包括在电子设计自动化工具中执行预先设置的第一脚本,以自动从平面布置图中获取 所有的硬模块的实际名称。所述根据所获取的各个硬模块的预设原点在平面布置图中的实际位置,确定各个 所需插入的衬结单元的位置坐标以及窗口大小包括在电子设计自动化工具中执行预先设置的第二脚本,从而自动根据所获取的各个 硬模块的预设原点在平面布置图中的实际位置,计算与每个硬模块相对应的所需插入衬结 单元的位置坐标以及窗口大小。所述预先设置的第一脚本或第二脚本为采用TCL命令语言编写的自动化脚本。所述根据所获取的各个硬模块的预设原点在平面布置图中的实际位置,确定各个 所需插入的衬结单元的位置坐标以及窗口大包括
5
将各个硬模块的预设原点在平面布置图中的实际位置中的纵坐标加上一个预设 的偏移值,得到与各个硬模块相对应的各个所需插入衬结单元的位置的纵坐标;将各个硬模块的预设原点在平面布置图中的实际位置中的横坐标作为与各个硬 模块相对应的各个所需插入衬结单元的位置的横坐标;将所需插入的衬结单元的宽度加上一个预设的附加宽度值,从而得到所需插入衬 结单元的窗口的宽度;并将预设的长度值作为所需插入衬结单元的窗口的长度。所述预设的偏移值的取值范围为5 30 μ m ;所述预设的附加宽度值的取值范围为0 5 μ m。所述根据所确定的各个所需插入衬结单元的位置坐标以及窗口大小,插入所需的 衬结单元包括当获得所有的所需插入衬结单元的位置坐标以及窗口大小后,通过使用电子设计 自动化工具,在所获得的各个所需插入衬结单元的位置坐标上,根据窗口的大小,在相应的 窗口中进行衬结插入工艺,插入所需的衬结单元。 所述衬结插入工艺不受预先设定的插入步长的限制。所述的预设距离的取值范围为5 30 μ m。综上可知,本发明中提供了一种基于无衬结标准单元库的衬结单元插入方法。在 所述基于无衬结标准单元库的衬结单元插入方法中,由于可自动获取各个硬模块的预设原 点在平面布置图中的实际位置,并确定各个所需插入的衬结单元的位置坐标以及窗口大 小,然后再根据所确定的各个所需插入衬结单元的位置坐标以及窗口大小,插入所需的衬 结单元,因而可自动完成衬结单元的插入过程,降低系统的维护成本和制造成本。


图1为本发明中的基于无衬结标准单元库的衬结单元插入方法的流程图。图2为本发明中的基于无衬结标准单元库的衬结单元插入方法的效果图。
具体实施例方式为使本发明的目的、技术方案和优点表达得更加清楚明白,下面结合附图及具体 实施例对本发明再作进一步详细的说明。图1为本发明中的基于无衬结标准单元库的衬结单元插入方法的流程图。如图 1所示,本发明中所提供的基于无衬结标准单元库的衬结单元插入方法包括如下所述的步 骤步骤101,获取平面布置图中的所有硬模块的预设原点在该平面布置图中的实际 位置。在使用无衬结标准单元库来实现SOC设计时,各个硬模块阵列中的各个硬模块一 般均按照确定的排列方法设置在平面布置图中。例如,可预先为各个硬模块设置一个预设 原点,然后再根据各个硬模块的预设原点将各个模块按照确定的排列规则设置在平面布置 图中,其中,各个硬模块的预设原点均处于同一侧,从而使得各个被设置的模块的排列方式 比较整齐,以利于后续的衬结单元插入。其中,在本发明的具体实施例中,上述的硬模块的 预设原点可以是该硬模块在被以特定的方式放置时的左下角顶点。
6
因此,在本发明的实施例中,首先需要获取平面布置图中的所有硬模块的预设原 点在该平面布置图中实际位置。具体来说,可以通过多种获取方式来获取平面布置图中的 所有硬模块的预设原点在该平面布置图中实际位置。以下将以其中的一种获取方式为例进 行说明。该获取方式包括步骤1011,获取平面布置图中所有硬模块的实际名称(instance name)。在本步骤中,需要获取平面布置图中所有硬模块的实际名称,因此,可使用电子设 计自动化(EDA,Electronic Design Automation)工具自动从平面布置图中获取所有的硬 模块的实际名称。例如,可通过在EDA工具中执行预先设置的脚本的方式,以自动从平面布 置图中获取所有的硬模块的实际名称。其中,由于EDA工具中一般都支持TCL命令语言,因此,所述预先设置的脚本可以 是采用TCL命令语言编写的自动化脚本。步骤1012,根据所获取的各硬模块的实际名称,获取所述各个硬模块的预设原点 在平面布置图中的实际位置。具体来说,在本发明的具体实施例中,可使用EDA工具,并通过自动循环的方式, 根据上述所获取的各硬模块的实际名称,从平面布置图中获取各个硬模块的预设原点的实 际位置。例如,可先根据其中某一个硬模块的实际名称,从平面布置图中获取该硬模块的预 设原点的实际位置,然后再根据另一个硬模块的实际名称,从平面布置图中获取该硬模块 的预设原点的实际位置,依此类推,直至获取各个硬模块的预设原点的实际位置。其中,在 本发明的具体实施例中,可在上述平面布置图中设置一平面直角坐标系,从而使用该平面 直角坐标系中相应的坐标值(包括纵坐标和横坐标)来表示上述各个硬模块的预设原点的 实际位置,具体的实现方式在此不再赘述。此时,通过上述步骤1012所获取的各个硬模块 的预设原点在平面布置图中的实际位置即为各个硬模块的预设原点在上述平面直角坐标 系中的坐标值。上述的获取方法仅用于举例说明本发明的技术方案,而不是用于限定本发明的技 术方案。本领域的技术人员还可使用其它的获取方式来获取平面布置图中所有硬模块的预 设原点在该平面布置图中的实际位置,具体的获取方法在此不再赘述。步骤102,根据所获取的各个硬模块的预设原点在平面布置图中的实际位置,确定 各个所需插入的衬结单元的位置坐标以及窗口大小。具体来说,在本发明的具体实施例中,当获知各个硬模块的预设原点在平面布置 图中的实际位置后,即可确定各个所需插入的衬结单元的位置坐标以及窗口大小。例如,可 根据所获取的各个硬模块的预设原点在平面布置图中的实际位置,通过本领域中常用的公 式计算与每个硬模块相对应的所需插入衬结单元的位置坐标以及窗口大小,从而确定各个 所需插入的衬结单元的位置坐标以及窗口大小。其中,所述的窗口大小即为在插入衬结单 元时,该衬结单元可被插入的位置范围。譬如,可将各个硬模块的预设原点在平面布置图中的实际位置中的纵坐标加上一 个预设的偏移值,从而得到与各个硬模块相对应的各个所需插入衬结单元的位置的纵坐 标;并将各个硬模块的预设原点在平面布置图中的实际位置中的横坐标作为与各个硬模块 相对应的各个所需插入衬结单元的位置的横坐标。其中,在本发明的实施例中,所述预设的 偏移值的取值范围可以是5 30 μ m。
而所需插入衬结单元的窗口大小则可根据实际应用情况进行设定,例如,可将所 需插入的衬结单元的宽度加上一个预设的附加宽度值,从而得到所需插入衬结单元的窗口 的宽度,其中,该预设的附加宽度值的取值范围可以是0 5μπι;另外,可将预设的长度值 作为所需插入衬结单元的窗口的长度,其中,该预设的长度值可根据实际情况预先进行设置。另外,在本发明的具体实施例中,可通过在EDA工具中执行预先设置的脚本的方 式,从而自动根据所获取的各个硬模块在平面布置图中实际的左下角原点位置,计算每个 硬模块所在的位置需要插入衬结单元的位置坐标以及窗口大小。其中,由于EDA工具中一 般都支持TCL命令语言,因此,所述预先设置的脚本可以是采用TCL命令语言编写的自动化 脚本。步骤103,根据所确定的各个所需插入衬结单元的位置坐标以及窗口大小,插入所
需的衬结单元。具体来说,在本发明的具体实施例中,当获得了所有的所需插入衬结单元的位置 坐标以及窗口大小后,可通过使用EDA工具,在所获得的各个所需插入衬结单元的位置坐 标上,根据相应的窗口的大小,在相应的窗口中进行衬结插入工艺,插入所需的衬结单元。 进一步的,上述所进行的衬结插入工艺可以不受预先设定的插入步长的限制。步骤104,在离位于芯片最外侧的硬模块阵列的未插入衬结单元的一侧的预设距 离处插入一列衬结单元。由于在上述步骤101 103中,均是在每个硬模块或硬模块阵列的一侧(例如,左 侧)插入所需的衬结单元,因此,对于位于芯片中最外侧的硬模块阵列,其未插入衬结单元 的一侧(例如,如上述左侧相对应的右侧)不再有其它的硬模块阵列,因此如果不在该硬 模块阵列的未插入衬结单元的一侧插入一列衬结单元,则有可能会使得位于该硬模块阵列 未插入衬结单元的一侧的某些标注单元无法在规定的范围内找到可供使用的衬结单元。因 此,在本步骤中,需要在离位于芯片最外侧的硬模块阵列的未插入衬结单元的一侧的预设 距离处再插入一列衬结单元,以确保所有的标注单元均能在规定的范围内找到可供使用的 衬结单元,从而防止遗漏的发生。其中,所述的预设距离的取值范围可以是5 30μπι。另外,在本发明的实施例中,在平面布置图中未设置硬模块阵列的区域,则还可使 用本领域中常用的衬结单元插入方法进行相应的衬结插入。例如,每隔固定步长设置一列 衬结单元,从而使得各个标注单元在规定的距离内均可找到可供使用的welltie。具体的设 置方法在此不再赘述。图2为本发明中的基于无衬结标准单元库的衬结单元插入方法的效果图。如图2 所示,在使用本发明实施例中所提供的基于无衬结标准单元库的衬结单元插入方法后,芯 片中所有的硬模块之间的均设置有相应的welltie,而不会发生遗漏,从而使得在进行设计 规则检查(DRC,Design Rule Check)时,在每一段确定步长的范围内,每一个无衬结的标 准单元的衬底/衬井(substrate/well)均可通过邻近的welltie与电源/接地(power/ ground)连接,从而可有效地避免R锁(latch up)现象的出现。综上可知,在本发明所提供的上述基于无衬结标准单元库的衬结单元插入方法 中,由于可自动获取各个硬模块的预设原点在平面布置图中的实际位置,并确定各个所需 插入的衬结单元的位置坐标以及窗口大小,然后再根据所确定的各个所需插入衬结单元的位置坐标以及窗口大小,插入所需的衬结单元,因而可以使得整个衬结插入过程实现完全 的自动化,大大减少了后段设计工程师进行人工检查的时间,降低了系统的维护成本;而 且,由于上述的衬结单元的插入过程可自动完成,不需要人工的介入,因此大大降低出现漏 检的可能性,缩短了检测的时间;另外,在使用上述方法后,可以避免为了使得少数几个标 注单元能够找到可供使用的welltie,而减小插入步长重新进行过量插入,从而降低制造成 本。 以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在 本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护 范围之内。
权利要求
1.一种基于无衬结标准单元库的衬结单元插入方法,该方法包括 获取平面布置图中的所有硬模块的预设原点在该平面布置图中的实际位置;根据所获取的各个硬模块的预设原点在平面布置图中的实际位置,确定各个所需插入 的衬结单元的位置坐标以及窗口大小;根据所确定的各个所需插入衬结单元的位置坐标以及窗口大小,插入所需的衬结单元;在离位于芯片最外侧的硬模块阵列的未插入衬结单元的一侧的预设距离处插入一列衬结单元。
2.根据权利要求1所述的方法,其特征在于,所述获取平面布置图中的所有硬模块的 预设原点在该平面布置图中的实际位置包括获取平面布置图中所有硬模块的实际名称;根据所获取的各硬模块的实际名称,获取所述各个硬模块的预设原点在所述平面布置 图中的实际位置。
3.根据权利要求2所述的方法,其特征在于,所述获取平面布置图中所有硬模块的实 际名称包括在电子设计自动化工具中执行预先设置的第一脚本,以自动从平面布置图中获取所有 的硬模块的实际名称。
4.根据权利要求1所述的方法,其特征在于,所述根据所获取的各个硬模块的预设原 点在平面布置图中的实际位置,确定各个所需插入的衬结单元的位置坐标以及窗口大小包 括在电子设计自动化工具中执行预先设置的第二脚本,从而自动根据所获取的各个硬模 块的预设原点在平面布置图中的实际位置,计算与每个硬模块相对应的所需插入衬结单元 的位置坐标以及窗口大小。
5.根据权利要求3或4所述的方法,其特征在于所述预先设置的第一脚本或第二脚本为采用TCL命令语言编写的自动化脚本。
6.根据权利要求1所述的方法,其特征在于,所述根据所获取的各个硬模块的预设原 点在平面布置图中的实际位置,确定各个所需插入的衬结单元的位置坐标以及窗口大包 括将各个硬模块的预设原点在平面布置图中的实际位置中的纵坐标加上一个预设的偏 移值,得到与各个硬模块相对应的各个所需插入衬结单元的位置的纵坐标;将各个硬模块的预设原点在平面布置图中的实际位置中的横坐标作为与各个硬模块 相对应的各个所需插入衬结单元的位置的横坐标;将所需插入的衬结单元的宽度加上一个预设的附加宽度值,从而得到所需插入衬结单 元的窗口的宽度;并将预设的长度值作为所需插入衬结单元的窗口的长度。
7.根据权利要求6所述的方法,其特征在于, 所述预设的偏移值的取值范围为5 30 μ m ; 所述预设的附加宽度值的取值范围为0 5 μ m。
8.根据权利要求1所述的方法,其特征在于,所述根据所确定的各个所需插入衬结单 元的位置坐标以及窗口大小,插入所需的衬结单元包括当获得所有的所需插入衬结单元的位置坐标以及窗口大小后,通过使用电子设计自动 化工具,在所获得的各个所需插入衬结单元的位置坐标上,根据窗口的大小,在相应的窗口 中进行衬结插入工艺,插入所需的衬结单元。
9.根据权利要求8所述的方法,其特征在于所述衬结插入工艺不受预先设定的插入步长的限制。
10.根据权利要求1所述的方法,其特征在于, 所述的预设距离的取值范围为5 30 μ m。
全文摘要
本发明中公开了一种基于无衬结标准单元库的衬结单元插入方法,该方法包括获取平面布置图中的所有硬模块的预设原点在该平面布置图中的实际位置;根据所获取的各个硬模块的预设原点在平面布置图中的实际位置,确定各个所需插入的衬结单元的位置坐标以及窗口大小;根据所确定的各个所需插入衬结单元的位置坐标以及窗口大小,插入所需的衬结单元;在离位于芯片最外侧的硬模块阵列的未插入衬结单元的一侧的预设距离处插入一列衬结单元。通过使用上述的衬结单元插入方法,可自动完成衬结单元的插入过程,降低系统的维护成本和制造成本。
文档编号G06F17/50GK102117351SQ20101002252
公开日2011年7月6日 申请日期2010年1月4日 优先权日2010年1月4日
发明者丁鸿钧, 刘磊, 夏克国 申请人:中芯国际集成电路制造(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1