用于jtag测试asic中的兆单元的方法和装置的制作方法

文档序号:6131782阅读:183来源:国知局
专利名称:用于jtag测试asic中的兆单元的方法和装置的制作方法
技术领域
本发明涉及集成电路测试的改进。具体地说,本发明包括在芯片级测试专用集成电路“ASIC”中的兆单元(megacell)的方法和装置。
相关技术描述电路设计和新的集成电路封装技术的日趋复杂为测试集成电路和印刷线路板带来了越来越多的问题。数字硬件的软件测试正在得到不断地改进,然而如果在设计元器件时不考虑其测试性的话,那么对复杂电路的测试将变得更加困难。
一种已经引起注意的电路测试方法是由International Joint TestsAction Group(JTAG)颁布的IEEE 1149.1边界扫描标准(在本文中引用作为参考文件)。该标准的一个应用包括通过设置移位寄存器元件的菊花链以形成围绕集成电路元件周边的通路来设计串行边界扫描测试(Serial boundary Scanned Testing)的元件。串行测试背后的想法是使串行数据移入并通过一些集成电路元件。把串行数据送到已知电路的输入端以便产生由电路功能确定的输出。主测试电路把返回的数据与期望结果(即依赖于已知电路功能的结果)相比较。换句话说,如果电路运行正常的话,送入受测试电路的串行数据产生已知的输出。如果返回到主测试电路的数据流不是预期的,那么测试电路将检测电路中的故障。通过对数据流中的偏差进行仔细分析(在软件控制下)可以分离出电路中的任何故障。
如上述简要解释的那样,还可以把元件的边界扫描测试延伸到对大规模集成(VLSI)电路例如ASIC的测试。ASIC包括通过IC封装上提供的输出管脚通常不能达到的内部逻辑电路。这种ASIC中的内部逻辑电路一般是由卖主作为具有确定输入和输出的模块提供的,而且通常称之为兆单元(megacell)。在某些电路板中,把卖主提供的ASIC中的兆单元的测试输入端和输出端连接到IC封装的专用管脚上以便使生产者通过IC封装上的外部管脚能够对兆单元进行测试。然而,为测试元件而设置的附加管脚在IC的正常工作和运行时一般是没用的。此外,由于增加了管脚的数量,所以设置额外的测试管脚有时需要生产者把IC封装增大到下一级更大尺寸的圆片和/或封装。这样,IC封装需要采取更大的印刷电路板的面积,而且由于大尺寸圆片一般比较贵,所以将增加成本。
此外,标准JTAG功能描述一个ASIC中的兆单元由JTAG单元内部围绕。然而,采用这种测试结构与卖主对其所提供的兆单元的一般测试方式是不一致的。也就是说,兆单元的卖主通常对他们的兆单元有一个标准测试。虽然卖主提供的标准测试矢量和测试方法对测试兆单元来说已灵活到足以在测试他们的兆单元时改变管脚顺序,但是对卖主来说需要很高的成本才能改变标准测试的功能。例如,标准的卖主测试可以通过JTAG端口进行串行加载和与兆单元并行施加,但是由于JTAG链的长度加倍而使测试时间变长,所以使得成本过高。
发明概述按照本发明的一个方面,是采用JTAG接口输入传统JTAG指令,把卖主提供的ASIC内兆单元的多个测试输入和输出信号送到输出管脚以代替AISC的制造者在ASIC的芯片级测试时使用的在输出管脚上产生的常规信号。这样就不需要用附加的管脚来测试兆单元。由此可以节省管脚和避免使生产者因这些额外的管脚而不得不制造下一级更大尺寸的圆片和/或封装。这样可降低印刷电路板的面积,而且由于小的圆片尺寸一般不贵,所以能降低成本。JTAG接口不按照其固有的方式使用(即,对测试仪来说作为专用接口使用)。相反,用其把ASIC接入测试模式,从而在不增加新管脚的情况下使卖主的标准兆单元测试能够运行。
一个方面,本发明是一个系统,用该系统可减少具有JTAG测试能力的集成电路(IC)封装上的外部管脚的数量。这个系统包括形成在IC封装中的定制设计的数字逻辑电路。定制设计的数字逻辑电路具有多个输入端和输出端。这个系统进一步包括一个在IC封装中形成包括在IC封装中以便与定制设计的数字逻辑电路连通和与其具有一致功能的具有独立功能的标准化兆单元。兆单元组件具有用于测试兆单元功能性的测试输入端和测试输出端。该系统还包括一个具有多个输出端的JTAG边界扫描数据测试寄存器,该寄存器存储了用于测试IC封装输入和输出信号完整性的测试矢量。此外,该系统包括第一选择电路,其多个第一输入端连接到数据测试寄存器的至少一个输出端和兆单元组件的至少一个测试输出端上,而且第一选择电路还进一步接收第一选择输入信号并根据第一选择输入信号提供一个第一输入信号作为输出信号;该系统还包括第二选择电路,其多个第二输入端连接到第一选择电路的输出端和定制设计的数字逻辑电路的至少一个输出端上,而且第二选择电路还进一步接收第二选择输入信号并根据第二选择输入信号提供一个第二输入信号作为输出信号。本发明的系统还包括一个存储指令位的JTAG指令寄存器,其中可用指令位来确定到第一选择电路中的第一选择输入和到第二选择电路中的第二选择输入。最后,该系统还包括多个与第二选择电路输出端相关的外部管脚,以便当指令寄存器置位时在外部管脚上产生兆单元测试输出信号从而使第一和第二选择电路向外部管脚输送兆单元的测试输入和输出信号。
另一方面,本发明涉及一种测试集成电路中兆单元的方法,所述集成电路以兆单元作为集成电路中的集成电路元件。兆单元产生至少一个测试输出信号,该信号在集成电路工作期间不连到集成电路外部。集成电路产生多个信号,这些信号在集成电路工作期间作为输出信号加到集成电路的各管脚上。该方法包括通过JTAG输入管脚向集成电路施加串行指令以将集成电路置于预定的测试模式;选择性地禁止来自集成电路一个相应第一管脚的多个输出信号中的一个信号;把测试输出信号选择性地从兆单元发送到所禁止的输出信号的那个相应第一管脚上;通过该集成电路的第二管脚向兆单元施加测试输入信号激励该兆单元完成一个测试操作;和在集成电路的该相应第一管脚处监视兆单元的测试输出。
附图简介

图1是表示JTAG测试电路结构的示意性方框图。
图2是表示IC电路的示意性方框图,所述IC电路包含一个兆单元,其具有一个与IC外部管脚相连的测试输入/输出终端。
图3是表示TAP控制电路运行情况的状态图,TAP控制电路用于控制JTAG测试电路。
图4是表示改进的JTAG测试电路的示意性方框图,该电路提供了一个内部兆单元与一个外部管脚之间的连接。
本发明的详细描述图1是表示为使用JTAG IEEE 1149.1菊花链式边界扫描串行测试系统进行测试而构成的集成电路(IC)芯片100的示意性方框图。图1中示出的示范性JTAG系统包括一个主图形发生器/比较器102,其在线105上输出数据/指令信号,在线107上输出模式信号,而在线109上输出时钟信号。应注意到,按照传统的术语,数据/指令信号线105也称作TDI信号线,模式信号线107也称作TMS信号线,时钟信号线109也称作TCK信号线。把图形发生器/比较器102的输出线105,107和109连接到从IC 100伸出的外部输入管脚上以便使IC 100中的TAP控制器状态机110通过线105、107、和109接收信号。
TAP控制器状态机110通过串行数据线117和时钟启动线119与数据移位寄存器115相连。TAP控制器状态机110还通过串行指令线122和时钟启动线124与指令移位寄存器120相连。这里要注意的是,通常,TDI线105、串行数据线117和串行指令线122连接到一个共用节点上而线105、117和122的不同仅在于把它们作为进位数据、指令或是两者来考虑。
数据移位寄存器115与闩锁数据寄存器130并联连接,而指令移位寄存器120与闩锁指令寄存器140并联连接。闩锁数据寄存器130中的每个位存储单元都与IC 100中的复用器第一输入端相连。例如,如图1所示,闩锁数据寄存器130的一个存储单元通过线147与2∶1复用器145的第一输入端相连接。同样,闩锁数据寄存器130中的每个存储单元均连接到IC100中的复用器输入端;然而,为了简化说明,在图1中仅示出了一个与闩锁数据寄存器130相连的复用器145。
闩锁指令寄存器140与译码器150并联连接,译码器用于对存储在闩锁指令寄存器140中的指令进行译码。译码器150向IC 100中的每个JTAG复用器提供选择输出信号(即,用复用器向JTAG提供强制性的输出电平)。然而,同样为了简化说明,在图1中示出了通过线152仅向复用器145提供单一选择输出信号的译码器150。
复用器145的第二输入端通过线162与IC 100中的常规集成电路160相连。IC 100中的常规集成电路160是能在正常运行期间(即,不对IC 100进行测试时)完成IC 100所能完成的特定功能的电路。复用器145的输出通过线165与IC 100表面上的输出管脚相连。
数据移位寄存器115和指令移位寄存器120分别输出串行数据和指令数据到线172、174作为对2∶1复用器170的第一和第二输入,该2∶1复用器170本身又向图形发生器/比较器102送出一条串行数据返回线175。
工作时,图形发生器/比较器102产生数据和/或指令图形(通常称为测试矢量),这些图形经线105串行传输到TAP控制器状态机110。图形发生器/比较器102还分别通过线107、109向TAP控制器状态机110提供模式和时钟信号。正如下面将参照图3更详细说明的那样,TAP控制器状态机110响应该模式和时钟信号把线105供给的数据或指令移入数据移位寄存器115(即,当沿线105提供数据时)或指令移位寄存器120(即通过线105提供指令时)。在TAP控制器状态机110的控制下,将移入数据移位寄存器115的数据和移入指令移位寄存器120中的指令同步到它们各自的移位寄存器115、120中。因此,例如,如果要把70个数据位移入数据移位寄存器115和把30个指令位移入指令移位寄存器120,那么把每个数据和指令位移入它们各自的移位寄存器总共将需花费100个时钟周期。当然,如下面将要详细说明的那样,还需要额外的时钟周期把数据从图形发生器/比较器102输送到TAP控制器状态机110并改变TAP控制器状态机110的模式以便使TAP控制器状态机110在时钟启动线119、124上产生合适的控制信号。
一旦把对IC 100的所指定的输入和输出端进行测试用的合适数据移入移位寄存器115、120,移位寄存器115和120将把包含在移位寄存器115和120中的数据和指令并行地锁入各自的闩锁寄存器130、140中。锁入寄存器140中的指令由译码器150译码以选择合适的复用器145以及IC 100中任何其它JTAG复用器(未示出)的输出。如上面所简述的那样,每个JTAG复用器(例如图1中示出的复用器145)都接受一个与该闩锁数据寄存器130相连的JTAG的输入。因此,例如,由译码器150通过线152启动复用器145以选择与寄存器130中的存储单元相连的输入147。这样,就可强制复用器145的输出端165输出存储在寄存器130中的比特值。用这种方式,便可在线165上测试IC 100在输出连接中的故障。例如,如果通过线147连接到复用器145上的存储单元包含有高电压电平位(即,对应于数字1),那么在IC 100的输出管脚处测得的复用器145沿线165的输出应该是数字1。如果该输出管脚没有产生数字1,那么连接IC 100的测试电路将登记一个错误,从而可认定IC 100有故障。要根据由图形发生器/比较器102送入的指令对由译码器150指定的每个输入和输出进行这种测定。
当然,虽然在图1中没有示出,但是显然,可以把多个IC串联成菊花链结构以便使图形发生器/比较器102能够在同一时刻为多个IC移入数据和指令。因此,IC100包括复用器170,其在TAP控制器状态机110的控制下通过线172或174选择性地通过寄存器115移出数据或是通过寄存器120移出指令。最后,通过串行返回线175把从最后一个IC输出的数据送回到图形发生器/比较器102。
图2是表示IC 200的示意性方框图,其除了包含通常的集成电路220之外还包括卖主提供的兆单元210。兆单元210在IC 200中以功能部件的形式工作,它通过线225接收来自常规电路220的输出同时向常规电路220输出信号。
卖主提供的兆单元210与常规电路220的区别在于卖主提供的兆单元210具有由卖主设计的标准化结构和功能,而常规电路通常是由ASIC设计者定制设计的。因此,兆单元的模件具有独立的功能(即,用兆单元能够在各种不同的回路中完成同样的功能从而使其这种功能基本上独立于IC 200中的其它电路)。此外,通常用那些测试整个IC200之外的一组单独测试矢量来分别测试兆单元210的功能性。
因此,例如,ASIC设计者使用诸如UARTS、相位锁定回路等标准功能逻辑模块作为ASIC设计的一部分。ASIC卖主为这些标准功能逻辑块提供的结构使ASIC设计者能将其与定制的ASIC相结合。将这些标准功能块称为兆单元,兆单元的卖主一般都提供芯片制造厂在生产过程中测试ASIC中的兆单元用的测试矢量。通常,可以将ASIC作为整体进行测试,但是如果在整个单元中发现故障,那么将很难判断该故障是由ASIC设计者提供结构的传统电路引起还是由单元卖主提供的兆单元电路引起。为此,要用单元卖主提供的测试矢量来单独测试兆单元。此外,由于该测试将通过卖主提供的试验完成,所以ASIC设计者不必把精力集中到对兆单元进行穷尽测试。
然而,正如图2所示,为了测试象兆单元210这样的兆单元,需要在ASIC 200的外表面上设置多个输出管脚235以便对兆单元210的输出端进行测试。把卖主提供的测试矢量送到测试输入端230,测量在测试输出端235上得到的图形并判断兆单元是否正常工作。对兆单元功能性测试的工作一般在芯片厂内进行(即,作为生产后的测试),而不必在芯片正常工作状态下的使用后进行。因此,例如,当正常运行期间IC200在电路中工作时,可以仅使用工作状态下的输入和输出端240。因此,在IC200正常工作期间输出管脚235是多余的。如同在下面将参照图4更详细描述的那样,本发明在包含兆单元电路的IC封装上设置的输出管脚数减少。本发明的节约是很明显的(例如,可以省去1-2打数量级的管脚),因此可以使用成本高效(即更小)的小片尺寸和IC封装。
图3是状态图,其说明TAP控制器110响应模式和时钟线107、109上提供的控制信号的工作情况。TAP控制器状态机110开始处于空闲状态300,该状态构成了扫描操作之间的控制器状态。当有输入信号时,只要TMS保持低电平,TAP控制器110将一直处于空闲状态300。在空闲状态300下,只有出现特定的指令时才在选定的测试逻辑中产生动作,这在现有技术中是公知的。就送到指令寄存器140中对在空闲TAP控制器状态300执行不起作用的指令而言,由当前指令选定的所有测试数据寄存器都应保持它们原先的状态(即,空闲)。而且在TAP控制器110处于空闲状态300时,送入指令寄存器140中的指令不发生变化。
当TMS(沿线107的模式信号)为高电平而且TCK信号为上升沿(线109中的时钟)时,TAP控制器110转换到选择数据寄存器扫描状态305。选择数据寄存器扫描状态305是一个临时控制器状态,其中由当前指令选定的所有测试数据寄存器都保持它们原先的状态。如果TMS为低电平同时TCK为上升沿时,那么TAP控制器110将转换到捕获数据寄存器状态315,如果TMS保持高电平,且TCK为上升沿,那么TAP控制器状态机110将转换到选择指令寄存器扫描状态310。
如果TAP控制器状态机110转换到捕获数据寄存器状态315,那么在这种状态下,可以在TCK的上升沿把数据从移位数据寄存器115并行送入数据寄存器130。如果JTAG测试电路不包括并行送入数据寄存器130,或者说如果对于选定的测试不需要捕获,那么数据寄存器保持它原先的状态不变。而且,存储在指令寄存器140、120中的位保持不变,同时控制器状态机110处于捕获数据的寄存器状态315。当TMS保持低电平和TCK为上升沿且TAP控制器110处于捕获数据的寄存器数据315时,控制器进入移位数据寄存器状态320。然而,如果TCK为上升沿时TMS保持高电平,那么TAP控制器状态机110从捕获数据的寄存器状态315直接转移到出口数据寄存器状态325。在移位数据寄存器状态320中,沿着线105并通过线117把数据移入数据移位寄存器115。当TMS保持低电平时,在对TCK施加每个上升沿时,通过线117把附加位的数据移入数据移位寄存器115中。只要TMS保持低电平,TAP控制器110就继续处于移位寄存器状态320。因此,当在状态320下TMS保持低电平时,需要把与送入移位寄存器115中的预定测试矢量同样多的数据位移入移位寄存器115中。
当TAP控制器110处于移位数据寄存器状态320以及TCK为上升沿时,同时TMS保持高电平,TAP控制器状态机110进入出口数据寄存器状态325。出口数据寄存器状态325是临时控制器状态。如果TMS保持高电平,TCK的上升沿使TAP控制器110进入更新数据寄存器数据状态340,然而如果在TCK为上升沿的同时TMS保持低电平,那么TAP控制器110进入暂停数据寄存器状态330。暂停数据寄存器状态330使测试数据寄存器315的移位暂时停止。在TMS保持低电平的同时TAP控制器110维持在暂停数据寄存器状态330。当TMS保持高电平和TCK为上升沿时,TAP控制器状态机110进入出口2的数据寄存器状态335,这也是一个临时控制器状态。如果在TMS保持低电平的同时TCK为上升沿,那么TAP控制器状态机110返回到移位数据寄存器状态320。然而,如果在TCK为上升沿时TMS保持高电平,那么TAP控制器状态机110从出口2的数据寄存器状态335转换到更新数据寄存器状态340。如图1所示,移位数据寄存器115包括响应指令寄存器140中的某些指令把数据移入相关移位寄存器通路115的同时防止其转换成数据寄存器130中的数据的锁定并行输出端。因此,在更新数据寄存器状态340下,在TCK的下降沿,把来自移位寄存器115的数据锁存在移位寄存器115的并行输出端上。因此,除了在执行自检期间所需的操作(例如,响应设计时的特定公开指令所产生的空闲状态期间)之外,应把该数据存储在锁定数据寄存器130中以便使寄存器130中的数据除了在更新数据寄存器状态下之外不发生变化。就每个状态305-335而言,存储在指令移位寄存器120和指令闩锁数据寄存器140中的指令在TAP控制器110处于更新数据寄存器状态340时不发生变化。当TAP控制器处于更新数据寄存器状态和TCK为上升沿时,TAP控制器110在TMS保持高电平时进入选择数据寄存器扫描状态305或在TMS保持低电平时进入空闲状态300。
在TAP控制器状态机110处于选择数据寄存器状态305时,如果TMS保持高电平,并且TCK处于上升沿,那么TAP控制器状态机110转换到选择指令寄存器扫描状态310。
如果TAP控制器状态机110转换到捕获指令寄存器状态345,那么在这种状态下,可以在TCK的上升沿把指令从移位指令寄存器120并行加载指令寄存器140。如果JTAG测试电路不包括并行加载指令寄存器140,或者如果对选定的测试不需要捕获,那么指令移位寄存器120保持它原先的状态不变。而且,当TAP控制器状态机110处于所捕获的指令寄存器状态345时,存储在数据寄存器130、115中的位保持不变。当TAP控制器110处于捕获指令寄存器状态345和TMS保持低电平且TCK为上升沿时,控制器进入移位指令寄存器状态350。然而,如果TCK为上升沿时TMS保持高电平,那么TAP控制器状态机110直接从捕获指令寄存器状态345转换到出口指令寄存器状态355。在移位指令寄存器状态350,指令沿着线105并通过线122移入指令移位寄存器120。在TMS保持低电平时在出现每个TCK上升沿情况下,在线122上把附加的指令位移入指令移位寄存器120中。只要TMS保持低电平TAP控制器110就继续处于移位指令寄存器状态350。因此,当TMS在状态350下保持低电平时,需要把与送入移位寄存器120中的预定指令矢量同样多的指令位移入寄存器120中。
在TMS保持高电平且TAP控制器110处于移位指令寄存器状态350和TCK出现上升沿时,TAP控制器状态机110进入出口指令寄存器状态355。出口指令寄存器状态355是一种临时控制器状态。如果TMS保持高电平,TCK的上升沿将使TAP控制器110进入更新指令寄存器状态370,而如果在TCK为上升沿时TMS保持低电平,那么TAP控制器110进入暂停指令寄存器状态360。
暂停指令寄存器状态360允许测试指令寄存器345的移位暂时停止。当TMS保持低电平时,TAP控制器110维持在暂停指令寄存器状态360。当TMS保持高电平和TCK为上升沿时,TAP控制器状态机110进入出口-2的指令寄存器状态365,该状态也是临时控制器状态。如果当TMS保持低电平时TCK为上升沿,那么TAP控制器状态机110将返回移位指令寄存器状态350。然而,如果在TCK为上升沿时TMS保持高电平,那么TAP控制器状态机110从出口-2的指令寄存器状态365转换到更新指令寄存器状态370。如图1中所示,移位指令寄存器120包括在响应指令寄存器140的特定指令把指令移入相关移位寄存器通路120时,防止其变成指令寄存器140中的指令的闩锁并行输出端。因此,在更新指令寄存器状态370下,在TCK的下降沿把来自移位寄存器120的指令锁存在移位寄存器120的并行输出端上。这样便可以把这些指令存在闩锁指令寄存器140中,由此,除非在执行自测时所需(即,与设计特定的公开指令相应的空闲状态期间)的运行,应把这些指令存储在锁定数据寄存器140中以便使寄存器140的指令除了在更新指令寄存器状态下之外不发生变化。就每个状态310和345-365而言,存储在数据移位寄存器115和闩锁数据寄存器130中的数据在TAP控制器110处于更新指令寄存器状态370时不发生变化。当TAP控制器处于更新指令寄存器状态370和TCK为上升沿时,TAP控制器110在TMS保持高电平时进入选择数据寄存器扫描状态305,或在TMS保持低电平时进入空闲状态300。
在选择指令寄存器状态310下,如果在TCK为上升沿时TMS保持高电平,那么TAP控制器110将进入测试逻辑复位状态342。当TAP控制器状态机110进入测试逻辑复位状态342时,测试逻辑被禁止,从而在片系统逻辑的正常运算(即,响应通过系统管脚接收到的信号)能够继续不受限制。当TMS保持高电平时,TAP控制器110维持在测试逻辑复位状态342。通过在TCK为上升沿期间使TMS保持低电平,TAP控制器状态机110将进入空闲状态300。
图4是表示IC 400中的示范性内部JTAG测试电路的示意性方框图。为了简化对本发明的说明,在图4中未示出TAP状态控制器110,数据和指令移位寄存器115、120,和其它有关的JTAG电路。然而,对本领域的普通技术人员来说很明显,IC400包括上述JTAG电路,而且这些电路具有与上述基本相同的工作状态。IC400可以包括例如专用集成电路(ASIC),这种集成电路带有由ASIC设计者设计的定制数字电路(在图4中示为常规电路410)和卖主提供的由ASIC设计者加到定制ASIC中的兆单元结构(在图4中示为兆单元电路420)。常规电路410通过输入和输出线422与兆单元电路420相连。例如,兆单元电路420可以包括标准运算逻辑单元,微处理器,或其它具有标准设计和能在ASIC400中作为独立模块使用的电路。
常规电路410通过线433,435接收从外部管脚如423、425输入的信号。当然,很明显,常规电路410通常能接收数十甚至数百数量级的输入信号,但是为了使本发明的描述更清楚,在图中只示出了将输入端423、425连接到常规电路410上的情况。除了通过线422向兆单元电路420输出信号之外,常规电路410还可以通过与2∶1复用器440的第一输入端相连的线437向兆单元电路420输出特定信号。复用器440还通过第二输入端447接收从外部管脚445输入的信号。如图4所示,复用器440的输出通过线449送到兆单元420的一个输入端。
复用器440通过线452接收从译码器450的选择输入信号。兆单元电路420还接收来自“与”门455和“或”门457的测试输入信号。当然,应该清楚,兆单元电路420一般包括多个测试输入端,但是在图中所示出的“与”门455和“或”门457只给出了输入到兆单元电路420中的两个示范性测试输入端。“与”门455通过线452接收第一输入信号和通过线433接收来自输入管脚423的第二输入信号。此外,“或”门457通过线452接收第一反向输入信号并通过线435接收来自输入管脚425的第二输入信号。虽然在图4中没有示出,但是应认为存在管脚输入和输出缓冲器,只是由于为了简化说明而没有示出。
常规电路410通过线462与JTAG输出端复用器460的输入端相连接。而且,很显然,常规电路410通常包括数十或数百数量级的输出端,然而,为了描述得更清楚,在图4中只示出了输出端462。把2∶1复用器460的输出通过线464送到外部管脚。2∶1复用器460的选择输入由译码器450通过线466提供。按照传统的电路,在将2∶1复用器460的第二输入直接连接到锁存边界扫描数据寄存器以便在将合适的选择信号送到2∶1复用器460的输入端时,JTAG标准输入值能强迫输出端465等于JTAG位。然而,按照本发明,复用器460的第二输入端还可以接收从兆单元电路420经由2∶1复用器470并通过线472输出的信号。
具体地说,2∶1复用器470通过线474接收来自兆单元电路420的第一输入信号。2∶1复用器470通过线476进一步接收来自锁存边界扫描数据寄存器480的第二输入信号。最后,2∶1复用器470通过线478接收来自译码器450的选择输入信号。译码器450对包含在锁存指令寄存器484中的指令进行译码。
在正常(即非测试)运行期间,常规电路410和兆单元电路420通过多个输入管脚(通过输入管脚423、425和445)接收输入信号并按照ASIC设计处理这些输入信号以便向多个输出管脚(例如输出管脚465)提供合适的输出值。在正常运行期间,常规电路410和兆单元电路420通过内部电路路径(例如电路路径422、437、449和474)交换信息以便使兆单元电路420能够起到完成支持ASIC400全部工作等指定功能的作用。
因此,为了测试ASIC中兆单元电路的功能性,通常需要把兆单元的某些输入和输出线引到ASIC外部的管脚上以便于芯片制造厂能够独立利用兆单元卖主提供的测试矢量来测试兆单元电路。当然,如上面详细描述的那样,这将导致需在IC表面上设置一些在IC正常运行时不使用的多条管脚。因此,按照本发明,为了为大规模电路420设置一条输出通路而特意改变了设在ASIC 400中的JTAG电路,从而使芯片厂可以在不需要在ASIC400上设置附加输出管脚的情况下对兆单元电路420进行测试。
具体地说,附加的复用器470允许用送到复用器460的第二输入信号交替地作为JTAG的输出信号或者兆单元的输出信号,这由选择线478上的来自译码器450的信号进行确定。因此,除了把兆单元420的测试输出线474直接连到外部管脚上之外,还可以用可交替输出JTAG标准边界扫描输出值或常规电路输出值的同一条输出线464输出来自大规模电路420的测试信号。对线464上三种可能的输出信号(即来自常规电路410的输出,来自兆单元电路420的输出或来自锁存数据寄存器480的JTAG边界扫描输出)之一的选择是在译码器450的控制下进行的,所述控制由包含在锁存指令寄存器484中的指令确定。因此,实施本发明时可以要求在锁定指令寄存器484中设置附加的存储单元或译码模式,以便提供附加的控制信号。然而,由于JTAG测试电路中的当前指令寄存器通常是由用户确定的,所以可以用备用译码状态来提供附加控制信息。
当按照本发明的方法测试兆单元电路420时,把测试矢量输入信号(由兆单元卖主提供)送到选定的外部输入管脚(例如管脚423、425)。当线425上的信号保持高电平时,施加到端423、425上的测试矢量输入信号通过“与”门455和“或”门457到达兆单元电路420的测试输入端。本领域的普通技术人员都知道,当不处于测试模式时,线452上的信号将是低电平,“与”门455和“或”门457的输出分别处于低电平和高电平,从而在正常运行期间可防止输入到兆单元电路420中的测试信号发生变化。当加在输入端423、425上的标准测试矢量输入信号输送到兆单元电路420的测试输入端时,兆单元电路420将响应多条输出线上的测试矢量输入信号而输出信号。在图4所示的例子中,为了简化说明只示出了输出线474;然而,很显然,为了完整地测试兆单元电路420的功能特性,应该为多个2∶1复用器(例如复用器470)设置多条输出线。
兆单元电路420响应测试矢量输入信号产生的信号输出通过线474作为第一输入信号送入复用器470。当处于兆单元测试模式时,闩锁指令寄存器484进一步包含使译码器450确立线478上的选择信号以选择线474上的兆单元测试输出信号的指令位。因此在复用器470的输出端把兆单元电路420响应测试矢量输入信号的输出送到线472上。译码器450根据寄存器484中的指令还向线464提供信号以选择输入线472以便把线464上的兆单元电路测试输出信号送到输出管脚465上。如果兆单元电路420的运行正常,那么测试矢量输入信号将在输出管脚上显示相应的测试矢量输出图形,由此便形成了与兆单元电路420连通的通路。因此,当把测试矢量送到输入管脚423、425上时,在输出管脚465上便能指示兆单元电路420的功能性。用这种方式,可以在不在ASIC400上设置附加输出管脚的情况下来测试兆单元电路420的功能性。
在不测试兆单元电路420的功能性时,向指令寄存器484输送合适的指令位以使译码器450选择常规运行模式或JTAG测试模式。当选择JTAG测试模式时,将使译码器450在线478上输出选择信号由此使输入信号通过线476从锁定数据寄存器480进入复用器470的输出端。此外,译码器450在线466上输出选择信号,该信号使线472上的输入信号(其代表锁定数据寄存器480中通过线476的数据位的值)传送到复用器460的输出端464,从而当输出通路畅通时便可以把JTAG边界扫描数据位送到输出管脚465上。
另一方面,如果ASIC400以常规方式运行,则JTAG TAP状态控制器486会使译码器450选择复用器460的第一输入端462以便通过复用器460和线464把线462上的信号输出到管脚465。此外,译码器450在线452上输出一个低电平信号以便使输入到兆单元电路420中的测试输入信号保持确定值,由此可使兆单元电路420的运行不受管脚423、425上的输入信号的影响。
虽然以上对本发明的优选实施例进行了说明,但是很显然,对于本领域的普通技术人员来说,可以在不脱离本发明的构思和实际特征的情况下对本发明作出各种改进。因此以上描述只用于说明而不构成限制。所以本发明的范围应从所附权利要求的角度加以确定。
权利要求
1.一种在具有JTAG测试能力的集成电路(IC)封装上设置较少数量外部管脚的系统,所说系统包括形成在所说IC封装中的定制设计的数字逻辑电路,所说定制设计的数字逻辑电路具有多个输入端和输出端;一个在所说IC封装中形成并与包括在所说IC封装以便与所说定制设计的数字逻辑电路连通和产生一致作用的具有独立功能性的标准化兆单元组件,所说兆单元组件具有用于测试所说兆单元组件功能的测试输入端和测试输出端;JTAG边界扫描数据寄存器,该寄存器存储了用于测试所说IC封装输入和输出信号完整性的测试矢量,所说边界扫描数据寄存器具有多个输出端;第一选择电路,其多个第一输入端连接到所说边界扫描数据寄存器的至少一个所述输出端和所说兆单元组件的至少一个所述测试输出端上,而且所述第一选择电路还进一步接收第一选择输入信号并根据所说第一选择输入信号提供一个所述第一输入信号作为输出信号;第二选择电路,其多个第二输入端连接到所说第一选择电路的所述输出端和所说定制设计的数字逻辑电路的至少一个所说输出端上,所说第二选择电路还进一步接收第二选择输入信号并根据所说第二选择输入信号提供一个所说第二输入信号作为输出信号;存储指令位的JTAG指令寄存器,其中可用所说的指令位以及JTAG的抽头状态来确定输入到所说第一选择电路中的所说第一选择输入信号和输入到所说第二选择电路中的所说第二选择输入信号;多个外部管脚,其以所说第二选择电路输出端的形式连接,以便当所说指令寄存器和抽头状态置位时,在所说外部管脚上产生所说兆单元组件的测试输出信号从而使所说第一和第二选择电路向所说外部管脚输送所说兆单元组件的测试输出信号。
2.如权利要求1所述的系统,进一步包括带有第一和第二输入端和一个输出端的开关电路,所说开关电路在与所说开关电路的所说第一输入端相连的输入管脚和与所说开关电路的所说第二输入端相连的所说定制设计的数字逻辑电路之间进行选择,所说开关电路的所说输出端与所说标准兆单元组件相连。
3.如权利要求2所述的系统,其中所说开关电路包括复用器。
4.如权利要求1所述的系统,进一步包括一个与门,与门的输出端与所说标准兆单元组件的测试输入端相连,所说兆单元组件的所说测试输入端在所说兆单元组件的常规测试期间保持高电平或是低电平,因此在JTAG测试期间可通过单个输入管脚控制所说测试输入端。
5.如权利要求1所述的系统,进一步包括一个或门,或门的输出端与所说标准兆单元组件的测试输入端相连,所说兆单元组件的所说测试输入端在所说兆单元组件正常测试期间保持高电平或低电平,以便在JTAG测试期间可以通过单个输入管脚控制所说测试输入端。
6.一种测试集成电路中兆单元的方法,所述集成电路以兆单元作为集成电路中的一个集成的电路元件,所说兆单元产生至少一个输入或输出信号,该信号在所说集成电路正常工作期间不使之与集成电路的外部相连,所说集成电路产生多个信号,这些信号在所说集成电路的所说工作期间作为输入和/输出信号加到所说集成电路的各管脚上,该方法包括通过JTAG输入管脚向所说集成电路施加串行指令以将所说集成电路置于预定的兆单元测试模式;选择性地禁止来自所说集成电路一个相应第一管脚的多个输出信号中的一个信号;把所说测试输出信号选择性地从所说兆单元发送到所说所禁止的输出信号的所说相应第一管脚上;通过集成电路的第二管脚向所说兆单元施加测试输入信号促使所说兆单元完成测试操作;和在所说集成电路的所说相应第一管脚处监视兆单元的测试输出。
全文摘要
用特别改进的JTAG测试电路为卖主提供的在集成电路芯片中埋置有I/O的兆单元(420)输送测试输入和输出信号。利用复用器(460)或类似电路根据指令寄存器中的JTAG指令交替地在JTAG边界扫描输出或兆单元(420)电路测试输出之间进行选择。此外,利用复用器(440)或类似电路交替地在输入管脚或用于向兆单元的埋置输入端输入信号的常规电路之间进行选择。而且当处于专用JTAG测试模式时,利用“与”门(445)或“或”门(457)使向兆单元输入的测试信号受一个输入管脚的控制,所述信号通常处于高电平或低电平。用这种方式,在测试输入端施加到兆单元电路上的测试矢量可以在不需要专门作为大规模电路的测试输入端或输出端的附加输入和/或输出管脚的情况下将输出到兆单元电路上的测试输出信号加到集成电路的输出管脚上。
文档编号G01R31/3185GK1187244SQ96194624
公开日1998年7月8日 申请日期1996年6月6日 优先权日1995年6月7日
发明者小·R·J·莫特 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1