一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

倒装芯片配置中量子器件中的凸块连接放置的制作方法

2022-02-20 00:06:18 来源:中国专利 TAG:


1.本发明总体上涉及用于在量子器件中元件放置的方法、系统和计算机程序产品。更具体地说,本发明涉及用于倒装芯片配置中的量子器件中的凸块(bump)连接放置的方法、系统和计算机程序产品。


背景技术:

2.在下文中,除非在使用时明确区分,否则词或短语中的“q”前缀指示该词或短语在量子计算上下文中的引用。
3.分子和亚原子粒子遵循量子力学的定律,量子力学是探索物理世界如何在基础水平上工作的物理分支。在这个水平,粒子以奇怪的方式表现,同时呈现多于一个状态,并且与非常远的其他粒子交互。量子计算利用这些量子现象以处理信息。
4.我们现在使用的计算机被称为传统计算机(本文中也称为“传统”计算机或传统节点,或“cn”)。传统的计算机使用传统的处理器,该处理器使用半导体材料和技术、半导体存储器和磁或固态存储设备来被制造,这被称为冯诺依曼架构。特别地,传统计算机中的处理器是二进制处理器,即,对以1和0表示的二进制数据进行操作。
5.量子处理器(q处理器)使用纠缠量子位器件(在本文中被紧凑地称为“量子位”,多个“量子位”)的奇性来执行计算任务。在量子力学工作的特定领域,物质粒子可以以多种状态存在,诸如“开”状态、“关”状态以及同时“开”和“关”两种状态。在使用半导体处理器的二进制计算限于仅使用on和off状态(等效于二进制码中的1和0)的情况下,量子处理器利用这些物质的量子状态来输出可用于数据计算的信号。
6.传统计算机以位对信息进行编码。每个位可以取1或0的值,这些1和0用作最终驱动计算机功能的开/关开关。另一方面,量子计算机基于量子位,量子位根据量子物理学的两个关键原理来操作:叠加和纠缠。叠加意味着每个量子位可以同时表示1和0两者。纠缠意味着叠加中的量子位可以以非经典方式彼此相关;即,一个位的状态(是否是1或0或两者)可以取决于另一个位的状态,并且当两个量子位纠缠时比当它们被单独处理时存在更多的信息可以被确定。
7.使用这两个原理,量子位作为更复杂的信息处理器来运行,使量子计算机能够以允许它们解决使用传统计算机难以处理的难题的方式起作用。ibm已经成功地构建并且证明了使用超导量子位的量子处理器的可操作性(ibm是国际商业机器公司在美国和其它国家的注册商标)
8.在已知的半导体制造技术中,使用超导和半导体材料来制造诸如量子位的超导器件。超导器件通常使用一层或多层不同材料来实现器件的性能和功能。材料层可以是超导的、导电的、半导电的、绝缘的、电阻的、电感的、电容的,或者具有任何数量的其它属性。考虑到材料的性质、材料的形状、尺寸或放置、与材料相邻的其它材料以及许多其它考虑,可能必须使用不同的方法来形成不同的材料层。
9.超导器件通常是平面的,即其中超导结构被制造在一个平面上。非平面器件是三
维(3d)器件,其中一些结构形成在给定的制造平面之上或给定的制造平面之下。
10.q处理器被实现为多于一个量子位集。量子位被制造为单个制造平面上的共面器件的晶格。
11.超导量子位架构典型地在单个平面中以晶格结构来安排多个量子位。量子位利用谐振线(也称为“总线”)彼此耦合。使用读取线来读取量子位的量子态。
12.所有的谐振线与量子位共面(在同一平面中)。结果是位于晶格结构的内部、非外围区域中的量子位必须正交于晶格的制造平面而被访问。晶格的非外围区或区域是位于晶格周界内部的区域。这种访问内部量子位用于修改或读取量子位的量子状态的方式被称为“打破平面”。因为打破该平面可以导致量子处理器中的性能降级并且增加超导量子电路的复杂性,所以量子器件实现在打破该平面时需要仔细的设计考虑。
13.随着量子器件中量子位的数量增加,在不打断平面以访问内部量子位的情况下排列量子位变得更加困难。例如,十六个量子位器件可以使其量子位安排在两个平行的行中,每行八个量子位,而没有内部量子位。然而,具有三个平行的八个量子位的行的24量子位器件,每个量子位在正方形晶格布局中耦合,具有内部量子位行,该内部量子位行不能在电路平面内从该布置的外围被访问。同样,简单地增加两个平行行的长度(例如,使用每个十二量子位的两个平行行)导致量子器件具有不期望的附加区域以及将行的一端的量子位与行的另一端的量子位连接的附加复杂性。此外,这种连接的长运行需要额外的量子位操作,并且导致量子算法的执行时间增加。


技术实现要素:

14.说明性实施例提供了一种方法、系统和计算机程序产品。实施例包括一种方法,该方法在倒装芯片配置中的第一表面的布局内,根据凸块放置限制集来映射凸块限制区域,其中第一凸块放置限制指定第一表面的布局中的凸块与量子位芯片元件之间的允许距离范围,并且其中第二凸块放置限制指定倒装芯片配置中的第二表面的布局中的凸块与量子位芯片元件之间的允许距离范围。实施例在凸块限制区域外部沉积导电材料以形成凸块,其中凸块包括导电结构,该导电结构将第一表面与第二表面之间的信号电耦合并且根据凸块放置限制集被定位。
15.实施例包括计算机可用程序产品。计算机可用程序产品包括一个或多个计算机可读存储设备,以及存储在一个或多个存储设备中的至少一个存储设备上的程序指令。
16.实施例包括计算机系统。该计算机系统包括一个或多个处理器、一个或多个计算机可读存储器、以及一个或多个计算机可读存储设备,以及存储在一个或多个存储设备中的至少一个存储设备上的程序指令,程序指令用于由一个或多个处理器中的至少一个处理器经由一个或多个存储器中的至少一个存储器来执行。
附图说明
17.在所附权利要求中阐述了被认为是本发明的特性的某些新颖特征。然而,通过参考以下结合附图对说明性实施例的详细描述,将最好地理解本发明本身及其优选使用模式、进一步的目的和优点,其中:
18.图1描述了其中可以实现说明性实施例的数据处理系统的网络的框图;
19.图2描绘了其中可以实现说明性实施例的数据处理系统的框图;
20.图3描绘了根据说明性实施例的用于倒装芯片配置中的量子器件中的凸块连接放置的示例配置的框图;
21.图4描绘了根据说明性实施例的用于倒装芯片配置中的量子器件中的凸块连接放置的示例配置的另一框图;
22.图5描绘了根据说明性实施例的倒装芯片配置中的量子器件中的凸块连接放置的示例;
23.图6描绘了根据说明性实施例的倒装芯片配置中的量子器件中的凸块连接放置的另一示例;
24.图7描绘了根据说明性实施例的倒装芯片配置中的量子器件中的凸块连接放置的另一示例;
25.图8描绘了根据说明性实施例的倒装芯片配置中的量子器件中的凸块连接放置的另一示例;
26.图9描绘了根据说明性实施例的用于在倒装芯片配置中的量子器件中的凸块连接放置的示例过程的流程图;
27.图10描绘了根据说明性实施例的用于倒装芯片配置中的量子器件中的凸块连接放置的示例过程的另一流程图;以及
28.图11描绘了根据说明性实施例的用于倒装芯片配置中的量子器件中的凸块连接放置的示例过程的另一流程图。
具体实施方式
29.内部量子位是不位于量子器件中的量子位配置的外围上的量子位;换而言之,量子位位于物理位置而不是量子器件中的量子位配置的外围。说明性实施例认识到,用于访问内部量子位的一种解决方案是在倒装芯片配置中配置量子器件。倒装芯片配置,或简单地倒装芯片,使用已经沉积在一个或两个表面上的凸块,将器件或芯片的表面与第二芯片的另一表面互连,使得两个表面彼此平行,并且一个表面上的凸块连接到第二表面上的对应凸块或表面位置。凸块是至少使用导电材料并且在一些情况下使用超导材料,在二维表面上三维形成的导电结构。如本文所预期的凸块的一个属性是凸块结构在正交方向上远离二维表面来突出,使得可以在凸块处从正交方向形成电连接。
30.通常,一个芯片的底表面连接到第二芯片的顶表面,但是在说明性实施例的范围内,其它布置也是可能的并且是预期的。在一个实施例中,凸块结构的高度提供两个表面之间的所需的物理分离量。
31.特别地,在量子器件倒装芯片配置中,一个芯片(例如,底部芯片)通常包括启用量子位连接的元件,诸如量子位和总线谐振器。第二芯片(例如,顶部芯片)通常包括启用读出各个量子位的输入/输出元件,诸如量子位读出电路和量子位写入操作。尽管本文中为了方便起见,一个芯片可以被称为底部芯片,并且另一芯片被称为顶部芯片,并且参考一个芯片或另一芯片、或者一个芯片的一个表面或另一表面描述了量子器件的元件,但是量子器件的任何元件可以以一个或两个芯片的任何取向被布置在任何芯片的任何表面上。
32.倒装芯片配置中的量子器件的凸块将倒装芯片中的每个芯片的接地平面连接在
一起,抑制杂散(spurious)电磁模式并且提高信号完整性。尽管大多数凸块连接接地平面,但一些凸块可以将信号从一个芯片连接到另一芯片。凸块还通过帮助将两个芯片物理地保持在一起而改进倒装芯片封装的机械完整性。在一个实施例中,不仅根据材料的电特性而且根据材料的机械特性,诸如延展性和柔软性来选择用于形成凸块的材料。
33.说明性实施例认识到,为了保持信号和接地平面的完整性,存在对倒装芯片中的每个面对表面上的有源元件和连接两个表面的凸块的放置限制。量子器件的电路元件包括量子位、谐振器、滤波器、充电线、总线和其他信号连接元件。一个表面上的电路元件必须不接触、彼此接近小于指定阈值分隔距离或与其他表面上的电路元件重叠。必须将凸块放置成与每个被连接的表面上的电路元件至少相距特定距离。凸块的放置应当在表面上尽可能均匀,并且在设计中应当容纳尽可能多的凸块。换而言之,在给定区域中的凸块到凸块距离应当大致相等,并且在满足任何设计或制造约束的同时,应当最小化所述区域中的凸块到凸块距离。此外,一个表面上的每个凸块必须在指定公差内与另一表面上的对应凸块或位置对准,使得对应位置可以使用每个凸块来彼此电耦合。这种限制通常被组合到管理特定倒装芯片配置的设计规则集中。
34.说明性实施例还认识到,随着量子器件的尺寸增加,例如,当量子器件生长超过几十量子位时,在不违反任何设计规则集的情况下,将元件和凸块放置在倒装芯片配置中太复杂而不能手动执行。一个表面上的元件必须相对于另一表面上的元件来被放置。一个表面上的凸块必须与另一表面上的相应凸块或位置对准。移动一个元件或凸块可能需要移动其它元件或凸块,并且还需要移动附加元件或凸块,以满足不同的设计规则限制。此外,必须以自动化方式完成复杂芯片布局的设计规则一致性检查;人们不能识别其中没有足够的凸块或者凸块放置得太靠近元件的区域,从而无法实现针对稳健的器件设计所需的一致无误差的方式。因此,说明性实施例认识到,需要自动化的元件和凸块放置、设计规则一致性检查以及凸块调整。
35.说明性实施例认识到,目前可用的工具或解决方案没有解决这些需要或针对这些需要提供足够的解决方案。用于描述本发明的说明性实施例总体上处理并且解决了上述问题以及与倒装芯片配置中的量子器件中的凸块连接放置有关的其他问题。
36.实施例可以被实现为软件应用。实现实施例的应用可以被配置为现有量子器件设计系统的修改、作为与现有量子器件设计系统结合操作的单独应用、独立应用、或其某种组合。
37.特别地,一些说明性实施例提供了一种执行自动化元件和凸块放置、设计规则一致性检查和凸块调整的方法。
38.实施例接收针对倒装芯片配置中的量子器件的设计规范作为输入。设计规范包括多个量子位和量子位之间的连接性要求。连接性要求是对于哪些量子位必须被连接到哪些其它量子位的要求。量子位之间的操作仅可以在彼此连接的量子位上被执行。结果,虽然不是量子器件中的所有量子位都需要彼此连接,但是相互连接的量子位越多,在量子位之间移动信息所需的附加操作就越少。例如,当一个量子位仅与两个其他量子位通信时,量子位连通性可能被认为是稀疏的。在另一个实例中,当一个量子位与四个或五个或六个其他量子位通信时,量子位连通性可以被认为是密集的。
39.根据量子位的数量和量子位之间的连接性要求,实施例估计实现最终倒装芯片配
置的每个表面所需的总区域。例如,如果每个量子位占据一个单位的区域,则具有五十个量子位的量子器件将使用比具有一百个量子位的量子器件更少的总区域。此外,虽然更密集的连接性可以导致更高效的量子器件,但是该附加的连接性还需要附加的总线以及针对这些附加总线的附加的芯片区域。
40.设计规格还包括针对倒装芯片的凸块信息。凸块信息包括每个凸块的尺寸(表面内的直径和表面平面上方的高度)。凸块信息还包括凸块间距(即,凸块与相邻凸块之间的中心到中心距离)。针对特定倒装芯片指定的凸块尺寸和间距取决于量子器件中元件的尺寸、元件和凸块可以被放置在倒装芯片表面上的精度、信号和接地完整性考虑以及其他考虑。在一个非限制性示例中,一个设计规范指定100微米凸块直径和200微米凸块间距,从而根据总芯片区域在所得倒装芯片中产生300至600个凸块。
41.实施例还接收针对倒装芯片配置中的量子器件的多个设计规则集作为输入。一个设计规则集控制倒装芯片的每个表面上的电路元件的放置。例如,该设计规则集可以指定针对特定元件的最小或最大尺寸、一个元件与另一元件之间或者一种类型的元件与不同类型的元件之间的最小间隔等。
42.另一设计规则集控制倒装芯片的一个表面上的元件的放置相对于倒装芯片的另一表面上的元件的放置。例如,这设计规则集可以指定一个表面上的元件不能与另一表面上的元件重叠,或者一个表面上的元件与另一表面上的元件的最小距离。
43.第三设计规则集控制倒装芯片的每个表面上的凸块和电路元件的相对放置。例如,该第三设计规则集可以指定凸块必须具有距任一表面上的元件的最小距离,或者凸块必须具有距一种类型的元件的最小距离和距另一种类型的元件的另一最小距离。
44.参考设计规则集,实施例将所有所需元件放置在倒装芯片的一个表面上。参考设计规则集,该实施例然后将所有需要的元件放置在倒装芯片的相对表面上,确保遵循关于相对元件放置的任何规则。特别地,一个实施例将所有量子位和耦合元件放置在底部芯片上,然后将所有写入和读出元件放置在顶部芯片上,确保遵守关于元件重叠和最小距离的所有设计规则。另一实施例将所有的写入和读出元件放置在顶部芯片上,然后将所有的量子位和耦合元件放置在底部芯片上。另一实施例交错在每个表面上的元件放置,而不是一次在一个表面上放置元件。
45.一旦两个表面上的所有元件都已经被放置,实施例就放置凸块。实施例将一个倒装芯片表面上的元件布局与另一倒装芯片表面上的元件布局进行复合。如本文所使用的,复合是将来自单独源的视觉元件组合成单个布局或图像。因此,复合布局包括两个表面的每个元件。因为没有凸块应该接触电路元件,所以在复合布局中,实施例将由电路元件占据的每个区域限定为凸块限制区域的部分。因为每个凸块应当与每个电路元件分开最小距离,所以在复合布局中,实施例通过任何可应用的最小距离来扩大凸块限制区域。最小距离可以取决于元件的类型而变化。例如,与量子位的最小距离可以大于与总线的最小距离。在管理凸块和元件的相对放置的设计规则中指定了一个或多个最小距离。附加地,实施例调整凸块限制区域,扩大或缩小凸块限制区域,使得任何生成的凸块将符合任何适用的设计规则。
46.一个实施例通过以指定的凸块间距将均匀平铺的凸块与复合布局重叠来放置凸块,然后去除至少部分地落在凸块限制区域内的任何凸块来放置凸块。在一个实施例中,平
铺是正交的。在另一实施例中,平铺是非正交的。实施例还记住哪些凸块被去除,以供可能的恢复。该方法导致贯穿复合布局中均匀的凸块间距,这是期望的。然而,因为去除了甚至部分地与凸块限制区域重叠的凸块,所以生成的复合布局可能包括比期望的更少的凸块。
47.另一实施例通过限定凸块放置区域来放置凸块。凸块放置区域包括不在凸块限制区域中的所有复合布局。然后,该实施例在凸块放置区域内放置均匀平铺的凸块集。因为凸块被放置在限定的凸块放置区域中,所以不存在至少部分地落在凸块限制区域内以产生重叠的凸块。然而,因为凸块放置区域可能包含非连续区域,所以凸块将在每个区域内是均匀的,但是不必然跨整个芯片上均匀。同样,尽管不需要去除凸块,但是凸块放置区域的部分可能太小而不能包含凸块。这种没有凸块的区域是不期望的。
48.一旦实施例已经执行了初始凸块放置,则实施例检查凸块放置是否符合设计规则集。如果凸块或元件不符合设计规则,则实施例调整凸块或元件的位置,或者添加或去除凸块,以产生符合设计规则的最终复合布局。
49.具体地,实施例检查被移除的凸块是否至少部分地落入凸块限制区域内。凸块的重叠区域是凸块限制区域内的凸块区域除以凸块的总区域,然后可选地转换为百分比。如果凸块的重叠区域低于设计规则中所指定的重叠阈值,则实施例恢复凸块,但在x方向、y方向或两者上将凸块移动到其中凸块不再与凸块限制区域重叠的位置。例如,如果凸块的重叠区域是10%,并且设计规则中规定的重叠阈值是20%,则实施例恢复凸块,但是将凸块的位置调整到其中凸块不再与凸块限制区域重叠的位置。
50.实施例还检查不具有凸块的区域的复合布局,或者检查具有凸块的数目或凸块密度(即,每单位区域的凸块数目)低于设计规则中所指定的阈值的区域的复合布局。一个实施例在复合布局中搜索与可能具有低于设计规则中所指定的阈值的凸块数目或凸块密度的图案相对应的元件图案。例如,岛是接地平面的部分,其与接地平面的其余部分电隔离,因为该部分没有被连接到或者不具有如设计规则中所指定的足够的连接到接地平面的另一部分。岛需要至少阈值数目的凸块或至少阈值凸块密度以可靠地形成到电接地的连接。作为另一示例,尖端是金属的窄线,由于其形状,该金属的窄线太窄而不能容纳可靠地将尖端连接到电接地所需的至少阈值数目的凸块或至少阈值凸块密度。岛和尖端是在针对倒装芯片配置的芯片布局内的区域类型的两个非限制性示例,其可以具有在设计规则中所指定的阈值以下的凸块数目或凸块密度。在示例性实施例的范围内,其它类型的区域也是可能的并且是可预期的。
51.如果实施例发现具有低于设计规则中所指定的阈值的凸块数目或凸块密度的区域,则实施例调整凸块或元件的位置,或者添加或去除凸块,以产生确实符合设计规则的最终复合布局。例如,如果元件放置导致凸块放置区域的部分太小而不能包含足够数目的凸块,则实施例可以在x方向、y方向或两者上将元件移动到另一位置,使得生成的凸块放置区域不再具有太小而不能包含足够数目的凸块的部分。
52.如果实施例调整了凸块或电路元件的位置,或者添加或移除凸块,则实施例重新检查调整后的布局现在符合设计规则集。如果凸块或元件仍然不符合设计规则,则实施例重复调整和检查过程,直到产生确实符合设计规则的最终复合布局。
53.在关于量子器件设计系统的努力技术领域中,在目前可用的方法中,在本文中所描述的倒装芯片配置中的量子器件中的凸块连接放置方式是不可用的。当在器件或数据处
理系统上执行而实施时,本文所描述的实施例的方法包括在执行自动化元件和凸块布置、设计规则一致性检查和凸块调整方面器件或数据处理系统的功能的实质进步。
54.仅作为示例,关于某些类型的表面、配置、量子位连接元件、量子位读出元件、凸块、调整、插入、移除、测量、设备、数据处理系统、环境、组件和应用来描述说明性实施例。这些和其它类似的人为因素的任何特定表现形式不旨在限制本发明。可以在示例性实施例的范围内选择这些和其它类似制品的任何适当表现。
55.此外,可以相对于任何类型的数据、数据源或通过数据网络对数据源的访问来实现说明性实施例。在本发明的范围内,任何类型的数据存储设备可以在本地在数据处理系统处或通过数据网络向本发明的实施例提供数据。在使用移动设备描述实施例的情况下,在说明性实施例的范围内,适于与移动设备一起使用的任何类型的数据存储设备可以在移动设备处本地或者通过数据网络向这样的实施例提供数据。
56.使用特定代码、设计、架构、协议、布局、示意图和工具来描述说明性实施例,这些仅作为示例,而不是对说明性实施例的限制。此外,为了描述的清楚,在一些实例中使用特定软件、工具和数据处理环境仅作为示例来描述说明性实施例。说明性实施例可以结合其他可比的或类似目的结构、系统、应用或架构来使用。例如,在本发明的范围内,其他可比的移动设备、结构、系统、应用或其架构可以与本发明的这种实施例结合使用。说明性实施例可以以硬件、软件或其组合来实现。
57.本公开中的示例仅用于清楚描述,并且不限制于说明性实施例。从本公开可以想到附加的数据、操作、动作、任务、活动和操纵,并且在说明性实施例的范围内可以考虑这些附加的数据、操作、动作、任务、活动和操纵。
58.本文列出的任何优点仅是示例,并且不旨在限制说明性实施例。通过特定的说明性实施例可以实现附加的或不同的优点。此外,特定说明性实施例可以具有上文所列优点中的一些、全部或不具有上文所列优点。
59.参考附图,并且具体参考图1和2,这些附图是可以实现说明性实施例的数据处理环境的示例图。图1和2仅仅是示例,并且不旨在断言或暗示关于其中可以实现不同实施例的环境的任何限制。特定实现可以基于以下描述对所描绘的环境进行许多修改。
60.图1描述了可以实现说明性实施例的数据处理系统的网络的框图。数据处理环境100是其中可以实现说明性实施例的计算机网络。数据处理环境100包括网络102。网络102是用于在数据处理环境100内连接在一起的各种设备和计算机之间提供通信链路的介质。网络102可以包括诸如有线、无线通信链路或光纤电缆的连接。
61.客户端或服务器仅是连接到网络102的某些数据处理系统的示例角色,并且不旨在排除针对这些数据处理系统的其他配置或角色。服务器104和服务器106连同存储单元108一起耦合到网络102。软件应用可以在数据处理环境100中的任何计算机上执行。客户端110、112和114也被耦合到网络102。诸如服务器104或106或客户端110、112或114的数据处理系统可以包含数据,并且可以具有在其上执行的软件应用或软件工具。
62.仅作为示例,而不暗示对这样的架构的任何限制,图1描绘了在实施例的示例实现中可使用的某些组件。例如,仅作为示例,服务器104和106以及客户端110、112、114被描绘为服务器和客户端,而不是暗示对客户端

服务器架构的限制。作为另一示例,实施例可以跨如所示的多个数据处理系统和数据网络来分布,而另一实施例可以在说明性实施例的范
围内的单个数据处理系统上被实现。数据处理系统104、106、110、112和114还表示适于实现实施例的集群、分区和其它配置中的示例节点。
63.设备132是本文描述的设备的示例。例如,设备132可以采取智能电话、平板计算机、膝上型计算机、固定或便携式形式的客户端110、可穿戴计算设备或任何其他合适的设备的形式。被描述为在图1中的另一数据处理系统中执行的任何软件应用程序可以被配置为以类似的方式在设备132中执行。在图1中的另一数据处理系统中存储或产生的任何数据或信息可以被配置为以类似的方式在设备132中存储或产生。
64.应用105实现本文所描述的实施例。应用105可以在任何服务器104和106、客户端110、112和114以及设备132中被执行。
65.服务器104和106、存储单元108、客户端110、112和114以及设备132可以使用有线连接、无线通信协议或其他合适的数据连接耦合到网络102。客户机110、112和114可以是例如个人计算机或网络计算机。
66.在所描述的示例中,服务器104可以向客户端110、112和114提供数据,诸如引导文件、操作系统映像和应用。在该示例中,客户端110、112和114可以是服务器104的客户端。客户端110、112、114或其某种组合可以包括它们自己的数据、引导文件、操作系统映像和应用。数据处理环境100可以包括未示出的附加服务器、客户端和其他设备。
67.在所描述的示例中,数据处理环境100可以是互联网。网络102可以表示使用传输控制协议/网际协议(tcp/ip)和其它协议来彼此通信的网络和网关的集合。在互联网的核心是主节点或主机计算机之间的数据通信链路的主干,包括路由数据和消息的数千个商业、政府、教育和其它计算机系统。当然,数据处理环境100也可以被实现为许多不同类型的网络,诸如例如内联网、局域网(lan)或广域网(wan)。图1旨在作为示例,而不是作为针对不同说明性实施例的架构限制。
68.除了其他用途之外,数据处理环境100可以用于实现其中可以实现示例性实施例的客户端

服务器环境。客户机

服务器环境使软件应用和数据能够跨网络来分布,使得应用通过使用客户端数据处理系统与服务器数据处理系统之间的交互性来工作。数据处理环境100还可以采用面向服务的架构,其中跨网络分布的可互操作的软件组件可以被封装在一起作为一致的业务应用。数据处理环境100还可以采取云的形式,并且采用服务递送的云计算模型以实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池的方便的按需网络访问,该可配置计算资源可以以最小的管理努力或与服务的提供方的交互来快速供应和释放。
69.参考图2,该图描述了可以实现说明性实施例的数据处理系统的框图。数据处理系统200是计算机的示例,诸如图1中的服务器104和106、或客户端110、112和114、或另一类型的设备,其中可以针对示例性实施例设置实现处理的计算机可用程序代码或指令。
70.数据处理系统200还代表数据处理系统或其中的配置,诸如图1中的数据处理系统132,其中可以放置实现示例性实施例的过程的计算机可用程序代码或指令。数据处理系统200仅作为示例被描述为计算机,而不限于此。在不脱离本文所描述的数据处理系统200的操作和功能的一般描述的情况下,以诸如图1中的设备132的其他设备的形式的实现可以诸如通过添加触摸接口来修改数据处理系统200,并且甚至从数据处理系统200中去除某些所描绘的组件。
71.在所描述的示例中,数据处理系统200采用集线器架构,包括北桥和存储器控制器集线器(nb/mch)202以及南桥和输入/输出(i/o)控制器集线器(sb/ich)204。处理单元206、主存储器208和图形处理器210耦合到北桥和存储器控制器集线器(nb/mch)202。处理单元206可以包含一个或多个处理器,并且可以使用一个或多个异构处理器系统来实现。处理单元206可以是多核处理器。在某些实现中,图形处理器210可以通过加速图形端口(agp)耦合到nb/mch202。
72.在所描述的示例中,局域网(lan)适配器212耦合到南桥和i/o控制器集线器(sb/ich)204。音频适配器216、键盘和鼠标适配器220、调制解调器222、只读存储器(rom)224、通用串行总线(usb)和其它端口232、以及pci/pcie设备234通过总线238耦合到南桥和i/o控制器集线器204。硬盘驱动器(hdd)或固态驱动器(ssd)226和cd

rom 230通过总线240耦合到南桥和i/o控制器集线器204。pci/pcie设备234可以包括例如以太网适配器、附加卡和用于笔记本计算机的pc卡。pci使用卡总线控制器,而pcie不使用。rom224可以是例如闪存二进制输入/输出系统(bios)。硬盘驱动器226和cd

rom 230可以使用例如集成驱动电子(ide)、串行高级技术附件(sata)接口或诸如外部sata(esata)和微sata(msata)的变体。超级i/o(sio)设备236可以通过总线238耦合到南桥和i/o控制器集线器(sb/ich)204。
73.存储器,诸如主存储器208、rom 224或闪存(未示出),是计算机可用存储设备的一些示例。硬盘驱动器或固态驱动器226、cd

rom 230和其它类似可用的设备是包括计算机可用存储介质的计算机可用存储设备的一些示例。
74.操作系统在处理单元206上运行。操作系统协调并且提供对图2中的数据处理系统200内的各种组件的控制,操作系统可以是用于任何类型的计算平台的商业上可用的操作系统,包括但不限于服务器系统、个人计算机和移动设备。面向对象或其它类型的编程系统可以与操作系统一起操作,并且提供从在数据处理系统200上执行的程序或应用对操作系统的调用。
75.用于操作系统、面向对象的编程系统以及诸如图1中的应用105的应用或程序的指令位于存储设备上,诸如以硬盘驱动器226上的代码226a的形式,并且可以被加载到诸如主存储器208的一个或多个存储器中的至少一个存储器中,用于由处理单元206执行。说明性实施例的过程可以由处理单元206使用计算机实现的指令来执行,该指令可以位于存储器中,诸如例如主存储器208、只读存储器224,或者位于一个或多个外围设备中。
76.此外,在一个情况下,代码226a可以通过网络201a从远程系统201b下载,其中类似的代码201c被存储在存储设备201d上。在另一情况下,代码226a可以通过网络201a被下载到远程系统201b,其中所下载的代码201c被存储在存储设备201d上。
77.图1至图2中的硬件可以取决于实现而变化。除了图1至图2中所描述的硬件之外,或者作为其替代,可以使用诸如闪存、等效的非易失性存储器或光盘驱动器等的其它内部硬件或外围设备。此外,说明性实施例的过程可以应用于多处理器数据处理系统。
78.在一些说明性示例中,数据处理系统200可以是个人数字助理(pda),其通常被配置具有闪存以提供用于存储操作系统文件和/或用户生成的数据的非易失性存储器。总线系统可以包括一个或多个总线,诸如系统总线、i/o总线和pci总线。当然,总线系统可以使用任何类型的通信结构或架构来实现,该通信结构或架构提供在附接到该结构或架构的不同组件或设备之间的数据传输。
79.通信单元可以包括一个或多个用于发送和接收数据的设备,诸如调制解调器或网络适配器。存储器可以是例如主存储器208或高速缓存,诸如在北桥和存储器控制器集线器202中所发现的高速缓存。处理单元可以包括一个或多个处理器或cpu。
80.图1至图2中所描述的示例和上述示例不意味着暗示架构限制。例如,数据处理系统200除了采取移动或可穿戴设备的形式之外,还可以是平板计算机、膝上型计算机或电话设备。
81.在计算机或数据处理系统被描述为虚拟机、虚拟设备或虚拟组件的情况下,虚拟机、虚拟设备或虚拟组件使用数据处理系统200中所描绘的一些或所有组件的虚拟化表现来以数据处理系统200的方式操作。例如,在虚拟机、虚拟设备或虚拟组件中,处理单元206被表现为主机数据处理系统中可用的所有或一些数量的硬件处理单元206的虚拟化实例,主存储器208被表现为主机数据处理系统中可用的主存储器208的所有或一些部分的虚拟化实例,并且硬盘226被表现为主机数据处理系统中可用的硬盘226的所有或一些部分的虚拟化实例。在这种情况下,主机数据处理系统由数据处理系统200表示。
82.参考图3,该图描绘了根据说明性实施例的用于倒装芯片配置中的量子器件中的凸块连接放置的示例配置的框图。应用300是图1中的应用105的示例,并且在图1中的任何服务器104和106、客户端110、112和114以及设备132中执行。
83.应用程序300接收针对倒装芯片配置中的量子器件的设计规范作为输入。设计规范包括多个量子位和量子位之间的连接性要求。根据量子位的数目和量子位之间的连接性要求,实施例估计实现最终倒装芯片配置的每个表面所需的总区域。应用程序300还接收针对倒装芯片配置中的量子器件的多个设计规则集作为输入。参考设计规则集,元件布局模块310将所有需要的元件放置在倒装芯片的一个表面上。参考设计规则集,模块310然后将所有需要的元件放置在倒装芯片的相对表面上,确保遵循关于相对元件放置的任何规则。
84.一旦两个表面上的所有元件都已经被放置,则凸块布局模块320放置凸块。特别地,模块320将一个倒装芯片表面上的元件布局与另一倒装芯片表面上的元件布局进行复合。因为没有凸块应该接触元件,所以在复合布局模块320中将由元件占据的每个区域限定为凸块限制区域的部分。因为每个凸块应当与每个元件分开最小距离,所以在复合布局模块320中,通过任何可应用的最小距离来扩大凸块限制区域。最小距离可以取决于元件的类型而变化。例如,与量子位的最小距离可以大于与总线的最小距离。在管理凸块和元件的相对放置的设计规则中指定了一个或多个最小距离。此外,模块320调整凸块限制区域,扩大或缩小凸块限制区域,使得任何生成的凸块将符合任何可应用的设计规则。
85.在一个实施方式中,模块320通过以指定凸块间距将均匀平铺的凸块与复合布局重叠来放置凸块,然后去除至少部分地落在凸块限制区域内的任何凸块。模块320还记住哪些凸块被去除,以供可能的恢复。
86.在另一实现中,模块320通过限定凸块放置区域来放置凸块。凸块放置区域包括不在凸块限制区域中的所有复合布局。则模块320在凸块放置区域内放置均匀平铺的凸块集。
87.一旦模块320已经执行了初始凸块放置,凸块规则检查器模块330就检查凸块放置是否符合设计规则集。如果凸块或元件不符合设计规则,则调整模块340调整凸块或元件的位置,或者添加或移除凸块,以产生符合设计规则的最终复合布局。
88.参考图4,该图描绘了根据说明性实施例的用于倒装芯片配置中的量子器件中的
凸块连接放置的示例配置的另一框图。特别地,图4描绘了图3中的调整模块340的更多细节。
89.重叠搜索模块410检查被移除的凸块是否至少部分落入凸块限制区域内。如果凸块的重叠区域低于设计规则中指定的重叠阈值,则凸块恢复模块430恢复凸块,但在x方向、y方向或两者上将凸块移动到其中凸块不再与凸块限制区域重叠的位置。
90.凸块足够性模块420还检查不具有凸块的区域的复合布局,或者检查具有凸块的数目或凸块密度(即,每单位区域的凸块数量)低于设计规则中所指定的阈值的区域的复合布局。在一个实施方式中,模块420在复合布局中搜索与可能具有低于设计规则中所指定的阈值的凸块数目或凸块密度的图案相对应的元件图案,例如岛或尖端。
91.如果模块420发现具有低于设计规则中所指定的阈值的凸块数目或凸块密度的区域,则凸块调整模块440和元件调整模块450一起工作以调整凸块或元件的位置,或添加或移除凸块,以产生确实符合设计规则的最终复合布局。
92.参考图5,该附图描绘了根据说明性实施例的倒装芯片配置中的量子器件中的凸块连接放置的示例。该示例可以使用图3中的应用300来实现。
93.具体地,图5描绘了由应用300执行的凸块放置的步骤。步骤502示出了以指定的凸块间距来均匀平铺凸块,例如凸块520,准备与复合布局重叠。步骤504描述了与凸块限制区域540复合的凸块的均匀平铺,即一个倒装芯片表面上的元件的已经复合的布局与另一倒装芯片表面上的元件的布局。步骤506示出了与扩大的凸块限制区域560和凸块限制区域540的扩大复合的凸块的均匀平铺,以确保每个凸块与每个元件分隔最小距离。如所示出的,凸块562部分地与扩大的凸块限制区560重叠,而凸块520没有。步骤508示出了在去除至少部分落入现在扩大的凸块限制区域内的任何凸块(诸如,凸块562)之后的生成的布局。如所描述的,凸块562不再存在于区域580中。
94.参考图6,该图描绘了根据说明性实施例的倒装芯片配置中的量子器件中的凸块连接放置的另一示例。该示例可以使用图3中的应用300来实现。
95.具体地,图6描绘了由应用300执行的凸块放置的步骤。步骤602描述了凸块限制区域620,其通过将一个倒装芯片表面上的元件布局与另一倒装芯片表面上的元件布局进行复合来限定。步骤604示出了扩大的凸块限制区域640,凸块限制区域620的扩大,以确保每个凸块与每个元件分隔最小的距离。步骤606描绘了凸块放置区域662,包括不在扩大的凸块限制区域640中的所有复合布局。步骤608描绘了在凸块放置区域662内的均匀平铺的凸块集,例如凸块680。因为凸块被放置在凸块放置区域662内,所以不存在至少部分地落在凸块限制区域内以产生重叠的凸块。
96.参考图7,该图描绘了根据说明性实施例的倒装芯片配置中的量子器件中的凸块连接放置的另一示例。该示例可以使用图3中的应用300来实现。步骤506和508、凸块562和区域580与图5中的步骤506和508、凸块562和区域580相同。
97.具体地,图7描绘了由应用300执行的重叠凸块恢复的选项。如步骤506所示,在区域580内的凸块562在扩大的凸块限制区域560中部分地重叠元件706。步骤508示出了在去除至少部分落入现在扩大的凸块限制区域内的任何凸块(诸如,凸块562)之后的生成的布局。因此,在步骤508中,凸块562不再存在于区域580中。
98.因为凸块562的重叠区域低于设计规则中规定的重叠阈值,所以应用恢复凸块
562,但是将凸块562沿x方向、y方向或两者移动到凸块不再与凸块限制区域重叠的位置。结果,选项710示出凸块562向右移动。备选地,应用程序恢复凸块562,但将诸如元件706的元件沿x方向、y方向或两者移动到其中凸块562不再与凸块限制区重叠的位置。结果,选项720描绘元件706向左移动了。然而,在选项720中移动元件706需要移除附加的凸块。
99.参考图8,该图描绘了根据说明性实施例的倒装芯片配置中的量子器件中的凸块连接放置的另一示例。该示例可以使用图3中的应用300来实现。
100.特别地,图8描绘了用于分辨不具有凸块的区域的选项。特别地,在布局810中,诸如凸块802的凸块被放置在元件814附近。然而,该应用将区域812标识为不具有凸块的区域。因此,选项820描绘了在区域812中添加的凸块,诸如凸块820。类似地,选项820描绘新元件834,重新布置元件814以占据较小区域。附加的凸块,例如凸块820,已经被添加到由此可用的区域。
101.参考图9,该图描绘了根据说明性实施例的用于倒装芯片配置中的量子器件中的凸块连接放置的示例过程的流程图。过程900可以在图3中的应用300中实现。
102.在框902中,该应用根据管理量子位芯片元件放置的放置规则集,将量子位芯片元件放置在倒装芯片配置中的第一表面的布局内。在框904中,该应用根据管理量子位芯片元件放置和元件的相对放置的放置规则集,将量子位芯片元件放置在倒装芯片配置中的第二表面的布局中。在框906中,应用根据凸块放置限制集,在第一表面布局内映射凸块限制区域。在框908中,应用根据该凸块放置限制集,在凸块限制区域内放置均匀间隔的凸块集。在框910中,应用对照凸块放置限制集来检查凸块放置。在框912中,如果需要,应用调整凸块或元件的位置或添加凸块以符合凸块放置限制集。在框914中,应用将第一表面的布局内的每个凸块与第二表面的布局内的对应凸块连接,形成倒装芯片配置。则应用结束。
103.参考图10,该图描绘了根据说明性实施例的用于倒装芯片配置中的量子器件中的凸块连接放置的示例过程的另一流程图。图10描绘了图9中的框908的更多细节。
104.在框1002中,应用根据该凸块放置限制集,在表面中的一个表面的布局内放置等间隔的凸块集。在框1004中,应用移除至少部分地落在凸块限制区域内的任何放置的凸块。则应用结束。
105.参考图11,该图描绘了根据说明性实施例的用于倒装芯片配置中的量子器件中的凸块连接放置的示例过程的另一流程图。图11描绘了图9中的框908的另一实施方式的更多细节。
106.在框1102中,应用映射第一表面的布局内并且在凸块限制区域外部的凸块放置区域。在框1104中,应用根据该凸块放置限制集,在凸块放置区域内放置等间距的凸块集。则应用结束。
107.因此,在说明性实施例中提供了一种计算机实现的方法、系统或装置以及计算机程序产品,用于在倒装芯片配置中的量子器件中的凸块连接放置以及其他相关特征、功能或操作。在关于一种类型的设备描述实施例或其一部分的情况下,计算机实现的方法、系统或装置、计算机程序产品或其一部分被适配或配置成与该类型的设备的适当且可比较的表现一起使用。
108.在实施例被描述为在应用中实现的情况下,在说明性实施例的范围内,可以考虑在软件即服务(saas)模型中的应用的递送。在saas模型中,通过在云基础设施中执行应用,
向用户提供实现实施例的应用的能力。用户可以通过诸如web浏览器(例如,基于web的电子邮件)或其他轻量客户端应用之类的瘦客户端接口使用各种客户端设备来访问应用。用户不管理或控制底层云基础设施,包括网络、服务器、操作系统或云基础设施的存储。在一些情况下,用户甚至可能不管理或控制saas应用的能力。在一些其它情况下,应用程序的saas实现可以允许有限的用户特定应用程序配置设置的可能例外。
109.本发明可以是任何可能的技术细节集成水平的系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),所述计算机可读程序指令用于使处理器执行本发明的方面。
110.计算机可读存储介质可以是能够保留和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式光盘只读存储器(cd

rom)、数字多功能盘(dvd)、记忆棒、软盘、诸如上面记录有指令的打孔卡或凹槽中的凸块结构的机械编码设备,以及上述的任何适当组合。如本文所使用的计算机可读存储介质不应被解释为暂态信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。
111.本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络,例如互联网、局域网、广域网和/或无线网络,下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并且转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
112.用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据,或者以一种或多种编程语言(包括面向对象的编程语言,例如smalltalk、c 等)和过程编程语言(例如“c”编程语言或类似的编程语言)的任意组合编写的源代码或目标代码。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(lan)或广域网(wan),或者可以连接到外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化。
113.在本文中参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。
114.这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数
据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以被存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。
115.计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中所指定的功能/动作。
116.附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这方面,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些备选实施例中,框中所注明的功能可以不按图中所注明的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的、基于硬件的系统来实现。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献