CN1469451A - 用于集成电路上的芯片间晶片级信号传输方法 - Google Patents

用于集成电路上的芯片间晶片级信号传输方法 Download PDF

Info

Publication number
CN1469451A
CN1469451A CNA021241767A CN02124176A CN1469451A CN 1469451 A CN1469451 A CN 1469451A CN A021241767 A CNA021241767 A CN A021241767A CN 02124176 A CN02124176 A CN 02124176A CN 1469451 A CN1469451 A CN 1469451A
Authority
CN
China
Prior art keywords
chip
signal
mentioned
data
integrated circuit
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.)
Pending
Application number
CNA021241767A
Other languages
English (en)
Inventor
萧正杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CNA021241767A priority Critical patent/CN1469451A/zh
Publication of CN1469451A publication Critical patent/CN1469451A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Testing Or Measuring Of Semiconductors Or The Like (AREA)

Abstract

本发明揭示了一种半导体晶片上大量芯片间数据传输的新颖的方法。每个独立芯片都包含内部电路,控制向邻近芯片的数据传输。晶片级数据传输通过一系列的芯片间数据传输来完成。因此有可能使用小数目小面积的金属线来支持晶片级并行处理。与外部的连接是通过每个晶片上小数目的引脚来实现。每个外部引脚的负载远低于已知晶片级连接所产生的负载。芯片间数据传输机制也可以通过编程来避开坏电路。本发明支持晶片级功能测试和晶片级可靠性老化测试,可以使用简单的测试设备对数千芯片进行并行测试。集成电路的测试成本也就大大减小。本发明同时使得制造包含有多芯片的大面积的集成电路成为可能。使用这种多片集成电路的并行处理功能、超高性能的产品已经实现。

Description

用于集成电路上的芯片间晶片级信号传输方法
技术领域
本发明是关于支持大规模集成电路中平行处理的数据传输方法,特别是支持晶片级测试或者晶片级集成电路运算。
背景技术
现代集成电路制造技术包括在一块称作“晶片”的半导体基底上制造大量独立的集成电路设备。当制造完成后,通过晶片划写,把这些被称作“芯片”的集成电路设备分开。通常,这些芯片在空间上是互相分开的,以便于划写器对晶片进行分割。因此,晶片看起来就是一系列由分隔线分割,以便以后划写的集成电路芯片组合。这些分隔线通常被称为“划写线”。为了减少成本,这些芯片有必要在晶片上时就进行测试,(这种测试称为“晶片级测试”)。晶片级测试的主要困难在于需要在测试器与每个芯片的输入输出信号间建立连接。通常晶片级测试通过一系列的探针与芯片上集成电路的引脚相接触来实现。这些引脚用来与以后封装的集成电路的引线相连。如果芯片没有通过晶片级测试,就被打点标记为坏的。不幸的是有可能通过晶片级测试的芯片由于可靠性问题在以后的使用中出现问题。在集成电路工业中,一个通用的测试可靠性问题的方法就“可靠性老化测试”。在可靠性老化测试中,集成电路在升高的温度和电源电压下试验。通常说,经过这些可靠性老化测试的器件在以后的使用中稳定性好。由于在可靠性老化测试的苛刻条件下使用探针步进设备存在困难,通常这种测试是在集成电路芯片被封装后进行的。
在晶片级测试中有必要避免使用昂贵的步进探针测试器,在晶片级可靠性老化测试更需要避免。在晶片级测试中的主要障碍是在测试器和晶片上的单独芯片之间传输数据存在困难。一个解决方法是使用能够提供与所有芯片连接的探测设备。这种探测设备应该有数千条探针和金属线。制造这种复杂的探测设备是不实际的。另外一种方法是通过晶片上掩膜方法形成的导线来传输测试数据。这种方法也是非常困难的。用来隔离集成电路导电层的绝缘材料(绝缘层)有很强的吸收水膜的特性,而水膜容易使可靠性变差。一个常见的方法是把这层绝缘层覆盖在一层防水层的薄膜上。在晶片划写中,这层防水层被破坏,而水膜可以穿透划写芯片暴露的边缘。一个解决这个问题的方法是在内部电路和划写线间建立一道连续的金属墙(称为密封线)。组合密封线和防水层为划写的芯片提供了一道真正的防水层。通常时候,密封线可以为集成电路制造工艺中的导电层提供隔离。因此,有必要在通常的集成电路制造工艺完成后添加额外的工艺淀积晶片级连接线。这种方法的一个例子是W.Parrish在美国5,053,900号专利中提到。这个专利描述了集成电路制造工艺完成后,沿着划写线形成多层导线。这些导线通过晶片上那些没有使用的电路与放大的晶片的边缘的I/O引线相连。这些导线把独立集成电路芯片上的I/O引脚与多路线路相连。晶片级测试就通过使用一套测试探针与一套放大的与多路线路相连的I/O引线相连来完成。这种多路线路有选择性的通过晶片级导线把测试探针与要测试的独立集成电路芯片相连来测试。这些导线在后来的划写过程中被破坏掉。由于在划写线中有大量的金属,这些集成电路芯片的引线有可能在划写过程中短路。导电材料的银材料还在集成电路的敏感区存在。这些银材料在集成电路的邻近的引线间形成通路而使集成电路短路,影响以后的工作。在美国5,532,174号专利中,Corrigan提供了一种解决由于划写线带来的问题。Corrigan提出使用在划写过程前可以通过腐蚀的方法去除牺牲导电层的方法提供晶片级导线。为了便于去除,导电层使用的材料有别于I/O引线和集成电路芯片使用的材料。另外一种方法在美国5,399,505号专利中Dasse等人提到。在通常的集成电路制造工艺之后形成晶片级的探测点与大量的集成电路芯片之间的连接。当每个芯片的引线准备下面的焊接工艺时,连接到那些探测点的外部探针提供连接来测试芯片。在美国5,593,903号专利中,Beckenbaugh等人提供了一种在通常的集成电路制造工艺之后,在半导体晶片上淀积多层金属层和绝缘层的方法。这些晶片导电体一端电学耦合到晶片的上的每个集成电路芯片的引线上,另一端连接到晶片外围测试引线上。因此,晶片导电体,晶片测试引线,接触引线允许每个电路芯片单独进行电学测试。当所有的测试器在测试完后都移走时,每个集成电路芯片上的引线都回复到原来测试导电体形成之前的状态。
所有以上这些为了建立晶片级连接的发明,都需要额外的工艺过程。这些额外的工艺增加了成本。也使成品率降低。这些晶片上的导线把晶片上的所有集成电路芯片连接在一起。目前集成电路技术使用的晶片通常是8英寸的,集成电路工艺正向12英寸迈进。每个晶片上有数千个芯片。晶片积连接就需要数千8英寸或者12英寸的线来连接每个片子上的所有芯片。这些导线占用了晶片的大量空间。因此在以后的划写过程中会带来额外的成品率损失。去除测试导线的腐蚀工艺也会带来额外的成品率损失。由于大面积测试线的电阻一电容传输延迟(RC延迟),使用大面积的导线进行高频测试是非常困难的。所有这些发明提供了一次测试一块的方法。这些方法在测试时间上没有多大的改进,而测试时间往往是一个决定测试成本的重要因素。所有上面的方法只有在晶片级测试中或者可靠性老化测试中有用,它们并不支持集成电路生产的实际应用。
因此,提供一种使用小数目小面积导线来进行晶片级数据传输方法是非常有必要的。也同样有必要支持并行测试,那样大量的芯片可以同时进行测试。测试时间,也就是测试成本可以显著缩小。晶片级数据传输方法不仅仅对测试是有用的。在集成电路生产中使用晶片级连接提供强大的并行处理更是一种必要。
发明内容
本发明的首要目标是提供一种有效的数据传输方法以支持大量集成电路芯片的并行处理。发明的一个目的是简化连接,支持晶片级测试。另一个目的是提供避开坏电路的一个机动性的方法。还有,另一个目的是在不增加额外制造工艺的前提下,提供晶片级的连接。这项发明的其它主要目的是制造多块集成电路以达到前所未有的性能。这项发明的所有目标是通过芯片间数据传输方法来实现的。这项发明的每个独立芯片中包含有控制数据传输到下一个芯片的内部电路。晶片级数据传输是通过一系列芯片间数据传输来实现的。在这项发明中,驱动器和芯片间数据传输电路的接收器的距离很短。因此,有望使用小数目小面积晶片级导线来支持晶片级并行处理。划写线上的金属线可以很短和很窄。它们也不会在划写过程中导致短路。外部的连接通过在晶片的周围的短的导线来提供。有可能通过小数目的外部信号控制数千芯片的并行处理。每个芯片上的控制逻辑可以编程实现避开晶片上的坏电路。因此有望制造包含高成品率的芯片的集成电路。
这项发明的独特之处在后面中将被特定指出,通过后面的详细的描述和图例,这项发明无论从组织上、内容上,还是目标上、特点上,都会得到很好的理解和赞同。
附图说明
图1显示了该项发明的一个晶片级连接的一个例子的物理结构
图2(a)密封环结构的俯视图
图2(b)以前设计的密封环的截面图
图2(c)图2(a)中的密封环的截面图
图3(a)内部检测电路的示意图
图3(b)是图3(a)中内部测试电路的几个重要时间控制信号的波形图
图4(a)展示了一个支持16片晶片中所有芯片同时测试的晶片盒子
图4(b)展示了图4(a)中的测试盒的晶片级连接的侧视图
图4(c)是图4(a)中测试盒的俯视图
图4(d)显示了该项发明的晶片级连接的另一个例子
图4(e)该项发明的晶片级连接的另外一种方法的放大的示意图
图4(f)显示了一种缩短测试数据输入输出时间的方法
图4(g)测试系统的框图
图5显示了二维晶片级时钟网络
图6(a)显示了一个单输入信号扫描链数据波形图的4个例子。
图6(b)描述了支持图6(a)中幅度可变信号的测试电路
图6(c)展示了使用图6(a)中幅度可变信号的简单化的晶片级连接。
图6(d)是使用图6(a)中幅度可变信号的测试系统的框图
图7(a)显示了长度可变的扫描链的结构
图7(b)显示了另一种芯片间数据传输机制,该机制允许每个芯片都可以是测试数据传输的首发者。
图7(c)是描述图7(b)中数据传输机制的流程图
图7(d)显示了应用可变长度扫描链的物理结构
图7(e)是图7(d)中的测试系统的流程图
图8(a)展示了多片集成电路的物理结构
图8(b)描述了使用16片集成电路的高性能计算机的系统配置
图8(c)是图8(b)中的计算机的芯片间数据传输机制的流程图
图8(d)是图8(a)中的集成电路的芯片间数据传输机制的控制逻辑的流程图
图8(e)展示了支持晶片级测试二维芯片间信号传输方法的结构图
具体实施方式
本项发明可以用作强大的复杂的应用。为了演示这些复杂的应用,我们先从几个与当前技术类似的例子开始。在整个发明演示完之前,一些复杂的例子将逐渐深入被介绍。有一点值得注意的是这些例子仅仅是用作显示,而不是本发明的所有内涵。
图1演示了本发明中的半导体晶片101内的晶片级连接。晶片101上面包含有大量的集成电路芯片103,104,它们用小方块表示。图1中的下面部分的图示是集成电路芯片104中的一个芯片的放大的细节。每个芯片包含有核心电路105,测试电路107,和大量的引线106。核心电路支持集成电路的功能应用。测试电路107用来测试以保证芯片是没有错误的。引线106提供了每个芯片输入输出信号的连接点。这些引脚中的一部分(Vss,Vcc,Di,Qo,Cko,Cki)也用作芯片间连接。每个芯片的电源引脚(Vcc)如图1所示和邻近的芯片相连。通过这种方式,晶片101上所有芯片的电源引脚都连接在一起形成一个连续的电源网络。晶片上的每个芯片的零线(Vss)也类似和邻近的芯片相连,形成一个连续的网络。所有芯片中,处于同一行的具有同样的方向。每个芯片上的测试电路107有一个数据输入引脚(Di),一个数据输出引脚(Qo),一个时钟输入引脚(Cki),和一个时钟输出引脚(Cko)。每个芯片的数据输入引脚(Di)和前一个芯片的数据输出引脚(Qo’)相连,而数据输出引脚(Qo)和下一个芯片的数据输入引脚(Di’)相连,这样,同一行的芯片形成一个测试数据通道。每个芯片的时钟输入引脚(Cki)和前一个芯片的时钟输出引脚(Cko’)相连,而时钟输出引脚(Cko)和下一个芯片的时钟输入引脚(Cki’)相连,同一行的芯片的测试时钟也连成一个系列。邻近行上的所有芯片都旋转180度。这样,相邻行的芯片的数据通道和时钟通道的传输方向相反,这就便于我们把晶片上的所有测试电路107,108连接在一起。
为了防止水汽带来的可靠性问题,所有集成电路芯片的外面边缘有连续的被称为“密封环”的金属墙包围着,在图1和图2(a)中用粗线表示。图2(b)显示了以前设计的密封环的截面图。密封环的边缘有一道由所有金属层(M3,M2,M1),金属层间接触层(via2,via),扩散接触层(CC)组成。扩散接触层是p型的,以便于金属墙231与p型半导体基底237短接。在表面金属层233和层间绝缘层234上面淀积一层防水层233。防水层233和金属墙231形成一道防止水汽侵入集成电路的防护层。以前设计的密封环对于晶片级连接是一个障碍,因为金属层(M1-M3)没有一个能够在不和基底237短接的情况下通过金属墙231。有几种方法可以克服这个问题。一种方法是使用外在的探测卡来达到晶片级连接。这种探测卡就需要有数千条探针和晶片的所有芯片相连接。但是这种探测卡是非常难制造的。第二种方法是在所有的集成电路制造工艺完成后,使用额外的金属层淀积在防水层233的上面来达到晶片级连接。这种方法是可行的,但是,它增加了更多的金属层和平板印刷任务,也就增加了制造成本。图2(a,c)中描述了一种使用现有的制造工艺而不增加制造成本,而又可以达到晶片级连接的方法。图2(a)显示了本发明的密封环201的俯视图。密封环201被分成几个区。每个芯片间连接线202在它通过边界和下一个芯片连接之前和密封环的一个区相连。密封环区间的金属墙不再形成一道不同区间边界上连续的金属墙。有两种方法可以阻止水汽侵入密封环的不同区间的边界207。第一种方法是把边界制造成如图2(a)所示的环绕的狭窄小道207。第二种方法是在密封环的外边界211用防水层填充。图2(c)的截面图进一步说明该密封环的结构。该截面图是在图2(a)用双点划线标志的219位置取下来的。在那个位置,有4道空间邻近的金属墙221这些金属墙,除了扩散接触层223是连接到p型基底225中n型扩散层224之外,有如前面如图2(b)所示设计的金属墙同样的结构。因此这些金属墙221和基底225并不是短接的。防水的绝缘层227不仅仅覆盖在上表面,还填充在密封环的外边缘211;同时它也填充在金属墙221之间的空间部分228。回过头看图2(a)中的俯视图,密封环边界207的外面开口208被防水的绝缘层227密封。即使一些水汽穿透开口部分208,在到达内部电路之前,水汽必须通过一道很长的,狭窄的,弯曲的通道207。使用图2(a,c)所描述的方法,我们可以把密封环201分割成一些互相不相连的区域,而不会引入水汽导致的可靠性问题。在集成电路制造技术中,不同芯片间的晶片级连接可以利用金属层(M1-M3)通过密封环。
上面的晶片级连接允许我们通过一些小的金属线202把不同芯片上的测试电路107,108连接起来。每根芯片间连接线通常短于0.1毫米,一般几微米宽。这些小金属线202一般不会在划写过程中导致短路。图1中的晶片上每一芯片的测试电路107,108被用来传输数据和内建自测试程序(BIST)。图3(a)中的框图时测试电路的一个例子。测试电路里包含了一个扫描链,该扫描链里包含有大量的触发器303和多路复用器305。测试数据输入(Di)连接到第一个触发器的数据输入端(D1)。那些多路复用器305通过控制信号SFT控制。当SFT处于高电平是,第一个触发器的输出数据(Q1)被发送到第二个触发器的数据输入端(D2),第二个触发器的数据(Q2)输出道第三个触发器的数据输入端(D3),...,倒数第二个触发器的数据被输出到最后一个触发器的数据输入端(Dn),这样,扫描链301变成了一个位移寄存器,在扫描链时钟控制信号(CK)的上升沿,每个触发器的输出数据被移动到下一个触发器的数据输出端。当SFT为低电平的时候,内部信号R2被发送到第二个触发器的数据输入端(D2),内部信号R3被发送到第三个触发器的数据输入端(D3),...,内部信号Rn被发送到最后一个触发器的数据输入端(Dn),这样,扫描链(301)成为一个并行寄存器;在扫描链的时钟控制信号(CK)的上升沿,输入信号(Di,R2,R3,.,Rn)被触发器同时加锁。扫描链上的触发器的输出数据被发送到逻辑测试电路321。逻辑测试电路从测试图发生器接受控制信号(TC),也发送控制信号到测试图发生器。测试图发生器323产生测试向量(TP)到集成电路的核心电路331执行内建自测试。测试向量(TP)同时也被发送到参考测试图发生器325,该参考测试图发生器提供“校准向量(GP)”到比较器327。比较器327对核心电路331的输出信号(RP)和校准向量(GP)进行比较,如果检出错误,标记错误信号(FL)。这个错误信号(FL)被发送回测试逻辑321,执行图3(b)所示的错误处理过程。所有上面电路的时间控制是由一个时钟信号发生器315控制。时钟信号发生器315接受一个内部的振荡器313输出信号产生一个高频的内部时钟信号(CLK)来控制测试电路323,325,327和核心电路331的时间。时钟信号(CLK)的频率和形状可以由测试控制信号(TC,Q1-Qn)来控制。同时时钟产生器315也接受测试时钟输入(Cki)来产生扫描链时钟信号(CK)。测试时钟输入信号(Cki)备份到一个缓冲317里,产生测试时钟输出信号(Cko)到下一个芯片。扫描链时钟(CK)同时也受失败信号(FL)和其它测试控制信号(TC,Q1-Qn)的控制。
图3(b)显示了测试电路107,108的重要控制信号(Cki,SFT,CK,TE,FL)的时间关系。信号TE是一个由测试向量321产生,用来控制是否激活内建自测试程序的测试信号。当移动信号(SFT)显示扫描链移动操作完成时,或者当扫描链输出(Q1-Qn)信号需要内建自测试时,TE信号处于开的状态。开始时,所有的控制信号都处于0电平状态。在如图3(b)所示的时间T1时,测试逻辑321检测出第一个测试时钟输入(Cki)信号的上升沿,激活移动信号(SFT)。时钟发生器315产生扫描链时钟信号(CK),移动扫描链301里的数据。在时间T2,Cki处于无效状态,表面所有的测试控制数据(Q1-Qn)已经被移动到相应的位置。测试逻辑321等待一段比Cki周期长一点的时间后,当确定没有扫描链移动时,在T3时刻,时SFT无效。如果扫描链输出(Q1-Qn)要求自检,在SFT刚刚失效后,测试控制信号TE被激活开始内建自测试。核心电路331在内部时钟信号(CLK)的控制的频率下由测试图发生器323进行测试。在时刻T4,当一个错误被比较器327检测出来时,失败标记信号FL被激活,一个脉冲被发送到CK来锁定输出向量(R2-Rn)到扫描链301中。这种错误处理过程允许我们保存错误数据到扫描链中;同时它也允许我们改变测试顺序以得到更多的数据。在时刻T5,Cki被激活,意味着一个新的扫描链数据移动开始。测试控制信号TE失效,停止内建自测试。当最后的失败向量(R2-Rn)被加锁后,失败标记信号(FL)在时刻T6失效。当扫描链时钟信号CK通过扫描链输入引脚(Di)接受到新的测试控制参数时,扫描链时钟信号CK被激活,移动测试结果到扫描链输出引脚(Qo)。
以上扫描链测试方法在集成电路设计中被广为所知。在本发明中,还有许多其它支持晶片级测试的测试电路。有一点值得注意的是,上面所描述的特定的测试电路只是作为演示而已,本发明底内容并不局限于此。本发明的新型结构是芯片间数据传输机构。相邻芯片的数据传输电路的连接形成一系列晶片级数据传输机构202。晶片级数据传输方法需要最少的晶片级连接。使用两个信号,我们可以移动测试控制参数到所有连接的芯片中,开始高频并行处理,使用低频扫描链信号移出测试结果。
在我们的例子中,扫描链按照行连接在一起。应该被正确理解的是,这种特定的连接模式仅仅用作演示,不是本发明的所有内涵。还有其它许多种方法可以连接扫描链--通过列连接,对角连接,正片连接,或者多片连接。图4(a)显示了一种多片上同时进行的晶片级测试。每个晶片401被安装在测试盒子403里。在这个例子中有16片片子被安放在测试盒里。晶片的方向由在晶片底部401楔角408挨着楔角409来控制。这些测试盒403通过电缆箱提供晶片级连接到系统级连接。在电缆箱的背面,通过连接口406可以提供更高级别的连接。图4(b)显示了测试盒403的前视图,图4(c)显示了它的俯视图。在图1描述的结构的基础上,晶片401上面的所有芯片的电源引脚(Vcc)和零线引脚(Vss)已经连接成二维的网络;每个探测卡只需要连接到每个电源网络的一个连接上。同一行的芯片的扫描链已经通过块建连接相互连接子啊一起。测试盒403通过探测卡上的金属探针415,416和金属线417,418把不同行的扫描链数据和时钟通道连接在一起。晶片401上面的所有扫描链也就连成一个大的扫描链。大扫描链的最开头的数据输入(Din),最后的数据输出(Dout),和一个扫描链时钟信号(CKp)可以通过测试盒的边缘接触得到。通过测试盒405的边缘接触(Din,CKp,Vcc,Vss,Dout)它可以和其它晶片相连接。
图4(b)中描述的测试盒每行芯片需要使用4根探针415,416。为了保证正确的探针连接,我们需要为不同的产品提供不同的测试盒。对于不同的产品有必要使用同样的测试盒。图4(d)描述了一种可以减少探针数目的方法。每一行末尾的芯片由一块晶片级连接441,443的特殊的芯片代替。晶片上的扫描链也就在不使用外部探针415,516的情况下连接在一起。每个测试盒403只需要5根探针(Vss,Vcc,CKp,Din,Dout),如果探针的位置可调,或者不同产品的5根信号线的引脚位置固定,它还可以用于不同的产品。使用连接线441,443代替每一行的末尾芯片来连接,并不会带来成品率上的损失,因为那些位置的芯片往往是有缺陷的。最主要的损失是我们需要为那些每一行末尾用作连接的芯片提供另一套掩模组。图4(e)显示了另外一种不需要添加额外的掩模组的方法。每个芯片的扫描链数据输出引脚(Qo)不但与同一行的下一个芯片的数据输入引脚(Di’)相连,而且它还与同列的下一个芯片的数据输入引脚(Di”)相连。同时扫描链I/O信号(Di,Cki,Cko)也以图4(e)所示的方法与同行和同列的相邻芯片相连。垂直方向的芯片间连接线461,462,465,466设计成它们可以在划写线的辐射点463,467被激光辐射所切断。通过切除适当的垂直线来配置晶片级连接。由于所有芯片间连线由同样的掩模组产生的,没有必要使用额外的掩模组。这种方法同时也提供了额外的配置晶片级连接的灵活性。一种可供选择的晶片级连接如图4(f)所示。对于这个例子,扫描链每一行的扫描链连接在一起。通过连接线451,453,所有行末尾的芯片的扫描链输入(Din,CKp)在左边连接在一起。每一行我们需要一根探针455来收集扫描链数据输出信号;这些数据通过数据线457传输到边缘引脚(Dbus)。由于每个晶片级扫描链变短,我们可以以更快的速率开始测试和获取测试结果。然而,我们需要更多的数据输出总线(Dbus),扫描链输入(CKp,Din)上的负载也就更大。
图4(g)是本发明的测试系统的框图。16片晶片403被放在烤箱481中同时进行测试。16片晶片的电源线和控制信号通过电缆箱405连接在一起,然后,使用烤箱背后的电缆471把它们从烤箱中拿出来。一台计算机通过发送16个数据输入数据(Din)到这些晶片上来控制测试过程,记录16个扫描链的输出数据(Dout)提供的测试结果。同一台计算机控制可编程电源提供器473提供的测试电压。同时,它也控制由温度控制器483调整的测试温度。为了以统一的速率提供数据,扫描链数据被存储到数据缓冲477里。数据缓冲477提供一个时钟信号(CKp)来定义扫描链数据速率。计算机479向数据缓冲477以随机的速率发送输入数据脉冲。当数据缓冲477储存了足够的扫描链输入数据是,它就开始通过数据输出端口476以CKp定义的时钟速率向晶片移动数据。同时,通过数据输入端口475,扫描链输出数据(Dout)以由CKp定义的同样的速率被存储到数据缓存477中。当计算机数据线有效时,这些输出数据通过数据缓冲477被发送会计算机479中。这种测试系统使用现代电子工业通用的设备,但是它的表现好于现在大多数复杂的测试系统。这个测试系统的优越性通过下面章节的一个实际例子来得到说明。
这个例子中,该项集成电路产品在每一个晶片上有1000个芯片,每个芯片都如图4(e)所示芯片间连接在一起。每个片子只需要5根探针相连。产品的自测电路如图3(a)所描述。每个芯片的内建自测试模式包含有16个测试程序;每个测试程序有大约1百万个测试向量。产品的最大时钟速率时320MHZ。它有一个内部振荡器313,该振荡器可以编程进行320MHZ高速度校准,或者20MHZ数据保持测试。在320MHZ,3.3伏的工作状态下,他的功率消耗大约2瓦,在20MHZ状态下,功耗大约0.15瓦。当内建自测试被禁止时,振荡器失效,功耗几乎接近为0。每个芯片上的扫描链包含由32个触发器;扫描输出(Q1-Q32)的功能在表1中定义。只有在Q1处于高电平,并且没有扫描链移动操作时,内部自测模式才有效。当扫描链不在移动数据时,寄存器Q6-Q2被定义为5位的二进制计数器。当内建自测试开始时,测试图发生器323根据前面扫描链移动操作决定的Q5-Q2的初值执行最先的测试程序。只要集成电路通过测试程序,二进制计数器的值增加,开始下一个测试程序。这些过程不断重复一直持续到下一个扫描链移动操作开始进行或者检测到错误发生。如果检测到错误发生,Q1被复位,内建自测试停止,失败测试条件被记录在Q6-Q2中。触发器输出Q31-Q27被用来控制集成电路里的配置。当一个晶片上的1000个芯片的扫描链通过激光辐射过程连接成一个大的扫描链时,整个片子的测试能力将由于一个芯片上的错误而失效。Q32是个重要的信号,它允许我们通过禁止坏的芯片上除了扫描链以外的电路来避免一些坏的芯片的影响。Q32可以通过扫描链移动操作或者一个简单的每次电源打开时自动执行的开机自检来复位。当复位Q32不能激活测试链时,我们仍能可以通过适当的激光辐射来避开坏的芯片。
表I:扫描链寄存器的输出定义
寄存器输出     功能
Q1     内建自测试控制
Q2-Q5     当前的测试程序或者第一个测试失败的程序
Q6     当前的测试频率或者第一个测试失败的频率1代表320 MHz,0代表20MHz
Q7-Q26     第一个测试失败的测试向量
Q27-Q31     可编程的配置选项
Q32     禁止除扫描链之外的所有电路
经过适当的初始校准和激光设置后,16个片子按图4(g)方式放在测试系统上。同时有16000个芯片进行测试。计算机479通过32K大小的扫描链移动周期向16000个芯片发送512K字节的控制信号开始测试,测试结果可以通过同样的扫描链移动过程返回。一旦扫描链移动过程完成后,所有芯片上的自测同时开始进行。在320MHZ的工作状态下,系统每秒可以执行5,120,000,000,000条测试向量。但是,同时在最高频率下测试芯片是不现实的,因为峰值功率将达到32KW,系统的噪声也将太大。解决方法是让芯片中1/17的开始进行高频率测试,其它16/17开始以16个低频测试程序中的一个进行测试。320MHz测试将比20MHZ测试快16倍。一旦自测开始后,轮流有1/17的芯片进行高频率测试,而其它芯片进行低频测试。通过这种方式,总测试时间是一样的,但是峰值功率将降到4KW。功率消耗在时空上被均匀分配,同时系统噪声也就显著降低。系统功率可以通过使用Q1控制信号禁止一部分芯片而得到进一步降低。例如,我们可以一次测试1/4的芯片把功率降低到1KW,当然,测试时间将增加4倍。
上面的例子很清楚的显示了该项发明的测试系统可以达到前所未有的高测试效率和低的损耗。对于功能测试,32个内建自测试BIST程序可以在16000芯片上一秒钟内执行完毕。坏的芯片位置或者向量都被记录在计算机上。没有必要在坏的芯片上打点做记号,也没有必要使用复杂的步进设备。如果做稳定性老化测试,这套测试系统的优越性将更加明显,16000个芯片测试可以同时进行。测试原位进行,没有必要为某个测试目标而中途停止,计算机可以为每个可靠性不好的块记录时间,位置,以及向量。使用这项发明,对于IC产品而言,测试费用和老化测试损耗将可以忽略不记。
在上面的例子中,每个芯片中的扫描链时钟输入信号在信号(Cko)被发送到下个芯片前复制到内部缓冲317中。对扫描链进行缓存可以减少系统时钟信号(CKp)的负荷量,系统时钟信号每次只与每个片子的一个芯片相连,而不是16000块。然而,时钟缓冲方式成为扫描链I/O过程的一个速度限制因素。在我们的例子中,每个芯片的传输延迟大约4纳秒,整个片子的总延迟时间就大约4毫秒。图4(g)中的数据输入端口需要在同一个时钟里接收这块片子上最后扫描链的最后输出。CKp的周期必须比片子上的扫描链时钟总延迟时间要长。在上面的例子中,CKp的频率被设置为50KHz。移动32K扫描链数据的时间为0.64秒,这对于测试目标是足够了,但是我们需要更快数据速率以为其它操作所用。一个很明显的减少扫描链数据访问时间的途径是按图4所示把所有的扫描时钟输入(Cki)连成一个信号。所有芯片的扫描链时钟信号通过水平的和垂直的芯片间连线连在一起。通过这种方式,CKp的频率不再受时钟缓冲的传输延迟的限制;扫描链数据移动时间可以缩短好几个量级。然而,时钟信号(CKp)的负载增加了1000倍。在这种情况下,时钟线的RC延迟将成为速度限制因素。
另外一个解决速度限制的方法是使用新型的扫描链输入信号以支持Cki和Di提供的功能。换句话说,这种新型的信号(Ki)必须能够告诉扫描链输入数据的值和移动数据到扫描链的时间。图6显示了几种提供扫描链输入信号(Ki)的途径。图6的第一个波形显示了幅度变化方式。二进制值“1”由满幅度(Vcc)脉冲表示,二进制“0”由半幅度(Vcc/2)的脉冲表示,幅度变化信号的上升沿定义了移动数据的时间。图6的第二个波形显示了相位变化方式。输入脉冲相位移动180度表示“0”。这种方式在现代局域网中数据传输技术中已经很常见。另外一个种方法是用调制上升的斜率和接着的沿来表示不同的二进制数据,图6的第三个波形表示了这种方式。
图6(b)中框图表示的测试电路支持图6(a)第一个波形表示的幅度可变的扫描链信号。除了三个信号放大器631,632,535外,图6(b)中的所有电路和图3
(b)中的电路是一样的。时钟信号放大器631在1/4Vcc的地方有个触发点,只要输入信号(Ki)的幅度大于1/4Vcc,他的输出(Cki)就是满幅度的Vcc,同时只要输入信号(Ki)的幅度小于1/4Vcc,Cki的值就是Vss。通过这种方式,和Cki图3(a)中的的扫描链时钟输入信号一致。数据信号放大器632在3/4Vcc点有个触发点,只要输入信号(ki)大于3/4Vcc,它的输出(D1)就处于满幅度Vcc,同时只要输入信号小于3/4Vcc,D1的值就是Vss。通过这种方式,D1和图3(a)中的扫描链数据输入信号(Di)一致。为了传输最后扫描链输出数据(Qn)到下一块,我们需要使用另一个放大器635来转换Qn到幅度变化模式。当Cki和Qn都等于逻辑“1”时,输出信号放大器635的输出(Ko)等于Vcc,当Cki等于“1”,Qn等于“0”时,Ko等于1/2Vcc。现在,很明显,在技术的相同点上,图6(b)中电路的功能和图3(a)中电路的功能是一致的。为了缩短专利说明的长度,我们将不再描述图6(a)中的其它波形支持的电路,经过刨析上面的例子,任何一个熟悉这种设计技术的人都能设计出这些电路。
使用图6(a)描述的信号格式,每个扫描链只需要一个输入信号引脚(Ki)和一个输出引脚(Ko),如图6(c)所示。晶片级信号连接被大大简化,因为只有一条连续的数据通道。测试盒603中的数据输入引脚(Din)以Kin代替,数据输出Dout被Kout代替;同时我们不再需要一个时钟引脚。图6(d)演示了支持幅度可变信号的测试系统。这个测试系统除了附加的信号放大器外和图(g)中的是一致的。具有和图6(c)中输出信号放大器635同样的功能的第一个数据放大器641,把扫描链输出(Kout)以幅度变化方式转换成二进制数据(Dout)脉冲。具有和图6(c)中输入时钟信号放大器631同样功能的第三个信号转换器643,把扫描链输出(Kout)转换成时钟信号(Ckp’),该时钟信号控制存储测试结果(Dout)到数据缓冲645中。在这种方式下,输出数据的时钟控制(Ckp’)不再需要与控制数据输入的时钟脉冲同步。因此,扫描链移动可以在一个很高的频率下工作。
另一种提高扫描链I/O数据速率的方法是减少扫描链上的触发器数目。然而,我们并不想牺牲每个芯片上的测试控制信号(Q1-Qn)的数目。一个解决方法是使用如图7(a)所示的长度可变的扫描链。长度可变的扫描链705包含有大量的子扫描链701,大量的输入多路复用器703,一个输出多路复用器706,一个解码器708,和一个分开的控制扫描链707。解码器708使用控制扫描链707上的触发器的输出来产生两套选择信号(Msel,Mcbus)。第一套选择信号(Msel)从子扫描链(Qr1,Qr2,....,Qrm)的输出信号和数据扫描链输入信号(Ddi)中选择一个而且只选择一个作为数据输出信号(Qdo)发送到下一芯片。另一套选择信号(Mcbus)控制子扫描链的输入以至于最后一个向可变扫描链的输出和Msel选择的信号是一致的;当Msel选择Ddi作为Qdo是,所有的子扫描链输入(Dil,Di2,......,Dim)都被置0;当Msel选择Qr1作为Qdo是,Ddi被发送到Di1,而Di2,Di3,...,Dim都被置0,可变扫描链的长度也就等于一个子扫描链的长度;当Msel选择Qr2作为Qdo是,Ddi被发送到Di1,Qr1被发送到Di2,而Di3,...,Dim都被置0,可变扫描链的长度也就为两个子扫描链的长度;....,当Msel选择Qrm作为Qdo是,Ddi被发送到Di1,Qr1被发送到Di2,Qr2被发送到Di3,...,可变扫描链的长度也就为所有子扫描链长度之和。使用如图7(a)所示的可变扫描链,我们可以通过分开控制扫描链707来设置每一个芯片上的扫描链的长度,那样我们不需要移动不必要的数据到晶片级扫描链中去。举个例子,如果我们只需要发送数据到晶片中的一个芯片,我们可以设置其它芯片中的扫描链长度为0以节省传输时间。长度可变扫描链提供一种方法,通过设置坏的芯片的扫描链长度为0,而避开坏的芯片。控制扫描链长度的控制信号可以由每个芯片上的内部逻辑控制。如果输出信号Qdo由内部逻辑电路产生,从晶片上的其中一个芯片开始扫描链移动操作也是可能的。
图7(b)描述了另一种高速晶片级串行数据传输机制。在这个例子中,输入输出信号(Ki,Ko)被用作特殊格式的幅度可变信号;串行信号的前4个脉冲总是包含4位目标标志号(IDt),如图7(b)中的波形所示。从前一个芯片接受过来的幅度可变的输入信号(Ki)被发送到和图6(b)所示放大器631一致的时钟信号放大器724中,产生4位移位寄存器721的控制时钟信号(CK)。输入信号(Ki)也被发送到和图6(b)所示的632一致的数据信号放大器723中,产生输入到移位寄存器721中的第一个触发器(D1)中。在前4个脉冲都接受到以后,4位的移位寄存器给芯片标记号码(IDt)加锁。加锁的标记号码(Q1-Q4)被发送到比较器/逻辑电路728中,该电路通过图7(c)所示的流程图来决定数据传输过程。在断电初始化后,晶片上的每个芯片上都加上一个唯一的芯片标记号(IDd)。当从前一个芯片上接受信息时,把接受到的标记号和当前标记号比较。假如这两个标记号是一致的,余下的扫描链数据被移进内部扫描链729中。如果数据传输过程没有被中断的话,那些数据完全接受后,将被发送到核心电路722中。如果这两个标记号不一致的话,这就意味着当前芯片不是该消息的目标芯片,比较器/逻辑电路728检测输出电路是否存在冲突。如果没有冲突的话,消息将被按照输出信号Ko继续向前传输。如果当前芯片正在发送一个高优先级的消息到下一个芯片时,接受任务将被拒绝,发送者将被要求重发数据。拒绝消息将通过另一个串行数据传输电路以相反方向传输来完成,这在图7(b)中没有显示。比较器/逻辑电路728也发送一个消息到下一个芯片中,如图7(c)中的流程图所示。图7(b,c)中的数据传输方法比图7(a)所示的方法有更大的灵活性。输入消息在它的接受者里停止;不存在数据移动操作的浪费。它也允许任何一个芯片发送消息到外部系统中或者到其它不同芯片中;因此当数据准备好之后,就触发输出,而不是等待外部的输出过程。
长度可变扫描链的优越性将进一步通过一个实际的例子来演示。这个例子中的集成电路产品在每个晶片上有1000个芯片。如图7(d)所示每个芯片上有一个长度可变的扫描链,该扫描链有两个数据输入(Dri,Dci)和两个数据输出(Qro,Qco)。邻近行的芯片被旋转180度,那样邻近行的扫描链将以相反方向传播。行数据输入(Dri)被连接到同一行前一芯片的行数据输出(Qro’)上。列数据输入(Dci)被连接到邻近上一列芯片的列数据输出(在图中没有显示出来)。行数据输出(Qro)被连接到同行下一个芯片的行数据输入(Dri’)上。列数据输出(Qco)被连接到同列邻近列数据输入(Dci”)上。数据输入(Dr1,Dci)在逻辑上是“或”的关系,因此扫描链对任何一个输入都会有反应。扫描链输出取决于每个芯片上的控制位(Dcr)。在开机复位后这个控制位被付与初值“0”,它可以通过扫描链触发器(Q01)来设置。当Dcr为“0”时,Qco总是为“0”,扫描链数据输出被发送到Qro;换句话说,当Dcr为“0”时,扫描链数据移动到下一个芯片中。当Dcr为了“1”时,Qro总是为0,扫描链输出被发送奥Qco中;换句话说,当Dcr为“1”时,扫描链数据移动到邻近下一行的芯片中。每个扫描链791有4个子链。长度可变扫描链的触发器的输出如表II所示。
以上扫描链结构允许我们通过图7(e)流程图表示的测试过程来对扫描链进行电学配置。开机后,所有的扫描链触发器输出(Q49-Q00)被复位为“0”。可变扫描链791的长度也就等于0号子扫描链的长度,该子扫描链有4位。这时,沿着行的方向所有扫描链时被连接在一起;只有晶片最上一行的芯片可以和外部控制信号相连。外部控制器必须移动数据到扫描链中来设置第一行的最后一个芯片的Dcr信号为“1”,以使和第二行上的芯片连接上。下一个过程中时设置第二行的最后一块的Dcr信号为“1”...。通过这些类似的过程,我们可以一行接一行的把晶片上的芯片连接起来,直到晶片上的扫描链被连接成一个大扫描链。如果其中一个芯片上的扫描链功能失效时,我们可以通过设置该坏的芯片的前一芯片上的Dcr来跳过这个坏的芯片。上面的过程看起来很冗长,实际上它的执行时间不超过一毫秒。由于这时候扫描链只有4位,而且扫描链中使用50MHZ的幅度可变信号,那些过程的执行也就非常快。
当晶片上的所有有效的扫描链被连接成一个大扫描链时,扫描链的长度通过数据移动过程被设置成3个子扫描链的长度。在下一个扫描链输入过程中,每个芯片被赋予一个唯一的标记号(10位)。第一个要被执行的程序通过设置5位的初始测试程序号进行初始化,同时内建自测试控制信号被设置。一旦数据移动过程完成后,晶片上1000个芯片上并行测试开始执行。只要检测到错误时,内部测试逻辑电路将自动设置扫描链长度为总长度,然后开始扫描链移动操作输出39位的失败信息到外部的控制器中。
表II:可变长度扫描链的输出定义
 触发器输出  子扫描链数目     描述
 Q00  0     内建自测试控制信号
 Q01  0     输出方向:“1”代表列,“0”代表行
 Q03-Q02  0     活动的子扫描链数目
 Q13-Q10  1     当前的或者第一个测试失败的程序加上Q14作为5位的计数器
 Q14  1     当前的或者第一个测试失败的频率“1”代表320MHz,“0”代表20MHz
 Q29-Q20  2     10位的芯片标记号
 Q49-Q30  3     20位的测试失败的向量
上面例子描述的测试特点对于支持可靠性老化测试中尤其方便。扫描链的电学连接具有可以避开坏的芯片的灵活性。经过初始化以后,数千个芯片可以同时进行测试。由于可靠性失败信号可以自动的报告它自己的失败状态,外部测试器没有必要检查结果。
和传统的集成电路制造工艺技术兼容,晶片在制造完成后可以按照通常的方法,分割和划写,把单独的集成电路从晶片上分离下来。每个独立芯片都必须有它自己的密封环和引脚,那样它可以固定到引线框上,作为一个功能模块封装成一个独立产品。这些密封环和引脚是芯片间连接的主要障碍。芯片间连接的空间也就非常有限。这就是我们在前面例子中竭力减少芯片间连接线数据的原因。在前面例子中,那些电路对于支持晶片级测试和可靠性老化测试是足够了。然而,本发明不是仅仅用作传输低带宽测试信号。我们可以使用本发明的芯片间数据传输方法制造高性能的产品,如图8(a-d)中例子所演示的。
图8(a)展示了本发明的多芯片集成电路(MDIC)结构。每块晶片801上面的芯片被分成不同组804,805。多芯片集成电路(MDIC)804,805在空间上被划写线807分开。每个多芯片集成电路(MDIC)804,805包含有两类芯片,“核心芯片802”,和“I/O芯片803”。通常,集成电路芯片是由芯片周围的划写线来定义的。本发明的多芯片集成电路(MDIC)中的芯片没有必要由划写线分开。这种情况下,芯片由光学印刷步进单元或者计算机辅助设计(CAD)版面单元来定义。在这个例子中,一个多芯片集成电路实际上就是一个独立的集成电路产品。一个芯片被定义为一个具有它自己的芯片间通讯电路的集成电路。核心芯片802不需要密封环或者引脚。每个核心芯片802通过芯片间数据传输电路811-814和邻近的芯片进行通讯。它和邻近芯片间没有诸如密封环或者引脚之类的障碍。芯片间连接可以是几微米长,小于1微米宽。因此,在芯片间可以由数千根信号线815,817。芯片间的电源线或者时钟线也是可以方便的布上。多芯片集成电路的外围被I/O芯片803围着。每个I/O芯片803包含有I/O数据传输电路821,该传输电路包含有I/O驱动器,总线控制逻辑电路,引脚822来支持和外部电路的通讯。I/O数据传输电路也和邻近核心芯片的芯片间数据传输电路819通讯。I/O芯片803也有密封环823与多芯片集成电路804,805间形成一道严密的水汽隔垒。
图8(b)展示了本发明的一个具有16片多芯片集成电路的系统。多芯片集成电路804已经从晶片上切割和分离下来。每个多芯片集成电路都被焊接卡841支持。焊接卡841使用通用的引线提供和多芯片集成电路里的I/O芯片引脚的信号和电源连接(在图中没有显示出来)。一个电缆箱843提供焊接卡841,858间的连接(图中未标出)和与外部电路的连接。一台计算机846通过数据缓冲845和多芯片集成电路进行通讯。计算机846也和大容量内存,外部I/O设备通讯。多芯片集成电路上的每个芯片都经过测试。在先前的测试中失败的坏芯片854,862使用如图8(b)中的阴影区域标记出来。计算机记录发现错误的那些坏芯片854,862,避免使用执行曾被发现执行失败的功能。同时也对多芯片集成电路中的芯片间的数据传输电路控制信号进行初始化,以便于在系统的数据传输过程中可以避开那些坏芯片。图8(b)展示了一个这种系统的数据传输过程。一个传输过程从一个核心芯片853出发绕过坏芯片854到达目标芯片9855).一个传输过程从第一个多芯片集成电路840的一个核心芯片856开始,到I/O芯片857的边缘,然后到达另一个多芯片集成电路858。一个传输过程由于一个坏的I/O芯片862的影响而被阻塞,以至于开始的芯片861必须绕过坏的I/O芯片862通过电缆箱843发送数据到外部的数据缓冲845中。另一个传输过程从芯片851出发,到目的芯片852。有多种路径可以到达目标芯片。每个芯片的据传输逻辑能够找到到达目标芯片的最有效的路径。所有这些数据传输过程是通过基于图8(c,d)中流程图所描述的逻辑电路来控制。
经过开机初始化过程后,多芯片集成电路上的所有芯片准备接受系统传输信号。计算机846知道所有坏芯片的位置和问题,同时它也知道多芯片集成电路中的所有芯片的功能。它从写程序和初始数据到每个芯片中开始一个系统的传输过程,初始化控制信号到所有芯片的芯片间数据传输电路中。在系统传输过程完成后,每个功能芯片开始执行系统提供的内部程序。程序只有在需要调用外部过程如内存装载/存储过程或者子过程调用才停止。如果需要的数据或者指令在芯片的内部缓冲中能被找到,芯片可以自己完成这些调用。如果内部缓冲不能完成调用,将检查内部的查找表来寻找目标数据的位置,一个任务传输过程就被启动。因为目标芯片和源芯片都有自己的算术逻辑单元(ALU),它们两者都有能力完成这个任务。内部逻辑需要决定哪种方法更有效。大部分时间,把任务传输给目标芯片将更有效。在某些情况下,要求目标芯片发送必需的信息到源芯片来完成任务更有效。在需要的信息不在同一个多芯片集成电路里的时候,任务被传输给I/O芯片,该芯片具有逻辑电路来传输任务到另一个多芯片集成电路中或者要求得到系统的支持。上面的数据传输过程通过一系列芯片间数据传输过程来完成。图8(d)就是一个描述控制逻辑如何找到传输数据到适当的目标的一个最好路径的流程图。在开机和系统传输完成后,数据传输逻辑处于闲置状态,直到由邻近芯片或者同一芯片的内部程序开始一个任务传输。传输逻辑检查目标位置找出邻近芯片中哪一个芯片最适合传输这项任务。如果选中的邻近芯片是有效的(可用的,并且没有被占用),任务开始被传输。如果选中的邻近芯片无效,第二个选择产生,以此下去,直到任务被传输。
上面的数据传输方法允许在邻近芯片间多方向高带宽通讯。因为,没有必要使用长的金属线,芯片间数据通讯可以有很高的带宽。向远的芯片或者外部设备传输数据可以通过一系列芯片间传输来完成。多任务传输可以同时进行。在源头和目标间可以有多条路线,这样一些无效的资源可以被跳过去。这种二维的芯片间数据传输方法使得制造高性能的产品成为可能。本发明的优越性可以由一个实际的例子来演示。在这个例子中,每个系统有16片多芯片集成电路,每个多芯片集成电路与256个核心芯片,排成16×16方阵。每个核心电路802都有一个微处理器826,该处理器包含有一个带有128位浮点运算单元826的64位算术逻辑单元(ALU),1K的64/128位寄存器827,和一个286K大小的内部缓冲825。内部缓冲825被分成一个数据缓冲和一个指令缓冲。这些微处理器比现在流行的微处理器的面积小,逻辑结构也简单些。芯片间数据传输电路811-814被放在核心电路802的4周。因为与邻近的芯片间没有引脚和密封环,每个传输电路811-814可以在邻近芯片间有4千根芯片间信号线相连。核心芯片的内部时钟速率是320MHZ。在每个多芯片集成电路里,有256个算术逻辑单元(ALU),256K寄存器,64M缓冲。每个多芯片集成电路的最快运算速率是每秒64G条指令,整个系统的速率是每秒1024G条指令。事实上,实际的计算能力和应用软件、系统的数据传输能力密切相关。进行高性能操作的关键是支持尽可能多的平行处理任务的传输数据和指令的能力。芯片间的数据总线带宽是大约每秒1T位。本发明的二维的芯片间数据传输方法允许在同一个多芯片集成电路内部的任何两个芯片间进行灵活的方便的传输数据。因此这个带宽允许运行在一个多芯片集成电路里的应用程序以接近理想的高速率运算。多芯片集成电路间的通讯由I/O芯片来控制,该芯片需要引脚和大的I/O驱动来支持外部的数据传输。多芯片集成电路间的数据传输总线在66MHZ状态下是64位宽。这个总线的带宽比芯片间总线的带宽小的多。因此,有必要尽可能多的减少多芯片集成电路间传输。应用软件执行的子过程必须在比较邻近的核心芯片里以获得高性能的运行。
在本发明中,避开坏电路的灵活性对于制造高性能的多芯片集成电路是异常重要的。以前流行的集成电路产品,当其中有一个芯片失效后整个集成电路也就失效;只要百万个元件中一个坏了,整个芯片也就不能使用了。所以以前设计的集成电路的产量随着面积的增多成指数衰减。本发明的一个多芯片集成电路可以看作是一个大面积的集成电路。由于具有避开坏电路的灵活性,我们能够大批量生产多芯片集成电路。坏的芯片或者不用,或者避开其中坏的功能,只用其中好的功能。举个例子,一个带有一个坏的芯片间数据传输电路的芯片仍然是可以用的,因为只要系统可以避开那个坏的电路,其它三个芯片间数据传输电路仍然可以支持所有可能传输。如果一台计算机不把浮点运算的任务交给算术逻辑单元ALU,那么一个浮点运算部分是坏的算术逻辑单元仍然是可用的。一个带有一位是坏的大的缓冲不应该使整个芯片失效,如果系统知道内存的哪一部分是不可用的。即使一个芯片整个是坏的,本发明的数据传输方法仍然可以避开这个坏的芯片。同样的方法也用来通过选择其它路径避开繁忙的芯片。
对于多芯片集成电路而言,功耗是一个重要的参数。放在一个系统上的多芯片集成电路的数目往往受到功耗和噪声条件的约束。由于没有必要使用引脚或者大驱动器,每根芯片间连接线的负载将很小(通常小于0.01pF)。因而,芯片间数据传输电路引起的功耗也就比目前设计的I/O电路小的多。因而,有可能以很小的功耗,很高的频率传输数千个信号。
多芯片集成电路计算机的系统配置是非常灵活的。系统可以有不同多芯片集成电路的组合,如浮点运算器,内存,图像控制器...。每个多芯片集成电路的核心芯片可以有不同的功能。我们可以很简单的改变一个系统中的多芯片集成电路的数目。每个多芯片集成电路可以由更好的产品来代替。一个多芯片集成电路也可以是包含由数百万位的内存的大内存块。
二维芯片间数据传输方法也可以如图8(e)所示的被用作测试目的。在这个例子中,每个芯片890由芯片间信号线891-894和所有邻近的芯片相连。芯片间信号以幅度可变方式进行传输。这个例子的测试电路除了以下几点外和图6(b)所示的是一致的:(a)两者的输入(Ki)和输出(Ko)节点都被连接到同样的线(Kio);(b)当有外部输入时,数据输出放大器635的输出节点处于高阻状态;数据传输线(Kio)实际上是4根和许多其它邻近芯片相连的不同的信号线。多芯片间的信号传输机制和图8(c,d)中描述的多芯片集成电路是一致的。当芯片间信号数目很小时,每个芯片890仍能还有密封环。二维芯片间信号传输系统允许具有完全的灵活性以避开坏的芯片,这在晶片级测试经常是最重要的要求。只有一个外部信号(Kio)和电源线(Vcc,Vss)需要支持所有的测试。外在的数据信号(Kio)可以从晶片上的任何一个芯片上测量,因为我们可以二维路径的方式传播I/O信号到晶片上任何一个芯片。
当我们在这里对本发明的一些特殊的细节进行演示和描述的同时,不能将这里的揭示当成是一种限制,在阅读上文后,业界人士就知道可以有许多改变和修正。因此,可将申请案的权利要求解释成涵盖在本发明原始精神和领域下的所有改变和修正。

