单粒子翻转测试电路及方法

文档序号:5831326阅读:521来源:国知局
专利名称:单粒子翻转测试电路及方法
单粒子翻转测试电路及方法
背景技术
高能量亚原子粒子有时候会撞击集成电路(IC)器件并且引起干扰。
当高能粒子撞击ic芯片时,它可能使电路内的原子电离,从而导致发生 单粒子效应(single event effect)。存在若干类可能发生的单粒子效应。较 严重的效应包括单粒子烧毁(single event burnout)和单粒子闭锁(single event latchup)。不那么严重的一类单粒子效应是单粒子翻转(single event upset, SEU) 。 SEU是由电离的粒子引起的状态改变或穿过IC器件的瞬 时脉冲。SEU或者表现为反转时序逻辑组件(例如存储器或触发器)的状 态(这通常被称为"比特反转"),或者表现为在电路中引入瞬时脉冲, 该瞬时脉冲暂时改变经过组合逻辑的值。SEU —般不会永久地影响器件, 在SEU发生之后器件将会继续正常工作,但是数据可能遭到了破坏。SEU 和其他单粒子效应在没有地球大气针对宇宙辐射而进行的保护的外层空间 中是很常见的。因此,在外层空间中使用的IC器件必须被特别设计以限 制该问题。在地球上,大多数可能引起SEU的高能粒子都被大气所阻挡。 但是,高能中子经常能够成功到达地面。纽约市的中子通量大约是每平方 厘米每小时14-20个中子。但是,在更高的高度上,通量增大。例如,在 科罗拉多的丹佛市,中子通量约比纽约市的高7或8倍。类似地,在商业 或军事飞机飞行中,通量也较高。传统上,SEU在存储器件中更为普遍, 尤其是在SRAM内更是如此。但是,随着器件的几何结构縮小并且时钟速 度增大,SEU在逻辑电路中变得更加普遍。逻辑电路中的SEU差错率开 始接近具有类似几何结构的存储器件中的差错率。
可以针对SEU对IC器件进行测试。这通常涉及在器件处施加高能量 粒子束并且对观察到的SEU的数目进行计数。实现这一点的一种传统方法 是在正常模式下操作器件并且通过同时对多条信号线中的差错进行计数来 每次分析器件的一些部分。另一种传统的方法利用扫描链来测试时序逻辑中的SEU,其方式是使待测试的时序逻辑不被钟控(unclocked)(即,处 于静态状态),同时施加粒子束,然后重新施加时钟,以扫描出扫描链内 的数据并对差错计数。


从以下对附图中所示的本发明特定实施例的描述中,将清楚看出本发 明的以上和其他目的、特征和优点,附图中相似的标号在不同视图中始终 指代相同的部件。附图不一定是按比例的,而重点在于示出本发明的原 理。
图1示出了用于执行SEU测试的示例性装置。 图2示出了执行SEU测试的示例性方法。
图3示出了在执行时序逻辑SEU测试的示例性实施例中以及组合逻辑 SEU测试的某些示例性实施例中使用的扫描链电路的代表性部分。 图4示出了在执行组合逻辑SEU测试时使用的示例性扫描链。 图5示出了在组合逻辑SEU测试中使用的示例性扫描单元。
具体实施例方式
概述
本发明的某些实施例提供了改进的方法,用于在加速粒子束 (accelerated particle beam)下,利用扫描链和钟控电路元件(clocked circuit element)来针对SEU进行测试。
在一个实施例中,提供了一种方法,用于在保持时钟工作的同时测试 诸如触发器之类的时序逻辑元件。在该方法中,IC器件内的各种触发器在 扫描链内被串行链接在一起并被串行填充数据的测试样式。触发器随后被 配置为进入反馈环中,从而使得它们在被时钟驱动的同时保持它们的值, 除非发生诸如SEU之类的差错。然后,IC器件被放置在诸如高能中子束 之类的加速粒子束下。触发器被扫描输出,并且由此得到的数据被与测试 样式相比较,以对SEU进行计数。然后,通过降低观察到的率以考虑加速 的束内的通量增大,可以计算正常粒子通量下的SEU数据率。在另一个实施例中,提供了一种用于测试组合逻辑元件的方法。在该 方法中,IC器件内的若干个触发器被配置为向待测试的组合逻辑提供测试 样式作为输入。该逻辑向布置成扫描链的另一组触发器输出。该扫描链被 配置为捕捉响应于组合逻辑内由于SEU而形成的瞬时脉冲而由组合逻辑输 出的瞬时脉冲差错。加速粒子束被对准IC器件。然后,扫描链被扫描输
出并且数据被与期望值相比较。随后可像前一方法中那样计算SEU差错。 但是,时序逻辑内的SEU必须也被考虑。
某些实施例还涉及用于组合逻辑测试中的扫描单元、用于执行SEU测 试的装置、以及用于基于SEU测试结果来选择代工厂(foundry)的方法。
对示例性实施例的描述 本发明的某些实施例涉及一种用于利用加速粒子束和钟控扫描链电路 来测试IC器件中的SEU的方法。 一个实施例涉及一种用于通过以下方式 来针对SEU对时序逻辑进行测试的方法将输入数据扫描到扫描链中,在 扫描链被钟控的同时向IC器件施加粒子束,然后扫描出数据并且将其与 输入数据相比较。另一个实施例涉及一种通过以下方式来测试组合逻辑的
方法将数据扫描到输入扫描链中,将输入扫描链的输出馈送到待测组合
逻辑中,将组合逻辑的输出馈送到输出扫描链中,向IC器件施加粒子 束,然后从输出扫描链中扫描出数据并将其与期望值相比较。实施例还涉 及对这些方法的进一步改善,以及用于组合逻辑测试中的扫描单元、用于 实现这些方法的装置、以及用于选择具有较低SEU差错率的用来生产芯片 的代工厂的方法。
图1示出了用于针对SEU对IC器件2 (例如微处理器)进行测试的 装置50。 IC器件2被放置在加速粒子束源4旁边,该加速粒子束源4被配 置为对着IC器件2发射加速粒子束6。加速粒子束6例如可由高能中子组 成。
IC器件2包含扫描链电路8,该扫描链电路8包括触发器lO-l...lO-n
(统称为触发器10)。(扫描链电路是IC器件中的包含至少一个扫描链的电路,该扫描链包含串行连接的触发器)。IC器件2还包含时钟20,
该时钟20驱动触发器10。
SEU测试控制器30连接到粒子束源4以及扫描链8和时钟20。 SEU 测试控制器30被示为存在于IC器件2本身之内。在另一个实施例中, SEU测试控制器30可存在于IC器件2之外。
图2示出了根据一个实施例用于操作装置50的方法。根据该实施 例,SEU测试控制器30将测试样式输入到扫描链电路8中。(步骤 1000) 。 SEU测试控制器30随后指示粒子束源4对着IC器件2发射加速 粒子束6,该发射持续所设置的一段时间。同时,SEU测试控制器30指示 时钟20输出时钟信号以驱动触发器10。(步骤1010)。在加速粒子束6 终止之后,SEU测试控制器30从扫描链电路8读取数据,并且判定从扫 描链电路8读出的数据是否正确,或者它是否已被由加速粒子束6引起的 SEU所更改。SEU测试控制器30对差错的数目进行计数并且基于检测到 的差错数目和加速粒子束6的粒子通量来生成标准基态能级粒子通量 (ground-level particle flux )下的SEU差错率。(步骤1020 )。
刚才描述的一般方法的示例性实施例一般分成两个类别(1)针对
SEU对时序逻辑进行测试的实施例,以及(2)针对SEU对组合逻辑进行 测试的实施例。
图3示出了用于IC器件2中以测试时序逻辑中的SEU的扫描链电路 8的一部分。在该实施例中,扫描链电路8只包含单个扫描链108。如图2 所示,触发器112可以是IC器件2的设计内的能工作的触发器,其与IC 器件2的其他逻辑元件118相接口。因此,添加了附加电路114和信号 SE,以使触发器112在标准IC器件逻辑内和扫描链108内都能工作。触 发器112也可以专用于执行SEU测试,在这种情况下,不需要其他逻辑元 件118以及附加电路114和信号SE。在这种情况下,每个复用器116的输 出可以直接馈送到触发器112的D输入中。
在图3所示的实施例中,由1和0构成的初始数据样式被输入到扫描 链108中。可以利用自动测试样式生成(ATPG)工具来选择该初始数据 样式。因为每个触发器112的初始值可以影响SEU差错率,因此,理想情
13况下SEU测试应当被执行至少两次。每个触发器112在这两次测试中应当 具有相反的初始值。
为了将初始数据样式输入到扫描链108中,使能扫描模式。这是通过
将扫描使能信号SE设置为高并将移位/保持信号SH1设置为低来实现的。 这将使得复用器116、 118将串行输入SI传送到每个触发器112的数据输 入D中。初始数据样式随后可被串行读取到扫描链108中,每个时钟周期 读取一个值。 一旦初始数据样式已被读取到扫描链108中,初始数据样式 就被存储在扫描链108中。这是通过断言(assert)移位/保持信号SH1来 实现的。这样就指示了复用器116选择每个触发器112的输出信号Q,而 不是串行输入信号SI。由于扫描使能信号SE仍被断言,每个触发器112 因此将会把其自己的输出信号Q传送回其自己的数据输入D中。这使得扫 描链108即使在时钟信号C持续正常工作(按所设置的频率(例如500 MHz)振荡)时也可以保持初始数据样式。
此时,SEU测试可以开始。加速粒子束6被对准IC器件2。(这样做 是因为在标准基态能级通量下,可能干扰IC器件的正常工作的高能粒子 只会很不频繁地撞击IC器件)。束6中的一些加速粒子随后可撞击某一 触发器112,并且使得存储在该触发器112中的值自发地从0反转到1或 从1反转到0。因为存储在每个触发器112中的值在输出信号Q中从该触 发器112输出,并且因为输出信号Q被传送回该触发器112的数据输入 D,如上所述,所以新反转的值在下一时钟周期时将被输入回触发器112 中,从而即使在时钟运行时也保存反转的值。
在足够长时间地运行粒子束从而在扫描链108内引起数目在统计上有 效的SEU差错之后,束被关断。扫描链108随后被读出。这是通过解除对 移位/保持信号SH1的断言并且记录每一个时钟周期在扫描链108的末端 处输出的值来实现的。这产生了输出数据样式。
SEU测试控制器30比较初始数据样式和输出数据样式,并且对两个 样式之间的差别进行计数。存在若干种比较这些样式的方式。在一个实施 例中,在从扫描链108中扫描出输出数据样式中的每一个值时(每时钟周 期一个值),可将该值与初始样式中的相应值相比较。在该实施例中,每次比较在一个时钟周期中执行。在另一种实施例中,可将输出数据样式存 储在存储缓冲器中。然后可将存储缓冲器中的值并行地与初始数据样式相 比较。
一旦SEU测试控制器30比较了样式并对差别数目进行了计数,SEU 测试控制器30随后就可将差别数目转换成IC器件2内的时序逻辑(即, 触发器112)的SEU差错率。
例如,扫描链108可能具有500,000个触发器112。如果粒子束6被对 准IC器件1小时并且1,000个触发器反转了值,那么高通量下的SEU差 错率可被表达为每小时每百万触发器(MFF) 2,000个差错。按标准FIT (时间中的失效,Failure in Time)记数法来表达,这是2万亿FIT每MFF (其中1FIT是IO亿小时中l个差错)。如果该粒子束具有比标准基态能 级通量高40亿倍的通量,那么标准基态能级通量下的SEU差错率将为 500 FIT每MFF。
虽然存在传统的利用扫描链来测试时序逻辑的方法,但是该方法是效 率低下的,因为它是在扫描链未被钟控的情况下执行测试的。虽然该传统 方法确实测量了时序逻辑的静态SEU差错率,但是它却没有测量在时序逻 辑被时钟驱动时的差错率,这可能引起很大的差别。与上述传统方法不 同,以上说明的示例性实施例利用钟控的扫描链来对时序逻辑中的SEU进 行测试。由于时序逻辑通常是被时钟驱动的,因此该示例性实施例与传统 方法相比对于时序逻辑提供了更准确的SEU测试结果。
图4示出了另一种实施例。图4示出了用于IC器件2中以测试组合逻 辑中的SEU的扫描链电路8 (参见图l)。
当粒子撞击IC器件2中的组合逻辑的区域时,这可能引起持续例如 几百皮秒的瞬时脉冲。该瞬时脉冲可能传播经过组合逻辑,从而可能在组 合逻辑的输出中引起一个或多个瞬时脉冲。如果这些输出馈送到拾取瞬时 脉冲的逻辑中,则这些输出中的瞬时脉冲可能引起差错。如果组合逻辑馈 送到被钟控的时序逻辑(例如触发器)中,那么时序逻辑拾取差错的概率 取决于瞬时脉冲的强度、瞬时脉冲的相对长度和时钟信号,以及触发器的 建立和保持时间。 一般来说,如果瞬时脉冲长度长于时钟周期长度(只要瞬时脉冲足够强),触发器几乎肯定会拾取差错。如果瞬时脉冲长度短于 时钟周期,则有可能瞬时脉冲将不会被拾取。随着时钟速度增大并且工作 电压降低,更多的瞬时脉冲会成为IC器件中的差错。
图4示出了具有两个扫描链202、 204的扫描链电路208。第一扫描链 是输入扫描链202,其结构类似于图3的扫描链108。第二扫描链是输出 扫描链204。输出扫描链204具有与扫描链202不同的结构。每个扫描链 202、 204包括串行连接的扫描单元210、 212。扫描单元是也可具有某种 附加电路的触发器。输入扫描链202的扫描单元210 (以下称为输入扫描 单元210)包括触发器112和两种复用器114、 116以及各种控制信号,如 图3所示。输出扫描链204的扫描单元212 (以下称为输出扫描单元 212)将在下文中详细描述。
输入扫描单元210的每个输出连接到某组组合逻辑的一个输入。每组 组合逻辑可被称为一个逻辑锥(logic cone)。图4示出了三个逻辑锥 214(a)、 214(b)和214(c)。如图4所示, 一些逻辑锥可能交叠,共享一些输 入和/或电路(例如,逻辑锥214(a)和214(b)在图4中是交叠的)。逻辑锥 214是对若干个输入执行操作并且产生一个或多个输出的一组组合逻辑。 通常,逻辑锥214的输入比输出更多。例如,8比特加法器可以是具有16 个输入和8个输出的逻辑锥214。其输入由输入扫描单元210馈送的每个 逻辑锥214的输出连接到输出扫描单元212的输入。
输出扫描链204被配置为接收来自逻辑锥214的数据并且在每一个时 钟周期不断地更新该数据。但是,如果在逻辑锥214的组合逻辑内发生 SEU,那么将发生可能传播到逻辑锥214的输出之一的瞬时脉冲。在该情 况下,附接到该逻辑锥214输出端的输出扫描单元212被配置为捕捉该差 错并不再接受来自该逻辑锥214的任何输入。
图5示出了图4的输出扫描单元212的一个实施例。输出扫描单元 212包括D触发器312以及用于控制该触发器的各种电路元件和控制信 号。取代从标准D触发器312构建输出扫描单元212,也可以从扫描D触 发器310构建输出扫描单元。后一种结构消除了对一个复用器314的需 要,因为该复用器被内置于标准的扫描D触发器310中。上面提到的各种电路元件包括两个复用器314、 316、 OR (或)逻辑 门322、 AND (与)逻辑门320禾卩XOR (异或)逻辑门318。扫描单元 212的输入包括扫描使能信号SE、时钟信号C、移位/保持信号SH2、捕捉 控制信号CC、数据输入信号DI、以及串行输入信号SI。输出信号Q输出 到输出线Out,并且输出到串行输出信号SQ。
SEU测试控制器30 (参见图1)通过首先将输入数据样式扫描到输入 扫描链202中来操作图4和图5的装置。移位/保持信号SH1随后被断言, 以将输入数据样式的值保持在输入扫描链202中。由于输入扫描单元210 的输出馈送到逻辑锥214的输入中,因此输入数据样式将被馈送到逻辑锥 214的输入中。该数据随后将传播经过逻辑锥,并且产生与输入数据样式 相关联的结果数据样式。结果数据样式中的值将对应于逻辑锥214的输 出,并且因此将会输入到输出扫描单元212的数据输入DI中。SEU测试 控制器30应当不对输出扫描链204的扫描使能信号SE断言,并且对移位/ 保持信号SH2断言,从而使得数据输入DI将馈送触发器312的输入D。 一旦结果数据样式被输入到输出扫描单元212中,该数据样式就将形成输 出扫描链204的初始数据样式。
此时,SEU测试控制器30应当将捕捉控制信号CC设置到0或1 ,并 将移位/保持信号SH2设置到1。 SEU测试控制器30还应当使加速粒子束 6对准IC器件2。时钟20此时应当正在运行。 一旦完成了这些,输出扫描 单元212就被配置为捕捉任何与捕捉控制信号CC的值不同的值。例如, 假定捕捉控制信号CC的值为0,并且输入到触发器312中的数据输入DI 最初为0。触发器312于是也具有存储值0。扫描单元212将在每个时钟 周期的上升沿捕捉来自逻辑锥的数据输入信号DI。如果在某个时刻在相关 联的逻辑锥214内发生SEU并且值为1的瞬时脉冲向外传播到数据输入信 号DI,那么如果在该瞬时脉冲期间发生时钟转变,触发器312将会把其存 储的值改变到1。触发器的输出Q于是将为1,并且XOR逻辑门318的输 出将变为1 (因为1 XOR 0=1),并且该1将会传播经过控制逻辑,从而 使得复用器314将复用器316的输出传送到触发器312的输入端口 D中, 而不是将数据输入信号DI传送到触发器312的输入端口 D。因为扫描使能信号SE未被断言,所以复用器316将会把触发器312的输出Q传送到触发器312的输入端口 D中,从而使得触发器312捕捉瞬时值1,而不是初始值0。这样,扫描单元212捕捉到了具有与捕捉控制信号CC相反的值的瞬时脉冲。
在加速粒子束6已被对准IC器件达所设置的一段时间之后,SEU测试控制器30可以将其关断,然后从输出扫描链204中读出数据。该数据被称为输出数据样式,并且将类似于初始数据样式,但是它有可能会具有由SEU引起的某些差别。为了从输出扫描链204中读出输出数据样式,扫描使能信号SE被断言,从而使得输出数据样式可被从输出扫描链204中扫描出。在输出扫描链204的末端处输出的值在每一个时钟周期被记录。这产生了输出数据样式。
SEU测试控制器30随后比较初始数据样式和输出数据样式,并且对两个样式之间的差别进行计数。存在若干种比较这些样式的方式。在一个实施例中,在从输出扫描链204中扫描出输出数据样式中的每一个值时(每时钟周期一个值),可将该值与初始样式中的相应值相比较。在该实施例中,每次比较是在一个时钟周期中执行的。在另一种实施例中,可将输出数据样式存储在存储缓冲器中。然后可将存储缓冲器中的值并行地与初始数据样式相比较。
一旦比较了样式并对差别数目进行了计数,SEU测试控制器30就可将差别数目转换成IC器件2内的组合逻辑(即,逻辑锥214内的逻辑)的SEU差错率。但是,因为如图5所示的输出扫描单元212仅能够记录从0到1或从1到0 (取决于捕捉控制信号CC的值)的转变,所以整个测试应当被再执行一次,在第二次将捕捉控制信号CC设置为与第一次相反的值。然后可将两个差错率相加在一起,以为IC器件内的组合逻辑产生更准确的SEU差错率。
在理想情况下,被扫描到输入扫描链202中的输入数据样式将利用ATPG工具来产生。ATPG过程应当考虑各种输入在经过每个逻辑锥214时可能采取的路径,以确保每个逻辑锥214内的逻辑内的所有路径都被运用,以便所有SEU都被捕捉。这可能要求利用若干不同的数据样式来多次运行测试,并对结果取平均。例如,如果逻辑锥214之一是8比特加法
器,那么为了运用逻辑锥214内的所有数据路径,将需要两个初始数据样
式。 一个初始数据样式将由全o构成(将o与o相加)。另一个初始数据
样式于是可由全l构成(将255与255相加)。SEU测试被运行两次-每个输入数据样式一次(每次测试由两次暴露(exposure)和比较构成,捕捉控制信号CC的每个值一次)。如果使用带有捕捉控制的输出扫描单元212,那么还需要另外两次测试,以捕捉l到0转变以及0到l转变。更复杂的逻辑锥可能需要更多的测试。
也可使用ATPG来生成初始数据样式。 一旦己经生成了输入数据样式,预先计算逻辑锥的期望输出以形成初始数据样式就只是一件小事了。该初始数据样式随后可被保存在存储缓冲器中并在测试之后被与输出数据样式相比较。
在另一个实施例中,可以实时(cm the fly)计算初始数据样式。在SEU测试控制器30将输入数据样式扫描到输入扫描链202中并且这些值有机会传播经过逻辑锥214之后,SEU测试控制器30可以扫描出输出扫描链204,并且将所得到的输入扫描链保存在存储缓冲器中。然后可以根据逻辑锥214的输出重新填充输出扫描链204,并且施加粒子束6。然后可将输出数据样式与已存储在存储缓冲器中的初始数据样式相比较。
在另一个实施例中,SEU测试控制器30可以在粒子束6被施加之后扫描出输入扫描链202。 SEU测试控制器30随后可以将从输入扫描链202中扫描出的值与输入数据样式相比较。如果检测到差别,则有可能在输入触发器210之一之中而不是逻辑锥214本身之中发生了 SEU。这样,有可能与经历SEU的输入触发器210连接到同一逻辑锥214的输出触发器212中的所有或许多将会具有不是由组合逻辑中的SEU导致的遭破坏的数据。如果发生这种情况,那么IC器件内的组合逻辑的实际SEU差错率可能低于测试结果。SEU测试控制器30可以通过以下方式来对此进行校正如果在馈送特定逻辑锥214的输入触发器210中检测到SEU,则排除与该逻辑锥214相关联的所有数据。为了提高该实施例的效率,第一和第二扫描链202、 204两者可被组合成一条长的扫描链206。该长扫描链206随后可在一次操作中被扫描输入和/或扫描输出。该长扫描链206的输入信号是
DI一0,输出信号是DO—0。
在另一个实施例中,可同时执行组合逻辑SEU测试和时序逻辑SEU测试。在这种情况下,SEU测试控制器30可以将多个输入数据样式和初始数据样式扫描到多个扫描链中,并且同时执行多个测试。也可在同一扫描链内运行多个测试。例如, 一个扫描链可能具有30,000个触发器,其中的10,000个可以是用于组合逻辑SEU测试的输入触发器210,其中的1,000个可以是用于组合逻辑SEU测试的输出触发器212,并且其中的19,000个可以是用于时序逻辑SEU测试的触发器112。
实施例相对于传统的用于针对SEU进行测试的方法产生了改进。传统方法在正常模式下操作IC器件2,同时测试器件的一些部分以找出差错。这些方法具有引脚数目较高的缺陷。为了在运行的同时测试器件2,必须在器件2执行不同电路操作的同时在器件2内的多个节点处对信号采样。为了在许多节点处对器件2采样以检测所有差错,必须使用大量引脚来对每个节点采样。此外,器件2必须在执行各种各样的不同应用的同时运行。另外,取决于它们的结构,器件2内的不同电路将会有不同的SEU差错率,从而使得结果很难比较。与之不同,实施例通过减少引脚数目并且允许对在平台之间相当的特定电路上的测试进行标准化,从而相对于传统方法有了改进。
另一个实施例是用于基于相对SEU差错率来选择代工厂的方法。为了确定均使用相同电路几何结构的两个代工厂中的哪一个生产出对SEU有更大抵抗力的IC芯片,首先必须设计一个芯片。该芯片可以是添加了少量测试电路的、打算用于某个应用中的IC器件,或者它可以是板上只有测试电路的IC器件。然后在两个代工厂都制造该芯片,并且利用上述方法来针对SEU对每个芯片进行测试。其芯片产生较低SEU差错率的代工厂是生产对SEU的抵抗力更大的IC器件(例如测试芯片)的代工厂。
虽然已经参考本发明的优选实施例具体示出和描述了本发明,但是本领域的技术人员将会明白,在不脱离所附权利要求所限定的本发明的精神和范围的情况下,可以对本发明进行形式和细节上的各种改变。
20例如,虽然IC器件2通常是电子微处理器,但是本发明也可被应用到利用另一种技术来制作的IC器件2,例如光逻辑器件。本发明也不一定
要被应用到微处理器,而是可被应用到任何数字逻辑器件,例如FPGA或DSP。
又例如,虽然上述实施例向IC器件2施加加速粒子束6,但是也可将若干种高能量束中的任何其他高能量束指向IC器件。例如,也可使用重离子辐射或高能量质子的束。类似地,也可使用未被加速的高能阿尔法粒子或热中子束。
又例如,IC器件2可以包含多个扫描链电路8。在这种情况下,SEU测试控制器30可以同时对多个扫描链进行加载和卸载,而不是分别对各个扫描链电路进行加载和卸载。
又例如,与IC器件2类似的多个IC器件可被用于加速粒子束6下的SEU测试。在这种情况下,扫描链电路8被配置成可以串行连接在多个IC器件之间。它们可由单个SEU测试控制器30控制,或者它们可由不同的SEU测试控制器30并行控制。
另外,应当注意,SEU测试控制器30可以存在于IC器件2上或者IC器件2之外。如果SEU测试控制器30存在于IC器件之外,那么其执行起来效率可能不那么高,但是它更加不易受差错影响。如果SEU测试控制器30位于IC器件2上,那么SEU测试控制器30更易受差错影响。当位于IC器件2上时,SEU测试控制器30通常将是修改后的扫描测试控制器。因此,IC器件上的SEU测试控制器30可能只会包含3,000量级的逻辑门,这与标准的边界扫描和内部扫描测试控制器类似。因为这比起整个IC器件中的逻辑门来说要少几个数量级,因此在测试期间,在SEU测试控制器30内不太可能发生SEU。如果在测试期间在SEU测试控制器30内确实发生了 SEU,那么结果将会如此奇怪,以至于本领域的任何普通技术人员都能立即明白发生了什么并忽略相应的测试结果。但是,如果SEU测试控制器30位于IC器件之外、不在加速粒子束6的路径上,那么发生这个问题的可能性将小得多。
2权利要求
1. 一种方法,包括将初始数据样式输入到集成电路器件的扫描链电路中;在利用时钟信号驱动所述扫描链电路的同时向所述集成电路器件施加粒子束以生成输出数据样式;以及基于所述输出数据样式和所述初始数据样式之间的比较来生成单粒子翻转差错率测试结果。
2. 如权利要求1所述的方法,其中,所述扫描链电路包括串联连接的一连串触发器,所述扫描链电 路的每个触发器具有输入和输出;并且其中,在利用时钟信号驱动所述扫描链电路的同时向所述集成电路器 件施加粒子束以生成输出数据样式的步骤包括在将来自所述扫描链电路内的每个触发器的输出的信号传送到该 触发器的输入中的同时使所述集成电路器件暴露于所述粒子束,每个 触发器被配置为响应于所述时钟信号而存储一个值,所述时钟信号的 源在工作中。
3. 如权利要求2所述的方法,其中,每个触发器的输出连接到第一复用器的输入; 其中,所述第一复用器的输出连接到第二复用器的输入; 其中,所述第二复用器的输出连接到所述触发器的输入;并且 其中,将来自所述扫描链电路内的每个触发器的输出的信号传送到该 触发器的输入中的步骤包括配置所述第一复用器以让来自该触发器的输出的信号通过;以及 配置所述第二复用器以让来自所述第一复用器的输出的信号通过。
4. 如权利要求1所述的方法,其中,所述扫描链电路包括第一扫描链和第二扫描链,每个扫描链包 括串联连接的一连串触发器,每个扫描链的每个触发器具有输入和输出;其中,所述集成电路器件还包括多组组合逻辑,每组具有输入和输 出,所述第一扫描链的触发器的输出连接到所述多组组合逻辑的输入,所 述多组组合逻辑的输出连接到所述第二扫描链的触发器的输入;其中,将初始数据样式输入到集成电路器件的扫描链电路中的步骤包括将输入数据样式读取到所述第一扫描链中;配置所述第一扫描链的每个触发器以将其输出传送到其输入;以及配置所述第二扫描链内的每个触发器以接受所述多组组合逻辑中 的一组的输出作为输入,所述多组组合逻辑的输出形成所述初始数据 样式;并且其中,在利用时钟信号驱动所述扫描链电路的同时向所述集成电路器 件施加粒子束以生成输出数据样式的步骤包括在所述第二扫描链内的每个触发器被配置为接收所述多组组合逻 辑中的一组的输出作为输入的同时使所述集成电路器件暴露于所述粒 子束,但是当存储在所述第二扫描链的一个触发器内的值改变值时, 该触发器被重新配置以将其输出传送到其输入中并防止所述多组组合 逻辑中的任何一组的输出到达该触发器的输入,所述第二扫描链的每 个触发器被配置为响应于所述时钟信号而存储一个值,所述时钟信号 的源在工作中。
5.如权利要求4所述的方法,其中基于所述输出数据样式和所述初始数据样式之间的比较来生成测试结 果的步骤包括从所述第一扫描链中串行地扫描出数据;将从所述第一扫描链中扫描出的数据与所述输入数据样式相比较;对于在从所述第一扫描链中扫描到的数据和所述输入数据样式之 间检测到的每一个差别,忽略来自所述第二扫描链中与所述第一扫描 链中对应于检测到的差别的触发器连接到同一组组合逻辑的所有触发器的数据;从所述第二扫描链中串行地扫描出所述输出数据样式,其中排除 被忽略的数据;对排除被忽略的数据之后所述输出数据样式和所述初始数据样式 内的相应位置之间的差别的数目进行计数;以及基于所述差别的数目为组合逻辑生成所述单粒子翻转差错率。
6. 如权利要求5所述的方法,其中,所述第一扫描链和第二扫描链被串行连接以形成长的扫描链,从而使得所述第一扫描链和第二扫描链可以 在一次操作中被扫描输出。
7. 如权利要求4所述的方法,其中,当存储在所述第二扫描链的一个触发器内的值改变值时,该触 发器被重新配置以将其输出传送到其输入中并防止所述多组组合逻辑中的 任何一组的输出到达该触发器的输入的步骤包括向所述第二扫描链中的每一个触发器施加单比特捕捉控制信号;配置所述第二扫描链内的每个触发器,以便一旦其输出值不同于所述捕捉控制信号就将该输出值馈送回其输入中;并且 其中,所述方法还包括再一次重复整个方法,其中一次所述捕捉控制 信号被设置为0,另一次所述捕捉控制信号被设置为1,从而通过将两次 应用所述方法中的每一次得到的差错率相加在一起来计算单粒子差错率测 试结果。
8. 如权利要求7所述的方法,其中,所述第二扫描链内的每个触发器 的输入连接到控制逻辑,该控制逻辑将适当的信号传送到该触发器的输 入,该控制逻辑包括-XOR逻辑门; AND逻辑门; OR逻辑门; 第一复用器;以及 第二复用器。
9. 如权利要求4所述的方法,其中,将初始数据样式输入到集成电路器件的扫描链电路中的步骤还 包括在所述初始数据样式已被输入以使得初始数据被存储在期望缓冲器中之后从所述第二扫描链中串行地扫描出数据;以及重新配置所述第二扫描链内的每个触发器,以接受所述多组组合 逻辑中的一组的输出作为输入;并且其中,基于所述输出数据样式和所述初始数据样式之间的比较来生成 单粒子翻转差错率测试结果的步骤包括从所述第二扫描链中串行地扫描出所述输出数据样式; 对所述输出数据样式和所述期望缓冲器内的数据之间的差别的数 目进行计数;以及基于所述差别的数目来为组合逻辑生成所述单粒子翻转差错率。
10. 如权利要求4所述的方法,其中,所述输入数据样式是利用自动测试样式生成过程来产生的;其中,所述初始数据样式是通过计算期望由于所述输入数据样式被馈 送经过所述多组组合逻辑而将得到的值来产生的,所述期望值是在所述自 动测试样式生成过程中预先计算的,所述期望值被存储在所述期望缓冲器中;并且其中,基于所述输出数据样式和所述初始数据样式之间的比较来生成 单粒子翻转差错率测试结果的步骤包括从所述第二扫描链中串行地扫描出所述输出数据样式; 对所述输出数据样式和所述期望缓冲器内的数据之间的差别的数 目进行计数;以及基于所述差别的数目来为组合逻辑生成所述单粒子翻转差错率。
11. 如权利要求l所述的方法,其中,所述集成电路器件是在第一代工厂中制作的; 其中,所述方法还包括将所述初始数据样式输入到另一集成电路器件的扫描链电路中, 所述另一集成电路器件是在第二代工厂处制作的,每个集成电路器件具有基本上相同的设计;在利用时钟信号驱动所述另一集成电路器件的扫描链电路的同时 向所述另一集成电路器件施加粒子束以生成另 一输出数据样式;基于所述另一输出数据样式和所述初始数据样式之间的比较来生成另一测试结果;以及选择生产具有较低的单粒子翻转差错率的集成电路器件的代工厂。
12. —种用于测试集成电路器件的单粒子翻转差错率的装置,该装置 包括粒子束源,该粒子束源被对准所述集成电路器件; 控制逻辑,该控制逻辑被配置为将初始数据样式输入到集成电路器件的扫描链电路中; 在利用时钟信号驱动所述扫描链电路的同时向所述集成电路器件 施加来自所述粒子束源的粒子束以生成输出数据样式;以及基于所述输出数据样式和所述初始数据样式之间的比较来生成单 粒子翻转差错率测试结果。
13. 如权利要求12所述的装置,其中,所述扫描链电路包括第一扫描链和第二扫描链,每个扫描链包 括串联连接的一连串触发器,扫描链的每个触发器具有输入和输出;其中,被配置为将初始数据样式输入到集成电路器件的扫描链电路中 的控制逻辑包括被配置为执行以下操作的控制逻辑将输入数据样式扫描到所述集成电路器件上的第一扫描链中,所 述第一扫描链中的触发器的输出连接到所述集成电路器件上的多组组 合逻辑的输入,所述多组组合逻辑输出到所述集成电路器件上的第二 扫描链的触发器的输入中,所述多组组合逻辑的输出形成所述初始数 据样式;其中,被配置为在利用时钟信号驱动所述扫描链电路的同时向所述集 成电路器件施加来自所述粒子束源的粒子束以生成输出数据样式的控制逻 辑包括被配置为执行以下操作的控制逻辑在所述时钟信号驱动所述第二扫描链上的触发器的同时将所述粒 子束源激活达所设置的一段时间;并且其中,被配置为基于所述输出数据样式和所述初始数据样式之间的比 较来生成单粒子翻转差错率测试结果的控制逻辑包括被配置为执行以下操 作的控制逻辑;从所述第二扫描链中扫描出所述输出数据样式;以及对所述输出数据样式和所述初始数据样式之间的差别的数目进行 计数以生成组合逻辑单粒子翻转差错率。
14. 如权利要求13所述的装置,其中被配置为基于所述输出数据样式和所述初始数据样式之间的比较来生 成单粒子翻转差错率测试结果的控制逻辑还包括被配置为执行以下操作的控制逻辑从所述第一扫描链中串行地扫描出数据;将从所述第一扫描链中扫描出的数据与所述输入数据样式相比较;对于检测到的每一个输入差别,忽略来自所述第二扫描链中与所 述第一扫描链中对应于检测到的差别的触发器连接到同一组组合逻辑 的所有触发器的数据。
15. 如权利要求14所述的装置,其中,被配置为从所述第一扫描链中 串行地扫描出数据的控制逻辑被配置为从长扫描链中串行地扫描出数据, 该长扫描链包括彼此串行连接的所述第一扫描链和第二扫描链。
16. 如权利要求13所述的装置,其中,被配置为在所述时钟信号驱动 所述第二扫描链上的触发器的同时将所述粒子束源激活达所设置的一段时 间的控制逻辑包括被配置为执行以下操作的控制逻辑向所述第二扫描链中的每一个触发器施加捕捉控制信号,该捕捉控制 信号配置所述第二扫描链内的每个触发器,以便一旦其输出值不同于所述 捕捉控制信号就将该输出值馈送回其输入中。
17. 如权利要求13所述的装置,其中,被配置为将初始数据样式输入到集成电路器件的扫描链电路中的控制逻辑还包括被配置为执行以下操作的控制逻辑在所述初始数据样式已被输入以使得初始数据被存储在期望缓冲 器中之后从所述第二扫描链中串行地扫描出数据;以及重新配置所述第二扫描链内的每个触发器,以接受所述多组组合 逻辑中的一组的输出作为输入;并且其中,被配置为对所述输出数据样式和所述初始数据样式之间的差别 的数目进行计数以生成组合逻辑单粒子翻转差错率的控制逻辑包括被配置 为执行以下操作的控制逻辑对所述输出数据样式和所述期望缓冲器内的数据之间的差别的数 目进行计数;以及基于所述差别的数目来生成所述组合逻辑单粒子翻转差错率。
18.—种用于扫描链中的扫描单元,该扫描单元包括-触发器;控制逻辑,该控制逻辑耦合到所述触发器的输入和输出; 扫描使能输入信号,该扫描使能输入信号耦合到所述控制逻辑; 移位/保存信号,该移位/保存信号耦合到所述控制逻辑; 捕捉控制输入信号,该捕捉控制输入信号耦合到所述控制逻辑; 数据输入信号,该数据输入信号耦合到所述控制逻辑; 串行输入信号,该串行输入信号耦合到所述控制逻辑; 所述控制逻辑被配置为当所述扫描使能信号被断言时,将所述串行输入信号传送到所述 触发器的输入中;当所述扫描使能信号未被断言并且所述移位/保存信号被断言时, 将所述数据输入信号传送到所述触发器的输入中;当所述扫描使能信号和所述移位/保存信号都未被断言时,激活捕 捉模式;当处于捕捉模式中时当所述触发器的输出的值与所述捕捉控制信号的值相同时, 将所述数据输入信号传送到所述触发器的输入中;当所述扫描触发器的输出的值与所述捕捉控制信号的值不同 时,将所述扫描触发器的输出传送到所述触发器的输入中。
19. 如权利要求18所述的扫描单元,其中,所述控制逻辑包括 XOR逻辑门;AND逻辑门; OR逻辑门; 第一复用器;以及第二复用器。
20. 如权利要求19所述的扫描单元,其中所述触发器的输出被设置为所述XOR逻辑门和所述第一复用器的第 一输入;所述捕捉控制输入信号被设置为所述XOR逻辑门的第二输入; 来自所述移位/保存输入信号的反相信号被设置为所述AND逻辑门的 第一输入;所述XOR逻辑门的输出被设置为所述AND逻辑门的第二输入; 所述扫描使能输入信号被设置为所述OR逻辑门的第一输入和所述第 一复用器的控制输入;所述AND门的输出被设置为所述OR逻辑门的第二输入;所述串行输入信号被设置为所述第一复用器的第二输入;所述OR门的输出被设置为所述第二复用器的控制输入;所述第一复用器的输出被设置为所述第二复用器的第一输入;所述串行输入信号被设置为所述第二复用器的第二输入;所述第二复用器的输出被设置为所述触发器的输入。
全文摘要
一种方法,包括将初始数据样式输入到集成电路器件的扫描链电路中;在利用时钟信号驱动扫描链电路的同时向集成电路器件施加粒子束以生成输出数据样式;以及基于输出数据样式和初始数据样式之间的比较来生成单粒子翻转差错率测试结果。
文档编号G01R31/28GK101490575SQ200780027325
公开日2009年7月22日 申请日期2007年9月24日 优先权日2006年9月28日
发明者荪·寿·钟 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1