KR20130069819A - 완전한 스캔 능력을 갖는 레지스터들 - Google Patents

완전한 스캔 능력을 갖는 레지스터들 Download PDF

Info

Publication number
KR20130069819A
KR20130069819A KR1020137010189A KR20137010189A KR20130069819A KR 20130069819 A KR20130069819 A KR 20130069819A KR 1020137010189 A KR1020137010189 A KR 1020137010189A KR 20137010189 A KR20137010189 A KR 20137010189A KR 20130069819 A KR20130069819 A KR 20130069819A
Authority
KR
South Korea
Prior art keywords
latch
scan
storage cell
input
clock
Prior art date
Application number
KR1020137010189A
Other languages
English (en)
Inventor
하리 엠. 라오
세승 윤
난 첸
Original Assignee
퀄컴 인코포레이티드
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 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20130069819A publication Critical patent/KR20130069819A/ko

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/318541Scan latches or cell details
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/30Accessing single arrays
    • G11C29/32Serial access; Scan testing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

제 1 래치 및 제 2 래치의 스캔 테스트는, 제 1 래치를 스캔 값에 대응하는 상태로 스위칭하기 위해, 주어진 스캔 값을 제 1 래치의 입력에 연결시키고, 제 1 래치를 그 상태에서 래치하기 위해 스캔 값을 제 1 래치로부터 분리시키고, 제 2 래치를 그 상태로 스위칭하기 위해 그 상태에서 래치된 동안의 제 1 래치의 출력을 제 2 래치의 입력에 연결시키고, 제 2 래치를 그 상태에서 래치하기 위해 제 1 래치의 출력을 제 2 래치의 입력으로부터 분리시킨다.

Description

