CN106688045A - 使用稳健时钟控制方法以防止无意的读或写的可扫描存储器 - Google Patents
使用稳健时钟控制方法以防止无意的读或写的可扫描存储器 Download PDFInfo
- Publication number
- CN106688045A CN106688045A CN201580049236.7A CN201580049236A CN106688045A CN 106688045 A CN106688045 A CN 106688045A CN 201580049236 A CN201580049236 A CN 201580049236A CN 106688045 A CN106688045 A CN 106688045A
- Authority
- CN
- China
- Prior art keywords
- input
- register file
- write
- scan
- address
- 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.)
- Granted
Links
- 230000015654 memory Effects 0.000 title claims abstract description 62
- 238000000034 method Methods 0.000 title claims description 23
- 238000012360 testing method Methods 0.000 claims abstract description 69
- 238000006073 displacement reaction Methods 0.000 claims description 17
- 230000000630 rising effect Effects 0.000 claims description 13
- 238000003860 storage Methods 0.000 claims description 4
- 230000001960 triggered effect Effects 0.000 claims description 4
- 238000010408 sweeping Methods 0.000 claims description 2
- 238000013500 data storage Methods 0.000 claims 6
- 238000000151 deposition Methods 0.000 claims 1
- 238000007688 edging Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000007704 transition Effects 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 6
- 230000009466 transformation Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
- G11C29/30—Accessing single arrays
- G11C29/32—Serial access; Scan testing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
- G11C29/30—Accessing single arrays
- G11C2029/3202—Scan chain
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
- G11C29/20—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits using counters or linear-feedback shift registers [LFSR]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/16—Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups
Landscapes
- Tests Of Electronic Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
一种示例可扫描寄存器文件包括多个存储器单元,并且扫描测试的移位阶段将来自扫描输入的数据位移位通过该多个存储器单元到达扫描输出。移位可以通过在每一时钟循环上读取该多个存储器单元中的一个存储器单元以提供扫描输出并使用扫描输入上的数据位写入该多个存储器单元中的一个存储器单元来执行。为了在每一时钟循环上执行顺序读和写,可扫描寄存器可以生成写时钟,该写时钟在移位阶段期间从用于功能操作的时钟反相。写时钟被生成而不带毛刺,使得非预期写入不会发生。可扫描寄存器文件可以与集成电路中的其他模块的基于扫描的测试(例如,使用自动测试模式生成)集成在一起。
Description
背景
领域
本发明涉及集成电路,且更具体地涉及可扫描以供测试的存储器。
背景技术
片上系统(SoC)集成电路(IC)具有日益增长的复杂度。SoC可包括大量(例如,数百)小型(例如,64字乘64位)存储器。本文宽泛地使用术语“存储器”和“寄存器文件”以包括各种形式的存储,诸如随机存取存储器和多端口存储器。SoC上的存储器在制造之后被测试以验证它们正确地运作。SoC电路的全面且高效的生产测试在复杂度和重要性方面有所增加。测试这些存储器的先前办法包括内建自测(BIST)和随机(ad hoc)方法。先前办法的限制包括例如由于工程设计开发时间、生产测试时间、或用于BIST电路的管芯面积而产生的费用。
概述
在一个方面,提供了一种可扫描寄存器文件,包括:寄存器文件模块,其被配置成:通过从基于寄存器文件读地址输入来选择的存储器位置读取数据来产生读数据输出,其中该读取是通过寄存器文件读时钟输入的上升沿来触发的,以及将来自寄存器文件写数据输入的数据写入到基于寄存器文件写地址输入来选择的存储器位置,其中该写入是通过寄存器文件写时钟输入的边沿来触发的;以及扫描逻辑模块,其被配置成接收扫描时钟输入、扫描启用输入、以及移位启用输入并将寄存器文件读地址输入、寄存器文件写地址输入、寄存器文件读时钟以及寄存器文件写时钟提供给寄存器文件模块。
在一个方面,提供了一种可扫描寄存器文件,其包括多个存储器单元,该可扫描寄存器文件被配置成在扫描测试的移位阶段期间将来自扫描输入的数据位移位通过该多个存储器单元到达扫描输出,其中在扫描时钟的每一循环上:可扫描寄存器文件读取多个存储器单元中的一个存储器单元以提供扫描输出并使用扫描输入上的数据位之一来写入多个存储器单元中的一个存储器单元。
在一个方面,提供了一种用于在寄存器文件的扫描测试中使用的方法。该方法包括:在扫描测试的移位阶段期间将来自扫描输入的数据位移位通过多个存储器单元以到达扫描输出;在未处于移位阶段时读取多个存储器单元的由外部读地址输入所标识的位置以产生读数据输出;以及在未处于移位阶段时从外部写数据输入写入到多个存储器单元的由外部写地址输入所标识的位置。
在一个方面,提供了一种装备,其包括:用于将数据存储在多个存储器单元中的装置,以及用于控制该用于将数据存储在多个存储器单元中的装置来执行扫描测试的装置。
本发明的其它特征和优点将从通过示例解说本发明的各方面的以下描述而变得明了。
附图简述
本发明的细节(就其结构和操作两者而言)可通过研究所附的附图来部分搜集,其中类似的附图标记指代类似的部分,并且其中:
图1是寄存器文件的功能框图;
图2是具有内建自测的寄存器文件的功能框图;
图3是根据本文所公开的实施例的可扫描寄存器文件的功能框图;
图4是根据本文所公开的实施例的扫描逻辑模块的功能框图;
图5是根据本文所公开的实施例的扫描控制模块的示意图;
图6是解说图3的可扫描寄存器文件、图4的扫描逻辑模块以及图5的扫描控制模块的操作的波形图;以及
图7是根据本文所公开的实施例的用于操作可扫描寄存器文件的过程的流程图。
详细描述
以下结合附图阐述的详细描述旨在作为对各种配置的描述,而无意表示可实践本文中所描述的概念的仅有的配置。本详细描述包括具体细节以便提供对各种概念的透彻理解。然而,对于本领域技术人员将显而易见的是,没有这些具体细节也可实践这些概念。在一些实例中,以简化形式示出公知的结构和组件从而避免湮没此类概念。
图1是寄存器文件110的功能框图。该寄存器文件可被例如实现在互补金属氧化物半导体(CMOS)片上系统(SoC)集成电路(IC)中。寄存器文件110包括读端口和写端口。
写端口包括写地址输入A_WR和写数据输入D_WR。写地址输入A_WR标识寄存器文件110中写数据输入D_WR上的数据将被写入的位置。寄存器文件110的一个实现可基于写启用和芯片选择输入来调理各个写入。
读端口包括读地址输入A_RD和读数据输出D_RD。读地址输入A_RD标识寄存器文件110中数据将从中读取并在读数据信号D_RD上提供的位置。寄存器文件110的一个实现可基于读启用输入和芯片选择输入来调理各个读取。
各个读取的定时基于读时钟输入CLKA。例如,寄存器文件110可以在读时钟输入CLKA的上升沿上发起读取。各个写入的定时基于写时钟输入CLKB。例如,寄存器文件110可以在写时钟输入CLKB的上升沿上发起写入。写时钟输入CLKB和读时钟输入CLKA可耦合到相同的时钟信号。
图2是具有内建自测(BIST)的寄存器文件的功能框图。该寄存器文件可被实现在例如CMOS SoC中。
该寄存器文件包括寄存器文件模块210,寄存器文件模块210包括用于寄存器文件的功能操作的存储器电路。寄存器文件模块210可例如使用图1的寄存器文件110来实现。
该寄存器文件包括在寄存器文件的生产测试期间将信号提供给寄存器文件模块210的BIST模块220。BIST模块220的测试功能由测试输入TEST(测试)启用。在测试期间,BIST模块220超驰读端口和写端口,并且可例如将内部生成的数据模式写入到寄存器文件模块210中的位置、从寄存器文件模块210读取数据、以及分析所读取的数据以确定寄存器文件是否正确地运作。在功能操作期间,BIST模块220将读端口和写端口耦合到寄存器文件模块210。
BIST模块220的复杂度与寄存器文件模块210的大小的对数大致成比例。因而,对于较小存储器而言,针对BIST的寄存器文件的百分比更大。在具有许多小存储器的SoC中,BIST功能可占据相当大的管芯面积。
图3是根据本文所公开的实施例的可扫描寄存器文件的功能框图。该可扫描寄存器文件可被实现在例如CMOS SoC中。
该可扫描寄存器文件包括寄存器文件模块310,寄存器文件模块310包括用于该可扫描寄存器文件的功能操作的存储器电路。寄存器文件模块310可例如使用图1的寄存器文件110来实现。
该可扫描寄存器文件包括可使得该可扫描寄存器文件在该可扫描寄存器文件的生产测试期间作为扫描触发器来操作的扫描逻辑模块330。扫描逻辑模块330的测试功能由扫描控制输入SCAN_CTL来选择。在测试期间,扫描逻辑模块330超驰读端口和写端口并将信号提供给寄存器文件模块310。
在扫描测试的移位阶段期间,数据被移位通过寄存器文件模块310的各单独存储器单元。扫描逻辑模块330可以通过例如提供顺序地址(以存储器位置的数目为模)来选择寄存器文件中的位置、从所选择的位置读取以产生扫描输出、以及从扫描输入写入到所选择的位置来使得数据移位通过寄存器文件模块310。可扫描寄存器文件的读和写端口可被称为外部端口,而寄存器文件模块310的读和写端口可被称为内部端口。
在扫描测试的捕捉阶段期间,如同功能操作期间一样,数据从寄存器文件模块310的存储器单元读取和写入寄存器文件模块310的存储器单元。扫描逻辑模块330可以在扫描测试的捕捉阶段期间将可扫描寄存器文件的读端口和写端口耦合到寄存器文件模块310的读端口和写端口。类似地,在功能操作期间,扫描逻辑模块330将可扫描寄存器文件的读端口和写端口耦合到寄存器文件模块310的读端口和写端口。
扫描逻辑模块330的复杂度可以远小于图2的寄存器文件的BIST模块220的复杂度。这可节省管芯面积和成本。另外,可扫描寄存器文件的测试可以与SoC中的其他模块的基于扫描的测试集成在一起。例如,自动测试模式生成(ATPG)可被应用于可扫描寄存器文件。这可降低开发对SoC的制造测试的成本。
图6是解说可扫描寄存器文件的一个扫描测试循环的波形图。可扫描寄存器文件的测试可包括使用不同数据值的数千个扫描测试循环。波形图示出了扫描测试的测试阶段610。可扫描寄存器文件(以及相关联SoC的其他模块)的功能操作发生在测试阶段610之前和之后。在扫描启用输入SCAN_N为低时,可扫描寄存器文件处于测试阶段610。
在测试阶段610的开始期间,发生移入阶段621。在扫描启用输入SCAN_N为低且移位启用输入SHIFT_N为低时,可扫描寄存器文件处于移入阶段621。在移入阶段621期间,可扫描寄存器文件在扫描时钟输入CLKA的每一脉冲上将数据移入。可扫描寄存器文件在扫描时钟输入CLKA的每一上升沿上执行读取并在扫描时钟输入CLKA的每一下降沿上执行写入。
捕捉阶段630跟随移入阶段621之后。在扫描启用输入SCAN_N为低且移位启用输入SHIFT_N为高时,可扫描寄存器文件处于捕捉阶段630。在捕捉阶段630期间,可扫描寄存器文件以其功能模式来操作,其中读和写基于外部读和写端口上的信号来发生。
移出阶段622跟随捕捉阶段630之后。在扫描启用输入SCAN_N为低且移位启用输入SHIFT_N为低时,可扫描寄存器文件处于移出阶段622。在移出阶段622期间,可扫描寄存器文件在扫描时钟输入CLKA的每一脉冲上将数据移出。可扫描寄存器文件在扫描时钟输入CLKA的每一上升沿上执行读取并在扫描时钟输入CLKA的每一下降沿上执行写入。
扫描测试循环的移出阶段可以与下一扫描测试循环的移入阶段同时进行。移出阶段和移入阶段执行相同的操作并且可被统称为移位阶段。移入阶段621和移出阶段622中的时钟循环的数目与相关联扫描链的长度相对应。各阶段之间的转变可以由几个时钟周期来分开。
图3的可扫描寄存器文件具有一个读端口和一个写端口。所公开的用于扫描测试的技术适用于具有其他数目的读端口和写端口的寄存器文件,包括具有组合读和写端口的那些寄存器文件。
图4是根据本文所公开的实施例的扫描逻辑模块的功能框图。图3的扫描逻辑模块330可以使用图4的扫描逻辑模块来实现。
该扫描逻辑模块包括地址计数器441、扫描控制模块460、写数据选择器451、写地址选择器452以及读地址选择器453。扫描控制模块460解说读时钟输入CLKA、写时钟输入CLKB以及扫描控制输入。可扫描寄存器文件使用读时钟输入CLKA作为用于扫描测试期间的移位的扫描时钟。在图4的实施例中,扫描控制输入包括活跃低扫描启用输入SCAN_N和活跃低移位启用输入SHIFT_N。扫描启用输入SCAN_N用信号通知扫描测试(相对于功能操作)。移位启用输入SHIFT_N用信号通知扫描测试的移位阶段。扫描控制模块460产生寄存器文件读时钟输入CLKA_RF、寄存器文件写时钟输入CLKB_RF以及用于地址计数器441、写数据选择器451、写地址选择器452和读地址选择器453的控制。扫描控制模块460可以在扫描测试的移位阶段期间将具有相反极性的寄存器文件读时钟输入CLKA_RF和寄存器文件写时钟输入CLKB_RF提供给寄存器文件模块。
地址计数器441产生具有地址值的计数输出以供在扫描测试的移位阶段期间使用。这些地址值顺序地通过寄存器文件模块的所有位置。地址计数器441由来自扫描控制模块460的计数器复位输入RST_CNTR来复位。地址计数器441可被复位成零值。复位发生在扫描测试的移位阶段之前。在扫描测试的移位阶段期间,地址计数器441在每一移位循环上递增计数输出。地址计数器441基于来自扫描控制模块460的计数器时钟输入CLK_CNTR来触发递增(计数)。地址计数器441以寄存器文件中的位置的数目为模地递增其计数输出。地址计数器441可以使用其他复位值和计数序列,例如通过递增不同于1的值。
写数据选择器451通过在扫描测试的移位阶段期间选择扫描输入S_IN以及在未处于扫描测试的移位阶段时选择写数据输入D_WR(也被称为外部写数据输入)来产生寄存器文件写数据输入D_WR_RF(也被称为内部写数据输入)。在多位宽可扫描寄存器文件的实施例中,写数据选择器451可以在扫描测试的移位阶段期间选择扫描输入来产生寄存器文件写数据输入的第一位,以及选择读数据输出D_RD的各个位来产生寄存器文件写数据输入的其他位,使得数据在扫描测试期间逐列移位。替换地,多位宽可扫描寄存器文件可针对每一列(位)具有扫描输入和扫描输出。写数据选择器451接收来自扫描控制模块460的用于用信号通知移位阶段的移位启用SHIFT(移位)。
写地址选择器452通过在扫描测试的移位阶段期间选择地址计数器441的计数输出以及在未处于扫描测试的移位阶段时选择写地址输入A_WR(也被称为外部写地址输入)来产生寄存器文件写地址输入A_WR_RF(也被称为内部写地址输入)。写地址选择器452接收来自扫描控制模块460的用于用信号通知移位阶段的移位启用SHIFT。
读地址选择器453通过在扫描测试的移位阶段期间选择地址计数器441的计数输出以及在未处于扫描测试的移位阶段时选择读地址输入A_RD(也被称为外部读地址输入)来产生寄存器文件读地址输入A_RD_RF(也被称为内部读地址输入)。读地址选择器453接收来自扫描控制模块460的用于用信号通知移位阶段的移位启用SHIFT。
读数据输出D_RD上的选择器未被用在图4的实施例中。扫描逻辑模块可以使用缓冲器以驱动来自读数据输出D_RD的扫描输出。
图5是根据本文所公开的实施例的扫描控制模块的示意图。图4的扫描控制模块460可以使用图5的扫描控制模块来实现。
扫描控制模块包括反相器504,反相器504将活跃低移位启用输入SHIFT_N反相以产生由写数据选择器451、写地址选择器452和读地址选择器453用来指示扫描测试的移位阶段的移位启用SHIFT。扫描控制模块包括反相器505,反相器505将移位启用SHIFT反相以产生由地址计数器441使用的计数器复位输入RST_CNTR。
扫描控制模块包括脉冲发生器550,脉冲发生器550在读时钟输入CLKA的下降沿上产生脉冲以供在产生针对地址计数器441的计数器时钟输入CLK_CNTR中使用。AND(与)门554通过在逻辑上组合来自脉冲发生器550的脉冲和AND门552的输出来产生计数器时钟输入CLK_CNTR。AND门552在逻辑上组合移位启用输入SHIFT_N和扫描启用输入SCAN_N(经由反相器503),使得输出指示可扫描寄存器文件何时处于移位阶段。
扫描控制模块通过使用缓冲器501缓冲读时钟输入CLKA(也被称为外部读时钟输入)来产生寄存器文件读时钟输入CLKA_RF(也被称为内部读时钟输入)。读时钟输入CLKA在扫描测试期间使用且还可被称为扫描时钟输入。
扫描控制模块通过选择写时钟输入CLKB的经缓冲版本(也被称为外部写时钟输入)以用于功能操作(包括扫描测试的捕捉阶段)或选择读时钟输入CLKA的经反相版本以用于移位操作来产生寄存器文件写时钟输入CLKB_RF(也被称为内部写时钟输入)。使用两种不同定时来产生寄存器文件写时钟输入CLKB_RF可导致向移位阶段的转变和从移位阶段的转变上的瞬变(毛刺)。这样的瞬变可导致无意的写入。扫描控制模块控制用于寄存器文件写时钟输入CLKB_RF的选择变化的定时以避免寄存器文件写时钟输入CLKB_RF上的瞬变。
扫描控制模块包括置位-复位锁存器530,置位-复位锁存器530产生针对产生寄存器文件写时钟输入CLKB_RF的选择器520的控制信号SEL。置位-复位锁存器530包括交叉耦合的NOR(或非)门531、532以及驱动输出(控制信号SEL)的缓冲器533。置位-复位锁存器530在未处于移位阶段时被复位(通过计数器复位输入RST_CNTR,其是移位启用输入SHIFT_N(其在可扫描寄存器文件未处于移位阶段时为高)的经缓冲版本)。
这一操作在图6中解说,其示出了控制信号SEL何时切换以及结果所得的寄存器文件写时钟输入CLKB_RF。寄存器文件读时钟输入CLKA_RF和计数器时钟输入CLK_CNTR的波形也被示出。
在置位-复位锁存器530被复位时,控制信号SEL为低且选择器520选择选择器510的输出。选择器510和选择器520是反相选择器且它们的输出是所选输入的逻辑反相。选择器510基于可扫描寄存器文件何时处于移位阶段(如OR(或)门515的输出所指示的)来选择其输出。在处于移位阶段时,选择器510选择恒定零值。在未处于移位阶段时,选择器510选择写时钟输入CLKB。在未处于移位阶段时,经由选择器510和选择器520从写时钟输入CLKB产生寄存器文件写时钟输入CLKB_RF。
在可扫描寄存器文件进入移位阶段时,选择器510从选择写时钟输入CLKB切换到选择零。因为这一转变发生在写时钟输入CLKB为低时,所以选择器510的输出没有发生变化。另外,置位-复位锁存器530保持复位,控制信号SEL保持为低,且选择器520继续选择选择器510的输出,使得写时钟输入CLKB保持为低。
在移位阶段中在读时钟输入CLKA的第一上升沿上,置位-复位锁存器530由反相器522的输出来置位,反相器522的输出在移位阶段期间经由NAND(与非)门521匹配读时钟输入CLKA。在置位-复位锁存器530被置位时,控制信号SEL转变为高。控制信号SEL上的高电平将选择器520从选择选择器510的输出切换到选择反相器522的输出。因为这一转变发生在选择器520的两个输入都为高时,所以寄存器文件写时钟输入CLKB_RF(选择器520的输出)没有发生变化。在读时钟输入CLKA下降时,寄存器文件写时钟输入CLKB_RF经由NAND门521、反相器522和选择器520上升。此后,在移位阶段期间,扫描控制模块产生寄存器文件写时钟输入CLK_B_RF作为读时钟输入CLKA的反相。因而,扫描控制模块转变到移位阶段而没有在寄存器文件写时钟输入CLKB_RF上产生瞬变。
在移位阶段结束时,移位启用输入SHIFT_N转变为高并使置位-复位锁存器530复位。这将控制信号SEL切换为低且将选择器520从选择反相器522的输出切换成选择选择器510的输出。因为这一转变发生在选择器520的两个输入都为高时,所以寄存器文件写时钟输入CLKB_RF(选择器520的输出)没有发生变化。此后,扫描控制模块基于写时钟输入CLKB经由选择器510和选择器520产生寄存器文件写时钟输入CLKB_RF。因而,扫描控制模块转变出移位阶段而没有在寄存器文件写时钟输入CLKB_RF上产生瞬变。
图5的示意图是一个示例实现。许多变型是可能的,包括具有不同信号极性以及逻辑门和缓冲器的不同组合的那些变型。
图7是根据本文所公开的实施例的用于操作可扫描寄存器文件的过程的流程图。该过程的步骤可以例如使用图3的可扫描寄存器文件、图4的扫描逻辑模块以及图5的扫描控制模块来执行且将参考这些模块来描述。
在框710,该过程确定可扫描寄存器文件是否处于扫描测试的移位阶段。例如,可扫描寄存器文件可以确定在扫描启用输入SCAN_N为低且移位启用输入SHIFT_N为低时它处于移位阶段。如果可扫描寄存器文件处于移位阶段,则该过程继续至框731;否则,该过程继续至框721。
在框721,可扫描寄存器文件基于外部读端口来执行读操作。在框723,可扫描寄存器文件基于外部写端口来执行写操作。框721的读操作和框723的写操作可以并发地执行。另外,读和写操作可以可扫描寄存器文件的启用和芯片选择输入为条件。
在框731,可扫描寄存器文件生成供在扫描测试中使用的地址。例如,图4的扫描逻辑模块的地址计数器441可以提供所生成的引用每一寄存器文件模块的地址。在框733,可扫描寄存器文件从所生成的地址所标识的位置读取以产生扫描输出。在框735,可扫描寄存器文件从扫描输入写入到所生成的地址所标识的位置。可扫描寄存器文件可以在扫描时钟输入上的上升沿上执行读取且在扫描时钟输入的下降沿上执行写入。框731、框733以及框735可以并发地执行。
图7的过程可以例如通过添加、省略、重排序或更改步骤来修改。
虽然本发明的实施例在以上是针对特定实施例来描述的,但是本发明的许多变型是可能的,包括例如具有不同信号极性的那些变型。此外,被描述为由一个模块(或框)执行的功能可移动到另一个模块或者跨模块分布。另外,各个实施例的特征可在与以上描述的不同的组合中进行组合。
本领域技术人员将领会,结合本文公开的实施例所描述各种解说性框和模块能以各种形式实现。一些框和模块已经在上文以其功能性的形式作了一般化描述。此类功能性如何被实现取决于加诸于整体系统上设计约束。技术人员对于每种特定应用可用不同的方式来实现所描述的功能性,但这样的实现决策不应被解读成导致脱离了本发明的范围。另外,在一个模块、框或步骤内的功能的编群是为了便于描述。具体功能或步骤可以从一个模块或框中移动,或者跨各模块或框分布而不背离本发明。
提供以上对所公开的实施例的描述是为了使本领域任何技术人员皆能制作或使用本发明。对这些实施例的各种修改对本领域技术人员来说将是显而易见的,且本文所描述的一般原理可被应用于其它实施例而不背离本发明的精神或范围。因此,应理解本文给出的描述和附图表示当前优选实施例并且代表本发明所广泛地构想的主题。将进一步理解,本发明的范围完全涵盖可对本领域技术人员显而易见的其它实施例,并且本发明的范围相应地除了所附权利要求之外不受任何限制。
Claims (30)
1.一种可扫描寄存器文件,包括:
寄存器文件模块,其被配置成:
通过从基于寄存器文件读地址输入来选择的存储器位置读取数据来产生读数据输出,其中所述读取是通过寄存器文件读时钟输入的上升沿来触发的,以及
将来自寄存器文件写数据输入的数据写入到基于寄存器文件写地址输入来选择的存储器位置,其中所述写入是通过寄存器文件写时钟输入的边沿来触发的;以及
扫描逻辑模块,其被配置成接收扫描时钟输入、扫描启用输入、以及移位启用输入,并将所述寄存器文件读地址输入、所述寄存器文件写地址输入、所述寄存器文件读时钟以及所述寄存器文件写时钟提供给所述寄存器文件模块。
2.如权利要求1所述的可扫描寄存器文件,其特征在于,所述扫描逻辑模块包括配置成产生计数输出的地址计数器,所述地址计数器在未处于扫描测试的移位阶段时被复位且在所述扫描时钟输入的边沿上进行计数。
3.如权利要求2所述的可扫描寄存器文件,其特征在于,所述扫描逻辑模块进一步包括读地址选择器,所述读地址选择器被配置成在所述移位阶段期间将所述计数输出提供给所述寄存器文件读地址输入并且在未处于所述移位阶段时将所述可扫描寄存器文件的读地址输入提供给所述寄存器文件读地址输入。
4.如权利要求3所述的可扫描寄存器文件,其特征在于,所述扫描逻辑模块进一步包括写地址选择器,所述写地址选择器被配置成在所述移位阶段期间将所述计数输出提供给所述寄存器文件写地址输入并且在未处于所述移位阶段时将所述可扫描寄存器文件的写地址输入提供给所述寄存器文件写地址输入。
5.如权利要求4所述的可扫描寄存器文件,其特征在于,所述扫描逻辑模块进一步包括写数据选择器,所述写数据选择器被配置成在所述移位阶段期间将所述可扫描寄存器文件的扫描输入提供给所述寄存器文件写数据输入并且在未处于所述移位阶段时将所述可扫描寄存器文件的写数据输入提供给所述寄存器文件写数据输入。
6.如权利要求2所述的可扫描寄存器文件,其特征在于,所述扫描逻辑模块被进一步配置成生成用于触发所述地址计数器的计数的计数器时钟输入。
7.如权利要求1所述的可扫描寄存器文件,其特征在于,所述扫描逻辑模块被进一步配置成在扫描测试的移位阶段期间将具有相反极性的所述寄存器文件读时钟和所述寄存器文件写时钟提供给所述寄存器文件模块。
8.如权利要求6所述的可扫描寄存器文件,其特征在于,所述扫描逻辑模块包括被配置成控制对所述寄存器文件写时钟的选择的置位-复位锁存器。
9.如权利要求8所述的可扫描寄存器文件,其特征在于,对所述寄存器文件写时钟的所述选择是基于所述可扫描寄存器文件的写时钟输入或基于所述扫描时钟输入的反相的。
10.如权利要求9所述的可扫描寄存器文件,其特征在于,所述置位-复位锁存器被进一步配置成在未处于所述移位阶段时被复位且在所述扫描时钟输入在所述移位阶段期间上升时被置位。
11.一种可扫描寄存器文件,包括多个存储器单元,所述可扫描寄存器文件被配置成在扫描测试的移位阶段期间将来自扫描输入的数据位移位通过所述多个存储器单元到达扫描输出,其中在扫描时钟的每一循环上:所述可扫描寄存器文件读取所述多个存储器单元中的一个存储器单元以提供所述扫描输出并使用所述扫描输入上的数据位之一来写入所述多个存储器单元中的一个存储器单元。
12.如权利要求11所述的可扫描寄存器文件,其特征在于,所述可扫描寄存器文件被进一步配置成在所述扫描时钟的上升沿上读取所述多个存储器单元中的所述一个存储器单元并且在所述扫描时钟的下降沿上写入所述多个存储器单元中的所述一个存储器单元。
13.一种用于在包括多个存储器单元的寄存器文件的扫描测试中使用的方法,所述方法包括:
在扫描测试的移位阶段期间将来自扫描输入的数据位移位通过所述多个存储器单元到达扫描输出;
在未处于所述移位阶段时读取所述多个存储器单元的由外部读地址输入所标识的位置以产生读数据输出;以及
在未处于所述移位阶段时从外部写数据输入写入到所述多个存储器单元的由外部写地址输入所标识的位置。
14.如权利要求13所述的方法,其特征在于,移位包括:
生成标识所述多个存储器单元中的位置的地址;
读取由所生成的地址标识的位置以产生所述扫描输出;以及
将所述扫描输入写入到由所生成的地址标识的位置。
15.如权利要求14所述的方法,其特征在于,生成地址包括在扫描时钟输入的边沿上递增地址计数器。
16.如权利要求15所述的方法,其特征在于,所述地址计数器在未处于所述移位阶段时被复位。
17.如权利要求14所述的方法,其特征在于,读取由所生成的地址标识的位置以产生所述扫描输出发生在扫描时钟输入的上升沿上。
18.如权利要求17所述的方法,其特征在于,将所述扫描输入写入到由所生成的地址标识的位置发生在所述扫描时钟输入的下降沿上。
19.如权利要求18所述的方法,其特征在于,将所述扫描输入写入到由所生成的地址标识的位置包括:选择所述扫描时钟输入的反相以产生寄存器文件写时钟输入来用于将所述扫描输入写入到由所生成的地址标识的位置。
20.如权利要求19所述的方法,其特征在于,在未处于所述移位阶段时从所述写数据输入写入到所述多个存储器单元的由所述写地址输入标识的位置包括:选择外部写时钟输入以产生所述寄存器文件写时钟输入来用于从所述写数据输入写入到所述多个存储器单元的由所述写地址输入标识的位置。
21.一种装备,包括:
用于将数据存储在多个存储器单元中的装置,以及
用于控制所述用于将数据存储在所述多个存储器单元中的装置来执行扫描测试的装置。
22.如权利要求21所述的装备,其特征在于,所述用于控制的装置使得在所述扫描测试的移位阶段期间将来自扫描输入的数据位移位通过所述多个存储器单元到达扫描输出,其中在扫描时钟的每一循环上:读取所述多个存储器单元中的一个存储器单元以提供所述扫描输出;以及从所述扫描输入写入所述多个存储器单元中的一个存储器单元。
23.如权利要求22所述的装备,其特征在于,所述用于控制的装置使得在所述扫描测试的移位阶段期间,所述用于存储数据的装置在所述扫描时钟的上升沿上读取所述多个存储器单元中的一个存储器单元以及在所述扫描时钟的下降沿上写入所述多个存储器单元中的所述一个存储器单元。
24.如权利要求21所述的装备,其特征在于,所述用于控制的装置包括用于在所述扫描测试的所述移位阶段期间将所生成的地址提供给所述用于存储数据的装置的装置。
25.如权利要求24所述的装备,其特征在于,所述用于控制的装置进一步包括:
用于为所述用于存储数据的装置选择读地址的装置,其在所述移位阶段期间选择所生成的地址并且在未处于所述移位阶段时选择所述装备的读地址输入;以及
用于为所述用于存储数据的装置选择写地址的装置,其在所述移位阶段期间选择所生成的地址并且在未处于所述移位阶段时选择所述装备的写地址输入。
26.如权利要求25所述的装备,其特征在于,所述用于控制的装置进一步包括用于为所述用于存储数据的装置选择写数据的装置,其在所述移位阶段期间选择所述装备的扫描输入并且在未处于所述移位阶段时选择所述装备的写数据输入。
27.如权利要求22所述的装备,其特征在于,所述用于存储数据的装置由内部读时钟的上升沿触发从所述多个存储器单元读取数据并且由内部写时钟的边沿触发将数据写入所述多个存储器单元,以及
其中所述用于控制的装置被进一步配置成在所述移位阶段期间提供具有相反极性的所述内部读时钟和所述内部写时钟。
28.如权利要求27所述的装备,其特征在于,所述用于控制的装置包括被配置成控制对所述内部写时钟的选择的置位-复位锁存器。
29.如权利要求28所述的装备,其特征在于,对所述内部写时钟的选择是基于所述装备的写时钟输入或基于所述扫描时钟输入的反相的。
30.如权利要求29所述的装备,其特征在于,所述置位-复位锁存器被进一步配置成在未处于所述移位阶段时被复位且在所述扫描时钟在所述移位阶段期间上升时被置位。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/488,171 | 2014-09-16 | ||
US14/488,171 US9666301B2 (en) | 2014-09-16 | 2014-09-16 | Scannable memories with robust clocking methodology to prevent inadvertent reads or writes |
PCT/US2015/041194 WO2016043841A1 (en) | 2014-09-16 | 2015-07-20 | Scannable memories with robust clocking methodology to prevent inadvertent reads or writes |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106688045A true CN106688045A (zh) | 2017-05-17 |
CN106688045B CN106688045B (zh) | 2018-08-14 |
Family
ID=53783979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580049236.7A Active CN106688045B (zh) | 2014-09-16 | 2015-07-20 | 使用稳健时钟控制方法以防止无意的读或写的可扫描存储器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9666301B2 (zh) |
EP (1) | EP3195321A1 (zh) |
CN (1) | CN106688045B (zh) |
WO (1) | WO2016043841A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112684327A (zh) * | 2020-11-30 | 2021-04-20 | 海光信息技术股份有限公司 | 扫描链及其设计方法和基于扫描链的串行扫描复位方法 |
WO2024041291A1 (en) * | 2022-08-24 | 2024-02-29 | Shanghai Univista Industrial Software Group Co., Ltd. | Method and system for emulating ic design with fpga, and storage medium |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9514842B2 (en) * | 2014-09-24 | 2016-12-06 | Apple Inc. | Memory testing system |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5675545A (en) * | 1995-09-08 | 1997-10-07 | Ambit Design Systems, Inc. | Method of forming a database that defines an integrated circuit memory with built in test circuitry |
US20050268185A1 (en) * | 2004-05-26 | 2005-12-01 | David Vinke | Method and apparatus for high speed testing of latch based random access memory |
US20060123295A1 (en) * | 2003-09-08 | 2006-06-08 | Fujitsu Limited | Register file and its storage device |
US20100332929A1 (en) * | 2009-06-30 | 2010-12-30 | Texas Instruments Incorporated | Scan testable register file |
CN103180909A (zh) * | 2010-09-21 | 2013-06-26 | 高通股份有限公司 | 具有全扫描能力的寄存器 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5961653A (en) * | 1997-02-19 | 1999-10-05 | International Business Machines Corporation | Processor based BIST for an embedded memory |
TW200801550A (en) | 2006-01-06 | 2008-01-01 | Koninkl Philips Electronics Nv | IC testing methods and apparatus |
US8261138B2 (en) * | 2006-10-24 | 2012-09-04 | International Business Machines Corporation | Test structure for characterizing multi-port static random access memory and register file arrays |
US8522090B1 (en) | 2007-01-10 | 2013-08-27 | Marvell International Ltd. | Automated scan testing of a system-on-chip (SoC) |
US8028209B2 (en) | 2009-06-26 | 2011-09-27 | Intel Corporation | Scalable scan system for system-on-chip design |
US8065572B2 (en) | 2009-06-30 | 2011-11-22 | Oracle America, Inc. | At-speed scan testing of memory arrays |
US9632754B2 (en) * | 2012-07-06 | 2017-04-25 | International Business Machines Corporation | Auto generation and linkage of source code to test cases |
US9799379B2 (en) * | 2012-07-20 | 2017-10-24 | Nxp Usa, Inc. | Hold time aware register file module and method therefor |
US8650524B1 (en) | 2012-11-09 | 2014-02-11 | Cadence Design Systems, Inc. | Method and apparatus for low-pin count testing of integrated circuits |
-
2014
- 2014-09-16 US US14/488,171 patent/US9666301B2/en active Active
-
2015
- 2015-07-20 EP EP15747676.3A patent/EP3195321A1/en not_active Withdrawn
- 2015-07-20 CN CN201580049236.7A patent/CN106688045B/zh active Active
- 2015-07-20 WO PCT/US2015/041194 patent/WO2016043841A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5675545A (en) * | 1995-09-08 | 1997-10-07 | Ambit Design Systems, Inc. | Method of forming a database that defines an integrated circuit memory with built in test circuitry |
US20060123295A1 (en) * | 2003-09-08 | 2006-06-08 | Fujitsu Limited | Register file and its storage device |
US20050268185A1 (en) * | 2004-05-26 | 2005-12-01 | David Vinke | Method and apparatus for high speed testing of latch based random access memory |
US20100332929A1 (en) * | 2009-06-30 | 2010-12-30 | Texas Instruments Incorporated | Scan testable register file |
CN103180909A (zh) * | 2010-09-21 | 2013-06-26 | 高通股份有限公司 | 具有全扫描能力的寄存器 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112684327A (zh) * | 2020-11-30 | 2021-04-20 | 海光信息技术股份有限公司 | 扫描链及其设计方法和基于扫描链的串行扫描复位方法 |
CN112684327B (zh) * | 2020-11-30 | 2023-09-05 | 海光信息技术股份有限公司 | 扫描链及其设计方法和基于扫描链的串行扫描复位方法 |
WO2024041291A1 (en) * | 2022-08-24 | 2024-02-29 | Shanghai Univista Industrial Software Group Co., Ltd. | Method and system for emulating ic design with fpga, and storage medium |
Also Published As
Publication number | Publication date |
---|---|
US20160078965A1 (en) | 2016-03-17 |
EP3195321A1 (en) | 2017-07-26 |
WO2016043841A1 (en) | 2016-03-24 |
US9666301B2 (en) | 2017-05-30 |
CN106688045B (zh) | 2018-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12092687B2 (en) | Selectable JTAG or trace access with data store and output | |
CN105445653B (zh) | 具有低功耗扫描触发器的集成电路 | |
CN100504802C (zh) | 微型计算机及其测试方法 | |
US8281278B2 (en) | System and method for supporting design of semiconductor integrated circuit including processing scan chains | |
US20130141987A1 (en) | Latch Based Memory Device | |
CN107783030A (zh) | 具有低功率扫描系统的集成电路 | |
US8127191B2 (en) | Control method for semiconductor integrated circuit and semiconductor integrated circuit | |
US8848429B2 (en) | Latch-based array with robust design-for-test (DFT) features | |
US20220065930A1 (en) | Test access port with address and command capability | |
US9324453B2 (en) | Memory unit and method of testing the same | |
US8924801B2 (en) | At-speed scan testing of interface functional logic of an embedded memory or other circuit core | |
CN106688045B (zh) | 使用稳健时钟控制方法以防止无意的读或写的可扫描存储器 | |
CN103913696A (zh) | 用于核心的全局低功率捕获方案 | |
CN106019119A (zh) | 半导体集成电路的试验电路及使用其的试验方法 | |
CN106771958A (zh) | 具有低功率扫描系统的集成电路 | |
CN106291313A (zh) | 用于测试集成电路的方法和设备 | |
US12217811B2 (en) | Programmable logic device with design for test functionality | |
US11935618B2 (en) | Area-efficient configuration latch for programmable logic device | |
US7155647B2 (en) | Scan of chip state from a hierarchical design | |
CN110085276A (zh) | 一种多存储体集成电路自测试的调试诊断方法 | |
US6567970B1 (en) | PLD configuration architecture | |
US20080144400A1 (en) | Scanning Latches Using Selecting Array | |
CN116705131A (zh) | 一种存储器的读写测试方法和测试系统 | |
Lahiri | Tree-based hybrid scan architecture for VLSI testing | |
Voyiatzis et al. | Low overhead output response compaction in RAS architectures |
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 |