Claims (53)

1.传输输入输出(I/O)信号到一块或者更多半导体基底上的大量的集成电路芯片的方法的步骤,其特征在于包括:
形成用作连接邻近集成电路芯片电源线的电源通道;
形成用来连接邻近集成电路芯片零线的零线通道;
形成用来连接邻近集成电路芯片间I/O信号的一个或者多个芯片间信号传输通道;
提供控制邻近集成电路芯片间I/O过程的数据传输电路;
形成用于连接外部I/O信号到半导体基底上集成电路的暴露的导电区域;
形成用于连接外部电源线到半导体基底上集成电路的暴露的导电区域;
形成用于连接外部零线到半导体基底上集成电路的暴露的导电区域;以及
I/O过程,无论是在外部信号和芯片集成电路之间,还是在不同集成电路芯片之间,都由一系列的邻近芯片间数据传输来提供。
2.如权利要求1中的方法,其特征在于在其中芯片间导电通道的形成包含如下几个步骤:
通过分割不同密封环区之间的导电区域来把密封环的一个区域与另一个区域分开;
通过连接已经分离区域密封环的底层导电层到半导体基底的扩散层来把密封环中已经分开的区从半导体基底中脱离开来;以及
通过密封环的分离的区域连接独立芯片上的I/O信号到邻近芯片上的I/O信号来连接芯片间导电通道。
3.如权利要求1中的方法,其特征在于提供控制芯片间I/O过程的数据传输电路的步骤包括:
在每个芯片上制造扫描链电路,在该扫描链电路上包含有大量的内存单元和连续移动一个内存单元的内容到另一个内存单元的控制方法;
连接扫描链电路的输出到一个或者多个邻近芯片的扫描链电路的输入;以及
连接扫描链电路的输入到一个或者多个邻近芯片的扫描链电路的输出。
4.如第3条声明中的方法,其特征在于制造每个芯片上扫描链电路的步骤包括:
提供允许改变连接到扫描链电路内存单元数目的控制电路;以及
提供大量的工艺连接到扫描链电路内存单元数目的控制信号。
5.如权利要求1中的方法,其特征在于芯片间信号传导通道的形成包括以下步骤:
形成大量的芯片间与不同方向的大量邻近芯片连接的导电通道;以及
在制造过程完成后,通过减去一部分导电通道来定义芯片间数据传输的方向。
6.如权利要求5中的方法,其特征在于定义芯片数据传输通道的方向的步骤是用来避开坏的集成电路。
7.如权利要求1中的方法,其特征在于形成芯片间信号传输通道包括以下步骤:
在每个芯片到大量的邻近不同方向的芯片间形成大量的芯片间信号传输通道;
提供I/O控制电路来控制I/O信号在每个芯片到大量不同方向的邻近芯片之间的芯片间信号通道传输的过程;以及
编程I/O控制电路来定义芯片间数据传输通道的方向。
8.如权利要求7中的方法,其特征在于编程控制芯片间数据传输通道方向的步骤是用来避开坏的集成申路。
9.如权利要求1所述,芯片间I/O信号包含有大量的信号脉冲,其特征在于:
由芯片间I/O信号的信号脉冲表示的数据值由脉冲的幅度来决定,每个信号脉冲的时间控制信息由该信号脉冲的上升沿或者下降沿来决定。
10.如权利要求1所述,I/O信号包括有大量的信号脉冲,其特征在于:
由芯片间I/O信号的信号脉冲表示的数据值由脉冲的宽度来决定,每个信号脉冲的时间控制信息由该信号脉冲的上升沿或者下降沿来决定。
11.如权利要求1所述,芯片间I/O信号包含有大量的信号脉冲,其特征在于:
由芯片间I/O信号的信号脉冲表示的数据值由脉冲的占空比来决定,每个信号脉冲的时间控制信息由该信号脉冲的上升沿或者下降沿来决定。
12.如权利要求1所述,芯片间I/O信号包含有大量的信号脉冲,其特征在于:
由芯片间I/O信号的信号脉冲表示的数据值由时间脉冲的上升沿或者下降沿来决定,每个信号脉冲的时间控制信息由该信号脉冲的上升沿或者下降沿来决定时。
13.一个半导体晶片,其特征在于包含有:
大量的集成电路(IC)芯片,其中每个芯片包含一个用来自测的内建自测试(BIST)电路;
每个芯片进一步包含有一个分割的密封环包围上述的芯片,该芯片至少有两个分割的在电学上和芯片间引脚相连的密封环片断;以及
和一条芯片间连接线连接第一个集成电路的上述的密封环片断到第二个集成电路,因此连接上述的第一个集成电路芯片的芯片间引脚到上述的第二个集成电路芯片的芯片间引脚。
14.如权利要求13所述的半导体晶片,其特征在于:
每个芯片进一步包括一个高电压的引脚和一个低电压的引脚,这些引脚通过上述的分别提供高电压输入和低电压输入的连接线进行芯片间连接。
15.如权利要求14所述的半导体晶片,其特征在于:
每个芯片进一步包括一个数据输入引脚和一个数据输出引脚,一个时钟输入引脚,和一个时钟输出引脚,这些引脚通过上述的提供上述集成电路芯片间进行电学传输数据和时钟信号的连接线来进行芯片间连接。
16.如权利要求15所述的半导体晶片,其特征在于:
每个上述的密封环片断包括一个和上述晶片的基底绝缘的金属墙。
17.如权利要求15所述的半导体晶片,其特征在于:
上述密封环的每个所说的片断包括一个和所说晶片的基底绝缘的金属墙。
18.一个半导体晶片,其特征在于包括:
大量的集成电路芯片;
一根进行相邻芯片间连接的电源线;
一根进行相邻芯片间连接的零线;
一根连接相邻芯片,用来芯片间传输信号的芯片间导线;
一个用来控制相邻芯片间进行信号输入和输出的数据传输控制电路,该相邻芯片通过芯片间信号导线相连;
第一块和外界输入输出信号线相连,用来传输I/O信号到通过上述芯片间信号导线来连接的集成电路芯片的暴露的导电区域;
第二块和外界电源线相连,用来提供高电压到通过上述芯片间信号导线来连接的集成电路芯片的暴露的导电区域;以及
第三块和外界零线相连,用来提供低电压到通过上述芯片间信号导线来连接的集成电路芯片的暴露的导电区域。
19.一个半导体晶片,其特征在于包括:
大量的集成电路(IC)芯片;
一根连接相邻芯片的芯片间电源线;
一根连接相邻芯片的芯片间零线;以及
和一根连接相连芯片,进行芯片间信号传输的芯片间信号导线。
20.如权利要求19所述的半导体晶片,其特征在于包括:
一个数据传输控制电路,该电路用来控制在通过信号导线相连的相邻芯片间的信号输入输出。
21.如权利要求20所述的半导体晶片,其特征在于包括:
第一块暴露的导电区,该导电区连接到外界输入输出线,传输I/O信号到上述的通过芯片间信号导线相连的集成电路芯片中。
22.如权利要求20所述的半导体晶片,其特征在于包括:
第二块暴露的导电区,该导电区连接到外界电源线,提供一个高电压到上述的通过芯片间信号导线相连的集成电路芯片中。
23.如权利要求20所述的半导体晶片,其特征在于包括:
第三块暴露的导电区,该导电区连接到外界零线,提供一个低电压到上述的通过芯片间信号导线相连的集成电路芯片中。
24.如权利要求19所述的半导体晶片,其特征在于:
每个芯片进一步包括一个分段的围绕在它周围的和半导体基底绝缘的密封环,在每个晶片里都有一根电源线,一根零线,和一根信号导线,这些线都与在邻近芯片间互相连接的密封环相连。
25.如权利要求20所述的半导体晶片,其特征在于:
上述的数据传输控制电路进一步包含有一个扫描链电路,该扫描链电路具有大量的位移寄存器,顺序从一个位移寄存器移动一个数据到下一个位移寄存器中;以及
和每个上述扫描链电路进一步连接到上述芯片间信号导线以在上述芯片间顺序移动上述位移寄存器中的上述数据。
26.如权利要求25所述的半导体晶片,其特征在于:
上述的每个芯片上的数据传输电路进一步包含一个控制上述位移寄存器的控制电路。
27.如权利要求25所述的半导体晶片,其特征在于:
上述每个芯片中的数据传输控制电路进一步包含一个芯片间信号传输控制电路来控制邻近芯片之间通过芯片间信号导线连接的信号传输。
28.如权利要求27所述的半导体晶片,其特征在于:
上述每个芯片中的芯片间信号传播控制电路进一步包含一个交替信号传输控制,用来控制信号通过芯片间信号导线在交替的邻近芯片间进行信号传输。
29.如权利要求27所述的半导体晶片,其特征在于:
上述说的轮流信号传播控制意味着在每个芯片中进一步包含一个信号传播方法,用来控制信号在通过芯片间信号导线相连接的芯片间进行有选择的传输。
30.如权利要求20所述的半导体晶片,其特征在于进一步包含:
第一块和外界输入输出信号线相连,以此来传输I/O信号到上面所说的通过上述的芯片间信号导线相连的集成电路芯片中的暴露的区域;以及
以及上述的数据传输控制电路进一步包含一个可以检测上述I/O信号的幅度和脉冲调制的I/O信号探测器。
31.如权利要求30所述的半导体晶片,其特征在于:
上述的信号传感器进一步包含一个可以检测上述I/O信号脉冲宽度的脉冲宽度探测器。
32.如权利要求30所述的半导体晶片,其特征在于:
上述每个芯片中的上述数据传输控制电路进一步包含一个根据上述I/O信号脉冲宽度来产生一个数据值的信号数据方法。
33.如权利要求30所述的半导体晶片,其特征在于:
每个上述芯片中的上述数据传输控制电路进一步包含一个根据上述I/O信号脉冲调制来控制信号传输时间选择的信号传输时间选择方法。
34.如权利要求30所述的半导体晶片,其特征在于:
上述每个芯片中的上述数据传输控制电路包含有一个可以检测上述I/O信号的占空比,并且根据该占空比来产生一个数据值的信号占空比方法。
35.如权利要求30所述的半导体晶片,其特征在于:
上述每个芯片中的上述数据传输控制电路包含有一个产生脉冲的方法和一个根据上述脉冲的脉冲调制来产生数据的芯片间I/O信号控制方法。
36.包含有大量的集成电路芯片的半导体晶片,其特征在于进一步包含:
一根在相邻芯片间直接相连,用来在上述相邻芯片间传输信号的芯片间导线。
37.如权利要求36所述的半导体晶片,其特征在于进一步包含:
一个用来控制信号输入和在上述所说的通过芯片间信号导线相连的邻近芯片间的信号输出的数据传输控制电路。
38.制造一个上面包含有大量集成电路芯片的半导体晶片的方法,其特征在于包括:
a)形成一根在邻近芯片之间直接相连的并且通过此在邻近芯片间传输数据的芯片间导线。
39.如权利要求38所述的方法,其特征在于进一步包括:
b)形成一个用来控制通过上述芯片间信号导线相连的邻近芯片间的信号输入输出的数据传输控制电路。
40.制造半导体晶片的方法,其特征在于包括:
a)在上述晶片上形成大量集成电路芯片;
b)形成连接邻近芯片的芯片间电源线;
c)形成连接邻近芯片的芯片间零线;以及
d)形成一根连接邻近芯片用来在此之间传输数据的芯片间信号导线。
41.如权利要求40所述的方法,其特征在于包括:
e)形成用于控制通过上述信号导线相连的邻近芯片间的信号输入输出的数据传输控制电路。
42.如权利要求41所述的方法,其特征在于包括:
f)形成第一块和外界输入输出信号线相连,且用此来传输数据到通过芯片间信号导线相连的上述芯片中的暴露的导电区域。
43.如权利要求41所述的方法,其特征在于包括:
g)形成第二块和电源线相连,且用此来提供高电压到通过芯片间信号导线相连的上述芯片的暴露的导电区域。
44.如权利要求41所述的方法,其特征在于包括:
h)形成第三块和零线相连,且用此来提供低电压到通过芯片间信号导线相连的上述芯片中的暴露的导电区域。
45.如权利要求40所述的方法,其特征在于包括:
i)在每个上述芯片上形成一个包围该芯片的分段的和上述半导体晶片基底相绝缘的密封环,在每个晶片里都有一根电源线,一根零线,和一根信号导线,这些线都与在邻近芯片间互相连接的密封环相连。
46.如权利要求41所述的方法,其特征在于:
上述所说的形成一个数据传输控制电路的步骤中进一步包括一个形成一个具有大量移位寄存器并用来顺序从一个移位寄存器移动一个数据到下一个移位寄存器的扫描链的步骤;
和连接每个上述扫描链电路到上述芯片间信号线,以顺序在上述芯片间移动移位寄存器中的数据。
47.如权利要求46所述的方法,其特征在于:
在每个上述芯片形成数据传输控制电路的步骤进一步包括形成控制上述移位寄存器的控制电路的步骤。
48.如权利要求41所述的方法,其特征在于:
每个芯片上形成一个数据传输控制电路的步骤中进一步包括一个用来控制通过芯片间信号导线相连的邻近芯片间信号传输的芯片间传播控制电路。
49.如权利要求48所述的方法,其特征在于:
每个上述芯片中的芯片间信号传播控制电路的形成步骤中进一步包括形成一个交替信号传输控制方法的步骤,该方法用来控制信号通过芯片间信号导线在交替的相邻芯片间进行传输。
50.如权利要求48所述的方法,其特征在于:在每个上述芯片间形成一个交替的信号传播控制方法的步骤进一步包括形成一个信号传播选择方法的步骤,该方法用来选择通过芯片间信号导线相连在交替的邻近芯片间进行信号传输。
51.如权利要求41所述的方法,其特征在于进一步包括:
j)形成第一块和外界输入输出信号线相连,并以此来传输I/O信号到通过上述芯片间信号导线相连的上述集成电路的暴露的导电区。以及
k)在上述数据传输控制电路中形成一个I/O传感方法来探测上述I/O信号的幅度和信号调制。
52.一个检测上面具有大量集成电路芯片的半导体晶片的测试方法,其特征在于包括:
a)形成一根在邻近芯片间直接相连的用于在邻近芯片间传输测试信号的芯片间导线。
53.如权利要求52所述的方法,其特征在于进一步包括:
b)形成一个数据传输控制电路来控制通过芯片间信号导线相连的芯片间的信号输入输出。
CNA021241767A 2002-07-15 2002-07-15 用于集成电路上的芯片间晶片级信号传输方法 Pending CN1469451A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA021241767A CN1469451A (zh) 2002-07-15 2002-07-15 用于集成电路上的芯片间晶片级信号传输方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA021241767A CN1469451A (zh) 2002-07-15 2002-07-15 用于集成电路上的芯片间晶片级信号传输方法

