KR20080110770A - 이중-경로, 멀티 모드 순차 저장 엘리먼트 - Google Patents

이중-경로, 멀티 모드 순차 저장 엘리먼트 Download PDF

Info

Publication number
KR20080110770A
KR20080110770A KR1020087024012A KR20087024012A KR20080110770A KR 20080110770 A KR20080110770 A KR 20080110770A KR 1020087024012 A KR1020087024012 A KR 1020087024012A KR 20087024012 A KR20087024012 A KR 20087024012A KR 20080110770 A KR20080110770 A KR 20080110770A
Authority
KR
South Korea
Prior art keywords
storage element
data
pulse
master
response
Prior art date
Application number
KR1020087024012A
Other languages
English (en)
Other versions
KR100963385B1 (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 콸콤 인코포레이티드
Publication of KR20080110770A publication Critical patent/KR20080110770A/ko
Application granted granted Critical
Publication of KR100963385B1 publication Critical patent/KR100963385B1/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
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318533Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
    • G01R31/318572Input/Output interfaces
    • GPHYSICS
    • 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/1201Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising I/O circuitry
    • 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/12015Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising clock generation or timing circuitry
    • 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

Landscapes

  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Microcomputers (AREA)
  • Information Transfer Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Electronic Switches (AREA)
  • Memory System (AREA)
  • Logic Circuits (AREA)
  • Polyamides (AREA)
  • Graft Or Block Polymers (AREA)
  • Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)

Abstract

본 발명은 이중-경로, 멀티 모드 순차 저장 엘리먼트(SSE; 10)에 관한 것이다. 일 예에서, 이중-경로, 멀티 모드 SSE는 제 1(14) 및 제 2(12) 순차 저장 엘리먼트들, 데이터 입력, 데이터 출력 및 선택기 메카니즘(16)을 포함한다. 제 1 및 제 2 순차 저장 엘리먼트들(14, 12)은 각각 입력 및 출력을 갖는다. 데이터 입력은 순차 저장 엘리먼트들 모두의 입력들에 결합되고, 데이터를 수신하도록 구성된다. 데이터 출력은 순차 저장 엘리먼트들 모두의 출력들에 결합되고 데이터를 출력하도록 구성된다. 선택기 메카니즘(16)은 데이터 입력으로부터 데이터 출력으로 데이터를 통과시키기 위해 순차 저장 엘리먼트들 중 하나를 선택하도록 구성된다. 일 예에서, 제 1 순차 저장 엘리먼트는 펄스-트리거 저장 엘리먼트(14)를 포함하고, 제 2 순차 저장 엘리먼트는 마스터-슬레이브 저장 엘리먼트(12)를 포함한다.

Description

이중-경로, 멀티 모드 순차 저장 엘리먼트{DUAL-PATH, MULTIMODE SEQUENTIAL STORAGE ELEMENT}
본 발명은 일반적으로 순차 저장 엘리먼트들에 관한 것이며, 특히 이중-경로 멀티 모드 순차 저장 엘리먼트들에서 데이터를 저장하는 것과 관련된다.
고성능 집적 회로들, 특히 마이크로프로세서들은 예를 들면 고성능, 저전력, 대기 또는 테스트 모드들과 같은 다양한 동작 모드들을 제공한다. 마이크로프로세서들은 타이밍-임계 애플리케이션들과 함께 작업할 때 고성능 모드로 동작할 수 있다. 몇몇 마이크로프로세서들은 타이밍-임계 애플리케이션들과 연관된 명령들을 실행할 때 성능을 개선하기 위해 펄스-트리거 래치들, 레지스터들 또는 플리-플롭들과 같은 펄스-트리거 저장 엘리먼트들을 통합한다. 예를 들어, 펄스-트리거 저장 엘리먼트들은 파이프라인 스테이지들 사이에서 데이터 전송 속도를 개선하기 위해 명령 실행 파이프라인들 전체에 걸쳐 분포될 수 있다. 펄스-트리거 저장 엘리먼트들은 클럭 주기의 1/2 미만의 펄스 폭을 가지는 클럭 신호, 즉 펄스 클럭 신호에 응답하여 데이터를 포착하고 및/또는 래칭한다(latch).
종래의 펄스-트리거 저장 엘리먼트들은 안정성을 위해 성능을 교환한다(trade-off). 즉, 펄스-트리거 저장 엘리먼트들은 저장 엘리먼트 입력과 출력 사이에 단일 래치 스테이지만이 존재하는 개선된 성능을 제공한다. 이와 달리, 종래의 마스터-슬레이브 저장 엘리먼트들은 출력에 도달하기 전에 입력 데이터가 통과하는 2개의 래치 스테이지들을 포함한다. 그러나, 펄스-트리거 저장 엘리먼트들은 공통적으로 프로세스 변형 및/또는 동작 조건들의 넓은 범위에서 마스터-슬레이브 저장 엘리먼트들보다 안정적이지는 않다.
펄스-트리거 저장 엘리먼트들과 연관된 짧은 샘플링 윈도우는 펄스-트리거 저장 엘리먼트들이 프로세스 파라미터들 및/또는 동작 조건들에서의 변형들에 대하여 더 민감하도록 한다. 예를 들어, 펄스-트리거 저장 엘리먼트들은 트랜지스터 임계 전압, 채널 길이 및 게이트 산화물 두께와 같은 프로세스 파라미터들에서의 변형들에 대하여 마스터-슬레이브 저장 엘리먼트들보다 더 민감하다. 또한, 펄스-트리거 저장 엘리먼트들은 동적으로 변화되는 공급 전압들, 전력 공급 드리프트, 온도 변화들, 높은 방사량(radiation flux; 소프트 에러들을 발생함) 등등과 같은 동작 조건들에서의 변형들에 대하여 더 민감하다.
또한, 펄스-트리거 저장 엘리먼트들을 통합하는 집적 회로들, 예컨대 마이크로프로세서들은 저전력, 대기 또는 테스트 모드들과 같은 시간에 덜 민감한 모드들에서 동작될 수 있다. 시간에 덜 민감한 동작 모드 내에 구성될 때, 마이크로프로세서 내에 포함된 펄스-트리거 저장 엘리먼트들은 적절히 기능할 수 없다. 예를 들어, 저전력 모드에서, 동작 전압은 펄스들이 신뢰할만한 회로 동작을 위해 더 좁아지거나 더 넓어지는 값으로 감소될 수 있다.
상기와 같이, 펄스-트리거 저장 엘리먼트들은 종래에 성능이 임계적이고 프 로세스 파라미터들 및/또는 동작 조건들에서의 변형들이 최소이거나 허용가능한 한계치들 내에서 유지되는 애플리케이션들에서 사용되었다. 만약 그렇지 않으면, 마스터-슬레이브 저장 엘리먼트들은 종래에 넓은 범위의 프로세스 변형 및/또는 동작 조건들에 걸쳐 신뢰할만한 동작이 요구되는 애플리케이션들에서 사용되었다.
본 발명은 이중-경로, 멀티 모드 순차 저장 엘리먼트(SSE)에 관한 것이다. 하나 이상의 실시예들에서, 이중-경로, 멀티 모드 SSE는 제 1 및 제 2 순차 저장 엘리먼트들, 데이터 입력, 데이터 출력 및 선택기 메카니즘을 포함한다. 제 1 및 제 2 순차 저장 엘리먼트들은 각각 입력 및 출력을 갖는다. 데이터 입력은 순차 저장 엘리먼트들 모두의 입력들에 결합되고, 데이터를 수신하도록 구성된다. 데이터 출력은 순차 저장 엘리먼트들 모두의 출력들에 결합되고 데이터를 출력하도록 구성된다. 선택기 메카니즘은 데이터 입력으로부터 데이터 출력으로 데이터를 통과시키기 위해 순차 저장 엘리먼트들 중 하나를 선택하도록 구성된다. 일 예에서, 제 1 순차 저장 엘리먼트는 펄스-트리거 저장 엘리먼트를 포함하고, 제 2 순차 저장 엘리먼트는 마스터-슬레이브 저장 엘리먼트를 포함한다. 따라서, 적어도 하나의 실시예에서 데이터는 모드 입력에 응답하여 병렬로 결합된 펄스-트리거 저장 엘리먼트와 마스터-슬레이브 저장 엘리먼트 중 하나를 선택하고, 선택된 저장 엘리먼트를 통해 데이터 입력으로부터 데이터 출력으로 데이터를 통과시킴으로써 이중-경로, 멀티 모드 SSE에 저장된다.
상기 이중-경로, 멀티 모드 SEE 장치들 및 방법들에 상응하여, 상호 보완적인 마이크로프로세서는 클럭 제어 회로, 다수의 파이프라인들 및 인터-스테이지 이중-경로 멀티모드 SSEs를 포함한다. 클럭 제어 회로는 펄스 클럭 신호 및 위상 클럭 신호 중 하나를 활성화시키도록 구성된다. 각각의 파이프라인은 인터-스테이지 이중-경로 멀티 모드 SSEs에 의해 구분되는 다수의 스테이지들을 갖는다. 각각의 이중-경로 멀티 모드 SSE는 마스터-슬레이브 저장 엘리먼트, 펄스-트리거 저장 엘리먼트, 데이터 입력, 데이터 출력 및 선택기 메카니즘을 포함한다. 마스터-슬레이브 및 펄스-트리거 저장 엘리먼트들은 각각 입력 및 출격을 갖는다. 데이터 입력을 상기 저장 엘리먼트들 모두의 입력들에 결합되고 데이터를 수신하도록 구성된다. 데이터 출력은 상기 저장 엘리먼트들 모두의 출력들에 결합되고, 데이터를 출력하도록 구성된다. 선택기 메카니즘은 클럭 제어 회로에 의해 활성화된 클럭 신호에 응답하여 데이터 입력으로부터 데이터 출력으로 데이터를 통과시키기 위해 순차 저장 엘리먼트들 중 하나를 선택하도록 구성된다.
물론, 본 개시물은 상기 특징들에 제한되지 않는다. 당업자는 하기의 설명 및 첨부된 도면을 보고 추가의 특징들을 인식할 것이다.
도 1은 이중-경로, 멀티 모드 순차 저장 엘리먼트(SSE)의 일 실시예의 블럭 다이어그램이다.
도 2는 이중-경로, 멀티 모드 SSE의 또다른 실시예의 블럭 다이어그램이다.
도 3은 이중-경로, 멀티 모드 SSE 내에 데이터를 저장하기 위한 프로그램 로직을 설명하는 로직 흐름도이다.
도 4는 이중-경로, 멀티 모드 SSE의 또다른 실시예의 블럭 다이어그램이다.
도 5는 이중-경로, 멀티 모드 SSE의 일 실시예의 회로도이다.
도 6은 이중-경로, 멀티 모드 SSE의 또다른 실시예의 회로도이다.
도 7은 이중-경로, 멀티 모드 SSE들을 포함하는 마이크로프로세서의 일 실시예의 블럭 다이어그램이다.
도 8은 이중-경로, 멀티 모드 SSE와 사용하기 위한 클럭 제어 회로의 일 실시예의 블럭 다이어그램이다.
도 9는 이중-경로, 멀티 모드 SSE에 의해 생성된 다양한 신호들을 도시하는 타이밍 다이어그램이다.
도 1은 이중-경로, 멀티 모드 순차 저장 엘리먼트(SSE;10)의 일 실시예를 도시한다. 이중-경로, 멀티 모드 SSE(10)는 각각 데이터를 저장할 수 있는 2개의 병렬 경로들을 갖는다. 동작 동안, 병렬 경로들 중 하나는 이중-경로, 멀티 모드 SSE(10)의 데이터 입력으로부터 데이터 출력으로 데이터를 통과시키도록 선택되거나 인에이블된다. 이중-경로, 멀티 모드 SSE(10)의 데이터 입력은 SSE(10)에 결합된 로직 또는 회로(비도시)로부터 데이터를 수용하거나 수신한다. 이중-경로, 멀티 모드 SSE(10)의 데이터 출력은 사용가능하거나, SSE(10)에 의해 저장된 데이터를 동일하거나 서로 다른 로직 또는 회로에 출력한다.
제한되지 않는 예에서, 이중-경로, 멀티 모드 SSE(10)의 하나의 경로는 예컨대, 마스터-슬레이브 래치, 플리-플롭 또는 레지스터와 같은 마스터-슬레이브 저장 엘리먼트(12)를 포함하는 저성능 경로이다. 다른 경로는 예컨대, 펄스-트리거 래치, 플리-플롭 또는 레지스터와 같은 펄스-트리거 저장 엘리먼트(14)를 포함하는 고성능 경로이다. 이중-경로, 멀티 모드 SSE(10)는 또한 모드 제어 신호(mode_ctrl)에 응답하여 SSE(10)의 데이터 입력으로부터 데이터 출력으로 데이터가 통과하는 경로들 중 하나를 인에이블하거나 선택하기 위한 멀티플렉서 회로와 같은 선택기 메카니즘(16)을 더 포함한다.
이중-경로, 멀티 모드 SSE(10)와 연관된 레이턴시는 펄스-트리거 저장 엘리먼트(14)를 선택함으로써 감소되며, 따라서 SSE(10)의 성능을 최적화시킨다. 상기와 같이, 펄스-트리거 저장 엘리먼트(14)는 성능이 임계적이거나 프로세스 파라미터들(예를 들면, 트랜지스터 임계 전압, 채널 경로 및 게이트 산화물 두께) 및/또는 동작 조건들(예컨대, 동적으로 변화하는 공급 전압들, 전력 공급 드리프트, 온도 변화들 및 방사량의 변화들)이 허용가능한 한계치 내에 있어서 펄스-트리거 저장 엘리먼트(14)가 신뢰성있게 기능할 것으로 예상될 때 선택될 수 있다. 대조적으로, 마스터-슬레이브 저장 엘리먼트(12)가 선택될 때, 이중-경로, 멀티 모드 SSE(10)의 신뢰성이 최적화된다. 즉, 마스터-슬레이브 저장 엘리먼트(12)가 넓은 범위의 프로세스 변형 및/또는 동작 조건들에서 신뢰성있는 동작을 제공하기 때문에, 마스터-슬레이브 저장 엘리먼트(12)는 펄스-트리거 저장 엘리먼트(14)와 비교하여 감소된 성능에도 불구하고 최적화된 신뢰성을 제공한다. 상기와 같이, 마스터-슬레이브 저장 엘리먼트(12)는 성능이 임계적이지 않거나 프로세스 파라미터들 및/또는 동작 조건들이 허용가능한 한계치들 밖에 있어서 펄스-트리거 저장 엘리먼 트(14)가 신뢰성있게 기능할 것으로 예상되지 않을 때 선택될 수 있다. 따라서, 이중-경로, 멀티 모드 SSE(10)는 상기 SSE(10)가 사용되는 특정 애플리케이션 또는 환경에 응답하여 고성능 및 최적화된 신뢰성의 데이터 저장 엘리먼트들 사이에서 선택적으로 스위칭할 수 있다.
펄스-트리거 저장 엘리먼트(14)는 펄스 클럭 신호(pulse_clk), 즉 클럭 주기의 1/2 미만의 펄스 폭을 가지는 클럭 신호에 응답하여 이중-경로, 멀티 모드 SSE(10)의 데이터 입력으로부터 데이터 출력으로 데이터를 저장하고 통과시킨다. 펄스 클럭이 비활성일 때, 펄스-트리거 저장 엘리먼트(14)는 효율적으로 디스에이블된다. 유사하게, 마스터-슬레이브 저장 엘리먼트(12)는 위상 클럭 신호(phase_clk), 즉 클럭 주기의 약 1/2의 펄스 폭을 가지는 클럭 신호에 응답하여 SSE(10)의 데이터 입력으로부터 데이터 출력으로 데이터를 저장하고 통과시킨다. 유사하게, 위상 클럭이 비활성일 때, 마스터-슬레이브 저장 엘리먼트(12)는 효율적으로 디스에이블된다. 펄스 및 위상 클럭들은 하기에서 설명되는 것과 같이 모드 제어 신호에 응답하여 활성화된다.
도 2는 이중-경로, 멀티 모드 SSE(10)의 일 실시예를 설명하며, 선택기 메카니즘(16)은 전송 및 통과 게이트들을 포함한다. 특히, 선택기 메카니즘(16)은 펄스-트리거 저장 엘리먼트(14) 및 이중-경로, 멀티 모드 SSE(10)의 데이터 출력 사이에 삽입된 제 1 전송 게이트(18) 및 마스터-슬레이브 저장 엘리먼트(12) 및 SSE(10)의 데이터 출력 사이에 삽입된 제 2 전송 게이트(20)를 포함한다.
제 1 전송 게이트(18)는 펄스-트리거 저장 엘리먼트(14)를 트리거하거나 클 력하는 펄스 클럭 신호(pulse_clk)에 응답하여 인에이블될 수 있다. 상기와 같이, 제 1 전송 게이트(18)는 펄스-트리거 저장 엘리먼트(14)가 펄스 클럭 신호에 응답하여 이중-경로, 멀티 모드 SSE(10)의 데이터 입력으로부터 데이터 출력으로 데이터를 통과시키도록 허용한다. 대조적으로, 펄스 클럭 신호가 비활성일 때, 제 1 전송 게이트는 디스에이블되며, 따라서 펄스-트리거 저장 엘리먼트(14)를 통해 SSE(10)의 데이터 입력과 데이터 출력 사이에서 데이터가 통과하는 것을 방지한다. 선택적으로, 전송 게이트(18)는 모드 제어 신호에 의해 직접 제어될 수 있다.
제 2 전송 게이트(20)는 마스터-슬레이브 저장 엘리먼트(12)를 트리거하거나 클력하는 위상 클럭 신호(phase_clk)에 응답하여 인에이블된다. 상기와 같이, 제 2 전송 게이트(20)는 마스터-슬레이브 저장 엘리먼트(12)가 위상 클럭 신호에 응답하여 이중-경로, 멀티 모드 SSE(10)의 데이터 입력으로부터 데이터 출력으로 데이터를 통과시키도록 허용한다. 위상 클럭 신호가 비활성일 때, 제 2 전송 게이트(20)는 디스에이블되며, 따라서 마스터-슬레이브 저장 엘리먼트(12)를 통해 SSE(10)의 데이터 입력과 데이터 출력 사이에서 데이터가 통과하는 것을 방지한다. 선택적으로, 제 2 전송 게이트(20)는 모드 제어 신호에 의해 직접 제어될 수 있다.
또한, 전송 게이트들(18, 20)의 출력들은 이중-경로, 멀티 모드 SSE(10)의 데이터 출력에 연결-OR 구성으로 결합된다. 상기와 같이, 전송 게이트들(18, 20)의 출력들은 논리적으로 도트화되거나(dotted) 함께 결합되어 출력 신호를 생성하며, 따라서 연결-OR 구성과 연관된 레이턴시에 의해 SSE(10)과 연관된 전체 지연을 약간 증가시킨다.
상기 내용을 염두에 두고, 도 3은 이중-경로, 멀티 모드 SSE(10) 내에 데이터를 저장하기 위한 상응하는 프로그램 로직을 설명한다. 프로세싱은 마스터-슬레이브 저장 엘리먼트(12) 또는 펄스-트리거 저장 엘리먼트(14) 중 하나를 선택함으로써 "시작"한다(단계 100). 일 예에서, 이중-경로, 멀티 모드 SSE(10)는 저장 엘리먼트들(12, 14) 중 하나를 선택하기 위한 멀티플렉서 회로를 포함한다. 또다른 예에서, 이중-경로, 멀티 모드 SSE(10)는 저장 엘리먼트들(12, 14) 중 하나를 선택하기 위한 전송 게이트들(18, 20)을 포함한다. 특정 선택기 메카니즘과 관계 없이, 입력 데이터는 그 후에 선택된 저장 엘리먼트를 통해 이중-경로, 멀티 모드 SSE(10)의 데이터 입력으로부터 데이터 출력으로 통과된다(단계 102).
도 4는 이중-경로, 멀티 모드 SSE(10)의 또다른 실시예를 설명하며, 상기 경우에 SSE(10)는 SSE(10)가 하나 또는 그 이상의 테스트 방법들과 호환할 수 있도록 하는 회로를 더 포함한다. 일 예로서, 이중-경로, 멀티 모드 SSE(10)는 테스트 멀티플렉서 회로(22)를 더 포함한다. 테스트 멀티플렉서 회로(22)는 SSE(10)의 마스터-슬레이브 저장 엘리먼트(12)를 테스트 인에이블 신호(test_en)에 응답하여 테스트 데이터 입력 또는 정규 기능 데이터 입력에 결합한다. 테스트 동안, 테스트 인에이블 신호는 테스트 멀티플렉서 회로(22)가 테스트 데이터 입력을 선택하도록 한다. 상기와 같이, 테스트 데이터는 테스트 동작들 동안 마스터-슬레이브 저장 엘리먼트(12)에 의해 캡처되거나 출력될 수 있다. 비-테스트 동작들 동안, 테스트 인에이블 신호는 무효가 된다(de-asserted). 이에 응답하여, 테스트 멀티플렉서 회로(22)는 마스터-슬레이브 저장 엘리먼트(12)를 정규 기능 데이터 입력에 결합한 다. 따라서, 이중-경로, 멀티 모드 SSE(10)는 스캔-기반(scan-based) 테스트 방법들과 완전히 호환가능하다. 또한 테스트 멀티플렉서 회로(22)는 마스터-슬레이브 저장 엘리먼트(12)를 포함하는 SSE(10)의 저성능 경로와 연관된 레이턴시를 증가시킨다. SSE(10)의 저성능 경로가 시간에 덜 민감한 동작들 동안 활성이 될 수 있거나 최적화된 신뢰성이 증가된 성능보다 더 임계적이기 때문에, 테스트 멀티플렉서 회로(22)의 부가된 레이턴시로부터의 성능에 영향을 주는 결과가 허용가능하다. 상기와 같이, 펄스-트리거 저장 엘리먼트(14)를 포함하는 SSE(10)의 고성능 경로의 성능은 테스트 멀티플렉서 회로(22)를 SSE(10)의 저성능 경로에 삽입함으로써 반대 영향을 받지 않는다.
도 5는 이중-경로, 멀티 모드 SSE(10)의 예시적인 회로 구현을 도시한다. 상기 특정 실시예에서, 마스터-슬레이브 저장 엘리먼트(12) 및 펄스-트리거 저장 엘리먼트(14)는 키퍼 회로(24)를 공유한다. 특히, 공유되는 키퍼 회로(24)는 저장 엘리먼트들(12, 14) 모두에 대하여 데이터 저장 엘리먼트로서 기능한다. 펄스-트리거 저장 엘리먼트(14)는 버퍼 회로(26), 전송 게이트(28) 및 공유되는 키퍼 회로(24)를 포함한다. 마스터-슬레이브 저장 엘리먼트(12)는 전송 게이트(32)와 키퍼 회로(24)를 포함하는 마스터 스테이지(30) 및 전송 게이트(36)와 공유되는 키퍼 회로(24)를 포함하는 슬레이브 스테이지를 포함한다.
버퍼(38) 및 3-상태 버퍼(40)를 포함하는 공유되는 키퍼 회로(24)는 순차 저장 엘리먼트들(12, 14)에 의해 포착된 데이터를 저장한다. 공유되는 키퍼 회로(24)는 데이터가 저장 엘리먼트들(12, 14) 중 하나에 의해 포착된 이후에 인에이 블된다. 대조적으로, 저장 엘리먼트들(12, 14) 중 하나가 데이터를 포착하는 프로세스 내에 있을 때, 공유되는 키퍼 회로(24)는 신호 경쟁(contention)을 막기 위해 디스에이블된다. 특히, 저장 엘리먼트들(12, 14) 중 하나가 데이터를 포착하고 있을 때, 펄스 클럭 신호(pulse_clk) 또는 위상 클럭 신호(phase_clk)는 활성 클럭 사이클 주기를 갖는다. 활성 클럭 사이클 주기들 동안, 공유되는 키퍼 회로(24)는 or_clk 신호에 응답하여 디스에이블되며, 따라서 데이터 포착 동안 신호 경쟁을 방지한다. 데이터 포착이 완료되고 상응하는 클럭 신호가 비활성 클럭 사이클 주기에 진입한 이후에, 공유되는 키퍼 회로(24)는 or_clk 신호에 응답하여 인에이블되며, 따라서 공유되는 키퍼 회로(24)가 새롭게 포착된 데이터를 저장하도록 한다.
펄스-트리거 저장 엘리먼트(14)는 펄스 클럭 신호(pulse_clk)에 응답하여 데이터를 포착한다. 펄스 클럭 신호가 활성일 때, 펄스-트리거 저장 엘리먼트(14)의 버퍼 회로(26)는 입력 데이터의 역변환된 버전을 사용하여 이중-경로, 멀티 모드 SSE(10)의 출력 노드를 구동한다. 버퍼 회로(42)는 SSE(10)의 출력 노드에 존재하는 신호들을 역변환하여 SSE(10)에 의해 출력된 데이터 신호들이 정확한 극성을 가지도록 한다. 데이터 포착 동안 공유되는 키퍼 회로(24)는 펄스 클럭 신호의 활성 클럭 사이클 주기에 응답하여 디스에이블된 상태로 유지되고, 따라서 데이터 입력과 공유되는 키퍼 회로(24) 사이에 경쟁을 방지한다. 입력 데이터가 펄스-트리거 저장 엘리먼트(14)에 의해 포착된 이후, 즉 SSE(10)의 데이터 출력이 적절한 신호 레벨로 충전된 이후에, 펄스 클럭 신호는 현재의 클럭 사이클 동안 비활성 주기로 변환한다. 펄스 클럭이 비활성 클럭 사이클 주기로 변환할 때, 공유되는 키퍼 회 로(24)는 or_clk 신호에 응답하여 인에이블된다. 따라서, 공유되는 키퍼 회로(24)는 펄스-트리거 저장 엘리먼트(14)에 의해 이전에 포착된 데이터를 저장함으로써 이중-경로, 멀티 모드 SSE(10)의 데이터 출력을 안정화한다.
마스터-슬레이브 저장 엘리먼트(12)는 위상 클럭 신호(phase_clk)에 응답하여 데이터를 포착한다. 특정 위상 클럭 사이클의 비활성 주기 동안, 마스터 스테이지(30)는 입력 데이터의 값으로 충전된다. 즉, 마스터 스테이지(30)의 전송 게이트(32)는 마스터 스테이지(30)를 충정하기 위해 입력 데이터를 인에이블하고, 슬레이브 스테이지의 전송 게이트(36)는 입력 데이터가 공유되는 키퍼 회로(24)로 제공되는 것을 막는다. 또한, 슬레이브 스테이지는 공유되는 키퍼 회로(24)를 통해 바로 이전 위상 클럭 사이클 동안 마스터-슬레이브 저장 엘리먼트(12)에 의해 이전에 포착된 데이터를 저장하는 것을 계속한다. 현재 위상 클럭 사이클이 활성 주기에 진입할 때, 마스터 스테이지(30)의 전송 게이트(32)는 디스에이블되고, 따라서 제 1 및 제 2 버퍼들(44, 46)을 포함하는 마스터 스테이지(30)의 키퍼 회로(34)가 포착된 데이터를 저장하도록 한다. 마스터 스테이지(30)의 키퍼 회로(34)는 위상 클럭 사이클의 활성 주기 동안 입력 데이터의 역변환된 버전을 사용하여 이중-경로, 멀티 모드 SSE(10)의 데이터 출력을 구동한다. 위상 클러 신호가 활성일 때, 공유되는 키퍼 회로(24)는 디스에이블된다. 상기와 같이, 바로 이전 위상 클럭 사이클 동안 슬레이브 스테이지에 의해 저장된 데이터는 최소한의 경쟁로 새롭게 포착된 데이터와 중복 기록된다. 후속 사이클 동안 위상 클럭이 비활성 주기로 변환하면, 공유되는 키퍼 회로(24)는 다시 한번 인에이블되고, 새롭게 포착된 데이터를 슬레이브 스테이지에 저장한다.
따라서, 펄스-트리거 저장 엘리먼트(14) 내에 포함되는 전송 게이트(28)와 마스터-슬레이브 저장 엘리먼트(12)의 슬에이브 스테이지 내에 포함되는 전송 게이트(36)는 이중-경로, 멀티 모드 SSE(10)의 선택기 메카니즘(16)으로서 기능한다. 펄스-트리거 저장 엘리먼트(14) 내에 포함된 전송 게이트(28)는 펄스 클럭 신호가 비활성일 때 펄스-트리거 저장 엘리먼트(14)를 통해 SSE(10)의 데이터 입력과 데이터 출력 사이에서 데이터가 통과하는 것을 방지한다. 유사하게, 마스터-슬레이브 저장 엘리먼트(12)의 슬레이브 스테이지에 포함된 전송 게이트(36)는 위상 클럭 신호가 비활성일 때 마스터-슬레이브 저장 엘리먼트(12)를 통해 SSE(10)의 데이터 입력과 데이터 출력 사이에서 데이터가 통과하는 것을 방지한다.
이중-경로, 멀티 모드 SSE(10)는 또한 SEE(10)가 전술된 것과 같은 스캔 테스트를 수용하도록 인에이블하기 위해 3개 버퍼들(48-52)을 포함하는 테스트 멀티플렉서 회로(22)를 포함한다. 특히, 제 1 및 제 2 버퍼들(48, 50)은 테스트 인에이블 신호(test_en)가 활성일 때 마스터-슬레이브 저장 엘리먼트(12)를 테스트 데이터 입력에 결합한다. 대조적으로, 제 2 및 제 3 버퍼들(50, 52)은 테스트 인에이블 신호가 비활성일 때 마스터-슬레이브 저장 엘리먼트(12)를 기능적인 데이터 입력에 결합한다.
도 6은 이중-경로, 멀티 모드 SSE(10)의 또다른 예시적인 회로 구현을 도시한다. 특정 실시예에서, 공유되는 키퍼 회로(24)는 제 1 및 제 2의 3-상태 버퍼들(54, 56)을 포함한다. 제 1의 3-상태 버퍼(54)는 펄스 클럭 신호(pulse_clk)가 활성일 때 고-임피던스 상태가 된다. 유사하게, 제 2의 3-상태 버퍼(56)는 위상 클럭 신호(phase_clk)가 활성일 때 고-임피던스 상태가 된다. 이와 함께, 3-상태 버퍼들(54, 56)은 펄스 및 위상 클럭 신호들이 비활성일 때, 예컨대 저장 엘리먼트들(12, 14) 중 하나가 입력 데이터를 포착한 후에 순차 저장 엘리먼트들(12, 14) 중 하나에 의해 포착된 데이터를 저장한다.
SSE(10)의 슬레이브 스테이지는 마스터 스테이지(30)로부터 수신된 신호들을 역변환하는 인버터(58)를 더 포함한다. 추가의 인버터(58)는 마스터-슬레이브 저장 엘리먼트(12)와 연관된 레이턴시를 증가시키지만, 인버터(58)는 공유되는 키퍼 회로(24)가 이중 3-상태 버퍼들(54, 56)을 포함할 때 SSE(10)의 데이터 출력이 적당한 극성을 가지도록 보장한다. 공유되는 키퍼 회로(24)가 이중 3-상태 버퍼들(54, 56)을 포함할 때, or_clk 신호는 더 이상 공유되는 키퍼 회로(24)의 동작을 제어하기 위해 생성되어야할 필요가 없다. 대신에, 공유되는 키퍼 회로(24)는 위상 및 펄스 클럭 신호들에 응답하여 직접 제어된다. 부가로, 펄스-트리거 저장 엘리먼트(14)와 연관된 성능은 공유되는 키퍼 회로(24)가 이중 3-상태 버퍼들(54, 56)을 포함할 때 펄스-트리거 저장 엘리먼트(14)의 출력 노드에서 더 낮은 전체 캐패시턴스로 인해 개선된다.
도 7은 다수의 이중-경로, 멀티 모드 SSEs(10A-10D)를 포함하는 마이크로프로세서(200)의 일 실시예를 도시한다. 이중-경로, 멀티 모드 SSEs(10A-10D)는 모두 클럭 생성, 제어 및 배포 회로(202)에 의해 생성되는 활성 위상 클럭 신호(phase_clk) 또는 활성 펄스 클럭 신호(pulse_clk)에 응답하여 트리거되거나 클 럭된다. 클럭 생성, 제어 및 배포 회로(202)는 예컨대 위상 및 펄스 클럭 신호들을 생성함으로써 외부 시스템 클럭 신호(SYSCLK)에 응답하여 마이크로프로세서(200)의 내부 타이밍들을 관리한다. 클럭 생성, 제어 및 배포 회로(202) 내에 포함되거나 그와 연관된 클럭 제어 신호(202)는 모드 제어 신호(mode_ctrl)에 응답하여 클럭 생성, 제어 및 배포 회로(202)에 의해 생성된 펄스 클럭 신호 또는 위상 클ㄹ걱 신호를 활성화시킨다. 활성화된 클럭 신호는 전술된 것과 같은 이중-경로, 멀티 모드 SSEs(10A-10D)를 클럭하거나 트리거한다.
마이크로프로세서(200) 외부에서 생성되거나 마이크로프로세서(200)에 의해 내부적으로 생성될 수 있는 모드 제어 신호는 마이크로프로세서(200)와 연관된 프로세스 파라미터들 및/또는 동작 조건들이 허용 가능한 한계치들 내에 있고 따라서 SSEs(10A-10D)의 펄스-트리거 저장 엘리먼트들이 신뢰성있게 기능하는 것으로 예상될 때 레이턴시를 최소화하고 마이크로프로세서(200)의 성능을 최적화하기 위해 제 1 상태로 세팅된다. 예를 들면, 모드 제어 신호는 마이크로프로세서(200)의 정규 기능 동작 동안 또는 스캔 테스트의 출력/포착 스테이지 동안 SSEs(10A-10D)를 클럭하기 위해 제 1 상태로 세팅될 수 있다. 대조적으로, 모드 제어 신호는 낮은 전력/대기 모드들과 같은 시간에 덜 민감한 동작들 동안 또는 마이크로프로세서(200)의 스캔 테스트 동안 또는 프로세스 변형들 및/또는 동작 조건들이 허용가능한 한계치들 밖에 있어서 SSEs(10A-10D)의 펄스-트리거 저장 엘리먼트들이 신뢰성있게 기능하는 것으로 예상되지 않을 때 마이크로프로세서(200)의 신뢰성을 최적화하기 위해 제 2 상태로 세팅된다. 모드 제어 신호가 생성되는 방식과 관계없이, 클럭 제어 신호(204)는 클럭 생성, 제어 및 배포 회로(202)에 의해 생성된 클럭 신호들 중 하나를 활성화하고, 활성화된 클럭 신호를 이중-경로, 멀티 모드 SSEs(10A-10D)에 제공한다. 일 실시예에서, 클럭 제어 회로(204)는 전술된 것과같이 경쟁을 최소화하기 위해 위상 및 펄스 클럭 신호들의 비활성 클럭 사이클 주기들 동안 이중-경로, 멀티 모드 SSEs(10A-10D)의 각각의 공유되는 키퍼 회로들을 인에이블하기 위해 신호(or_clk)를 활성화한다.
동작에서, 마이크로프로세서(200)는 외부 메모리(비도시)로부터 명령들 및 상응하는 데이터를 검색한다. 마이크로프로세서(200)는 명령들을 실행하고 그 결과들을 외부 메모리에 저장한다. 비-제한적인 예에서, 마이크로프로세서(200)는 명령들을 실행하기 위한 다수의 파이프라인들(206A-206D)을 포함한다. 각각의 파이프라인(206A-206D)은 명령 또는 명령의 일부를 실행하기 위한 결합 로직(208A-208D)을 포함하는 다수의 스테이지들을 포함한다. 스테이지들은 이중-경로, 멀티 모드 SSEs(10A-10D)와 같은 인터-스테이지 이중-경로 순차 저장 엘리먼트들에 의해 구분된다. 이중-경로, 멀티 모드 SSEs(10A-10D)는 이전 파이프라인 스테이지들로부터 데이터를 포착하고 및/또는 클럭 제어 회로(204)에 의해 제공되는 것과 같은 활성화된 클럭 신호에 응답하여 계속되는 스테이지들에 데이터를 출력한다.
일 실시예에서, 메모리 캐쉬(210), 예컨대 레벨-2 캐쉬는 마이크로프로세서(200)의 버스 인터페이스 로직(비도시)을 통해 외부 메모리로부터 검색된 어드레스 및 데이터 정보를 저장한다. 메모리 캐쉬(210)는 명령 정보를 명령 캐쉬(212)로 포워딩하고, 데이터를 데이터 캐쉬(214)로 포워딩하고 상기 데이터 캐쉬(214)로 부터 수신한다. 명령 유니트(216)는 마이크로프로세서(200)의 파이프라인들(206A-206D)로의 명령 흐름의 중앙 제어를 제공한다. 완료 유니트(218)는 파이프라인들(206A-206D)에 의한 실행을 통해 명령 유니트(216)에 의한 디스패치(dispatch)로부터 명려을의 프로세싱을 추적한다. 각각의 파이프라인(206A-206D)은 스테이지들에서 명령 유니트(216)로부터 수신된 명령들을 실행한다. 비-제한적인 예에서, 브랜치 파이프라인(206A)은 명령을 실행하기 위해 2개 스테이지의 결합 로직(208A)을 포함하고, 부동 소수점 파이프라인(206B)은 4개 스테이지의 결합 로직(208b)을 포함하며, 정수 파이프라인(206c)은 3개 스테이지의 결합 로직(208C)을 포함하고, 로드/저장 파이프라인(206D)은 2개 스테이지의 결합 로직(208D)을 포함한다. 당업자는 마이크로프로세서(200)가 수퍼 파이프라인될(superpipelined) 수 있고 및/또는 수퍼 스칼라될(superscala) 수 있음을 인식할 것이다. 상기와 같이, 마이크로프로세서(200)는 명령들을 실행하기 위한 다수의 파이프라인들을 포함할 수 있고, 상기 경우에 각각의 파이프라인 이중-경로 멀티 모드 SSE(10)의 다양한 경우들에 의해 구분되는 몇몇 스테이지들을 포함할 수 있다.
도 8은 마이크로프로세서(200)의 클럭 생성, 제어 및 배포 회로(202) 내에 포함되거나 이와 연관된 클럭 제어 회로(204)의 일 실시예를 도시한다. 클럭 제어 회로(24)는 모드 제어 신호(mode_ctrl)에 응답하여 클럭 제어 회로(204)에 의해 활성화되거나 생성되는 다양한 신호들의 타이밍 관계를 설명하는 도 9를 참조하여 설명된다. 클럭 제어 회로(204)는 펄스 클럭 신호(pulse_clk)를 활성화시키기 위한 제 1 회로(220), 위상 클럭 신호(phase_clk)를 활성화시키기 위한 제 2 회로(222) 및 공유되는 키퍼 회로(24)가 도 5에 도시된 것과 같이 3-상태 버퍼를 포함할 때 이중-경로, 멀티 모드 SSE(10)의 공유되는 키퍼 회로(24)를 디스에이블하는 신호(or_clk)를 생성하기 위한 제 3 회로(224)를 포함한다.
제 1 회로(220)는 NAND 로직 게이트(226) 및 버퍼(228)를 포함한다. 모드 제어 신호가 제 1 상태 내에 있을 때, 제 1 회로(220)는 펄스 클럭 신호(pulse_clk) 및 펄스 클럭 신호의 역변환된 버전을 출력시킴으로써 마이크로프로세서(200)의 클럭 생성, 제어 및 배포 회로(202)에 의해 생성된 펄스 클럭 입력을 활성화한다. 활성화된 펄스 클럭 신호들은 전술된 것과 같이 이중-경로, 멀티 모드 SSE(10)의 전송 게이트들을 제어한다. 제 2 회로(222)는 NAND 로직 게이트(230) 및 2개 버퍼들(232, 234)을 포함한다. 모드 제어 신호가 제 2 상태 내에 있을 때, 제 2 회로(222)는 위상 클럭 신호(phase_clk) 및 위상 클럭 신호의 역변환된 버전을 출력시킴으로써 마이크로프로세서(200)의 클럭 생성, 제어 및 배포 회로(202)에 의해 생성된 위상 클럭 입력을 활성화한다. 활성화된 위상 클럭 신호들은 전술된 것과 같이 이중-경로, 멀티 모드 SSE(10)의 전송 게이트들을 제어한다. 제 1 및 제 2 회로들(220, 22)은 위상 및 클럭 신호들 모두가 동시에 활성이 되는 것을 방지한다. 상기와 같이, 이중-경로, 멀티 모드 SSE(10)의 단 하나의 경로만이 데이터를 저장하도록 인에이블된다
제 3 회로(224)는 NOR 로직 게이트(236) 및 버퍼(238)를 포함한다. 제 3 회로(224)는 공유되는 키퍼 회로(24)가 도 5에 도시된 것과 같은 3-상태 버퍼를 포함할 때 위상 및 펄스 클럭 입력들에 응답하여 이중-경로, 멀티 모드 SSE(10)의 공유 되는 키퍼 회로(24)를 인에이블하거나 디스에이블하기 위해 신호(or_clk) 및 신호의 역변환된 버전을 생성한다. 상기와 같이, 마이크로프로세서(200)의 클럭 생성, 제어 및 배포 회로(202)에 의해 생성된 위상 또는 펄스 클럭 입력들 중 하나가 활성 클럭 사이클 주기를 가질 때, 공유되는 키퍼 회로(24)는 제 3 회로(224)에 의해 생성된 신호들에 응답하여 디스에이블되며, 따라서 전술된 것과 같이 경쟁을 최소화한다. 이와 반대로, 위상 및 펄스 클럭 입력들 모두가 비활성 클럭 사이클 주기를 가지거나 불활성될 때, 공유되는 키퍼 회로(24)는 인에이블되며, 따라서 이중-경로, 멀티 모드 SSE(10)의 마스터-슬레이브 저장 엘리먼트(12) 또는 펄스-트리거 저장 엘리먼트(14)에 의해 캡처된 데이터를 저장한다.
상기와 같은 범위의 변형들과 응용들을 염두에 두고, 본 개시물은 전술된 설명에 의해 제한되지 않으며, 첨부된 도면들에 의해 제한되지도 않음이 이해되어야 한다. 대신에, 본 개시물은 하기의 청구항들 및 그들의 법적 등가물들에 의해서만 제한된다.

Claims (28)

  1. 데이터를 저장하기 위한 장치로서,
    입력 및 출력을 가지는 제 1 순차(sequential) 저장 엘리먼트;
    입력 및 출력을 가지는 제 2 순차 저장 엘리먼트;
    상기 순차 저장 엘리먼트들 모두의 입력들에 결합되어 데이터를 수신하도록 구성된 데이터 입력;
    상기 순차 저장 엘리먼트들 모두의 출력들에 결합되어 상기 데이터를 출력하도록 구성된 데이터 출력; 및
    상기 데이터 입력으로부터 상기 데이터 출력으로 상기 데이터를 통과시키기 위해 상기 순차 저장 엘리먼트들 중 하나를 선택하도록 구성된 선택기 메카니즘을 포함하는 장치.
  2. 제 1항에 있어서,
    상기 선택기 메카니즘은 상기 순차 저장 엘리먼트들의 출력들 및 상기 데이터 출력 사이에 삽입된 멀티플렉서 회로를 포함하는 것을 특징으로 하는 장치.
  3. 제 1항에 있어서,
    상기 선택기 메카니즘은 상기 제 1 순차 저장 엘리먼트의 출력 및 상기 데이터 출력 사이에 삽입된 제 1 전송 게이트 및 상기 제 2 순차 저장 엘리먼트의 출력 과 상기 데이터 출력 사이에 삽입된 제 2 전송 게이트를 포함하는 것을 특징으로 하는 장치.
  4. 제 1항에 있어서,
    상기 제 1 순차 저장 엘리먼트는 펄스-트리거 저장 엘리먼트를 포함하고, 상기 제 2 순차 저장 엘리먼트는 마스터-슬레이브 저장 엘리먼트를 포함하는 것을 특징으로 하는 장치.
  5. 제 4항에 있어서,
    상기 펄스-트리거 저장 엘리먼트 및 상기 마스터-슬레이브 저장 엘리먼트의 슬레이브 스테이지는 상기 데이터를 저장하기 위한 키퍼(keeper) 회로를 공유하는 것을 특징으로 하는 장치.
  6. 제 5항에 있어서,
    상기 선택기 메카니즘은 상기 펄스-트리거 저장 엘리먼트의 버퍼 회로 및 상기 공유되는 키퍼 회로 사이에 삽입된 전송 게이트 및 상기 마스터-슬레이브 저장 엘리먼트의 마스터 스테이지 및 상기 공유되는 키퍼 회로 사이에 삽입된 제 2 전송 게이트를 포함하는 것을 특징으로 하는 장치.
  7. 제 6항에 있어서,
    상기 데이터 출력은 상기 전송 게이트들의 출력들을 상기 공유되는 키퍼 회로에 접속하는 연결-OR 구성으로 정렬되는 것을 특징으로 하는 장치.
  8. 제 6항에 있어서,
    상기 제 1 전송 게이트는 펄스 클럭 신호에 응답하여 상기 펄스-트리거 저장 엘리먼트를 선택하도록 구성되고, 상기 제 2 전송 게이트는 위상 클럭 신호에 응답하여 상기 마스터-슬레이브 저장 엘리먼트를 선택하도록 구성되는 것을 특징으로 하는 장치.
  9. 제 8항에 있어서,
    상기 공유되는 키퍼 회로는 비활성 클럭 사이클 주기들을 가지는 클럭 신호들 모두에 응답하여 인에이블되고, 상기 클럭 신호들 중 활성 클럭 사이클 주기를 가지는 클럭 신호에 응답하여 디스에이블되는 것을 특징으로 하는 장치.
  10. 제 5항에 있어서,
    상기 공유되는 키퍼 회로는 병렬로 결합된 버퍼 및 3-상태 버퍼를 포함하는 것을 특징으로 하는 장치.
  11. 제 5항에 있어서,
    상기 공유되는 키퍼 회로는 병렬로 결합된 2개의 3-상태 버퍼들을 포함하는 것을 특징으로 하는 장치.
  12. 제 4항에 있어서,
    테스트 모드에서 인에이블될 때 테스트 데이터를 상기 마스터-슬레이브 저장 엘리먼트로 통과시키고, 비-테스트 모드에서 인에이블될 때 기능 데이터를 상기 마스터-슬레이브 저장 엘리먼트로 통과시키도록 구성된 회로를 더 포함하는 것을 특징으로 하는 장치.
  13. 마이크로프로세서로서,
    펄스 클럭 신호 및 위상 클럭 신호 중 하나를 활성화시키도록 구성된 클럭 제어 회로; 및
    다수의 파이프 라인들을 포함하며, 상기 각각의 파이프 라인은 인터-스테이지(inter-stage) 이중-경로 멀티 모드 순차 저장 엘리먼트들에 의해 구분되는 다수의 스테이지들을 가지고, 각각의 이중-경로 멀티 모드 순차 저장 엘리먼트는,
    입력 및 출력을 가지는 마스터-슬레이브 저장 엘리먼트,
    입력 및 출력을 가지는 펄스-트리거 저장 엘리먼트,
    상기 저장 엘리먼트들 모두의 입력들에 결합되어 데이터를 수신하도록 구성된 데이터 입력,
    상기 저장 엘리먼트들 모두의 출력들에 결합되어 상기 데이터를 출력하도록 구성된 데이터 출력, 및
    상기 클럭 제어 회로에 의해 활성화된 상기 클럭 신호에 응답하여 상기 데이터 입력으로부터 상기 데이터 출력으로 상기 데이터를 통과시키기 위해 상기 저장 엘리먼트들 중 하나를 선택하도록 구성된 선택기 메카니즘을 포함하는 마이크로프로세서.
  14. 제 13항에 있어서,
    상기 펄스-트리거 저장 엘리먼트 및 상기 마스터-슬레이브 저장 엘리먼트의 슬레이브 스테이지는 상기 데이터를 저장하기 위한 키퍼(keeper) 회로를 공유하는 것을 특징으로 하는 마이크로프로세서.
  15. 제 14항에 있어서,
    상기 선택기 메카니즘은 상기 펄스-트리거 저장 엘리먼트의 버퍼 회로 및 상기 공유되는 키퍼 회로 사이에 삽입된 제 1 전송 게이트 및 상기 마스터-슬레이브 저장 엘리먼트의 마스터 스테이지 및 상기 공유되는 키퍼 회로 사이에 삽입된 제 2 전송 게이트를 포함하는 것을 특징으로 하는 마이크로프로세서.
  16. 제 15항에 있어서,
    상기 데이터 출력은 상기 전송 게이트들의 출력들을 상기 공유되는 키퍼 회로에 접속하는 연결-OR 구성으로 정렬되는 것을 특징으로 하는 마이크로프로세서.
  17. 제 15항에 있어서,
    상기 제 1 전송 게이트는 상기 펄스 클럭 신호에 응답하여 상기 펄스-트리거 저장 엘리먼트를 선택하도록 구성되고, 상기 제 2 전송 게이트는 상기 위상 클럭 신호에 응답하여 상기 마스터-슬레이브 저장 엘리먼트를 선택하도록 구성되는 것을 특징으로 하는 마이크로프로세서.
  18. 제 14항에 있어서,
    상기 공유되는 키퍼 회로는 비활성 클럭 사이클 주기들을 가지는 클럭 신호들 모두에 응답하여 인에이블되고, 상기 클럭 신호들 중 활성 클럭 사이클 주기를 가지는 클럭 신호에 응답하여 디스에이블되는 것을 특징으로 하는 마이크로프로세서.
  19. 제 13항에 있어서,
    상기 각각의 이중-경로 멀티 모드 순차 저장 엘리먼트는 상기 마이크로프로세서가 테스트 모드에서 인에이블될 때 테스트 데이터를 상기 마스터-슬레이브 저장 엘리먼트로 통과시키고, 상기 마이크로프로세서가 비-테스트 모드에서 인에이블될 때 기능 데이터를 상기 마스터-슬레이브 저장 엘리먼트로 통과시키도록 구성된 회로를 더 포함하는 것을 특징으로 하는 마이크로프로세서.
  20. 데이터를 저장하는 방법으로서,
    모드 입력에 응답하여 병렬로 결합된 마스터-슬레이브 저장 엘리먼트 및 펄스-트리거 저장 엘리먼트 중 하나를 선택하는 단계; 및
    상기 선택된 저장 엘리먼트를 통해 데이터 입력으로부터 데이터 출력으로 데이터를 통과시키는 단계를 포함하는 방법.
  21. 제 20항에 있어서,
    상기 저장 엘리먼트들 중 하나를 선택하는 단계는 제 1 상태인 모드 입력에 응답하여 상기 마스터-슬레이브 저장 엘리먼트를 선택하는 단계 및 제 2 상태인 모드 입력에 응답하여 상기 펄스-트리거 저장 엘리먼트를 선택하는 단계를 포한하는 것을 특징으로 하는 방법.
  22. 제 21항에 있어서,
    상기 제 2 상태인 모드 입력에 응답하여 상기 마스터-슬레이브 저장 엘리먼트를 디스에이블하는 단계; 및
    상기 제 1 상태인 모드 입력에 응답하여 상기 펄스-트리거 저장 엘리먼트를 디스에이블하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  23. 제 21항에 있어서,
    상기 선택된 저장 엘리먼트를 통해 데이터 입력으로부터 데이터 출력으로 데이터를 통과시키는 단계는 상기 제 1 상태인 모드 입력에 응답하여, 테스트 동작 동안 테스트 데이터를 상기 마스터-슬레이브 저장 엘리먼트로 통과시키는 단계 및 정규 기능 동작 동안 기능 데이터를 상기 마스터 슬레이브 저장 엘리먼트로 통과시키는 단계를 포함하며, 것을 특징으로 하는 방법.
  24. 제 20항에 있어서,
    상기 저장 엘리먼트들 중 하나를 선택하는 단계는 상기 제 1 상태인 모드 입력에 응답하여 상기 펄스-트리거 저장 엘리먼트의 전송 게이트를 인에이블하는 단계 및 상기 제 2 상태인 모드 입력에 응답하여 상기 마스터-슬레이브 저장 엘리먼트의 전송 게이트를 인에이블하는 단계를 포함하는 것을 특징으로 하는 방법.
  25. 제 24항에 있어서,
    상기 제 1 상태인 모드 입력에 응답하여 펄스 클럭 신호를 활성화시키는 단계; 및
    상기 제 2 상태인 모드 입력에 응답하여 위상 클럭 신호를 활성화시키는 단계를 더 포함하는 것을 특징으로 하는 방법.
  26. 제 25항에 있어서,
    상기 펄스-트리거 저장 엘리먼트의 전송 게이트를 인에이블하는 단계는 상기 펄스 클럭 신호를 상기 펄스-트리거 저장 엘리먼트의 전송 게이트에 제공하는 단계를 포함하고, 상기 마스터-슬레이브 저장 엘리먼트의 전송 게이트를 인에이블하는 단계는 상기 위상 클럭 신호를 상기 마스터-슬레이브 저장 엘리먼트의 전송 게이트에 제공하는 단계를 포함하는 것을 특징으로 하는 방법.
  27. 제 25항에 있어서,
    상기 클럭 신호들에 응답하여 상기 데이터 출력을 안정화시키는 단계를 더 포함하는 것을 특징으로 하는 방법.
  28. 제 27항에 있어서,
    상기 데이터 출력을 안정화시키는 단계는,
    비활성 클럭 사이클 주기들을 가지는 클럭 신호들 모두에 응답하여 상기 저장 엘리먼트들에 의해 공유되는 키퍼 회로를 인에이블하는 단계; 및
    상기 클럭 신호들 중 활성 클럭 사이클 주기를 가지는 클럭 신호에 응답하여 상기 공유되는 키퍼 회로를 디스에이블하는 단계를 포함하는 것을 특징으로 하는 방법.
KR1020087024012A 2006-03-01 2007-03-01 이중-경로, 멀티 모드 순차 저장 엘리먼트 KR100963385B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/365,716 2006-03-01
US11/365,716 US7725792B2 (en) 2006-03-01 2006-03-01 Dual-path, multimode sequential storage element

Publications (2)

Publication Number Publication Date
KR20080110770A true KR20080110770A (ko) 2008-12-19
KR100963385B1 KR100963385B1 (ko) 2010-06-14

Family

ID=38191244

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087024012A KR100963385B1 (ko) 2006-03-01 2007-03-01 이중-경로, 멀티 모드 순차 저장 엘리먼트

Country Status (9)

Country Link
US (1) US7725792B2 (ko)
EP (1) EP1989562B1 (ko)
JP (2) JP5118069B2 (ko)
KR (1) KR100963385B1 (ko)
CN (1) CN101389970B (ko)
AT (1) ATE482404T1 (ko)
DE (1) DE602007009365D1 (ko)
TW (1) TWI343542B (ko)
WO (1) WO2007103748A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7725792B2 (en) * 2006-03-01 2010-05-25 Qualcomm Incorporated Dual-path, multimode sequential storage element
US8089095B2 (en) * 2008-10-15 2012-01-03 Semiconductor Components Industries, Llc Two terminal multi-channel ESD device and method therefor
US8406077B2 (en) * 2010-07-01 2013-03-26 Qualcomm Incorporated Multi-voltage level, multi-dynamic circuit structure device
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
US20200106424A1 (en) 2018-09-27 2020-04-02 Apple Inc. Semi dynamic flop and single stage pulse flop with shadow latch and transparency on both input data edges

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4873456A (en) * 1988-06-06 1989-10-10 Tektronix, Inc. High speed state machine
US5378934A (en) 1990-09-12 1995-01-03 Hitachi, Ltd. Circuit having a master-and-slave and a by-pass
JP3138045B2 (ja) * 1992-01-10 2001-02-26 株式会社日立製作所 半導体集積回路
US5617549A (en) * 1992-10-06 1997-04-01 Hewlett-Packard Co System and method for selecting and buffering even and odd instructions for simultaneous execution in a computer
JPH0795013A (ja) * 1993-04-30 1995-04-07 Kawasaki Steel Corp エッジトリガ型フリップフロップ
JPH07254756A (ja) * 1994-03-15 1995-10-03 Sony Corp 光デバイス
US5424654A (en) 1994-09-22 1995-06-13 Kaplinsky; Cecil H. Programmable macrocell circuit
US6438720B1 (en) * 1995-06-07 2002-08-20 Texas Instruments Incorporated Host port interface
US6362015B1 (en) * 1998-10-30 2002-03-26 Texas Instruments Incorporated Process of making an integrated circuit using parallel scan paths
US6242269B1 (en) * 1997-11-03 2001-06-05 Texas Instruments Incorporated Parallel scan distributors and collectors and process of testing integrated circuits
FR2793628A1 (fr) * 1999-05-11 2000-11-17 Koninkl Philips Electronics Nv Systeme de transmission, recepteur et reseau d'interconnexion
US6662324B1 (en) * 1999-12-28 2003-12-09 International Business Machines Corporation Global transition scan based AC method
KR100319897B1 (ko) * 2000-01-31 2002-01-10 윤종용 파이프라인 구조에서의 데이터 테스트 시간을 줄일 수있는 반도체 메모리장치
US7535772B1 (en) * 2003-06-27 2009-05-19 Cypress Semiconductor Corporation Configurable data path architecture and clocking scheme
JP3869406B2 (ja) * 2003-11-10 2007-01-17 株式会社東芝 クロック位相差検出回路、クロック分配回路、及び大規模集積回路
JP2005303464A (ja) * 2004-04-07 2005-10-27 Toshiba Corp フリップフロップ
US7725792B2 (en) * 2006-03-01 2010-05-25 Qualcomm Incorporated Dual-path, multimode sequential storage element

Also Published As

Publication number Publication date
EP1989562A1 (en) 2008-11-12
EP1989562B1 (en) 2010-09-22
JP2009528799A (ja) 2009-08-06
WO2007103748A9 (en) 2007-11-15
ATE482404T1 (de) 2010-10-15
US20070208912A1 (en) 2007-09-06
DE602007009365D1 (de) 2010-11-04
JP2012217201A (ja) 2012-11-08
CN101389970B (zh) 2011-06-15
JP5118069B2 (ja) 2013-01-16
WO2007103748A1 (en) 2007-09-13
CN101389970A (zh) 2009-03-18
KR100963385B1 (ko) 2010-06-14
US7725792B2 (en) 2010-05-25
TW200802084A (en) 2008-01-01
JP5631934B2 (ja) 2014-11-26
TWI343542B (en) 2011-06-11

Similar Documents

Publication Publication Date Title
US8717078B2 (en) Sequential latching device with elements to increase hold times on the diagnostic data path
US8484523B2 (en) Sequential digital circuitry with test scan
JP4751216B2 (ja) 半導体集積回路及びその設計装置
JP5275333B2 (ja) 状態マシンの状態を追跡する複製状態マシンを備える集積回路
US20090300448A1 (en) Scan flip-flop device
JP2009222644A (ja) 半導体集積回路、及び設計自動化システム
US6472909B1 (en) Clock routing circuit with fast glitchless switching
KR100963385B1 (ko) 이중-경로, 멀티 모드 순차 저장 엘리먼트
TW202343444A (zh) 用於記憶體應用之鎖存電路
CN102844742B (zh) 带有mux-d扫描功能的脉冲动态逻辑门
US6467044B1 (en) On-board clock-control templates for testing integrated circuits
US6853212B2 (en) Gated scan output flip-flop
US6990038B1 (en) Clock driver and boundary latch for a multi-port SRAM
US6014752A (en) Method and apparatus for fully controllable integrated circuit internal clock
JP4927937B2 (ja) マルチモード、均一待ち時間クロック発生回路装置
US20080086666A1 (en) Analyzer
US8587356B2 (en) Recoverable and reconfigurable pipeline structure for state-retention power gating
US6654917B1 (en) Method and apparatus for scanning free-running logic
JP2005044334A (ja) 非同期制御回路と半導体集積回路装置
US7949917B2 (en) Maintaining data coherency in multi-clock systems
US8001411B2 (en) Generating a local clock domain using dynamic controls
US5912900A (en) Method and system for testing self-timed circuitry
US11112458B1 (en) Testing an integrated circuit having conservative reversible logic
US7237163B2 (en) Leakage current reduction system and method
US20080215941A1 (en) Double-edge triggered scannable pulsed flip-flop for high frequency and/or low power applications

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: 20130531

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140529

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160330

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180329

Year of fee payment: 9