KR19990010417A - 두 이진수의 신속한 비교 방법 및 장치 - Google Patents

두 이진수의 신속한 비교 방법 및 장치 Download PDF

Info

Publication number
KR19990010417A
KR19990010417A KR1019970033210A KR19970033210A KR19990010417A KR 19990010417 A KR19990010417 A KR 19990010417A KR 1019970033210 A KR1019970033210 A KR 1019970033210A KR 19970033210 A KR19970033210 A KR 19970033210A KR 19990010417 A KR19990010417 A KR 19990010417A
Authority
KR
South Korea
Prior art keywords
binary
address
circuit
binary number
output
Prior art date
Application number
KR1019970033210A
Other languages
English (en)
Other versions
KR100292644B1 (ko
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 제프리 엘. 포맨
Priority to KR1019970033210A priority Critical patent/KR100292644B1/ko
Publication of KR19990010417A publication Critical patent/KR19990010417A/ko
Application granted granted Critical
Publication of KR100292644B1 publication Critical patent/KR100292644B1/ko

Links

Landscapes

  • Tests Of Electronic Circuits (AREA)

Abstract

선정된 일련의 2진수 또는 2진수 순차의 최종 계수값을 결정하기 위한 테스트 방법과 구조가 개시되어 있다. 본 방법과 구조를 적용하는데 있어서, 상기 순차에서의 하나의 2진수 및 상기 하나의 2진수와 상기 최종 계수값과의 관계가 알려져 있다. 본 구조는 2진 디지트 출력을 발생시키기 위한 회로와, 바람직하게는 순차상으로 두번째 2진수인 상기 하나의 2진수의 적어도 일부를 저장하기 위한 장치를 포함한다. 2진수 순차는 상기 회로의 출력으로서 발생되며, 출력된 2진수는 상기 저장된 2진수의 일부와 비교된다. 다음 싸이클에서, READY 신호 뒤에 오는 상기 발생된 2진수가 상기 최종 계수값에 해당될 때, 제어 신호가 발생된다. 또한, 본 발명에서는 상기 최종 계수값을 프로그램가능하도록 하였다.

Description

두 이진수의 신속한 비교 방법 및 장치
본 발명은 일반적으로 연속된 숫자의 끝에서의 목표 숫자의 신속한 결정에 관한 것이며, 더욱 구체적으로는 일련의 숫자를 카운팅(counting)하는데 있어서 끝점을 결정하기 위한 신속한 숫자 비교에 관한 것이다. 본 발명은, 더욱 구체적인 특징에 있어서는, 증가적으로 또는 감소적으로 카운팅되거나 또는 이진 형식의 다른 형태로 생성된 사전에 설정된 또는 사전에 선택된 숫자의 시퀀스의 끝에 이 어드레스 또는 그와 유사한 숫자가 있는 최종 또는 목표 어드레스 또는 그와 유사한 형태의 이진수의 결정에 관한 것이다.
이진 어드레스 또는 다른 이진수의 비교가 숫자나 어드레스의 시퀀스 또는 급수의 끝 또는 끝점을 나타내고, 그곳에 도달되었을 때에는 어드레스 또는 숫자 비교 신호가 생성되어, 대개의 경우 소정의 더욱 세부적인 동작이나 작업을 일으키는테 사용될 것을 요구하는 경우에, 이 비교가 필요한 분야가 많이 있다.
본 발명의 특징적인 응용이 사용되는 한 환경에서는, 내장형 자기 테스트(built-in self test; BIST) 스테이트 머신(state machine)이 반도체 칩 상의 메모리를 테스트하는데 사용된다. 메모리의 테스트 중에는, BIST 스테이트 머신은 어드레스 데이타가 여러 가지 형태의 메모리로 입력되거나 그로부터 판독되는 메모리 어드레스의 급수를 시퀀싱하며, 최종 어드레스에 도달될 때까지 특정한 패턴의 데이타가 기록되거나 어드레스의 급수를 통해 판독된다. 최종 어드레스에 도달되는 때에는, 새로운 작업 또는 새로운 패턴이 동일한 메모리 또는 테스트되고 있는 다른 메모리에 생성되어, 어드레스가 특정한 작업 또는 테스트 또는 테스트 시퀀스의 끝을 알리는 곳에 도달되면, 이전의 시퀀스 동안 수행된 활동과 다른 형태의 더욱 세부적인 활동을 일으킬 신호가 생성되어야 한다.
카운터는 일반적으로 메모리를 어드레스지정하는데 사용되고, 정상적으로는 메모리의 어드레스 공간을 통해 순차적으로 증가되거나 또는 감소되고 행 (비트) 또는 열 (워드)의 차원은 가변된다. 어드레스 비교 회로는 주로 어드레스 버스를 감시하고 BIST 회로에게 메모리의 어드레스 공간이 언제 소모되는지 또는 프로그래밍된 목표 어드레스에 도달되었는지를 신호한다. 어드레스 비교 (AC) 신호의 단언(assertion)은 다음 테스트 패턴을 메모리에 가하기 시작하는 것과 같은 BIST 회로의 다음 논리 사건을 일으킨다. AC 신호가 사이클에서 더욱 초기에 생성될수록, 다음 단계의 논리회로가 값을 구하는데 사용할 수 있는 시간이 더욱 많아진다. 메모리 어드레스 필드가 계속해서 더욱 넓어짐에 따라, 더욱 많은 논리 단계가 필요하기 때문에 비교 동작이 더욱 느려지고, AC 신호가 더욱 나중에 사이클로 주입된다. 또한, 시스템 클럭 스피드가 계속해서 증가함에 따라, 상기 다음 단계의 논리회로가 더욱 짧은 사이클의 끝 이전에 값을 구하기가 더욱 어려워진다. 따라서, 어드레스의 폭 또는 시스템 사이클 시간과 무관한 AC 신호를 초기 생성할 필요가 있는 것이다.
한가지 종래 기술 (드라이벨비스(Dreibelbis) 등에 허여된 제목이 집적 회로용 내장형 자가 테스트(Built-In Self Test for Integrated Circuits)인 미합중국 특허 제5,173,906호)은 모든 어드레스 비트들을 목표 어드레스와 동시에 비교하고 동일한 사이클 내에 그 비교 결과를 다음 단계의 논리 회로에 입력하는데 사용한다. 또한, 정상적인 메모리 BIST 동작중에도, 어드레스 카운터는 어드레스 0에서 출발하여 어드레스 공간을 거쳐 미모리의 마지막 어드레스까지 증가되거나 또는 마지막 어드레스로부터 어드레스 0까지 감소된다. 그러나, 특징 부여 (디버그; debug)를 위해서는, 어드레스 공간의 한 부분 집합을 참조하는 것이 용이하며, 이때문에 프로그래밍이 가능한 최대 어드레스가 종래의 어드레스 비교 회로와 결합되어 있는 것이다. 따라서, 상기 종래의 BIST의 구현은 0으로부터 프로그래밍된 최대 어드레스까지 증가하거나, 또는 프로그래밍된 목표로부터 0으로 감소할 수 있다.
종래 기술은 두가지 문제점을 가지고 있다. 첫 번째, 어드레스와 목표 어드레스와의 실시간 비교는 AC 신호의 주입을 그 비교를 수행하는데 필요한 시간의 양만큼 지연시키고 이 지연은 어드레스 필드가 넓어짐에따라 증가된다. 두 번째 문제점은 BIST가 제1 패스 하드웨어(first pass hardware)를 디버깅(debuging)하는데 사용되는 경우에 관한 것이다. 메모리의 어드레스 복호 시스템에 문제가 있다는 것을 (만약 있다면) 발견한 이후에는, 가능하면 어드레스 지정이 가능한 메모리의 부분을 테스트하는 것이 요망된다. 이러한 방법으로, 더욱 세부적인 설계 오류 또는 마스크 결함을 밝혀낼 수 있다. 이것은, 발견된 제1 문제를 해결하였으나, 제1 패스 하드웨어 안에 있었지만 초기의 결함 메카니즘 또는 설계 오류로 인하여 검출되지 못한 부가적인 문제를 발견하게 되는 경우보다 더욱 바람직하다. 예를 들어, 메모리의 하반부에 대응하는 워드라인 (000000-011111)이 설계 오류 또는 소정의 다른 잘못된 메카니즘으로 인해 기능하지 못한다면, 메모리 BIST를 워드 라인 100000-111111 상에서 동작시켜 다른 문제를 테스트해 보기를 원할 것이다. 종래의 기술에서는, BIST는 000000-111111로부터 카운팅해 올라갈 것이다. 이로써, BIST는 워드라인 000000-011111에서 알려진 결함을 검출하게 된다. 이러한 알려진 결함을 무시하기 위해서는, 외부 테스터 코드가 각각의 BIST 패턴에 대해서 변형되어야 할 것이다. (외부 테스터는 BIST 결함 플래그를 감시한다.) 이 코드 변형이 완료되기 위해서는 시간이 걸린다. 또한, 다른 제품의 초기 하드웨어는 그 어드레스 공간의 3 사분면에서만 어드레스 지정 가능할 수도 있다. 이것은 이 제품에 유일한 외부 테스터 코드에 변형을 가할 것을 필요로 한다. 이러한 문제점의 간단하고 신속한 해결책으로는 프로그래밍 가능한 최소 어드레스의 메모리 BIST 회로에의 결합이 있다. 프로그래밍 가능한 최대 및 최소 어드레스가 있기 때문에, BIST는 어드레스 공간의 어떠한 부분집합에서도 동작될 수 있어서, 결함을 이미 이해한 메모리의 영역을 피할 수 있고, 코드 변형으로 인한 휴지기를 피할 수 있다.
한 개의 숫자 및 그 숫자와 끝 카운트 숫자까지의 연속과의 관계가 알려져 있는 이진수의 사전에 설정된 연속 또는 급수의 끝 카운트를 결정하기 위한 테스트 방법 및 구조가 제공된다. 그 구조는 이진수 출력을 생성하기 위한 회로와 상기 한 개의 수의 그 연속의 선행하는 모든 수에 대하여 유일한 적어도 어느 한 부분을 저장하기 위한 장치를 포함한다. 연속된 이진수의가 회로의 출력으로서 생성되고, 그 수는 상기 저장되어 있는 수의 부분과 비교된다. 상기 저장된 수가 카운터 출력과 비교될 때, READY 신호가 출력된다. 다음 사이클에서는, 상기 READY 신호 다음에 생성된 수가 끝 카운트 수와 부합되면 제어 신호가 생성된다. 본 발명은 또한 프로그래밍 가능한 끝 카운트 수를 고려한다.
도 1은 본 발명의 한 실시예를 도시한 개략적인 회로도.
도 2는 컴퓨터 메모리의 열 어드레스 및 행 어드레스 모두의 목표 어드레스를 검출하기 위한 본 발명의 한 실시예를 도시한 도 1과 유사한 회로도.
도 3은 컴퓨터 메모리를 테스팅하는데 있어서 목표 열 및 행 어드레스를 검출하기 위한 도 2의 실시예의 상세한 회로도.
도 4는 32 비트 광폭 어드레스의 비교를 도시한 직렬 회로도.
도 5는 부품의 수가 감소될 필요가 있는 본 발명의 한 실시예를 도시한 도면.
도면의 주요 부분에 대한 부호의 설명
10 : 비트 카운터
12 : 스테이트 머신
14 : 스캔 체인 래치
16 : 비교 논리 회로
18 : 래치
22 : NOR 게이트
도면을 상세히 설명하기 이전에, 본 발명이 다양한 환경에서 어떻게 응용되고 응용될 수 있는지 그리고 일련의 숫자들의 최종 비교가 행해지기 위해 필요한 시간을 어떻게 감소시키는지에 관한 이해를 돕기 위해 본 발명의 개념적 측면을 간단히 살펴보기로 한다.
생성된 이진 숫자를 선정되고 미리 선택된 목표 숫자와 비교할 것인지를 판단하는데 있어서, 종래 기술에서는 생성된 숫자 내의 이진 디지트 각각과 예상되는 목표 숫자 내의 이진 디지트 각각을 비교하고, 비교가 발생되는 경우, 비교 신호가 발생된다. 종래에는, 비교가 이루어지는 각각의 사이클에서, 생성된 이진 숫자의 디지트 각각이 목표 이진 숫자의 디지트 각각과 비교된다. 본 기술 분야에서 공지된 바와 같이, 비교되어질 이진 디지트가 많아질수록 비교가 행해지는 시간이 길어지는데, 즉, 단일 디지트로된 이진 숫자 2개의 단일 디지트를 비교하는 것보다 6개의 디지트로 된 이진 숫자를 또다른 6개의 디지트로 된 이진 숫자와 비교하는 데 훨씬 많은 시간이 걸리게 된다. 복수개의 디지트로 된 숫자를 비교하는 논리 회로는 단일 비교 신호를 발생시키기 위해 일련의 비교가 이루어질 것을 요구하는데, 즉, 일련의 2 비트 비교가 이루어지되, 이러한 비교는 일련으로 수행되어 각각의 디지트 모두에 대한 비교가 이루어진 이후에만 출력 신호가 제공되기 때문이다. 따라서, 비교되어질 이진 디지트의 개수가 증가할수록 일련으로 수행되어야 하는 비교 개수가 증가되므로, 비교를 위해 요구되는 시간도 증가하게 된다. 전술한 바와 같이, 다수의 예에 의하면 이러한 비교는 하나의 클럭 사이클 동안 매우 신속하게 초기에 이루어지도록 하여, 비교 신호가 초기에 발생됨에 따라 비교 신호에 의해 초기화되는 어떠한 기능이라도 사이클의 나머지 동안 실행될 수 있는 충분한 시간을 갖을 수 있도록 하고 또한, 클럭 사이클에서 어드레스가 늦지 않도록 하여 어드레스에 대응하여 실행되는 논리 회로가 클럭의 경계를 걸치게 됨에 따라 추가적인 클럭 사이클을 요구하는 일이 발생되지 않도록 하는 것이 바랍직하다.
테스팅 메모리를 포함하여, 다수의 예에 의하면, 어드레스 또는 숫자의 비교가 랜덤하게 이루어지는 것이 아니라, 연속적인 이진 숫자 시퀀스의 끝 또는 어드레스가 발생되는 것과 같이 그밖에 알려진 시퀀스의 끝에서 행해진다. 본 발명은 시퀀스 또는 일련으로 된 알려진 이전 숫자 또는 이전 숫자의 일부에서 이전 사이클에 이루어진 비교를 찾음으로써 후속 사이클 내에 목표 숫자가 생성되는 시점을 예측한다. 카운터가 연속적으로 증가되거나 감소되는 이진 숫자들을 생성하는 예에 의하면, 이 숫자들을 이용하여 최종 숫자 또는 어드레스의 발생이 이전 사이클 또는 이전 카운트에서 예측되고, 다음에 이어지는 사이클 또는 최종 숫자의 최종 카운트에 도달할 때, 활성 신호를 인에이블링하거나, 대응되는 복수의 비트 비교가 매우 신속하게 행해질 수 있는, 단일 비트 비교를 수행함으로써 신호를 생성하는데, 이로써 단점(end point) 또는 최종 또는 목표 숫자 또는 어드레스에 도달했음을 신호로 알릴 수 있게 된다. 단점에 대한 판단은 이러한 최종 사이클에서 매우 초기에 완료되므로, 어드레스 또는 숫자가 비교되었다는 표시가 나타나면 이후에는 어떠한 태스크라도 실행될 수 있도록 클럭 사이클 시간의 주된 부분을 남기게 된다. 이 때문에, 예를 들어, 비스트(BIST) 테스터에서는 주어진 메모리 상의 다음 테스트 시퀀스로 이동될 수 있거나 또는 다른 메모리 상의 테스트 또는 적합한 다른 태스크로 이동될 수 있다. 따라서, 근본적으로, 본 발명은 최종 숫자에 도달하기 이전 사이클에서 복수개의 비트를 비교하고 이 정보를 래칭 또는 그밖의 동작을 통해 저장한다. 그런 후에, 한 실시예에서는 다음에 연속되는 이진 숫자에 해당하는, 최종 숫자가 도달하면, 신속하게 비교가 이루어지고 그 클럭 사이클의 초기에 어드레스 비교 신호가 발생한다. 또다른 실시예에서는, 일련으로 된 전체 숫자 중에서 패널티메이트 숫자가 비교 숫자로서 로드되고, 비교가 이루어지면, 이러한 비교는 래치에 저장된다. 목표 숫자를 나타내는 다음의 후속 카운트에서, 최종 사이클 내 래치의 출력 및 인에이블 신호의 활성화에 기초하여 AC 신호가 발생된다. 많은 개수의 디지트를 가지고 있는 숫자의 비교는 이러한 최종 사이클에서 요구되지 않는다.
전술한 기능을 기능적으로 수행할 논리 회로가 도1에 도시되어 있다. 회로의 기본적이고 단순한 형태에 의하면, 이진 숫자를 한 비트씩 출력하고 증가시키거나 감소시킬 수 있는 스테이트 머신(state machine, 12)의 일부분으로서 비트 카운터(10)가 제공되고, 마지막의 이전(목표 이전에 있는) 숫자가 프로그램되는 스캔 체인 래치(scan chain latch, 14)가 제공된다. 비트 카운터(10) 및 래치(14)로부터의 비트는 비트 비교 논리 회로(16)에 부가되는데, 여기서 각각의 비트에 대한 비교가 행해진다. 프로그램된 패널티메이트 숫자의 모든 비트가 카운터(10)의 출력과 비교될 때 회로(16)는 래치(18)에 액티브 로우 준비 출력 신호를 제공한다. 래치(18)로부터의 출력은 NOR 게이트(22)에 대한 입력으로서 제공된다. 스테이트 머신(12)로부터의 인에이블 카운트(EC) 신호는 NOR 게이트(22)으로의 또 하나의 입력으로서 제공된다. EC 신호는 또한, 카운터(10)의 클럭으로 게이팅하기 위해 스테이트 머신(12)의 내부에서 이용된다. EC가 하이로 되면, 카운터는 디스에이블되고 그의 출력으로서 현재의 주소를 유지한다. EC가 액티브 로우 상태로 되면, 카운터(10)는 클럭킹될 때 그의 다음 주소로 증가되거나 감소될 수 있다. 모출원, 복수의 메모리를 위한 비스트 테스터에 의하면, EC 신호의 주파수는 테스트 패턴에 의존적이었다. EC는 한 사이클마다, 두번째 사이클마다, 네번째 사이클마다, 또는 여덟번째 사이클마다, 액티브 로우 상태로 될 수 있다. 따라서, 카운터의 출력은 최대 8개의 사이클 동안 동일한 카운트 상에 남아 있을 수 있다. 스테이트 머신(12)는 또한 래치(18)에 대해 데이터 포착 클럭(data capture clock)으로서 게이트된 카운터 클럭을 제공한다. 따라서, EC가 액티브 로우 상태로 되고 카운터의 클럭이 인가되는 현재의 카운트 상의 최종 사이클까지, 래치(18)는 프로그램된 패널티메이트 숫자와 현재 어드레스 버스 상의 카운트를 비교한 결과를 포착하지 않는다. 다음 사이클의 시작 시점에, 카운터(10)는 그의 다음 주소를 출력하고 래치(18)는 방금 포착된 값을 출력한다. NOR 게이트(22)로의 양쪽 입력이 로우로 되면, 이는 프로그램된 패널티메이트 숫자와 현재 카운트 사이에 비교가 성공적으로 이루어졌으며 이것이 NOR 게이트(22)의 출력이 하이로 활성화되는 목표 카운트에서의 마지막 사이클임을 표시하는 것이다. 마지막의 이전 어드레스에서의 비트 비교 회로(16) 내에서 이루어지는 어드레스 비트의 폭넓은 비교는 목표 어드레스에서의 최종 사이클 내에 NOR 게이트(22)를 통과하는 지연보다 시스템 사이클의 훨씬 많은 부분이 걸린다는 것을 기억하여야 한다. 이러한 동작은 도3의 테이블1에 관한 설명에서 좀더 상세히 설명되고 좀더 명확해질 것이다.
도 2는 도 1과 유사한, 개략적인 회로도로서, 때로는 독립적으로 때로는 상호적으로, 열 어드레스 및 행 어드레스 모두를 비교하는 것이 필요한 테스팅 메모리에서 본 발명이 어떻게 이용되는지를 나타내고 있다. 도2에 보이는 바와 같이, 도1에 도시된 회로와 유사한 2개의 회로가 조합되어 열 어드레스 비트 및 행 어드레스 비트의 비교를 제공하는 것이다. 열 어드레스 비트 카운터(10a) 및 행 어드레스 비트 카운터(10b)가 스테이트 머신(12)에 제공된다. 목표 열 어드레스의 바로 이전 숫자를 구성하는 열 어드레스가 프로그래머블 스캔 체인 래치(programmable scan chain latch, 14a)에 저장되고, 목표 행 어드레스의 바로 이전 숫자가 프로그래머블 스캔 체인 래치(14b)에 저장된다. 카운터(10a)로부터의 비트가 비트 비교 회로(16a) 내의 스캔 체인 래치(14a)에 저장된 비트와 비교된다. 열 어드레스 비교 회로(16a)는 래치(18a)로 그 비교 결과를 출력하고 비트 비교에 대한 출력(BITCMPN)은 NOR 게이트(22)의 하나의 입력으로서 출력된다. 비교 회로(16b) 내에서 행 어드레스 카운터(16b)의 출력과 스캔 체인 래치(14b)에 저장된, 목표 행 어드레스 이전 숫자에 대해서도 유사한 비교가 이루어지며, 그 출력은 래치(18b)에 래치된다. 래치(18b)의 출력에 해당하는, 워드 비교(WDCMPN)는 NOR 게이트(22)의 하나의 입력으로서 출력된다. BITCMPN 및 WDCMPN은 또한 열 어드레스 비트 카운터(10a) 및 행 어드레스 비트 카운터(10b)의 논리 회로 각각으로 전달된다. 이러한 신호들은 EC 신호와 함께 이용되어 카운터들이 그들 각각의 목표 어드레스에 도달하게 되면 이 카운터들을 다시 각각의 시작 주소로 재설정하게 된다. 행 및 열 어드레스의 목표 이전 숫자에 대한 비교가 있고 액티브 로우 신호 인에이블 카운트 신호가 NOR 게이트(22)에 부가됨을 표시하면서, 래치(18a 및 18b) 모두가 액티브 로우 비교 신호를 출력하면, 열 어드레스 및 행 어드레스 모두에 대한 목표 어드레스에서의 최종 사이클임을 표시하는 액티브 하이 어드레스 비교 신호를 NOR 게이트(22)가 출력한다. NOR 게이트 AT로의 세번째 입력으로서 EC 신호는 목표 숫자에서의 마지막 사이클까지 AC 신호가 액티브 하이 상태로 되는 것을 방지한다. 예를 들어, EC 신호가 네번째 신호마다 액티브 로우 상태로 된다면, 카운터는 4개의 사이클 동안 동일한 주소에 남아 있을 것이다. NOR 게이트(22)로의 그밖의 2개 입력(BITCMPN, WDCMPN)은 목표 어드레스에서의 4개 사이클 전부 동안 액티브 로우 상태인 반면에, AC 신호가 목표 어드레스의 마지막 사이클 동안 액티브 하이 상태로 되는 목표 어드레스 사이클에서 네번째 사이클이 시작될 때까지 AC 신호는 액티브 로우 상태로 되지 않는다. EC 신호는 또한, 열 카운터(10a)의 클럭, BITCLK 및 행 카운터(10b)의 클럭, WDCLK의 발생을 게이팅하기 위해 스테이트 머신(12)에 의해 내부적으로 이용된다. 상태 기계는 래치(18a)에 데이터 포착 클럭으로서 BITCLK를 제공하고, 래치(18b)에 데이터 포착 클럭으로서 WDCLK를 제공한다.
본 회로는 열 어드레스 카운터(10a)나 행 어드레스 카운터(10b)의 카운트가 최종 숫자에 도달하여 거기에 머물도록, 따라서 비교를 나타내는 신호를 출력하고 다른 회로가 비교에 도달하도록 기다리고 그후 NOR 게이트(22)로부터의 출력 비교 신호를 생성하도록 프로그램될 수 있는데 이는 소정 타입의 메모리 테스트에서 요구되는 비교의 모드이다. 혹은 리세트하고 열 어드레스와 행 어드레스가 같은 클럭 사이클에서 비교될 때까지 계수를 계속하도록 카운터를 프로그램할 수 있는데, 이는 또한 소정 타입의 메모리 테스트에 요구된다.
두 이진 어드레스의 비교에서 가장 중요한 것은 시간이 소요되는 모든 비트의 비교가 최종 카운트 도달 전의 카운트에서 수행되고, 따라서 최종 카운트의 마지막 클럭 사이클에서 어드레스 비교 신호가 매우 빨리 생성되어 남은 클럭 사이클 시간동안 어드레스 비교 신호의 생성후에 수행되어야 하는 작업들을 수행하는 것이 가능하도록 하여야 한다는 것이다.
어드레스 비교기와 함께 사용된 전형적인 어드레스 카운터의 동작에 대한 더 상세한 설명은 제목이 집적 회로의 내장형 자기 테스트(Built-In Self Test for Intergrated Circuits)이고 드라이벨비스(Dreibelbis) 등에 의해 출원된 미국 특허 제5,173,906호에 개시되어 있다. 본 발명의 이해를 돕기 위해 어드레스 카운터/어드레스 비교기의 동작의 개요가 표 1에 개시되어 있다. 그러나, 비교기 회로는 다른 타입의 카운터나 숫자 생성기(예를 들어 마이크로프로세서)와도 사용될 수 있다는 것에 주목하여야 한다.
0 0 1 1 0 1 1 0
0 0 * 1 1 0 1 0 0
1 1 1 1 0 1 1 0
1 1 * 1 1 0 1 0 0
2 10 1 1 0 1 1 0
2 10 * 1 1 0 1 0 0
3 11 0 0 0 1 1 0
3 11 * 0 0 0 * 1 0 0
0 0 1 1 1 1 1 0
0 0 * 1 1 1 1 0 0
1 1 1 1 1 1 1 0
3 11 * 0 14 1110 * 1 0 0
0 0 1 15 1111 0 1 0
0 0 * 1 15 1111 0 0 0
1 1 1 15 1111 0 1 0
1 1 * 1 15 1111 0 0 0
2 10 1 15 1111 0 1 0
2 10 * 1 15 1111 0 0 0
3 11 0 15 1111 0 1 0
3 11 * 0 15 1111 * 0 0 0
0 0 * 1 0 0 1 0 1
1 1 * 1 0 0 1 0 0
2 10 * 1 0 0 1 0 0
3 11 * 0 0 0 * 1 0 0
0 0 * 1 1 1 1 0 0
2 10 * 1 15 1111 0 0 0
3 11 * 0 15 1111 * 0 0 1
0 0 * 1 0 0 1 0 0
표 1은 예를 들어 4 열과 16 행으로 구성된 메모리를 어드레싱하기 위해 사용되는 전형적인 카운터의 동작을 도시하고 있다. 사용된 어드레스 카운터는 실제로는 2개의 카운터로 하나는 열 어드레싱을 위한 것이고 다른 하나는 행 어드레싱을 위한 것이다. 신호 BITCLK 신호는 열 카운터를 현재 열 어드레스에서 다음 열 어드레스로 진행시키거나 감소시키는데 사용되고 신호 WORDCLK는 행에 대해 동일한 기능을 수행한다. BITCLK와 WORDCLK는 제어 로직, 본 경우에는 메모리 BIST 스테이트 머신에 의존하는 테스트 패턴으로부터 도출되고 EC 신호에 의해 게이트된다. 메모리의 시작 어드레스는 0 열 0 행이다. 표 1은 열 차원이 더 빨리 변화하는(rippled) [증가되는(incremented)] 것을 도시하고 있다. 즉, 열 카운터가 0에서 3으로 증가할 때까지 행 카운터는 동일한 행을 가리키고 있다 (물론 행 차원이 더 빨리 변화하도록 어드레스 카운터를 동작시키는 것도 가능하다). EC 신호가 매 2 초마다 액티브 로우상태로 되므로 BITCLK는 표 1의 상부에 별표로 표시된 것처럼 2 초마다 한번씩만 인가된다. 따라서 현재 어드레스 공간을 스위프(sweep)하는 동안 카운터는 2 사이클 동안 각 어드레스에 남아 있다. 이 동작 모드는 예를 들어 제1 사이클에 어드레스 위치를 기록하고 다음 메모리 위치로 진행하기 전에 제2 사이클에 데이타를 다시 판독하는데 사용될 수 있다. 제1 사이클에서 열 어드레스 3, 행 어드레스 0에서 어드레스 비교기 출력인 비트 비교(BITCMPN)는 액티브 로우 상태가 된다. BITCMPN이 행으로 감에 따라 열 목표 어드레스에 도달했고 열 카운터가 다음 클럭에서 시작 어드레스로 리세트되어야 한다는 것을 제어 로직과 열 카운터에 알리게 된다. 제2 사이클에서 열 어드레스 3, 행 어드레스 0에서 BITCMPN은 다시 액티브 로우가 되고 BITCLK 와 WORDCLK가 모두 인가되어 열 카운터가 0으로 리세트되고 행 카운터가 1로 진행하게 된다. 어드레스 카운터는 이와 같은 방식으로 어드레스 비교기 출력 워드 비교(WDCMPN)가 액티브 로우 상태가 되는 열 어드레스 0, 행 어드레스 15의 제1 사이클 까지 계속 증가한다. WDCMPN이 행으로 감에 따라 행 목표 어드레스에 도달했고 행 카운터가 다음 클럭에서 시작 어드레스로 리세트되어야 한다는 것을 제어 로직과 열 카운터에 알리게 된다. 어드레스 카운터가 목표 어드레스(3열, 15행)를 향해 진행하는 동안 어드레스 비교기는 WDCMPN을 로우 상태로 유지시킨다. 목표 어드레스의 양 사이클 동안 어드레스 비교 회로는 BITCMPN과 WDCMPN을 둘다 액티브 로우 상태로 만든다. 목표 어드레스의 제2 사이클에서 EC는 액티브 로우 상태가 되어, AC가 액티브 하이 상태가 되고 BITCLK와 WORDCLK가 인가되도록 하고, 이에 따라 어드레스 카운터가 다음 사이클의 시작에서 시작 어드레스(0열, 0행)로 리세트된다. 표 1의 하부는 BITCLK가 매 사이클마다 인가되고 이에 따라 카운터가 어드레스 공간의 다음 수위프 동안 한 사이클 동안만 소정의 어드레스를 유지하는 것을 도시하고 있다.
표 1에는 몇가지 점이 강조되고 있다. 표 1은 카운터가 하나 이상의 사이클 동안 같은 어드레스를 유지할 수 있다는 것과, 열(BITCMPN=0), 행(WDCMON=0) 및 어드레스(AC=1) 비교가 수행될 때 BITCLK와 WORDCLK의 기능, EC신호의 게이팅 작용을 도시하고 있다.
이제 도 3을 참조하면, 메모리를 어드레싱하기 위한 5 비트 열 어드레스와 6 비트 행 어드레스를 비교하기 위한, 본발명에 따라 표 1에 도시된 동작을 수행할 수 있는 어드레스 비교 기능의 더 상세한 회로 구현이 도시되어 있다. 더욱이 본 회로는 증가할때와 감소할때 끝점을 테스트하기 위한 프로그램 가능한 숫자를 갖는다. 이 회로의 기능은 도 2의 회로와 본질적으로 동일하다. 열 어드레스 회로부는 박스 30에 도시되어 있고 행 어드레스 회로부는 박스 32에 도시되어 있다. 열 어드레스 회로부는 카운트를 증가시키기 위한 페널티메이트 숫자를 저장하기 위한 프로그램 가능한 스캔 체인 래치 LA, LB, LC, LD 및 LE와 카운트를 감소시키기 위한 페널티메이트 숫자를 저장하기 위한 프로그램 가능한 스캔 체인 래치 GA, GB, GC, GD 및 GE를 포함한다. 행 어드레스 회로부는 카운트를 증가시키기 위한 페널티메이트 숫자를 저장하기 위한 프로그램 가능한 스캔 체인 래치 LG, LH, LI, LJ, LK 및 LL과 카운트를 감소시키기 위한 페널티메이트 숫자를 저장하기 위한 프로그램 가능한 스캔 체인 래치 GG, GH, GI, GJ, GK 및 GL를 포함한다. 스캔 체인 래치 LA 내지 LL 및 GA 내지 GL의 출력은 각각 멀티플렉서 AA, AB, AC, AD, AE, AF, AG, AH, AI, AJ, AK 및 AL로 전달된다. 멀티플렉서 AA 내지 AL로부터의 출력은 각각 2 입력 멀티플렉서 CA, CB, CC, CD, CE, CF, CG, CH, CI, CJ, CK 및 CL의 선택 포트로 전달된다. 멀티플렉서 CA, CB, CC, CD 및 CE의 출력은 다이내믹 OR 게이트 AP의 입력으로 전달된다. OR 게이트 AP의 출력은 래치 LN으로 전달되고, 래치 LN의 출력은 NOR 게이트 AT의 입력 중 하나로 전달되고, NOR 게이트 AT의 출력은 열 어드레스와 행 어드레스 양쪽에 대해 목표 어드레스와의 비교를 나타내는 어드레스 비교 신호이다. 멀티플렉서 CG, CH, CI, CJ, CK 의 CL의 출력은 다이내믹 OR 게이트 AQ의 입력으로 전달되고 OR 게이트 AQ의 출력은 래치 LO의 입력 중 하나로 전달된다. 래치 LO의 출력은 NOR 게이트 AT의 입력 중 하나로 전달된다. 스테이트 머신(12)으로부터의 인에이블 카운트(EC) 신호는 NOR 게이트 AT의 3번째 입력이다. 비트 클럭(BITCLK)은 포착 클럭을 래치 LN으로 제공하고, 워드 클럭(WORDCLK)은 포착 클럭을 래치 LO로 제공한다. 인에이블 출력 신호는 신호를 게이트 AT로 제공하고 게이트 AT의 출력은 어드레스 비교(AC) 신호이다.
도 3의 숫자 비교기 동작이 먼저 카운터로부터의 이진수와 같은 순차적인 이진수를 참조하여 설명되고, 뒤이어 비순차적 이진 입력을 참조하여 설명된다.
도 3에 도시된 비교기의 구조에서 프로그램 가능한 래치 LA 내지 LL의 트루 출력은 각각 멀티플렉서 AA 내지 AL의 상부 입력을 구동한다. 프로그램 가능한 래치 GA 내지 GL의 세트는 트루 출력으로 멀티플렉서 AA 내지 AL의 하부 입력을 구동한다. 상승/하강 (A/D) 신호는 멀티플렉서 AA-AL의 선택 핀에 연결되어 있고, 멀티플렉서 AA 내지 AL의 출력은 각각 멀티플렉서 CA-CL의 선택핀을 구동한다. 래치 LA 내지 LL은 A/D=0 (상승)인 동안 비교하기 위해 프로그램된 카운트를 저장한다. 스캔 가능한 래치 LA 내지 LE는 5비트 열 페널티메이트 카운트를 저장하고 스캔 가능한 래치 LG 내지 LL은 6비트 행 페널티메이트 카운트를 저장한다. 래치 GA 내지 GL은 A/D=1(하강) 인 동안 비교하기 위해 제2 프로그램된 카운트를 저장한다. 스캔 가능한 래치 GA 내지 GE는 5비트 열 페널티메이트 카운트를 저장하고 스캔 가능한 래치 GG 내지 GL은 6비트 행 페널티메이트 카운트를 저장한다.
어드레스 카운터(도시되지 않음)에 사용되는 래치는 L1L2L4형 다이나믹 래치이다. 래치의 L2 부분은 스캐닝 동작 중에만 사용된다. 래치의 L4 부분은 트루(True) 신호 및 그 콤플리먼트(Complement) 신호의 신호원이 되는 두개의 다이나믹 논리 드라이브를 포함한다. BITCLK 또는 WORDCLK이 인가될 때, 데이타는 래치의 L1 부분으로 캡쳐된다. BITCLK와 WORDCLK는 사이클의 일부 동안에만 하이로 펄스된다. BITCLK와 WORDCLK이 낮아진 후에, L4의 양 T/C 출력을 리셋(force low)하기 위하여 리셋 클럭이 로우로 펄스된다. 그러면 런치(launch) 클럭 (P 클럭)이 하이로 펄스되어, 하이로 구동되는 래치의 출력의 하나가 되는 L1 내지 L4 내로 데이타를 전달한다. L4 내로 전달되는 데이타가 1인 경우에, 트루 출력은 하이로 인가되고 콤플리먼트 출력은 로우로 남게된다. L4에 0이 로드되면 이와 상반되는 동작이 일어난다. BITCLK의 인가는 실제로는 열 카운터의 래치의 L1 부분에 다음 어드레스를 로드시킨다. 새로운 열 어드레스는 BITCLK가 로우로 되고, 리셋 클럭이 로우로 펄스되고, P 클럭이 인가되기 전에는 어드레스 버스 상에서 가용 상태가 되지 않는다. 행 카운터의 래치 내로 데이타를 로드시키기 위하여 WORDCLK이 유사한 방식으로 사용된다.
도3의 어드레스 비교기의 래치 L0 및 LN은 스태틱 L1L2L4 래치이다. BITCLK는 데이타를 래치 LN으로 로드시키고, WORDCLK는 데이타를 래치 L0로 로드시킨다. P 클럭의 인가는 래치 LN 및 L0의 내용을 가용 상태로 한다. 이러한 스태틱 논리 래치들은 리셋 CLK를 수신하지 않으며, 이들의 출력은 리셋되지 않는다.
도3의 수 비교기는 입력으로서 어드레스 카운터로부터 현재의 어드레스를 수신하고, 그 입력을 A/D=0일때 제1의 프로그램된 숫자와 비교한다. 이 프로그램된 숫자는 원하는 목표 숫자 앞의 숫자와 동일하다. 예를들어, A/D=0일 때 목표 숫자가 7 (00111)이라면 프로그램된 숫자는 6 (00110)이 된다. 카운터가 끝에서 두번째의 어드레스에 도달하였을 때에는, 현재 카운트의 비트와 제1의 프로그램된 숫자가 비교(매치)되고, 그 결과가 래치된다. 카운터가 다음 숫자로 진행하였을 경우, 목표 카운트에 도달하게 되고 이전의 카운트로부터 래치된 비교를 사용하여 어드레스 비교(AC) 신호가 신속하게 발생된다.
2 10 1 1 0 0
10 * 1 1 0 0
3 11 1 1 0 0
11 * 1 1 0 0
6 110 0 1 0 0
110 * 0 1 0 0
7 111 1 0 0 0
111 * 1 0 1 0
7 111 1 1 0 1
111 * 1 1 0 1
6 110 1 1 0 1
110 * 1 1 0 1
3 11 0 1 0 1
11 * 0 1 0 1
2 10 1 0 0 1
10 * 1 0 1 1
표 2는 개시 숫자 2 (00010)으로부터 목표 숫자 7 (00111)로 진행하는 열 카운터를 도시한다. 이 예에서, 행 어드레스는 그 목표 어드레스로 유지되고 WDCNPM이 액티브 로우로 유지된다고 가정한다. 스캐닝 래치(LE-LQ)는 끝에서 두번째의 숫자 6 (00110)으로 로드된다. 그 결과 멀티플렉서 (CE-CA)를 경유하여 전달되는 어드레스 신호 STBAE(4T, 3T, 2C, 1C, 0T)가 얻어진다. 이 조건은 단지 어드레스 6에서만 비교가 일어나는 것을 허용한다. 열 어드레스 2 내지 5에서, OR 게이트 AP의 출력 (PBCN)은 하이인데, 이는 이들 카운트에서의 다섯 개의 어드레스 비트들이 프로그램된 다섯 개의 비트들과 매치되지 않기 때문이다. 열 어드레스 5에서의 제2 사이클에서, BITCLK가 인가되어 래치 LN이 OR 게이트 AP의 하이 출력을 캡쳐하도록 한다. 다음 사이클에서, 열 카운터는 어드레스 버스 상에 6을 출력한다. 이와 동시에 래치 LN은 노드 BITCMPN에 논리값 1을 출력하는데, 이는 어드레스 상의 열 어드레스와 비교되지 않음(no compare)을 나타낸다. 그러나, 열 6에서는 현재의 열 어드레스와 프로그램된 카운트 간의 비교가 일어나는데, 이때 OR 게이트 AP로의 모든 입력이 로우가 되고 PBCN이 액티브 로우가 된다. 두번째 주기 동안에 열 어드레스 6에서 BITCLK가 인가되면, 래치 LN은 로우 PBCN 신호를 캡쳐한다. 다음 사이클에서 열 어드레스 카운터는 어드레스 버스 상에서 어드레스 7을 구동시키고 래치 LN은 그 트루 출력을 통하여 NOR 게이트 AT의 하나의 입력에 액티브 로우신호 BITCNPM을 인가한다. 로우로 되는 BITCMPN은 재어 로직 및 열 카운터에 열 목표 어드레스에 도달하였음을 알린다. 본 예시에서 행 어드레스 역시 그 목표 어드레스에 있는 것으로 가정하기 때문에, WDCMPN 역시 로우로 되고 NOR 게이트 AT의 출력에서의 어드레스 비교 (AC=1)는 EC가 액티브 로우로 될때 어드레스 7에서의 제2 사이클을 초래한다. 어드레스 7에서, 노드 PCBN은 인액티브 하이 상태가 되고, 이 출력은 어드레스 7에서의 제2 사이클에서 BITCLK가 하이로 펄스될 때에 래치 LN 내로 캡쳐된다. 이는 비교 동작에 후속하는 카운트에서 BITCMPN이 인액티브 하이가 되도록 한다.
목표 숫자에 도달한 후에, 카운터는 개시 숫자로 리셋되어 목표 숫자로 다시 진행하거나, 제2의 목표 숫자로 카운트 다운하기 위하여 카운트 방향이 역전될 수 있다. 카운트 다운 동작(A/D=1)에서, 현재의 어드레스는 그 값이 제2 목표 어드레스의 앞의 숫자와 동일한 제2의 프로그램된 숫자 (즉, 래치 GA-GL에 저장된 숫자)와 비교된다.
표2의 하반부는 어드레스 버스 상의 카운트와 래치 GA-GE 내에 저장되어 있는 제2 프로그램된 카운트를 비교하는 비교기 회로의 동작을 나타낸다. 숫자 발생기는 어드레스 7로부터 제2 열 목표 숫자로 카운트 다운한다. 어드레스 2에 도달한 것을 검출할 필요가 있을 때에는, 래치 GE-GA는 어드레스 3(00011)으로 프로그램된다. 이는 어드레스 STBAE (4T, 3T, 2T, 1C, 0C)들이 멀티플렉서 CE-CA를 통과하여 PBCN이 액티브 로우로 될때에 어드레스 3에서 비교 동작이 일어나도록 한다. 어드레스 3에서의 제2 사이클에서, BITCLK가 인가될 때 래치 LN으로 로우 PBCN이 로드된다. 다음 사이클에서 래치 LN은 노드 BITCMPN을 로우로 드라이브하고, 후속하는 사이클에서, EC는 액티브 로우로되고 AC가 인가된다.
카운터가 매 사이클마다 증가하거나 감소되지 않는 경우에는 래치 LN 및 L0를 각각 BITCLK 및 WORDCLK로 클럭하는 것이 중요하다. 예를들어, 만약 래치 LN이 매 사이클마다 클럭되고 카운터가 매 두번째 사이클에서 증가되지 않는다면, 표2의 어드레스 6에서의 제1 사이클에서 래치 LN은 액티브 로우 PBCN을 캡쳐하게 되고, 그리하여 다음 사이클에서 의도된 목표인 어드레스 7이 아닌 어드레스 6에서의 제2 사이클에서 BITCMPN이 로우로 되게 된다.
비교기 회로는 두가지 방법에 의하여 종래의 기술보다 향상된 성능을 발휘한다. 첫째, 비교기 회로는 목표 카운트에 선행하는 카운트에서 전체 비트 비교를 실행하고 그 결과를 래치 시킨다. 그리하여 전체 시스템 사이클이 폭 넓은 비트 비교를 완료할 수 있다. 그리고 목표 어드레서에서 이전의 카운트로부터 래치된 결과는 신속히 어드레서 비교 신호를 발생시키기 위하여 사용된다. 둘째, 비교기 회로는 게이트의 출력이 그 입력의 변화에 응답하여 얼마 간의 지연 후에 논리 레벨을 스위치하는 XOR 게이트에서 실행하는 능동 비교에 대비되는 수동 비교를 실행한다. 본 발명은 현재 어드레스에 의하여 전달 게이트 멀티플렉서 CA-CL을 경유하여 다이나믹 OR 게이트 입력으로 이어지는 두가지 경로 중에 어느 경로가 선택되었는지를 결정하기 위하여 단순히 래치된 프로그램된 카운트만을 이용한다. 이 경로는 AD 신호가 스위치되기 전에는 일반적으로 변경되지 않는 스태틱 또는 DC 경로이다. OR 게이트로의 입력 중 어느 하나라도 하이인 경우에는, OR 게이트의 출력이 하이로 되어 오비교(miscompare) 신호를 발생시킨다.
마지막으로, 어드레스 피일드가 넓어짐에 따라, 비교기 회로의 기본적 구조가 반복될 수 있어 (제1단의 OR 게이트의 출력이 제2단의 OR 게이트의 입력을 제공하는 등의 방식으로) 보다 넓은 폭의 어드레스 버스를 수용할 수 있게 된다. 예를 들어, 도4에 일부가 도시된 32 비트 폭의 어드레스 비교기의 경우에 그 입력은 B0-B31로서 멀티플렉서 C0-C31로 신호를 공급한다. 제1단은 8개의 4-입력 OR 게이트 OR1-OR8로 이루어진다. 제2단은 2개의 4-입력 OR 게이트 OR9 및 OR10으로 구성되는데, 각각의 OR 게이트는 제1단의 4개의 OR 게이트로부터 입력을 수신한다. 제3단 및 마지막 단은 하나의 2-입력 OR 게이트 OR11로 이루어지는데 이는 OR 게이트 OR9 및 OR10으로부터 입력을 수신하고 OR 게이트 OR11의 출력은 래치 LN의 입력을 제공한다.
본원 발명은 순차적인 숫자들을 리뷰함에 있어 목표 숫자들을 검출함에 있어 유용할 뿐만 아니라, 비교기는 다음의 조건들이 참인 경우에 비순차적, 이진 숫자들의 시리즈에서 원하는 이진 숫자 (AC=1)을 검출할 수 있다.
1. 목표 숫자 직전의 숫자가 알려져 있고 끝에서 두번째의 숫자가 어드레스 비교 회로의 적절한 저장 래치 내에 프로그램 되어 있을 것.
2. 끝에서 두번째의 숫자가 일련의 숫자 중 다른 곳에 존재하지 않을 것.
3. 일련의 숫자들이 단조 증가 또는 단조 감소되어야 하지 않을 것.
다이내믹 로직 어드레스 카운터는 5개의 열 어드레스 비트 STBAE(0:4)와 6개의 행 어드레스 비트 STWAE(0:5)를 각 사이클의 일부에 대해 미리 로우 상태로 되어 있는(pre-charged low) 트루(T)/컴플리먼트(C)쌍으로 생성한다. 5개의 열 어드레스는 5개의 멀티플렉서 CA 내지 CE에 연결되어 있고 최하위 열 어드레스(STBAE0) T/C 쌍은 멀티플렉서 CA에 연결되어 있고 최상위 열 어드레스(STBAE4) T/C 쌍은 멀티플렉서 CE에 연결되어 있다. 6개의 행 어드레스는 6개의 멀티플렉서 CG 내지 CL에 연결되어 있고, 최하위 행 어드레스(STWAE0) T/C 쌍은 멀티플렉서 CG에 연결되어 있고 최상위 열 어드레스(STWAE4) T/C 쌍은 멀티플렉서 CL에 연결되어 있다.
멀티플렉서 CA 내지 CL은 선택 핀의 값에 따라 T[트루(true)] 또는 C[컴플리먼트(complement)] 어드레스 신호를 통과시킨다. 소정의 멀티플렉서 AA내지 AL의 출력이 대응하는 멀티플렉서 CA 내지 CL의 선택 포트를 행으로 만들면, 도면에서 상부 입력에 연결된 트루 어드레스 신호가 통과하여 멀티플렉서 CA 내지 CL의 출력이 된다. 예를 들어, 래치 LA가 로직 0을 포함하고 A/D가 0이면 멀티플렉서 AA의 행 출력에 의해 열 카운터의 최하위 어드레스 비트(STBAE0T)의 T 어드레스 신호가 멀티플렉서 CA를 통과하여 OR 게이트 AP에 입력된다. 따라서 멀티플렉서 CA는 열 카운터의 최하위 비트와 프로그램된 카운트의 최하위 비트의 패시브(passive) XOR 기능을 수행한다. 멀티플렉서 CA 내지 CE의 출력은 다이내믹 로직 OR 게이트 AP의 입력을 제공한다. OR 게이트 AP의 모든 입력이 0이면 BITCLK가 하이 상태로 전이할 때 액티브 로우 출력 PBCN(Penumtimate Bits Compare Not)가 래치 LN으로 로드된다. 래치 LN은 저장된 신호를 다음 사이클의 시작에서 노드 BITCMPN을 거쳐 NOR 게이트 AT의 입력으로 제공한다. 멀티플렉서 CG 내지 CL의 출력은 다이내믹 로직 OR게이트 AQ의 입력을 제공한다. OR게이트 AQ의 출력 즉 PWCN(Penumtimate Word Compare Not)신호는 WORDCLK가 하이로 전이될 때 래치 LO에 로드된다. 래치 LO는 저장된 신호를 다음 사이클의 시작에서 노드 WDCMPN을 거쳐 NOR 게이트 AT의 입력으로 제공한다. 어드레스 비교(Address Compare: AC) 신호는 WDCMPN, BITCMPN 및 EC가 0일때 NOR 게이트 AT의 출력으로 생성된다.
만일 칩 영역이 관심의 대상이라면, 페널티메이트 숫자를 저장하기 위한 래치의 갯수가 반으로 줄어들 수 있다. 비교 회로는 어드레스 공간을 올라갈 때는 목표 어드레스에서 정지하고 어드레스 공간을 내려갈 때는 반전 목표 어드레스에서 정지하도록 수정될 수 있다. 이러한 구현에 있어서, A/D 신호의 상태가 전환될 때 어드레스 입력이 비교되는 프로그램된 숫자를 반전시키는 몇몇 회로가 있다. 이는 단순히 도 3에 있어서 래치 게이트 GA-GL을 제거함으로써 달성될 수 있다. 래치 LA-LL은 멀티플렉서 AA-AL의 상부 입력을 트루 출력으로 구동하고 멀티플렉서의 하부 입력을 컴플리먼트 출력으로 구동할 것이다. 이러한 실시예의 부분 구성도가 도 5에 도시되어 있다. 이 비교기 구현의 동작을 설명하기 위해, 하기의 설명은 5-비트 열 카운터와 결합되어 사용되는 비교기 회로의 5-비트 열측에 초점을 맞춘다. 언제 열 카운터가 00000으로부터 11111의 목표 어드레스로 경과했는지를 검출하기 위해서는 페널티메이트 숫자 (11111)을 갖는 래치 LA-LE를 로딩해야 한다. 카운터가 증가할 때 A/D는 로우 상태이므로, 래치 LA-LE의 비반전 출력은 멀티플렉서 AA-AE를 통해 전해져야하며, 멀티플렉서 CA-CE 상의 선택 핀을 구동하여야 한다. 이 조건은 STBAE0T가 멀티플렉서 CA를 통해 그리고 STBAE(1::4)C가 멀티플렉서 CB-CE를 통해 전달되는 것을 허용한다. 그러므로, 어드레스 11110에서, OR 게이트 AP로의 입력은 모두 행일 것이고 노드 PBCN이 로우 상태가 되도록 할 것이다
0 0 * 1 1 0
28 11100 * 1 1 0
29 11101 * 1 1 0
30 11110 * 0 1 0
31 11111 * 1 0 0
31 11111 1 1 1
30 11110 * 1 1 1
29 11101 * 1 1 1
2 10 * 1 1 1
1 1 * 0 1 1
0 0 * 1 0 1
0 0 * 1 1 0
1 1 * 1 1 0
카운트 11111에서, 래치 LN의 출력은 로우 상태가 될 것이고, 열 카운트 비교가 BITCMPN=0이 되도록 한다. 표 3의 예를 계속 들면, A/D 신호는 열 카운트 비교 후의 사이클의 시작부에서 상태를 전환한다. 0에서 1로의 A/D 전환은 래치 LA-Le의 반전 출력을 멀티플렉서 AA-AE를 통해 전해지도록 하여 멀티플렉서 CB-CE 상의 선택 핀이 하이로 구동되고 멀티플렉서 CA 상의 선택 핀이 행으로 구동되도록 한다. 이는 STBAE0C가 멀티플렉서 CA를 통해 그리고 어드레스 STBAE(1::4)C가 멀티플렉서 CB-CE를 통해 전해지는 것을 허용한다. 어드레스 00001에서, OR 게이트 AP로의 입력은 모두 행일 것이고 노드 PBCN이 로우 상태가 되도록 할 것이다 (표 3의 하부). 카운트 00000에서, 래치 LN의 출력은 로우 상태가 될 것이고, 열 카운트 비교가 BITCMPN=0이 되도록 한다.
한 세트의 래치를 사용하는 도 5의 구현은 다음과 같은 한정 사항을 갖는다.
1. 카운터가 시작 숫자와 그의 반전 사이의 범위에서 동작하도록 제한된다. 5-비트 카운터 예시를 이용하면, 유효 범위는 0 (00000) - 31 (11111), 1 (00001) - 30 (111110), 2 (00001) - 29 ( 11101) 등을 포함할 것이다. 래치 LE-LA가 A/D=0일 때 어드레스 4에서 비교를 허용하는 3 (00011)과 함께 프로그래밍될 수 없으므로, 예를 들면, 0 (00000) - 4 (00100)의 범위 내에서는 동작할 수 없다. 그러나, A/D=1일 때, 반전된 프로그램된 숫자 (11100)은 멀티플렉서 CE-CA 상의 선택 핀에 인가된다. 이 조건 하에서는, 명백히 확장 동작 범위밖에 있는 어드레스 26에서 비교 명령이 발생한다.
2. 비순차 숫자를 갖는 이 방법을 사용하기 위해, A/D=0인 때의 페널티메이트 숫자와 A/D=1인 때의 페널티메이트 숫자는 정확히 반대여야 한다.
도 3의 구현에 있어서, 도 5의 구현과 비교할 때 두 배의 저장 래치가 사용되지만, 이는 더 작은 칩 영역에 대하여 서로 독립적인 두 개의 프로그램 가능한 끝점을 허용한다.
본 발명은 만일 시퀀스의 마지막 두 개의 숫자가 알려진 경우에 끝점 또는 분기점을 검출하기 위한 마이크로프로세서 또는 다른 회로에 의해 구현될 것이다. 마이크로프로세서는 멀티플렉서 CA-CL 상의 선택 포트를 직접 제어할 것이고, 따라서 도 3의 래치 LA-LL 및 GA-GL과 멀티플렉서 AA-AL을 제거할 것이다. 도 4에 도시된 32-비트의 넓은 숫자의 비교를 포함하는 이러한 구현은 다음과 같다. 마이크로프로세서는 페널티메이트 숫자와 동일한 값을 갖는 멀티플렉서 C0-C31 상의 선택 포트 (B0-B31)을 구동한다. 숫자 발생기는 T/C 입력 (STBAE(0:31))을 멀티플렉서 C0-C31로 어드레스 버스를 통해 제공한다. 숫자 시퀀스가 페널티메이트 숫자가 되면, PBCN은 로우 상태가 되고 발생된 수가 NGCLK에 의해 다음에 클럭되면 래치 LN으로 로딩된다. 이는 P CLK가 삽입될 때 다음 사이클 내의 목표 숫자에서 어드레스 비교가 행해지게 한다. 이 구현에 있어서, 숫자 발생기는 매 싸이클마다 클락되는 것으로 가정되고, 따라서 어드레스 비교 신호는 래치 LN의 출력으로부터 직접적으로 발생될 수 있다. 만일 이렇지 아니한 경우라면, 래치 LN에 의해 구동되는 하나의 입력과 인에이블 카운트 신호에 의해 구동되는 다른 입력을 갖는 NOR 게이트가 AC 신호를 발생하기 위해 사용될 것이다. 이 구현을 사용하면, 마이크로프로세서는 새로운 끝점 또는 분기점이 발생할 때 플라이 상에서 동적으로 B0-B31 입력을 변화시킬 것이다. 여기서 중요한 점은 마이크로프로세서로부터의 입력 (B0-B31)은 어드레스 버스 입력 STBAE(0:31)이 도달하기 전에 안정화되어야 한다는 것이다. 이는 멀티플렉서 C0-C31을 통한 적당한 경로가 설정되는 것을 보장하고, 따라서 비교가 행해지는 속도를 향상시키고 동적 OR 게이트 출력을 잘못 발송하는 것을 방지한다.
본 발명은 숫자의 수열(series)이 알려지고, 따라서 페널티메이트 숫자는 단지 목표 숫자의 바로 직전에만 발생하며 래치 LN 및 LO가 숫자 발생기가 증가/감소할 때 까지는 클럭되지 않는다는 사실에 의존하고 있다. 또한, 비트의 비교가 래칭되기 때문에 목표 숫자인지 아닌지에 상관없이 다음 카운트에서 비교가 행해진다. 목표에서는 진정 시간 체크가 행해지지 않는다. 그러므로, 수열 내의 숫자가 알려져있다는 것이 보장되어야 한다.
다른 방법으로는, 어드레스 비교 신호를 트리거링하기 위해 클럭 펄스를 사용하는 것 대신에, 연속적인 숫자 시리즈의 경우에 있어서는, 최하위 비트가 래치 내에 저장될 수 잇고, 이는 카운터 출력의 최하위 비트와 비교되고 이전의 페널티메이트 숫자 비교의 결과와 NAND 연산된다. 이는 연속적인 또는 계속적인 이진수의 시리즈에 있어서, 페널티메이트 숫자의 최하위 비트는 항상 최종 또는 목표 숫자와 상이하고, 이의 목표 숫자는 항상 페널티메이트 숫자를 따르므로 가능하게 된다.
이상에서, 본 발명의 바람직한 실시예들이 기술되었다. 그러나, 앞에서의 설명을 고려하면, 이러한 기술은 단지 예시의 목적으로 주어진 것이며, 본 발명은 여기에 기술된 이와 같은 특정 실시예에 한정되는 것이 아니고, 이하에서 청구 범위로 주장되는 본 발명의 중심 사상에서 벗어나지 않는 다양한 재배열, 수정 및 대체 실시예도 구현할 수 있다는 점을 이해하여야 한다.
내장형 자기 테스트(built-in self test; BIST) 스테이트 머신(state machine)이 반도체 칩 상의 메모리를 테스트하는데 사용되는, 숫자를 카운팅(counting)하는데 있어서 끝점을 결정하기 위한 신속한 숫자 비교 방법 및 장치가 제공된다.

Claims (25)

  1. 연속된 클럭 싸이클에서(on successive clock cycles) 발생되는 선정된 2진수 순차(predetermined succession of binary numbers)의 최종 계수값(end count) - 상기 순차에서의 하나의 2진수 및 상기 하나의 2진수와 상기 최종 계수값과의 관계는 알려져 있음 - 을 결정하는 방법에 있어서, 2진 디지트를 출력하는 회로를 마련하는 단계, 상기 순차에서 이전의 모든 2진수에 대해 유일한 것이며, 상기 최종 계수값과의 알려진 순차적 관계를 갖는 상기 순차에서의 하나의 2진수의 적어도 일부를 기억 장치에 저장하는 단계, 연속된 싸이클에서 상기 2진수 순차를 상기 회로의 출력으로서 발생시키는 단계, 상기 회로의 출력으로서 발생된 각각의 2진수를 상기 저장되는 2진수의 일부와 비교하여, 상기 저장된 2진수가 상기 회로에 의해 출력되는 2진수와 견줄만 한 경우 READY 신호를 출력하는 단계, 및 상기 READY 신호 뒤에 오는 상기 발생된 2진수가 상기 순차에서의 최종 계수값(end count number)에 해당될 때 상기 싸이클에서 제어 신호를 발생시키는 단계를 포함하는 방법.
  2. 제1항에 있어서, 상기 하나의 2진수의 일부는 두번째 2진수(penultimate number)의 적어도 일부인 방법.
  3. 제2항에 있어서, 상기 저장된 2진수는 상기 두번째 2진수인 방법.
  4. 제1항에 있어서, 상기 하나의 2진수의 일부는 상기 최종 계수값(end count number)의 비트들을 구성하는 방법.
  5. 제1항에 있어서, 상기 2진수들은 알려진 순차로 증가되는 방법.
  6. 제1항에 있어서, 상기 2진수들은 알려진 순차로 감소되는 방법.
  7. 제1항에 있어서, 상기 2진수들은 증가되어 제1 최종 게수값이 되며 감소되어 제2 최종 계수값이 되는 방법.
  8. 제7항에 있어서, 상기 계수값을 감소시키는 용도의 최종 계수값은 영구적으로 코딩되며(hard coded), 상기 계수값을 증가시키는 용도의 최종 계수값은 선택적으로 프로그램가능한 방법.
  9. 제7항에 있어서, 상기 제1 및 제2 최종 계수값은 각각 선택적으로 프로그램가능한 방법.
  10. 제1항에 있어서, 최종 계수값을 갖는 두개의 2진수 순차가 있으며, 상기 두개의 2진수 순차 모두가 그 각각의 최종 계수값이 될 때 상기 제어 신호를 발생시키는 방법.
  11. 제8항에 있어서, 동일한 클럭 싸이클 동안에 상기 두개의 2진수 순차 모두가 그 각각의 최종 계수값이 될 때 상기 제어 신호를 발생시키는 방법.
  12. 연속된 클럭 싸이클에서(on successive clock cycles) 발생되는 2진수 순차(succession of binary numbers)의 최종 계수값(end count)을 결정하는 방법에 있어서, 2진 디지트를 출력하는 카운터를 마련하는 단계, 상기 최종 계수값(end count number)을 기억 장치에 저장하는 단계, 상기 카운터 출력의 최상위 비트들을 상기 저장되는 최종 2진 계수값의 최상위 비트들과 비교하여, 상기 최종 2진수의 최상위 비트 모두가 상기 카운터 출력의 최상위 비트 모두와 견줄만 한 경우 READY 신호를 출력하는 단계, 및 상기 READY 신호 뒤에 오는 2진수의 최하위 비트가 계수되었을 때 제어 신호를 발생시키는 단계를 포함하는 방법.
  13. 제12항에 있어서, 상기 저장된 2진수의 최하위 비트들과 상기 카운터 출력을 비교하고, 상기 READY 신호가 발생된 후에 상기 최하위 비트들을 비교함으로써 상기 제어 신호를 발생시키는 방법.
  14. 연속된 클럭 싸이클에서(on successive clock cycles) 발생되는 선정된 2진수 순차(predetermined succession of binary numbers)의 최종 계수값 - 상기 순차에서의 하나의 2진수 및 상기 하나의 2진수와 상기 최종 계수값과의 관계는 알려져 있음 - 을 결정하기 위한 테스트 회로에 있어서, 선정된 2진수 순차의 2진 디지트를 출력하는 2진수 발생 회로, 상기 순차에서 이전의 모든 2진수에 대해 유일한 것이며, 상기 최종 계수값과의 알려진 순차적 관계를 갖는 상기 순차에서의 하나의 2진수의 적어도 일부를 저장하기 위한 기억 장치, 상기 회로의 출력으로서 발생된 각각의 2진수의 적어도 일부를 상기 저장되는 2진수의 일부와 비교하기 위한 비교기, 및 상기 저장된 2진수가 상기 회로에 의해 출력되는 2진수와 견줄만 한 경우 READY 신호를 출력하고 상기 READY 신호 뒤에 오는 상기 발생된 2진수가 상기 순차에서의 최종 계수값에 해당될 때 READY 신호를 출력하는 논리 회로를 포함하는 테스트 회로.
  15. 제14항에 있어서, 상기 2진수 발생 회로는 카운터를 포함하는 테스트 회로.
  16. 제14항에 있어서, 상기 논리 회로는 상기 2진수 발생 회로에 의해 발생된 2진수의 최상위 비트들을 비교하는 논리 회로와, 상기 저장된 2진수의 최하위 비트들과 상기 2진수 발생 회로에 의해 발생된 2진수를 발생시켜 비교하고 상기 제어 신호를 발생시키는 논리 회로를 포함하는 테스트 회로.
  17. 제14항에 있어서, 상기 기억 장치는 상기 순차의 두번째 2진수의 적어도 일부를 저장하는 테스트 회로.
  18. 제17항에 있어서, 상기 두번째 2진수 전체(entire penultimate number)가 상기 기억 장치에 저장되는 테스트 회로.
  19. 제14항에 있어서, 알려진 순차로 상기 2진수를 증가시키고 감소시키는 회로를 포함하는 테스트 회로.
  20. 제14항에 있어서, 상기 2진수를 알려진 순차로 감소시키기 위한 회로를 포함하는 테스트 회로.
  21. 제14항에 있어서, 증가되는 2진수 세트(incrementing set of numbers)와 감소되는 2진수 세트(decrementing set of numbers)를 발생시키기 위한 회로를 더 포함하며, 상기 증가되는 2진수와 상기 감소되는 2진수에 대한 상기 하나의 2진수의 적어도 일부 각각을 저장하기 위한 제1 및 제2 기억 장치가 있는 테스트 회로.
  22. 제21항에 있어서, 상기 증가되는 계수값(count)에 대한 상기 하나의 2진수를 선택적으로 프로그램하기 위한 회로와, 상기 감소되는 계수값에 대한 상기 하나의 2진수의 상기 일부를 영구히 코딩(hard code)하기 위한 회로를 포함하는 테스트 회로.
  23. 제21항에 있어서, 상기 증가되는 계수값과 상기 감소되는 계수값 각각에 대한 상기 하나의 2진수의 적어도 하나의 일부를 선택적으로 프로그램하기 위한 회로를 포함하는 테스트 회로.
  24. 제14항에 있어서, 독립적인 최종 계수값을 갖는 두개의 독립적인 2진수 순차를 발생시키고 상기 두개의 순차 모두가 그 최종 계수값이 될 때 상기 제어 신호를 발생시키기 위한 회로를 포함하는 테스트 회로.
  25. 제24항에 있어서, 상기 회로는 동일한 클럭 싸이클에서 상기 제어 신호를 발생시키는 테스트 회로.
KR1019970033210A 1997-07-11 1997-07-11 두이진수의고속비교방법및장치 KR100292644B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970033210A KR100292644B1 (ko) 1997-07-11 1997-07-11 두이진수의고속비교방법및장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970033210A KR100292644B1 (ko) 1997-07-11 1997-07-11 두이진수의고속비교방법및장치

Publications (2)

Publication Number Publication Date
KR19990010417A true KR19990010417A (ko) 1999-02-18
KR100292644B1 KR100292644B1 (ko) 2001-07-12

Family

ID=66040262

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970033210A KR100292644B1 (ko) 1997-07-11 1997-07-11 두이진수의고속비교방법및장치

Country Status (1)

Country Link
KR (1) KR100292644B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120018644A (ko) 2010-08-23 2012-03-05 삼성전자주식회사 반도체 패키지 이송 장치

Also Published As

Publication number Publication date
KR100292644B1 (ko) 2001-07-12

Similar Documents

Publication Publication Date Title
US5745498A (en) Rapid compare of two binary numbers
US7721174B2 (en) Full-speed BIST controller for testing embedded synchronous memories
US5127011A (en) Per-pin integrated circuit test system having n-bit interface
US4825411A (en) Dual-port memory with asynchronous control of serial data memory transfer
US4873671A (en) Sequential read access of serial memories with a user defined starting address
US4752928A (en) Transaction analyzer
EP0053665A1 (en) Testing embedded arrays in large scale integrated circuits
US6360342B1 (en) Built-in self test for multiple memories in a chip
US5101409A (en) Checkboard memory self-test
US6078637A (en) Address counter test mode for memory device
US20080052584A1 (en) Test apparatus and test method
US20020126563A1 (en) Interleaved memory device for sequential access synchronous reading with simplified address counters
US6023177A (en) Semiconductor memory device for providing burst mode control signal, device comprising plural serial transition registers
EP0553080A1 (en) High frequency testing apparatus and method for providing successive loops of data signals at a predetermined clock frequency.
KR100276504B1 (ko) 오류 데이터 저장 시스템
KR19990010417A (ko) 두 이진수의 신속한 비교 방법 및 장치
EP0701325B1 (en) Timing circuit
US7345496B2 (en) Semiconductor apparatus and test execution method for semiconductor apparatus
US6611929B1 (en) Test circuit for memory
EP0714170A2 (en) Analog-to-digital converter with writable result register
US5875197A (en) Addressable serial test system
JPH1164449A (ja) 2つの2進数の高速比較
US7847595B2 (en) Input circuit and semiconductor integrated circuit comprising the input circuit
US11320482B2 (en) Secure scan entry
KR100939670B1 (ko) 반도체 집적 회로 시험 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20110201

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee