集成电路及在集成电路中建立扫描测试架构的方法转让专利

申请号 : CN201410126238.9

文献号 : CN104950241B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 任建国戴冲高峰国黄上宾薛文皓

申请人 : 联发科技(新加坡)私人有限公司

摘要 :

本发明揭露一种集成电路及在集成电路中建立扫描测试架构的方法。集成电路包含多个电路模块。每一电路模块包含时钟控制单元、第一管线单元、串行压缩扫描电路与第二管线单元。时钟控制单元根据测试时钟产生第一扫描时钟。第一管线单元根据第一扫描时钟将测试输入信号转换成第一数据。串行压缩扫描电路根据第一数据和测试时钟而产生第二数据。第二管线单元根据扫描时钟将第二数据转换成测试输出信号。上述电路模块中每一者的第一扫描时钟独立于其他电路模块的第一扫描时钟,从而可降低时序分析与调整的困难度和成本。

权利要求 :

1.一种在集成电路中建立扫描测试架构的方法,其中该集成电路具有多个电路模块,该方法包含:对该多个电路模块中的一个电路模块执行扫描测试架构建立程序,该执行扫描测试架构建立程序的步骤进一步包含:对该电路模块执行合成程序,以得到该电路模块的第一网表,其中该第一网表包含该电路模块的待测电路以及测试电路,该待测电路包含多个扫描链电路,以及该测试电路包含第一管线单元、第二管线单元、耦接于该多个扫描链电路与该第一管线单元之间的第三管线单元、以及耦接于该多个扫描链电路与该第二管线单元之间的第四管线单元;

对该第一网表执行自动布局布线程序,以产生第二网表,其中该第二网表不包含该第一管线单元与该第二管线单元;

根据该第二网表以及时钟控制器产生测试网表;以及

对该测试网表执行设计规则检查。

2.如权利要求1所述的在集成电路中建立扫描测试架构的方法,其特征在于,对该第一网表执行该自动布局布线程序,以产生该第二网表的步骤更包含:将该第一管线单元以及该第二管线单元从该电路模块的该第一网表中移除,以产生第三网表;以及对该第三网表执行该自动布局布线程序,以产生该第二网表。

3.如权利要求1所述的在集成电路中建立扫描测试架构的方法,其特征在于,该测试电路更包含:解压缩器,耦接于该第三管线单元与该多个扫描链电路之间;以及

压缩器,耦接于该多个扫描链电路与该第四管线单元之间。

4.如权利要求1所述的在集成电路中建立扫描测试架构的方法,其特征在于,该第三管线单元形成解串器,而该第四管线单元形成串行器。

5.如权利要求1所述的在集成电路中建立扫描测试架构的方法,更包含:

对该多个电路模块中至少一其他电路模块执行该扫描测试架构建立程序。

6.如权利要求1所述的在集成电路中建立扫描测试架构的方法,更包含:

对该电路模块的该待测电路执行扫描测试程序,

其中该时钟控制器耦接于该集成电路的第一接合垫,以及在执行该扫描测试程序期间,该时钟控制器根据来自该第一接合垫的测试时钟而产生第一扫描时钟。

7.如权利要求6所述的在集成电路中建立扫描测试架构的方法,其特征在于,在执行该扫描测试程序期间,该第一管线单元相应于该第一扫描时钟而将来自该集成电路的第二接合垫的测试输入信号提供至该第三管线单元,以便对该待测电路执行该扫描测试程序,以及该第二管线单元相应于该第一扫描时钟而将对该待测电路执行该扫描测试程序的测试结果提供至该集成电路的第三接合垫。

8.如权利要求7所述的在集成电路中建立扫描测试架构的方法,其特征在于,在执行该扫描测试程序期间,该时钟控制器更根据来自该第一接合垫的该测试时钟而产生第二扫描时钟,其中该第三管线单元相应于该第二扫描时钟而将来自该第一管线单元的该测试输入信号提供至该扫描链电路,以及该第四管线单元相应于该第二扫描时钟而将来自该待测电路的该测试结果提供至该第二管线单元。

