CN107430166B - 半导体器件及扫描测试方法 - Google Patents

半导体器件及扫描测试方法 Download PDF

Info

Publication number
CN107430166B
CN107430166B CN201580078374.8A CN201580078374A CN107430166B CN 107430166 B CN107430166 B CN 107430166B CN 201580078374 A CN201580078374 A CN 201580078374A CN 107430166 B CN107430166 B CN 107430166B
Authority
CN
China
Prior art keywords
test
circuit
scan
data
fifo
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.)
Active
Application number
CN201580078374.8A
Other languages
English (en)
Other versions
CN107430166A (zh
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Publication of CN107430166A publication Critical patent/CN107430166A/zh
Application granted granted Critical
Publication of CN107430166B publication Critical patent/CN107430166B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318572Input/Output interfaces
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/31917Stimuli generation or application of test patterns to the device under test [DUT]
    • G01R31/31919Storing and outputting test patterns
    • G01R31/31921Storing and outputting test patterns using compression techniques, e.g. patterns sequencer
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318505Test of Modular systems, e.g. Wafers, MCM's
    • G01R31/318508Board Level Test, e.g. P1500 Standard
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318516Test of programmable logic devices [PLDs]
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318536Scan chain arrangements, e.g. connections, test bus, analog signals
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318544Scanning methods, algorithms and patterns
    • G01R31/318547Data generators or compressors
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318594Timing aspects
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/31917Stimuli generation or application of test patterns to the device under test [DUT]
    • G01R31/31922Timing generation or clock distribution
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/3193Tester hardware, i.e. output processing circuits with comparison between actual response and known fault free response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/267Reconfiguring circuits for testing, e.g. LSSD, partitioning

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

本发明的半导体器件(9)具备:FIFO(91);测试数据写入电路(92),其与第一时钟信号(910)同步地将多个测试数据依次写入FIFO(91);测试控制电路(93),其与测试数据写入电路(92)将多个测试数据向FIFO(91)的写入并行地,与第二时钟信号(920)同步地实施依次读出在FIFO(91)中保存的多个测试数据的被测试电路(94)的扫描测试,其中,第二时钟信号(920)与第一时钟信号(910)不同步。

Description

半导体器件及扫描测试方法
技术领域
本发明涉及半导体器件及扫描测试方法,特别是涉及具有与不同的时钟信号同步地动作的电路的半导体器件。
背景技术
半导体器件的测试通常使用扫描测试。可执行扫描测试的半导体器件具有由移位寄存器构成的扫描链。该移位寄存器连接有构成逻辑的触发器。而且,通过从该扫描链的第一级的触发器输入测试数据,来进行扫描测试。
通常,为了缩短扫描测试所耗费的时间而将扫描链分割成多个条。各扫描链分别具有用于取得测试数据的输入、和用于取出测试结果的输出。通过从扫描链的最后一级的触发器依次取出并与期待值对照,来判定扫描测试的测试结果。
从上述动作可知,扫描测试在性质上必须与一定速度的时钟同步地同时对多个扫描链供给多个测试数据。另外,扫描测试在性质上必须与一定速度的时钟同步地分别对各扫描链连续性地供给多个测试数据。在此所说的“与时钟同步”是指,相对于使扫描链(2010)进行扫描移位动作的时钟的一个循环,在不发生违反建立时间及违反保持时间的情况下,将测试数据传递至下一级的触发器。在测试数据对多个扫描链的供给不满足上述条件的情况下,无法对所有触发器供给准确的测试数据,也无法稳定地取出准确的测试结果。
但是,在含有实施上述这种扫描测试的电路的运行时间测试机构中,有时很难进行定时设计。作为很难进行定时设计的情况,有如下的情况:在CPU(Central ProcessingUnit:中央处理单元)的核心位于DVFS(Dynamic Vo1tage and Frequency Sca1ing:动态电压频率调整)区域(电压频率变动区域),另一方面,控制运行时间测试的电路在CONST区域(电压频率无变动的区域)的情况下,无法进行STA(Static Timing Ana1ysis:静态定时分析)(条件太过复杂而实质上不可能的情况)。
在此,通过放宽与传送定时相关的限制(即降低电路的处理速度)使其具有充份的定时裕度,可能会避免上述问题。然而,如此一来,就无法满足与运行时间测试的执行时间(FTTI:容错时间间隔)相关的要求事项(例如,在10毫秒以内完成运行时间测试)。
针对在构成扫描链的多个触发器中没有实现时钟的同步设计的问题,在专利文献1中,通过在时钟的定时具有差异的触发器间的传送路径中插入延时电路,来避免违反保持时间。另外,在专利文献2中,通过在第一时钟区域和第二时钟区域之间的扫描单元插入锁存器,来避免违反保持时间。
如上所述,在专利文献1及专利文献2中,公开了多个时钟彼此不同步,在各自的时钟的传播产生偏差,以致无法保障保持时间的情况的解决方法。但是,在专利文献1及专利文献2所公开的技术中,存在以下问题:即使能够避免违反保持时间,也无法避免违反建立时间。即,存在无法不发生违反定时地实施扫描测试的问题。
另外,针对没有进行时钟的同步设计的问题,在专利文献3中,与低速的扫描时钟同步地将所有扫描输入数据蓄积于FIFO(First In First Out:先入先出队列)后,再将与高速的系统时钟同步地蓄积于FIFO的扫描输入数据提供给内部电路区块。但是,在专利文献3所公开的技术中,存在以下问题:由于在以低速的扫描时钟将所有扫描输入数据加载后才能实施扫描测试,所以扫描测试所耗费的时间变大。
现有技术文献
专利文献
专利文献1:日本特开2000-321331号公报
专利文献2:日本特开2008-530549号公报
专利文献3:日本专利第2723957号说明书
发明内容
如上所述,在专利文献1及专利文献2所公开的技术中,存在无法不发生违反定时地实施扫描测试的问题。另外,在专利文献3所公开的技术中,存在扫描测试所耗费的时间变大的问题。
其它的课题和新的特征根据本说明书的记载及附图将变得明朗。
根据一实施方式,半导体器件与和第一时钟信号同步将多个测试数据向FIFO写入并行地,实施与和第一时钟信号不同步的第二时钟信号同步地依次读出在FIFO中保存的多个测试数据的被测试电路的扫描测试。
发明效果
根据上述一实施方式,能够在抑制发生违反定时的同时,减少执行时间来实施扫描测试。
附图说明
图1是实施方式1的半导体器件的第一结构图。
图2是实施方式1的半导体器件的第二结构图。
图3是图1所示的FIFO的结构图。
图4是表示存储于图2所示的FIFO的测试数据的一例的图。
图5是图1所示的测试控制装置的结构图。
图6是表示实施方式1的半导体器件的动作波形的图。
图7是实施方式2的半导体器件的结构图。
图8是图7所示的测试时钟控制装置的结构图。
图9是表示图8所示的测试时钟控制装置的动作波形的图。
图10是表示实施方式2的半导体器件的动作波形的图。
图11是实施方式3的半导体器件的结构图。
图12是实施方式3的半导体器件的变形例的结构图。
图13是实施方式4的半导体器件的结构图。
图14是表示实施方式4的半导体器件的动作的流程图。
图15是实施方式5的半导体器件的结构图。
图16是表示实施方式5的半导体器件的动作的流程图。
图17是实施方式6的半导体器件的结构图。
图18是表示实施方式6的半导体器件的动作的流程圚。
图19是实施方式7的半导体器件的结构图。
图20是另一实施方式的半导体器件的结构图。
具体实施方式
以下,参照附图对优选的实施方式进行说明。以下的实施方式所示的具体数值等只不过是用于使实施方式容易理解的例子,除非有特别声明的情况以外,否则不限于此。另外,在以下的记载及附图中,为了说明更明确,适宜省略及简化对于本领域技术人员来说自明的事项等。
<实施方式1>
[整体结构]
首先,参照图1,对本实施方式1的半导体器件(1A)的结构进行说明。图1是本实施方式1的半导体器件(1A)的结构图。
如图1所示,半导体器件(1A)具有:测试模式产生装置(100)、FIFO(101)、测试控制装置(200)、被测试电路(201)、以及测试结果压缩装置(202)。另外,半导体器件(1A)具有各自的电源布线分别不同的第一电源区域(10)和第二电源区域(20)。
第一电源区域(10)包含测试模式产生装置(100)。第二电源区域(20)包含测试控制装置(200)、被测试电路(201)、测试结果压缩装置(202)。FIFO(101)中的一部分功能块(101A)包含于第一电源区域(10),其余的功能块(101B)包含于第二电源区域(20)。此外,关于FIFO(101)被划分成什么样的功能块,在后述的FIFO(101)的详细说明中记载。
第一电源区域(10)和第二电源区域(20),各自的电源布线不同。即,向第一电源区域(10)和第二电源区域(20)分别供给独立且不同的电源电压。在此,例如将第一电源区域(10)设为CONST区域,将第二电源区域(20)设作DVFS区域。
配置于第一电源区域(10)的装置及电路由第一时钟信号(110)驱动。配置于第二电源区域(20)的装置及电路由第二时钟信号(210)驱动。FIFO(101)也相同,一部分的功能块(101A)由第一时钟信号(110)驱动,其余的功能块(101B)由第二时钟信号(210)驱动。
由于第一电源区域(10)和第二电源区域(20)的电压不同,从而第一时钟信号(H0)和第二时钟信号(210)不同步(频率及相位的中至少之一不同)。此外,第一时钟信号(110)和第二时钟信号(210)因为是由不同的时钟生成电路生成的时钟信号,从而彼此不同步。
测试模式产生装置(100)与FIFO(101)电连接。测试模式产生装置(100)是将被测试电路(201)的扫描测试中使用的多个扫描测试数据依次存储于FIFO(101)的电路。
FIFO(101)是能够保存多个扫描测试数据的存储装置(存储电路)。FIFO(101)在暂时保存从测试模式产生装置(100)输出的扫描测试数据之后,将其输出至被测试电路(201)。
被测试电路(201)是控制半导体器件(1A)的功能逻辑(逻辑电路)。被测试电路(201)例如是CPU。被测试电路(201)根据扫描测试的方法进行扫描化的处理。即,被测试电路(201)具有多个扫描链(2010)。图1中,扫描链(2010)分别是示意性示出其功能逻辑(被测试电路(201))被进行了扫描的块。
FIFO(101)以能够对被测试电路(201)供给扫描测试数据的方式与各扫描链(2010)的第一级(输入级)电连接。各扫描链(2010)的最后一级(输出级)以能够从被测试电路(201)取得基于扫描测试数据的成为动作结果的数据的方式与测试结果压缩装置(202)电连接。
由此,被测试电路(201)将从FIFO(101)输出的扫描测试数据保存于各扫描链(2010)。另外,被测试电路(201)在进行基于扫描测试数据的动作后,将保存于各扫描链(2010)的成为动作结果的数据作为测试结果数据而输出至测试结果压缩装置(202)。
此外,图1示出单纯的扫描化的例子,但也可如图2所示的半导体器件(1B)那样,被测试电路(201)还具有扩展电路(20H)和压缩电路(2012)。换言之,被测试电路(201)也可以为利用压缩扫描的结构。在该情况下,FIFO(101)经由扩展电路(2011)与各扫描链(2010)的第一级电连接。另外,各扫描链(2010)的最后一级经由压缩电路(2012)与测试结果压缩装置(202)电连接。
扩展电路(2011)将从FIFO(101)输出的扫描测试数据扩展成与扫描链(2010)的数量相同的比特数后,再保存于各扫描链(2010)。另外,压缩电路(2012)将保存于各扫描链(2010)的测试结果数据压缩成更少的比特数后,再输出至测试结果压缩装置(202)。
测试控制装置(200)以能够控制FIFO(101)、被测试电路(201)、测试结果压缩装置(202)的方式与这些电路(101、201)及装置(202)电连接。
测试结果压缩装置(202)从被测试电路(201)依次输出的多个测试结果数据生成压缩符号。另外,测试结果压缩装置(202)基于所生成的压缩符号判定测试结果。
[测试模式产生装置(100)]
图1所示的测试模式产生装置(100)是将用于进行被测试电路(201)的扫描测试的多个扫描测试数据按位循环的顺序写入FIFO(101)的装置(电路)。扫描测试数据也可以预先保存于半导体器件(1A)。例如可以预先保存于半导体器件(1A)所具有的FLASH存储器。另外,扫描测试数据也可以从半导体器件(1A)的外部供给。更具体而言,也可以在半导体器件(1A)上连接ATE(Automated Test Equipment:自动化测试设备),并从由该ATE供给扫描测试数据。测试模式产生装置(100)将从ATE供给的扫描测试数据写入FIFO(101)。该情况下,第一时钟信号(110)也可以从ATE供给。另外,也可以将半导体器件(1A)设为不具有测试模式产生装置(100)的结构,并从ATE直接向FIFO(101)写入扫描测试数据。
[FIFO(101)]
接着,参照图3,对本实施方式1的FIFO(101)的结构进行说明。图3是本实施方式1的FIFO(101)的框图。
如图3所示,FIFO(101)具有输入电路(30)和输出电路(40)。如上所述,FIFO(101)大体具有两个功能块(101A、101B)。一个是写入用的功能块(101A),具有输入电路(30)。另一个是读出用的功能块(101B),具有输出电路(40)。输入电路(30)是将从测试模式产生装置(100)输入的写入数据(扫描测试数据)写入至FIFO(101)的电路。输出电路(40)是读出FIFO(101)的数据并将其作为读出数据输出至被测试电路(201)的电路。
有时在输入电路(30)与输出电路(40)之间配置有边界电路(50)。在边界电路(50)包含用于吸收第一电源区域(10)和第二电源区域(20)的电位差的电平移位器(未图示)、及隔断边界的电源的隔离逻辑(未图示)。
输入电路(30)具有满判定电路(31)、格雷码计数器(32)、选择电路(33)、寄存器组(34)。
满判定电路(31)基于从格雷码计数器(32)及格雷码计数器(42)分别输出的格雷码,判定寄存器组(34)是否已满。换言之,满判定电路(31)判定是否寄存器组(34)中的所有寄存器中均已存储扫描测试数据。在满判定电路(31)判定寄存器组(34)已满的情况下,断言(assert)向测试模式产生装置(100)输出的满信号。另一方面,当满判定电路(31)判定寄存器组(34)未满的情况下,无效(negate)向测试模式产生装置(100)输出的满信号。
由此,测试模式产生装置(100)在从满判定电路(31)输入的满信号被断言的情况下,停止向FIFO(101)输入扫描测试数据。因此,能够防止FIFO(101)的溢出。另一方面,测试模式产生装置(100)在从满判定电路(H)输入的满信号被无效的情况下,向FIFO(101)输入扫描测试数据。
格雷码计数器(32)存储格雷码,该格雷码表示寄存器组(34)中的成为写入数据的写入目的地的寄存器的地址。格雷码计数器(32)将保存在自身内的格雷码输出至满判定电路(31)、选择电路(33)、空判定电路(41)。另外,格雷码计数器(32)在从测试模式产生装置(100)输入的写入信号被断言的期间,与第一时钟信号(110)同步地更新保存在自身内的格雷码。即,格雷码计数器(32)在写入信号被断言的期间,每当被输入第一时钟信号(110)的沿时,更新保存在自身内的格雷码。
在此,测试模式产生装置(100)在向FIFO(101)输入扫描测试数据的期间,将已断言的写入信号输出至格雷码计数器(32),并在停止对FIFO(101)输入扫描测试数据的期间,将被无效的写入信号输出至格雷码计数器(32)。
选择电路(33)选择寄存器组(34)中以从格雷码计数器(32)输出的格雷码表示的一个寄存器来作为写入数据的写入目的地的寄存器。因此,在写入信号被断言的期间,与第一时钟信号(110)同步地切换选择电路(33)所选择的寄存器。在此,图3中,将包含于寄存器组(34)中的多个寄存器表示为“寄存器1”、…、“寄存器N”(N是预先设定的任一正整数)。格雷码计数器(32)例如将在寄存器组(34)中的多个寄存器中选择的寄存器进行循环地(例如“寄存器1”、…、“寄存器N”、“寄存器1”、…的顺序)切换。
寄存器组(34)保存有写入数据(扫描测试数据)。寄存器组(34)具有多个寄存器。寄存器组(34)中的各寄存器是仅能够保持一个移位循环量的扫描测试数据的大小的寄存器。例如,在扫描测试数据(写入数据、读出数据)的大小为6比特的情况下,寄存器组(34)中的各寄存器的大小为6比特。通过如上所述准备多个寄存器,在读出寄存器组(34)中的多个寄存器中的某一寄存器的数据时,能够对另一寄存器写入数据。
输出电路(40)具有空判定电路(41)、格雷码计数器(42)、选择电路(43)、寄存器(44)。
空判定电路(41)基于从格雷码计数器(32)及格雷码计数器(42)分别输出的格雷码,判定寄存器组(34)是否为空。换言之,空判定电路(41)判定是否寄存器组(34)中的所有寄存器均无存储数据。在空判定电路(41)判定寄存器组(34)为空的情况下,断言向测试控制装置(200)输出的空信号。另一方,在空判定电路(41)判定寄存器组(34)不为空的情况下,无效向测试控制装置(200)输出的空信号。
格雷码计数器(42)保存有表示寄存器组(34)中的成为读出数据的读出源的寄存器的地址的格雷码。格雷码计数器(42)将保存在自身内的格雷码输出至满判定电路(31)、空判定电路(41)、及选择电路(43)。另外,格雷码计数器(42)在从测试控制装置(200)输入的读出信号被断言的期间,与第二时钟信号(210)同步地更新保存在自身内的格雷码。即,格雷码计数器(42)在读出信号被断言的期间,每当被输入第二时钟信号(210)的沿时,更新保存在自身内的格雷码。此外,后述的扫描使能信号作为读出信号起作用。
选择电路(43)选择寄存器组(34)中的以从格雷码计数器(42)输出的格雷码表示的一个寄存器来作为读出数据的读出源寄存器。因此,在读出信号被断言的期间,与第二时钟信号(210)同步地切换选择电路(43)所选择的寄存器。格雷码计数器(42)例如也与格雷码计数器(32)相同,对在寄存器组(34)中的多个寄存器中选择的寄存器进行循环切换。
寄存器(44)与第二时钟信号(210)同步地,读出并存储寄存器组(34)中的由选择电路(43)选择的寄存器中保存的扫描测试数据。保存于寄存器(44)的扫描测试数据作为读出数据被输出至被测试电路(201)及测试结果压缩装置(202)。由此,被测试电路(201)能够与第二时钟信号(210)同步地读出依次保存于寄存器(44)的扫描测试数据。
如上所述,输入电路(30)中包含的寄存器组(34)由第一时钟信号(110)驱动,输出电路(40)中包含的寄存器(44)由第二时钟信号(210)驱动。即,输入电路(30)和输出电路(40)也可以不以相互相同的时钟同步。
在此,如上所述,格雷码计数器(32)及格雷码计数器(42)将选择寄存器组(34)中的多个寄存器的顺序以同一顺序循环切换。因此,满判定电路(31)在从格雷码计数器(32)输出的格雷码表示的寄存器为从格雷码计数器(42)输出的格雷码所示的寄存器的前一个寄存器的情况下,判定FIFO(101)已满,否则判定FIFO(101)未满。另外,空判定电路(41)在从格雷码计数器(32)输出的格雷码所示的寄存器、从格雷码计数器(42)输出的格雷码所示的寄存器表示同一寄存器的情况下,判定FIFO(101)为空,在不表示同一寄存器的情况下,判定FIFO(101)不为空。
接着,参照图4,对向被测试电路(201)及测试结果压缩装置(202)输入扫描测试数据的例子进行说明。此外,图4中,表示图2所示的半导体器件(1B)中的扫描测试数据的输入例。
图4左侧所示的数据是以表的形式示意性示出图3所示的FIFO(101)中存储的扫描测试数据的内容。该表中从右侧起依次按照FIFO(101)中保存的顺序排列扫描测试数据。即,表的各1列与寄存器组(34)中的任一个寄存器对应。例如,图4中,“#n”所示的列的数据为图3的“寄存器n”中存储的数据(n也相当于1~N中的任一值)。此外,如图4所示,在FIFO(101)发挥功能的基础上,被读出了扫描测试数据的寄存器被再利用一次。即,如上所述,FIFO(101)的寄存器组(34)中的多个寄存器被循环利用。因此,在经过一轮扫描测试数据的写入及读出后,再度出现从同一寄存器读出的扫描测试数据。
扫描测试数据由输入数据和屏蔽数据构成。因此,图4中示出扫描测试数据为6比特、输入数据为4比特、屏蔽数据为2比特的例子。另外,图4中,被测试电路(201)具有的扫描链(2010)的数量大于输入数据的比特数(4比特)。
扩展电路(2011)将从FIFO(101)输入的输入数据扩展成更多的比特数(与扫描链(2010)的数量相同的比特数),并向各扫描链(2010)输出扩展后的输入数据的各比特。
此外,在图1所示的半导体器件(1A)的情况下,输入数据的比特数与多个扫描链(2010)的数量相同。因此,从FIFO(101)输入的输入数据的各比特被直接输入至多个扫描链(2010)的各扫描链。然后,通过使被测试电路(201)动作,各扫描链(2010)会成为存储有测试结果数据的状态。
压缩电路(2012)将从多个扫描链(2010)输出的测试结果数据压缩成更少比特数的数据,再将压缩后的测试结果数据输出至测试结果压缩装置(202)。图4的例子中,从多个扫描链(2010)输出的数据(比特数大于4位的数据)被压缩成2比特。此外,被该压缩电路(2012)压缩后的数据的比特数与屏蔽数据的比特数相同。从FIFO(101)输出的屏蔽数据也与压缩后的数据一同被输入至测试结果压缩装置(202)。
如上所述,在图4中,示出多个扫描链(2010)各自的大小为N比特的例子。因此,在该例中,在进行N次的扫描移位动作而在各扫描链(2010)扫描输入N比特的扫描测试数据(输入数据)后,在被测试电路(201)进行利用了该扫描测试数据的捕获动作(通常动作)。由此,各扫描链(2010)成为存储有测试结果数据的状态。之后,通过进行N次的扫描移位动作对各扫描链(2010)扫描输出N比特的测试结果数据,由此将测试结果数据输出至测试结果压缩装置(202)。此外,在进行该扫描输出时,扫描输入下一组N比特的扫描测试数据(输入数据)。
此外,图4所示的“模式#1”…,“模式#N”表示进行扫描输入、捕获、扫描输出的一连串动作的扫描测试数据的单位(以下也称作“测试模式”)。
[测试结果压缩装置(202)]
接着,参照图4对本实施方式1的测试结果压缩装置(202)的结构进行说明。图4的右侧所示的区块是表示测试结果压缩装置(202)的区块。如图4所示,测试结果压缩装置(202)具有与门(2021、2022)、和压缩电路(2023)。
测试结果压缩装置(202)是将从被测试电路(201)输出的测试结果数据进行压缩的装置(电路)。测试结果压缩装置(202)输入从被测试电路(201)输出的测试结果数据、和从FIFO(101)输出的扫描测试数据中的屏蔽数据。即,该屏蔽数据为在该测试结果数据被扫描输出时,与扫描进来的输入数据一同构成扫描测试数据的屏蔽数据。与门(2021、2022)分别将测试结果数据的各比特和屏蔽数据的各比特进行与运算(逻辑积运算),再将作为其结果的数据输出至压缩电路(2023)。即,将遮蔽后的测试结果数据输出至压缩电路(2023)。
压缩电路(2023)将从与门(2021、2022)依次输入的一连串测试结果数据进行压缩。由此,作为最终的测试结果,而获得大小比所有测试结果数据的合计大小更小的数据(压缩符号)。对于压缩电路(2023)的结构没有特别言及,但例如也可以是包含LFSR(LinearFeedBack Shift Register:线性反馈移位寄存器电路)的电路。
[测试控制装置(200)]
接着,参照图5对实施方式1的测试控制装置(200)的结构进行说明。图5是实施方式1的测试控制装置(200)的框图。
如图5所示,测试控制装置(200)具有扫描移位计数器(2000)、扫描移位次数寄存器(2001)、比较器(2002)、选择器(2003)、与门(2004)、测试模式计数器(2005)、测试模式数量寄存器(2006)、比较器(2007)、选择器(2008)、选择器(2009)。
扫描移位计数器(2000)是与第二时钟信号(210)同步地计数对扫描链(2010)进行过扫描移位动作的次数(所扫描输入的扫描测试数据数)的计数器,存储该计数值。扫描移位计数器(2000)将保存在自身内的值输出至比较器(2002)及选择器(2003)。
扫描移位次数寄存器(2001)保存有在一个测试模式中执行的扫描移位动作的次数(一个测试模式的扫描测试数据数量)的值。扫描移位次数寄存器(2001)的值例如在实施扫描测试前,由测试控制装置(200)的外部进行设定。另外,扫描移位次数寄存器(2001)的值也可以预先设定为固定值。扫描移位次数寄存器(2001)将保存在自身内的值输出至比较器(2002)。
比较器(2002)将从扫描移位计数器(2000)输出的值、和从扫描移位次数寄存器(2001)输出的值进行比较,将与比较结果对应的数值输出至与门(2004)及选择器(2008)。例如,比较器(2002)在比较的值一致的情况下,输出被无效的信号,在比较的数值不一致的情况下,输出被断言的信号。在此,被无效的信号为“0”的值(Low:低)的信号,被断言的信号为“1”的值(High:高)的信号。这在后文中也相同。
即,比较器(2002)在开始一个测试模式中的扫描测试数据的扫描输入起的扫描移位动作的次数低于其测试模式中包含的所有扫描测试数据被输入至扫描链(2010)的次数(扫描链(2010)的大小)的情况下,输出被断言的信号(“1”的值)。另一方面,比较器(2002)在开始一个测试模式的扫描测试后执行了的扫描移位动作的次数与该测试模式中所包含的所有扫描测试数据被输入至扫描链(2010)的次数一致的情况下,输出被无效的信号(“0”的值)。例如,在图4所示的例子中,比较器(2002)在开始一个测试模式的扫描测试数据的扫描输入起的扫描移位动作的次数低于N次的情况下,输出“1”,在为N次的情况下,输出“0”。
选择器(2003)根据从与门(2004)输出的值,选择是将扫描移位计数器(2000)的值增大还是初始化的电路。更具体而言,选择器(2003)在从与门(2004)输出的值为“1”的情况下,对扫描移位计数器(2000)的值加“1”,在与门(2004)输出的值为“0”的情况下,将扫描移位计数器(2000)的值初始化。即,在增大扫描移位计数器(2000)的值的情况下,选择器(2003)将对扫描移位计数器(2000)的值加“1”后的值输出至扫描移位计数器(2000)并存储。另一方面,在将扫描移位计数器(2000)的值初始化的情况下,选择器(2003)将初始值“0”输出至扫描移位计数器(2000)并存储。此外,该增大或初始化在与第二时钟信号(210)同步的定时进行。换言之,该增大或初始化在对测试控制装置(200)输入了第二时钟信号(210)的沿的时刻进行。
与门(2004)将输入的开始信号的值和从比较器(2002)输出的值进行与运算(逻辑积运算),将成为其结果的值输出至选择器(2003)及外部。该输出至外部的值被作为扫描使能信号输入至FIFO(101)、被测试电路(201)、及测试结果压缩装置(202)。在此,向FIFO(101)输入的扫描使能信号作为如上所述的读出信号发挥功能。
在此,开始信号是在从FIFO(101)向测试控制装置(200)输入的空(empty)信号被无效时被断言的信号。例如,测试控制装置(200)具有根据从FIFO(101)输入的空信号向与门(2004)输出开始信号的电路。该电路在空信号被无效时,断言开始信号并输出。此外,开始信号如后述,在所有的扫描测试数据从FIFO(101)输出后被无效。
因此,也可以说与门(2004)在开始信号的值为“1”的情况下输出来自比较器(2002)的输出值。然后,在比较器(2002)中的比较结果不一致,向选择器(2003)输入的来自比较器(2002)的输出值为“1”的情况下,选择器(2003)选择增大。另一方面,在比较器(2002)中的比较结果一致,向选择器(2003)输入的来自比较器(2002)的输出值为“0”的情况下,选择器(2003)选择初始化。
根据该动作,在FIFO(101)不为空,向扫描链(2010)扫描输入扫描测试数据的情况下,对扫描移位动作的次数计数。然后,一个测试模式的扫描移位动作的次数达到该测试模式中包含的所有扫描测试数据被输入至扫描链(2010)的次数的情况下,将扫描移位计数器(2000)的值初始化。换言之,测试控制装置(200)每当一个测试模式中的所有扫描测试数据均被输入至扫描链(2010)时,将扫描移位计数器(2000)的值初始化。因此,扫描移位计数器(2000)能够相对于各测试模式反复进行向扫描链(2010)输入的扫描测试数据数的计数。
另外,根据该动作,每当向扫描链(2010)输入一个测试模式中的所有扫描测试数据时,测试控制装置(200)暂时对扫描使能信号进行无效。在此,测试电路(201)在从测试控制装置(200)输入了被断言的扫描使能信号的情况下,执行扫描移位动作。另一方面,在从测试控制装置(200)输入了被无效的扫描使能信号的情况下,执行捕获动作(通常动作)。因此,每当向扫描链(2010)输入一个测试模式的所有扫描测试数据时,能够执行一个时钟的捕获动作。即,执行单时钟方式的扫描测试。
另外,测试结果压缩装置(202)从测试控制装置(200)输入了被断言的扫描使能信号的情况下,执行测试结果数据的压缩动作。另一方面,测试结果压缩装置(202)从测试控制装置(200)输入了被无效的扫描使能信号的情况下,不执行测试结果数据的压缩动作。因此,测试结果压缩装置(202)能够仅在被测试电路(201)进行了扫描移位动作而输出下一个测试结果数据的情况下,根据其测试结果数据而生成压缩符号。因此,能够防止取入被测试电路(201)在捕获动作中输出的数据,生成准确的测试结果。
测试模式计数器(2005)是与第二时钟信号(210)同步地相对于扫描链(2010)扫描输入的测试模式数量进行计数的计数器。即,测试模式计数器(2005)保存相对于扫描链(2010)扫描输入的测试模式数量的值。测试模式计数器(2005)将保存在自身内的值输出至比较器(2007)及选择器(2008)。
测试模式数量寄存器(2006)保存有通过测试模式产生装置(100)输入至FIFO(101)的测试模式数量的值。测试模式数量寄存器(2006)的值例如在实施扫描测试前从测试控制装置(200)外部设定。另外,测试模式数量寄存器(2006)的值也可以预先设定为固定值。测试模式数量寄存器(2006)将保存在自身内的值输出至比较器(2007)。
比较器(2007)将从测试模式计数器(2005)输出的值和从测试模式数量寄存器(2006)输出的值进行比较,将与比较结果对应的值作为结束信号输出至测试结果压缩装置(202)。例如,比较器(2007)在所比较的值一致的情况下输出被断言的信号(“1”的值),在所比较的值不一致的情况下,输出被无效的信号(“0”的值)。
选择器(2008)根据从比较器(2002)输出的值,选择是否将测试模式计数器(2005)的值增大的电路。更具体而言,选择器(2008)在从比较器(2002)输出的值为“0”的情况下,将测试模式计数器(2005)的值加“1”,在从比较器(2002)输出的值为“1”的情况下,不对测试模式计数器(2005)的值加“1”。即,在增大测试模式计数器(2005)的值的情况下,选择器(2008)将测试模式计数器(2005)的值加“1”以后的数值输出至选择器(2009)。另一方面,在不增大测试模式计数器(2005)的值的情况下,选择器(2008)将测试模式计数器(2005)的值直接输出至选择器(2009)。
选择器(2009)是根据在测试控制装置(200)的内部输出的开始信号的值,选择将测试模式计数器(2005)的值增大或维持该数值不变、或初始化的电路。更具体而言,选择器(2009)在开始信号的为“1”的情况下,将测试模式计数器(2005)的值增大或维持该数值不变,在开始信号的值为“1”的情况下,将测试模式计数器(2005)的值初始化。即,在将测试模式计数器(2005)的值增大或维持该数值不变的情况下,选择器(2009)将从选择器(2008)输出的值输出至测试模式计数器(2005)并保存。与之相对,在将测试模式计数器(2005)的值初始化的情况下,选择器(2009)将初始值“0”输出至测试模式计数器(2005)并保存。
此外,该增大、维持该数值不变、或初始化在与第二时钟信号(210)同步的定时进行。换言之,该增大、维持该数值不变、或初始化在对测试控制装置(200)输入第二时钟信号(210)的沿的定时进行。
根据该动作,在FIFO(101)不为空而对扫描链(2010)扫描进来扫描测试数据的情况下,对扫描移位动作的次数进行计数。然后,在开始一个测试模式的扫描测试后的扫描移位动作的次数达到该测试模式中包含的所有扫描测试数据被输入扫描链(2010)的次数的情况下,在测试模式计数器(2005)的值上加“1”。换言之,每当将一个测试模式的所有扫描测试数据输入至扫描链(2010)时,在测试模式计数器(2005)的值上加“1”。然后,当从FIFO(101)输出所有测试模式(所有的扫描测试数据)时,将测试模式计数器(2005)的值初始化。因此,测试模式计数器(2005)能够对输入至扫描链(2010)的测试模式数量进行计数。
另外,根据该动作,在开始扫描测试后输入至扫描链(2010)的测试模式数量达到所有测试模式被输入至扫描链(2010)的数量的情况下,测试控制装置(200)向测试结果压缩装置(202)输出被断言的结束信号。换言之,在从FIFO(101)输出所有测试模式(所有的扫描测试数据)时,能够将该消息通过结束信号停止给测试结果压缩装置(202)。
[动作流程]
接着,参照图6对本实施方式1的半导体器件(1B)的动作进行说明。图6是表示本实施方式1的半导体器件(1B)的动作波形的图。
在图6中,上半部(比线H1更靠上方的波形)表示图1所示的第一电源区域(10)中的电路波形,下半部(比线HL更靠下的波形)表示图1所示的第二电源区域(20)中的电路波形。在该波形中,第一时钟信号和第二时钟信号的频率相同,但各自的沿并未对齐。即,第一时钟信号和第二时钟信号不同步。以下,以图2所示的半导体器件(1B)为例,同时也参照图3~图5,对动作进行说明。
在扫描移位次数寄存器(2001)和测试模式数量寄存器(2006)中,配合向被测试电路(201)供给的扫描测试数据的内容而预先存储有任意值。作为值的存储方法,例如也可以将扫描移位次数寄存器(2001)和测试模式数量寄存器(2006)设为包含数据设定用的移位寄存器的结构,通过从外部依次输入值而保存数值。此外,由于该作业只要在测试前实施即可,所以即使以低速实施,也不会造成测试时间的开销。
此外,图6示出测试模式数量为“5”、且一个测试模式中的扫描测试数据数为“3”的例子。因此,在该例中,保存于扫描移位次数寄存器(2001)的值为“3”,保存于测试模式数量寄存器(2006)的值为“5”。
若从外部指示开始扫描测试,则测试模式产生装置(100)开始将与第一时钟信号(n0)同步的扫描测试数据向FIFO(101)写入。如图6所示,测试模式产生装置(100)将扫描测试数据“A”~“O”依次存储至FIFO(101)。
若将扫描测试数据向FIFO(101)的写入在测试模式产生装置(100)能够向FIFO(101)供给扫描测试数据的状态,则只要FIFO(101)不溢流(只要满信号未被断言),就连续执行直到将所有扫描测试数据都写入至FIFO(101)为止。
此外,扫描测试数据的输入可以通过将从半导体器件(1B)的外部向测试模式产生装置(100)输入指示开始输入扫描测试数据的信号而开始进行,也可以在半导体器件(1B)内部生成指示开始输入扫描测试数据的信号并将输入至测试模式产生装置(100)而开始进行。
若开始对FIFO(101)写入扫描测试数据,则FIFO(101)的空判定电路(41)将表示为空状态的空信号无效,并变更成表示FIFO(101)并非空状态。若空信号被无效,则测试控制装置(200)的开始信号被断言。由此,扫描使能信号被断言,开始半导体器件(1B)的扫描测试动作。
扫描测试数据与第二时钟信号(210)同步地被从FIFO(101)读出,其一部分作为输入数据而输入至扩展电路(2011),另一部分作为屏蔽数据而输入至测试结果压缩装置(202)。输入至测试结果压缩装置(202)的屏蔽数据与压缩电路(2012)的输出值一起通过与门(2021、2022)进行逻辑积运算(与运算)。这是在从扫描链(2010)经由压缩电路(2012)输出的测试结果数据中有不定值(即有未定为“0”(1ow)或“1”(High)的数值),用于将该不定值强制地固定在“0”(1ow)的状态。
从与门(2021、2022)输出的逻辑积运算后的测试结果数据被输入至压缩电路(2023)。压缩电路(2023)在从测试控制装置(200)输入的扫描使能信号被断言的期间(即,实施扫描移位动作的期间),一边将所输入的测试结果数据接替当前保持的值,一边继续转换成压缩符号。
另一方面,每当与第二时钟信号(210)同步地进行扫描移位动作时,在扫描移位计数器(2000)的值上加“1”。然后,在扫描移位计数器(2000)的值与扫描移位次数寄存器(2001)的值一致的情况下,将一个测试模式中的扫描测试数据全部输入至被测试电路(201)。此时,扫描使能信号被无效。
例如,在图6中,读出3个扫描测试数据“A”~“C”作为读出数据并输入至扫描链(2010),对应下一个读出数据成为扫描测试数据“D”的状态。
被测试电路(201)在从测试控制装置(200)输入的扫描使能信号被无效时,进行扫描测试中的捕获动作。此时,被测试电路(201)中断来自FIFO(101)的扫描测试数据的读出。即,如图6所示,读出数据被维持扫描测试数据为“D”的状态。
然后,扫描移位计数器(2000)的值被更新成初始值。即,如图6所示,由于扫描移位计数器(2000)的值为“3”,与扫描移位次数寄存器(2001)的值“3”一致,因此,扫描移位计数器(2000)的值被初始化成“0”。另外,此时,测试模式计数器(2005)的值被增大。即,如图6所示,由于第一个测试模式中的所有扫描测试数据“A”~“C”已输入至扫描链(2010),因此,测试模式计数器(2005)的值从“0”更新成“1”。
通过将扫描移位计数器(2000)初始化,扫描使能信号再次被断言。即,由于将扫描移位计数器(2000)的值初始化成“0”,与扫描移位次数寄存器(2001)的值“3”不一致,因此,如图6所示,扫描使能信号根据该情况下的比较器(2002)的输出值而被断言。由此,再次开始被测试电路(201)进行的从FIFO(101)读出扫描测试数据及扫描移位动作、测试结果压缩装置(202)进行的压缩动作。即,如图6所示,读出扫描测试数据“D”,并将其输入至扫描链(2010)。此外,在此之后,在扫描测试数据“D”~“F”被输入至扫描链(2010)的同时,将扫描测试数据“A”~“C”的测试结果数据从扫描链(2010)输出至测试结果压缩装置(202)。
这些一连串的动作被一直反复,直到测试模式计数器(2005)的值与设定于测试模式数量寄存器(2006)的值一致,结束信号被断言为止。即,如图6所示,作为最后的第5个测试模式(扫描测试数据“M”~“O”)的输入完成,测试模式计数器(2005)的值“5”与测试模式数量寄存器(2006)的值“5”一致,因此,比较器(2007)断言输出至测试结果压缩装置(202)的结束信号。
在此,由于输入了所有的扫描测试数据后,也能够更新测试模式计数器(2005)和并输出结束信号,因此,如图6所示,开始信号被无效的定时相较于空信号被无效的定时稍晚。例如,输出上述开始信号的电路在从比较器(2007)输出结束信号时,无效开始信号。另外,如图6所示,即使将扫描移位计数器(2000)的值初始化,在输出结束信号时,为了防止无效的扫描移位动作,也仍维持无效扫描使能信号。
若结束信号被断言,则测试结果压缩装置(202)取出存储于压缩电路(2023)的压缩符号,将其与预先准备的期待值对照,判定测试结果。测试结果压缩装置(202)对照最终符号和期待值的结果为,在最终符号和期待值一致的情况下,判定为被测试电路(201)正常,在最终符号和期待值不一致的情况下,判定为被测试电路(201)异常。此外,由于该测试结果和期待值的比较只要仅在测试结束后实施即可,所以即使以低速实施,也不会造成测试时间的开销。
此外,图6中,最后的(第5个)测试模式的扫描测试数据“M”~“O”输入至扫描链(2010),但之后扫描使能信号被维持无效,所以该测试结果数据并未用于生成测试结果压缩装置(202)中的压缩符号。即,最后的(第5个)测试模式作为用于读出其前一个(第4个)测试模式中的扫描测试数据“M”~“O”的测试结果数据的虚设的扫描测试数据起作用。因此,严格来说,根据针对第1~第4个为止的测试模式的测试结果数据判定被测试电路(201)的状态。
另外,就第一个测试模式中的扫描测试数据“A”~“C”而言,之前不存在测试模式。因此,也如图4所示,第一个测试模式中的扫描测试数据“A”~“C”的屏蔽数据全部是“0”。由此,在向扫描链(2010)输入了第一个测试模式中的扫描测试数据时,将从扫描链(2010)输出的数据固定为“0”,使其不会对测试结果压缩装置(202)中的压缩符号的生成造成影响。
此处所说明的扫描测试的动作与之前说明的从测试模式产生装置(100)向FIFO(101)进行的扫描测试数据的写入动作独立且并行地进行。因此,在实施方式1中,优选使来自FIFO(101)的扫描测试数据的读出速度不如对FIFO(101)的扫描测试数据的写入速度快。
如上所述,被测试电路和供给其扫描测试数据的装置分别与供给不同电源电压的电压布线连接,有时一方的电压相较于另一方的电压相对变动。在该情况下,在扫描测试数据的传送路径上,存在保持时间变严格的情况、和建立时间变严格的情况这两种情况。
与之相对,如以上说明,在本实施方式1中,作为在扫描测试数据的传送路径跨越使电源不同的逻辑边界的情况下的违反定时的对策,不设置延时以确保较大的保持时间裕度,而是采用异步FIFO。
即,在本实施方式1的半导体器件(1A、1B)中,测试模式产生装置(100)与第一时钟信号(110)同步地,向FIFO(101)依次写入多个测试数据(扫描测试数据的输入数据)。然后,测试控制装置(200)与对FIFO(101)进行的多个测试数据的写入并行地实施被测试电路(201)的扫描测试,该扫描测试与不与第一时钟信号(H0)同步的第二时钟信号(210)同步地,依次读出FIFO(101)中存储的多个测试数据。
通过使用异步FIFO,使得供给扫描测试数据的电路、和使用其扫描测试数据执行扫描测试的电路即使配置在以不同电位驱动电路的不同区域,也不会因在扫描测试数据的传送路径的传递延迟而被限速,能够在各自的区域以最佳的速度驱动电路。
据此,能够将测试数据蓄积于FIFO(101),因此能够使被测试电路(201)的扫描测试不受第一时钟信号(110)的影响,而与第二时钟信号(210)同步实施。因此,不会发生违反定时。另外,在所有扫描测试数据加载后,也不需要执行扫描测试。即,由于能够同时并行地实施扫描测试数据的加载和扫描测试,所以能够缩短扫描测试所耗费的时间。通过缩短扫描测试所花费的时间,能够满足例如与运行时间测试的执行时间(FTTI:Fau1t to1eranttime intewa1)相关的要求事项(例如,在10毫秒以内完成运行时间测试)。
此外,在本实施方式1,为了明确跨越时钟信号彼此不同步的区域的情况下的扫描测试执行时间的改善,为了便于说明,以如第一电源区域和第二电源区域(第一时钟信号和第二时钟信号)那样使扫描测试数据的传送路径不同步的区域的结构为例进行说明,但也能够用于配置在同一电源区域的电路间彼此的传递、及以同一时钟信号驱动的电路彼此间的扫描测试数据的传送。
本实施方式1所示的电路图是为了说明本实施方式1而示意性示出各构成要部的图,在实际设计电路的情况下,需要按照施加的时钟及适用的扫描测试的规格,对供给扫描测试数据的时钟循环进行调整的电路(例如触发器)等的附加电路。这在后述的实施方式中也相同。
<实施方式2>
接着,对实施方式2进行说明。在以下的实施方式2的说明中,对与上述实施方式1相同的内容标注相同附图标记等等,而适宜省略其说明。
[整体结构]
参照图7,对实施方式2的半导体器件(1C)的结构进行说明。图7是实施方式2的半导体器件(1C)的结构图。
如图7所示,实施方式2的半导体器件(1C)相较于实施方式1的半导体器件(1B),在还具有测试时钟控制装置(203)的这一点上有所不同。
测试时钟控制装置(203)包含于第二电源区域(20)。测试时钟控制装置(203)被输入第二时钟信号(210)。即,测试时钟控制装置(203)由第二时钟信号(210)驱动。另外,测试时钟控制装置(203)根据第二时钟信号(210),生成扫描测试时钟,并输出至被测试电路(201)。即,本实施方式2的被测试电路(201)相较于实施方式1,取代第二时钟信号(210)而由扫描测试时钟驱动。另外,在本实施方式2中,FIFO(101)也向测试时钟控制装置(203)输出空信号。
[测试时钟控制装置(203)]
接着,参照图8对本实施方式2的测试时钟控制装置(203)的结构进行说明。图8是本实施方式2的测试时钟控制装置(203)的框图。
如图8所示,测试时钟控制装置(203)具有触发器(203A)、和与门(203B)。
触发器(203A)被输入暂时停止信号和第二时钟信号(210)。触发器(203A)根据第二时钟信号(210)的下降沿,将暂时停止信号的值存储于自身。触发器(203A)将自身保存的暂时停止信号的值输出至与门(203B)。
在此,暂时停止信号是在从FIFO(101)向测试时钟控制装置(203)输入的空信号被断言时,被无效的信号。另一方面,暂时停止信号在从FIFO(101)向测试时钟控制装置(203)输入的空信号被无效时,被断言。例如,测试时钟控制装置(203)具有根据从FIFO(101)输入的空信号对与门(203B)输出暂时停止信号的电路。该电路在空信号被断言时,无效暂时停止信号,在空信号被无效时,断言暂时停止信号。
与门(203B)被输入从触发器(203A)输出的值、和第二时钟信号(210)。与门(203B)将来自触发器(203A)的值和第二时钟信号(210)的值进行与运算(逻辑积运算),再将作为其结果的值输出至被测试电路(201),来作为扫描测试时钟。因此,与门(203B)采取以下两者中的任一动作:根据来自触发器(203A)的值将第二时钟信号(210)直接输出、或是停止其输出。
由此,如图9所示,输出扫描测试时钟。图9是表示图8所示的测试时钟控制装置(203)的动作波形的图。这样,在暂时停止信号为“1”(High)的状态的情况下,将第二时钟信号(210)直接输出,来作为扫描测试时钟。另外,在暂时停止信号为“0”(low)的状态的情况下,输出持续“0”(1ow)的状态的信号,来作为扫描测试时钟。即,在FIFO(101)不为空的情况下,将第二时钟信号(210)直接输出至被测试电路(201),在FIFO(101)为空的情况下,抑制第二时钟信号(210)向被测试电路(201)的输出。
[动作流程]
接着,参照图10,对本实施方式2的半导体器件(1C)的动作进行说明。图10是表示实施方式2的半导体器件(1C)的动作波形的图。
在图10中,上部(比线HL更靠上的波形)表示图7所示的第一电源区域(10)中的电路波形,下部(比线HL更靠下方的波形)表示图7所示的第二电源区域(20)中的电路波形。在该波形中,第一时钟信号和第二时钟信号的频率相同,但各自的沿未对齐。即,第一时钟信号和第二时钟信号不同步。以下,以图7所示的半导体器件(1C)为例,也参照图3~图5对动作进行说明。
根据扫描测试的开始指示,开始扫描测试数据向FIFO(101)的写入。此外,由于到开始扫描测试动作为止的期间的动作与实施方式1相同,所以省略该动作的说明。
与实施方式1同样地,扫描测试数据与第二时钟信号(210)同步地从FIFO(101)取出,其一部分作为输入数据被输入至扩展电路(20H),另一部分作为屏蔽数据被输入至测试结果压缩装置(202)。在测试结果压缩装置(202)中,通过与门(2021、2022)将屏蔽数据和压缩电路(2012)的输出值进行逻辑积运算,将其结果通过压缩电路(2023)一边接替前值,一边转换成压缩符号。
与实施方式1的不同之处在于,在执行扫描测试当中,成为无法从FIFO(101)取出扫描测试数据的状态(即,FIFO(101)为空的状态)时的动作。此外,在本实施方式2中,通过接下来说明的动作,解决在实施方式1中的下述问题:FIFO(101)变为空而产生无法取出扫描测试数据的状态,从而扫描输入扫描链(2010)的数据变为不正常,扫描测试本身无法成立。
在实施方式2中,为了避免这种状态,半导体器件(1C)具备测试时钟控制装置(203)。测试时钟控制装置(203)监视FIFO(101)的空信号,在FIFO(101)变为空时,无效暂时停止信号而使扫描测试时钟停止。即,如图10所示,停止扫描测试时钟。
图10表示在对FIFO(101)写入了扫描测试数据“A”~“D”的时间点,因某种原因而变得暂时无法对FIFO(101)写入扫描数据的情况。在该情况下,当从FIFO(101)读出扫描测试数据“C”时,因为格雷码计数器(32)和格雷码计数器(42)分别指出的寄存器一致,所以空信号被断言。即,该寄存器成为存储扫描测试数据“D”的寄存器。因此,寄存器(44)读出扫描测试数据“D”,寄存器组(34)成为空。
据此,由于暂时停止信号被无效,因此测试时钟控制装置(203)抑制对被测试电路(201)的第二时钟信号(210)的输出。即,向被测试电路(201)输出维持为“0”(1ow)的状态的扫描测试时钟。
在此,测试控制装置(200)在来自FIFO(101)的空信号被断言的期间,将作为读出信号输出至FIFO(101)的扫描使能信号无效。由此,FIFO(101)中断格雷码计数器(42)中对格雷码的更新。即,如图10所示,作为FIFO(101)输出的读出数据而维持在扫描测试数据“D”。
另外,测试控制装置(200)在来自FIFO(101)的空信号被断言的期间,将输出至测试结果压缩装置(202)的扫描使能信号无效。由此,中断测试结果数据的压缩动作,避免未从被测试电路(201)输出新的测试结果数据的情况下的压缩动作。
此外,格雷码的更新的中断、和测试结果数据的压缩动作的中断也可以以如下方式实施:代替上述的扫描使能信号的无效,与被测试电路(201)同样地,使输出电路(40)和测试结果压缩装置(202)与来自测试时钟控制装置(203)的扫描测试时钟同步地动作。在此,为了能够解除空状态(为了能够无效空信号),向空判定电路(41)供给第二时钟信号(210),使其动作不停止。
另外,测试控制装置(200)在从FIFO(101)输入的空信号被无效的期间,中断扫描移位计数器(2000)的计数。即,如图10所示,作为扫描移位计数器(2000)的值而维持在“0”。
由于被测试电路(201)由扫描测试时钟驱动,因此在扫描测试时钟被维持在“0”(1ow)的状态时,扫描移位动作中断。即,不会发生向扫描链(2010)输入不正常的数据的扫描移位动作。
若再次开始向FIFO(101)的扫描测试数据的写入,则FIFO(101)不再是空的状态,空信号被无效。若空信号被无效,则测试时钟控制装置(203)无效暂时停止信号。由此,测试时钟控制装置(203)再次开始第二时钟信号(210)对被测试电路(201)的输出,来作为扫描测试时钟。即,如图10所示,被测试电路(201)开始扫描测试数据“D”以后的扫描测试数据的读出。
另外,此时,测试控制装置(200)根据来自FIFO(101)的空信号被无效,断言了作为读出信号而向FIFO(101)输出的扫描使能信号。
其结果为,由发生了中断的寄存器开始进行扫描测试数据的取出,再次开始扫描移位动作。即,如图10所示,FIFO(101)输出的读出数据与来自被测试电路(201)的扫描测试数据的读出同步,依次被更新成扫描测试数据“E”以后的扫描测试数据。
在此,本实施方式2的测试控制装置(200)的结构与实施方式1几乎相同,但如上所述,在对于扫描移位计数器(2000)设置了保持前值的机构这一点上,与实施方式1不同。为了中断扫描移位计数器(2000)的值的更新,对于本实施方式2的测试控制装置(200)追加了向扫描移位计数器(2000)输出基于空信号的控制信号的电路(未图示)。
该控制信号实现与测试时钟控制装置(203)中的暂时停止信号相同的功能。该电路在FIFO(101)为空时,中断扫描移位计数器(2000)的计数器的值的更新。更具体而言,该电路在由FIFO(101)向测试控制装置(200)输入的空信号被断言的情况下,断言向扫描移位计数器(2000)输出的控制信号。在向扫描移位计数器(2000)输入被断言了的控制信号的情况下,无论来自选择器(2003)的输出值如何,都抑制自身的值的更新。另一方面,该电路在从FIFO(101)向测试控制装置(200)输入的空信号被无效的情况下,无效向扫描移位计数器(2000)输出的控制信号。在向扫描移位计数器(2000)输入被无效的控制信号的情况下,更新自身的值。
此外,关于上述以外的测试时钟控制装置(203)的动作,由于与实施方式1同样,因此省略动作说明。另外,由于结束信号被断言后的动作也与实施方式1相同,所以也省略对该动作的说明。
如上说明的那样,在本实施方式2中,通过对实施方式1的结构增加测试时钟控制装置(203),能够排除实施方式1中的FIFO(101)为空的情况下的问题。
即,在本实施方式2中,在通过空判定电路(41)判定FIFO(101)为空的情况下,会停止来自FIFO(101)的测试数据的读出。更具体而言,测试时钟控制装置(203)在通过空判定电路(41)判定FIFO(101)为空的情况下,使第二时钟信号对于被测试电路(201)的供给停止。据此,能够防止从空的状态的FIFO(101)相对于被测试电路(201)扫描输入非有效的测试数据。
在实施方式1中,为了不使FIFO(101)为空,需要使用容量较大的FIFO(101)、或需要占有取得对FIFO(101)写入的扫描测试数据的资源。但是,在实施方式2中,由于不会受到这种制约束缚,所以能够利用容量较小的FIFO(101)、或容许基于取得数据的资源的共享化的中断。其结果为,能够削减用于构建系统的电路开销。
此外,在以上的说明,说明了相对于图2所示的半导体器件(1B)应用了测试时钟控制装置(203)的例子,但并不限于此。当然也能够对图1所示的半导体器件(1A)应用测试时钟控制装置(203)。
<实施方式3>
接着,对实施方式3进行说明。在以下的实施方式3的说明中,对与上述实施方式2相同的内容标注相同附图标记等等,适宜省略其说明。
[整体结构]
首先,参照图11,对本实施方式3的半导体器件(1D)的结构进行说明。图11是本实施方式3的半导体器件(1D)的结构图。本实施方式3的半导体器件(1D)是适用于执行利用了扫描测试机构的运行时间测试的实施方式。
如图11所示,实施方式3的半导体器件(1D)相较于实施方式2的半导体器件(1C),在取代了测试模式产生装置(100)而具有测试模式读出装置(102)、并且还具有系统控制器(103)及存储装置(104)的这一点上有所不同。
测试模式读出装置(102)、系统控制器(103)及存储装置(104)包含于第一电源区域(10)。测试模式读出装置(102)与存储装置(104)电连接。测试模式读出装置(102)、系统控制器(103)、存储装置(104),经由系统总线而电连接。
测试模式读出装置(102)依次读出存储装置(104)中保存的多个扫描测试模式,并写入FIFO(101)。
系统控制器(103)是统一控制半导体器件(1D)的电路。系统控制器(103)实施开始半导体器件(1D)的扫描测试的控制、和扫描测试结果的判定。即,本实施方式3不同于实施方式1、2,由系统控制器(103)取代测试结果压缩装置(202)来判定扫描测试结果。
存储装置(104)是保存有多个扫描测试数据的存储装置(存储电路)。在存储装置(104)保存有所有扫描测试数据。存储装置(104)例如是RAM(Random Access Memory:随机存储器)、ROM(Read On1yMemory:只读存储器)、或闪存储存器等非易失性存储装置。
实施方式3适于执行运行时间测试的理由是因为所有对扫描测试的执行均能够由内置于半导体器件(1D)的电路执行。更具体而言,在开始运行时间测试(扫描测试)前,系统控制器(103)设定测试控制装置(200)中的扫描移位次数寄存器(2001)及测试模式数量寄存器(2006)的值。例如,这些值被预先保存于存储装置(104)。系统控制器(103)从存储装置(104)读出值,再将读出的值输出至测试控制装置(200)。测试控制装置(200)将从系统控制器(103)输出的值设定给扫描移位次数寄存器(2001)及测试模式数量寄存器(2006)。
在开始扫描测试的情况下,系统控制器(103)将指示开始扫描测试的开始指示信号输出至测试模式读出装置(102)。测试模式读出装置(102)根据来自系统控制器(103)的开始指示信号,从存储装置(104)取得扫描测试数据,并开始进行写入FIFO(101)的动作。
然后,如上所述,当FIFO(101)中蓄积了扫描测试数据,且空信号被无效时,开始扫描测试。在此,在本实施方式3,若扫描测试完成,则测试控制装置(200)取代测试结果压缩装置(202)而向系统控制器(103)输出结束信号。另外,测试结果压缩装置(202)将压缩电路(2023)生成的压缩符号持续向系统控制器(103)输出。系统控制器(103)根据来自测试控制装置(200)的结束信号,取得从测试结果压缩装置(202)输出的最终的压缩符号。然后,系统控制器(103)将所取得的压缩符号与期待值进行比较,判定测试结果。
在此,例如,期待值与扫描测试数据一并预先保存于存储装置(104)。然后,系统控制器(103)根据来自测试控制装置(200)的结束信号,取得在存储装置(104)中保存的期待值,将其与压缩符号比较。
如以上说明的那样,在本实施方式3中,半导体器件(1D)具备保存有多个测试数据的存储装置(104)。然后,测试模式读出装置(102)将在存储装置(104)中保存的多个测试数据依次写入至FIFO(101)。据此,所有对扫描测试的执行均能够由内置于半导体器件(1D)的电路执行。因此,由于不需要为了执行扫描测试而另行准备装置,因此适于执行运行时间测试。
此外,在上述说明中,以在图7所示的半导体器件(1C)中应用了各装置(102、103、104)为例进行说明,但并不限于此。对于图1、2所示的半导体器件(1A、1B)当然也可以应用各装置(102、103、104)。
<实施方式3的变形例>
接着,参照图12对实施方式3的变形例的半导体器件(1E)进行说明。图12是表示实施方式3的变形例的半导体器件(1E)的框图。
如图12所示,实施方式3的变形例的半导体器件(1E)相较于实施方式3的半导体器件(1D)还具有DMA控制器(109)这一点上有所不同。另外,实施方式3的变形例的半导体器件(1E)相较于实施方式3的半导体器件(1D),在半导体器件(1E)与外部存储装置(2)连接这一点上有所不同。另外,实施方式3的变形例的半导体器件(1E)相较于实施方式3的半导体器件(1D),在测试模式读出装置(102)、系统控制器(103)、存储装置(104)、外部存储装置(2)经由系统总线连接这一点上有所不同。在此,DMA控制器(109)包含在第一电源区域(10)。
外部存储装置(2)是保存有所有扫描测试数据和测试结果数据的压缩符号的期待值的装置。外部存储装置(2)例如是ROM、是闪存存储器、或硬盘等非易失性存储装置。
在如图11所示的实施方式3的半导体器件(1D)中,为了读出扫描测试数据,测试模式读出装置(102)直接访问专用的存储装置(104)(例如闪存存储器那样的可擦写的存储元件)。相对于此,在图12所示的本实施方式3的变形例的半导体器件(1E)中,测试模式读出装置(102)对于存储装置(104)并非直接访问,而是根据系统控制器(103)的控制,经由系统总线进行扫描测试数据的读出。
在本实施方式3的变形例中,在开始扫描测试前,系统控制器(103)经由系统总线向DMA控制器(109)输出传递请求信号,以请求从外部存储装置(2)对存储装置(104)传递数据。DMA控制器(109)根据该传递请求信号,将外部存储装置(2)中保存的所有扫描测试数据与期待值经由系统总线传递至存储装置(104)。之后与上述实施方式3同样地,利用存储装置(104)中保存的扫描测试数据来执行扫描测试,因此省略其说明。
本实施方式3的变形例的优点是使用通用的RAM作为存储装置(104),能够将扫描测试数据本身由半导体器件(1E)外部的存储装置(2)保有。RAM例如是SRAM(Static RAM:静态RAM)或DRAM(Dynamic RAM:动态RAM)等。这是因为,如在实施方式2的说明的那样,配置于第二电源区域(20)的扫描测试机构能够与测试模式读出装置(102)对扫描测试数据的读出完全独立地进行动作。
如以上说明的那样,在本实施方式3的变形例中,系统控制器(103)及DMA控制器(109)从与半导体器件(1E)连接的外部存储装置(2)取得多个测试数据,并将其存储于存储装置(104)。据此,不用更换半导体器件(1E)所具备的存储装置(104),而只要更换与半导体器件(1E)的外部连接的外部存储装置(2),即可容易地变更扫描测试数据。因此,根据本实施方式3的变形例,能够降低扫描测试数据更换的作业成本。另外,由于可以不在半导体器件(1E)内部设置保存有所有扫描测试数据的存储装置(存储装置104),所以能够削减半导体器件的面积的开销。
此外,在以上的说明中,说明了对于图7所示的半导体器件(1C)应用了上述各装置(102、103、104、109、2)的例子,但并不限于此。当然也可以对图1、2所示的半导体器件(1A、1B)应用上述各装置(102、103、104、109、2)。
[实施方式4]
接着,对实施方式4进行说明。在以下的实施方式4的说明中,对于与上述实施方式3的变形例相同的内容标注相同附图标记等等,适宜省略其说明。
[整体结构]
参照图13,对本实施方式4的半导体器件(1F)的结构进行说明。图13是本实施方式4的半导体器件(1F)的框图。本实施方式4的半导体器件(1F)例如是适于在由多个CPU核心(被测试电路(201))构成的电路中执行使用了扫描测试机构的运行时间测试的实施方式。此外,在图13中,省略了外部存储装置(2)的图示。
如图13所示,实施方式4的半导体器件(1F)相较于实施方式3的变形例的半导体器件(1E),在具有多个被测试电路(201)及多个测试时钟控制装置(203)这一点、以及还具有输入选择电路(204)和输出选择电路(205)这一点上有所不同。在此,输入选择电路(204)和输出选择电路(205)包含在第二电源区域(20)。
即,在实施方式4中,一个被测试电路(201)和一个测试时钟控制装置(203)以对应的方式存在有多对。在实施方式4中,如图13所示,示出被测试电路(201)和测试时钟控制装置(203)的对存在4对的例子。
与至此为止的实施方式同样地,配置于第一电源区域(10)的装置及电路通过第一时钟信号(110)驱动,配置于第二电源区域(20)的装置及电路通过第二时钟信号(210)驱动。
在本实施方式4中,FIFO(101)和多对被测试电路(201)及测试时钟控制装置(203)中的任一对的被测试电路(201)及测试时钟控制装置(203)经由输入选择电路(204)电连接。即,输入选择电路(204)是将FIFO(101)和多对被测试电路(201)及测试时钟控制装置(203)中的任一对被测试电路(201)及测试时钟控制装置(203)选择性连接的电路。
因此,从FIFO(101)输出的扫描测试数据被输入至多个被测试电路(201)中的、由选择电路(204)选择的一个被测试电路(201)。另外,从FIFO(101)输出的空信号被输入至多个测试时钟控制装置(203)中的、由输入选择电路(204)选择的一个测试时钟控制装置(203)。
另外,多对被测试电路(201)及测试时钟控制装置(203)中的任一对中的被测试电路(201)与测试结果压缩装置(202)经由输出选择电路(205)电连接。即,输出选择电路(205)是将多对被测试电路(201)及测试时钟控制装置(203)中的任一对中的被测试电路(201)和测试结果压缩装置(202)选择性连接的电路。
因此,从多个被测试电路(201)中的由输出选择电路(205)选择的一个被测试电路(201)输出的测试结果数据被输入至测试结果压缩装置(202)。
测试控制装置(200)以选择成为扫描测试对象的应对被测试电路(201)及测试时钟控制装置(203)的方式控制输入选择电路(204)及输出选择电路(205)。
另外,测试时钟控制装置(203)与和该测试时钟控制装置(203)成对的被测试电路(201)电连接。即,多个测试时钟控制装置(203)分别对多个被测试电路(201)中的与自身成对的被测试电路(201)供给扫描测试时钟。
[动作流程]
接着,参照图14,对本实施方式4的半导体器件(1F)的动作进行说明。图14是表示实施方式4的半导体器件(1F)的动作的动作流程图。图14中,纵线示出在其上部记载了名称的电路或装置的动作,由上朝下示出时间的经过。向横向延伸的箭头意味着成为其起点的电路或装置的动作事件产生成为其终点的电路或装置的动作事件。
图14中的“被测试电路A”到“被测试电路D”分别示出图13的4对被测试电路(201)及测试时钟控制装置(203)中的任一对。对于本实施方式4的半导体器件(1F)的动作,将图13所示的半导体器件(1F)的例子和图14所示的动作流程图对照地进行说明。
首先,系统控制器(103)通过控制DMA控制器(109),从外部存储装置(2)取得相对于被测试电路A的扫描测试数据和期待值,并存储于存储装置(104)。如图14所示,首先,系统控制器(103)对测试模式读出装置(102)及测试控制装置(200)指示被测试电路A的扫描测试的开始。
即,系统控制器(103)将指示开始被测试电路A的扫描测试的开始指示信号输出至测试模式读出装置(102)。根据用于指示被测试电路A的扫描测试的开始的开始指示信号,测试模式读出装置(102)经由系统总线从存储装置(104)取得与被测试电路A对应的被测试电路(201)的扫描测试数据,并写入FIFO(101)。
另外,系统控制器(103)向测试控制装置(200)输出用于通知开始被测试电路A的扫描测试的测试开始信号。更具体而言,系统控制器(103)与测试控制装置(200)之间连接有4条分别对应于被测试电路A-被测试电路D的每一个的测试开始信号线。系统控制器(103)断言与被测试电路A对应的测试开始信号。
根据与被测试电路A对应的测试开始信号的断言,测试控制装置(200)向输入选择电路(204)及输出选择电路(205)输出选择指示信号,以指示选择被测试电路A、和与其成对的测试时钟控制装置(203)。根据该选择指示信号,输入选择电路(204)使被测试电路A及与其成对的测试时钟控制装置(203)、和FIFO(101)电连接。另外,根据该选择指示信号,输出选择电路(205)使被测试电路A及与其成对的测试时钟控制装置(203)、和测试结果压缩装置(202)电连接。
之后,对被测试电路A执行扫描测试。此外,对于扫描测试的动作,由于与实施方式3及其变形例相同,所以在此省略说明。
在此,测试控制装置(200)在被测试电路A的扫描测试中,根据空信号,将被断言的扫描使能信号仅输出至多个被测试电路(201)中的作为测试对象的被测试电路A,而不输出至其它被测试电路B~D。即,向测试对象以外的被测试电路B~D输出被无效的扫描使能信号。由此,对于没有成为测试对象的被测试电路(201)不实施扫描移位动作,而是实施通常动作。
当被测试电路A的扫描测试结束时,测试控制装置(200)对系统控制器(103)通知作为测试对象的被测试电路A的扫描测试的结束。即,在本实施方式4中,若扫描测试结束,则测试控制装置(200)输出通知完成了扫描测试的被测试电路A的扫描测试已结束的结束信号。根据该结束信号,系统控制器(103)将从测试结果压缩装置(202)取得的压缩符号、和与利用结束信号通知了结束的被测试电路A对应的期待值进行比较,判定测试结果。
之后,如图14所示,对于被测试电路B~D,也与上述同样地依次执行扫描测试。即,接下来存储装置(104)从外部存储装置(2)读出针对被测试电路B的扫描测试数据和期待值。此外,在针对被测试电路B的扫描测试数据和期待值与被测试电路A的内容相同的情况下,也可以省略该读出。系统控制器(103)以被测试电路B作为测试对象,输出测试开始信号,输入选择电路(204)及输出选择电路(205)选择被测试电路B及与其成对的测试时钟控制装置(203)。由此,执行被测试电路B的扫描测试。
然后,通过结束信号向系统控制器(103)通知被测试电路B的扫描测试的结束。系统控制器(103)将从与被测试电路B对应的测试结果压缩装置(202)取得的压缩符号、和针对成为测试对象的被测试电路B的期待值进行比较,判定测试结果。然后,以被测试电路C作为测试对象执行同样的动作,以被测试电路D作为测试对象执行同样的动作。
此外,在到被测试电路D为止的扫描测试执行完成后,也可以再次实施针对被测试电路A~D的扫描测试。即,也可以反复执行针对被测试电路A~D的扫描测试。此外,在本实施方式4中,说明了实施4个被测试电路(201)的扫描测试的例子,但被测试电路(201)的数量不限于此。
如上所述说明的那样,在本实施方式4中,输入选择电路(204)选择多个被测试电路(201)中的、由测试控制装置(200)指示的被测试电路(201),来作为从FIFO(101)读出的测试数据的输入目的地。另外,输出选择电路(205)选择多个被测试电路(201)中的、由测试控制装置(200)指示的被测试电路(201),来作为将测试结果数据输出至测试结果压缩装置(202)的输出源。据此,能够仅对被选作测试对象的被测试电路(201)实施扫描测试,而至于未被选作测试对象的被测试电路(201)继续进行处理。能够不使系统停止而实施被测试电路(201)的扫描测试。
此外,在上述说明中,对在图12所示的半导体器件(1E)中具有多对被测试电路(201)及测试时钟控制装置(203)的例子进行了说明,但不限于此。当然,在图1、2、7、11所示的半导体器件(1A、1B、1C、1D)中,也可以具有多对被测试电路(201)及测试时钟控制装置(203)。
[实施方式5]
接着,对实施方式5进行说明。在以下的实施方式5的说明中,对于与上述实施方式3的变形例相同的内容标注相同符号等等,适宜省略其说明。
[整体结构]
参照图15,对本实施方式5的半导体器件(1G)的结构进行说明。图15是本实施方式5的半导体器件(1G)的框图。本实施方式5的半导体器件(1G)例如是适于在由多个CPU核心(被测试电路(201))构成的电路中,执行使用了扫描测试机构的运行时间测试的实施方式。此外,在图15中,省略了外部存储装置(2)的图示。
如图15所示,实施方式5的半导体器件(1G)相较于实施方式3的变形例的半导体器件(1E),在具有多个测试控制装置(200)、被测试电路(201)、测试结果压缩装置(202)及测试时钟控制装置(203)这一点、并且还具有调停电路(206)这一点上有所不同。在此,调停电路(206)包含于第二电源区域(20)。
即,在实施方式5中,一个测试控制装置(200)、一个被测试电路(201)、一个测试结果压缩装置(202)、一个测试时钟控制装置(203)以对应的方式存在有多组。在实施方式5中,如图15所示,例示存在4组测试控制装置(200)、被测试电路(201)、测试结果压缩装置(202)、测试时钟控制装置(203)的组。
与至此为止的实施方式同样地,配置于第一电源区域(10)的装置及电路由第一时钟信号(110)驱动,配置于第二电源区域(20)的装置及电路由第二时钟信号(210)驱动。
在本实施方式5中,FIFO(101)与多个被测试电路(201)及调停电路(206)电连接。由此,在本实施方式5中,FIFO(101)向调停电路(206)输出空信号。
另外,系统控制器(103)与调停电路(206)及多个测试结果压缩装置(202)电连接。即,系统控制器(103)向调停电路(206)输出测试开始信号。
多个测试控制装置(200)及多个测试时钟控制装置(203)与调停电路(206)连接。即,多个测试控制装置(200)分别向调停电路(206)输出扫描使能信号。调停电路(206)将从多个测试控制装置(200)输出的扫描使能信号中的、从与作为测试对象的被测试电路(201)对应的测试控制装置(200)输出的扫描使能信号作为读出信号输出至FIFO(101)。另外,调停电路(206)将空信号输出至多个测试时钟控制装置(203)中的、与作为测试对象的被测试电路(201)对应的测试时钟控制装置(203)。此外,调停电路(206)将利用测试开始信号指定为测试对象的被测试电路(201),识别为测试对象的被测试电路(201)。
调停电路(206)是将在与调停电路(206)连接的电路或装置之间输入输出的信号进行调停的电路。
另外,同一组所包含的测试控制装置(200)、被测试电路(201)、测试结果压缩装置(202)、及测试时钟控制装置(203)的电连接关系与实施方式3的变形例相同。
[动作流程]
接着,参照图16对本实施方式5的半导体器件(1G)的动作进行说明。图16是表示实施方式5的半导体器件(1G)的动作的动作流程图。在图16中,纵线示出在其上部记载了名称的电路或装置的动作,由上朝下示出时间的经过。向横向延伸的箭头意味着成为其起点的电路或装置的动作事件产生成为其终点的电路或装置的动作事件。
图16中的“被测试电路A”到“被测试电路D”分别示出图15中的4个被测试电路(201)中的任一个。对于本实施方式5的半导体器件(1G)的动作,一边对照图15所示的半导体器件(1G)的例子和图16所示的动作流程图,一边进行说明。
首先,系统控制器(103)通过控制DMA控制器(109),从外部存储装置(2)取得针对被测试电路A及被测试电路B的扫描测试数据和期待值,并保存于存储装置(104)。在此以针对被测试电路A及被测试电路B各自的扫描测试数据和期待值相同来进行说明。即,在存储装置(104)中保存有被测试电路A和被测试电路B中共用的扫描测试数据。如图16所示,首先,系统控制器(103)对测试模式读出装置(102)及测试控制装置(200)指示被测试电路A及被测试电路B的扫描测试的开始。
即,系统控制器(103)将指示被测试电路A及被测试电路B的扫描测试的开始的开始指示信号输出至测试模式读出装置(102)。根据指示被测试电路A及被测试电路B的扫描测试的开始的开始指示信号,测试模式读出装置(102)经由系统总线从存储装置(104)取得与被测试电路A及被测试电路B对应的扫描测试数据,并将其写入FIFO(101)。
另外,系统控制器(103)向调停电路(206)输出通知被测试电路A及被测试电路B的扫描测试的开始的测试开始信号。更具体而言,系统控制器(103)和调停电路(206)之间连接有4条分别与被测试电路A~被测试电路D各自对应的测试开始信号线。系统控制器(103)断言与被测试电路A及被测试电路B对应的测试开始信号。
调停电路(206)在从FIFO(101)输入的空信号被无效的的情况下,将该被无效的空信号分别输出至多个测试控制装置(200)中的与被测试电路A及被测试电路B对应的测试控制装置(200)。
在此,调停电路(206)在任一测试开始信号被断言后,等到了经过规定时间的时间点,对与被断言的测试开始信号对应的测试控制装置(200)输出被无效的空信号。4个测试开始信号被异步传送,因此有时被断言的测试开始信号在不同定时到达调停电路(206)。即使在这种情况下,如上所述,通过使测试开始信号等候规定的时间,能够使与测试对象的被测试电路A、B对应的测试控制装置(200)与被无效的空信号到达的定时一致。
由此,如图16所示,对于被测试电路A和被测试电路B同时并行地执行扫描测试。从FIFO(101)输出的扫描测试数据被同时输入至被测试电路A和被测试电路B。此外,对于扫描测试的动作,由于与实施方式3及其变形例相同,因此在此省略说明。在此,由于与被测试电路C和被测试电路D对应的测试控制装置(200)未对被测试电路C和被测试电路D实施扫描测试,因此被测试电路C和被测试电路D实施通常动作。
在此,如上所述,调停电路(206)仅对与测试对象的被测试电路(201)对应的测试时钟控制装置(203)输出来自FIFO(101)的空信号。因此,在FIFO(101)为空的情况下,仅通过与测试对象的被测试电路(201)对应的测试时钟控制装置(203),即可停止第二时钟信号(210)针对被测试电路(201)的供给。
另外,如上所述,调停电路(206)将仅从与测试对象的被测试电路(201)对应的测试控制装置(200)输出的扫描使能信号作为读出信号输出至FIFO(101)。因此,根据作为测试对象的被测试电路(201)是否在进行扫描移位动作,对FIFO(101)的寄存器组(34)中的成为读出源的寄存器进行更新。此外,由于与被测试电路A及被测试电路B对应的各测试控制装置(200)分别输出同样的扫描使能信号,因此只要向FIFO(101)输出这些测试控制装置(200)中的任一个扫描使能信号即可。
当被测试电路A及被测试电路B的扫描测试结束时,与被测试电路A及被测试电路B对应的的测试控制装置(200)分别向调停电路(206)通知扫描测试的结束。即,与被测试电路A及被测试电路B对应的测试控制装置(200)分别向调停电路(206)输出结束信号。根据该结束信号,调停电路(206)向系统控制器(103)输出通知被测试电路A和被测试电路B的扫描测试的结束的结束信号。此外,调停电路(206)等到与从系统控制器(103)指示开始扫描测试的被测试电路A及被测试电路B对应的所有测试控制装置(200)都发出结束信号后,向系统控制器(103)输出结束信号。
根据该结束信号,系统控制器(103)将从与被测试电路A及被测试电路B对应的测试结果压缩装置(202)取得的各个压缩符号、和与被测试电路A及被测试电路B对应的各个期待值分别进行比较,判定测试结果。
之后,如图16所示,对于被测试电路C、D也同样地执行扫描测试。即,接着,从外部存储装置(2)向存储装置(104)读出对应于被测试电路C及被测试电路D的扫描测试数据和期待值。此外,在针对被测试电路C、D的扫描测试数据和期待值与被测试电路A、B的内容相同的情况下,也可以省略该读出。以被测试电路C及被测试电路D作为测试对象,输出测试开始信号,调停电路(206)以对被测试电路C及被测试电路D直行扫描测试的方式进行控制。然后,通过结束信号并经由调停电路(206)向系统控制器(103)通知被测试电路C及被测试电路D的扫描测试的结束。系统控制器(103)将从与被测试电路C及被测试电路D对应的测试结果压缩装置(202)取得的各个压缩符号、和与被测试电路C及被测试电路D对应的期待值进行比较,判定测试结果。
此外,到被测试电路C、D为止的扫描测试的执行完成后,也可以再次实施针对被测试电路A~D的扫描测试。即,也可以反复执行针对被测试电路A~D的扫描测试。此外,在本实施方式4中,说明了实施4个被测试电路(201)的扫描测试的例子,但被测试电路(201)的数量不限于此。
此外,在本实施方式5中,说明了针对每两个被测试电路(201)实施扫描测试的例子,但同时执行扫描测试的被测试电路(201)的数量不限于此。
另外,在以上说明中,说明了所有被测试电路A~D的结构相同、扫描测试数据相同的例子,但也可以被测试电路A~D的每一个的扫描测试数据不同。在此,在同时实施扫描测试的被测试电路的每一个使用不同的扫描测试数据的情况下,必须使被测试电路的每一个在半导体器件(1G)内分别具有个别的FIFO(101)。例如,在同时实施扫描测试的被测试电路A及被测试电路B的结构不同、各自所使用的扫描测试数据不同的情况下,必须准备与被测试电路A及被测试电路B分别对应的FIFO(101)。即,在与被测试电路A对应的FIFO(101)中保存有针对被测试电路A的扫描测试数据,在与被测试电路B对应的FIFO(101)中保存有针对被测试电路B的扫描测试数据。
如以上说明的那样,在本实施方式5中,系统控制器(103)指示多个被测试电路(201)中的、任意2个以上的被测试电路(201)的扫描测试的实施。然后,调停电路(206)对与从系统控制器(103)指示的2个以上的被测试电路(201)对应的2个以上的测试控制装置(200)指示扫描测试的实施。据此,能够对多个被测试电路(201)同时实施扫描测试。另外,与实施方式4同样地,非测试对象的被测试电路(201)能够继续进行处理。
此外,在以上说明中,说明了在图12所示的半导体器件(1E)中具有多组测试控制装置(200)、被测试电路(201)、测试结果压缩装置(202)、测试时钟控制装置(203)的例子,但不限于此。在图1、2、7、11所示的半导体器件(1A、1B、1C、1D)中,也可以具有多组测试控制装置(200)、被测试电路(201)、测试结果压缩装置(202)、测试时钟控制装置(203)。
[实施方式6]
接着,对实施方式6进行说明。在以下的实施方式6的说明中,对于与上述实施方式3的变形例相同的内容标注相同附图标记等等,适宜省略其说明。
[整体结构]
参照图17,对本实施方式6的半导体器件(1H)的结构进行说明。图17是本实施方式6的半导体器件(1H)的框图。实施方式6的半导体器件(1H)例如是适于具有多个运行时间测试的对象的情况的实施方式。此外,在图17中,省略了外部存储装置(2)的图示。
如图17所示,本实施方式6的半导体器件(1H)相较于实施方式3的变形例的半导体器件(1E),在还具有选择电路(105)、FIFO读出用的功能块(101C)、测试控制装置(300)、被测试电路(301)、测试结果压缩装置(302)、测试时钟控制装置(303)这一点上有所不同。另外,本实施方式6的半导体器件(1H)相较于实施方式3的变形例的半导体器件(1E),在还具有第三电源区域(30H)这一点上有所不同。
在此,选择电路(105)包含在第一电源区域(10),FIFO读出用的功能块(101C)、测试控制装置(300)、被测试电路(301)、测试结果压缩装置(302)、测试时钟控制装置(303)包含于第三电源区域(30H)。
第三电源区域(30H)的电源布线不同于第一电源区域(10)及第二电源区域(20)。即,第三电源区域(30H)能够独立于第一电源区域(10)及第二电源区域(20)而供给不同的电力。例如,第三电源区域(30H)是DVFS区域。
与至此为止的实施方式同样地,配置于第一电源区域(10)的装置及电路由第一时钟信号(110)驱动,配置于第二电源区域(20)的装置及电路由第二时钟信号(210)驱动。在此,配置于第三电源区域(30H)的装置及电路由第三时钟信号(310)驱动。
第一时钟信号(110)及第二时钟信号(210)的每一个和第三时钟信号(310)因第一电源区域(10)及第二电源区域(20)的每一个和第三电源区域(30H)的电压不同,因此未同步(频率及相位中的至少1项不同)。此外,第一时钟信号(110)、第二时钟信号(210)、第三时钟信号(310)分别因由不同时钟生成电路生成的时钟信号而彼此不同步。
以下,也将FIFO写入用的功能块(101A)及FIFO读出用的功能块(101B、101C)分别称为功能块(101A)、功能块(101B)、功能块(101C)。
在本实施方式6中,功能块(101A)经由选择电路(105)与功能块(101B)及功能块(101C)中的由选择电路(105)选择的一个功能块电连接。
另外,系统控制器(103)经由选择电路(105)与测试控制装置(200)及测试结果压缩装置(202)、或测试控制装置(300)及测试结果压缩装置(302)中的、由选择电路(105)选择的测试控制装置及测试结果压缩电路电连接。
第三电源区域(30H)中包含的各要素(101C、300、301、302、303)的动作及连接关系与第二电源区域(20)中包含的各要素(101B、200、201、202、203)的动作及连接关系相同,因此省略说明。但是,第三电源区域(30H)中包含的各要素(101C、300、301、302、303)不基于第二时钟信号(210)而是基于第三时钟信号(310)进行动作。
[动作流程]
接着,参照图18,对本实施方式6的半导体器件(1H)的动作进行说明。图18是表示实施方式6的半导体器件(1H)的动作的动作流程图。在图18中,纵线示出在其上部记载了名称的电路或装置的动作,由上朝下示出时间的经过。向横向延伸的箭头意味着成为其起点的电路或装置的动作事件产生成为其终点的电路或装置的动作事件。
图18中的“被测试电路A”及“被测试电路B”分别表示图17中的2个被测试电路(201)及被测试电路(301)中的任一个。对于本实施方式6的半导体器件(1H)的动作,一边对照图17所示的半导体器件(1H)的例子和图18所示的动作流程图,一边进行说明。
首先,系统控制器(103)通过控制DMA控制器(109),从外部存储装置(2)取得针对被测试电路A的扫描测试数据和期待值,并将其存储于存储装置(104)。如图18所示,首先,系统控制器(103)对测试模式读出装置(102)指示被测试电路A的扫描测试的开始。
即,系统控制器(103)将指示被测试电路A的扫描测试的开始的开始指示信号输出至测试模式读出装置(102)。根据指示被测试电路A的扫描测试的开始的开始指示信号,测试模式读出装置(102)经由系统总线从存储装置(104)取得与被测试电路A对应的扫描测试数据,并将其写入FIFO(101)。
另外,系统控制器(103)控制选择电路(105),以选择与被测试电路A对应的功能块、测试控制装置、测试结果压缩装置。即,系统控制器(103)向选择电路(105)输出选择与被测试电路A对应的功能块、测试控制装置、测试结果压缩装置的选择信号。根据该选择信号,选择电路(105)将功能块(101A)和与被测试电路A对应的功能块连接,并将系统控制器(103)和与被测试电路A对应的测试控制装置A及测试结果压缩装置A连接。
由此,在功能块(101A)、和功能块(101B)及功能块(101C)中的与被测试电路A对应的功能块之间传送信号(扫描测试数据、格雷码值)。另外,从测试控制装置(200)及测试控制装置(300)中的、与被测试电路A对应的测试控制装置A输出的结束信号被输入至系统控制器(103)。另外,从测试结果压缩装置(202)及测试结果压缩装置(302)中的、与被测试电路A对应的测试结果压缩装置A输出的压缩符号被输入至系统控制器(103)。
因此,利用功能块(101B)及功能块(101C)中的与被测试电路A对应的功能块,从功能块(101A)读出扫描测试数据。因此,与被测试电路A对应的功能块将被无效的空信号输出至测试控制装置A。由此,与被测试电路A对应的测试控制装置A中的开始信号被断言,执行被测试电路A的扫描测试。此外,针对扫描测试的动作,与实施方式3的变形例相同,因此省略说明。
若被测试电路A的扫描测试结束,则与被测试电路A对应的测试控制装置A经由选择电路(105)向系统控制器(103)输出结束信号。根据该结束信号,系统控制器(103)将从与被测试电路A对应的测试结果压缩装置A取得的压缩符号、和与以该结束信号通知了结束的被测试电路A所对应的期待值进行比较,判定测试结果。
接着,如图18所示,对于被测试电路B,也同样地执行扫描测试。即,接着,存储装置(104)从外部存储装置(2)读出针对被测试电路B的扫描测试数据和期待值。此外,在针对被测试电路B的扫描测试数据和期待值与被测试电路A的内容相同的情况下,也可以省略该读出。在相对于测试模式读出装置(102)指示被测试电路B的扫描测试的开始,并且控制选择电路(105),以选择与被测试电路B对应的功能块、测试控制装置以及测试结果压缩装置。由此,与上述同样地,与被测试电路B对应的测试控制装置B中的开始信号被断言,执行针对被测试电路B的扫描测试。
此外,到被测试电路B为止的扫描测试的执行完成后,也可以再次实施针对被测试电路A、B的扫描测试。即,也可以反复执行针对被测试电路A、B的扫描测试。此外,在本实施方式6中,说明了实施2个被测试电路(201、301)的扫描测试的例子,但被测试电路(201、301)的数量不限于此。即,也可以具有与第二电源区域(20)及第三电源区域(30H)结构相同、且电压不同的其他电源区域。
如以上说明的那样,在本实施方式6中,测试控制装置(200)与第二时钟信号(210)同步地,实施依次读出FIFO(101)中保存的多个测试数据的被测试电路(201)的扫描测试。测试控制装置(300)与第三时钟信号(310)同步地,实施依次读出FIFO(101)中保存的多个测试数据的被测试电路(301)的扫描测试。然后,选择电路(105)选择测试控制装置(200)及测试控制装置(300)的中的某一个,来作为实施扫描测试的测试控制装置。据此,能够实施分别与不同的时钟信号同步的多个被测试电路的扫描测试。
此外,在以上说明中,说明了在图12所示的半导体器件(1E)中FIFO读出用的功能块、测试控制装置、被测试电路、测试时钟控制装置、测试结果压缩装置分别具有多个的例子,但不限于此。在图1、2、7、11所示的半导体器件(1A、1B、1C、1D)中,FIFO读出用的功能块、测试控制装置、被测试电路、测试时钟控制装置、测试结果压缩装置也可以分别具有多个。
<实施方式7>
在此,参照图19,将从上述实施方式1~6提取的一实施方式作为实施方式7进行说明。参照图19,对实施方式7的半导体器件(9)进行说明。图19是实施方式7的半导体器件(9)的结构图。
如图19所示,半导体器件(9)具有FIFO(91)、测试数据写入电路(92)、测试控制电路(93)、被测试电路(94)。
测试数据写入电路(92)与第一时钟信号(910)同步地,向FIFO(91)依次写入多个测试数据。测试数据写入电路(92)与测试模式产生装置(100)及测试模式读出装置(102)对应。FIFO(91)与FIFO(101)对应。第一时钟信号(910)与第一时钟信号(110)对应。
与测试数据写入电路(92)进行的将多个测试数据向FIFO(91)的写入并行地,测试控制电路(93)与不与第一时钟信号(910)同步的第二时钟信号(920)同步地实施依次读出FIFO(91)中保存的多个测试数据的被测试电路(94)的扫描测试。测试控制电路(93)与测试控制装置(200、300)对应。被测试电路(94)与被测试电路(201、301)对应。第二时钟信号(920)与第二时钟信号(210)对应。
<另一实施方式>
在以上说明的实施方式中,说明了第一电源区域(10)与第二电源区域(20)不同。第一时钟信号(110)和第二时钟信号(210)不同步的情况,这些可通过以下说明的结构及动作而产生。参照图20,对其结构及动作进行说明。图20是另一实施方式的半导体器件(11)的结构图。
如图20所示,半导体器件(11)相较于实施方式1的半导体器件(1A),还具有设定电路(3)、电压供给电路(4)、时钟供给电路(5)。
设定电路(3)根据来自被测试电路(201)的指示,变更电压供给电路(4)向第二电源区域(20)供给的电压、或时钟供给电路(5)向第二电源区域(20)内的电路及装置供给的第二时钟信号(210)的频率。
在此,在初始状态下,第一电源区域(10)的电压和第二电源区域(20)的电压相同。以下,将该电压作为第一电压。另外,在初始状态下,第一时钟信号(110)和第二时钟信号(210)设为同步(频率及相位相同)。以下,将该频率作为第一频率。
如上所述,被测试电路(201)例如是CPU。因此,被测试电路(201)例如执行程序,执行任意的处理。被测试电路(201)测定自身的处理负载,判定处理负载是否已在规定的阈值以下。
被测试电路(201)在处理负载在规定的阈值以下的情况下,向设定电路(3)输出指令信号,该指示信号指示电压供给电路(4)向第二电源区域(20)供给的电压的变更、或频率供绐电路(5)向第二电源区域(20)内的电路及装置供给的第二时钟信号(210)的频率的变更。
设定电路(3)根据从被测试电路(201)指示电压的变更的指令信号,设定电压供给电路(4),以使电压供给电路(4)向第二电源区域(20)供给的电压成为低于第一电压的第二电压。根据该设定,电压供给电路(4)将向第二电源区域(20)供给的电压从第一电压变更成第二电压。由此,第二电源区域(20)的电压低于第一电源区域(10)。其结果为,因电压差的影响,使得第二电源区域(20)中的第二时钟信号(210)不再与第一电源区域(10)中的第一时钟信号(110)同步。
另外,设定电路(3)根据从被测试电路(201)指示频率的变更的指令信号,设定时钟供给电路(5),以使时钟供给电路(5)向第二电源区域(20)供给的第二时钟信号(210)成为频率低于第一频率的第二频率。根据该设定,时钟供给电路(5)将向第二电源区域(20)供给的第二时钟信号(210)的频率从第一频率变更成第二频率。由此,第二时钟信号(210)的频率低于第一时钟信号(110)。
另一方面,被测试电路(201)的处理负载不为规定的阈值以下的情况下,不指示上述电压的变更及频率的变更。
此外,在以上说明中,说明了对于图1所示的半导体器件(1A)应用了设定电路(3)、电压供给电路(4)、时钟供给电路(5)的例子,但不限于此。对于图2、7、11、12、13、15、17所示的半导体器件(1B、1C、1D、1E、1F、1G、1H)中的第二电源区域20、和图17所示的半导体器件(1H)中的第三电源区域30H,也能够适用设定电路(3)、电压供给电路(4)、时钟供给电路(5)。
以上,基于实施方式具体地说明了由本发明人提出的发明,但本发明不限于上述实施方式,在不脱离其宗旨的范围内能够进行各种变更。
在上述各实施方式中,说明了测试结果压缩装置(202、302)、测试结果压缩装置(202)将测试结果数据中的不定值通过屏蔽数据固定为“0”(Low)的例子,但不限于此。例如,测试结果压缩装置(202、302)也可以将测试结果数据中的不定值通过屏蔽数据固定为“1”(High)。在该情况下,测试结果压缩装置(202、302)只要具有或门来取代与门(2021、2022)即可。
附图标记说明
1A、1B、1C、1D、1E、1F、1G、1H、1I 半导体器件
2 外部存储装置
3 设定电路
4 电压供给电路
5 时钟供给电路
10 第一电源区域
20 第二电源区域
30H 第三电源区域
30 输入电路
31 满判定电路
32 格雷码计数器
33、43 选择电路
34 寄存器组
40 输出电路
41 空判定电路
42 格雷码计数器
44 寄存器
100 测试模式产生装置
101 FIFO
101A FIFO(写入用的功能块)
101B、101C FIFO(读出用的功能块)
102 测试模式读出装置
103 系统控制器
104 存储装置
105 选择电路
109 DMA控制器
110 第一时钟信号
200 测试控制装置
201、301 被测试电路
202、302 测试结果压缩装置
203、303 测试时钟控制装置
204 输入选择电路
205 输出选择电路
206 调停电路
210 第二时钟信号
310 第三时钟信号
2000 扫描移位计数器
2001 扫描移位次数寄存器
2002 比较器
2003、2008、2009 选择器
2004、2021、2022 与门
2005 测试模式计数器
2006 测试模式数量寄存器
2007 比较器
2010 扫描链
2011 扩展电路
2012、2023 压缩电路

Claims (16)

1.一种半导体器件,其特征在于,具备:
FIFO;
测试数据写入电路,其与第一时钟信号同步地将多个测试数据依次写入所述FIFO;以及
测试控制电路,其与基于所述测试数据写入电路进行的将所述多个测试数据向所述FIFO写入并行地,实施与第二时钟信号同步地依次读出在所述FIFO中保存的多个测试数据的被测试电路的扫描测试,其中,所述第二时钟信号与所述第一时钟信号不同步,
所述被测试电路具有用于实施所述扫描测试的扫描链,通过与所述第二时钟信号同步地进行扫描移位动作,从所述FIFO读出测试数据并扫描输入所述扫描链,并且将所述扫描链所保持的测试结果数据扫描输出,
所述测试数据写入电路与所述第一时钟信号同步地,一并将所述多个测试数据和与该多个数据的每一个对应的多个屏蔽数据依次写入所述FIFO,
所述半导体器件还具备测试结果处理电路,所述测试结果处理电路被输入有从所述扫描链扫描输出的测试结果数据,
所述测试结果处理电路具有屏蔽电路,所述屏蔽电路在所述测试数据被扫描输入所述扫描链时,从所述FIFO读出与所述测试数据对应的屏蔽数据,并利用所读出的屏蔽数据将在该测试数据被扫描输入所述扫描链时扫描输出的测试结果数据遮蔽,由此以固定在低或高的状态的方式进行变更。
2.根据权利要求1所述的半导体器件,其特征在于,
所述半导体器件还具备空判定电路,该空判定电路判定所述FIFO是否为空,
所述测试控制电路在通过所述空判定电路判定出所述FIFO不为空的情况下,进行从所述FIFO将测试数据读出。
3.根据权利要求2所述的半导体器件,其特征在于,
所述测试控制电路在通过所述空判定电路判定出所述FIFO为空的情况下,停止从所述FIFO将测试数据读出。
4.根据权利要求3所述的半导体器件,其特征在于,
所述测试控制电路还具备时钟控制电路,该时钟控制电路在通过所述空判定电路判定出所述FIFO为空的情况下,通过停止向所述被测试电路供给所述第二时钟信号,而停止从所述FIFO将测试数据读出。
5.根据权利要求1所述的半导体器件,其特征在于,
所述屏蔽电路依次输出被进行所述遮蔽后的测试结果数据,
所述测试结果处理电路具有压缩电路,所述压缩电路基于从所述屏蔽电路依次输出的测试结果数据来生成压缩符号。
6.根据权利要求5所述的半导体器件,其特征在于,
所述测试控制电路与所述第二时钟信号同步地,对扫描输入所述扫描链的测试数据的数量进行计数,每当扫描输入与所述扫描链的大小对应的测试数据时,使所述被测试电路进行捕获动作来取代扫描移位动作。
7.根据权利要求6所述的半导体器件,其特征在于,
所述测试控制电路在基于扫描输入所述扫描链的测试数据的数量而判定出所述多个测试数据全部已被扫描输入时,输出结束信号,
所述半导体器件还具备测试结果判定电路,所述测试结果判定电路根据从所述测试控制电路输出的结束信号,将通过所述测试结果处理电路生成的压缩符号与规定的期待值进行比较,由此判定扫描测试的结果。
8.根据权利要求1所述的半导体器件,其特征在于,
所述半导体器件还具备满判定电路,该满判定电路判定所述FIFO是否已满,
所述测试数据写入电路在通过所述满判定电路判定出所述FIFO已满的情况下,停止将测试数据向所述FIFO写入。
9.根据权利要求1所述的半导体器件,其特征在于,
所述半导体器件还具备保存有所述多个测试数据的存储电路,
所述测试数据写入电路将在所述存储电路中保存的多个测试数据依次写入所述FIFO。
10.根据权利要求9所述的半导体器件,其特征在于,
所述半导体器件还具备测试数据取得电路,所述测试数据取得电路从与所述半导体器件连接的外部存储装置取得所述多个测试数据,并保存于所述存储电路。
11.一种半导体器件,其特征在于,具备:
FIFO;
测试数据写入电路,其与第一时钟信号同步地将多个测试数据依次写入所述FIFO;以及
测试控制电路,其与基于所述测试数据写入电路进行的将所述多个测试数据向所述FIFO写入并行地,实施与第二时钟信号同步地依次读出在所述FIFO中保存的多个测试数据的被测试电路的扫描测试,其中,所述第二时钟信号与所述第一时钟信号不同步,
所述被测试电路具有用于实施所述扫描测试的扫描链,通过与所述第二时钟信号同步地进行扫描移位动作,从所述FIFO读出测试数据并扫描输入所述扫描链,并且将所述扫描链所保持的测试结果数据扫描输出,
所述测试数据写入电路与所述第一时钟信号同步地,一并将所述多个测试数据和与该多个数据的每一个对应的多个屏蔽数据依次写入所述FIFO,
所述半导体器件还具备测试结果处理电路,所述测试结果处理电路被输入有从所述扫描链扫描输出的测试结果数据,
所述测试结果处理电路具有屏蔽电路,所述屏蔽电路在所述测试数据被扫描输入所述扫描链时,从所述FIFO读出与所述测试数据对应的屏蔽数据,并利用所读出的屏蔽数据将在该测试数据被扫描输入所述扫描链时扫描输出的测试结果数据遮蔽,由此以固定在低或高的状态的方式进行变更,
所述半导体器件具备多个所述被测试电路,
所述多个被测试电路分别具有用于实施所述扫描测试的扫描链,通过与所述第二时钟信号同步地进行扫描移位动作,将所述测试控制电路读出的测试数据扫描输入所述扫描链,
所述半导体器件还具备输入选择电路,所述输入选择电路选择所述多个被测试电路中的、由所述测试控制电路指示的被测试电路,来作为从所述FIFO读出的测试数据的输入目的地。
12.根据权利要求11所述的半导体器件,其特征在于,
所述多个被测试电路分别进行所述扫描输入的同时,将所述扫描链保持的测试结果数据扫描输出,
所述半导体器件还具备:
测试结果处理电路,其被输入有从所述扫描链扫描输出的测试结果数据;以及
输出选择电路,其选择所述多个被测试电路中的、由所述测试控制电路指示的被测试电路,来作为将所述测试结果数据输出至所述测试结果处理电路的输出源。
13.一种半导体器件,其特征在于,具备:
FIFO;
测试数据写入电路,其与第一时钟信号同步地将多个测试数据依次写入所述FIFO;以及
测试控制电路,其与基于所述测试数据写入电路进行的将所述多个测试数据向所述FIFO写入并行地,实施与第二时钟信号同步地依次读出在所述FIFO中保存的多个测试数据的被测试电路的扫描测试,其中,所述第二时钟信号与所述第一时钟信号不同步,
所述被测试电路具有用于实施所述扫描测试的扫描链,通过与所述第二时钟信号同步地进行扫描移位动作,从所述FIFO读出测试数据并扫描输入所述扫描链,并且将所述扫描链所保持的测试结果数据扫描输出,
所述测试数据写入电路与所述第一时钟信号同步地,一并将所述多个测试数据和与该多个数据的每一个对应的多个屏蔽数据依次写入所述FIFO,
所述半导体器件还具备测试结果处理电路,所述测试结果处理电路被输入有从所述扫描链扫描输出的测试结果数据,
所述测试结果处理电路具有屏蔽电路,所述屏蔽电路在所述测试数据被扫描输入所述扫描链时,从所述FIFO读出与所述测试数据对应的屏蔽数据,并利用所读出的屏蔽数据将在该测试数据被扫描输入所述扫描链时扫描输出的测试结果数据遮蔽,由此以固定在低或高的状态的方式进行变更,
所述半导体器件具备多个所述被测试电路、和实施所述多个被测试电路各自的扫描测试的多个所述测试控制电路,
所述半导体器件还具备:
测试指示电路,其指示所述多个被测试电路中的、任意2个以上被测试电路的扫描测试;以及
调停电路,其对与从所述测试指示电路指示的2个以上被测试电路对应的2个以上测试控制电路指示所述扫描测试的实施。
14.一种半导体器件,其特征在于,具备:
FIFO;
测试数据写入电路,其与第一时钟信号同步地将多个测试数据依次写入所述FIFO;以及
测试控制电路,其与基于所述测试数据写入电路进行的将所述多个测试数据向所述FIFO写入并行地,实施与第二时钟信号同步地依次读出在所述FIFO中保存的多个测试数据的被测试电路的扫描测试,其中,所述第二时钟信号与所述第一时钟信号不同步,
所述被测试电路具有用于实施所述扫描测试的扫描链,通过与所述第二时钟信号同步地进行扫描移位动作,从所述FIFO读出测试数据并扫描输入所述扫描链,并且将所述扫描链所保持的测试结果数据扫描输出,
所述测试数据写入电路与所述第一时钟信号同步地,一并将所述多个测试数据和与该多个数据的每一个对应的多个屏蔽数据依次写入所述FIFO,
所述半导体器件还具备测试结果处理电路,所述测试结果处理电路被输入有从所述扫描链扫描输出的测试结果数据,
所述测试结果处理电路具有屏蔽电路,所述屏蔽电路在所述测试数据被扫描输入所述扫描链时,从所述FIFO读出与所述测试数据对应的屏蔽数据,并利用所读出的屏蔽数据将在该测试数据被扫描输入所述扫描链时扫描输出的测试结果数据遮蔽,由此以固定在低或高的状态的方式进行变更,
所述被测试电路是第一被测试电路,
所述测试控制电路是第一测试控制电路,
所述半导体器件还具备:
第二测试控制电路,其与基于所述测试数据写入电路进行的将所述多个测试数据向所述FIFO写入并行地,实施与第三时钟信号同步地依次读出在所述FIFO中保存的多个测试数据的第二被测试电路的扫描测试,其中,所述第三时钟信号与所述第一时钟信号及所述第二时钟信号不同步;以及
选择电路,其选择所述第一测试控制电路及所述第二测试控制电路中的任一个,来作为实施所述扫描测试的测试控制电路。
15.根据权利要求14所述的半导体器件,其特征在于,
所述半导体器件还具备判定所述FIFO是否为空的第一空判定电路及第二空判定电路,
所述第一测试控制电路在通过所述第一空判定电路判定出所述FIFO不为空的情况下,进行从所述FIFO将测试数据读出,
所述第二测试控制电路在通过所述第二空判定电路判定出所述FIFO不为空的情况下,进行从所述FIFO将测试数据读出,
所述选择电路通过选择所述第一空判定电路及所述第二空判定电路中的任一个,来作为判定所述FIFO是否为空的空判定电路,由此使所述第一测试控制电路及所述第二测试控制电路中的任一个实施所述扫描测试。
16.一种扫描测试方法,其特征在于,
包括如下的步骤:
(a)与第一时钟信号同步地将第一测试数据和与第一屏蔽数据相关的所述第一测试数据写入FIFO;
(b)在所述步骤(a)之后,与第一时钟信号同步地将第二测试数据和与第二屏蔽数据相关的所述第二测试数据写入所述FIFO;
(c)与第二时钟信号同步地读出在所述FIFO中保存的所述第一测试数据和所述第一屏蔽数据,其中,所述第二时钟信号与所述第一时钟信号不同步;
(d)在所述步骤(c)之后,与第二时钟信号同步地读出在所述FIFO中保存的所述第二测试数据和所述第二屏蔽数据;
(e)与所述第二时钟信号同步地将从所述FIFO读出的所述第一测试数据扫描输入被测试电路的扫描链;
(f)在所述步骤(e)之后,与所述第二时钟信号同步地将从所述FIFO读出的所述第二测试数据扫描输入所述被测试电路的所述扫描链;
(g)与所述步骤(f)并行执行,与所述第二时钟信号同步地将所述扫描链所保持的所述第一测试数据扫描输出,来作为第一测试结果数据;以及
(h)利用在所述步骤(d)中从所述FIFO读出的所述第二屏蔽数据将所述第一测试结果数据屏蔽,以将所述测试结果数据固定在低或高的状态。
CN201580078374.8A 2015-04-16 2015-04-16 半导体器件及扫描测试方法 Active CN107430166B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/002100 WO2016166780A1 (ja) 2015-04-16 2015-04-16 半導体装置及びスキャンテスト方法

Publications (2)

Publication Number Publication Date
CN107430166A CN107430166A (zh) 2017-12-01
CN107430166B true CN107430166B (zh) 2020-01-10

Family

ID=57126620

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580078374.8A Active CN107430166B (zh) 2015-04-16 2015-04-16 半导体器件及扫描测试方法

Country Status (7)

Country Link
US (1) US10295597B2 (zh)
EP (1) EP3287799B1 (zh)
JP (1) JP6424271B2 (zh)
KR (1) KR20170137733A (zh)
CN (1) CN107430166B (zh)
TW (1) TW201704762A (zh)
WO (1) WO2016166780A1 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6462870B2 (ja) * 2015-06-18 2019-01-30 ルネサスエレクトロニクス株式会社 半導体装置及び診断テスト方法
US11196587B2 (en) 2016-11-23 2021-12-07 DeGirum Corporation Permutated ring network
JP6920836B2 (ja) * 2017-03-14 2021-08-18 エイブリック株式会社 半導体装置
US10838835B2 (en) * 2017-12-29 2020-11-17 Intel Corporation Scheduling periodic CPU core diagnostics within an operating system during run-time
KR102453710B1 (ko) * 2018-02-12 2022-10-11 삼성전자주식회사 반도체 장치
US10613918B2 (en) * 2018-02-13 2020-04-07 Nxp B.V. Data register monitoring
US10476656B2 (en) * 2018-04-13 2019-11-12 DeGirum Corporation System and method for asynchronous, multiple clock domain data streams coalescing and resynchronization
JP7141858B2 (ja) * 2018-06-13 2022-09-26 ラピスセミコンダクタ株式会社 半導体装置
JP7147372B2 (ja) * 2018-08-27 2022-10-05 富士通株式会社 半導体装置及び半導体装置の試験方法
US10922203B1 (en) * 2018-09-21 2021-02-16 Nvidia Corporation Fault injection architecture for resilient GPU computing
US10691632B1 (en) 2019-03-14 2020-06-23 DeGirum Corporation Permutated ring network interconnected computing architecture
CN112305400B (zh) * 2020-01-04 2023-09-29 成都华微电子科技股份有限公司 一种参数快速扫描测试装置和方法
TWI732562B (zh) * 2020-05-25 2021-07-01 創惟科技股份有限公司 一種讀取資料的方法和資料讀取裝置
TWI748493B (zh) * 2020-06-01 2021-12-01 瑞昱半導體股份有限公司 掃描測試裝置與掃描測試方法
JP2023137993A (ja) 2022-03-18 2023-09-29 キオクシア株式会社 メモリテスタ及びメモリテスタを用いたテスト方法
CN117093430B (zh) * 2023-10-11 2024-01-26 飞腾信息技术有限公司 一种测试方法、装置、计算设备及存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2723957B2 (ja) 1989-03-20 1998-03-09 富士通株式会社 半導体集積回路装置
JP2000321331A (ja) 1999-05-10 2000-11-24 Sumitomo Metal Ind Ltd スキャンテスト回路及びこれを用いた半導体集積回路
EP1164700B1 (en) * 2001-03-31 2002-12-04 Agilent Technologies, Inc. (a Delaware corporation) Data flow synchronization
US7574635B1 (en) * 2004-12-23 2009-08-11 Xilinx, Inc. Circuit for and method of testing a memory device
US7555690B1 (en) * 2004-12-23 2009-06-30 Xilinx, Inc. Device for and method of coupling test signals to a device under test
WO2006085276A1 (en) 2005-02-11 2006-08-17 Nxp B.V. Testing of an integrated circuit with a plurality of clock domains
US7366803B1 (en) * 2005-02-23 2008-04-29 Xilinx, Inc. Integrated circuit for buffering data by removing idle blocks to create a modified data stream when memory device is not near empty
WO2006123204A1 (en) * 2005-05-19 2006-11-23 Freescale Semiconductor, Inc. Method and device for high speed testing of an integrated circuit
CN101405609B (zh) * 2006-02-17 2012-11-14 明导公司 多级测试响应压缩器
US7478300B2 (en) 2006-04-28 2009-01-13 International Business Machines Corporation Method for testing functional boundary logic at asynchronous clock boundaries of an integrated circuit device
JP5579972B2 (ja) * 2008-08-01 2014-08-27 ピーエスフォー ルクスコ エスエイアールエル 半導体記憶装置及び半導体記憶装置のテスト方法
US8793095B2 (en) * 2011-03-09 2014-07-29 Intel Corporation Functional fabric-based test controller for functional and structural test and debug
CN102621483B (zh) * 2012-03-27 2014-04-16 中国人民解放军国防科学技术大学 多链路并行边界扫描测试装置及方法
US8924801B2 (en) 2013-02-14 2014-12-30 Lsi Corporation At-speed scan testing of interface functional logic of an embedded memory or other circuit core

Also Published As

Publication number Publication date
US20180059183A1 (en) 2018-03-01
JPWO2016166780A1 (ja) 2017-11-02
CN107430166A (zh) 2017-12-01
TW201704762A (zh) 2017-02-01
EP3287799B1 (en) 2022-11-02
EP3287799A4 (en) 2018-11-14
KR20170137733A (ko) 2017-12-13
EP3287799A1 (en) 2018-02-28
WO2016166780A1 (ja) 2016-10-20
US10295597B2 (en) 2019-05-21
JP6424271B2 (ja) 2018-11-14

Similar Documents

Publication Publication Date Title
CN107430166B (zh) 半导体器件及扫描测试方法
US7788558B2 (en) Semiconductor integrated circuit and control method thereof
US8415974B1 (en) Methods and circuits enabling dynamic reconfiguration
JP4751216B2 (ja) 半導体集積回路及びその設計装置
US8717078B2 (en) Sequential latching device with elements to increase hold times on the diagnostic data path
US8013637B2 (en) Clock signal selection circuit
KR101394873B1 (ko) 단일 트리거 저 에너지 플립 플롭 회로
KR20060089930A (ko) 하나의 테스트 핀을 사용하여 테스트 할 수 있는 시스템온 칩 및 테스트 방법
JP2009222644A (ja) 半導体集積回路、及び設計自動化システム
EP3129798B1 (en) Reset scheme for scan chains with asynchronous reset signals
US6691268B1 (en) Method and apparatus for swapping state data with scan cells
EP1776596B1 (en) Testing of a circuit that has an asynchronous timing circuit
CN116224045B (zh) 一种测试电路及降低扫描测试中捕获阶段功耗的方法
JP2009080634A (ja) リセットクロック制御回路
US6598191B1 (en) Verification of asynchronous boundary behavior
US10288685B2 (en) Multi-bank digital stimulus response in a single field programmable gate array
US6202185B1 (en) Methods and apparatus for facilitating scan testing of circuitry
JP2013036960A (ja) 遅延スキャンテスト方法、半導体装置及び半導体装置の設計方法
US20240143465A1 (en) Semiconductor device and startup control method for semiconductor device
JP2002139557A (ja) 半導体装置
WO2012172620A1 (ja) 半導体集積回路およびデバッグ方法
JP2004061114A (ja) 自己診断試験回路および方法
US20140288871A1 (en) Test apparatus and test system
US9234939B2 (en) Semiconductor device
JP2008128896A (ja) 半導体集積回路

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant