本文作者:kaifamei

芯片排版方法及装置、计算机可读存储介质、终端设备与流程

更新时间:2025-01-11 02:54:20 0条评论

芯片排版方法及装置、计算机可读存储介质、终端设备与流程



1.本技术涉及半导体技术领域,尤其涉及一种芯片排版方法及装置、计算机可读存储介质、终端设备。


背景技术:



2.在半导体芯片制造过程中需要对芯片排版(chip placement),也可以称为布局规划(floor plan)。芯片排版的主要目的是提高晶圆的面积利用率。目前主要采用人工排版的方式进行芯片排版。
3.但是,现有的芯片排版方式依赖人工经验,排版效率非常低。此外,采用人工方式进行芯片排版时,由于受到人工排版次数和排版方式的限制很难在多次排版中到较好的排版方式,因此,通常晶圆的面积利用率也较低。


技术实现要素:



4.本技术实施例提供一种芯片排版方法及装置、计算机可读存储介质、终端设备,能够提升芯片排版时的排版效率以及提高晶圆的面积利用率。
5.为解决上述技术问题,第一方面,本技术实施例提供一种芯片排版方法,芯片排版方法包括: 获取晶圆中用于排版的排版区域,以及多个待布局芯片的尺寸;改变所述多个待布局芯片的摆放顺序,基于所述多个待布局芯片的尺寸在所述排版区域中对所述多个待布局芯片进行多次布局,获得多个布局结果,每一布局结果包括多个待布局芯片在所述排版区域中的摆放位置;获取每一个布局结果所对应的排版区域面积利用率,并基于所述面积利用率确定最终布局结果,以获得所述待布局芯片在所述排版区域中的最终摆放位置。
6.可选的,针对一次在所述排版区域中对所述多个待布局芯片进行布局的步骤包括:在排版区域中预设用于移动待布局芯片的第一方向和第二方向;基于每一个待布局芯片的尺寸,通过对该待布局芯片移动第一可更新距离和第二可更新距离并确定该待布局芯片的摆放位置,以确定所述多个待布局芯片的布局结果;其中,所述第一可更新距离为待布局芯片在所述排版区域中沿第一方向的可更新距离;第二可更新距离为待布局芯片在所述排版区域中沿第二方向的可更新距离,所述第一方向和所述第二方向为在所述排版区域内所述待布局芯片的位置相对于初始位置的可更新方向。
7.可选的,所述基于每一个待布局芯片的尺寸,通过对待布局芯片移动第一可更新距离和第二可更新距离并确定该待布局芯片的摆放位置的步骤,包括:对于每个选取的待布局芯片,根据所述待布局芯片的尺寸确定所述待布局芯片在所述排版区域内的初始位置,从所述初始位置开始,按照步长计算多个第一可更新距离,在每个第一可更新距离对应的位置处计算所述第二可更新距离,并在所述第二可更新距离的最大值对应的位置处沿所述第二方向更新获得所述待布局芯片的最终位置,获得一次布局结果;其中,更新距离为所述第二可更新距离的最大值。
8.可选的,所述芯片排版方法还包括:获取所述一次布局结果的面积利用率;若所述
面积利用率未达到预设门限,则改变所述多个待布局芯片的摆放顺序,继续执行所述针对一次在所述排版区域中对所述多个待布局芯片进行布局的步骤,直至存在布局结果的面积利用率达到所述预设门限。
9.可选的,若所述第二可更新距离的最大值所在的第一更新位置的数量有多个,则选取距离所述初始位置最远的第二更新位置,并在该第二更新位置处沿所述第二方向更新所述待布局芯片的摆放位置。
10.可选的,所述在该第二更新位置处沿所述第二方向更新所述待布局芯片的摆放位置,包括:判断所述第二更新位置与第三更新位置沿所述第一方向的距离,若该距离大于或等于所述待布局芯片沿所述第一方向的宽度,则在所述第二更新位置处沿所述第二方向更新所述待布局芯片的摆放位置;其中,所述第三更新位置为多个第一更新位置中距离所述初始位置最近的更新位置。
11.可选的,所述改变所述多个待布局芯片的摆放顺序,基于所述多个待布局芯片的尺寸在所述排版区域中对所述多个待布局芯片进行多次布局的步骤,包括:多次改变所述多个待布局芯片的摆放顺序,并按照多个改变后的摆放顺序继续执行所述针对一次在所述排版区域中对所述多个待布局芯片进行布局的步骤,获得所述多次布局结果。
12.可选的,所述获取每一个布局结果所对应的排版区域面积利用率,并基于所述面积利用率确定最终布局结果的步骤,包括:计算各个待布局芯片按照每一个布局结果中的摆放位置进行排版时所占用的面积,以及所述面积与所述排版区域的面积的比值,以作为面积利用率;选取最大的面积利用率对应的布局结果作为所述最终布局结果。
13.可选的,若所述初始位置为所述排版区域的右上角,则所述第一方向和所述第二方向中一个方向为左,另一个方向为下;若所述初始位置为所述排版区域的右下角,则所述第一方向和所述第二方向中一个方向为左,另一个方向为上;若所述初始位置为所述排版区域的左上角,则所述第一方向和所述第二方向中一个方向为右,另一个方向为下;若所述初始位置为所述排版区域的左下角,则所述第一方向和所述第二方向中一个方向为右,另一个方向为上。
14.可选的,所述待布局芯片的位置为所述待布局芯片的至少一个顶点在所述排版区域内的位置。
15.可选的,所述排版区域四边形,所述芯片的形状为四边形。
16.第二方面,本技术还公开一种芯片排版装置,芯片排版装置包括:获取模块,用于获取晶圆中用于排版的排版区域,以及多个待布局芯片的尺寸;布局模块,用于改变所述多个待布局芯片的摆放顺序,基于所述多个待布局芯片的尺寸在所述排版区域中对所述多个待布局芯片进行多次布局,获得多个布局结果,每一布局结果包括多个待布局芯片在所述排版区域中的摆放位置;布局结果确定模块,用于获取每一个布局结果所对应的排版区域面积利用率,并基于所述面积利用率确定最终布局结果,以获得所述待布局芯片在所述排版区域中的最终摆放位置。
17.第三方面,本技术实施例还公开了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行第一方面所述方法的步骤。
18.第四方面,本技术实施例还公开了一种终端设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行
第一方面所述方法的步骤。
19.与现有技术相比,本技术实施例的技术方案具有以下有益效果:本技术技术方案中,在晶圆中的排版区域内对待布局芯片进行布局时,改变多个待布局芯片的摆放顺序,并按照摆放顺序基于多个待布局芯片的尺寸在排版区域中对多个待布局芯片进行多次布局,并在多次布局获得的布局结果中选取面积利用率最高的布局结果作为最终布局结果,从而获得待布局芯片在排版区域中的最终摆放位置。本技术通过改变摆放顺序,并按照不同的摆放顺序对待布局芯片进行布局获得不同的布局结果,而不同布局结果中芯片的摆放位置不同,使得不同布局结果对应的排版区域面积利用率不同,从而能够从中选取面积利用率最大的布局结果,获得对晶圆面积利用率最高的芯片摆放位置,从而大大提升排版效率,节省人力成本;此外还能够提升芯片排版时晶圆的面积利用率;进而避免晶圆材料的浪费,降低生产成本。
20.进一步地,对于每个选取的待布局芯片,根据待布局芯片的尺寸确定待布局芯片在排版区域内的初始位置,从初始位置开始,按照步长计算多个第一可更新距离,在每个第一可更新距离对应的位置处计算第二可更新距离,并在第二可更新距离的最大值对应的位置处沿第二方向更新获得待布局芯片的最终位置,获得一次布局结果。本技术中通过在第一方向上计算多个第一可更新距离,在每一可更新距离对应的位置计算一个第二可更新距离,并从中选取第二可更新距离的最大值对待布局芯片进行摆放,以使得各个待布局芯片能够充分地利用排版区域内的面积,进一步提升芯片排版时晶圆的面积利用率。
附图说明
21.图1是本技术实施例提供的一种芯片排版方法的流程图;图2是本技术实施例提供的一种芯片排版布局的示意图;图3是本技术实施例提供的另一种芯片排版布局的示意图;图4是本技术实施例提供的一种具体应用场景的示意图;图5是本技术实施例提供的一种芯片排版装置的结构示意图。
具体实施方式
22.如背景技术中所述,现有的芯片排版方式依赖人工经验,排版效率非常低。此外,采用人工方式进行芯片排版时,晶圆的面积利用率也较低。
23.本技术通过改变摆放顺序,并按照不同的摆放顺序对待布局芯片进行布局获得不同的布局结果,而不同布局结果中芯片的摆放位置不同,使得不同布局结果对应的排版区域面积利用率不同,从而能够从中选取面积利用率最大的布局结果,获得对晶圆面积利用率最高的芯片摆放位置,从而大大提升排版效率,节省人力成本;此外还能够提升芯片排版时晶圆的面积利用率;进而避免晶圆材料的浪费,降低生产成本。
24.进一步地,本技术中通过在第一方向上计算多个第一可更新距离,在每一可更新距离对应的位置计算一个第二可更新距离,并从中选取第二可更新距离的最大值对待布局芯片进行摆放,以使得各个待布局芯片能够充分地利用排版区域内的面积,进一步提升芯片排版时晶圆的面积利用率。
25.为使本技术的上述目的、特征和优点能够更为明显易懂,下面结合附图对本技术
的具体实施例做详细的说明。
26.图1是本技术实施例一种芯片排版方法的流程图。
27.本技术实施例中的芯片排版方法可以用于终端设备中,也即可以由终端设备执行所述方法的各个步骤,也可以由终端设备中的芯片或芯片模组执行所述方法的各个步骤。终端设备具体可以是手机、计算机、平板电脑等。
28.具体地,芯片排版方法可以包括以下步骤:步骤101:获取晶圆中用于排版的排版区域,以及多个待布局芯片的尺寸;步骤102:改变所述多个待布局芯片的摆放顺序,基于所述多个待布局芯片的尺寸在所述排版区域中对所述多个待布局芯片进行多次布局,获得多个布局结果,每一布局结果包括多个待布局芯片在所述排版区域中的摆放位置;步骤103:获取每一个布局结果所对应的排版区域面积利用率,并基于所述面积利用率确定最终布局结果,以获得所述待布局芯片在所述排版区域中的最终摆放位置。
29.需要指出的是,本实施例中各个步骤的序号并不代表对各个步骤的执行顺序的限定。
30.可以理解的是,在具体实施中,芯片排版方法可以采用软件程序的方式实现,该软件程序运行于芯片或芯片模组内部集成的处理器中。该方法也可以采用软件结合硬件的方式实现,本技术不作限制。
31.在步骤101的具体实施中,排版区域的大小以及待布局芯片的尺寸可以是预先设置好的。排版区域可以是晶圆中用于布局芯片的区域。排版区域可以是规则的形状,也可以是不规则形状。相应地,待布局芯片的形状也可以是规则形状,或不规则形状。例如,规则形状可以是三角形、四边形、五边形、圆形等。
32.下面实施例均以排版区域和待布局芯片的形状为四边形为例进行说明,但不代表对本技术的限制。
33.在步骤102的具体实施中,改变多个待布局芯片的摆放顺序,并进行多次布局。也就是说,每次对待布局芯片进行布局时采用的摆放顺序是不同的。其中,芯片的摆放顺序表示对芯片布局时采用的顺序。采用不同摆放顺序布局芯片获得的布局结果是不同的,也即各个待布局芯片在排版区域内的摆放位置可以不同,那么布局结果对应的排版区域面积利用率也是不同的。
34.在一种具体实施方式中,在按照每种摆放顺序对多个待布局芯片进行布局时,可以借鉴装箱算法(也可以称为左下角(bottom-left)算法)的布局思路。将装箱算法应用在芯片布局中,可以将每一个待布局芯片初始放在排版区域的右上角,先计算出待布局芯片能够往下移动的最大距离,把待布局芯片往下移动最大距离后,检查待布局芯片在当前位置是否能够左移。如果能,则计算待布局芯片能够往左移动的最大距离,把待布局芯片向左移动最大距离。再检查待布局芯片在当前位置是否还能够下移,如果能,则继续往下移动;如此往复,直到待布局芯片无法再继续下移和左移,该待布局芯片摆放结束;按照这种方法摆放完所有待布局芯片,则完成一次布局。
35.故而在步骤103的具体实施中,计算获得各个布局结果所对应的排版区域面积利用率,并基于面积利用率确定最终布局结果。按照最终布局结果中最终摆放位置来布局各个待布局芯片,能够实现对晶圆面积的最大利用率。
36.以待布局芯片包括芯片1-芯片5为例。摆放顺序1为:芯片1、芯片2、芯片3、芯片4和芯片5;摆放顺序2为:芯片1、芯片4、芯片2、芯片3和芯片5。按照摆放顺序1布局上述芯片的布局结果1如图2所示,按照摆放顺序2布局上述芯片的布局结果2如图3所示。
37.结合图2和图3,按照摆放顺序1对芯片进行布局时,在晶圆的排版区域100内,芯片1、芯片2、芯片3和芯片4的摆放位置如图2所示。其中,芯片4的摆放位置在芯片3的上面。那么对于芯片5,已无法放在目前的排版区域的右上角,也就无法完成芯片5的摆放。排版区域内仅能摆放芯片1-芯片4这四个芯片。按照摆放顺序2对芯片进行布局时,排版区域内能够摆放芯片1-芯片5这五个芯片。布局结果2对应的排版区域面积利用率大于布局结果1对应的排版区域面积利用率。故,选取布局结果2为最终布局结果。
38.本技术技术方案通过对各个待布局芯片的摆放位置进行优化,来实现在相同的排版区域内对更多数量的待布局芯片进行布局,从而达到提升芯片排版时晶圆的面积利用率的效果。
39.具体实施中,可以多次改变所述多个待布局芯片的摆放顺序,并按照多个改变后的摆放顺序继续执行针对一次在所述排版区域中对多个待布局芯片进行布局的步骤,获得多次布局结果。
40.在另一种具体实施方式中,可以按照下述方式对多个待布局芯片进行一次布局:基于每一个待布局芯片的尺寸,通过对该待布局芯片移动第一可更新距离和第二可更新距离并确定该待布局芯片的摆放位置,以确定多个待布局芯片的布局结果;其中,第一可更新距离为待布局芯片在排版区域中沿第一方向的可更新距离;第二可更新距离为待布局芯片在排版区域中沿第二方向的可更新距离,第一方向和第二方向为在排版区域内待布局芯片的位置相对于初始位置的可更新方向。
41.具体实施中,若初始位置为排版区域的右上角,则第一方向和第二方向中一个方向为左,另一个方向为下;若初始位置为排版区域的右下角,则第一方向和第二方向中一个方向为左,另一个方向为上;若初始位置为排版区域的左上角,则第一方向和第二方向中一个方向为右,另一个方向为下;若初始位置为排版区域的左下角,则第一方向和第二方向中一个方向为右,另一个方向为上。
42.具体实施中,待布局芯片在排版区域内的位置为待布局芯片的至少一个顶点在排版区域内的位置。也就是说,在芯片的尺寸已知的情况下,通过芯片的顶点的位置来表征芯片的位置。
43.进一步地,对于每个选取的待布局芯片,根据待布局芯片的尺寸确定待布局芯片在排版区域内的初始位置,从初始位置开始,按照步长计算多个第一可更新距离,在每个第一可更新距离对应的位置处计算第二可更新距离,并在第二可更新距离的最大值对应的位置处沿第二方向更新获得待布局芯片的最终位置,获得一次布局结果;其中,更新距离为第二可更新距离的最大值。
44.结合图4,以待布局芯片为芯片4对一次布局的步骤进行详细说明。本实施例中,初始位置为排版区域的右上角,第一方向为左,第二方向为下。
45.以芯片的左下顶点位置表示芯片的位置。芯片4的初始位置为位置p1。按照步长向左移动芯片4,得到多个位置p2,

,pn,每一位置处对应一个第一可更新距离。在每一位置处计算芯片4向下移动的第二可更新距离。如图4所示,在位置p2,芯片4的第二可更新距离
为d1;在位置pn,芯片4的第二可更新距离为d2。经过比较,d2为所有第二可更新距离中的最大值,因此,将芯片4向左移动至位置pn后再向下移动距离d2,得到芯片4的最终摆放位置为位置f。
46.进一步地,在将芯片4移动到位置f后,可以继续对芯片5进行布局,从而得到如图3所示的布局结果。
47.采用本技术实施例的芯片布局方式,无需更改芯片的摆放顺序也能实现芯片的布局结果的优化。也就是说,相较于现有技术中的装箱算法,本技术在相同的排版区域内能够实现对更多数量的芯片的布局,从而增大晶圆的面积利用率。进一步而言,本技术实施例的芯片布局方式结合改变摆放顺序多次布局,能够更快地获得满足要求的布局结果,以及获得更优的布局结果,进一步提升晶圆的面积利用率。
48.在一种结合方式中,获取一次布局结果的面积利用率;若面积利用率未达到预设门限,则改变多个待布局芯片的摆放顺序,继续执行针对一次在排版区域中对多个待布局芯片进行布局的步骤,直至存在布局结果的面积利用率达到预设门限。
49.具体地,面积利用率可以是排版区域中被待布局芯片占用的面积与排版区域的面积的比值。面积利用率可以是衡量布局结果优劣的指标,面积利用率越高,表示布局结果越优。
50.本实施例中,可以预先设置芯片排版的要求,也即面积利用率的预设门限。每完成一次布局,可以对该次布局的布局结果进行验证,也即判断布局结果的面积利用率是否达到预设门限;如果该次布局结果的面积利用率未达到预设门限,则改变多个待布局芯片的摆放顺序,继续执行针对一次在排版区域中对多个待布局芯片进行布局的步骤。如果该次布局结果的面积利用率达到预设门限,则停止上述布局的步骤,将该布局结果作为最终布局结果。
51.需要说明的是,预设门限的数值可以是85%、90%等任意可实施的数值,并可以根据实际的应用场景进行适应性设置,本技术对此不作限制。
52.在另一种结合方式中,可以多次改变多个待布局芯片的摆放顺序,并按照多个改变后的摆放顺序继续执行针对一次在所述排版区域中对多个待布局芯片进行布局的步骤,获得多次布局结果。
53.本实施例中,可以预先设置芯片排版的布局次数。首先获得数量为该布局次数的待布局芯片的摆放顺序,然后依次进行布局,获得多次布局结果。在多次布局结果中按照面积利用率选择最终布局结果。
54.在一次布局的步骤中,若第二可更新距离的最大值所在的第一更新位置的数量有多个,则选取距离初始位置最远的第二更新位置,并在该第二更新位置处沿第二方向更新待布局芯片的摆放位置。
55.其中,本实施例所称距离初始位置最远可以是指在第一方向上距离初始位置最远。
56.继续参照图4,在位置pn和位置pm处,芯片4的第二可更新距离均为最大值d2。相较于位置pm,位置pn距离初始位置p1更远,则选取位置pn为第二更新位置。故将芯片4向左移动至位置pn后再向下移动距离d2,得到芯片4的最终摆放位置为位置f。
57.本技术实施例通过上述选取第二更新位置的方式,能够保证芯片排版时,芯片能
够充分地填充排版区域,避免排版区域内面积的浪费。
58.进一步地,在该第二更新位置处沿第二方向更新待布局芯片的摆放位置时,判断第二更新位置与第三更新位置沿第一方向的距离,若该距离大于或等于待布局芯片沿第一方向的宽度,则在第二更新位置处沿第二方向更新待布局芯片的摆放位置;其中,第三更新位置为多个第一更新位置中距离初始位置最近的更新位置。
59.本身实施例中,通过比较第二更新位置与第三更新位置沿第一方向的距离与待布局芯片沿第一方向的宽度,可以得到第二可更新距离最大值的宽度与待布局芯片的宽度关系,也即获得在第二更新位置是否能够移动待布局芯片,从而保证芯片的正确摆放。
60.继续参照图4,在位置pn和位置pm处,芯片4的第二可更新距离均为最大值d2。位置pm为距离初始位置最近的第三更新位置,位置pn为第二更新位置。位置pm与位置pn的宽度大于芯片4的宽度,因此可以对芯片4在位置pn向下移动距离d2,得到芯片4的最终摆放位置为位置f。
61.相反,若位置pm与位置pn的宽度小于芯片4的宽度,则表示在位置pn处无法向下移动芯片4,此时无法完成对芯片4的摆放。
62.申请人将采用本技术方案得到的最终布局结果与采用传统bottom-left算法得到的布局结果进行对比,对于同一组待布局芯片,本技术中最终布局结果对应的面积利用率比传统布局结果对应的面积利用率高出2-7个百分点。
63.与现有技术中以水平移动为主的芯片排版方式相比,本发明实施例在芯片排版的时候结合待布局芯片的尺寸和移动方向进行布局,从布局的效率以及晶圆面积利用率上看较现有技术提高了很多。本技术的芯片排版方式打破了现有技术中芯片排版的思维困境,而且新的芯片排版方式不是可以通过在现有技术上进行多次实验就可以得到的简单变化。
64.请参照图5,本技术实施例还公开了一种芯片排版装置50。芯片排版装置50可以包括:获取模块501,用于获取晶圆中用于排版的排版区域,以及多个待布局芯片的尺寸;布局模块502,用于改变多个待布局芯片的摆放顺序,基于多个待布局芯片的尺寸在排版区域中对多个待布局芯片进行多次布局,获得多个布局结果,每一布局结果包括多个待布局芯片在排版区域中的摆放位置;布局结果确定模块503,用于获取每一个布局结果所对应的排版区域面积利用率,并基于面积利用率确定最终布局结果,以获得待布局芯片在排版区域中的最终摆放位置。
65.在一个非限制性的实施例中,布局模块502包括:方向设定单元,用于在排版区域中预设用于移动待布局芯片的第一方向和第二方向;布局单元,用于基于每一个待布局芯片的尺寸,通过对该待布局芯片移动第一可更新距离和第二可更新距离并确定该待布局芯片的摆放位置,以确定所述多个待布局芯片的布局结果。
66.进一步地,布局单元对于每个选取的待布局芯片,根据待布局芯片的尺寸确定待布局芯片在排版区域内的初始位置,从初始位置开始,按照步长计算多个第一可更新距离,在每个第一可更新距离对应的位置处计算第二可更新距离,并在第二可更新距离的最大值对应的位置处沿第二方向更新获得待布局芯片的最终位置,获得一次布局结果。
67.进一步地,若第二可更新距离的最大值所在的第一更新位置的数量有多个,则布
局单元选取距离初始位置最远的第二更新位置,并在该第二更新位置处沿第二方向更新待布局芯片的摆放位置。
68.进一步地,布局单元判断第二更新位置与第三更新位置沿第一方向的距离,若该距离大于或等于待布局芯片沿第一方向的宽度,则在第二更新位置处沿第二方向更新待布局芯片的摆放位置。
69.进一步地,布局模块502还包括:计算单元,用于获取一次布局结果的面积利用率;循环单元,用于在面积利用率未达到预设门限时,改变多个待布局芯片的摆放顺序,继续执行针对一次在排版区域中对多个待布局芯片进行布局的步骤,直至存在布局结果的面积利用率达到预设门限。
70.关于所述芯片排版装置50的工作原理、工作方式的更多内容,可以参照图1至图4及其对应实施例的相关描述,这里不再赘述。
71.在具体实施中,上述芯片排版装置可以对应于终端设备中具有芯片排版功能的芯片,例如soc(system-on-a-chip,片上系统)、基带芯片等;或者对应于终端设备中包括具有芯片排版功能的芯片模组;或者对应于具有数据处理功能芯片的芯片模组,或者对应于终端设备。
72.关于上述实施例中描述的各个装置、产品包含的各个模块/单元,其可以是软件模块/单元,也可以是硬件模块/单元,或者也可以部分是软件模块/单元,部分是硬件模块/单元。例如,对于应用于或集成于芯片的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于芯片模组的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于芯片模组的同一组件(例如芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片模组内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于终端的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于终端内同一组件(例如,芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于终端内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现。
73.本技术实施例还公开了一种存储介质,所述存储介质为计算机可读存储介质,其上存储有计算机程序,所述计算机程序运行时可以执行前述方法的步骤。所述存储介质可以包括rom、ram、磁盘或光盘等。所述存储介质还可以包括非挥发性存储器(non-volatile)或者非瞬态(non-transitory)存储器等。
74.本技术实施例还公开了一种终端设备,所述终端设备可以包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序。所述处理器运行所述计算机程序时可以执行前述方法的步骤。所述终端设备包括但不限于手机、计算机、平板电脑等终端设备。
75.应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。
另外,本文中字符“/“,表示前后关联对象是一种“或”的关系。
76.本技术实施例中出现的“多个”是指两个或两个以上。
77.本技术实施例中出现的第一、第二等描述,仅作示意与区分描述对象之用,没有次序之分,也不表示本技术实施例中对设备个数的特别限定,不能构成对本技术实施例的任何限制。
78.本技术实施例中出现的“连接”是指直接连接或者间接连接等各种连接方式,以实现设备间的通信,本技术实施例对此不做任何限定。
79.应理解,本技术实施例中,所述处理器可以为中央处理单元(central processing unit,简称cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现成可编程门阵列(field programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
80.还应理解,本技术实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,简称rom)、可编程只读存储器(programmable rom,简称prom)、可擦除可编程只读存储器(erasable prom,简称eprom)、电可擦除可编程只读存储器(electrically eprom,简称eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,简称ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,简称ram)可用,例如静态随机存取存储器(static ram,简称sram)、动态随机存取存储器(dram)、同步动态随机存取存储器(synchronous dram,简称sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,简称ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,简称esdram)、同步连接动态随机存取存储器(synchlink dram,简称sldram)和直接内存总线随机存取存储器(direct rambus ram,简称dr ram)。
81.上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。
82.应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
83.在本技术所提供的几个实施例中,应该理解到,所揭露的方法、装置和系统,可以
通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的;例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式;例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
84.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
85.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
86.上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的部分步骤。
87.虽然本技术披露如上,但本技术并非限定于此。任何本领域技术人员,在不脱离本技术的精神和范围内,均可作各种更动与修改,因此本技术的保护范围应当以权利要求所限定的范围为准。

技术特征:


1.一种芯片排版方法,其特征在于,包括:获取晶圆中用于排版的排版区域,以及多个待布局芯片的尺寸;改变所述多个待布局芯片的摆放顺序,基于所述多个待布局芯片的尺寸在所述排版区域中对所述多个待布局芯片进行多次布局,获得多个布局结果,每一布局结果包括多个待布局芯片在所述排版区域中的摆放位置;获取每一个布局结果所对应的排版区域面积利用率,并基于所述面积利用率确定最终布局结果,以获得所述待布局芯片在所述排版区域中的最终摆放位置。2.根据权利要求1所述的芯片排版方法,其特征在于,针对一次在所述排版区域中对所述多个待布局芯片进行布局的步骤包括:在排版区域中预设用于移动待布局芯片的第一方向和第二方向;基于每一个待布局芯片的尺寸,通过对该待布局芯片移动第一可更新距离和第二可更新距离并确定该待布局芯片的摆放位置,以确定所述多个待布局芯片的布局结果;其中,所述第一可更新距离为待布局芯片在所述排版区域中沿第一方向的可更新距离;第二可更新距离为待布局芯片在所述排版区域中沿第二方向的可更新距离,所述第一方向和所述第二方向为在所述排版区域内所述待布局芯片的位置相对于初始位置的可更新方向,所述初始位置为所述排版区域内预设的位置。3.根据权利要求2所述的芯片排版方法,其特征在于,所述基于每一个待布局芯片的尺寸,通过对待布局芯片移动第一可更新距离和第二可更新距离并确定该待布局芯片的摆放位置的步骤,包括:对于每个选取的待布局芯片,根据所述待布局芯片的尺寸确定所述待布局芯片在所述排版区域内的初始位置;从所述初始位置开始,按照步长计算多个第一可更新距离,在每个第一可更新距离对应的位置处计算所述第二可更新距离,并在所述第二可更新距离的最大值对应的第一可更新距离对应的位置处沿所述第二方向更新获得所述待布局芯片的最终位置,获得一次布局结果;其中,更新距离为所述第二可更新距离的最大值。4.根据权利要求3所述的芯片排版方法,其特征在于,还包括:获取所述一次布局结果的面积利用率;若所述面积利用率未达到预设门限,则改变所述多个待布局芯片的摆放顺序,继续执行所述针对一次在所述排版区域中对所述多个待布局芯片进行布局的步骤,直至存在布局结果的面积利用率达到所述预设门限。5.根据权利要求3所述的芯片排版方法,其特征在于,若所述第二可更新距离的最大值所在的第一更新位置的数量有多个,则选取距离所述初始位置最远的第二更新位置,并在该第二更新位置处沿所述第二方向更新所述待布局芯片的摆放位置,所述第一更新位置与所述第二可更新距离的最大值相对应,所述第二更新位置表示多个第一更新位置中距离所述初始位置最远的第一更新位置。6.根据权利要求5所述的芯片排版方法,其特征在于,所述在该第二更新位置处沿所述第二方向更新所述待布局芯片的摆放位置,包括:判断所述第二更新位置与第三更新位置沿所述第一方向的距离,若该距离大于或等于
所述待布局芯片沿所述第一方向的宽度,则在所述第二更新位置处沿所述第二方向更新所述待布局芯片的摆放位置;其中,所述第三更新位置为多个第一更新位置中距离所述初始位置最近的更新位置。7.根据权利要求2所述的芯片排版方法,其特征在于,所述改变所述多个待布局芯片的摆放顺序,基于所述多个待布局芯片的尺寸在所述排版区域中对所述多个待布局芯片进行多次布局的步骤,包括:多次改变所述多个待布局芯片的摆放顺序,并按照多个改变后的摆放顺序继续执行所述针对一次在所述排版区域中对所述多个待布局芯片进行布局的步骤,获得所述多个布局结果。8.根据权利要求1-7任一项所述的芯片排版方法,其特征在于,所述获取每一个布局结果所对应的排版区域面积利用率,并基于所述面积利用率确定最终布局结果的步骤,包括:计算各个待布局芯片按照每一个布局结果中的摆放位置进行排版时所占用的面积,以及所述面积与所述排版区域的面积的比值,以作为面积利用率;选取最大的面积利用率对应的布局结果作为所述最终布局结果。9.根据权利要求2至7任一项所述的芯片排版方法,其特征在于,若所述初始位置为所述排版区域的右上角,则所述第一方向和所述第二方向中一个方向为左,另一个方向为下;若所述初始位置为所述排版区域的右下角,则所述第一方向和所述第二方向中一个方向为左,另一个方向为上;若所述初始位置为所述排版区域的左上角,则所述第一方向和所述第二方向中一个方向为右,另一个方向为下;若所述初始位置为所述排版区域的左下角,则所述第一方向和所述第二方向中一个方向为右,另一个方向为上。10.根据权利要求1至7任一项所述的芯片排版方法,其特征在于,所述待布局芯片的位置为所述待布局芯片的至少一个顶点在所述排版区域内的位置。11.根据权利要求1至7任一项所述的芯片排版方法,其特征在于,所述排版区域四边形,所述芯片的形状为四边形。12.一种芯片排版装置,其特征在于,包括:获取模块,用于获取晶圆中用于排版的排版区域,以及多个待布局芯片的尺寸;布局模块,用于改变所述多个待布局芯片的摆放顺序,基于所述多个待布局芯片的尺寸在所述排版区域中对所述多个待布局芯片进行多次布局,获得多个布局结果,每一布局结果包括多个待布局芯片在所述排版区域中的摆放位置;布局结果确定模块,用于获取每一个布局结果所对应的排版区域面积利用率,并基于所述面积利用率确定最终布局结果,以获得所述待布局芯片在所述排版区域中的最终摆放位置。13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被计算机运行时执行权利要求1至11中任一项所述芯片排版方法的步骤。14.一种终端设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行权利要求1至11中任一项所述芯片排版方法的步骤。

技术总结


一种芯片排版方法及装置、计算机可读存储介质、终端设备,该方法包括:获取晶圆中用于排版的排版区域,以及多个待布局芯片的尺寸;改变多个待布局芯片的摆放顺序,基于多个待布局芯片的尺寸在排版区域中对多个待布局芯片进行多次布局,获得多个布局结果,每一布局结果包括多个待布局芯片在排版区域中的摆放位置;获取每一个布局结果所对应的排版区域面积利用率,并基于面积利用率确定最终布局结果,以获得待布局芯片在排版区域中的最终摆放位置。本申请能够提升芯片排版时的排版效率以及提高晶圆的面积利用率。高晶圆的面积利用率。高晶圆的面积利用率。


技术研发人员:

ꢀ(74)专利代理机构

受保护的技术使用者:

全芯智造技术有限公司

技术研发日:

2022.11.18

技术公布日:

2022/12/23


文章投稿或转载声明

本文链接:http://www.wtabcd.cn/zhuanli/patent-1-63530-0.html

来源:专利查询检索下载-实用文体写作网版权所有,转载请保留出处。本站文章发布于 2022-12-26 11:46:06

发表评论

验证码:
用户名: 密码: 匿名发表
评论列表 (有 条评论
2人围观
参与讨论