완전한 스캔 능력을 갖는 레지스터들{REGISTERS WITH FULL SCAN CAPABILITY}
본 개시는 일반적으로 집적 회로 칩들의 빌트인(built-in) 테스트에 관한 것이고, 더 구체적으로는 빌트인 직렬 스캔 테스트를 위한 구조들에 관한 것이다.
다양한 기능적 부류들의 집적 회로들이 동작 모드 및 테스트 모드를 갖도록 설계되고 구현될 수 있으며, 테스트 모드에서는, 통상적으로 특정한 테스트 비트 패턴인 테스트 데이터가 회로 내의 테스트 입력 포인트들에 입력된다. 대응하는 테스트 출력 포인트를 통해 회로 설계자가 관측할 수 있게 하는 결과를 생성하도록 회로는, 회로의 내부 셀들이 테스트 데이터에 대해 동작하게 하도록 클러킹된다(clocked). 그 다음, 결과는 정확한 결과와 비교된다. 비교에서 결과가 정확한 것으로 나타나면, 테스트 입력 포인트와 테스트 출력 포인트 사이의 회로 부분은 어떠한 오류들도 갖지 않는다.
특히, 레지스터 파일들 및 다른 정적 랜덤 액세스 메모리(SRAM) 디바이스들과 같은 많은 수의 단일 비트 래치형(latch-type) 저장 셀들을 갖는 집적 회로 칩들을 테스트하는데 관심을 끄는 하나의 주지된 테스트 방법은 스캔 테스팅으로 지칭된다. 스캔 테스팅은, 개별적 저장 셀들의 제어 및 관찰을 제공하고, 저장 셀들은, 제어 신호들에 응답하여 자신들의 내부 구성을 스위칭하고 서로 접속되어 지정된 입력 스캔 테스트 셀로부터 지정된 출력 스캔 테스트 셀로 확장하는 단일 비트 플립-플롭 타입의 래치들의 체인("스캔 체인"으로 지칭됨)을 형성한다. 이 능력을 갖는 저장 셀들은 "스캔가능한" 것으로 지칭된다.
이상적으로, 임의의 주어진 스캔 체인 스캔을 형성하는 스캔가능한 저장 셀들 모두가 이들의 정규 동작에서 정확하게 동작하면, 스캔 체인으로 재구성되고 접속된 후, 입력 스캔 테스트 셀로 피딩(feed)된 스캔 테스트 데이터는 스캔 체인의 각각의 저장 셀을 통해 버킷 브리게이트(bucket brigade) 방식으로 시프트될 것이고, 따라서 훼손없이 스캔 테스트 출력 셀을 빠져나올 것이다. 이것은, 각각의 저장 셀과 연관된 (각각의 저장 셀을 스캔가능하게 하기 위해 필수적인) 추가적인 회로가 정확하게 동작하는 것을 가정한다. 동일한 가정에 기초하여, 출력 스캔 테스트 셀이, 입력 스캔 테스트 셀에 피딩되었던 것과 동일한 스캔 테스트 시퀀스를 출력하지 못하면, 그 스캔 체인의 입력으로부터 출력까지 확장된 스캔 체인의 저장 셀들 중 임의의 저장 셀에 대해 실패가 표시된다.
레지스터 파일들의 저장 셀들을 포함하는 저장 셀들을 스캔가능하게 설계하는 공지된 방법은 필수적으로, 각각의 저장 셀과 함께 추가적인 회로를 포함하여, 저장 셀들의 회로 각각의 토폴로지를 정규 레벨-트리거링 동작, 즉 래치 모드로부터 엣지-트리거링 동작, 즉 플립-플롭 모드로 스위칭하고, 결과적 플립-플롭 모드 셀들을 서로 접속시켜 1 비트 플립-플롭들의 체인을 형성하는 제어 신호들에 의해 스캔 테스팅이 수행된다. 그 다음, 저장 셀들이 형성하는 레지스터 또는 다른 회로는, 예를 들어, 단일 비트 테스트 시퀀스를 체인의 제 1 저장 셀/플립-플롭(이는, 자신이 정규 모드로 동작할 때 레지스터의 최하위 비트 또는 최상위 비트 중 어느 하나에 대한 저장 셀일 수 있음)의 데이터 입력에 피딩하고, 그 다음, N 비트 레지스터를 가정하면, 스캔 체인의 N개의 저장 셀/플립 플롭들 모두를 N회 또는 그보다 여러회 클러킹하고, 스캔 테스트 시퀀스를 버킷 브리게이트 방식으로 각각을 통해 시프트시키고, 그 다음 저장 셀/플립/플롭들의 마지막 저장 셀(이는, 정규 동작에서 레지스터의 최하위 비트 또는 최상위 비트 중 다른 하나에 대한 저장 셀일 수 있음)의 출력을 관찰함으로써 스캔 테스트될 수 있다.
반도체 메모리 산업에서 오래 공지되어 온 스캔 테스트의 주요 이점은, 이 스캔 테스트가 적어도 이상적으로는, 회로가 테스트 모드로 스위칭된 경우 각각의 저장 셀 스위치들의 스캔 체인들 중 하나로의 스위칭들의 관찰 및 제어를 위한 수단을 제공한다는 점이다.
그러나, 한편으로는 스캔가능한 저장 셀들을 만드는 공지된 방법의 비용들이 산업계에 주지되어 있다. 이들 비용들 중 상당한 비용은 추가된 트랜지스터 카운트 및 대응하는 추가적인 상호접속들이다. 추가적인 회로에 의해 소모되는 칩 면적의 비용이 이 비용과 관련된다.
공지된 방법이, 저장 셀 래치로부터의 접속(업계에 공지된 바와 같이, 그 래치를 특히 활성화된 슬래이브 래치를 피딩하여 마스터-슬래이브 플립-플롭을 달성하는 마스터 래치로 변환함)과 함께 스캔 테스트 모드로 스위칭될 때 활성화되는 슬래이브 래치 회로를 추가함으로써 저장 셀들을 스캔가능하게 하는 것이 이러한 비용들에 대한 원인이다.
종래 기술 도 1은, 셀이 마스터-슬래이브 플립-플롭 모드로 동작하게 하기 위한, 앞서 설명된 회로의 일례를 갖는 스캔가능한 저장 셀(100)의 일례를 도시하여, 스캔가능한 저장 셀들을 만들기 위한 공지된 수단을 예시한다. 이제 종래 기술 도 1을 참조하면, 이 예(100)는 레벨 감응 데이터 래치(102) 및 섀도우(shadow) 슬레이브 래치(104)를 포함한다. 슬래이브 래치(104)는 통상적으로 "섀도우" 래치로 지칭되는데, 이는, 슬래이브 래치가 셀에 대한 판독 및 기록의 정규 모드 동작들에서 어떠한 기능들도 수행하지 않기 때문이다. 종래 기술 도 1의 예(100)에 대한 구성 및 동작의 세부사항들은 당업자들에게 주지되어 있고, 따라서 철저한 논의는 생략된다. 간략한 개관으로, 정규의 동작 모드에서, 워드 라인은 레벨 감응 데이터 래치(102)에 대한 판독/기록 동작들을 트리거링하기 위한 클럭으로서 동작한다. 스캔 모드에서, 제 1 클럭 사이클 동안, 스캔-입력(scan-in) 데이터가 현재의 마스터 레벨 감응 래치(102)로 기록된다. 마스터로부터 슬래이브 래치(104)로의 스캔-입력 데이터를 캡쳐하기 위해 별개의 스캔 클럭이 이용된다. 다음 클럭 사이클의 상승 엣지에서, 스캔-입력 데이터는, 또한 스캔가능한 플립-플롭으로 유사하게 변환되는 이웃 래치(도 1에는 미도시)로 피딩되는 스캔-출력 데이터로서 출력된다.
도 1로부터 이해될 수 있는 바와 같이, 그리고 관련 분야에 공지된 바와 같이, 슬래이브 래치(104)는 레벨 감응 데이터 래치(102)와 실질적으로 동일한 컴포넌트 회로를 갖는다. 따라서, 슬래이브 래치(104)에 대해 요구되는 면적은 레벨 감응 데이터 래치(102)에 대해 요구되는 면적과 거의 동일하다. 예를 들어, 레지스터 파일의 저장 셀들과 같은 저장 셀들을 스캔가능하게 하기 위한 종래 방법의 이러한 복잡성의 결과가 레지스터 파일의 면적을 거의 2배가 되게 한다. 큰 레지스터 파일들 및 저장 셀들의 다른 큰 어레이들의 경우, 이것은 상당한 비용이 된다. 아울러, 슬래이브 래치(104)는 통상적으로 레벨 감응 데이터 래치(102)(또는 스캔 모드의 마스터 래치)와 동일한 기술로 그리고 동일한 프로세싱 단계들에서 제조되기 때문에, 슬래이브 래치(104)는 그 자체로 오류들의 원인이 될 수 있다.
예시적인 실시예들은 다양한 실시예들에 따라, 스캔가능한 저장 셀들 및 레지스터들, 및 저장 셀들 및 레지스터들의 스캔 테스트를 위한 시스템들 및 방법들을 포함한다.
다양한 실시예들 중 하나 또는 그 초과에 따라 스캔가능한 레지스터들의 일례는 복수의 저장 셀들을 포함하고, 각각의 저장 셀은, 스캔 입력 및 스캔 출력, 스캔 입력에 연결된 래치 ―래치는 래치 출력을 가짐― 및 래치 출력에 연결된 스위치 게이트를 갖고, 스위치 게이트는, 스캔 클럭을 수신하기 위한 스위치 제어 입력을 갖고, 스캔 클럭에 응답하여, 스위칭가능하게 래치 출력을 스캔 출력에 연결시키고 래치 출력을 스캔 출력으로부터 분리시키고, 저장 셀들 각각의 스캔 출력은 저장 셀들 중 대응하는 다음 저장 셀의 스캔 입력에 연결된다.
일 양상에 따르면, 다양한 예시적인 실시예들 중 하나 또는 그 초과에 따른 예시적인 스캔가능한 레지스터는 스위치 게이트들을 포함하고, 스위치 게이트들은, 제 1 스캔가능한 저장 셀의 래치 입력으로부터 주어진 값을 분리시키는 것과 실질적으로 동시에, 스캔 클럭이 저장 셀들 중 제 1 저장 셀의 스위치 게이트를 스위칭하여 그의 래치 출력을 저장 셀들 중 그의 대응하는 다음 저장 셀의 입력에 연결시키는 것에 응답하여, 제 1 저장 셀의 래치가 상기 주어진 값으로 래치하고, 저장 셀들 래치 중 대응하는 다음 저장 셀의 래치가 스위치들을 상기 주어진 값으로 래치 스위칭하도록 구성된다.
다양한 실시예들 중 하나 또는 그 초과에 따른 스캔가능한 저장 장치의 일례는 제 1 저장 셀 및 제 2 저장 셀을 포함하고, 이들 각각은 스캔 입력 및 스캔 출력을 갖고 각각 스캔 입력에 연결된 래치를 포함하고, 래치는 스위치 제어 입력을 갖는 래치 출력 스위치 게이트에 커플링되어 스캔 클럭을 수신하고, 스캔 클럭에 응답하여, 래치를 스캔 출력에 스위칭가능하게 연결시키고, 제 1 저장 셀의 스캔 출력은 제 2 저장 셀의 스캔 입력에 연결된다.
일 양상에 따르면, 다양한 예시적인 실시예들 중 하나 또는 그 초과에 따른 예시적인 스캔가능한 저장 장치는, 순환적 스캔 클럭에 응답하여 연결 상태와 분리 상태 사이에서 순환적으로 스위칭하도록 구성 및 배열되는 제 1 저장 셀의 래치 출력 스위치 게이트 및 제 2 저장 셀의 래치 출력 스위치 게이트를 포함하고, 순환적 스위칭은, 제 2 저장 셀의 래치 출력 스위치 게이트가 분리 상태로 스위칭하는 것과 실질적으로 동시에 제 1 저장 셀의 래치 출력 스위치 게이트가 연결 상태로 스위칭하고, 그 후, 제 1 저장 셀의 래치 출력 스위치 게이트가 분리 상태로 스위칭하는 것과 실질적으로 동시에 제 2 저장 셀의 래치 출력 스위치 게이트가 연결 상태로 스위칭하는 것을 포함한다.
일 양상에 따르면, 다양한 예시적인 실시예들 중 하나 또는 그 초과에 따른 예시적인 스캔가능한 저장 장치는 외부 판독 라인에 선택적으로 연결되어, 제 1 및 제 2 저장 셀들 중 적어도 하나의 래치 상태를 선택적으로 판독하는 래치를 포함한다.
다양한 예시적인 실시예들 중 하나 또는 그 초과에 따른 방법들의 일례는, 대략 N/2개의 홀수번째 저장 셀들 및 대략 N/2개의 짝수번째 저장 셀들을 제공하는 단계를 포함하고, 저장 셀들 각각은 입력 및 출력을 갖는 래치를 갖고 스위치 게이트를 가지며, 각각의 홀수번째 저장 셀의 스위치 게이트는 그 셀의 래치 출력을 대응하는 다음 짝수번째 저장 셀의 래치의 입력에 선택적으로 연결시키고, 각각의 짝수번째 저장 셀의 스위치 게이트는 그 셀의 래치 출력을 대응하는 다음 홀수번째 저장 셀의 래치의 입력에 선택적으로 연결시키며, a) 홀수번째 저장 셀들 각각의 래치 출력을 그의 대응하는 다음 짝수번째 저장 셀의 입력으로부터 분리시키는 것과 실질적으로 동시에 짝수번째 저장 셀들 각각의 래치 출력을 그의 대응하는 다음 홀수번째 저장 셀의 래치 입력에 연결시키도록 저장 셀들의 스위치 게이트들을 제어하는 단계, 그 후 b) 짝수번째 저장 셀 각각의 래치 출력을 그의 대응하는 다음 홀수번째 저장 셀의 입력으로부터 분리시키는 것과 실질적으로 동시에 홀수번째 저장 셀들 각각의 래치 출력을 그의 대응하는 다음 짝수번째 저장 셀의 래치 입력에 연결시키도록 스위치 게이트들을 제어하는 단계를 더 포함한다.
다양한 예시적인 실시예들 중 하나 또는 그 초과의 일 양상에 따른 방법들의 일례는, a) 및 b)를 대략 M 회 반복함으로써, 래치 상태를 저장 셀들 중 제 1 저장 셀로부터 대략 M개 쌍들의 저장 셀들에 걸쳐 순차적으로 시프트시키는 단계를 더 포함하고, 각각의 쌍은 홀수번째 저장 셀과 그의 대응하는 다음 짝수번째 저장 셀, 또는 짝수번째 저장 셀과 그의 대응하는 다음 홀수번째 저장 셀 중 어느 하나의 쌍이다.
다양한 예시적인 실시예들 중 하나 또는 그 초과에 따른 방법들의 일례는, 대략 N/2개의 홀수번째 저장 셀들 및 대략 N/2개의 짝수번째 저장 셀들을 제공하는 단계를 포함하고, 저장 셀들 각각은 입력 및 출력을 갖는 래치를 갖고 스위치 게이트를 가지며, 각각의 홀수번째 저장 셀의 스위치 게이트는 그 셀의 래치 출력을 대응하는 다음 짝수번째 저장 셀의 래치의 입력에 선택적으로 연결시키고, 각각의 짝수번째 저장 셀의 스위치 게이트는 그 셀의 래치 출력을 대응하는 다음 홀수번째 저장 셀의 래치의 입력에 선택적으로 연결시키며, a) 상승 엣지들 및 하강 엣지들을 갖는 스캔 클럭을 생성하는 단계, b) 스캔 클럭 사이클의 상승 및 하강 엣지 중 하나에 응답하여, 다음 홀수번째 저장 셀들 각각의 래치 출력을 그의 대응하는 짝수번째 저장 셀의 래치 출력의 상태로 래치하는 것과 실질적으로 동시에, 대응하는 다음 짝수번째 저장 셀들 각각의 래치 출력을 그의 대응하는 짝수번째 저장 셀의 래치 출력의 상태로 스위칭하는 단계, 그 후, c) 스캔 클럭 사이클의 순차적인 상승 또는 하강 엣지에 응답하여, 다음 짝수번째 저장 셀들 각각의 래치 출력을 그의 대응하는 홀수번째 저장 셀의 래치 출력의 상태로 래치하는 것과 실질적으로 동시에, 대응하는 다음 홀수번째 저장 셀들 각각의 래치 출력을 그의 대응하는 짝수번째 저장 셀의 래치 출력의 상태로 스위칭하는 단계를 더 포함한다.
다양한 예시적인 실시예들 중 하나 또는 그 초과의 일 양상에 따른 방법들의 일례는, M개의 스캔 클럭 사이클들을 생성하고, 각각의 사이클에 응답하여 b) 및 c)를 반복함으로써, 래치 상태를 저장 셀들 중 제 1 저장 셀로부터 대략 M개 쌍들의 저장 셀들에 걸쳐 순차적으로 시프트시키는 단계를 더 포함하고, 각각의 쌍은 홀수번째 저장 셀과 그의 대응하는 다음 짝수번째 저장 셀, 또는 짝수번째 저장 셀과 그의 대응하는 다음 홀수번째 저장 셀 중 어느 하나의 쌍이다.
다양한 예시적인 실시예들 중 하나 또는 그 초과의 일 양상에 따른 방법들의 일례는 순차적 시프트 후 저장 셀들의 R의 판독을 포함한다.
다양한 실시예들 중 하나 또는 그 초과에 따른 하나의 예시적인 스캔가능한 저장 장치는, 래치 입력 및 래치 출력을 갖는 제 1 래치를 갖는 제 1 저장 셀 및 래치 입력 및 래치 출력을 갖는 제 2 래치를 갖는 제 2 저장 셀, 제 1 래치를 주어진 스캔 데이터로 스위칭하기 위해 상기 주어진 스캔 데이터를 제 1 래치의 래치 입력에 연결시키기 위한 수단, 제 1 판독가능한 래치를 주어진 스캔 데이터로 래치하기 위해, 주어진 스캔 데이터를 제 1 래치의 입력으로부터 분리시키기 위한 수단, 제 2 래치를 주어진 스캔 데이터로 스위칭하기 위해, 주어진 스캔 데이터로 래치된 동안의 제 1 래치의 출력을 제 2 래치의 입력에 연결시키기 위한 수단, 및 제 2 래치를 주어진 스캔 데이터로 래치하기 위해, 제 2 래치가 주어진 스캔 데이터로 래치된 동안 제 1 래치의 출력을 제 2 래치의 입력으로부터 분리시키기 위한 수단을 포함한다.
다양한 실시예들 중 하나 또는 그 초과에 따른 하나의 예시적인 스캔가능한 N 비트 레지스터는, N개의 1 비트 저장 셀들 ―저장 셀들 각각은 래치 입력 및 래치 출력을 갖는 1 비트 래치를 갖고, 대략 N/2개의 짝수번째 저장 셀들 및 대략 N/2개의 홀수번째 저장 셀들로서 배열되고, 각각의 짝수번째 저장 셀은 홀수번째 저장 셀들 중 하나의 대응하는 다음 홀수번째 저장 셀을 갖고 각각의 홀수번째 저장 셀은 짝수번째 저장 셀들 중 하나의 대응하는 다음 짝수번째 저장 셀을 가짐―, 반복하는 사이클들을 갖는 스캔 클럭을 생성하기 위한 수단 ―각각의 사이클은 제 1 클럭 이벤트 및 그에 후속하는 제 2 클럭 이벤트를 가짐―, 스캔 클럭을 수신하고, 스캔 클럭 사이클의 제 1 클럭 이벤트에 응답하여, 홀수번째 저장 셀들 각각의 래치 출력을 그의 대응하는 다음 짝수번째 저장 셀의 래치 입력에 연결시켜, 그 래치의 상태를 홀수번째 저장 셀의 래치의 상태로 스위칭하고, 상기 연결과 실질적으로 동시에, 짝수번째 저장 셀들 각각의 래치 출력을 그의 대응하는 다음 홀수번째 저장 셀의 래치 입력으로부터 분리시켜, 그 홀수번째 저장 셀의 래치의 상태를 분리 전 그 래치의 상태에서 래치하기 위한 제 1 시프트 수단, 및 스캔 클럭을 수신하고, 스캔 클럭 사이클의 제 2 클럭 이벤트에 응답하여, 짝수번째 저장 셀들 각각의 래치 출력을 그의 대응하는 다음 홀수번째 저장 셀의 래치 입력으로부터 분리시켜, 그 래치의 상태를 분리 전 그 래치의 상태에서 래치하고, 상기 분리와 실질적으로 동시에, 홀수번째 저장 셀들 각각의 래치 출력을 그의 대응하는 다음 짝수번째 저장 셀의 래치 입력에 연결시켜, 그 래치의 상태를 홀수번째 저장 셀의 래치의 상태로 스위칭하기 위한 제 2 시프트 수단을 포함한다.
일 양상에 따르면, 다양한 예시적인 실시예들 중 하나 또는 그 초과에 따른 예시적인 스캔가능한 N 비트 스캔가능한 레지스터는 제 1 시프트 수단 및 제 2 시프트 수단을 포함하고, 여기서, 스캔 클럭의 대략 M개의 사이클들을 수신하는 것에 응답하여, 제 1 및 제 2 시프트 수단은 그들의 각각의 연결 및 분리를 대략 M 회 수행하여, 래치 상태를 저장 셀들 중 제 1 저장 셀로부터 대략 M개 쌍의 저장 셀들에 걸쳐 순차적으로 시프트시키고, 각각의 쌍은 홀수번째 저장 셀과 그의 대응하는 다음 짝수번째 저장 셀, 또는 짝수번째 저장 셀과 그의 대응하는 다음 홀수번째 저장 셀 중 어느 하나의 쌍이다.
상기 요약된 다양한 예시적인 실시예들의 예들, 양상들 및 특징들은 포괄적이거나 제한적인 것으로 의도되지 않고, 다양한 예시적인 실시예들의 다른 양상들, 특징들, 이점들, 변화들 및 적용들은, 본 개시를 그 전체로 판독할 때 당업자들에게 자명할 것이다.
첨부된 도면들은 본 발명의 실시예들의 설명을 돕도록 제시되고, 실시예들의 제한이 아닌 오직 실시예들의 예시를 위해서만 제공된다.
도 1은 정규의 래치 동작 및 테스트 모드 스캔가능한 플립-플롭 동작들을 제공하는 종래 기술의 저장 셀을 도시한다.
도 2는 예시적인 동작 상태로 도시되는, 다양한 예시적인 실시예들 중 하나 또는 그 초과에 따른 하나의 예시적인 스캔가능한 레지스터 파일의 개략적 블록을 도시한다.
도 3a는 제 1 스캔 시프트 상태로 도시되는, 도 2의 스캔가능한 레지스터 파일의 개략적 블록을 도시한다.
도 3b는 제 2 스캔 시프트 상태로 도시되는, 도 2의 스캔가능한 레지스터 파일의 개략적 블록을 도시한다.
도 4는 도 2의 예시적인 스캔가능한 레지스터 파일과 관련하여, 하나의 클러킹 양상에 따른 하나의 예시적인 클러킹 방식의 하나의 예시적인 타이밍도, 및 제 1 스캔 시프트 상태와 제 2 스캔 시프트 상태 사이의 대응하는 스위칭, 및 대응하는 예시적인 스캔 시프트 시퀀스를 도시한다.
도 5는 하나 또는 그 초과의 실시예들에 따른 다른 예시적인 스캔가능한 시프트 레지스터를 도시한다.
도 6은 도 5의 예시적인 스캔가능한 레지스터 파일과 관련하여 하나의 클러킹 양상에 따른 하나의 예시적인 클러킹 방식의 하나의 예시적인 타이밍도, 및 대응하는 예시적인 스캔 시프트 시퀀스를 도시한다.
본 발명의 양상들은, 본 발명의 특정한 실시예들로 의도된 하기 설명 및 관련 도면들에서 개시된다. 본 발명의 범주를 벗어나지 않고 대안적 실시예들이 고안될 수 있다. 추가적으로, 본 발명의 주지의 엘리먼트들은, 본 발명의 관련 세부사항들을 모호하게 하지 않기 위해, 상세히 설명되지 않거나 생략될 것이다.
본 명세서에서 용어 "예시적인"은 "예, 예시, 또는 예증으로서 기능하는" 것을 의미하는 것으로 사용된다. "예시적인" 것으로서 본 명세서에서 설명되는 임의의 실시예는 다른 실시예들에 비하여 반드시 바람직하거나 유리한 것으로서 해석될 필요는 없다. 유사하게, 용어 "본 발명의 실시예들"은, 본 발명의 모든 실시예들이, 논의된 특성, 이점 또는 동작 모드를 포함하도록 요구하지는 않는다.
본 명세서에서 사용되는 용어는 특정한 실시예들의 예시적인 예들을 설명하기 위한 목적이고, 본 발명의 실시예들의 제한으로 의도되지 않는다.
본 명세서에서 사용되는 바와 같이, 단수 형태들("a", "an" 및 "the")은, 문맥상 달리 명확하게 나타내지 않으면 복수 형태들을 또한 포함하도록 의도된다. 용어들 "포함하는("comprises", "comprising,", "includes" 및/또는 "including")"은 본 명세서에서 사용되는 경우 언급된 특징들, 정수들, 단계들, 동작들, 엘리먼트들 및/또는 컴포넌트들의 존재를 특정하고, 하나 또는 그 초과의 다른 특성들, 정수들, 단계들, 동작들, 엘리먼트들, 컴포넌트들 및/또는 이들의 그룹들의 존재 또는 추가를 배제하지 않음이 추가로 이해될 것이다.
추가로, 많은 실시예들은 예를 들어, 컴퓨팅 디바이스의 엘리먼트들에 의해 수행될 동작들의 시퀀스들의 관점에서 설명된다. 본 명세서에서 설명되는 다양한 동작들은, 특정한 회로들(예를 들어, 주문형 집적 회로들(ASICs))에 의해, 하나 또는 그 초과의 프로세서들에 의해 실행되는 프로그램 명령들에 의해, 또는 이 둘의 조합에 의해 수행될 수 있음이 인식될 것이다. 추가적으로, 본 명세서에서 설명되는 동작들의 시퀀스는, 실행 시에 연관 프로세서로 하여금 본 명세서에서 설명되는 기능을 수행하게 할 컴퓨터 명령들의 대응 세트가 저장된 임의의 형태의 컴퓨터 판독가능 저장 매체 내에서 완전히 구현되는 것으로 간주될 수 있다. 따라서, 본 발명의 다양한 양상들은 다수의 상이한 형태들로 구현될 수 있고, 이들 전부는 청구된 청구 요지의 범주 내에 있는 것으로 고려된다. 또한, 본 명세서에서 설명되는 실시예들 각각에 대해, 임의의 이러한 실시예들의 대응 형태는, 예를 들어, 설명된 동작을 수행하도록 "구성되는 로직"으로 본 명세서에서 설명될 수 있다.
추가로, 당업자들은 정보 및 그 정보를 인코딩한 신호들이 임의의 다양한 서로 다른 기술들 및 기법들을 사용하여 표현될 수 있음을 인식할 것이다. 정보 및 이러한 정보의 비트들 뿐만 아니라, 이들을 인코딩한 심볼들, 예를 들어, 상기 설명 전체에서 참조될 수 있는 입력 데이터, 오퍼랜드 데이터, 파라미터 데이터, 명령들 및 커맨드들과 같은 구현은 전압들, 전류들, 전자기파들, 자기장들 또는 자기 입자들, 광 필드들 또는 광 입자들 또는 이들의 임의의 조합으로 표현될 수 있다.
추가로, 당업자들은 본 명세서에 개시된 실시예들과 관련하여 설명되는 다양한 예시적인 논리 블록들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이 둘의 조합으로서 구현될 수도 있음을 인식할 것이다. 하드웨어와 소프트웨어의 이러한 상호호환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들이 일반적으로, 전체적으로 또는 부분적으로 이들의 기능적 관점에서 설명될 수 있다. 이러한 기능이 하드웨어로 구현되는지, 또는 소프트웨어로 구현되는지 여부는 전체 시스템에 대해 부과된 설계 제한들 및 특정 애플리케이션에 의존한다. 당업자들은 설명된 기능을 각각의 특정 애플리케이션에 대해 다양한 방식들로 구현할 수 있지만, 이러한 구현 결정들이 본 발명의 범위를 벗어나는 것으로 해석되어서는 안 된다.
개시된 실시예들과 관련하여 설명되는 방법들, 시퀀스들 및/또는 알고리즘들은 직접적으로 하드웨어로, 프로세서에 의해 실행되는 소프트웨어 모듈로, 또는 이 둘의 조합으로 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래쉬 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드디스크, 착탈식 디스크, CD-ROM, 또는 본 개시와 관련된 분야에 공지된 임의의 다른 형태의 컴퓨터 판독가능 저장 매체에 상주할 수 있다. 예시적인 저장 매체는, 프로세서가 저장 매체로부터 정보를 판독하고, 저장 매체에 정보를 기록할 수 있도록 프로세서에 커플링된다. 대안적으로, 저장 매체는 프로세서에 통합될 수 있다.
따라서, 본 발명은 설명된 예들에 한정되지 않고, 본 명세서에서 설명되는 기능을 수행하기 위한 임의의 수단이 본 발명의 실시예들에 포함된다.
용어 "레지스터"는, 비트 데이터의 관련 스트링을 저장할 수 있고, 독립형으로 또는 단일 포트 또는 다중 레지스터 파일 내에서, 어드레스가능한 레지스터, 컨텐츠-어드레스가능한 레지스터, 스택 레지스터 및 푸쉬-팝(push-pop) 레지스터와 같은 예시적인 예들 중 임의의 하나 또는 그 초과를 제한없이 포함할 수 있는 임의의 기술의 단일 비트 또는 다중 비트 판독-기록 저장 셀들의 임의의 배열을 의미하는 것으로 본 개시에서 정의됨을 이해할 것이다. 다양한 예시적인 실시예들의 설명에서, 특정 타입들의 레지스터들에 대한 예시적인 동작들에 대한 참조는, 달리 언급되거나 문맥으로부터 달리 명백하지 않으면, 그 특정 레지스터 타입에 대해 실시되는 실시예들에 대한 설명된 동작 또는 양상을 제한하지 않는다. 이러한 의미 내에서 레지스터를 형성하는 저장 셀들은 반드시 필수적은 아니지만 어레이 방식으로 배열될 수 있다.
도 2는 하나 또는 그 초과의 예시적인 실시예들에 따른 하나의 스캔가능한 레지스터(200)의 하나의 예시적인 모델을 도시한다. 예(200)는, 좌측에서 우측 순서로 L0, L1, L2 ... LN으로 라벨링된 복수의 래치 셀들을 포함하고, 이들 각각은, 좌측에서 우측 순서로 S0, S1, S2 ... SN으로 라벨링된 대응하는 스위치 게이트와 함께 배열된다. 짝수번의 게이트들 모두, 즉, 게이트들 S0, S2 ...SN(N이 짝수인 것으로 가정함)은 스캔 클럭 라인(202)을 통해 스캔 클럭 SK에 의해 제어되고, 홀수번의 스위치 게이트들 모두는 제 2 스캔 클럭 라인(204)을 통해, 클럭 SK의 반전일 수 있는(그러나 필수적은 아님) 제 2 스캔 클럭 SK_b에 의해 제어된다.
도 2의 예(200) 및 그 다음에 설명되는 동작의 세부사항들을 참조하면, SK의 상승 엣지가 SK_b의 하강 엣지와 실질적으로 동시에 발생하고, 유사하게, SK의 하강 엣지가 SK_b의 상승 엣지와 실질적으로 동시에 발생하는 것이 바람직할 수 있다. 본 개시를 볼 때 당업자들에 의해 이해되는 바와 같이, L0 ... LN과 같은 래치들을 구현하기 위해 선택된 특정한 내부 회로에 따라, 이러한 각각의 상승 및 하강 엣지들 사이의 차이들은 다양한 회로 컴포넌트들이 높은 전류를 소싱(sourcing) 또는 싱킹(sinking)하는 것을 초래할 수 있다.
도 2를 계속 참조하면, 스위치 게이트 S0의 입력은 스캔 테스트 입력 단자(206)에 연결된 것으로 도시된다. 일 양상에 따르면, 스캔 테스트 입력 단자(206)는, 추후에 더 상세히 설명되는 스캔 테스트 동작 동안, SCAN_IN 비트 시퀀스를 수신한다. 용어 "스캔 입력 단자"는 스캔 테스트 환경의 상황에서 도 2의 예를 설명하기 위한 목적의 기준 포인트일 뿐이고, 어떠한 스캔 시프트 체인 또는 다른 경로가 SCAN_IN 비트 시퀀스를 래치 L0에 전달하든 래치 L0에 선행하는 주어진 포인트를 단순히 의미하고, 그 포인트의 물리적 구조 또는 배치에 대해 어떠한 제한도 없는 것을 의미함을 이해할 것이다. SCAN_IN 비트 시퀀스를 생성하기 위한 구조 및 방법뿐만 아니라 SCAN_IN 비트 시퀀스의 특정한 비트 값들에 관하여, 이들은 실시예들에 반드시 특정되지는 않으며, 예를 들어, 임의의 비트 시퀀스일 수 있고, 업계에 공지된 스캔 비트 시퀀스 생성을 위한 임의의 수단에 의해 생성될 수 있음을 이해할 것이다.
도 2는 정규의 레지스터 동작 상태에 있는 예시적인 스캔가능한 레지스터(200)를 도시하고, 이와 대조적으로 레지스터의 스캔 테스트 상태들은 추후에 설명된다. 정규의 레지스터 동작 상태에서, 래치들 L0 ... LN은, 예를 들어, 도 2에 도시되지 않고 공지된 기술에 따를 수 있는 판독 라인들, 워드 라인들 및 비트 라인들의 제어하에서 서로에 대해 독립적으로 데이터를 수신, 저장 및 출력한다.
도 2를 계속 참조하면, 정규의 레지스터 동작 상태에서 스위치 게이트들 S0 ... SN 모두는 개방되거나, 각각의 래치 L1 ... LN의 출력을 그의 후속 래치의 입력으로부터 충분히 단절시키는 동등한 상태에 있다. 개방 상태를 도시하는 도 2는 예를 들어, 스캔 클럭들 SK 및 SK_b를 OFF로 스위칭시킴으로써 달성될 수 있다.
도 3a 및 도 3b를 참조하면, 이들은 각각 도 2의 예의 상태가, 예시적인 스캔가능한 레지스터(200)를 도 3a에 도시된 상태로 스위칭하는 SK 클럭의 상승 엣지 및 그 후, 예시적인 스캔가능한 레지스터(200)를 도 3b에 도시된 상태로 스위칭하는 클럭 SK_b 상승 엣지의 시간상의 연속으로부터 초래되는 것을 도시한다. 예시적인 스캔 시프트 동작(그의 스냅샷들이 도 3a 및 도 3b의 상태들로 표현되고, 이들은 또한 이러한 설명을 위해 "스캔 시프트 제 1 상태" 또는 "제 1 상태", 및 "스캔 시프트 제 2 상태" 또는 "제 2 상태"로 지칭될 수 있음)은 도 4에 도시된 예시적인 스캔 시프트 타이밍 도면을 더 참조하여 설명될 것이다. 스캔 시프트 상태들과 관련하여 용어들 "제 1" 및 "제 2"의 선택은 임의적임을 이해할 것이다.
도 3a에 도시된 스캔 시프트 제 1 상태를 참조하면, 예시적인 스캔가능한 레지스터(200)에서, 도시된 상태는, 클럭 SK의 상승 엣지가, 짝수번의 래치 스위치의 입력에 선행하는 스위치 게이트들 모두를 폐쇄 또는 연결 위치로 스위칭하는 것, 및 클럭 SK_b의 하강 엣지가, 짝수번의 게이트 스위치의 출력에 연결된 스위치 게이트들 모두를 개방 또는 분리 위치로 스위칭하는 것으로부터 초래된다. 그 결과, 짝수번의 래치 입력들 각각은 그의 선행하는 홀수번의 래치의 출력에 연결되고, 이들 짝수번의 래치들 각각은 그 출력이 개방되기 때문에, 이 출력들 각각(제 1 래치 L0는 제외함)은 자신의 선행하는 홀수번의 래치의 그 출력 상의 값으로 스위칭한다. 제 1 래치 L0의 출력은 그의 입력 상에 있는 SCAN_IN 값으로 스위칭되었다.
이제 도 3b를 참조하면, 이것은 SK_b의 상승 엣지 및 (필수적인 것은 아니지만 바람직하게는, 그와 실질적으로 동시의) SK의 하강 엣지로부터 초래되는 제 2 시프트 상태 결과들을 도시한다. 더 구체적으로, SK_b의 상승 엣지는, 홀수번의 래치 스위치의 입력에 선행하는 스위치 게이트들 모두를 폐쇄 또는 연결 위치로 스위칭하고, SK의 하강 엣지는 홀수번의 게이트 스위치의 출력에 있는 스위치 게이트들 모두를 개방 또는 분리 위치로 스위칭한다. 그 결과, 홀수번의 래치들 각각의 입력은 그의 선행하는 짝수번의 래치의 출력에 연결되고, 이 홀수번의 래치들 각각은 출력이 개방되기 때문에, 이 출력들 각각은 그의 선행하는 짝수번의 래치의 그 출력 상의 값으로 스위칭된다.
도 4는, 도 2의 예시적인 스캔가능한 레지스터(200)와 관련하여, 하나의 클러킹 양상에 따른 하나의 예시적인 클러킹 방식의 하나의 예시적인 타이밍 도, 및 도 3a에 도시된 제 1 스캔 시프트 상태와 도 3b에 도시된 제 2 스캔 시프트 상태 사이의 대응하는 스위칭, 및 대응하는 예시적인 스캔 시프트 시퀀스를 도시한다. 도 4를 참조한 설명들 및 도 3a 및 도 3b에 도시된 예시적인 동작들과 도 4의 관련에서, 도 4에 도시된 파형들은 높은 수직 위치 및 낮은 수직 위치로 구성된 2-상태(two-state)이고, 이들은, 임의의 극성에서 임의의 전압으로의 물리적 상태의 관점에서 맵핑을 가질 수 있음을 이해할 것이다. 추가로, 예시적인 예들을 설명할 목적으로, SK 및 SK_b 클럭들의 하이 값이 ON으로 지칭될 것이고, 스위칭 게이트들 S0 ... SN의 연결 상태가 ON으로 지칭될 것이고, 도 2, 3a 및 3b에 도시된 스위칭 게이트들 S0 ... SN의 분리 상태가 OFF로, SCAN_IN B1 ... BN의 로우 값이 로직 0을 의미하는 0으로, SCAN_IN B1 ... BN의 하이 값이 로직 1을 의미하는 로직 1로, WL 및 RL 라인의 로우 값 및 하이 값이 각각 OFF 및 ON으로 지칭될 것이다.
이제 도 2 및 도 3a와 함께 도 4의 타이밍도를 참조하면, SK의 상승 엣지(402)를 수신하기 전의 상태인 도시된 시작 상태는 B0, B1, B2 ... BN 모두가 로직 0이다. SK의 상승 엣지(402)에서 짝수번의 래치들을 피딩하는 스위치 게이트들 각각이 ON 상태로 스위칭, 즉, 도 3a를 참조하면 스위치 게이트들 S0, S2 ... SN이 ON으로 스위칭하고 SK_b의 하강 엣지(403)가 OFF로 스위칭(또는 SK의 상승 엣지(402) 전의 이들의 상태에 따라 OFF로 유지)하고 홀수번의 래치들을 피딩하는 스위치 게이트들 각각은 OFF로 스위칭한다. 따라서, SCAN_IN 값은 래치 L0의 출력에 연결되고; 따라서 래치 L1의 출력은 래치 L2의 출력에 연결되는 식으로, 래치 LN-1의 출력은 래치 LN의 출력에 연결된다. 그러나, 클럭 SK의 상승 엣지(402)에서 SCAN_IN은 0이기 때문에, B0은 0으로 유지되고, 이제 연속적인 짝수번의 래치를 피딩하는 홀수번의 래치들의 출력들 모두가 이들의 초기 0 상태이기 때문에, 다른 짝수번의 래치들 중 어느 것도 변하지 않는다.
이제 도 3b와 함께 도 4를 참조하면, 다음으로, 클럭 SK_b의 상승 엣지(405)에서, 홀수번의 래치를 피딩하는 스위치 게이트들 각각, 즉 스위치 게이트 S1은 ON으로 스위칭되고, 클럭 SK의 하강 엣지(404)는, 짝수번의 래치를 피딩하는 스위치 게이트들, 즉 스위치 게이트들 S0, S2 ...SN 각각을 OFF로 스위칭한다. 따라서, 래치 L0의 출력은 래치 L1의 출력에 연결되는 식이 된다. 그러나, 래치 L0의 출력이 0이기 때문에, 래치 L1의 출력은 그의 0의 초기 상태로 유지되고, 유사하게, 짝수번의 래치들의 출력들 모두가 여전히 0이기 때문에, 다른 홀수번의 래치들은 변화한다.
그러나, 상승 엣지(418)에서, SCAN_IN이 0으로부터 1로 스위칭한다. 클럭 SK의 다음 상승 엣지(406) 및 클럭 SK_b의 하강 엣지(407)에서, 예시적인 스캔가능한 레지스터(200)는 도 3a에 도시된 제 1 스캔 시프트 상태로 다시 스위칭된다. 이제 1인 SCAN_IN 값이 래치 L0의 출력에 연결되어, 시간(419)에서 B0을 0으로부터 1로 변화시킨다. 클럭 SK의 상승 엣지(406)와 전환(419) 사이의 지연은 도 4에 특별히 도시되지는 않지만, 당업자가 용이하게 이해하는 바와 같이, 래치들 및 스위치 게이트들의 특정한 구현에 좌우된다. 도 4에 도시된 바와 같이, 클럭 SK의 상승 엣지(406) 및 클럿 SK_b의 하강 엣지(407)는 나머지 짝수번의 래치들 중 어떠한 래치들의 출력 상태도 변경시키지 않는데, 이는, 이러한 순간에 짝수번의 래치들을 피딩하는 각각의 홀수번의 래치의 출력이 여전히 0이기 때문이다.
도 3b와 함께 도 4를 계속 참조하면, 클럭 SK_b의 상승 엣지(409) 및 클럭 SK의 하강 엣지(408)에서, 예시적인 스캔가능한 레지스터(200)는 도 3b에 도시된 제 2 스캔 시프트 상태로 다시 스위칭한다. 즉, 클럭 SK의 하강 엣지(408)가, 짝수번의 래치들을 피딩하는 스위치 게이트들(즉, 스위치 게이트들 S0, S2 ...SN) 각각을 OFF로 스위칭하는 것과 실질적으로 동시에, 홀수번의 래치들을 피딩하는 스위치 게이트들 각각이 ON으로 스위칭한다. 1의 SCAN_IN 값이 래치 L0으로부터 분리되지만, 래치 L0의 래치 기능 때문에, 래치 L0의 출력이 1로 유지되고 그 출력은 스위치 게이트 S1을 통해, 그리고 레벨 감응 래치 L1을 통해 래치 L1의 출력에 연결된다. 그 결과, 시간(420)에 B1은 0으로부터 1로 변한다. 406과 관련하여 B0에서의 지연에 대해 앞서 설명된 바와 같이, 엣지(409)와 전환(420) 사이의 지연은 도 4에 특정하여 도시되지 않는다. 유사하게, 래치 L1의 출력에서 B1이 1로 변하는 것을 초래할지라도, 스위치 게이트 S2가 OFF이기 때문에 SK_b의 상승 엣지(409)는 B2의 0 상태를 변화시키지 않는다.
도 4를 계속 참조하면, 시간(426)에서 SCAN_IN이 다시 0으로 변하는 것으로 도시된다. 도 2의 예시적인 스캔가능한 레지스터(200)와 관련된 이 예에서, 이전에 SCAN_IN이 1로 스위칭된 상승 엣지(418)와 관련하여 시간(426)은 SK 클럭의 다음 상승 엣지(410) 이전의 임의의 시간일 수 있다. 한편, SCAN_IN이 예시적인 스캔가능한 레지스터(200)에 2개의 연속적인 1들을 피딩하는 것으로 선택된다면, SCAN_IN은 적어도 상승 엣지(410)까지 1 값으로 유지될 것이다.
다음으로, SK 클럭의 상승 엣지(410) 및 실질적으로 그와 동시인 SK_b의 하강 엣지(411)에서, 예시적인 스캔가능한 레지스터(200)는 도 3a에 도시된 제 1 스캔 시프트 상태로 다시 스위칭한다. 이제, 0의 SCAN_IN 값이 스위치 게이트 S0을 통해 그리고 레벨 감응 래치 L0을 통해 그 래치 L0의 출력에 연결된다. 그 결과, 시간(423)에서 B0은 1로부터 0으로 변한다. 스위치 게이트 S1이 OFF이기 때문에 B0의 현재 0 상태는 B1의 1 값을 변화시키지 않는다.
다음으로, SK_b 클럭의 상승 엣지(413) 및 실질적으로 그와 동시인 SK의 하강 엣지(412)에서, 예시적인 스캔가능한 레지스터(200)는 도 3b에 도시된 제 2 스캔 시프트 상태로 다시 스위칭한다. B0은 0으로 유지되는데, 이는, 스위치 게이트 S0 및 래치 L0을 통해 SCAN_IN에 연결될지라도 SCAN_IN 값이 여전히 0이기 때문이다. 그러나, 0의 B0 값은 이제 ON 스위치 게이트 S1을 통해 그리고 레벨 감응 래치 L1을 통해 L1 출력에 연결된다. 따라서, 시간(424)에서 B1은 1로부터 0으로 변한다. 스위치 게이트 S2가 OFF이기 때문에, 0인 새로운 B1 상태는 B2의 1 값을 변화시키지 않는다.
계속하여 도 4에 있어서, SK 클럭의 상승 엣지(414) 및 실질적으로 그와 동시인 SK_b의 하강 엣지(415)에서, 예시적인 스캔가능한 레지스터(200)는 도 3a에 도시된 제 1 스캔 시프트 상태로 다시 스위칭한다. B0은 0으로 유지되는데, 이는, 스위치 게이트 S0 및 래치 L0을 통해 SCAN_IN에 연결될지라도 SCAN_IN 값이 여전히 0이기 때문이다. 스위치 게이트 S1이 개방될 때 L1의 래치 기능 때문에 B1은 0으로 유지된다. 이제, 0의 B1 값은 ON 스위치 게이트 S2를 통해 그리고 레벨 감응 래치 L2를 통해 L2 출력에 연결된다. B2는 상승 엣지(421)를 갖고, 시간(425)에서 1로부터 0으로 변한다.
도 2에 도시된 바와 같이, N개의 래치들 L0을 가정하면, 앞서 설명된 짝수번째 및 홀수번째 스위치 게이트들의 교번 스위칭의 N회 반복들, 즉, 실질적으로 동시-엣지되는 스캔 클럭 SK 및 상보적 클럭 SK_b의 N개의 사이클들은, 모든 N개의 래치들 L0 ... LN 래치들을 통해 1의 예시적인 SCAN_IN 비트 값의 스캔 시프트를 수행할 것임을 쉽게 이해할 것이다. 또한, 스캔 클럭들의 부재시에 래치들은 정규의 레지스터 저장 셀들로서 동작함을 쉽게 이해할 것이다. 추가로, 도 1의 예시적인 종래 기술의 스캔가능한 저장 셀(100)의 섀도우 플립 플롭(104)과 같은 슬래이브 플립-플롭들없이 스캔 시프팅이 제공되는 것이 본 개시를 보는 당업자들에 의해 인식될 것이다. 대신에, 스캔 시프팅은, 실시예들에 따른 스캔 클럭 방식들과 조합되어, 저장 셀들 각각에 오직 스위치 게이트의 고유한 추가에 의해 제공된다.
상기 설명에서 스캔 클럭들 SK 및 SK_b의 상대적 타이밍 및 극성은 예시적인 스위치 게이트들 S0 ... SN에 대해 설명되는 특정한 예시적인 스위치 특징에 대응하는데, 즉, 그의 스캔 클럭(SK 또는 SK_b)에 응답하는 각각의 폐쇄는 ON이고, 그의 스캔 클럭에 응답하는 개방은 OFF임을 이해할 것이다. 그러나, 본 개시를 판독할 때 당업자에 의해 이해되는 바와 같이, 이것은, 홀수번째 스위치 게이트들과 관련하여 짝수번째 스위치 게이트들의 설명되는 개방 및 폐쇄, 즉 본 실시예들의 스캔 시프트 특징들을 획득하기 위해 이용될 수 있는 S0 ... SN과 같은 스위칭 게이트들의 스위칭 특징들 및 스캔 클럭들의 오직 하나의 예시적인 조합이다. 하나의 예시적인 대안적 실시예는, 홀수번의 스위치 게이트들, 즉, S1과 반대의 제어 극성을 갖는 특정한 스위치 게이트들로 짝수번의 스위치 게이트들 S0, S2 ... SN을 구현하고, 스위치 게이트들 모두에 공통 스캔 클럭을 접속시킨다.
스위치 게이트들 S0 ... SN은 예를 들어, 단일 트랜지스터 패스 게이트와 같은 다양한 수단에 의해 형성될 수 있음을 이해할 것이다. 몇몇 애플리케이션들에서, 관련 분야의 당업자들에 의해 이해되는 바와 같이, 통상적으로 트랜지스터 패스 게이트들과 연관되는, 트랜지스터 임계치들에 대한 전압 강하의 일반적 문제들은 이러한 구현을 만족스럽지 못하게 할 수 있다. 다른 양상에 따르면, 스위치 게이트들 S0 ... SN은 상보적 금속 산화물 트랜지스터(CMOS) 전송 게이트들 또는 이의 균등물들일 수 있거나, 단일 트랜지스터 패스 게이트들 및 CMOS 전송 게이트들의 혼합들로부터 형성될 수 있다. 이들은, 스위치 게이트들 S0 ... SN을 형성하기 위한 다른 회로들 및 기술들이, 본 개시를 볼 때 당업자들에게 자명할 수 있는 바와 같이, 오직 예시적인 예들이다.
도 5는 예시적인 실시예들 중 하나 또는 그 초과의 다양한 양상들에 따라 다른 스캔가능한 레지스터(500)의 예시적인 예의 3개의 셀 세그먼트를 도시한다. 예시적인 스캔가능한 레지스터(500)는 3개의 동일 구조의 스캔가능한 저장 셀들(502, 504 및 506)에 의해 구성되고, 가장 좌측의 스캔가능한 저장 셀을 예로 참조하면, 저장 셀들 각각은, 입력 스위치 게이트(508)가 전송 경로(509)를 통해 레벨 감응 래치(510)에 연결된 스캔가능한 저장 셀(502)의 국부적 복제를 갖는다. 레벨-감응 래치(510)는 피드백 인버터(514)와 병렬로 배열된 순방향 인버터(512)로 구성된다. 인버터들(512, 514)의 최우측 접합, 즉, 순방향 인버터(512)의 출력과 피드백 인버터(514)의 입력의 연결된 접합은, 도 6을 참조하여 더 상세히 설명되는 바와 같이, 스캔 시프트 모드에서 동작할 때 스캔가능한 저장 셀들(502, 504, 506)의 각각의 상태들로 표현되는 B0, B1, B2의 스캔 상태의 값 B0_b를 유지한다. 도 5의 예(500)의 예시적인 양상들 및 동작들은 B0, B1, B2의 스캔 상태를 이들의 보수(complement)들 B0_b, B1_b 및 B2_b의 상태로 참조하는데, 이는 이 예에서 이용되는 인버터들(516, 534, 536) 때문이다.
도 5를 계속 참조하면, 예(500)에서 NFET로 구현되는 것으로 도시된 피드백 인버터 인에이블링 스위치(518)는, 예(500)가 스캔 시프트 모드에서 동작할 때 피드백 인버터(514)를 선택적으로 인에이블 및 디스에이블시킨다. 피드백 인버터 인에이블링 스위치(518)는 래치(510)의 외부에 있는 것으로 도 5의 예(500)에 도시되어 있지만 이것은 오직 하나의 예시적인 도시일 뿐이다. 대안적으로, 피드백 인버터 인에이블링 스위치(518)는 래치(510)의 일부로서 고려될 수 있다. 인버팅 구동기 또는 인버터(516)는 B0의 반전을 다음 저장 셀(504)의 스위치 게이트(530)의 입력에 전파시킨다. 당업자들은 본 개시를 기초로, 래치(510)의 인버터(516) 및 인버터들(512, 514)의 각각의 구성이 이들 각각의 애플리케이션-특정 구동 요건들에 따라 상이할 수 있거나 상이하지 않을 수 있음을 이해할 것이다.
도 5를 계속 참조하면, 이들 각각의 게이트들이 WORD 라인에 접속된 워드 트랜지스터들(별도로 넘버링되지 않음)은 스캔가능한 저장 셀들(502, 504, 506) 각각의 정규의 저장 래치 동작을 위한 것이다.
도 5를 계속 참조하면, 클럭들 SLK1 및 SLK2에 의해 초래되는 스캔 시프트 모드에서, 인버터(526)는 제 1 저장 셀의 스위치 게이트(508)의 입력에 SCAN_IN의 반전을 피딩한다. 인버터(526)는 저장 셀(502)에 선행하는 다른 스캔가능한 저장 셀(도 5에는 미도시)의 컴포넌트일 수 있다. 스캔가능한 저장 셀(502)에 선행하는 어떠한 스캔가능한 저장 셀도 존재하지 않으면, 인버터(526)는 본 개시를 보는 당업자들에게 자명할 임의의 다양한 수단으로 구현될 수 있다. 스위치 게이트(528)는 스캔가능한 저장 셀(506)의 출력 인버터(별도로 넘버링되지 않음)로 구동되는 것으로 도시되어 있고, 이것은 스캔가능한 저장 셀(506)에 연속하는 다른 스캔가능한 저장 셀(도 5에는 미도시)의 스위치 게이트를 도시하도록 의도된다. 스캔가능한 저장 셀(506)이, 도 5의 예가 스캔 시프트 모드에서 동작할 때 형성되는 스캔 체인의 마지막 저장 셀이면, 스위치 게이트(528)는 생략될 수 있다.
도 5의 예시적인 스캔가능한 레지스터(500)는, 짝수번의 스캔가능한 저장 셀들의 스위치 게이트들, 즉, 스캔가능한 저장 셀(502)의 스위치 게이트(508) 및 스캔가능한 저장 셀(506)의 스위치 게이트(530)를 제어하는 한 쌍의 상보적 클럭들 SLK1 및 SLK1_b, 및 홀수번의 스캔가능한 저장 셀들의 스위치 게이트들, 즉, 스캔가능한 저장 셀(504)의 스위치 게이트(532) 및 스캔가능한 저장 셀(506)에 연속하는 스캔가능한 저장 셀(도 5에는 미도시)의 스위치 게이트(528)를 제어하는 다른 쌍의 상보적 클럭들 SLK2 및 SLK2_b를 갖는 하나의 예시적인 스캔 클럭 배열에 의해 구동되는 것으로 도시된다.
도 5의 예시적인 스캔가능한 레지스터(500)의 정규의 동작 모드에서, 스캔 클럭들 SLK1, SLK1_b, SLK2, SLK2_b 모두는 OFF임을 이해할 것이다. 이것은, 스위치 게이트들(508, 528, 530, 532) 모두를 OFF로 스위칭하여, B0 ... B2 노드들 각각을 서로로부터 실질적으로 단절시킨다.
추가로, 스캔 클럭들 SLK1, SLK1_b와 SLK2, SLK2_b의 상보적 쌍 배열, 및 클럭 라인들에 의한 이들 클럭들의 분배는 스위치 게이트들(508, 528, 530 및 532)의 도시된 CMOS 전송 게이트 구현에 대응하고, 단순한 패스 트랜지스터 구성(도 5에는 미도시)과 같은 이 스위치 게이트들의 대안적 구현은 상보적 클럭들을 요구하지 않을 수 있음을 이해할 것이다. 추가로, 도 5의 예시적인 스캔가능한 레지스터의 경우, 클럭들 SLK1 및 SLK2_b의 상승 엣지들은 서로 그리고 클럭들 SLK1_b 및 SLK2의 하강 엣지들과 상호 정렬되거나 대략 상호 정렬되고, 유사하게, 클럭들 SLK2 및 SLK1_b의 상승 엣지들은 서로 그리고 클럭들 SLK1 및 SLK2_b의 하강 엣지들과 상호 정렬되거나 대략 상호 정렬되는 것이 바람직할 수 있음을 이해할 것이다. "대략"의 범위는 예를 들어, 당업자들이 본 개시의 실시예들에 대한 특정한 구현들에 대해 가질 수 있는, 집적 회로들 내의 시간 지연들 및 전류 스파크들에 대한 종래의 지식을 적용함으로써 당업자들에 의해 쉽게 결정된다. 유사하게, 본 개시를 보는 당업자들에게 명백한 바와 같이, 이러한 클럭 엣지들의 엄격한 정렬로부터 특정한 특유의 변화들이 이용될 수 있다.
이제, 도 5 및 도 6에 도시된 예시적인 타이밍도를 참조하여, 도 5의 예시적인 스캔가능한 레지스터에서 수행되는 하나의 예시적인 스캔 시프트 프로세스가 설명될 것이다. 단순함을 위해 그리고 실시예의 동작들 및 고유한 양상들에 더 중점을 두기 위해, SLK1 및 SLK2의 엣지들이 라벨링되는 한편, 이들 각각의 상보적 스캔 클럭들 SLK1_b 및 SLK2_b의 동시의 또는 대략 동시의 엣지들은 개별적으로 라벨링되지 않는다.
도 6을 참조하면, 스캔 클럭 SLK1의 상승 엣지(602) 전에, 래치들(512, 534, 536) 모두는 B0_b, B1_b, B2_b 모두가 0인 상태에 있다. SLK1의 상승 엣지(602) 및 실질적으로 그와 동시인 SLK2_b의 하강 엣지에서, 스위치 게이트들(508 및 530)은 ON으로 스위칭되는 한편, 실질적으로 그와 동시인 SLK2의 하강 엣지(603) 및 그의 상보적 SLK2_b 스위치의 상승 엣지에서 스위치 게이트들(532, 528)은 OFF로 스위칭한다. 이것은 B0_b, B1_b, B2_b에서 이들의 0인 초기 상태로부터 어떠한 변화도 초래하지 않는데, 이는, SCAN_IN이 제 1 스캔가능한 셀(502)에서 래치(510)의 B0 노드에 연결되더라도 0이고, 노드 B1_b가 스캔가능한 셀(504)의 출력 인버터(534)를 통해 그리고 스위치 게이트(530)를 통해 B2_b 노드에 연결되더라도 0이기 때문이다. 다음으로, SLK2의 상승 엣지(605) 및 실질적으로 그와 동시인 SLK1의 하강 엣지(604)는 이들의 상보적 클럭들의 하강 및 상승 엣지들과 함께, 각각 스위치 게이트들(508, 530)을 OFF로 그리고 스위치 게이트들(532, 528)을 ON으로 스위칭한다. 이것은, 노드 B0_b를 SCAN_IN으로부터 분리시켜, B0_b를 0으로 유지하도록 래치(510)를 래치하고, 노드 B1_b를 스캔가능한 셀(504)의 출력 인버터(534)로부터 분리시켜 B2_b를 0에서 래치한다. 이제, 스캔가능한 셀(502)의 출력에 연결된 B1_b는 B0_b의 0 값에서 유지된다.
다음으로, 도 6을 계속 참조하면, 620에서, 앞서 설명된 스위칭 후이지만 스캔 클럭들 중 임의의 클럭들의 다음 엣지 이전에, SCAN_IN은 1로 변한다. 다음으로, SLK1의 후속적 상승 엣지(606) 및 실질적으로 그와 동시인 그의 상보적 SLK1_b의 하강 엣지는, 앞서 설명된 바와 같이 502에서 동일한 클럭 이벤트에 의해 야기되는 것과 동일한 스위칭 동작을 스위치 게이트들(508, 530)에 대해 수행한다. SCAN_IN 신호는 래치(510)의 B0_b 노드로 다시 연결되지만, 1이고, 이는 B0_b가 시간(621)에서 1로 변하게 한다. 시간(621)은, 스캔 셀들(502, 504, 506)을 구현하는 기술에 의존하는 지연만큼 상승 엣지(606)에 후속한다. B2_0은 엣지(602)를 참조하여 설명된 것과 동일한 이유로 불변으로 유지된다. 606에서 B0_b를 1로 변화시키는 스위칭 동작들과 실질적으로 동시에, SLK2의 하강 엣지(607) 및 대응하는 SLK2_b의 상승 엣지는 스위치 게이트들(532, 528)을 OFF로 스위칭한다. 621에서 노드 B1_b로 B0 변화가 전파되기 전에 스위치 게이트(532)의 스위칭이 수행되도록 하강 엣지(607)를 가정하면, B1_b는 이전의 0의 B0_b 값에서 래치한다. 출력 인버터(534) 및 스위치 게이트(530)를 통해 B1_b 노드에 의해 구동되는 노드 B2_b는 0 값으로 유지된다.
다음으로, 클럭 SLK1의 하강 엣지(608) 및 실질적으로 그와 동시인 그의 상보적 클럭 SLK1_b의 상승 엣지는 앞서 설명된 바와 같이, 동일한 상승 엣지 클럭 이벤트(604)에 의해 야기되는 것과 동일한 스위칭 동작을 스위치 게이트들(508, 530)에 대해 수행한다. 따라서, 여전히 1 값인 SCAN_IN은 래치(510)의 B0_b 노드로부터 분리되고, 이것은 B0_b를 1 값으로 래치한다. B2_b는 B1_b의 이전의 값 0에서 래치한다. SLK1 하강 엣지(608)에서의 이러한 스위칭 동작들과 실질적으로 동시에, SLK2의 상승 엣지(609) 및 클럭 SLK2_b의 대응하는 하강 엣지는 스위치 게이트들(532, 528)을 ON으로 스위칭한다. 따라서, 1의 B0_b 값은 스위치(532)를 통해 B1_b 노드로 전파되어, 시간(622)에서 B1_b를 1 값으로 스위칭한다. SLK1 하강 엣지(608)를 참조하여 앞서 설명된 B2_b의 0 값으로의 래치에 관하여, 이것은, 시간(622)에서 B1_b가 1로 변하기 전에 스위치 게이트(530)의 OFF로의 스위칭이 수행되도록 하강 엣지(608)를 가정한다.
도 6을 계속 참조하면, 다음으로, 클럭 SLK2의 하강 엣지(611) 및 이와 실질적으로 동시인 그의 상보적 클럭 SLK2_b의 상승 엣지는, 앞서 설명된 바와 같이, 607에서 동일한 클럭 엣지에 의해 야기되는 것과 동일한 스위칭 동작을 스위치 게이트들(532, 528)에 대해 수행하는 한편, 실질적으로 동시인 클럭 SLK1의 상승 엣지(610) 및 실질적으로 동시인 그의 상보적 클럭 SLK1_b의 하강 엣지는, 앞서 설명된 바와 같이 606에서 동일한 클럭 엣지에 의해 야기되는 것과 동일한 스위칭 동작을 스위치 게이트들(508, 530)에 대해 수행한다. 스위치 게이트(508)의 ON으로의 스위칭은 이제, 0 값인 SCAN_IN을 B0_b 노드에 연결시켜, 623에서 B0_b를 0 값으로 구동시키고, 스위치 게이트(530)의 ON으로의 스위칭은 B1_b 노드를 B2_b 노드에 연결시켜 624에서 B2_b를 1로 구동시킨다.
다음으로, 클럭 SLK1의 하강 엣지(612) 및 실질적으로 동시인 그의 상보적 클럭 SLK1_b의 상승 엣지에서, 스위치 게이트들(508, 530)은 OFF로 스위칭되고, 실질적으로 동시인 클럭 SLK2의 상승 엣지(611) 및 실질적으로 동시인 그의 상보적 클럭 SLK2_b의 하강 엣지에서 스위치 게이트들(532, 528)은 ON으로 스위칭된다. 스위치 게이트(532)의 ON으로의 스위칭은 노드 B0_b를 노드 B1_b로 연결시켜 시간(625)에서 B1_b를 0 값으로 구동시킨다. B2_b 노드로 전파되는 시간(625)에서 0 값으로의 B1_b의 변화 이전에 수행되는 것으로 가정되는 스위치 게이트(530)의 OFF로의 스위칭은 B2_b를 그의 이전 값 1로 래치한다.
도 6을 계속 참조하면, 클럭 SLK1의 상승 엣지(612) 및 실질적으로 동시인 그의 상보적 클럭 SLK1_b의 하강 엣지에서, 스위치 게이트들(508, 530)은 ON으로 스위칭되고, 실질적으로 동시인 클럭 SLK2의 하강 엣지(615) 및 실질적으로 동시인 그의 상보적 클럭 SLK2_b의 상승 엣지에서 스위치 게이트들(532, 528)은 OFF로 스위칭된다. 스위치 게이트(508)의 ON으로의 스위칭은 여전히 0인 SCAN_IN 값을 노드 B0_b로 연결시키고, 따라서 B0_b는 0으로 유지된다. 스위치 게이트(530)의 ON으로의 스위칭은, 이제 0 값인 B1_b 노드를 B2_b 노드에 연결시켜, 시간(627)에서 B2_b를 0 값으로 구동시킨다. 또한, 도 6에서, 613, 614, 617, 626 및 628은 상승 엣지들을 지칭하고 616 및 630은 하강 엣지들을 지칭함을 주목한다.
앞서 설명된 스캔 클럭 시퀀싱은, 일련의 3개의 인접한 스캔가능한 저장 셀들(502, 504, 506)을 통해 좌측에서 우측으로 1의 SCAN_IN 비트의 예시적인 스캔 시프트를 수행하였다. 달리 말하면, 설명된 프로세스는 일련의 래치들(512, 534, 536)을 통해 SCAN_IN 데이트를 진행시키고 SCAN_OUT 데이트로서 출력한다. SCAN_OUT데이트는 예를 들어, 관련 분야의 당업자들에게 현재 주지된 분석 방법을 이용하여 스캔 체인에서 오류들을 분석하기 위해 판독되고 SCAN_IN과 비교될 수 있다.
추가로, 도시된 바와 같이, 스캔가능한 저장 셀들(502, 504, 506)에 연결된 판독 트랜지스터 쌍들(520, 522, 524) 포트(도 5에는 미도시)를 이용하면, 저장 셀들(502, 504, 506) 셀 각각에 기록된 데이터는 판독 포트들을 테스트하기 위해 앞서 설명된 것과 유사한 방식으로 판독될 수 있다. 확인할 수 있는 바와 같이, 이 기술은, 다중-포트 레지스터 파일의 각각의 포트를 테스트하기 위해 별개의 금속 배선들이 추가되는 종래의 기술들과 비교할 때 복잡도를 현저하게 낮춘다. 추가로, 본 개시를 보는 당업자 또는 당업자들에 의해 인식되는 바와 같이, 실시예들은 다른 특징들 및 이점들 중, 결점있는 메모리 레지스터들을 갖는 다이들을 식별 및 제거할 필요없이 메모리 레지스터들을 신속하게 스캔/테스트하는 능력을 제공한다. 이러한 당업자들에 의해 쉽게 이해되는 바와 같이, 이것은, 시간 및 비용을 방지하고, 본질적으로, 포트들 및 포트 상호작용들이 완전히 테스트되어야 하면 특히 비용소모적인 전체 테스트 시간 동안 수행해야 하는 단점을 방지한다. 추가로, 본 개시를 보는 당업자 또는 당업자들에 의해 인식되는 바와 같이, 실시예들은 다른 특징들 및 이점들 중, 메모리 레지스터들과 연관된 문제들을 예를 들어 동적 잡음 연결 및 스위칭 잡음과 같은 포트-관련 문제들로부터 분리 또는 단절시키는 특징 및 이점을 제공한다.
앞서 개시된 디바이스들 및 방법들은 통상적으로 컴퓨터 판독가능 매체 상에 저장되는 GDSII 및 GERBER 컴퓨터 파일들로 설계 및 구성된다. 차례로, 이 파일들은 이 파일들에 기초하여 디바이스들을 제조하는 제조 조작자들에게 제공된다. 결과적 산물은 반도체 웨이퍼들이고, 반도체 웨이퍼는 그 후 반도체 다이로 절단되고 반도체 칩으로 패키지된다. 그 다음, 칩들은 앞서 설명된 디바이스들에서 이용된다.
다른 특징들 중, 다양한 예시적인 실시예들에 따른 방법들 및 디바이스들에 의해 제공되는 이점들 및 장점들은 페이크(fake) 슬래이브 래치들을 추가할 필요성을 제거하는 것이다. 차례로, 이것은, 스캔가능한 저장 셀들을 제조하는 칩 면적 비용을 대략 절반으로 줄이는 것, 및 오류가 있는 슬래이브 래치들에 기인한 잘못된 스캔 테스트 판독들을 현저하게 감소시키는 것을 포함하는 다수의 2차적인 이점들 및 장점들을 제공한다. 본 개시를 판독할 때 당업자들에 의해 추가로 인식되는 바와 같이, 설명된 실시예들에 따른 방법들 및 디바이스들은, 페이크 슬래이브 래치들이 체인으로부터 제거되기 때문에 종래의 기술들에 비해, 스캔 데이터가 래치들의 수의 오직 절반만을 통과하도록 요구한다. 차례로, 이것은 다른 이점들 및 장점들 중, 적어도 스캔 체인을 통해 스캔 시퀀스를 시프트하기 위해 요구되는 시간에 대해 종래 기술의 방법들, 디바이스들 및 기술들로 스캔 테스팅이 수행될 수 있는 속도의 대략 2배에서 스캔 테스팅을 제공한다.
추가로, 본 개시를 판독할 때 당업자들에 의해 인식되는 바와 같이, 다양한 예시적인 실시예들에 따른 실시를 통해 달성될 수 있는 설계의 단순함은, 레지스터 파일의 모든 래치를 통해 스캔 데이터를 단순히 진행시킴으로써 레지스터 파일이 효율적으로 테스트될 수 있기 때문에, 다수의 판독 및 기록 포트들의 테스트가능성을 제공하기 위해 복잡한 금속 배선들을 도입할 필요성을 제거한다.
설명된 실시예들에 의해 제공되는 다른 다양한 특징들, 이점들 및 장점들은, 스캔 테스팅이 낮은 주파수들에서 수행될 수 있고, 따라서 예를 들어, 도 5의 예시적인 스캔가능한 레지스터(500)의 스위치 게이트들(508, 528, 530, 532)과 같은 전송 게이트들 또는 스위치의 사이즈가 감소될 수 있어서, 저주파수 동작을 지원할 만큼의 충분한 구동 강도를 제공하고 따라서 면적을 추가적으로 절약한다는 점이다. 이 특징 및 이점에 의해 또한 추가로 제공되는 것은, 스위치 게이트들의 사이즈를 감소시키고 더 낮은 주파수의 스캔 테스팅을 수행함으로써, 테스트되는 디바이스들이, 고주파수 테스팅 및 큰 구동 강도들의 특징인 고전력 신호들에 의해 도입될 수 있는 실패들로부터 보호될 수 있다는 점이다.
본 개시에서 앞서 설명된 바와 같이, 레지스터 파일들을 참조한 다양한 실시예들에 따른 특정한 예시들의 설명은, 본 개시를 판독하고 설명된 실시예들에 따라 실시할 때 당업자들에게 자명하고 당업자들에 의해 인식되는 다양한 애플리케이션들의 하나의 예시적인 예를 설명하기 위한 목적일 뿐이다. 예를 들어, 개시된 실시예들은, 레지스터 파일들 및 메모리 어레이들에 대한 제한없이 스캔 테스팅을 요구하는 임의의 래치 기반 설계에 의해 실시될 수 있고, 그 안에서 구현될 수 있다.
전술된 개시는 본 발명의 예시적인 실시예들을 나타내지만, 첨부된 청구항들에 의해 정의되는 본 발명의 범위를 벗어나지 않고 본 명세서에서 다양한 변화들 및 변형들이 행해질 수 있음을 주목해야 한다. 본 명세서에서 설명된 본 발명의 실시예들에 따른 방법 청구항들의 기능들, 단계들 및/또는 동작들은 임의의 특정한 순서로 수행될 필요가 없다. 게다가, 본 발명의 엘리먼트들이 단수로 설명 또는 청구될 수 있을지라도, 단수에 대한 제한이 명시적으로 언급되지 않으면 복수가 고려된다.

Claims (35)

  1. 스캔가능한 레지스터로서,
    복수의 저장 셀들을 포함하고,
    각각의 저장 셀은,
    스캔 입력 및 스캔 출력,
    상기 스캔 입력에 연결된 래치 ―상기 래치는 래치 출력을 가짐―, 및
    상기 래치 출력에 연결된 스위치 게이트를 갖고,
    상기 스위치 게이트는, 스캔 클럭을 수신하기 위한 스위치 제어 입력을 갖고, 상기 스캔 클럭에 응답하여, 스위칭가능하게 상기 래치 출력을 상기 스캔 출력에 연결시키고 상기 래치 출력을 상기 스캔 출력으로부터 분리시키고,
    상기 저장 셀들 각각의 스캔 출력은 상기 저장 셀들 중 대응하는 다음 저장 셀의 스캔 입력에 연결되는,
    스캔가능한 레지스터.
  2. 제 1 항에 있어서,
    상기 스위치 게이트는 패스 트랜지스터를 포함하는, 스캔가능한 레지스터.
  3. 제 1 항에 있어서,
    상기 스위치 게이트는 병렬 NMOS 및 PMOS 트랜지스터들을 갖는 전송 게이트를 포함하는, 스캔가능한 레지스터.
  4. 제 1 항에 있어서,
    상기 스위치 게이트는 병렬 NMOS 및 PMOS 트랜지스터들을 갖는 전송 게이트를 포함하는, 스캔가능한 레지스터.
  5. 제 1 항에 있어서,
    상기 스캔가능한 저장 셀들 중 적어도 하나의 저장 셀은 판독/기록 라인에 선택적으로 연결되는, 스캔가능한 레지스터.
  6. 제 1 항에 있어서,
    각각의 저장 셀의 래치는, 상기 저장 셀의 스캔 입력에 연결된 주어진 값에 응답하여, 상기 주어진 신호 신호 값으로 스위칭하는, 스캔가능한 레지스터.
  7. 제 6 항에 있어서,
    각각의 저장 셀의 래치는, 주어진 값이 상기 저장 셀의 스캔 입력으로부터 분리되는 것에 응답하여, 상기 주어진 값으로 래치하는, 스캔가능한 레지스터.
  8. 제 7 항에 있어서,
    주어진 값을 제 1 스캔가능한 저장 셀의 래치 입력으로부터 분리시키는 것과 실질적으로 동시에, 상기 스캔 클럭이 상기 저장 셀들 중 제 1 저장 셀의 스위치 게이트를 스위칭하여 상기 제 1 저장 셀의 래치 출력을 상기 저장 셀들 중 그의 대응하는 다음 저장 셀의 스캔 입력에 연결시키는 것에 응답하여, 상기 제 1 저장 셀의 래치는 상기 주어진 값으로 래치하고, 상기 저장 셀들 중 대응하는 다음 저장 셀의 래치는 상기 주어진 값으로 래치 스위칭하는, 스캔가능한 레지스터.
  9. 제 8 항에 있어서,
    상기 스캔 클럭이 상기 저장 셀들 중 제 1 저장 셀의 스위치 게이트를 OFF로 스위칭하여 상기 제 1 저장 셀의 래치 출력을 상기 저장 셀들 중 대응하는 다음 저장 셀의 스캔 입력으로부터 분리시키는 것과 실질적으로 동시에, 업데이트된 주어진 값을 상기 저장 셀들 중 제 1 저장 셀의 스캔 입력에 연결시키는 것에 응답하여, 상기 저장 셀들 중 제 1 저장 셀의 래치는 상기 업데이트된 주어진 값으로 스위칭하고, 상기 저장 셀들 중 대응하는 다음 저장 셀의 래치는, 상기 저장 셀들 중 제 1 저장 셀의 스위치 게이트의 스위칭 OFF 시에 자신의 스캔 입력 상의 주어진 값에서 래치하는, 스캔가능한 레지스터.
  10. 제 8 항에 있어서,
    상기 저장 셀들 중 제 1 저장 셀은 레지스터 파일의 제 1 저장 래치이고, 상기 저장 셀들 중 대응하는 다음 저장 셀은 상기 레지스터 파일의 제 2 저장 래치이고, 상기 스캔 클럭을 수신하지 않는 것에 응답하여, 상기 제 1 저장 래치 및 상기 제 2 저장 래치는 레지스터 판독/기록 동작들을 수행할 수 있는, 스캔가능한 레지스터.
  11. 제 10 항에 있어서,
    스캔 시프트 사이클을 갖도록 스캔 클럭을 생성하는 스캔 클럭 생성기를 더 포함하고,
    상기 스캔 시프트 사이클은, 상기 저장 셀들 중 하나의 저장 셀의 스위치 게이트를 ON으로 스위칭하고 실질적으로 그와 동시에 상기 저장 셀들 중 그의 대응하는 다음 저장 셀의 스위치 게이트를 OFF로 스위칭하는 제 1 클럭 이벤트, 및 그 후, 상기 저장 셀들 중 상기 하나의 스위치 게이트를 OFF로 스위칭하고 실질적으로 그와 동시에 상기 저장 셀들 중 상기 대응하는 다음 저장 셀의 스위치 게이트를 ON으로 스위칭하는 제 2 클럭 이벤트를 갖는, 스캔가능한 레지스터.
  12. 제 11 항에 있어서,
    연속적인 제 1 및 제 2 스캔 시프트 사이클들의 시퀀스에 응답하여 ―주어진 값은 상기 제 1 스캔 시프트 사이클에 걸쳐 상기 저장 셀들 중 하나의 저장 셀의 스캔 입력 상에 있고, 업데이트된 주어진 값은 상기 제 2 스캔 시프트 사이클에 걸쳐 상기 스캔 입력 상에 있음―, 상기 제 1 스캔 시프트 사이클의 제 1 클럭 이벤트에서 상기 저장 셀들 중 하나의 저장 셀의 래치는 상기 주어진 값으로 스위칭하고, 상기 제 1 스위치 사이클의 제 2 클럭 이벤트에서 상기 하나의 저장 셀의 래치는 상기 주어진 값에서 래치하고 상기 저장 셀들 중 대응하는 다음 저장 셀의 래치는 상기 주어진 값으로 스위칭하고, 제 2 시프트 사이클의 제 1 클럭 이벤트에서 상기 하나의 저장 셀의 래치는 상기 업데이트된 주어진 값으로 스위칭하고 상기 저장 셀들 중 상기 대응하는 다음 저장 셀의 래치는 상기 주어진 값에서 래치하고, 상기 제 2 스캔 시프트 사이클의 상기 제 2 클럭 이벤트에서 상기 저장 셀들 중 하나의 저장 셀의 래치는 상기 업데이트된 주어진 값에서 래치하고 상기 저장 셀들 중 상기 대응하는 다음 저장 셀의 래치는 상기 업데이트된 주어진 값으로 스위칭하는, 스캔가능한 레지스터.
  13. 제 11 항에 있어서,
    상기 스캔 클럭은 상기 하나의 저장 셀의 스위치 게이트의 제어 입력에 접속된 제 1 스캔 클럭 및 상기 저장 셀들 중 대응하는 다음 저장 셀의 스위치 게이트의 제어 입력에 접속된 제 2 스캔 클럭을 포함하고, 상기 제 1 스캔 클럭 및 상기 제 2 스캔 클럭 각각은 상승 및 하강 엣지들을 갖고, 상기 제 1 클럭 이벤트는 상기 제 1 스캔 클럭의 상승 엣지 및 하강 엣지 중 하나의 엣지이고, 상기 제 2 스캔 클럭은 상기 제 2 스캔 클럭의 상승 및 하강 엣지들 중 하나인, 스캔가능한 레지스터.
  14. 제 12 항에 있어서,
    상기 스캔 클럭은 상기 하나의 저장 셀의 스위치 게이트의 제어 입력에 접속된 제 1 스캔 클럭 및 상기 저장 셀들 중 대응하는 다음 저장 셀의 스위치 게이트의 제어 입력에 접속된 제 2 스캔 클럭을 포함하고, 상기 제 1 스캔 클럭 및 상기 제 2 스캔 클럭 각각은 상승 및 하강 엣지들을 갖고, 상기 제 1 클럭 이벤트는 상기 제 1 스캔 클럭의 상승 엣지 및 하강 엣지 중 하나이고, 상기 제 2 스캔 클럭은 상기 제 2 스캔 클럭의 상승 및 하강 엣지들 중 하나이고, 상기 제 1 클럭 이벤트는 상기 제 1 클럭의 상승 및 하강 엣지들 중 하나와, 상기 제 2 클럭의 상승 및 하강 엣지들 중 하나이고, 상기 제 2 클럭 이벤트는 상기 제 1 클럭의 상승 및 하강 엣지 중 나머지 하나와, 상기 제 2 클럭의 상승 및 하강 엣지의 나머지 하나인, 스캔가능한 레지스터.
  15. 제 14 항에 있어서,
    상기 제 1 스캔 클럭의 상승 및 하강 엣지들은 상기 제 2 스캔 클럭의 상승 및 하강 엣지들과 실질적으로 동시에 발생하고, 상기 제 1 스위치 게이트 및 상기 제 2 스위치 게이트의 상기 제어 입력은, 각각 상기 제 1 스캔 클럭 및 상기 제 2 클럭을 수신하기 위한 것이고, 상기 제 2 스캔 클럭의 하강 엣지 전환은 상기 제 1 스캔 클럭의 상승 엣지 전환과 시간상 실질적으로 정렬되고, 상기 제 1 스캔 클럭의 하강 엣지 전환은 상기 제 2 스캔 클럭의 하강 엣지 전환과 시간상 실질적으로 정렬되는, 스캔가능한 레지스터.
  16. 입력 및 출력을 갖는 제 1 래치, 및 입력 및 출력을 갖는 제 2 래치의 스캔 테스트를 위한 방법으로서,
    상기 제 1 래치를 주어진 스캔 데이터에 대응하는 상태로 스위칭하기 위해 상기 제 1 래치의 입력에 상기 주어진 스캔 데이터를 연결시키는 단계;
    상기 제 1 래치를 상기 상태에서 래치하기 위해, 상기 주어진 스캔 데이터를 상기 제 1 래치의 입력으로부터 분리시키는 단계;
    상기 제 2 래치를 상기 상태로 스위칭하기 위해, 상기 상태에서 래치된 동안의 상기 제 1 래치의 출력을 상기 제 2 래치의 입력에 연결시키는 단계; 및
    상기 제 2 래치를 상기 상태에서 래치하기 위해, 상기 제 1 래치의 출력을 상기 제 2 래치의 입력으로부터 분리시키는 단계를 포함하는,
    제 1 래치 및 제 2 래치의 스캔 테스트를 위한 방법.
  17. 제 16 항에 있어서,
    상기 제 1 래치를 상기 상태에서 래치하기 위해, 상기 주어진 스캔 데이터를 상기 제 1 래치의 입력으로부터 분리시키는 단계는, 상기 제 2 래치를 상기 상태로 스위칭하기 위해, 상기 상태에서 래치된 동안의 상기 제 1 래치의 출력을 상기 제 2 래치의 입력에 연결시키는 단계와 실질적으로 동시에 수행되는, 제 1 래치 및 제 2 래치의 스캔 테스트를 위한 방법.
  18. 제 16 항에 있어서,
    상기 제 1 래치를 상기 상태로 스위칭하기 위해, 상기 제 1 래치의 입력에 주어진 스캔 데이터를 연결시키는 단계는, 상기 제 1 래치의 입력과 상기 주어진 스캔 데이터의 주어진 소스 사이의 스위치 게이트를 ON으로 스위칭하는 단계를 포함하는, 제 1 래치 및 제 2 래치의 스캔 테스트를 위한 방법.
  19. 제 17 항에 있어서,
    상기 주어진 스캔 데이터를 상기 제 1 래치의 입력으로부터 분리시키는 단계는, 상기 주어진 스캔 데이터의 주어진 소스와 상기 입력 사이의 제 1 스위치 게이트를 OFF로 스위칭함으로써 수행되고, 상기 상태에서 래치된 동안의 상기 제 1 래치의 출력을 상기 제 2 래치의 입력에 연결시키는 단계는, 상기 제 1 래치의 출력과 상기 제 2 래치의 입력 사이의 스위치 게이트를 ON으로 스위칭함으로써 수행되고, 상기 OFF로 스위칭하는 것은 상기 ON으로 스위칭하는 것과 실질적으로 동시에 수행되는, 제 1 래치 및 제 2 래치의 스캔 테스트를 위한 방법.
  20. 제 18 항에 있어서,
    상기 상태로 래치된 동안의 상기 제 1 래치의 출력을 상기 제 2 래치의 입력에 연결시키는 단계는, 상기 제 1 래치의 출력과 상기 제 2 래치의 입력 사이의 스위치 게이트를 ON으로 스위칭시킴으로써 수행되는, 제 1 래치 및 제 2 래치의 스캔 테스트를 위한 방법.
  21. 제 20 항에 있어서,
    상기 제 2 래치를 상기 상태에서 래치하기 위해, 상기 상태에서 스위칭된 동안의 상기 제 2 래치의 출력을 분리시키는 단계는, 상기 제 1 래치의 출력과 상기 제 2 래치의 입력 사이의 스위치 게이트를 OFF로 스위칭시킴으로써 수행되는, 제 1 래치 및 제 2 래치의 스캔 테스트를 위한 방법.
  22. 스캔 테스트를 위한 방법으로서,
    a) 대략 N/2개의 홀수번째 저장 셀들 및 대략 N/2개의 짝수번째 스캔가능한 저장 셀들을 제공하는 단계 ―상기 저장 셀들 각각은 래치 입력 및 래치 출력을 갖는 래치를 갖고, 각각의 홀수번째 저장 셀의 래치 출력은 대응하는 다음 짝수번째 저장 셀의 래치 입력에 선택적으로 연결되고, 각각의 짝수번째 저장 셀의 래치 출력은 대응하는 다음 홀수번째 저장 셀의 래치 입력에 선택적으로 연결됨―;
    b) 반복하는 사이클들을 갖는 스캔 클럭을 생성하는 단계 ―각각의 사이클은 제 1 클럭 이벤트 및 그에 후속하는 제 2 클럭 이벤트를 가짐―;
    c) 스캔 클럭 사이클의 제 1 클럭 이벤트에 응답하여, 상기 홀수번째 저장 셀들 각각의 래치 출력을 그의 대응하는 다음 짝수번째 저장 셀의 래치 입력에 연결시켜, 그의 대응하는 다음 짝수번째 저장 셀의 래치의 상태를 상기 홀수번째 저장 셀의 래치의 상태로 스위칭하고, 상기 연결과 실질적으로 동시에, 상기 짝수번째 저장 셀들 각각의 래치 출력을 그의 대응하는 다음 홀수번째 저장 셀의 래치 입력으로부터 분리시켜, 상기 홀수번째 저장 셀의 래치의 상태를 상기 분리 전 상기 래치의 상태에서 래치하는 단계;
    d) 상기 스캔 클럭 사이클의 제 2 클럭 이벤트에 응답하여, 상기 짝수번째 저장 셀들 각각의 래치 출력을 그의 대응하는 다음 홀수번째 저장 셀의 래치 입력으로부터 분리시켜, 그의 대응하는 다음 홀수번째 저장 셀의 래치의 상태를 상기 짝수번째 저장 셀의 래치의 상태로 래치하고, 상기 분리와 실질적으로 동시에, 상기 홀수번째 저장 셀들 각각의 래치 출력을 그의 대응하는 다음 짝수번째 저장 셀의 래치 입력에 연결시켜, 상기 짝수번째 저장 셀의 래치의 상태를 상기 홀수번째 저장 셀의 래치의 상태로 스위칭하는 단계를 포함하는,
    스캔 테스트를 위한 방법.
  23. 제 22 항에 있어서,
    c) 및 d)를 대략 M회 반복하기 위해, 대략 M개의 상기 스캔 클럭의 사이클들을 생성함으로써, 래치 상태를 상기 저장 셀들 중 제 1 저장 셀로부터 대략 M개 쌍들의 저장 셀들에 걸쳐 순차적으로 더 시프트시키는 단계, 각각의 쌍은 홀수번째 저장 셀과 그의 대응하는 다음 짝수번째 저장 셀, 또는 짝수번째 저장 셀과 그의 대응하는 다음 홀수번째 저장 셀 중 어느 하나의 쌍인, 스캔 테스트를 위한 방법.
  24. 제 23 항에 있어서,
    대략 M개의 클럭 사이클들 중 적어도 하나 이후 N개의 저장 셀들 중 적어도 하나를 판독하는 단계를 더 포함하는, 스캔 테스트를 위한 방법.
  25. 제 24 항에 있어서,
    상기 판독하는 단계는 N개의 판독가능한 1 비트 저장 셀들 중 적어도 하나를 다중포트 레지스터 파일의 포트에 연결시키는 단계를 포함하는, 스캔 테스트를 위한 방법.
  26. 제 24 항에 있어서,
    상기 N개의 저장 셀들은 포트를 통해 액세스가능한 레지스터 파일의 N 비트 레지스터의 N개의 판독가능한 1 비트 저장 셀들이고, 상기 판독하는 단계는 상기 N개의 판독가능한 1 비트 저장 셀들 모두를 상기 포트에 연결시키는 단계를 포함하는, 스캔 테스트를 위한 방법.
  27. 래치 입력 및 래치 출력을 갖는 제 1 래치, 및 래치 입력 및 래치 출력을 갖는 제 2 래치를 갖는 스캔가능한 레지스터로서,
    상기 제 1 래치를 주어진 스캔 데이터에 대응하는 상태로 스위칭하기 위해 상기 주어진 스캔 데이터를 상기 제 1 래치의 래치 입력에 연결시키고, 상기 제 1 래치를 상기 상태에서 래치하기 위해 상기 주어진 스캔 데이터를 상기 제 1 래치의 입력으로부터 분리시키기 위한 수단; 및
    상기 제 2 래치를 상기 상태로 스위칭하기 위해, 상기 상태에서 래치된 동안의 상기 제 1 래치의 출력을 상기 제 2 래치의 입력에 연결시키고, 상기 제 2 래치를 상기 상태에서 래치하기 위해 상기 제 2 래치가 상기 상태로 래치된 동안 상기 제 1 래치의 출력을 상기 제 2 래치로부터 분리시키기 위한 수단을 포함하는,
    스캔가능한 레지스터.
  28. 제 27 항에 있어서,
    상기 제 1 래치를 상기 상태에서 래치하기 위해 상기 주어진 스캔 데이터를 상기 제 1 래치의 입력으로부터 분리시키기 위한 수단에 의해 수행되는 상기 분리는, 상기 제 2 래치를 상기 제 1 래치의 상태로 스위칭하기 위해 상기 제 1 래치의 출력을 상기 제 2 래치의 입력에 연결시키는 것과 실질적으로 동시에 수행되는, 스캔가능한 레지스터.
  29. 제 27 항에 있어서,
    상기 제 1 래치가 상기 상태에서 래치된 동안 상기 제 1 래치의 상태를 판독하기 위한 수단을 더 포함하는, 스캔가능한 레지스터.
  30. 제 27 항에 있어서,
    상기 제 2 래치가 상기 상태에서 래치된 동안 상기 제 2 래치의 상태를 판독하기 위한 수단을 더 포함하는, 스캔가능한 레지스터.
  31. 제 30 항에 있어서,
    상기 판독하기 위한 수단은, 상기 제 1 래치 및 상기 제 2 래치 중 적어도 하나를 다중포트 레지스터 파일의 포트에 연결시키는, 스캔가능한 레지스터.
  32. 스캔가능한 N 비트 레지스터로서,
    N개의 1 비트 저장 셀들 ―상기 저장 셀들 각각은 래치 입력 및 래치 출력을 갖는 1 비트 래치를 갖고, 대략 N/2개의 짝수번째 저장 셀들 및 대략 N/2개의 홀수번째 저장 셀들로서 배열되고, 각각의 짝수번째 저장 셀은 상기 홀수번째 저장 셀들 중 하나의 대응하는 다음 홀수번째 저장 셀을 갖고 각각의 홀수번째 저장 셀은 상기 짝수번째 저장 셀들 중 하나의 대응하는 다음 짝수번째 저장 셀을 가짐―;
    반복하는 사이클들을 갖는 스캔 클럭을 생성하기 위한 수단 ―각각의 사이클은 제 1 클럭 이벤트 및 그에 후속하는 제 2 클럭 이벤트를 가짐―;
    상기 스캔 클럭을 수신하고, 스캔 클럭 사이클의 제 1 클럭 이벤트에 응답하여, 상기 홀수번째 저장 셀들 각각의 래치 출력을 그의 대응하는 다음 짝수번째 저장 셀의 래치 입력에 연결시켜, 그의 대응하는 다음 짝수번째 저장 셀의 래치의 상태를 상기 홀수번째 저장 셀의 래치의 상태로 스위칭하고, 상기 연결과 실질적으로 동시에, 상기 짝수번째 저장 셀들 각각의 래치 출력을 그의 대응하는 다음 홀수번째 저장 셀의 래치 입력으로부터 분리시켜, 상기 홀수번째 저장 셀의 래치의 상태를 상기 분리 전 상기 래치의 상태에서 래치하기 위한 제 1 시프트 수단; 및
    상기 스캔 클럭을 수신하고, 상기 스캔 클럭 사이클의 제 2 클럭 이벤트에 응답하여, 상기 짝수번째 저장 셀들 각각의 래치 출력을 그의 대응하는 다음 홀수번째 저장 셀의 래치 입력으로부터 분리시켜, 각각의 짝수번째 저장 셀과 그의 대응하는 다음 홀수번째 저장 셀의 래치의 상태를 상기 짝수번째 저장 셀의 래치의 상태로 래치하고, 상기 분리와 실질적으로 동시에, 상기 홀수번째 저장 셀들 각각의 래치 출력을 그의 대응하는 다음 짝수번째 저장 셀의 래치 입력에 연결시켜, 상기 짝수번째 저장 셀의 래치의 상태를 홀수번째 저장 셀의 래치의 상태로 스위칭하기 위한 제 2 시프트 수단을 포함하는,
    스캔가능한 N 비트 레지스터.
  33. 제 32 항에 있어서,
    상기 스캔 클럭의 대략 M개의 사이클들을 수신하는 것에 응답하여, 상기 제 1 시프트 수단 및 상기 제 2 시프트 수단에 의해 수행되는 상기 연결 및 상기 분리는, 제 1 저장 셀로부터 대략 M개 쌍들의 저장 셀들에 걸쳐 래치 상태를 순차적으로 시프트시키고, 각각의 쌍은 홀수번째 저장 셀과 그의 대응하는 다음 짝수번째 저장 셀, 또는 짝수번째 저장 셀과 그의 대응하는 다음 홀수번째 저장 셀 중 어느 하나의 쌍인, 스캔가능한 N 비트 레지스터.
  34. 제 33 항에 있어서,
    대략 M개의 클럭 사이클들 중 적어도 하나 이후 N개의 저장 셀들 중 적어도 하나를 판독하기 위한 판독 수단을 더 포함하는, 스캔가능한 N 비트 레지스터.
  35. 제 34 항에 있어서,
    상기 판독 수단은 N개의 판독가능한 1 비트 저장 셀들 중 적어도 하나를 멀티포트 레지스터 파일의 포트에 연결시키기 위한 수단을 포함하는, 스캔가능한 N 비트 레지스터.
KR1020137010189A 2010-09-21 2011-09-21 완전한 스캔 능력을 갖는 레지스터들 KR20130069819A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/886,620 2010-09-21
US12/886,620 US8438433B2 (en) 2010-09-21 2010-09-21 Registers with full scan capability
PCT/US2011/052629 WO2012040375A1 (en) 2010-09-21 2011-09-21 Registers with full scan capability

Publications (1)

Publication Number Publication Date
KR20130069819A true KR20130069819A (ko) 2013-06-26

Family

ID=44860503

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137010189A KR20130069819A (ko) 2010-09-21 2011-09-21 완전한 스캔 능력을 갖는 레지스터들

Country Status (6)

Country Link
US (1) US8438433B2 (ko)
EP (1) EP2619765A1 (ko)
JP (1) JP2013538358A (ko)
KR (1) KR20130069819A (ko)
CN (1) CN103180909A (ko)
WO (1) WO2012040375A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014013298A1 (en) * 2012-07-20 2014-01-23 Freescale Semiconductor, Inc. Register file module and method therefor
US8829965B2 (en) 2012-08-01 2014-09-09 Qualcomm Incorporated System and method to perform scan testing using a pulse latch with a blocking gate
US9666301B2 (en) * 2014-09-16 2017-05-30 Qualcomm Incorporated Scannable memories with robust clocking methodology to prevent inadvertent reads or writes
US9678154B2 (en) * 2014-10-30 2017-06-13 Qualcomm Incorporated Circuit techniques for efficient scan hold path design
US9535123B2 (en) * 2015-03-12 2017-01-03 Texas Instruments Incorporated Frequency scaled segmented scan chain for integrated circuits
JP6491507B2 (ja) * 2015-03-20 2019-03-27 ルネサスエレクトロニクス株式会社 半導体装置、電子装置および半導体装置の自己診断方法
US10386912B2 (en) 2017-01-12 2019-08-20 International Business Machines Corporation Operating pulsed latches on a variable power supply
US11231462B1 (en) * 2019-06-28 2022-01-25 Synopsys, Inc. Augmenting an integrated circuit (IC) design simulation model to improve performance during verification

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4158240A (en) * 1977-12-19 1979-06-12 International Business Machines Corporation Method and system for data conversion
US5265045A (en) 1986-10-31 1993-11-23 Hitachi, Ltd. Semiconductor integrated circuit device with built-in memory circuit group
US6704895B1 (en) * 1987-06-02 2004-03-09 Texas Instruments Incorporated Integrated circuit with emulation register in JTAG JAP
US5257223A (en) 1991-11-13 1993-10-26 Hewlett-Packard Company Flip-flop circuit with controllable copying between slave and scan latches
JPH05273311A (ja) * 1992-03-24 1993-10-22 Nec Corp 論理集積回路
JPH06118138A (ja) * 1992-10-08 1994-04-28 Nec Corp テスト回路
US5504756A (en) 1993-09-30 1996-04-02 Intel Corporation Method and apparatus for multi-frequency, multi-phase scan chain
JPH07181229A (ja) * 1993-12-22 1995-07-21 Kawasaki Steel Corp テストデータ書き込み容易化半導体集積回路装置
JPH09203768A (ja) * 1996-01-24 1997-08-05 Sony Corp スキャン記憶装置およびスキャンパス回路
US5668490A (en) 1996-05-01 1997-09-16 Sun Microsystems, Inc. Flip-flop with full scan capability
US6380780B1 (en) 2000-06-01 2002-04-30 Agilent Technologies, Inc Integrated circuit with scan flip-flop
US6848067B2 (en) * 2002-03-27 2005-01-25 Hewlett-Packard Development Company, L.P. Multi-port scan chain register apparatus and method
US7064579B2 (en) 2002-07-08 2006-06-20 Viciciv Technology Alterable application specific integrated circuit (ASIC)
JP2004061183A (ja) 2002-07-25 2004-02-26 Renesas Technology Corp 半導体集積回路のテスト装置
JP4637512B2 (ja) * 2003-11-13 2011-02-23 ルネサスエレクトロニクス株式会社 半導体集積回路装置
CN100373772C (zh) * 2004-02-09 2008-03-05 中国科学院计算技术研究所 片上用于交流扫描测试中的快速信号产生电路
US7278076B2 (en) * 2004-06-30 2007-10-02 Intel Corporation System and scanout circuits with error resilience circuit
JP4997824B2 (ja) * 2005-12-07 2012-08-08 ソニー株式会社 半導体装置およびデータ記憶装置
KR100780947B1 (ko) * 2006-02-24 2007-12-03 삼성전자주식회사 Dram 구조의 메모리를 구비하는 디스플레이용 구동집적회로 및 디스플레이 구동방법
US8037385B2 (en) 2008-12-12 2011-10-11 Qualcomm Incorporat Scan chain circuit and method

Also Published As

Publication number Publication date
EP2619765A1 (en) 2013-07-31
US20120072793A1 (en) 2012-03-22
JP2013538358A (ja) 2013-10-10
CN103180909A (zh) 2013-06-26
WO2012040375A1 (en) 2012-03-29
US8438433B2 (en) 2013-05-07

Similar Documents

Publication Publication Date Title
KR20130069819A (ko) 완전한 스캔 능력을 갖는 레지스터들
US7590906B2 (en) Scan flip-flop circuit and semiconductor integrated circuit device
US7624322B2 (en) Scan based testing of an integrated circuit containing circuit portions operable in different clock domains during functional mode
US8479068B2 (en) Decoded register outputs enabling test clock to selected asynchronous domains
US9041429B2 (en) Sequential state elements for triple-mode redundant state machines, related methods, and systems
US20110260767A1 (en) System and device for reducing instantaneous voltage droop during a scan shift operation
US8850280B2 (en) Scan enable timing control for testing of scan cells
US7793178B2 (en) Cell supporting scan-based tests and with reduced time delay in functional mode
US5748645A (en) Clock scan design from sizzle global clock and method therefor
US9891279B2 (en) Managing IR drop
Han et al. Testing cross wire opens within complex gates
TWI435095B (zh) 具有延遲測試能力之掃描鏈單元
JPH1074400A (ja) シフト・レジスタ
US20090009182A1 (en) Circuit to provide testability to a self-timed circuit
US11519963B2 (en) Semiconductor integrated circuit having scan chains sequentially supplied with a clock signal
JPH09243705A (ja) 半導体論理集積回路
US20040019830A1 (en) Test apparatus of semiconductor integrated circuit with hold error preventing function
US6912681B1 (en) Circuit cell for test pattern generation and test pattern compression
JP2976937B2 (ja) スキャン試験回路
US20080059853A1 (en) Semiconductor Integrated Circuit
Jain et al. Testing a Transistor-Level Programmable Fabric: Challenges and Solutions
Chung et al. Low-cost scan-based delay testing of latch-based circuits with time borrowing
JP3570944B2 (ja) 半導体集積回路
TW201017194A (en) Circuit to provide testability to a self-timed circuit
Sultana et al. Testing QCA modular logic

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application