KR20010014876A - 양방향성 데이터 교환 동기화 회로 및 그의 스캔 테스트방법 - Google Patents

양방향성 데이터 교환 동기화 회로 및 그의 스캔 테스트방법 Download PDF

Info

Publication number
KR20010014876A
KR20010014876A KR1020000024315A KR20000024315A KR20010014876A KR 20010014876 A KR20010014876 A KR 20010014876A KR 1020000024315 A KR1020000024315 A KR 1020000024315A KR 20000024315 A KR20000024315 A KR 20000024315A KR 20010014876 A KR20010014876 A KR 20010014876A
Authority
KR
South Korea
Prior art keywords
scan
bus
latch
circuit
data
Prior art date
Application number
KR1020000024315A
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 KR20010014876A publication Critical patent/KR20010014876A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • 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/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

Landscapes

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

Abstract

적어도 하나의 스와퍼 회로가 버스를 공유하는 복수의 엔티티 사이에서 버스에 전기적으로 접속된다. 스와퍼는 각 데이터 방향에 대해 하나씩, 병렬 접속된 한쌍의 직렬 접속된 래치와 트리스테이트 회로를 포함한다. 스와퍼는 버스의 한쪽으로부터 진행하는 데이터를 캡쳐해서 충돌없이 다른쪽으로 데이터를 셔플링하는 리볼빙 도어로서 동작한다. 래치 회로는 버스의 한쪽 단부에 접속되어 다른쪽으로부터 도달하는 데이터를 캡쳐한다. 또한, 구동 엔티티 각각에는 제각기 스캔-인/스캔-아웃 포트를 구비한 마스터/슬레이브 래치가 제공되어, 액세스되는 각 노드에 대한 외부 접속을 요구하지 않고 회로의 내부 노드가 관측될 수 있게 함으로써 회로의 테스트를 가능하게 한다. VLSI 구성에서, 스캔-인/스캔-아웃 포트는 복수의 동기화 회로들로부터 함께 접속되어 다양한 하드웨어 구성에 대해 각종 테스트 패턴이 실현될 수 있게 한다.

Description

양방향성 데이터 교환 동기화 회로 및 그의 스캔 테스트 방법{SYNCHRONOUS BI-DIRECTIONAL DATA TRANSFER HAVING INCREASED BANDWIDTH AND SCAN TEST FEATURES}
본 발명은 전반적으로 버스를 공유하는 복수의 엔티티(a plurality of entities)간의 양방향성 데이터 전송을 위한 동기 회로(synchronous circuit)에 관한 것으로, 보다 구체적으로는 초대규모 집적(VLSI) 칩에 대해 테스트가능한 양방향성 데이터 경로를 제공하기 위한 스캔 체인(scan chain)을 더 포함하는 동기화 회로에 관한 것이다.
금속 배선은 통상 칩상의 다양한 구성요소들 또는 매크로들(macros)이 데이터 신호를 교환할 수 있게 접속하는데 사용된다. 이들 신호 배선은 상당량의 물리적 공간을 점유하므로 칩 집적 밀도에 상한을 부과할 수 있다. 더욱이, 현재의 리소그래피 배선 기법은 또한 획득가능한 배선 해상도를 제한한다. 배선 자원을 보다 잘 이용할 수 있는 한가지 방법은 매크로들간에 버스 배선을 공유시키는 것이다. 트리스테이트 버스로도 불리는 공유 배선은 둘 이상의 송신 엔티티가 버스의 상태를 제어할 수 있게 한다. 트리스테이트 버스의 단점은 통상 단 하나의 데이터 비트만이 버스 사이클당 주어진 배선을 통해 전송될 수 있다는 것이다. 따라서, 한번에 단 하나의 엔티티만이 버스를 구동할 수 있다. 버스에 접속된 다른 모든 엔티티는 자신의 순서가 아닌 경우에 충돌이 발생하지 않게 하이 임피던스 상태가 되어야 한다.
따라서, 본 발명의 목적은 구동중인 엔티티 사이에서 버스의 중심 근방에 삽입되어 동일한 클럭 사이클동안 버스상에서 역방향으로 양방향성 데이터 이동이 "스왑(swapped)"되고 충돌하지 않게 하는 동기화 회로를 제공하는 것이다.
본 발명의 또 다른 목적은 양방향성 데이터 전송을 위한 동기화 회로가 VLSI 애플리케이션내에서 쉽게 테스트될 수 있게 하는 스캔 체인을 제공하는 것이다.
도 1a는 본 발명에 따른 동기형 양방향성 데이터 회로의 블록도,
도 1b는 도 1a에 도시된 회로의 다양한 내부 노드에서 데이터 신호의 도달을 보여주는 타이밍도,
도 1c는 클럭 명칭을 보여주는 도 1의 동기형 양방향성 데이터 회로의 블록도,
도 2a는 양방향 테스트를 위한 구성을 도시하는 블록도,
도 2b는 양방향 테스트를 위한 클럭 상태를 도시하는 테이블,
도 3a는 단방향 테스트를 위한 구성을 도시한 블록도,
도 3b는 단방향 테스트를 위한 클럭 상태를 도시하는 테이블,
도 4a는 도 2a-2b 및 3a-3b에 도시된 테스트들인 스캔 기능 테스트를 위한 구성을 도시하는 블록도,
도 4b는 도 1c에 도시된 회로에서 L2* 래치가 제거된 동기형 양방향성 데이터 회로의 블록도,
도 4c는 X에서 Y로의 전송 방향에 대한 클럭 게이팅을 도시하는 테이블,
도 4d는 Y에서 X로의 전송 방향에 대한 클럭 게이팅을 도시하는 테이블,
도 5는 범용 로직으로 둘러싸여 양방향성 데이터 경로가 인접 로직의 테스트를 가능하게 하도록 스캔 인터페이스를 제공하는 방법을 설명하기 위해 사용되는 양방향성 데이터 경로 회로를 도시하는 블록도,
도 6은 반 스와퍼를 도시하는 회로도,
도 7은 구동중인 엔티티를 도시하는 회로도,
도 8은 반 스와퍼 회로의 두 번째 실시예를 도시하는 회로도,
도 9는 구동중인 엔티티의 두 번째 실시예를 도시하는 회로도,
도 10은 PFET 게이팅 트랜지스터를 갖는 반 스와퍼에 대한 세번째 실시예를 도시하는 회로도,
도 11은 게이팅한 후 구동중인 엔티티와 스와퍼에게로 스캔 및 시스템 클럭을 재구동하는 국부 클럭의 블록도,
도 12는 동기화기의 회로도,
도 13은 구동중인 엔티티에 대한 국부 클럭 구동기의 회로도,
도 14는 스와퍼에 대한 국부 클럭 구동기의 회로도,
도 15는 모든 클럭 신호, 내부 클럭 상호작용, 및 확실한 타이밍 및 본 발명에 따른 동기형 양방향성 데이터 전송 경로의 테스트에 사용되는 "스캔_인에이블"과 같은 모드 제어 비트의 타이밍도.
도면의 주요 부분에 대한 부호의 설명
100,113 : L1 래치 102, 114 : 슬레이브 L2* 래치
101, 107, 108, 112 : 트리스테이트 회로
103 : 제 1 버스 배선 시그먼트
104,111 : L1 및 L2 래치 105 : 스와퍼
106 : 제 1 L2 래치 109 : 제 2 L2 래치
110 : 제 2 버스 배선 시그먼트
115 : 구동 엔티티 X 116 : 구동 엔티티 Y
120-120n : 클럭 버퍼
본 발명에 따르면, 버스를 공유하는 복수의 엔티티 사이의 버스에 적어도 하나의 스와퍼 회로(swapper circuit)가 전기적으로 접속된다. 스와퍼 회로는 각각의 데이터 방향에 대해 병렬 접속된 한 쌍의 직렬 접속된 래치와 트리스테이트 회로를 포함한다. 스와퍼는 리볼빙 도어(revolving door)로서 동작하여 버스의 어느 한 쪽으로부터 진행하는 데이터를 캡쳐하여 충돌없이 다른 쪽으로 데이터를 셔플링(shuffling)한다. 래치 회로는 버스의 어느 한 단부에 접속되어 다른 쪽으로부터 도달하는 데이터를 캡쳐한다. 또한, 구동 엔티티 각각에는, 액세스된 각 노드에 대해 외부 접속이 필요없이 회로의 내부 도드들이 관측될 수 있게 함으로써 회로의 테스트를 가능하게 하도록 제각기 스캔-인/스캔-아웃 포트(scan-in/scan-out ports)를 구비한 마스터/슬레이브 래치가 제공된다. VLSI 장치에서 이 스캔-인/스캔-아웃 포트는 이러한 복수의 회로내에서 함께 접속되어 다양한 테스트 패턴이 다양한 하드웨어 구성을 전체적으로 검증하도록 적용될 수 있게 한다.
이상의 목적들 및 다른 목적들과 측면 및 장점들은 도면을 참조한 본 발명의 바람직한 실시예에 대한 이하의 상세한 설명으로부터 보다 잘 이해될 것이다.
이제 도면, 보다 구체적으로 도 1a를 참조하면, 본 발명에 따른 동기형 양방향성 데이터 경로 회로가 도시된다. 동기형 양방향성 데이터 경로 회로는, 왼쪽으로부터 오른쪽으로, 구동중 엔티티 X(115), 제 1 버스 배선 시그먼트(103), 스와퍼(105), 제 2 버스 배선 시그먼트(110) 및 구동중 엔티티 Y(116)를 포함한다. 도면에는 도시를 간략히 하기 위해 버스 양측에 구동중 엔티티 X 및 Y만을 도시하였지만, 주어진 애플리케이션에 따라 버스의 양측에 복수의 구동중 엔티티가 있을 수 있다.
구동중 엔티티 X(115)는 제 1 버스 시그먼트(103)를 구동하기 위한 트리스테이트 회로(101)에 접속된 출력을 갖는 L1 래치(100)를 포함한다. 슬레이브 L2* 래치(102)는 또한 L1(100)의 출력에 접속되어 L1(100)에 대해 슬레이브로서 동작한다. 구동중 엔티티 Y(116)는 사실상 구동중 엔티티 X(115)의 미러 이미지(mirror image)로서 마찬가지로 트리스테이트트리스테이트접속된 L1 래치(113)를 포함한다. 슬레이브 L2* 래치(114)는 또한 L1(113)의 출력에 접속된다. 구동중 엔티티들은 버스를 통해 전송될 데이터를 수신하기 위한 데이터 포트 및, 스캔 테스트 패턴을 소싱하고 캡쳐하기 위한 스캔 포트를 구비하여, 슬레이브 L2* 래치(102, 114)를 통해 전송되는 결과들을 제각기 테스트한다.
스와퍼(105)는 왼쪽으로부터 오른쪽으로 데이터를 전송하도록 직렬접속된 제 1 L2 래치(106) 및 트리스테이트 회로(107) 쌍과, 오른쪽으로부터 왼쪽으로 데이터를 전송하도록 직렬접속된 제 2 L2 래치(109) 및 트리스테이트 회로(108) 쌍을 포함한다. 개념적으로, 스와퍼(105)는 긴 버스상에서 중계기를 대신하는데 이용되지만, 중계기에 대비하여 스와퍼(105)는 두 버스 배선 시그먼트(103, 110)로부터의 데이터를 캡쳐해서 반대측 버스 배선 시그먼트(110, 103)로 제각기 데이터를 셔플링하는 리볼빙 도어처럼 동작한다. 리볼빙 도어와 유사하게, 각 데이터는 다른 데이터와 전기적으로 접촉하지 않는데, 그 이유는 플렉시글래스(plexiglass) 부분과 유사한 역할을 제공하는 L2 래치(106, 109)에 의해 데이터 신호가 섞이는 것을 방지하기 때문이다. 데이터는 전송 사이클 초기에 버스 배선(103, 110)상으로 구동된다. 데이터는 사이클의 중간에서 스와퍼(105)에 도달하며, 각 데이터가 다른쪽의 버스 배선 시그먼트상으로 스왑된다.
도 1b에 도시된 바와 같이, 각 사이클의 끝에서 L1 및 L2 래치(104, 111)는 버스 배선(103, 110)을 가로질러 전송된 데이터를 캡쳐한다. 사이클의 초기에 구동중 엔티티 X(115)로부터 송출된 데이터는 사이클의 끝에서 래치(111)에 캡쳐된다. 마찬가지로, 구동중 엔티티 Y(116)로부터 송출된 데이터는 래치(104)에 캡쳐된다. 두 전송은 단일의 전송 사이클내에 동시에 이루어진다. 클럭이 시스템 및 테스트 모드 동안에 래치와 트리스테이트 구동기간의 정연한 데이터 전송을 어떻게 조정하는지를 보여주기 위해 클럭 관행을 포함하는 또 다른 회로 세부가 도 1c에 포함되어 있다.
양방향성 데이터 경로가 기술되었으므로, 이제, 시스템 및 테스트 모드 동작을 지원하는데 필요한 클럭 및 래치의 개관을 설명한다. 다음으로, 구동중 엔티티 및 스와퍼 회로의 CMOS 구현이 설명된 후, 게이트 레벨의 클럭 블록이 설명된다. 마지막으로, 개요부에서 양방향성 데이터 경로와 그의 구성 회로들의 다양한 실시예들이 전반적으로 설명된다.
시스템 및 테스트 모드의 상세한 설명으로 진행하기 전에, 클럭 명칭을 살펴보는 것이 유리하다. 레벨 감지 스캔 구성(level sensitive scan design:LSSD)에서, "A" 및 "B" 클럭은 테스트 단계동안에 테스트중인 칩내로 패턴을 쉬프트시키고 그로부터 테스트 결과를 회수하기 위해 배타적으로 이용된다. "A" 및 "B" 클럭은 타이밍 감지형이 아니며 일반적으로 온 또는 오프된다. 두 클럭은 스캔 체인이 고속 소팅 모니터(speed sorting monitor)로서 동작하게 되는 드문 경우(이 경우에, 신호는 수백개의 래치를 포함하는 전체 스캔을 통해, 제조 라인에서 발생하는 광범위한 지연을 갖는 칩들을 신속히 고속 소팅하도록 플러쉬된다)를 제외하고는 거의 결코 동시에 존재하지 않는다. 이들은 교대로 사용되어(예컨대, A B A B...) 마스터-슬레이브(L1/L2) 래치 쌍의 체인을 통해 스캔 데이터를 쉬프트시킨다. 다른 한편, "C" 클럭은 시스템 클럭이다. 이들 클럭의 타이밍은 고속의 기능성 하드웨어를 성취하는데 중요하다. 이들은 시스템 동작 동안 칩내의 데이터 흐름을 조정한다.
다시 도 1a를 참조하면, L1 래치(예컨대, 래치(100, 113))는 스캔 테스트를 위한 "A" 클럭과 시스템 동작을 위한 "C1" 클럭을 수신한다. "C1" 클럭에서 "1"이라는 수는 보통 "C"클럭으로 표시되는 시스템 클럭에 대한 구체적 위상 관계를 표시한다. 마찬가지로, L2 래치(예컨대, 래치(106, 109))에 접속된 "C2" 클럭은 시스템 클럭과 상이하지만 고유 위상 관계를 갖는다. 도 1a 및 1b에 도시된 구체적 구현에서, "C1" 및 "C2" 클럭은 함께 동작(공생 관계(symbiotic relationship))하여, 당분야에서 "이중 래치(double latch)" 구조로서 알려진 것을 통해 정보를 이동시킨다. 마지막으로, L2 래치는 마스터-슬레이브 래치(104, 111)로 예시된 바와 같이 때때로 "B" 클럭을 수신한다. "B" 클럭은 또한 스캔 테스트 모드중에만 이용되는 L2* 래치(102, 114)에 항상 접속된다.
도 1b는 양방향성 데이터 경로(도 1a 참조)의 시스템 동작을 보여주는 타이밍도이다. 바람직한 실시예에서, C1 및 C2 클럭은 단일의 시스템 클럭으로부터 도출된다. 통상, 양방향성 데이터 경로의 동기 동작은, 모두 동일한 기본 주파수 또는 그의 고조파를 갖지만 상이한 위상 관계를 가질 수 있는 N개의 클럭(여기서 N은 0, 1, 2임)에 의해 조정될 수 있다. 도 1a의 클럭 버퍼(120-120n)는 국부적인 C1 및 C2 클럭을 발생하여 구동중 엔티티 X(115), 스와퍼(105) 및 구동중 엔티티 Y(116)를 구동한다. 일반적으로, C1 클럭은 시스템 클럭과 동위상이며 하강 에지에서 L1 래치내의 데이터 캡쳐를 트리거시키기 때문에 캡쳐 클럭으로 칭해진다. 하강하는 C1은 사이클의 끝을 뜻한다. C2는 시스템 클럭과 탈위상(out of phase)이며 상승 에지에서 L2 래치로부터 로직 회로(미도시됨)내로, 양방향성 데이터 경로의 경우에 배선 시그먼트(103, 110)상으로의 데이터 송출을 트리거하기 때문에 송출 클럭(launch clock)으로 칭해진다. 상승하는 C2는 도 1b에 도시된 바와 같이 사이클의 시작을 뜻한다. C2가 상승한 직후에 구동중 엔티티의 트리스테이트 구동기(101)는 신속히 노드 "DE_X"를 새로운 상태, 즉, "1" 또는 "0"으로 구동한다. 새로운 상태는 배선(103)을 통해 노드 "SW_X"로 전파된다. 새로운 상태가 노드 "SW_X"에 도달할 때 지수함수적 신호 특성을 나타내며, 통상 온칩 배선(103)이 RC 지연 특성을 나타낸다. 사이클의 중간에서 스와퍼(105)는 구동중 엔티티 X(115)로부터 발생된 신호를 배선 시그먼트(110)에게로 전송한다. 스와퍼 래치(106)는 C2 하강후에 이 새로운 상태를 캡쳐한다. C1이 상승하면, 트리스테이트 구동기(107)는 노드 "SW_Y"를 신속히 새로운 상태로 구동한다. 새로운 상태를 나타내는 신호는 배선 시그먼트(110)를 통해 전파되어 노드 "DE_Y"에 도달한다. 하강하는 C1은 래치(111)의 L1 부분에 새로운 상태를 캡쳐한다. 이렇게 해서, 구동 엔티티 X에서 발생된 데이터가 버스 시그먼트(103, 110)를 통해 구동 엔티티 Y로 전송된다. 동일한 사이클동안에 데이터는 엔티티 Y에서 엔티티 X로 전송된다.
당분야에 알려진 바와 같이, 국부적 클럭 블록(120-120n)은 C1과 C2 클럭간의 위상(타이밍) 관계를 국부적으로 조정, 즉, 프로그래밍할 수 있다. 예컨대, 짧은 경로 문제(short path problems)가 C1의 하강 에지에 대해 C2의 상승 에지를 지연시킴으로써 회피될 수 있다. 도 1b에서 하강하는 C1과 상승하는 C2가 사이클 경계에서 거의 동시에 발생함을 주목하자. 일단 이전 데이터(사이클 n-1)가 하강하는 C1에 의해 래치(104, 111)에 캡쳐되면, 구동 엔티티(115, 116)내에 유지된 새로운 데이터(사이클 n)가 상승하는 C2에 의해 배선 시그먼트(103, 110)상으로 구동된다. 피할 수 없는 스큐(skews)로 인해, 짧은 경로 문제가 발생할 수 있으며, 이에 의해 엔티티(115)로부터의 새로운 데이터(사이클 n)가 이전 데이터(사이클 n-1)에 덮어쓰여지고 상승하는 C2가 하강하는 C1에 선행할 경우 래치(104)내에 캡쳐된다. 실제 시스템에서, 클럭 전송시의 스큐는 국부적 파워 공급의 변동, 물리적 구현의 차이 등으로 인해 발생된다. 유사한 짧은 경로 문제가 스와퍼(105)의 입력 또는 출력, 즉, 구동중 엔티티에만 대비하여 노드 "SW_X" 또는 "SW_Y"에서 발생할 수 있는데, C1이 C2에 선행할 경우 이러한 짧은 경로 문제가 발생한다. 모든 짧은 경로 문제는 클럭이 국부적 레벨에서 조정가능하면 극복될 수 있다.
도 1c는 C2로 명명된 클럭이 스와퍼를 구동하는 클럭들, 구동 엔티티 X를 구동하는 클럭들, 구동 엔티티 Y를 구동하는 클럭들 및 캡쳐 래치(104, 111)를 구동하는 클럭들로 더욱 세분화될 수 있다는 사실을 강조한다. 이들 각 클럭은 국부적 레벨에서 그의 위상 관계를 조정하도록 프로그램될 수 있다. 도 1c에 도시된 다른 클럭 명칭들은 또한 양방향성 데이터 경로를 테스트하는 다양한 방법들을 설명하는데 필요하다.
이제 양방향성 데이터 경로내에 스캔 체인을 구현하는 다양한 실시예들이 설명된다. 도 2a, 3a 및 4a는 회로를 테스트 및 스캔하기 위한 세가지 상이한 방법을 도시한다. 모든 방법에서 점선(예컨대, 도 2a에서 참조부호(250) 및 참조부호(251)로 표시됨)에 부착된 화살표는 테스트 패턴이 버스를 통해 구동됨에 따라 데이터가 이동하는 방향을 표시한다. 도 5에는 일반 로직 및 래치 스트랜드(strands)로 둘러싸인 양방향성 데이터 경로가 도시되어 있다. 이것은 양방향성 데이터 경로가 인접 로직의 테스트를 가능하게 하기 위해 어떻게 스캔 인터페이스를 제공하는가를 설명하는데 사용된다. 양방향성 데이터 경로와 함께 결합된 로직으로 구성되는 상부구조(superstructure)를 고려해보면, 두 개의 사이클 테스트가 양방향성 데이터 경로를 테스트하기 위한 실행가능한 후보로서 나타난다.
이제 도 2a를 참조하면, 양방향성 데이터 흐름 버스의 시스템 모드 동작과 가장 유사한 테스트 하드웨어 및 테스트 모드가 도시된다. 두꺼운 화살표(252, 253)는 인접한 구동 엔티티를 함께 물리적으로 접속함으로써 형성된 스캔 체인을 통해 테스트 패턴이 로딩되는 방법을 보여준다. 본 실시예에서, 네 개의 X 구동 엔티티(215a-215d)가 함께 접속되고, 네 개의 Y 구동 엔티티(216a-216d)가 함께 접속된다. 두꺼운 화살표(252, 253)는 테스트 패턴 및 결과 패턴이 스캔 체인을 통해 전달되고 회수되는 방법을 예시한다. 패턴이 로딩되면, 테스트 패턴은 버스에 인가된다. 테스트 경로(251)를 따르면, 구동 엔티티 X(215)는 데이터를 구동하는데, 이 데이터는 버스 배선 시그먼트(203), 스와퍼(205) 및 버스 배선 시그먼트(210)를 통과하여 래치(211)에 캡쳐된다. 동시에, 구동 엔티티 Y는 데이터를 구동하는데, 이 데이터는 테스트 경로(250)를 따라 결과적으로 래치(204)에 캡쳐된다. 테스트 결과가 캡쳐되면, 이들 결과는 모든 캡쳐 래치(204a-204d, 211a-211d)를 함께 접속하는 스캔 체인(스캔 접속은 미도시됨)을 통해 체크를 위해 이동될 수 있다. 도 2b에 제공된 테이블은 도 2a에 도시된 하드웨어의 시스템 모드, 테스트 모드 및 스캔 모드동안에 클럭에 대한 인에이블 또는 디스에이블을 설명한다. 국부적 클럭의 경우, "E"는 클럭이 인에이블됨을 표시하고, 빈 공간은 클럭이 디스에이블됨을 표시한다. 테스트를 위한 포괄적인 클럭 시퀀스는, 우선 [1)] 테스트 벡터를 구동 엔티티내로 스캔하고, 둘째, [2)] 테스트 벡터를 양방향성 데이터 경로에 인가하며, 셋째, [3)] 테스트 결과를 스캔해내는데, 1), 2) 및 3)은
1) 스캔 모드에서, "A"로 끝나는 교번하는 "A" 및 "B" 클럭("A B A B...A B A),
2) 테스트 모드에서, "C2" 클럭 펄스 후 "C1" 클럭 펄스 송출,
3) 스캔 모드에서, "B" 클럭으로 시작하는 교번하는 "B" 및 "A" 클럭("B A B A...B A B)
이다.
본 발명의 설명에서, "인에이블(enabled)"은, 클럭 C1, C2, A 또는 B가 송출되었을 때 회로가 활성화됨을 의미한다. "활성(active)"은 래치가 투명(transparent)하고 트리스테이트 회로가 그의 출력에 부착된 노드를 "1" 또는 "0"으로 구동함을 의미한다. "온(on)"은 클럭 상태에 무관하게 회로가 활성임을 의미한다. "오프(off)" 및 "디스에이블(disabled)"은 회로가 비활성임을 의미한다. "비활성(inactive)"은 래치가 래치 동작을 수행하고 트리스테이트 회로가 하이 임피던스 상태에 있음을 의미한다.
도 3a에는 양방향성 버스에 대한 단방향 테스트가 도시되어 있고, 도 3b에는 단방향 테스트를 위한 클럭 상태를 보여주는 테이블이 도시되어 있다. 역시 테스트 패턴은 스캔 체인을 통해 로딩된다. 두꺼운 화살표(352)로 도시된 바와 같이, 테스트 패턴이 DEX들에 의해 버스의 왼쪽에만 인가되므로 왼쪽 구동 엔티티(DEX)만이 테스트 패턴으로 채워지고 결과들은 래치(311a-311d)에 의해 오른쪽에서 캡쳐된다. 이러한 기능을 실현하기 위해 스와퍼(305)는 몇몇 양방향성 데이터 경로 클럭이 "온"되고 나머지는 디스에이블될 것을 요구하는 중계기와 다소 유사하게 구성되어야 한다. 이제 도 1c에 도시된 스와퍼의 보다 상세한 개략을 고려해보자. 왼쪽으로부터 오른쪽으로 배타적으로 데이터를 구동하고 스와퍼(105)를 중계기처럼 구성하려면, L2 래치(106)와 트리스테이트 회로(107)가 데이터를 플러쉬-쓰루(flush-through)시켜야 하므로, C2_DE_TR_X 및 C1_SW_TR_XtoY 클럭이 "온"으로 게이트되어야 한다. 오른쪽으로부터 왼쪽으로의 L2 래치(109) 및 트리스테이트 회로(108)를 통한 경로는 C2_SW_L2_YtoX 및 C1_SW_TR_YtoX 클럭은 "오프"로 게이팅됨으로써 디스에이블되어야 한다. 앞서 언급된 클럭 게이팅 기법에 의해 미묘한 문제가 발생한다. 즉, 배선 시그먼트(103)에 부착된 트리스테이트 회로(101, 108)가 동시에 디스에이블될 수 있다. 이러한 상태는 테스트 벡터가 스캔 입력된 직후 및 테스트 패턴이 양방향성 데이터 경로를 통해 인가되기 직전에 발생한다. 모든 드라이버가 디스에이블되므로, 버스 배선 시그먼트가 인접 배선으로부터의 결합 또는 트랜지스터내의 누설과 같은 메카니즘에 의해 임의의 전압으로 플로팅될 수 있다. 한가지 가능한 문제는 GND(저 파워 공급)와 VDD(고 파워 공급) 사이에 존재하는 플로팅 노드(floating node) DE_X가 (104)의 L1 래치내의 트랜지스터를 턴온시킬수 있는데, 이것은 당분야에서 "IDQ" 테스트로서 알려진 정지 전류 테스트시에 대혼란을 야기하게 된다. 이러한 문제 및 다른 예측치 못한 상황을 피하기 위해, 도 2b에 도시된 바와 같이 트리스테이트 구동기(101)를 구동하는 C2_DE_TR_X 및 C1_SW_TR_XtoY를 테스트 모드중에 "온"으로 구동하여, 배선 시그먼트(103, 110)가 기지의 전압 "VDD" 또는 "GND"로 구동되고, C2_SW_L2_XtoY가 인에이블되며, C1_SW_TR_YtoX 및 C2_DE_TR_Y가 디스에이블되고, C2_SW_L2_YtoX가 인에이블 또는 디스에이블되도록 보장한다. 국부 클럭의 게이팅에 의해, 테스트 시퀀스는 양방향성 테스트에 대해 주어진 것과 동일한 3단계 프로시쥬어를 따른다. 물론, 완전한 테스트는 테스트 벡터가 Y측 구동 엔티티에 의해 인가되고 결과 벡터들이 X측의 래치(304a-304d)에 캡쳐되는 한가지 설비로 단방향 테스트가 반복될 것을 요구한다.
도 4a에는 스캐닝이 양방향성 버스의 기능 테스트를 수행하는 테스트 방법이 도시되어 있다. 교번하는 "A" 및 "B" 클럭에 의해 테스트 데이터가 버스를 통해 지그재그로 스캔 경로(460)를 통해 이동한다. 테스트 데이터는 scan_in 입력으로부터, 구동 엔티티(415a), 버스 배선 시그먼트(403a), 스와퍼(405a), 버스 배선 시그먼트(410a), 구동 엔티티(416b), 버스 배선 시그먼트(410b), 스와퍼(405b), 버스 배선 시그먼트(403b) ... 및 네 번째를 통해 scan_out MUX(465)에 의해 다른 스캔 체인으로 구동될 때까지 보내진다.
지그재그 테스트 모드의 장점은 하드웨어 하부구조를 간략화시켜서 도 1a 및 1c에 포함된 L2* 래치들(102, 104)만을 스캔해야할 필요를 제거한다는 것이다. 도 4b에는 도 1c를 대신하는 양방향성 데이터 경로의 새로운 비트 슬라이스(bit slice)가 도시되어 있다. 주된 차이는 L2* 래치가 제거된 것 이외에도 B 클럭이 C2와 함께 오어링(or)되어 스와퍼 L2 래치(406, 409)를 구동한다는 것이다. 앞서 설정된 규정에 따라, 국부 클럭 명칭은 C2orB_SW_L2_XtoY 및 C2orB_SW_L2_YtoX가 된다. 지그재그 테스트를 지원하기 위해 클럭은 도 3a에 도시된 단방향 테스트에 대한 것과 유사한 방법으로 게이팅된다. 추가된 규정은 데이터 흐름의 방향이 도 4a에 표시된 바와 같은 각 비트 슬라이스, XtoY 비트 슬라이스(1), YtoX 비트 슬라이스(2), XtoY 비트 슬라이스(3), YtoX 비트 슬라이스(4) 등을 교번한다. XtoY 전송 방향에 대한 도 4c(YtoX 전송 방향에 대한 도 4d)에 표시된 클럭 게이팅은 C2 클럭 대신에 B 클럭만이 스와퍼 L2 래치(406)(또는 409)를 통해 데이터를 구동하는 도 3b의 게이팅과 매우 유사하다. 따라서 이후 설명되는 바와 같이, 지그재그 테스트는 구동 엔티티(416a, 415b, 416c, 415d)의 기능 검증을 완전히 무시하고 단지 스와퍼(405a-405d)의 단방향 데이터 전송 능력을 입증한다. 도 4a에 도시된 모든 엔티티를 충분히 테스트하려면, 지그재그 테스트는 단지 이번에는 각 비트 슬라이스내에서 역전된 데이터 흐름으로 반복되어야 한다. 완전한 지그재그 테스트는 도 4a에 의해 도시된 바와 같은 "Z" 스타일 테스트와, 어느 도면에도 도시되지는 않았지만 바로 앞서 설명된 "S" 스타일 테스트를 요구하는 2단계 프로세스인데, 즉 "Z" 스타일 테스트 및 "S" 스타일 테스트는 다음과 같다.
"Z" 스캔 테스트(도 4a에서 데이터 흐름이 점선(460)으로 도시됨)
1) 클럭을 게이팅하여 데이터가 양방향성 데이터 경로를 통한 "Z"경로를 따름.
2) 교번하는 A 및 B 클럭(ABA...B)으로 구동 엔티티, 배선 시그먼트 및 스와퍼를 통해 데이터를 스캔함.
"S" 스캔 테스트(데이터가 "Z" 스캔 테스트와 반대 방향으로 이동함)
1) 클럭을 게이팅하여 데이터가 양방향성 데이터 경로를 통한 "S" 경로를 따름.
2) 교번하는 A 및 B 클럭(ABA...B)에 의해 구동 엔티티, 배선 시그먼트 및 스와퍼를 통해 데이터를 스캔함.
도 5에는 다른 "X" 및 "Y" 데이터 경로 로직으로 둘러싸인 양방향성 데이터 경로(580)가 도시되어 있다. 이 개략도는 두가지 이유로 유용하다. 첫째, 포위 로직의 한 사이클 테스트동안 양방향성 데이터 경로의 구동 엔티티가 캡쳐 래치로서 동작하는 방법을 예시한다. 둘째, 양방향성 데이터 경로의 두 사이클 테스트를 수행하는데 요구되는 필요한 상부구조를 제공한다.
당분야에 알려진 표준 래치 대 래치 테스트는 도 5의 데이터 경로 로직상에서 수행될 수 있다. 테스트 벡터는 L1/L2 래치(570)(또는 573)를 통해 로딩된다. 테스트 패턴은 화살표(574)(또는 575) 방향으로 데이터 경로 로직(571)을 통해 흐른다. 결과는 캡쳐되어 양방향성 데이터 경로(580)의 구동 엔티티(515)(또는 516)를 통해 스캔 출력된다. 각각의 스캔 테스트는 다른 스캔 동작으로부터 시간적으로 분리된 그 자신의 독립적인 테스트 벡터 애플리케이션과 결과 벡터의 캡쳐를 요구한다. 이 경우에 대한 유일한 예외는 도 4a에 도시된 지그재그 테스트시에 발생한다. 테스트 벡터는 두 번 인가되고 두 번 쉬프트 아웃된 후 완전한 결과 테스트 벡터로 캡쳐된다. "S" 및 "Z" 지그재그 scan_out은 각각의 새로운 테스트 벡터에 대해 수행되어 결과 벡터의 모든 비트를 쉬프트 아웃시켜야 한다. "Z"("S") 스캔은 단지 양방향성 데이터 경로내의 구동기 엔티티 비트를 하나씩 걸러 쉬프트 아웃시킨다.
도 5에 도시된 바와 같이, 데이터 경로 로직(571, 572) 및 양방향성 데이터 경로(580)에 두 사이클 테스트가 적용되었다. 화살표(576)(577)는 L1/L2 래치(570)(573)로부터 데이터 경로 로직(571)(572), 구동 엔티티 X(515)(516), 버스 배선 시그먼트, 스와퍼(505) 및 다른 버스 시그먼트를 통해 마지막으로 L1/L2 캡쳐 래치(511)(504)에 이르는 테스트 데이터의 흐름을 표시한다. 실행 사이클 표시가 또한 화살표(576, 577)내에 포함되어 있다. 2사이클 테스트는, 데이터 흐름 회로가 피드백을 갖지 않기 때문에 가능하다. 또한, 양방향성 데이터 경로는 그를 통과하는 데이터를 변환하지 않는다. 양방향성 데이터 경로는 단지 데이터를 칩의 한 영역으로부터 다른 영역으로 이동시키기 위한 채널로서 동작한다. 단일 사이클 래치 대 래치 테스트의 경우, 결과 벡터는 구동 엔티티(515)(516)내에 캡쳐된다. 2사이클 테스트의 경우, 데이터는 다음 래치 세트, 즉, L1/L2 캡쳐 래치(511)(504)까지 변경되지 않고 둘 이상의 단계를 이동한다. 어떤 새로운 테스트 벡터도 발생될 필요가 없다. 1사이클 및 2사이클에 대한 테스트 벡터는 동일하며, 결과 벡터는 단지 상이한 래치에 의해 캡쳐되어 나아간다. 2사이클 테스트에 대한 3단계 프로세스는 다음과 같다.
1) 스캔 모드에서, A로 끝나는 교번하는 A 및 B 클럭(ABA...A)을 갖는 테스트 벡터를 스캔 입력한다.
2) 시스템 모드에서, C2 클럭을 송출한 후, C1 클럭을 송출하고, 그 후 C2 클럭을 송출하고, 마지막으로 C1 클럭을 송출한다.
3) 스캔 모드에서, B 클럭으로 시작하는 결과 벡터(BAB...B)를 스캔 출력한다.
양방향성 데이터 경로의 기능 및 테스트 송출에 대한 상기한 설명에 이어서, 서브회로들에 대한 실질적인 CMOS 구현을 설명한다. 양방향성 데이터 경로는 두 개(또는 그 이상)의 반 스와퍼(도 6에 도시됨)와 두 개(또는 그 이상)의 구동 엔티티(도 7에 도시됨)를 포함한다. 완전 스와퍼(예컨대, 도 1a의 스와퍼(105))는 하나의 반 스와퍼의 입력을 다른 하나의 반 스와퍼의 출력과 접속하고 그 역으로 접속함으로써 형성된다. 반 스와퍼는 L2 래치(예컨대, 도 1a의 래치(106))와, 트리스테이트 구동기(예컨대, 도 1a의 구동기(107))를 포함한다. 도 6의 반 스와퍼를 통한 데이터 경로는 "인_스왑(in_swap)"으로부터 "아웃_스왑(out_swap)"에 이르기까지 도면중에 인버터로서 도시된 입력 로직 스테이지(600), 통과 게이트(601), NAND 게이트(602) 및 접지 인터럽트(ground interrupt)를 갖는 인버터(603)를 횡단한다. 반 스와퍼는 반전 기능을 수행하고 구동 엔티티도 그렇다(도 7 참조). 그러므로, 구동 엔티티와 스와퍼의 직렬 조합은 비반전 데이터 경로를 형성한다.
반 스와퍼의 L2 래치 부분은 서브 회로들(600, 601, 604, 605, 606)을 포함한다. 입력 로직 스테이지(600)는 반전(inversion) 또는 혼합(mixing)과 같은 로직 함수를 수행하며, "인_스왑"에서 저속으로 하강 또는 상승하는 신호의 슬루 레이트(slew rate)를 개선하여, 임의의 노이즈(특히 VDD이상 및 GND 이하에서 결합된 노이즈)를 통과 게이트(601)내로 억제한다. 국부적 C2 클럭은 다음 로직 스테이지, 즉, 통과 게이트(601)를 통한 데이터 전송을 지배한다. 국부 인버터(605, 606)는 C2 클럭의 반전 및 비반전 위상을 통과 게이트(601)에 제공한다. C2 클럭이 비활성화되고 통과 게이트(601)가 오프되면, 정적 래치(604)는 노드(642)에 저장된 데이터의 로직 상태를 유지한다. 통과 게이트(601)는 C2 클럭이 활성일 때 투명하다. C2 클럭의 두 위상은 피드백 인버터의 트리스테이트 트랜지스터(630, 631)의 게이트를 구동하며, 따라서, 피드백은 새로운 데이터가 반 스와퍼의 트리스테이트 구동기 부분내로 구동될 때 디스에이블된다.
반 스와퍼의 트리스테이트 구동기 부분은 서브 회로들(602, 603, 607, 608, 609)를 포함한다. 인버터(607, 608, 609)는 C1 클럭의 반전 및 비반전 위상을 트리스테이트 회로에 제공하며, 트리스테이트 회로는 NAND 게이트(602)와, 접지 인터럽트를 갖는 인버터(603)를 포함한다. C1 클럭의 위상에 따라, 트리스테이트 회로는 투명 상태 또는 하이 임피던스 상태로 들어간다. 하이 임피던스는, 노드(640)를 로우로 구동하여, PFET(637)에 의해 노드(643)를 하이로 구동하고 인버터(608, 609)의 지연을 제외하고는 거의 동시에, 인터럽트 트랜지스터(632)를 셧오프시킴으로써 접지 인터럽트를 갖는 인버터(603)상에 유지된다. 이러한 작용의 최종 결과는 "아웃_스왑"으로부터 인터럽트 트랜지스터(632)에 의해 디스에이블되는 접지에 이르는 경로 및 "아웃_스왑"으로부터 PFET(634)에 의해 디스에이블되는 VDD에 이르는 경로인데, 이것은 PFET(634)의 게이트가 VDD에 대해 하이로 이미 세트되어 있기 때문이다. 따라서, 반 스와퍼 출력부(603)상의 하이 임피던스가 성취된다. 트리스테이트 회로를 활성화시키기 위해, 노드(640)는 하이로 구동되어야 한다. 이 경우에, PFET(637)가 디스에이블되고 트랜지스터(636)이 턴온되어 NFET(635)의 드레인이 노드(643)에 션트되기 때문에 NAND 게이트(602)는 인버터가 된다. 마찬가지로, 트랜지스터(632)가 턴온되어 접지가 NFET(633)의 소스에 션트되기 때문에 접지 인터럽트(603)를 갖는 인버터는 인버터가 된다. 투명 모드에서 트리스테이트 회로는 노드(642)상에 저장된 상태를 출력 "아웃_스왑"으로 구동하는 두 개의 백-투-백 인버터(back to back inverter)처럼 동작한다.
도 7의 구동 엔티티를 통한 반전 시스템 데이터 경로는, "in_de"로부터 "out_de"에 이르는, 도면중에 인버터로서 도시된 입력 로직 스테이지(700), 통과 게이트(701), NAND 게이트(702) 및 접지 인터럽트를 갖는 인버터(703)을 횡단한다. 서브 회로(700)의 회로 토폴로지(topology)는 도 6의 반 스와퍼의 토폴로지와 동일하다. 두 회로 동작간의 미세한 차이는 구동 엔티티 래치가 C1 클럭을 수신하고 그의 트리스테이트 구동기가 C2 클럭을 수신하는 반면에 반 스와퍼 래치는 C2 클럭을 수신하고 그의 트리스테이트 구동기는 C1 클럭을 수신한다는 것이다. 별개의 시스템 클럭에 의해 사이클(도 1b에 도시됨)중 상이한 시점에서 트리스테이트 및 래칭 회로를 통해 데이터가 전송된다. 반 스와퍼 회로에 부가하여, 구동 엔티티는 또한 "A" 포트(771) 및 L2* 슬레이브 래치(772)를 구비하는데, 이들은 스캔 테스트에 이용된다. (L2* 래치는 도 4a 내지 4d를 참조하여 설명된 스캔 테스트 모드를 지원하는데 불필요함에 주목하자.) "A" 클럭은 "scan_in" 입력으로부터 노드(742)로 테스트 데이터를 로딩한다. "A" 클럭은 테스트 데이터가 로딩되도록 인에이블시키며, "C2" 클럭의 부가에 의해 노드(742)로부터 시스템 경로 노드(743)을 통해 진행하여 출력 "out_de"를 통해 출력되게 하는 등, 도 2a 내지 2c, 3a 내지 3c 및 4a 내지 4d를 참조한 본 명세서의 초기에 설명된 바와 같이 양방향성 데이터 경로의 다른 서브 회로들 및 배선 시그먼트를 통과하게 한다. 시스템 경로에 대한 대안은 스캔 경로이다. 역시, "A" 클럭에 의해 데이터가 "scan_in" 입력으로부터 통과 게이트(710)을 통해 노드(742)로 로딩되는데, 단지 이번에는 데이터가 계속해서 인버터를 통해 노드(745)에 이르며, "B" 클럭의 부가에 의해 두 개의 인버터를 통한 통과 게이트(711)에 의해 출력 "scan_out"으로 이동한다. 도 5를 참조하면, 결과 테스트 벡터는 도 6의 구동 엔티티에 캡쳐되어 스캔 출력될 수 있다. 도 5의 테스트 패턴(574)으로부터의 결과 데이터는 "C1" 클럭 후 "B" 클럭의 시퀀스에 의해 도 7의 구동 엔티티로부터 스캔 출력된 후 다른 구동 엔티티를 통과하여 교번하는 "A" 및 "B" 클럭에 의해 래치를 스캔한다.
도 8에는 도 6에 도시된 반 스와퍼에 대한 두 번째 실시예가 도시되어 있다.도 8의 구현에는 도 6의 구현의 경우보다 소수의 트랜지스터 및 배선 접속이 요구된다. 도 6에 도시된 초기의 실시예와 마찬가지로, 도 8의 반 스와퍼를 통한 데이터 경로는 "in_swap"로부터 "out_swap"에 이르는, 도면중에 인버터로서 도시된 입력 로직 스테이지(800), 통과 게이트(801), NAND 게이트(802) 및 접지 인터럽트를 갖는 인버터(803)를 횡단한다. 사실, 도 8의 서브 회로들은 제각기 도 6의 서브 회로들(600, 601, 602, 603)과 동일하다. 도 8에 도시된 반 스와퍼의 고유 특징은 도 6에서 사용된 분리된 정적 래치(604)와 반대로 래칭을 위한 피드백 인버터(804)를 포함한다는 것이다. 정적 래치 기능은 부분적으로는 래칭용 피드백 인버터(804)에 의해 제공되지만, 정적 래치(604)(도 6 참조)에 의해 제공되는 기능을 성취하기 위해 노드(843)를 통한 NAND 게이트(802)와의 얼마간의 통합 및 노드(840) 및 노드(849)를 통한 파생 트리스테이트 신호에 대한 접속을 요구한다. NAND 게이트(802)는 래칭용 피드백 인버터(804)와 함께 동작하여 정적 래치를 형성한다. 트리스테이트 신호를 인이에블(tris_clkn="0")시킴으로써 노드(840, 849)가 모두 하이가 된다. 회로(802, 804)는 함께 정적 래치를 형성하는 백-투-백 인버터가 된다.
회로(804)의 경우에, 활성 NFET(820)는 NFET(821)의 소스를 접지에 션트시킨다. PFET(822) 및 NFET(821)는 함께 인버터를 이룬다. 회로(802)의 경우에, PFET(837)는 디스에이블되고, 활성 NFET(836)는 NFET(835)의 드레인을 노드(843)에 션트시키므로, NFET(835)와 PFET(838)는 함께 인버터를 구성한다. 다른 한편, 트리스테이트 신호를 디스에이블(tris_clkn="1")시키면 노드(840, 849)가 접지되고, 이것은 또한 회로(804)를 하이 임피던스 상태로 세트시킨다. 노드(843)가 활성 PFET(837)에 의해 VDD로 구동되므로, PFET(822)가 디스에이블된다. 이러한 상태에서 회로(804)에 의해서는 VDD로의 어떤 경로도 제공되지 않는다. 또한, NFET(820)는 노드(849)에 접속된 그의 게이트가 접지되므로 디스에이블된다. 회로(804)는 접지로의 어떤 경로도 제공하지 않는다. 따라서, 회로(804)는 하이 임피던스 상태로 된다.
요약하면, NAND 게이트(802)는 도 8의 반 스와퍼 회로에서 이중 역할을 수행한다. NAND 게이트(802)는 래칭용 피드백 인버터(804) 및 접지 인터럽트를 갖는 인버터(803)를 부분적으로 디스에이블시켜서 이들 두 회로에 대해 하이 임피던스 상태의 확립을 돕는다. 그러므로, 래치 신호(latch_clkn) 및 트리스테이트 신호(tris_clkn)의 기능은 이러한 반 스와퍼 실시예에서 혼합된다. 래치 신호는 전하를 트랩하여 노드(842)상에 일시적으로 상태를 트랩하도록 통과 게이트(801)를 셧오프시킨다. 그러나, 노드(842)상에 저장된 상태 즉, 래치 신호를 유지하려면, 트리스테이트 신호를 송출함으로써 포지티브 피드백이 인에이블되어야 한다. 시스템 및 테스트 모드하에서 클럭은 이러한 독특한 관계를 만족시키도록 직교적으로(상보적으로) 게이팅되어야 한다.
도 9에는 도 8의 회로 개략도를 구비한 구동 엔티티의 두 번째 실시예가 도시되어 있다. 사실, 서브 회로(970)의 회로 토폴로지는 도 8에 도시된 반 스와퍼의 토폴로지와 동일하다. 두 회로 동작간의 미세한 차이는 구동 엔티티 래치가 C1 클럭을 수신하고 그의 트리스테이트 구동기가 C2 클럭을 수신하는 한편, 반 스와퍼 래치가 C2 클럭을 수신하고 그의 트리스테이트 구동기가 C1 클럭을 수신한다는 것이다. 별개의 시스템 클럭에 의해 데이터는 사이클(도 1b에 도시됨)중 상이한 시점에서 트리스테이트 및 래칭 회로를 통해 전송된다. 도 7과 마찬가지로, 구동 에티티는 "A" 포트(971)와 선택사양적인 L2* 슬레이브 래치(972)를 가지며, 이들 둘은 스캔 테스트에 사용된다. 도 9에서, L2* 슬레이브 래치는 도 7에서의 인터럽트가능 피드백(712)이 아니라 활성 피드백(912)으로 도시되어 있다.
도 10은 도 8에 도시된 반 스와퍼 회로의 세 번째 실시예를 도시하는 회로도이다. 입력 로직 스테이지(1000) 및 통과 게이트(1001)는 도 8의 것(800, 801)과 동일하다. 다른 서브 회로들은 상호교환된 PFET 및 NFET 게이팅 트랜지스터를 갖는다. 이들은 접지 인터럽트를 갖는 인버터(1003)(803)와 래칭용 피드백 인버터(1004)(804)를 포함한다. 또한, 서브 회로 NAND 게이트(802)는 NOR 게이트(1002)가 된다. 도 10의 경우와 같은 사소한 회로 토폴로지 변경에 의해, 트리스테이트 클럭 신호 및 트리스테이트 제어 노드(1043)를 반전시키는 것 이외에는 반 스와퍼 회로의 주요 기능은 거의 변경되지 않는다. 트리스테이트 신호(tris_clkn)에 의해, 노드(1040, 1049)상으로 구동된 하이 신호(도 8의 노드(840, 849)에 대한 로우 신호 대신)는 접지 인터럽트를 갖는 출력 인버터(1003)를 하이 임피던스 상태가 되게 하며, 래칭용 피드백 인버터(1004)를 디스에이블시킨다. 노드(1043)는 NFET(1022, 1034)를 디스에이블시키는 트랜지스터(1037)에 의해 접지에 션트된다. 이 상태에서, "out_swap" 또는 노드(1042)에 대해 어떤 접지로의 경로는 존재하지 않는다. 이들 동일한 노드에 대해 PFET(1020, 1032)는 하이 파워 공급 VDD로의 경로를 단절시킨다. 대조적으로, 노드(1040, 1049)상으로 로우 신호가 구동되면 노드(1042)상에 저장된 신호가 래칭용 피드백 인버터(1004)에 의해 제공되는 포지티브 피드백을 통해 정적으로 래치되고 또한 "out_swap" 출력을 통해 출력 구동된다. 단지 트리스테이트 신호 경로의 위상 변화에 의해, 도 10에 도시된 회로는 도 8에 도시된 회로와 동일한 기능을 성취한다.
도 11에는 게이팅된 후 스캔 및 시스템 클럭을 구동 엔티티 및 스와퍼들내로 재구동하는 국부 클럭 블록이 도시되어 있다. 스와퍼 및 구동 엔티티는 개별적으로 커스텀화된 국부 클럭 블록을 갖는다. 그러나 전반적으로 국부 클럭 블록은 도 11에 도시된 바와 같이 타이밍 제어 요소(1100), 동기화기(1101) 및 국부 클럭 구동기(1102)를 포함하는 공통의 서브 회로 기능을 갖는다. 타이밍 제어 요소(1100)는 래치내에 타이밍 조정 신호를 저장하거나 퓨즈의 지원으로 그들을 영구적으로 유지한다. "범용 타이밍용 A 스캔 클럭" 및 "범용 타이밍용 B 스캔 클럭"은, "A" 및 "B" 스캔 클럭이 테스트 벡터를 시스템 래치내로 쉬프트함에 따라 타이밍 조정 데이터를 타이밍 제어 요소(1100)내로 쉬프트시키는데 사용된다. 두 스캔 체인간의 차이는 타이밍 제어 래치의 내용이 시스템 동작중에 결코 변화되지 않는다는 것이다. 타이밍 조정 데이터는 테스트 또는 시스템 동작이 시작되기 전에 세트되어, 시스템 동작의 전체 기간동안 유효하게 유지되며, 따라서, 데이터 송출 및 데이터 캡쳐와 같은 중요 타이밍간에 일관성이 보장된다. 타이밍은 단지 시스템 클럭이 국부 클럭 구동기(1102)내에서 게이트 오프될때만 조정될 수 있다. 타이밍 모드 신호는, 포괄 시스템 클럭(global system clock)으로부터 도출되는 "C1" 및 "C2" 클럭의 타이밍 임계 에지를 조정하는 국부 클럭 구동기에 공급된다.
동기화기(1101)는 두 개의 분리된 타이밍 신호가 함께 결합될 때 고장에 대한 가능성을 제거하기 위해 "scan_enable"의 위상을 포괄 시스템 클럭의 위상과 일치시킨다. "scan_enable"은 국부 클럭 블록을 스캔 모드 동작(scan_enable=1) 또는 시스템 모드 동작(scan_enable=0)내로 구동한다. 본 특정 실시예에서, 동기화기는 활성 게이팅 신호가 하이인 "C2_and" 및 "C1_and"를 생성한다. 로우 "C2_and" 및 로우 "C1_and"는 국부 클럭 구동기(1102)를 시스템 모드 동작으로 세트한다. "C2_and" 및 "C1_and" 신호는 상이한 위상 관계를 갖는데, 보통 약 180도 벗어난 위상을 갖는다(사이클 경계와 사이클 클럭 에지 중간 사이에서의 관계에 따라). scan_enable 신호의 상태에 따라서, 각 게이팅 신호는 신호 지속시간이 사이클 시간의 N(N=1, 2, 3,...)배인 사이클 시간의 정수배 시간동안 지속될 수 있다.
도 12에는 동기화기의 개략도가 도시되어 있다. 동기화기에는 인버터(1200)가 포함되어, "scan_enable" 신호가, 투명해야 하는 시간동안 래치(1201)(예컨대, 통과 게이트 래치)를 덮어쓸수 있을만큼 충분한 국부 신호 강도를 갖게 보장한다. 인버터(1203, 1204)는 "C1_and" 및 "C2_and" 신호에 대해 개선된 구동 및 그에 대한 정확한 위상을 제공한다. 래치(1201, 1202)는 제각기 포괄 클럭과 동위상 및 탈위상 버전으로 클럭구동된다. 각각의 래치는 도 11에 도시된 국부 클럭 구동기(1102)내에서 발생된 C2 또는 C1 펄스와 연관되며, 그의 근원이 된다. 고 "scan_enable"은 "C1_and" 및 "C2_and"를 결국 하이로 구동함을 알 수 있다. 고 "scan_enable"은 국부 클럭 C1 및 C2를 오프로 게이팅하여 그들이 스캔 모드중에 "A" 및 "B" 클럭과 충돌하지 않게 한다. 포괄 시스템 클럭이 자유로이 동작할 수 있게 유지되는 본 특정 설계에서, "scan_enable" 신호의 상태는 동작의 모드를 규정한다. 클럭과 래치의 결합은 "scan_enable"가 하이일 때 스캔 모드 동작으로, "scan_enable" 신호가 로우일 때 시스템 모드 동작으로 디폴트(default)된다. 단지 "scan_enable"과 결합하여 스캔 클럭("A" 및 "B" 클럭)을 송출하면, 시스템 클럭(또는 "C" 클럭)과 스캔 클럭("A" 및 "B" 클럭) 사이에 직교성(orthogonality)이 보장된다.
도 2b, 3b, 4c 및 4d의 신호들과 마찬가지로, 국부 클럭 신호는 국부 클럭 구동기내에서 개발된다. 포괄 "A", "B" 및 "C"(시스템) 클럭이 양방향성 데이터 경로의 요구에 맞도록 변경될 수 있는 곳도 이들 국부 클럭 구동기내에서이다. 예컨대, 클럭 게이팅을 사용하여 그들이 스캔 모드 동작중에 래치 또는 트리스테이트 구동기에 도달하지 않도록 시스템 클럭을 디스에이블시킬 수 있다. 클럭 오어링(ORing)을 사용하여 도 4b, 4c 및 4d에 지정된 "C2orB" 신호와 같은 포괄 클럭의 조합을 생성할 수도 있다. 더욱이, 시스템 클럭의 경우에 국부 레벨에 대한 타이밍 조정을 행하여, 사이클 스틸링(cycle stealing)(머신 사이클 시간을 개선하는데 사용됨), 클럭 스트레싱(clock stressing)(제조 테스트중에 잠재적인 짧은 경로 문제를 차단해내기 위해 행해짐), 및 타이밍 완화(timing relief)(클럭 스큐(skew)와 같은 미지의 양으로부터 발생하는 예측치 못한 짧은 경로 문제를 수정하는데 사용됨)를 인에이블시킬 수 있다.
도 13에는 구동 엔티티에 대한 국부 클럭 구동기의 개략도가 도시되어 있다. 시스템 모드에서, 포괄 시스템 클럭은 4개의 반전 스테이지(1301, 1302, 1303, 1304)를 통해 전파되어 출력 C1_lat상에 비반전 펄스를 생성하며, 마찬가지로, 4개의 반전 스테이지(1305, 1306, 1307, 1308)를 통해 전파되어 출력 C2n_tri상에 비반전 펄스를 생성한다. 본 특정 실시예에서, 하강하는 포괄 클럭 에지는 새로운 사이클의 시작을 표시한다. 출력 C1_lat상의 로우 천이(low transition)는 구동 엔티티의 L1 래치를 고정 상태(hold state)로 세트한다. 출력 C2n_tri상의 로우 천이는 구동 엔티티의 L2 트리스테이트 구동기를 하이 투명 상태로 세트한다. 따라서, 하강하는 포괄 클럭 에지는 마스터-슬레이브(L1/L2 쌍) 사이클 경계 래치에서와 매우 동일한 방법으로 L1 래치내에서의 데이터의 송출 및 L2 트리스테이트 구동기로부터의 데이터 송출을 트리거시킨다. 클럭 구동기내의 반전 스테이지는 세 개의 특이한 목적을 위해 사용될 수 있는데, 첫째, 이득을 위해, 둘째, 클럭 게이팅을 위해, 셋째, 신호의 조정(steering)/라우팅(routing)(타이밍 조정)을 위해 사용될 수 있다.
스캔 모드에서, C1_lat의 클럭 게이팅은 NAND 게이트(1303)와 결합된 인버터(1309)에 의해 성취된다. "C1_and"가 하이일 때면 "C1_lat" 출력은 로우가 되어 L1 래치의 시스템 포트를 디스에이블시킨다. 자유 실행 포괄 시스템 클럭은 결코 국부 클럭 구동기를 통과하지 못한다. 다른 한편, L1 래치의 스캔 포트는 여전히 인에이블된다. "A" 및 "B" 클럭은 포괄 시스템 클럭과의 충돌을 전혀 야기하지 않고 스캔 레지스터를 통해 데이터를 쉬프트시킬 수 있다. 데이터 보전성은 보존된다. 클럭 직교성은 이러한 LSSD 기법에서 확실한 테스트를 보장함을 암시한다.
또한 도 13을 참조하면, 구동 엔티티용 국부 클럭 구동기내에서의 신호 조정은 국부적 "C1" 및 "C2" 클럭 에지에 대한 타이밍 조정이 행해질 수 있게 한다. 점선(1340, 1341)은 입력 "clkg"로부터 출력 "c1_lat"까지 클럭 구동기를 통한 다른 경로를 나타낸다. 이들 경로는 단지 회로를 통해 하강하는 "clkg"의 진행을 나타내는데, 이것은 구동 엔티티의 L1 래치가 데이터를 캡쳐하는 때 및 구동 엔티티의 트리스테이트 구동기가 그와 동일한 데이터를 송출하는 때를 지배하기 때문이다. 타이밍 모드 신호 "clk_modea"는 주어진 시점에 (1340) 또는 (1341)중 어느 경로가 선택되는지를 결정한다. 다양한 경로들의 지연은 스트레스, 사이클 스틸링 또는 완화 모드와 같은 몇가지 타이밍 모드를 지원하도록 구성될 수 있다. "clk_modea"가 로우로 세트되면, 하강하는 "clkg"에 의해 초기화되는 신호는 경로(1341)를 따른다. NAND 게이트(1311)로의 제어형 로우 입력은 비제어형 하이 입력을 NAND 게이트(1302)의 "한(a)" 입력내로 구동하여, NAND 게이트(1302)를 경로(1341)를 따라 진행하는 신호에 대한 인버터로서 작용하게 할 수 있다. 경로(1341)는 경로(1340)보다 소수의 로직 스테이지를 횡단하며, 따라서 경로(1341)는 경로(1340)보다 저 지연을 갖는다. 정규 동작중에, 클럭 회로의 전체적인 스큐가 또한 감소되도록 클럭 경로를 따른 회로 지연을 최소화하는 것이 바람직하다. 진단 및 제조 테스트 모드동안, 마진 테스트(margin test)를 개발하여 모든 동작 조건하에서 모든 클럭 회로들에 대해 적당한 타이밍 마진이 존재하도록 보장하였다. 경로(1340)는 마진 테스트에 이용되는데, 이것은 L1 래치의 캡쳐 에지를 지연시킴으로써 구동 엔티티를 지원하는 로직 및 래치들(도 5에서 구성요소들(570, 571, 572, 573))의 짧은 경로 타이밍을 억압하는 작용을 한다.
정규 동작중과 마찬가지로, 로우 "clk_modeb"는 구동 엔티티의 트리스테이트 구동기를 통해 데이터를 송출하는데 걸리는 시간을 최소화한다. 하강하는 "clkg" 이벤트는 인버터(1305), NAND 게이트(1306), 인버터(1307) 및 인버터(1308)를 통해 출력 "c2n_tri"까지 경로(1343)을 따라 진행한다. 이것은 결국 도 1c에 도시된 트리스테이트 구동기(101)를 트리거시켜서 버스 배선 시그먼트(103)상으로 데이터를 구동한다. "clk_modeb"가 하이이면, 하강하는 "clkg" 이벤트는 클럭 구동기를 통해 다른 경로를 횡단한다. 경로(1342)는 버스 시그먼트(110)상으로의 데이터의 송출을 지연시켜서, 짧은 경로 문제가 마스터-슬레이브 캡쳐 래치(111)에서 발생된 경우에 타이밍 완화를 제공한다. 명백히, 클럭 구동기 설계는 클럭 스트레스 모드와 짧은 경로 회복 모드를 다루도록 적합될 수 있다.
도 14에는 스와퍼에 대한 국부 클럭 구동기의 개략도가 도시되어 있다. 정규 동작중에, 포괄 클럭은 3개의 반전 스테이지(1401, 1402, 1403)를 통해 경로(1441)을 따라 전파되어 출력 "c1_lat"상에 반전된 펄스를 생성하며, 마찬가지로, 3개의 반전 스테이지(1404, 1405, 1406)을 통해 경로(1443)을 따라 전파되어, 출력 "c1n_tri"상에 반전된 펄스를 생성한다. 도 14는 도 13과 모든 동일한 타이밍 모드를 지원한다. 두 회로간의 차이점은 도 14에 도시된 회로는 "clkg"의 상승 에지에서 동작하는 반면에 도 13의 회로는 "clkg"의 하강하는 에지에서 동작한다는 것이다. 두 구동 엔티티 및 스와퍼는 데이터를 캡쳐하는 그들의 타이밍 임계 동작을 수행하는 즉시, 버스 배선 시그먼트상으로 그 데이터를 재구동한다. 경로(1440)는 스트레스 테스트 모드를 제공한다. 경로(1442)는 잠재적인 짧은 경로 문제에 대해 타이밍 완화를 제공한다. 하나의 반 스와퍼가 버스 배선 시그먼트상으로 새로운 데이터를 구동하면, 동일한 노드에 부착되었지만 반대 방향으로 데이터를 구동하는 다른 하나의 반 스와퍼가 동일한 버스 시그먼트상의 데이터 캡쳐를 완료한다.
도 2a 및 2b에 도시된 테스트 기법을 구현하는 하드웨어 하부구조의 세부는 다음의 도면들, 즉, 도 6 또는 도 8의 반 스와퍼, 도 7의 구동 엔티티, 도 13의 구동 엔티티용 국부 클럭 구동기 및 도 14의 스와퍼용 국부 클럭 구동기를 포함하게 되는데, 여기서 두 국부 클럭 구동기는 도 11에 도시된 바와 같이 동기화기 및 타이밍 제어 요소와 통합된다. 도 15에는 모든 클럭 신호들, 내부 클럭 상호작용 및 동기형 양방향성 데이터 전송 경로의 확실한 타이밍 및 테스트에 사용되는 "scan_enable"과 같은 모드 제어 비트가 도시되어 있다. C1_TRISTATE_DRIVER 및 C2_TRISTATE_DRIVER 신호는 양방향성 데이터 경로가 시스템 모드이냐 스캔 모드이냐에 관계없이 항상 상보형 신호이다. 이것은 트리스테이트 구동기, 즉, 하나의 구동기가 버스 배선을 접지로 구동하는 동안 다른 하나의 트리스테이트 구동기가 버스 배선을 VDD로 구동하는 것을 방지한다.
당분야에 숙련된 자라면 본 발명이 첨부된 청구범위의 사상 및 범주내에서 수정 실시될 수 있음을 이해할 것이다.
본 발명에 의하면, 구동중인 엔티티 사이에서 버스의 중심 근방에 삽입되어 동일한 클럭 사이클동안 버스상에서 역방향으로 양방향성 데이터 이동이 "스왑(swapped)"되고 충돌하지 않게 하는 동기화 회로가 제공된다.
또한, 본 발명에 의하면, 양방향성 데이터 전송을 위한 동기화 회로가 VLSI 애플리케이션내에서 쉽게 테스트될 수 있게 하는 스캔 체인이 제공된다.

Claims (17)

  1. 양방향성 데이터 교환을 동기화시키기 위한 회로에 있어서,
    ① 버스에 접속되어 서로 데이터를 송신 및 수신하는 적어도 두 개의 구동 엔티티(driving entities)―상기 적어도 두 개의 구동 엔티티는 스캔 테스트 벡터(a scan test vector)를 수신하는 스캔-인 포트(scan_in port)를 갖는 마스터 래치(master latch)를 각기 구비함―와,
    ② 상기 적어도 두 개의 구동 엔티티간의 접속점에서 상기 버스에 전기적으로 접속되어, 상기 버스상에서 양방향으로 동시에 진행하는 데이터를 캡쳐하고 상기 캡쳐된 데이터를 데이터 충돌없이 상기 버스상으로 역전송하는 스와퍼 회로(a swapper circuit)와,
    ③ 상기 버스의 한쪽 단부에서 수신되는 데이터를 캡쳐하는 캡쳐 래치(a capture latch)
    를 포함하는 양방향성 데이터 교환 동기화 회로.
  2. 제 1 항에 있어서,
    ④ 상기 마스터 래치의 출력에 접속된 입력과, 상기 스캔 테스트 벡터를 출력하기 위한 스캔-아웃 포트(scan_out port)를 갖는 슬레이브 래치(a slave latch)
    를 더 포함하는 양방향성 데이터 교환 동기화 회로.
  3. 제 1 항에 있어서,
    상기 적어도 두 개의 구동 엔티티는 상기 마스터 래치에 접속되어 상기 마스터 래치로부터 상기 버스로의 데이터 출력을 구동하는 트리스테이트 회로(a tri-state circuit)를 포함하는 양방향성 데이터 교환 동기화 회로.
  4. 제 1 항에 있어서,
    상기 스와퍼 회로는
    ㉮ 상기 버스에 접속되어 상기 버스상을 진행하는 데이터에 대해 한 방향으로 경로(a path)를 제공하는 제 1 래치 및 트리스테이트 회로 쌍과,
    ㉯ 상기 버스에 접속되어 상기 버스상을 진행하는 데이터에 대해 반대 방향으로 경로를 제공하는 제 2 래치 및 트리스테이트 회로 쌍을 포함하는
    양방향성 데이터 교환 동기화 회로.
  5. 제 4 항에 있어서,
    상기 스와퍼 회로의 상기 제 1 래치 및 상기 제 2 래치는 시스템 클럭(a system clock) 및 스캔 클럭(a scan clock)를 수신하도록 접속되는 양방향성 데이터 교환 동기화 회로.
  6. 제 2 항에 있어서,
    상기 양방향성 데이터 교환 동기화 회로가 복수개 함께 접속되는 경우, 제 1 동기화 회로의 상기 스캔-아웃 포트가 제 2 동기화 회로의 스캔-인 포트에 접속되는 양방향성 데이터 교환 동기화 회로.
  7. 양방향성 데이터 교환을 동기화시키기 위한 회로에 있어서,
    ① 버스에 접속되어 서로 데이터를 송신 및 수신하는 적어도 두 개의 구동 엔티티―상기 적어도 두 개의 구동 엔티티는 스캔 테스트 벡터를 수신하기 위한 스캔-인 포트와 상기 버스에 접속된 데이터 출력 포트를 갖는 마스터 래치를 각기 구비함―와,
    ② 상기 적어도 두 개의 구동 엔티티 사이의 접속점에서 상기 버스에 전기적으로 접속되어, 상기 버스상을 양방향으로 동시에 진행하는 데이터를 캡쳐하고 상기 캡쳐된 데이터를 데이터 충돌없이 상기 버스상으로 역전송하는 스와퍼 회로와,
    ③ 상기 버스의 한쪽 단부에서 수신된 데이터를 캡쳐하는 캡쳐 래치
    를 포함하되,
    상기 양방향성 데이터 교환 동기화 회로가 복수개 함께 접속되어 적어도 하나의 스캔 체인(scan chain)을 형성하는 양방향성 데이터 교환 동기화 회로.
  8. 제 7 항에 있어서,
    ④ 상기 스캔 테스트 벡터를 출력하기 위한 스캔-아웃 포트를 갖는 스캔 전용 래치(a scan only latch)―상기 마스터 래치의 출력은 상기 스캔 전용 래치의 입력에 접속되어 적어도 하나의 스캔 체인을 형성함―을 더 포함하는 양방향성 데이터 교환 동기화 회로.
  9. 제 7 항에 있어서,
    상기 마스터 래치의 데이터 출력 포트는 다음 마스터 래치의 상기 스캔-인 포트에 접속되며, 상기 적어도 하나의 스캔 체인은 교번하는 상기 마스터 래치와 스와퍼 회로들을 통해 전방 및 후방으로 지그재그하는 양방향성 데이터 교환 동기화 회로.
  10. 제 7 항에 있어서,
    상기 적어도 두 개의 구동 엔티티는 상기 마스터 래치에 접속되어 상기 마스터 래치로부터 상기 버스상으로의 데이터 출력을 구동하는 트리스테이트 회로를 포함하는 양방향성 데이터 교환 동기화 회로.
  11. 제 7 항에 있어서,
    상기 스와퍼 회로는
    ㉮ 상기 버스에 접속되어 상기 버스상을 진행하는 데이터에 대해 한 방향으로 경로를 제공하는 제 1 래치 및 트리스테이트 회로 쌍과,
    ㉯ 상기 버스에 접속되어 상기 버스상을 진행하는 데이터에 대해 반대 방향으로 경로를 제공하는 제 2 래치 및 트리스테이트 회로 쌍을 포함하는
    양방향성 데이터 교환 동기화 회로.
  12. 제 11 항에 있어서,
    상기 제 1 래치 및 트리스테이트 회로 쌍과 상기 제 2 래치 및 트리스테이트 회로 쌍은 시스템 클럭 및 스캔 클럭을 수신하도록 접속되는 양방향성 데이터 교환 동기화 회로.
  13. 양방향성 데이터 교환 동기화 회로를 스캔 테스트하는 방법(a method of scan testing)에 있어서,
    ① 버스에 접속되어 서로 데이터를 송신 및 수신하는 적어도 두 개의 구동 엔티티를 제공하는 단계―상기 적어도 두 개의 구동 엔티티는 스캔-인 포트를 갖는 마스터 래치를 각기 구비함―와,
    ② 상기 적어도 두 개의 구동 엔티티간의 접속점에서 상기 버스에 스와퍼 회로를 전기적으로 접속하는 단계―상기 스와퍼 회로는 상기 버스상을 양방향으로 동시에 진행하는 데이터를 캡쳐하고 상기 캡쳐된 데이터를 데이터 충돌없이 상기 버스상으로 역전송함―와,
    ③ 상기 버스의 한쪽 단부에서 수신된 데이터를 캡쳐하기 위한 캡쳐 래치를 접속하는 단계와,
    ④ 상기 마스터 래치의 출력에 접속된 슬레이트 래치를 접속하는 단계―상기 슬레이브 래치는 상기 스캔 테스트 벡터를 출력하기 위한 스캔-아웃 포트를 가짐―와,
    ⑤ 상기 구동 엔티티, 상기 스와퍼 회로, 상기 캡쳐 래치 및 상기 슬레이브 래치를 복수의 동기 클럭에 접속하는 단계와,
    ⑥ 상기 스캔-인 포트내로 스캔 테스트 벡터를 입력하는 단계와,
    ⑦ 상기 동기 클럭들의 클럭들을 인에이블시켜서, 복수의 테스트 패턴(a plurality of test patterns)중 하나에 대해 상기 회로를 통해 상기 스캔 테스트 벡터를 이동시키는 단계와,
    ⑧ 상기 스캔-아웃 포트로부터 데이터 출력을 판독하는 단계
    를 포함하는 양방향성 데이터 교환 동기화 회로를 스캔 테스트하는 방법.
  14. 제 13 항에 있어서,
    상기 테스트 패턴은 상기 스캔 테스트 벡터를 X에서 Y 방향으로 및 Y에서 X 방향으로 이동시키는 단방향성 테스트 패턴인 양방향성 데이터 교환 동기화 회로를 스캔 테스트하는 방법.
  15. 제 13 항에 있어서,
    상기 테스트 패턴은 제 1 스캔 테스트 벡터를 X에서 Y방향으로 이동시키고 제 2 테스트 벡터를 Y에서 X방향으로 이동시키는 양방향성 테스트 패턴인 양방향성 데이터 교환 동기화 회로를 스캔 테스트하는 방법.
  16. 제 13 항에 있어서,
    ⑨ 상기 스캔_아웃 포트를 복수의 상기 동기화 회로들중 다음 회로의 스캔-인스캔-아웃 접속하여 상기 복수의 동기화 회로들을 직렬로 함께 접속시키는 단계
    를 더 포함하는 양방향성 데이터 교환 동기화 회로를 스캔 테스트하는 방법.
  17. 제 16 항에 있어서,
    상기 테스트 패턴은 "S" 테스트 패턴과 "Z" 테스트 패턴중 하나인 양방향성 데이터 교환 동기화 회로를 스캔 테스트하는 방법.
KR1020000024315A 1999-05-18 2000-05-08 양방향성 데이터 교환 동기화 회로 및 그의 스캔 테스트방법 KR20010014876A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/313,261 1999-05-18
US09/313,261 US6990076B1 (en) 1999-05-18 1999-05-18 Synchronous bi-directional data transfer having increased bandwidth and scan test features

Publications (1)

Publication Number Publication Date
KR20010014876A true KR20010014876A (ko) 2001-02-26

Family

ID=23215011

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000024315A KR20010014876A (ko) 1999-05-18 2000-05-08 양방향성 데이터 교환 동기화 회로 및 그의 스캔 테스트방법

Country Status (4)

Country Link
US (1) US6990076B1 (ko)
JP (1) JP3437950B2 (ko)
KR (1) KR20010014876A (ko)
TW (1) TW480861B (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4305871B2 (ja) * 2003-09-08 2009-07-29 富士通株式会社 レジスタファイル及びその記憶素子
CN1890660A (zh) * 2003-11-19 2007-01-03 路西德信息技术有限公司 Pc总线上的多重三维图形管线的方法及系统
US20080079737A1 (en) * 2003-11-19 2008-04-03 Reuven Bakalash Multi-mode parallel graphics rendering and display system supporting real-time detection of mode control commands (MCCS) programmed within pre-profiled scenes of the graphics-based application
US7266742B1 (en) * 2004-04-06 2007-09-04 Cisco Technology, Inc. Method and apparatus for generating a local scan enable signal to test circuitry in a die
US20050273677A1 (en) * 2004-06-04 2005-12-08 Arm Limited Circuit and method for storing a signal using a latch shared between operational and diagnostic paths
US7761748B2 (en) * 2005-06-09 2010-07-20 Sony Computer Entertainment Inc. Methods and apparatus for managing clock skew between clock domain boundaries
US7487487B1 (en) * 2008-04-01 2009-02-03 International Business Machines Corporation Design structure for monitoring cross chip delay variation on a semiconductor device
US7729182B2 (en) * 2008-09-03 2010-06-01 Micron Technology, Inc. Systems and methods for issuing address and data signals to a memory array
US10156607B2 (en) * 2016-04-21 2018-12-18 Taiwan Semiconductor Manufacturing Co., Ltd. Bidirectional scan chain structure and method
US11041906B2 (en) * 2019-04-19 2021-06-22 Siemens Industry Software Inc. Optimized scan chain diagnostic pattern generation for reversible scan architecture

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5862152A (en) * 1995-11-13 1999-01-19 Motorola, Inc. Hierarchically managed boundary-scan testable module and method
US5978419A (en) * 1997-06-24 1999-11-02 Sun Microsystems, Inc. Transmitter and receiver circuits for high-speed parallel digital data transmission link
US6008821A (en) * 1997-10-10 1999-12-28 International Business Machines Corporation Embedded frame buffer system and synchronization method
US6014036A (en) * 1997-11-20 2000-01-11 International Business Machines Corporation Bidirectional data transfer path having increased bandwidth
US6256760B1 (en) * 1998-11-13 2001-07-03 Nortel Networks Limited Automatic test equipment scan test enhancement

Also Published As

Publication number Publication date
JP2000357108A (ja) 2000-12-26
US6990076B1 (en) 2006-01-24
JP3437950B2 (ja) 2003-08-18
TW480861B (en) 2002-03-21

Similar Documents

Publication Publication Date Title
JP2626920B2 (ja) スキャンテスト回路およびそれを用いた半導体集積回路装置
US5719878A (en) Scannable storage cell and method of operation
US5717700A (en) Method for creating a high speed scan-interconnected set of flip-flop elements in an integrated circuit to enable faster scan-based testing
US5900753A (en) Asynchronous interface
US6968486B2 (en) Master-slave-type scanning flip-flop circuit for high-speed operation with reduced load capacity of clock controller
US5870411A (en) Method and system for testing self-timed circuitry
JP2725258B2 (ja) 集積回路装置
CA2219847C (en) Method and apparatus for scan testing digital circuits
JP3878236B2 (ja) フリップフロップ制御器
JPH05249186A (ja) 論理回路テスト装置及び論理回路テスト方法
JP3151391B2 (ja) 集積回路テスト用ローカル・クロック発生/分配回路
US6380780B1 (en) Integrated circuit with scan flip-flop
US8117579B2 (en) LSSD compatibility for GSD unified global clock buffers
JPH05273311A (ja) 論理集積回路
US5748645A (en) Clock scan design from sizzle global clock and method therefor
KR20010014876A (ko) 양방향성 데이터 교환 동기화 회로 및 그의 스캔 테스트방법
JPH0786526B2 (ja) 複数モードのテスト装置
US5068881A (en) Scannable register with delay test capability
US6052811A (en) Method and apparatus for locating critical speed paths in integrated circuits using JTAG protocol
US7428677B2 (en) Boundary scan apparatus and interconnect test method
US5701335A (en) Frequency independent scan chain
US6771087B1 (en) System and method for testing integrated circuit modules
KR100452335B1 (ko) 고속동작 테스트가 가능한 반도체 메모리장치의 데이터확장회로 및 그 방법
US5912900A (en) Method and system for testing self-timed circuitry
JPH09243705A (ja) 半導体論理集積回路

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20000508

PA0201 Request for examination
PG1501 Laying open of application
E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20020430

NORF Unpaid initial registration fee
PC1904 Unpaid initial registration fee