9.一种在集成电路中建立扫描测试架构的方法,其中该集成电路具有多个电路模块,该方法包含:对每一该电路模块分别执行合成程序,以得到每一该电路模块对应的第一网表,其中该第一网表包含对应的该电路模块的待测电路以及测试电路,该待测电路包含多个扫描链电路,以及该测试电路包含第一管线单元、第二管线单元、耦接于该多个扫描链电路与该第一管线单元之间的第三管线单元、以及耦接于该多个扫描链电路与该第二管线单元之间的第四管线单元;

分别对每一该电路模块对应的该第一网表执行自动布局布线程序,以产生每一该电路模块对应的第二网表,其中该第二网表不包含该第一管线单元与该第二管线单元;

对全部的该第二网表执行合成程序,以得到第三网表;

根据该第三网表、每一该电路模块对应的该第一管线单元与该第二管线单元以及每一该电路模块对应的时钟控制器,产生顶层测试网表;以及对该顶层测试网表执行设计规则检查。

10.如权利要求9所述的在集成电路中建立扫描测试架构的方法,其特征在于,该分别对每一该电路模块对应的该第一网表执行该自动布局布线程序,以产生每一该电路模块对应的该第二网表的步骤更包含:将该第一管线单元以及该第二管线单元从每一该电路模块对应的该第一网表中移除,以分别产生第四网表;以及分别对每一该电路模块对应的该第四网表执行该自动布局布线程序,以产生该第二网表。

11.如权利要求9所述的在集成电路中建立扫描测试架构的方法,其特征在于,该测试电路更包含:解压缩器,耦接于该第三管线单元与该多个扫描链电路之间;以及

压缩器,耦接于该多个扫描链电路与该第四管线单元之间。

12.如权利要求9所述的在集成电路中建立扫描测试架构的方法,其特征在于,该根据该第三网表、每一该电路模块对应的该第一管线单元与该第二管线单元以及每一该电路模块对应的时钟控制器,产生顶层测试网表的步骤更包含:将每一该电路模块对应的该第一管线单元、该第二管线单元以及该时钟控制器加入所对应的该第三网表,以产生该顶层测试网表。

13.如权利要求9所述的在集成电路中建立扫描测试架构的方法,其特征在于,该第三管线单元形成解串器,而该第四管线单元形成串行器。

14.如权利要求9所述的在集成电路中建立扫描测试架构的方法,更包含:对每一该电路模块的该待测电路执行扫描测试程序,

其中每一该时钟控制器分别耦接于该集成电路的多个第一接合垫中的一者,以及在执行该扫描测试程序期间,每一该时钟控制器根据来自所对应的该第一接合垫的测试时钟而产生第一扫描时钟,以及每一该时钟控制器的该第一扫描时钟独立于其他该时钟控制器的该第一扫描时钟。

15.如权利要求14所述的在集成电路中建立扫描测试架构的方法,其特征在于,在执行该扫描测试程序期间,每一该第一管线单元相应于所对应的该第一扫描时钟而将来自该集成电路的第二接合垫的测试输入信号提供至所对应的该第三管线单元,以便对所对应的该待测电路执行该扫描测试程序,以及每一该第二管线单元相应于所对应的该第一扫描时钟而将对所对应的该待测电路执行该扫描测试程序的测试结果提供至该集成电路的第三接合垫。

16.如权利要求15所述的在集成电路中建立扫描测试架构的方法,其特征在于,在执行该扫描测试程序期间,每一该时钟控制器更根据来自所对应的该第一接合垫的该测试时钟而产生第二扫描时钟,其中每一该第三管线单元相应于所对应的该第二扫描时钟而将来自所对应的该第一管线单元的该测试输入信号提供至所对应的该扫描链电路,以及每一该第四管线单元相应于所对应的该第二扫描时钟而将来自所对应的该待测电路的该测试结果提供至所对应的该第二管线单元。

说明书 :

集成电路及在集成电路中建立扫描测试架构的方法

技术领域

[0001] 本发明有关于一种集成电路,特别是有关于具有扫描测试架构的一种集成电路及在集成电路中建立对应扫描测试架构的方法。

背景技术

[0002] 随着电路设计越趋复杂,越来越多的晶体管被实现在单一芯片中。随着现代芯片设计复杂度的增加,集成电路的测试设计会越来越重要。因此,需要在芯片的设计流程中有良好的测试设计方法,以在早期诊断出复杂的系统芯片(System-on-chip,SoC)集成电路在制程上的缺陷。
[0003] 对复杂的集成电路来说,使用的逻辑单元越多,则执行扫描测试所需要的时间也就越长,进而增加了集成电路的测试成本。因此,在集成电路的可测试性电路设计(design for testability,DFT)中可使用串行压缩扫描测试架构(serialized compressed scan architecture,SCSA)来进行扫描测试,其中串行压缩扫描测试架构能使用有限的测试输入接脚(pin)/接合垫(pad)与输出接脚/接合垫来大幅增加扫描链(scan chain)数量。增加扫描链数量可以减少扫描链电路的长度,于是可降低测试时间。此外,使用串行压缩扫描测试架构可对测试数据进行压缩,来减少测试的数据量。因此,亦可降低测试时间,进而降低集成电路的测试成本。

发明内容

[0004] 本发明的实施例提供一种集成电路。上述集成电路包含多个电路模块。每一上述电路模块包含:第一时钟控制单元,用以根据测试时钟产生第一扫描时钟;第一管线单元,用以根据上述第一扫描时钟将测试输入信号转换成第一数据;串行压缩扫描电路,用以根据上述第一数据以及上述测试时钟而产生第二数据;以及第二管线单元,用以根据上述第一扫描时钟将上述第二数据转换成测试输出信号。上述电路模块中每一者的上述第一扫描时钟独立于其他上述电路模块的上述第一扫描时钟。在一个实施例中,上述集成电路可进一步包含测试存取端口,用以提供上述测试时钟和上述测试输入信号,以及接收并输出上述测试输出信号。在另一实施例中,上述串行压缩扫描电路可包含:第二时钟控制单元,用以根据上述测试时钟产生第二扫描时钟以及第三扫描时钟;第三管线单元,用以根据上述第二扫描时钟将来自上述第一管线单元的上述第一数据转换成第三数据;解压缩器,用以对上述第三数据进行解压缩,以产生多个第四数据;多个扫描链电路,耦接于上述解压缩器,其中上述第四数据中每一者被输入所对应的上述扫描链电路中的一者,以及上述扫描链电路的每一者根据上述第二扫描时钟以及所对应的上述第四数据中的一者而产生第五数据;压缩器,用以对上述扫描链电路中每一者产生的上述第五数据进行压缩,以产生第六数据;以及第四管线单元,用以根据上述第三扫描时钟将上述第六数据转换成上述测试输出信号。
[0005] 再者,本发明的实施例提供一种在集成电路中建立扫描测试架构的方法,其中上述集成电路具有多个电路模块。上述方法包含对一个上述电路模块执行扫描测试架构建立程序,其步骤包含:对上述集成电路的上述电路模块执行合成程序,以得到上述电路模块的第一网表,其中上述第一网表包含上述电路模块的待测电路以及测试电路,其中上述待测电路包含多个扫描链电路,以及上述测试电路包含第一管线单元、第二管线单元、耦接于上述扫描链电路以及上述第一管线单元之间的第三管线单元、以及耦接于上述扫描链电路以及上述第二管线单元之间的第四管线单元;对上述电路模块的上述第一网表执行自动布局布线程序,以产生第二网表,其中上述第二网表不包含上述第一管线单元与上述第二管线单元;根据上述第二网表以及时钟控制器,产生测试网表;以及对上述测试网表执行设计规则检查。在一个实施例中,上述于集成电路中建立扫描测试架构的方法更包含:对上述多个电路模块中至少一其他电路模块执行上述扫描测试架构建立程序。
[0006] 再者,本发明的实施例提供另一种在集成电路中建立扫描测试架构的方法,其中上述集成电路具有多个电路模块。上述方法包含:对每一上述电路模块分别执行合成程序,以得到每一上述电路模块对应的第一网表,其中上述第一网表包含对应的上述电路模块的待测电路以及测试电路,其中上述待测电路包含多个扫描链电路,以及上述测试电路包含第一管线单元、第二管线单元、耦接于上述扫描链电路以及上述第一管线单元之间的第三管线单元、以及耦接于上述扫描链电路以及上述第二管线单元之间的第四管线单元;分别对每一上述电路模块对应的上述第一网表执行自动布局布线程序,以产生每一上述电路模块对应的第二网表,其中上述第二网表不包含上述第一管线单元与上述第二管线单元;对全部的上述第二网表执行合成程序,以得到第三网表;根据上述第三网表、每一上述电路模块对应的上述第一管线单元与第二管线单元以及每一上述电路模块对应的时钟控制器,产生顶层测试网表;以及对上述顶层测试网表执行设计规则检查。
[0007] 在上述集成电路及于其中建立扫描测试架构的方法中,每一电路模块具有独立的时钟控制器,即每一电路模块的扫描时钟为非相关。于是,可提高集成电路的扫描位移频率。上述实施例可在执行自动布局布线程序时容易地对每一电路模块独立执行时序收敛程序,以使各电路模块的时钟树皆能够最佳化,从而不需要对整个芯片进行时序收敛程序即可完成层级时序验证,可降低时序分析与调整的困难度和成本。

附图说明

[0008] 图1是根据本发明一实施例所述的集成电路的示意图;
[0009] 图2是根据本发明一实施例所述的集成电路的电路模块的示意图,其中所述电路模块符合串行压缩扫描测试架构;
[0010] 图3A是根据本发明一实施例所述的在集成电路中建立扫描测试架构的方法的示意图;
[0011] 图3B是图3A中方法的执行示意图;
[0012] 图4A是根据本发明另一实施例所述的在集成电路中建立扫描测试架构的方法的示意图;以及
[0013] 图4B是图4A中方法的执行示意图。

具体实施方式

[0014] 为让本发明的上述和其他目的、特征、及优点能更明显易懂,下文特举出较佳实施例,并配合所附图式,作详细说明如下:
[0015] 图1是根据本发明一实施例所述的集成电路100的示意图。集成电路100包含多个电路模块1101-110n以及测试存取端口120,其中电路模块1101-110n为数字逻辑电路。当集成电路100操作在扫描测试模式下时,电路模块1101-110n内的多个扫描单元(scan cell)会串联为不同的扫描链(scan chain),而测试装置(图未示)可透过测试存取端口120将测试时钟TCLK以及测试输入SI输入至扫描链中。接着,测试装置可透过测试存取端口120得到扫描链的测试输出SO,并根据扫描输出SO对电路模块1101-110n进行侦错。在此实施例中,测试存取端口120包含第一群组接合垫(pad)130、第二群组接合垫140以及第三群组接合垫150。第一群组接合垫130包含多个接合垫1301-130n,用以分别提供来自测试装置的测试输入SI1-SIn至电路模块1101-110n。第二群组接合垫140包含多个接合垫1401-140n,用以分别提供来自测试装置的测试时钟TCLK1-TCLKn至电路模块1101-110n。第三群组接合垫150包含多个接合垫1501-150n,用以分别提供来自电路模块1101-110n的测试输出SO1-SOn至测试装置。
于是,根据测试输出SO1-SOn,测试装置可完成集成电路100的测试操作,例如晶圆测试(Chip Probing,CP)或是封装后测试(Final Test,FT),并判断集成电路100是否正常。值得注意的是,电路模块1101-110n的测试时钟TCLK1-TCLKn是直接由测试装置所提供。集成电路100在执行扫描测试时,每一电路模块独立执行扫描测试,因此各电路模块的测试时钟在时序(timing)上的考虑仅跟该电路模块内的实际电路架构相关,与其他电路模块的测试时钟无关。例如,集成电路100在执行扫描测试时,测试时钟TCLK1-TCLKn彼此独立。
[0016] 图2是根据本发明一实施例所述的集成电路的电路模块200的示意图,例如图1中的电路模块1101-110n,其中电路模块200符合串行压缩扫描测试架构。电路模块200包含串行时钟控制器210、串行压缩扫描电路220、管线(pipeline)单元230与管线单元240。串行时钟控制器210包含时钟控制单元212与时钟控制单元214。时钟控制单元212可经由集成电路的测试存取端口(例如图1中的第二群组接合垫140)而接收到来自测试装置的测试时钟TCLK,并提供串行扫描时钟(Serialized Scan Clock)信号SSC1至管线单元230与管线单元240。此外,时钟控制单元214可根据测试时钟TCLK而提供串行扫描时钟信号SSC2以及扫描时钟(Scan Clock)信号SC至串行压缩扫描电路220。串行压缩扫描电路220包含管线单元
250、解压缩器(Decompressor)260、并行扫描链架构的待测单元(circuit under test with parallel scan chains)270、压缩器(compressor)280以及管线单元290。在此实施例中,管线单元230与管线单元240为电路模块200的第一级管线单元,其中第一级管线单元、时钟控制单元212与串行压缩扫描电路220在电路模块200中是相同的设计层级(hierarchical layer)。管线单元250与管线单元290为电路模块200的第二级管线单元,其中第二级管线单元、解压缩器260、待测单元270以及压缩器280在电路模块200中是相同的设计层级。在图2中,管线单元250可包含解串缓存器(deserializer register)(图未示),从而形成解串器(Deserializer),而解串器为一种串行对并行转换器(serial  to parallel converter)。此外,管线单元290可包含串行缓存器(serializer register)(图未示),从而形成串行器(Serializer),其中串行器为一种并行对串行转换器(parallel to serial converter)。在此实施例中,使用两级管线单元来实施解串器以及串行器可在电路合成(synthesis)程序中使时钟树(clock tree)的合成得到最佳化,进而减少或避免测试中的时钟问题,例如时钟扭曲(clock skew)、时钟延迟(clock latency)或时钟变化(clock transition)等。
[0017] 在图2中,相应于串行扫描时钟信号SSC1,管线单元230可经由集成电路的测试存取端口(例如图1中的第一群组接合垫130)而接收到来自测试装置的测试输入SI,其中测试输入SI可当作串行扫描数据输入(Serialized Scan Data Input)信号。此外,根据串行扫描时钟信号SSC1,管线单元230可将测试输入SI转换成具有多个比特的数据D1,并提供至管线单元250。接着,相应于串行扫描时钟信号SSC2,管线单元250可根据数据D1而产生数据D2,并提供数据D2至解压缩器260。解压缩器260对数据D2进行解压缩,以产生具有未压缩形式的多个数据D3。待测单元270包含并行扫描链电路(parallel scan chain,PSC)275。当集成电路在进行扫描测试程序时,每一扫描链电路275会根据扫描时钟信号SC以及位移使能信号SE来接收数据D3,并进行扫描测试以产生数据D4。并行扫描链电路275的操作为常见的数字集成电路扫描测试方法。举例来说,相应于每一扫描时钟信号SC,每一扫描链电路275会接收一位的数据D4,即扫描链电路扫描位移了一位。压缩器280会对来自待测单元270的多个比特数据D4进行压缩,以产生具有多个比特的数据D5。相应于串行扫描时钟信号SSC2以及选通信号Strobe,管线单元290可根据数据D5而产生数据D6,并提供数据D6至管线单元240。接着,管线单元240会根据串行扫描时钟信号SSC1,将多个比特数据D6转换成测试输出SO,其中测试输出SO为一串行扫描数据输出信号。于是,经由集成电路的测试存取端口(例如图1中的第三群组接合垫150),测试装置便可根据测试输出SO来判断电路模块200中的待测单元270是否正常。
[0018] 图3A是根据本发明一实施例所述的在集成电路中建立扫描测试架构的方法的示意图,以及图3B是图3A中的方法的执行示意图,其中图3A中的方法是由可执行电子设计自动化(Electronic Design Automation,EDA)工具的处理器所执行。请同时参考图2、图3A以及图3B,首先,在步骤S302,处理器会对电路模块200中全部电路的硬件描述语言(Hardware Description Language,HDL)码352执行合成(synthesis)程序,以产生电路模块200的完整网表(full netlist)354。接着,在步骤S304,处理器会将测试控制的相关电路358中的部分电路从完整网表354中移除,再对完整网表354执行自动布局布线(Auto Place and Route,APR)程序,以产生自动布局布线网表356。在此实施例中,测试控制的相关电路358中的部分电路包含电路模块200的第一级管线单元(即管线单元230与240)。接着,在步骤S306,处理器会根据自动布局布线网表356以及测试控制的相关电路358,而产生测试网表360,其中测试控制的相关电路358包含电路模块200的第一级管线单元(即管线单元230与240)以及时钟控制单元212。在测试网表360中,时钟控制单元212、管线单元230、240以及自动布局布线网表356实施于电路模块200的顶层(top layer)。接着,在步骤S308,处理器会对测试网表360执行设计规则检查(Design Rules Check,DRC)程序,以验证测试网表360是否能满足制程上的布局规范,从而得到设计规则检查结果362。根据图3A中的方法,处理器可以对图1中的每一电路模块1101-110n分别产生所对应的测试网表,并进一步对各电路模块1101-110n的测试网表执行设计规则检查程序。
[0019] 图4A是根据本发明另一实施例所述的在集成电路中建立扫描测试架构的方法的示意图,以及图4B是图4A中的方法的执行示意图,其中图4A中的方法是由可执行电子设计自动化工具的处理器所执行,以及该集成电路包含多个电路模块。同时参考图4A以及图4B,首先,在步骤S402,处理器会对集成电路中的多个电路模块的硬件描述语言码4521-452n分别执行合成程序,以产生所对应的完整网表4541-454n。例如,处理器会对第一电路模块的硬件描述语言码4521执行合成程序,以产生第一电路模块的完整网表4541。接着,在步骤S404,处理器会分别将各电路模块的测试控制的相关电路4581-458n中的部分电路从所对应的完整网表4541-454n中移除,再对完整网表4541-454n执行自动布局布线程序,以分别产生自动布局布线网表4561-456n。例如,处理器会先将测试控制的相关电路4581中的部分电路从第一电路模块的完整网表4541中移除,再对完整网表4541执行自动布局布线程序,以产生第一电路模块的自动布局布线网表4561。如先前所描述,每一测试控制的相关电路4581-458n中的部分电路包含所对应的电路模块的第一级管线单元(例如图2中的管线单元230与240)。接着,在步骤S406,处理器会对全部的自动布局布线网表4561-456n执行合成程序,以得到顶层网表(top netlist)460。接着,在步骤S408,处理器会将测试控制的相关电路4581-458n加入/插入顶层网表460,以产生顶层测试网表462。上述测试控制的相关电路4581-458n为该电路模块的第一级管线单元(例如图2中的管线单元230与240)以及对应于第一级管线单元的时钟控制单元(例如图2中的时钟控制单元212)。在顶层测试网表462中,测试控制的相关电路4581-458n以及多个电路模块实施于集成电路的顶层。接着,在步骤S410,处理器会对顶层测试网表462执行设计规则检查程序,以验证顶层测试网表462是否能满足制程上的布局规范,从而得到设计规则检查结果464。
[0020] 根据本发明的实施例,集成电路中的每一电路模块具有独立的串行时钟控制器,即每一电路模块的扫描时钟为非相关。于是,可提高集成电路的扫描位移频率。此外,与仅使用一个串行时钟控制器来提供彼此相关的多个串行扫描时钟至全部电路模块的传统集成电路相比,上述实施例中的处理器可在执行自动布局布线程序时容易地对每一电路模块独立执行时序收敛(timing closure)程序,以使各电路模块的时钟树能够最佳化。接着,处理器仅需将已时序收敛的每一电路模块与所对应的第一级管线单元进行合成,而不需要对整个芯片进行时序收敛程序,因此可完成层级时序验证(timing signoff),从而降低时序分析与调整的困难度和成本。
[0021] 在不脱离本发明的精神及基本特征的前提下,本发明亦可用其他特定形式来实施。以上所述的实施例仅仅是为了例示本发明,并非本发明的限制。本发明的范围当所附的权利要求为准,凡依本发明权利要求所做的均等变化与修饰,皆应属本发明的涵盖范围。