Publications (1)

Publication Number Publication Date
CN1469451A true CN1469451A (zh) 2004-01-21

Family

ID=34142628

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA021241767A Pending CN1469451A (zh) 2002-07-15 2002-07-15 用于集成电路上的芯片间晶片级信号传输方法

Country Status (1)

Country Link
CN (1) CN1469451A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100418078C (zh) * 2004-06-07 2008-09-10 佳能株式会社 数据传输方法和数据传输装置
WO2010075815A1 (zh) * 2009-01-03 2010-07-08 上海芯豪微电子有限公司 集成电路并行测试方法、装置和系统
CN104215843A (zh) * 2013-06-05 2014-12-17 上海华虹宏力半导体制造有限公司 提高芯片同测的芯片排布方法
CN105988464A (zh) * 2015-03-20 2016-10-05 瑞萨电子株式会社 半导体装置、电子装置以及用于半导体装置的自诊断方法
CN106708776A (zh) * 2015-11-18 2017-05-24 凌阳科技股份有限公司 数据传收系统
WO2018001377A1 (zh) * 2016-06-30 2018-01-04 唯捷创芯(天津)电子技术股份有限公司 一种实现芯片重用的可变信号流向控制方法及通信终端
US11610921B2 (en) 2019-12-12 2023-03-21 Au Optronics Corporation Chip having a flexible substrate

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100418078C (zh) * 2004-06-07 2008-09-10 佳能株式会社 数据传输方法和数据传输装置
WO2010075815A1 (zh) * 2009-01-03 2010-07-08 上海芯豪微电子有限公司 集成电路并行测试方法、装置和系统
CN104215843A (zh) * 2013-06-05 2014-12-17 上海华虹宏力半导体制造有限公司 提高芯片同测的芯片排布方法
CN105988464A (zh) * 2015-03-20 2016-10-05 瑞萨电子株式会社 半导体装置、电子装置以及用于半导体装置的自诊断方法
CN106708776A (zh) * 2015-11-18 2017-05-24 凌阳科技股份有限公司 数据传收系统
WO2018001377A1 (zh) * 2016-06-30 2018-01-04 唯捷创芯(天津)电子技术股份有限公司 一种实现芯片重用的可变信号流向控制方法及通信终端
US10878148B2 (en) 2016-06-30 2020-12-29 Vanchip (Tianjin) Technology Co., Ltd. Variable signal flow control method for realizing chip reuse and communication terminal
US11610921B2 (en) 2019-12-12 2023-03-21 Au Optronics Corporation Chip having a flexible substrate

Similar Documents

Publication Publication Date Title
US9887203B2 (en) 3D semiconductor device and structure
US20050151248A1 (en) Inter-dice signal transfer methods for integrated circuits
US8993385B1 (en) Method to construct a 3D semiconductor device
US6427222B1 (en) Inter-dice wafer level signal transfer methods for integrated circuits
US8258810B2 (en) 3D semiconductor device
US8373439B2 (en) 3D semiconductor device
US9509313B2 (en) 3D semiconductor device
Stroud et al. Using ILA testing for BIST in FPGAs
US5629838A (en) Apparatus for non-conductively interconnecting integrated circuits using half capacitors
US8378715B2 (en) Method to construct systems
US7763911B2 (en) Peripheral circuits of three-dimensional mask-programmable memory
US20150171079A1 (en) Semiconductor device and structure
US8362800B2 (en) 3D semiconductor device including field repairable logics
US20020157082A1 (en) Inter-dice wafer level signal transfer methods for integrated circuits
US10002865B2 (en) 3D semiconductor structure and device
US20040155301A1 (en) Three-dimensional-memory-based self-test integrated circuits and methods
EP0307503A1 (en) A grid-based, "cross-check" test structure for testing integrated circuits
US20050181546A1 (en) Methods for fabricating fuse programmable three dimensional integrated circuits
US8427200B2 (en) 3D semiconductor device
EP0283515A1 (en) Integrated circuit packaging configuration for rapid customized design and unique test capability
Saluja et al. Test pattern generation for API faults in RAM
US20180122686A1 (en) 3d semiconductor device and structure
US5646422A (en) Semiconductor integrated circuit device
CN1469451A (zh) 用于集成电路上的芯片间晶片级信号传输方法
US20020049958A1 (en) Logical synthesizing apparatus for converting a hardware functional description into gate-level circuit information

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication