KR20160076323A - 온칩 클록 컨트롤러를 포함하는 시스템온칩 및 이를 포함하는 모바일 장치 - Google Patents

온칩 클록 컨트롤러를 포함하는 시스템온칩 및 이를 포함하는 모바일 장치 Download PDF

Info

Publication number
KR20160076323A
KR20160076323A KR1020140186397A KR20140186397A KR20160076323A KR 20160076323 A KR20160076323 A KR 20160076323A KR 1020140186397 A KR1020140186397 A KR 1020140186397A KR 20140186397 A KR20140186397 A KR 20140186397A KR 20160076323 A KR20160076323 A KR 20160076323A
Authority
KR
South Korea
Prior art keywords
clock
scan
latch
flip
flop
Prior art date
Application number
KR1020140186397A
Other languages
English (en)
Other versions
KR102257380B1 (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 KR1020140186397A priority Critical patent/KR102257380B1/ko
Priority to CN202010237360.9A priority patent/CN111426947B/zh
Priority to CN201510888738.0A priority patent/CN105717444B/zh
Priority to TW104141214A priority patent/TWI683116B/zh
Priority to US14/968,894 priority patent/US9915933B2/en
Publication of KR20160076323A publication Critical patent/KR20160076323A/ko
Application granted granted Critical
Publication of KR102257380B1 publication Critical patent/KR102257380B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/045Programme control other than numerical control, i.e. in sequence controllers or logic controllers using logic state machines, consisting only of a memory or a programmable logic device containing the logic for the controlled machine and in which the state of its outputs is dependent on the state of its inputs or part of its own output states, e.g. binary decision controllers, finite state controllers
    • 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
    • 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
    • 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/2801Testing of printed circuits, backplanes, motherboards, hybrid circuits or carriers for multichip packages [MCP]
    • 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/3177Testing of logic operation, e.g. by logic analysers
    • 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/318552Clock circuits details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/353Generators characterised by the type of circuit or by the means used for producing pulses by the use, as active elements, of field-effect transistors with internal or external positive feedback
    • H03K3/356Bistable circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/353Generators characterised by the type of circuit or by the means used for producing pulses by the use, as active elements, of field-effect transistors with internal or external positive feedback
    • H03K3/356Bistable circuits
    • H03K3/356104Bistable circuits using complementary field-effect transistors
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/01Details
    • H03K3/012Modifications of generator to improve response time or to decrease power consumption
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/353Generators characterised by the type of circuit or by the means used for producing pulses by the use, as active elements, of field-effect transistors with internal or external positive feedback
    • H03K3/356Bistable circuits
    • H03K3/356008Bistable circuits ensuring a predetermined initial state when the supply voltage has been applied; storing the actual state when the supply voltage fails

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

본 발명의 하나의 실시형태에 따른 시스템-온-칩(system-on-chip)은 로직 블록을 포함하는 시스템-온-칩(system-on-chip)에 있어서, 상기 로직 블록은 패시브 키퍼(passive keeper)를 이용하여 데이터를 저장하는 스캔 플립플롭; 그리고 상기 로직 블록을 구동시키기 위한 기준 클록을 수신하며, 상기 기준 클록의 하이 구간에 기초하여 내부 클록을 생성하며, 상기 내부 클록을 상기 스캔 플립플롭으로 공급하는 온칩 클록 컨트롤러(on-chip clock controller)를 포함한다.

Description

온칩 클록 컨트롤러를 포함하는 시스템온칩 및 이를 포함하는 모바일 장치{SYSTEM-ON-CHIP INCLUDING ON-CHIP CLOCK CONTROLLER AND MOBILE DEVICE HAVING THE SAME}
본 발명은 SoC(system-on-chip)에 관한 것으로, 패시브 키퍼(passive keeper)를 포함하는 스캔 플립플롭(scan flip-flop)을 구동하기 위하여 클록의 듀티를 조절하기 위한 온칩 클록 컨트롤러를 포함하는 SoC(system-on-chip) 그리고 상기 SoC를 포함하는 모바일 장치에 관한 것이다
모바일(Mobile) 시장의 경쟁이 치열해지면서 저가의 저전력 고성능 수요가 급증하고 있다. 이를 만족하기 위해서는 SoC(system-on-chip) 내부의 디자인 오버헤드(design overhead) 요소를 제거할 필요가 있다. 이 중에서 테스트 비용은 대표적인 오버헤드(overhead)이다.
하지만 테스트를 고려하지 않을 경우 양산 제품의 신뢰성 검증에 더 많은 비용이 소요되기 때문에 SoC 설계시 이를 고려해야 한다.
본 발명의 목적은 테스터빌러티(testability)로 인해 시퀀셜 로직(sequential logic)에 부가된 비용을 최소화하여 저면적 저전력 고성능을 도모하는 플립플롭(Flip-Flop)과 이를 구동하기 위한 시스템을 고안하였다.
본 발명의 다른 목적은 상기 SoC를 포함하는 모바일 장치를 제공하는 것이다.
상기 목적을 달성하기 위하여 본 발명의 하나의 실시형태에 따른 시스템-온-칩(system-on-chip)은 로직 블록을 포함하는 시스템-온-칩(system-on-chip)에 있어서, 상기 로직 블록은 패시브 키퍼(passive keeper)를 이용하여 데이터를 저장하는 스캔 플립플롭(scan flip-flop); 그리고 상기 로직 블록을 구동시키기 위한 기준 클록을 수신하며, 상기 기준 클록의 하이 구간에 기초하여 내부 클록을 생성하며, 상기 내부 클록을 상기 스캔 플립플롭으로 공급하는 온칩 클록 컨트롤러(on-chip clock controller)를 포함한다.
하나의 실시 예에 있어서, 상기 온칩 클록 컨트롤러는 상기 기준 클록의 하이 구간과 동일하도록 상기 내부 클록의 하이 구간을 조절한다.
하나의 실시 예에 있어서, 상기 로직 블록은 적어도 하나의 IP(intellectual property)를 포함하고, 상기 IP의 폴트(fault)를 검출하기 위한 스캔 테스트 동안, 상기 스캔 플립플롭은 스캔 체인을 형성하며, 상기 스캔 체인을 통하여 스캔 테스트 패턴을 수신한다.
하나의 실시 예에 있어서, 상기 IP 내 폴트(fault)를 검출하기 위하여 상기 스캔 플립플롭은 한 클록 동안 노멀 동작을 실행한다.
하나의 실시 예에 있어서, 상기 IP의 노멀 동작 스피드를 체크하기 위하여 상기 스캔 플립플롭은 두 클록 동안 노멀 동작을 실행한다.
하나의 실시 예에 있어서, 상기 스캔 플립플롭은 스캔 활성화 신호에 응답하여 스캔 데이터와 노멀 데이터 중 어느 하나를 상기 내부 클록에 동기되어 출력하는 멀티플렉서; 상기 패시브 키퍼(passive keeper)를 이용하여 상기 스캔 데이터와 상기 노멀 데이터 중 어느 하나를 저장하는 제1 래치; 그리고 액티브 키퍼(active keeper)를 이용하여 상기 제1 래치로부터 전송된 데이터를 저장하는 제2 래치를 포함한다.
하나의 실시 예에 있어서, 상기 액티브 키퍼는 백투백 인버터(back-to-back inverter)를 포함한다.
하나의 실시 예에 있어서, 상기 제1 래치는 상기 내부 클록에 동기되어 데이터를 통과시키는 제1 소자; 그리고 상기 제1 소자에 연결되며, 상기 패시브 키퍼를 이용하여 상기 데이터를 저장하는 제2 소자를 포함한다.
하나의 실시 예에 있어서, 상기 내부 클록은 리턴 투 제로(return to zero) 형태를 가진다.
하나의 실시 예에 있어서, 상기 스캔 플립플롭은 스캔 활성화 신호에 응답하여 스캔 데이터와 노멀 데이터 중 어느 하나를 상기 내부 클록에 동기되어 출력하는 멀티플렉서; 액티브 키퍼를 이용하여 상기 스캔 데이터와 상기 노멀 데이터 중 어느 하나를 저장하는 제1 래치; 그리고 상기 패시브 키퍼를 이용하여 상기 제1 래치로부터 전송된 데이터를 저장하는 제2 래치를 포함한다.
하나의 실시 예에 있어서, 상기 내부 클록은 리턴 투 하이(return to high) 형태를 가진다.
하나의 실시 예에 있어서, 상기 로직 블록은 상기 패시브 키퍼를 이용하여 데이터를 저장하는 플립플롭을 더 포함한다.
본 발명의 다른 하나의 실시형태에 따른 시스템-온-칩은 로직 블록을 포함하는 시스템-온-칩(system-on-chip)에 있어서, 상기 로직 블록은 패시브 키퍼(passive keeper)를 이용하여 데이터를 저장하는 플립플롭(flip-flop); 그리고 상기 로직 블록을 구동시키기 위한 기준 클록을 수신하며, 상기 기준 클록의 하이 구간에 기초하여 내부 클록을 생성하며, 상기 내부 클록을 상기 플립플롭으로 공급하는 온칩 클록 컨트롤러(on-chip clock controller)를 포함한다.
하나의 실시 예에 있어서, 상기 온칩 클록 컨트롤러는 상기 기준 클록의 하이 구간과 동일하도록 상기 내부 클록의 하이 구간을 조절한다.
하나의 실시 예에 있어서, 상기 플립플롭은 상기 패시브 키퍼를 이용하여 데이터를 저장하는 제1 래치; 그리고 액티브 키퍼를 이용하여 상기 제1 래치로부터 전송된 데이터를 저장하는 제2 래치를 포함한다.
하나의 실시 예에 있어서, 상기 제1 래치는 상기 내부 클록에 동기되어 데이터를 통과시키는 제1 소자; 그리고 상기 제1 소자에 연결되며, 상기 패시브 키퍼를 이용하여 상기 데이터를 저장하는 제2 소자를 포함한다.
하나의 실시 예에 있어서, 상기 내부 클록은 리턴 투 제로(return to zero) 형태를 가진다.
하나의 실시 예에 있어서, 상기 액티브 키퍼는 백투백 인버터(back-to-back inverter)를 포함한다.
하나의 실시 예에 있어서, 상기 플립플롭은 액티브 키퍼를 이용하여 데이터를 저장하는 제1 래치; 그리고 상기 패시브 키퍼를 이용하여 상기 제1 래치로부터 전송된 데이터를 저장하는 제2 래치를 포함한다.
하나의 실시 예에 있어서, 상기 내부 클록은 리턴 투 하이(return to high) 형태를 가진다.
하나의 실시 예에 있어서, 상기 로직 블록은 상기 패시브 키퍼를 이용하여 데이터를 저장하는 스캔 플립플롭을 더 포함한다.
본 발명의 또 다른 하나의 실시형태에 따른 시스템-온-칩은 로직 블록을 포함하는 시스템-온-칩(system-on-chip)에 있어서, 상기 로직 블록은 패시브 키퍼를 이용하여 데이터를 저장하는 클록 게이트; 그리고 상기 로직 블록을 구동시키기 위한 기준 클록을 수신하며, 상기 기준 클록의 하이 구간에 기초하여 내부 클록을 생성하며, 상기 내부 클록을 상기 클록 게이트로 공급하는 온칩 클록 컨트롤러(on-chip clock controller)를 포함한다.
하나의 실시 예에 있어서, 상기 온칩 클록 컨트롤러는 상기 기준 클록의 하이 구간과 동일하도록 상기 내부 클록의 하이 구간을 조절한다.
하나의 실시 예에 있어서, 상기 클록 게이트는 상기 패시브 키퍼를 이용하여 클록 활성화 신호 또는 스캔 활성화 신호 중 어느 하나를 저장하기 위한 래치; 그리고 상기 저장된 신호와 상기 내부 클록을 AND 연산하는 AND 게이트를 포함한다.
하나의 실시 예에 있어서, 상기 래치는 상기 내부 클록에 동기되어 데이터를 통과시키는 제1 소자; 그리고 상기 제1 소자에 연결되며, 상기 패시브 키퍼를 이용하여 상기 데이터를 저장하는 제2 소자를 포함한다.
하나의 실시 예에 있어서, 상기 로직 블록은 상기 패시브 키퍼를 이용하여 데이터를 저장하는 플립플롭; 그리고 상기 패시브 키퍼를 이용하여 데이터를 저장하는 스캔 플립플롭을 더 포함한다.
본 발명의 하나의 실시형태에 따른 모바일 장치는 적어도 하나의 로직 블록을 포함하는 애플리케이션 프로세서(application processor)를 구비하는 모바일 장치(mobile device)에 있어서, 상기 로직 블록은 패시브 키퍼(passive keeper)를 이용하여 데이터를 저장하는 스캔 플립플롭(flip-flop); 그리고 상기 로직 블록을 구동시키기 위한 기준 클록을 수신하며, 상기 기준 클록의 하이 구간에 기초하여 내부 클록을 생성하며, 상기 내부 클록을 상기 스캔 플립플롭으로 공급하는 온칩 클록 컨트롤러(on-chip clock controller)를 포함한다.
하나의 실시 예에 있어서, 상기 온칩 클록 컨트롤러는 상기 기준 클록의 하이 구간과 동일하도록 상기 내부 클록의 하이 구간을 조절한다.
하나의 실시 예에 있어서, 상기 로직 블록은 적어도 하나의 IP(intellectual property)를 포함하고, 상기 IP의 폴트(fault)를 검출하기 위한 스캔 테스트 동안, 상기 스캔 플립플롭은 스캔 체인을 형성하며, 상기 스캔 체인을 통하여 스캔 테스트 패턴을 수신한다.
하나의 실시 예에 있어서, 상기 IP 내 폴트(fault)를 검출하기 위하여 상기 스캔 플립플롭은 한 클록 동안 노멀 동작을 실행한다.
하나의 실시 예에 있어서, 상기 IP의 노멀 동작 스피드를 체크하기 위하여 상기 스캔 플립플롭은 두 클록 동안 노멀 동작을 실행한다.
하나의 실시 예에 있어서, 상기 스캔 플립플롭은 스캔 활성화 신호에 응답하여 스캔 데이터와 노멀 데이터 중 어느 하나를 상기 내부 클록에 동기되어 출력하는 멀티플렉서; 상기 패시브 키퍼(passive keeper)를 이용하여 상기 스캔 데이터와 상기 노멀 데이터 중 어느 하나를 저장하는 제1 래치; 그리고 액티브 키퍼(active keeper)를 이용하여 상기 제1 래치로부터 전송된 데이터를 저장하는 제2 래치를 포함한다.
하나의 실시 예에 있어서, 상기 액티브 키퍼는 백투백 인버터(back-to-back inverter)를 포함한다.
하나의 실시 예에 있어서, 상기 제1 래치는 상기 내부 클록에 동기되어 데이터를 통과시키는 제1 소자; 그리고 상기 제1 소자에 연결되며, 상기 패시브 키퍼를 이용하여 상기 데이터를 저장하는 제2 소자를 포함한다.
하나의 실시 예에 있어서, 상기 내부 클록은 리턴 투 제로(return to zero) 형태를 가진다.
하나의 실시 예에 있어서, 상기 스캔 플립플롭은 스캔 활성화 신호에 응답하여 스캔 데이터와 노멀 데이터 중 어느 하나를 상기 내부 클록에 동기되어 출력하는 멀티플렉서; 액티브 키퍼를 이용하여 상기 스캔 데이터와 상기 노멀 데이터 중 어느 하나를 저장하는 제1 래치; 그리고 상기 패시브 키퍼를 이용하여 상기 제1 래치로부터 전송된 데이터를 저장하는 제2 래치를 포함한다.
하나의 실시 예에 있어서, 상기 내부 클록은 리턴 투 하이(return to high) 형태를 가진다.
본 발명의 실시 예에 따른 SoC는 패시브 키퍼를 포함하는 로직을 포함하기 때문에, 칩 면적(chip area)을 감소시킬 수 있다.
또한, 상기 SoC는 저전력으로 구동될 수 있다.
도 1은 본 발명의 실시 예에 따른 시퀀셜 로직(sequential logic)을 도시한 블록도이다;
도 2a는 종래 기술에 따른 스캔 플립플롭을 상세히 도시한 회로도이다;
도 2b는 종래 기술에 따른 클록 게이트 회로를 상세히 도시한 회로도이다;
도 3a는 본 발명의 하나의 실시 예에 따른 스캔 플립플롭을 상세히 도시한 회로도이다;
도 3b는 본 발명의 다른 실시 예에 따른 스캔 플립플롭을 상세히 도시한 회로도이다;
도 3c는 본 발명의 또 다른 실시 예에 따른 스캔 플립플롭을 상세히 도시한 회로도이다;
도 3d는 본 발명의 또 다른 실시 예에 따른 스캔 플립플롭을 상세히 도시한 회로도이다;
도 4a는 본 발명의 하나의 실시 예에 따른 클록 게이트를 상세히 도시한 회로도이다;
도 4b는 본 발명의 다른 실시 예에 따른 클록 게이트를 상세히 도시한 회로도이다;
도 4c는 본 발명의 또 다른 실시 예에 따른 클록 게이트를 상세히 도시한 회로도이다;
도 5은 본 발명의 하나의 실시 예에 따른 로직 회로를 도시한 블록도이다;
도 6은 본 발명의 다른 실시 예에 따른 로직 회로를 도시한 블록도이다;
도 7a은 슬로우 클록이 있는 경우, 로직 회로의 폴트를 검출하기 위한 스캔 테스트의 동작을 설명하기 위한 타이밍도이다;
도 7b은 슬로우 클록이 있는 경우, 로직 회로의 노멀 동작을 검증하기 위한 스캔 테스트의 동작을 설명하기 위한 타이밍도이다;
도 7c은 슬로우 클록이 있는 경우, 로직 회로의 노멀 동작을 테스트하기 위한 타이밍도이다;
도 8a은 슬로우 클록이 없는 경우, 로직 회로의 폴트를 검출하기 위한 스캔 테스트의 동작을 설명하기 위한 타이밍도이다;
도 8b은 슬로우 클록이 없는 경우, 로직 회로의 노멀 동작을 검증하기 위한 스캔 테스트의 동작을 설명하기 위한 타이밍도이다;
도 8c은 슬로우 클록이 없는 경우, 로직 회로의 노멀 동작을 테스트하기 위한 타이밍도이다;
도 9는 본 발명의 다른 실시 예에 따른 스캔 플립플롭을 도시한 회로도이다;
도 10는 본 발명의 하나의 실시 예에 따른 SoC를 도시한 블록도이다;
도 11는 본 발명의 다른 하나의 실시 예에 따른 SoC를 도시한 블록도이다;
도 12는 본 발명의 또 다른 하나의 실시 예에 따른 SoC를 도시한 블록도이다;
도 13는 도 1에 도시된 SoC를 포함하는 컴퓨터 시스템(310)의 일 실시 예를 나타낸다;
도 14은 도 1에 도시된 SoC를 포함하는 컴퓨터 시스템(320)의 다른 실시 예를 나타낸다;
도 15는 도 1에 도시된 SoC를 포함하는 컴퓨터 시스템(330)의 또 다른 실시 예를 나타낸다;
도 16은 도 1에 도시된 SoC를 포함하는 디지털 카메라 장치(400)을 도시한다; 그리고
도 17a 내지 도 17c는 도 1에 도시된 SoC를 포함하는 웨어러블 장치를 도시한다;
본문에 개시되어 있는 본 발명의 실시 예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시 예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시 예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시 예들에 한정되는 것으로 해석되어서는 안 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 개시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
한편, 어떤 실시 예가 달리 구현 가능한 경우에 특정 블록 내에 명기된 기능 또는 동작이 순서도에 명기된 순서와 다르게 일어날 수도 있다. 예를 들어, 연속하는 두 블록이 실제로는 실질적으로 동시에 수행될 수도 있고, 관련된 기능 또는 동작에 따라서는 상기 블록들이 거꾸로 수행될 수도 있다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예들을 설명한다.
도 1은 본 발명의 실시 예에 따른 싱크로노스 시스템(synchronous system)을 도시한 블록도이다.
도 1을 참조하면, 본 발명의 실시 예에 따른 싱크로노스 시스템(10)은 조합 회로(combinational circuit)와 스토리지 엘레멘트(storage element)를 포함할 수 있다. 하나의 실시 예에 있어서, 스토리지 엘레멘트는 래치(latch) 또는 플립플롭(flip-flop)을 포함할 수 있다.
예를 들면, 싱크로노스 시스템(10)는 조합 회로(combinational circuit; 11), 복수의 노멀 플립플롭들(normal flip-flop; 12), 복수의 스캔 플립플롭들(scan flip-flop; 13), 그리고 클록 게이트(14)를 포함할 수 있다.
조합 회로(11)는 AND 게이트, NAND 게이트, OR 게이트, NOR 게이트, XOR 게이트, XNOR 게이트, 버퍼(buffer), 그리고 인버터(inverter)와 같은 회로를 포함할 수 있다. 즉, 조합 회로(11)는 래치 회로(latch circuit) 또는 플립플롭(flip-flop)과 같은 레지스터(register)를 포함하지 않고, AND 게이트, NAND 게이트, OR 게이트, NOR 게이트, XOR 게이트, XNOR 게이트, 버퍼, 그리고 인버터의 조합으로 구성될 수 있다.
복수의 노멀 플립플롭들(12) 각각은 직렬로 연결된 두 개의 래치를 포함한다. 예를 들면, 복수의 노멀 플립플롭들(12) 각각은 마스터 래치(master latch)와 슬레이브 래치(slave latch)를 포함할 수 있다. 복수의 노멀 플립플롭들(12) 각각은 데이터 입력 신호(data input; D)를 조합회로(11)로 전송할 수 있다.
이에 반하여, 복수의 스캔 플립플롭들(13) 각각은 입력단에 연결된 멀티플렉서(multiplexor; MUX) 그리고 직렬로 연결된 두 개의 래치를 포함한다. 예를 들면, 복수의 스캔 플립플롭들(13) 각각은 멀티플렉서, 마스터 래치, 그리고 슬레이브 래치가 직렬로 연결된 구조를 포함할 수 있다.
상기 멀티플렉서(MUX)는 스캔 활성화 신호(scan enable signal; SE)에 응답하여 스캔 입력 신호(scan input; SI) 또는 데이터 입력 신호(data input; D)를 수신할 수 있다. 복수의 스캔 플립플롭들(13) 각각은 수신된 데이터를 조합 회로(11)로 전송할 수 있다. 스캔 플립플롭(13)은 도 3a 내지 도 3d에서 상세히 설명될 것이다.
상기 조합 회로(11)는 프라이머리 입력 데이터(primary input data; PI) 그리고 복수의 노멀 플립플롭들(12) 및 복수의 스캔 플립플롭들(13) 각각으로부터 전송된 데이터를 수신할 수 있다.
상기 조합 회로(11)는 프라이머리 출력 데이터(primary output data; PO)를 출력할 수 있다. 또한, 상기 조합 회로(11)는 상기 조합 회로(11)의 출력을 복수의 노멀 플립플롭들(12) 또는 복수의 스캔 플립플롭들(13) 중 적어도 하나로 전송할 수 있다.
클록 게이트(14)는 클록 활성화 신호(clock enable signal; E) 그리고 스캔 활성화 신호(SE)에 응답하여 인에이블 클록(enable clock; ECK)을 생성할 수 있다. 클록 게이트(14)는 인에이블 클록(ECK)을 복수의 노멀 플립플롭들(12) 또는 복수의 스캔 플립플롭들(13)로 전송한다. 클록 게이트(14)는 도 4a 내지 도 4c에서 상세히 설명될 것이다.
상기 싱크로노스 시스템(10)은 스캔 테스트(scan test)를 이용하여 테스트될 수 있다. 스캔 테스트 동작 동안, 복수의 스캔 플립플롭들(13)은 스캔 체인(scan chain)으로 변환될 수 있다. 예를 들면, 복수의 스캔 플립플롭들(13) 각각은 각각의 멀티플렉서(MUX)를 이용하여 스캔 체인을 구성할 수 있다.
스캔 동작 동안, 스캔 플립플롭은 멀티플렉서(MUX)를 통하여 스캔 데이터(SI)를 수신할 수 있다. 즉, 스캔 데이터(SI)는 직렬 쉬프트 방식(serial shift method)으로 상기 복수의 스캔 플립플롭들 각각으로 전송될 수 있다.
스캔 동작 과정에서, 상기 싱크로노스 시스템(10)은 노멀 동작(normal operation)을 한 클록 또는 두 클록 동안 실행할 수 있다. 그리고, 상기 노멀 동작이 실행된 결과는 상기 스캔 체인을 이용하여 출력될 수 있다.
예를 들면, 상기 싱크로노스 시스템(10)의 폴트(fault)를 검출하기 위하여, 스캔 동작 과정에서, 상기 싱크로노스 시스템(10)은 한 클록 동안 노멀 동작(normal operation)을 실행할 수 있다.
또한, 상기 싱크로노스 시스템(10)의 노멀 동작 스피드를 검증하기 위하여, 스캔 동작 과정에서, 상기 싱크로노스 시스템(10)은 두 클록 동안 노멀 동작(normal operation)을 실행할 수 있다.
하나의 실시 예에 있어서, 상기 싱크로노스 시스템(10)은 IP(intellectual property)를 포함할 수 있다. 또한, 상기 IP는 SoC(system-on-chip)로 구현될 수 있다.
도 2a는 종래 기술에 따른 스캔 플립플롭을 상세히 도시한 회로도이다.
도 2a를 참조하면, 종래 기술에 따른 스캔 플립플롭(scan flip-flop; 20)은 스캔 멀티플렉서(scan multiplexor; 21), 마스터 래치(master latch; 22), 그리고 슬레이브 래치(slave latch; 23)를 포함할 수 있다. 예를 들면, 스캔 플립플롭(20)은 스캔 멀티플렉서(21), 마스터 래치(22), 그리고 슬레이브 래치(23)가 연속적으로 연결되는 구조를 포함할 수 있다.
마스터 래치(22)는 제1 래치로 불리울 수 있다. 또한, 슬레이브 래치(23)는 제2 래치로 불리울 수 있다.
스캔 멀티플렉서(21)는 스캔 인에이블 신호(scan enable signal; SE)에 응답하여 스캔 입력 신호(SI)과 데이터 입력 신호(D) 중 어느 하나를 출력할 수 있다. 예를 들면, 스캔 멀티플렉서(21)는 일반적인 멀티플렉서를 포함할 수 있다.
마스터 래치(22)와 슬레이브 래치(23) 각각은 액티브 키퍼(active keeper)를 포함할 수 있다.
액티브 키퍼는 백투백 인버퍼(back-to-back inverter)와 같이 데이터를 저장할 수 있다. 예를 들면, 액티브 키퍼는 전원 공급이 계속되는 동안 데이터를 저장할 수 있다.
이에 반하여, 패시브 키퍼는 기생 캐피시터(parasite capacitor) 또는 패시브 캐패시터(passive capacitor)를 이용하여 데이터를 짧은 시간 동안 저장할 수 있다. 예를 들면, 패시브 키퍼는 전원 공급에 상관없이 데이터를 저장할 수 있다. 그러나, 패시브 키퍼는 데이터를 저장할 수 있는 시간이 매우 짧다.
마스터 래치(22)는 클록 신호(CK)에 동기되어 스캔 멀티플렉서(21)로부터 스캔 입력 신호(SI)과 데이터 입력 신호(D) 중 어느 하나를 수신한다.
예를 들면, 클록 신호(CK)가 하이 상태이면, 마스터 래치(22)는 스캔 멀티플렉서(21)로부터 스캔 입력 신호(SI)과 데이터 입력 신호(D) 중 어느 하나를 수신하고, 수신된 데이터를 저장한다.
그리고, 클록 신호(CK)가 로우 상태이면, 마스터 래치(22)는 수신된 데이터를 슬레이브 래치(23)로 전송한다. 슬레이브 래치(23)는 수신된 데이터를 저장하고, 상기 저장된 데이터를 출력한다. 즉, 스캔 플립플롭(20)의 출력(Q)는 슬레이브 래치(23)의 출력이다.
도 2b는 종래 기술에 따른 클록 게이트 회로를 상세히 도시한 회로도이다.
도 2b을 참조하면, 종래 기술에 따른 클록 게이트(clock gate; 30)는 노멀 플립플롭(12) 및 스캔 플립플롭(13)으로 클록을 공급할 수 있다.
클록 게이트(30)는 클록 인에이블 신호(clock enable; E)와 스캔 인에이블 신호(SE) 중 적어도 하나가 활성화되면, 클록 신호(CK)에 동기되어 인에이블 클록(enable clock; ECK)를 출력할 수 있다.
일반적으로, 클록 게이트(30)는 액티브 키퍼를 포함할 수 있다. 예를 들면, 액티브 키퍼는 백투백 인버터를 포함할 수 있다. 액티브 키퍼는 클록 인에이블 신호(E)와 스캔 인에이블 신호(SE) 중 적어도 하나의 활성화된 신호를 저장할 수 있다.
도 3a는 본 발명의 하나의 실시 예에 따른 스캔 플립플롭을 상세히 도시한 회로도이다.
도 3a를 참조하면, 본 발명의 실시 예에 따른 스캔 플립플롭(110)은 스캔 멀티플렉서(111), 마스터 래치(112), 그리고 슬레이브 래치(113)를 포함할 수 있다.
스캔 멀티플렉서(111)는 도 2a에 도시된 스캔 멀티플렉서(21)와 동일한 구조를 포함할 수 있다. 예를 들면, 스캔 멀티플렉서(111)는 두 개의 트라이-스테이트 버퍼(tri-state buffer)와 하나의 인버터를 포함할 수 있다. 스캔 멀티플렉서(111)는 스캔 인에이블 신호(SE)에 응답하여 스캔 입력 신호(SI)과 데이터 입력 신호(D) 중 어느 하나를 출력할 수 있다.
마스터 래치(112)는 패시브 키퍼를 포함할 수 있다. 예를 들면, 마스터 래치(112)는 하나의 트라이-스테이트 버퍼와 하나의 인버터를 포함할 수 있다. 상기 인버터는 기생 캐패시터를 포함할 수 있다. 또는, 상기 트라이-스테이트 버퍼와 상기 인버터 사이에 노드는 기생 캐패시터를 포함할 수 있다. 마스터 래치(112)는 상기 기생 캐패시터를 이용하여 짧은 시간 동안 데이터를 저장할 수 있다.
슬레이브 래치(113)는 액티브 키퍼를 포함할 수 있다. 예를 들면, 슬레이브 래치(113)는 하나의 트랜스미션 게이트(transmission gate), 하나의 트라이-스테이트 버퍼, 그리고 두 개의 인버터들을 포함할 수 있다. 하나의 트라이-스테이트 버퍼와 하나의 인버터는 백투백 인버터로 구현될 수 있다.
마스터 래치(112)는 클록 신호(CK)에 동기되어 스캔 멀티플렉서(111)로부터 스캔 입력 신호(SI)과 데이터 입력 신호(D) 중 어느 하나를 수신할 수 있다.
예를 들면, 클록 신호(CK)가 하이 상태이면, 마스터 래치(112)는 스캔 멀티플렉서(111)로부터 스캔 입력 신호(SI)과 데이터 입력 신호(D) 중 어느 하나를 수신하고, 수신된 데이터를 저장한다.
그리고, 클록 신호(CK)가 로우 상태이면, 마스터 래치(112)는 수신된 데이터를 슬레이브 래치(113)로 전송한다. 슬레이브 래치(113)는 수신된 데이터를 저장하고 출력한다. 즉, 스캔 플립플롭(110)의 출력(Q)는 슬레이브 래치(113)의 출력이다.
마스터 래치(112)는 패시브 키퍼를 포함하기 때문에, 스캔 플립플롭(110)은 빠른 주파수의 클록에서만 동작할 수 있다. 그러나, 스캔 플립플롭(110)은 느린 주파수의 클록에서 동작하기 위해서는 클록 신호의 듀티가 조절된 클록에 동기되어 동작할 수 있다. 클록 신호의 듀티가 조절된 타이밍은 도 7a 내지 도 8c에서 설명될 것이다.
도 3b는 본 발명의 다른 실시 예에 따른 스캔 플립플롭을 상세히 도시한 회로도이다.
도 3b를 참조하면, 본 발명의 다른 실시 예에 따른 스캔 플립플롭(120)은 스캔 멀티플렉서(121), 마스터 래치(122), 그리고 슬레이브 래치(123)를 포함할 수 있다.
스캔 멀티플렉서(121)는 도 2a에 도시된 스캔 멀티플렉서(21)와 동일한 구조를 포함할 수 있다. 예를 들면, 스캔 멀티플렉서(111)는 두 개의 트라이-스테이트 버퍼(tri-state buffer)와 하나의 인버터를 포함할 수 있다. 스캔 멀티플렉서(121)는 스캔 인에이블 신호(SE)에 응답하여 스캔 입력 신호(SI)과 데이터 입력 신호(D) 중 어느 하나를 출력할 수 있다.
마스터 래치(122)는 패시브 키퍼를 포함할 수 있다. 예를 들면, 마스터 래치(112)는 하나의 트랜스미션 게이트와 하나의 인버터를 포함할 수 있다. 상기 인버터는 기생 캐패시터를 포함할 수 있다. 마스터 래치(112)는 상기 기생 캐패시터를 이용하여 짧은 시간 동안 데이터를 저장할 수 있다.
슬레이브 래치(123)는 액티브 키퍼를 포함할 수 있다. 예를 들면, 슬레이브 래치(123)는 하나의 트랜스미션 게이트, 하나의 트라이-스테이트 버퍼, 그리고 두 개의 인버터들을 포함할 수 있다. 하나의 트라이-스테이트 버퍼와 하나의 인버터는 백투백 인버터로 구현될 수 있다.
마스터 래치(122)는 클록 신호(CK)에 동기되어 스캔 멀티플렉서(121)로부터 스캔 입력 신호(SI)과 데이터 입력 신호(D) 중 어느 하나를 수신할 수 있다.
예를 들면, 클록 신호(CK)가 하이 상태이면, 마스터 래치(112)는 스캔 멀티플렉서(21)로부터 스캔 입력 신호(SI)과 데이터 입력 신호(D) 중 어느 하나를 수신하고, 수신된 데이터를 저장한다.
그리고, 클록 신호(CK)가 로우 상태이면, 마스터 래치(122)는 수신된 데이터를 슬레이브 래치(123)로 전송한다. 슬레이브 래치(123)는 수신된 데이터를 저장하고 출력한다. 즉, 스캔 플립플롭(120)의 출력(Q)은 슬레이브 래치(123)의 출력이다.
도 3c는 본 발명의 또 다른 실시 예에 따른 스캔 플립플롭을 상세히 도시한 회로도이다.
도 3c를 참조하면, 본 발명의 실시 예에 따른 스캔 플립플롭(130)은 스캔 멀티플렉서(131), 마스터 래치(132), 그리고 슬레이브 래치(133)를 포함할 수 있다.
스캔 멀티플렉서(131)는 도 2a에 도시된 스캔 멀티플렉서(21)와 동일한 구조를 포함할 수 있다. 예를 들면, 스캔 멀티플렉서(111)는 두 개의 트라이-스테이트 버퍼(tri-state buffer)와 하나의 인버터를 포함할 수 있다. 스캔 멀티플렉서(111)는 스캔 인에이블 신호(SE)에 응답하여 스캔 입력 신호(SI)과 데이터 입력 신호(D) 중 어느 하나를 출력할 수 있다.
마스터 래치(132)는 패시브 키퍼를 포함할 수 있다. 예를 들면, 마스터 래치(132)는 하나의 트라이-스테이트 버퍼와 하나의 인버터를 포함할 수 있다. 상기 인버터는 기생 캐패시터를 포함할 수 있다. 또는, 상기 트라이-스테이트 버퍼와 상기 인버터 사이에 노드는 기생 캐패시터를 포함할 수 있다. 마스터 래치(132)는 상기 기생 캐패시터를 이용하여 짧은 시간 동안 데이터를 저장할 수 있다.
슬레이브 래치(133)는 액티브 키퍼를 포함할 수 있다. 예를 들면, 슬레이브 래치(133)는 하나의 트랜스미션 게이트, 하나의 트라이-스테이트 버퍼, 그리고 두 개의 인버터들을 포함할 수 있다. 하나의 트라이-스테이트 버퍼와 하나의 인버터는 백투백 인버터로 구현될 수 있다.
마스터 래치(132)는 클록 신호(CK)에 동기되어 스캔 멀티플렉서(131)로부터 스캔 입력 신호(SI)과 데이터 입력 신호(D) 중 어느 하나를 수신할 수 있다.
예를 들면, 클록 신호(CK)가 로우 상태이면, 마스터 래치(132)는 스캔 멀티플렉서(131)로부터 스캔 입력 신호(SI)과 데이터 입력 신호(D) 중 어느 하나를 수신하고, 수신된 데이터를 저장한다.
그리고, 클록 신호(CK)가 하이 상태이면, 마스터 래치(112)는 수신된 데이터를 슬레이브 래치(113)로 전송한다. 슬레이브 래치(113)는 수신된 데이터를 저장하고 출력한다. 즉, 스캔 플립플롭(110)의 출력(Q)는 슬레이브 래치(113)의 출력이다.
도 3d는 본 발명의 또 다른 실시 예에 따른 스캔 플립플롭을 상세히 도시한 회로도이다.
도 3d를 참조하면, 본 발명의 또 다른 실시 예에 따른 스캔 플립플롭(140)은 멀티플렉서를 포함하는 마스터 래치(141) 그리고 슬레이브 래치(142)를 포함할 수 있다.
마스터 래치(141)는 멀티플렉서와 패시브 키퍼를 포함할 수 있다. 예를 들면, 마스터 래치(141)는 6개의 PMOS 트랜지스터들, 9개의 NMOS 트랜지스터들, 그리고 NOR 게이트를 이용하여 구현될 수 있다.
또한, 슬레이브 래치(142)는 액티브 키퍼를 포함할 수 있다. 예를 들면, 슬레이브 래치(142)는 3개의 PMOS 트랜지스터들, 3개의 NMOS 트랜지스터들, 그리고 인버터를 이용하여 구현될 수 있다.
마스터 래치(141)는 스캔 인에이블 신호(SE)에 응답하여 스캔 입력 신호(SI)과 데이터 입력 신호(D) 중 어느 하나를 클록 신호(CK)에 동기되어 수신할 수 있다.
예를 들면, 클록 신호(CK)가 하이 상태이면, 마스터 래치(141)는 스캔 멀티플렉서(111)로부터 스캔 입력 신호(SI)과 데이터 입력 신호(D) 중 어느 하나를 수신하고, 수신된 데이터를 저장한다.
그리고, 클록 신호(CK)가 로우 상태이면, 마스터 래치(141)는 수신된 데이터를 슬레이브 래치(142)로 전송한다. 슬레이브 래치(142)는 수신된 데이터를 저장하고 출력한다.
또한, 스캔 플립플롭(140)은 제1 PMOS 트랜지스터(141a)와 제2 PMOS 트랜지스터(141b) 각각은 제외하더라도 이론적으로 동작할 수 있다. 그러나, 스캔 플립플롭(140)의 안정적인 노멀 동작을 위하여, 스캔 플립플롭(140)은 제1 PMOS 트랜지스터(141a)와 제2 PMOS 트랜지스터(141b)을 더 포함할 수도 있다.
도 4a는 본 발명의 하나의 실시 예에 따른 클록 게이트를 상세히 도시한 회로도이다.
도 1 및 도 4a을 참조하면, 본 발명의 실시 예에 따른 클록 게이트(210)는 패시브 키퍼를 포함하는 펄스 래치(pulse latch; 211)과 AND 게이트(212)를 포함할 수 있다.
펄스 래치(211)는 도 3a 내지 도 3c에 도시된 마스터 래치와 동일한 구조를 포함할 수 있다. 예를 들면, 펄스 래치(211)는 한 개의 트랜스미션 게이트와 두 개의 인버터들을 포함할 수 있다.
펄스 래치(211)는 클록 인에이블 신호(E)와 스캔 인에이블 신호(SE) 중 어느 하나를 클록 신호(CK)에 동기되어 저장할 수 있다. 펄스 래치(211)는 클록 인에이블 신호(E)와 스캔 인에이블 신호(SE) 중 어느 하나를 AND 게이트(212)로 전송할 수 있다.
AND 게이트(212)는 클록 신호(CK)와 펄스 래치(211)에 저장된 데이터를 AND 연산할 수 있다. AND 게이트(212)는 상기 AND 연산된 결과를 인에이블 클록(ECK)로 출력할 수 있다. 하나의 실시 예에 있어서, AND 게이트(212)는 NAND 게이트와 인버터로 구현될 수 있다.
펄스 래치(211)는 패시브 키퍼를 포함하기 때문에, 클록 게이트(210)는 빠른 주파수의 클록에서만 동작할 수 있다. 그러나, 클록 게이트(210)가 느린 주파수의 클록에서 동작하기 위해서는 클록 신호의 듀티가 조절된 클록에 동기되어 동작할 수 있다.
도 4b는 본 발명의 다른 실시 예에 따른 클록 게이트를 상세히 도시한 회로도이다.
도 1 및 도 4b을 참조하면, 본 발명의 실시 예에 따른 클록 게이트(220)는 패시브 키퍼를 포함하는 펄스 래치(221)과 AND 게이트(222)를 포함할 수 있다.
펄스 래치(221)는 한 개의 트라이 스테이트 버퍼를 포함할 수 있다. 펄스 래치(221)는 클록 인에이블 신호(E)와 스캔 인에이블 신호(SE) 중 어느 하나를 클록 신호(CK)에 동기되어 저장할 수 있다. 펄스 래치(221)는 클록 인에이블 신호(E)와 스캔 인에이블 신호(SE) 중 어느 하나를 AND 게이트(222)로 전송할 수 있다.
AND 게이트(222)는 클록 신호(CK)와 펄스 래치(221)에 저장된 데이터를 AND 연산할 수 있다. AND 게이트(222)는 상기 AND 연산된 결과를 인에이블 클록(ECK)로 출력할 수 있다. 하나의 실시 예에 있어서, AND 게이트(212)는 NAND 게이트와 인버터로 구현될 수 있다.
또한, 클록 게이트(220)의 안정적인 노멀 동작을 위하여, 펄스 래치(211)는 PMOS 트랜지스터(221a)를 더 포함할 수도 있다. 그러나, PMOS 트랜지스터(221a)는 제외하더라도 클록 게이트(220)는 이론적으로 동작할 수 있다.
도 4c는 본 발명의 또 다른 실시 예에 따른 클록 게이트를 상세히 도시한 회로도이다.
도 1 및 도 4c을 참조하면, 본 발명의 실시 예에 따른 클록 게이트(230)는 패시브 키퍼를 포함하는 펄스 래치를 포함할 수 있다. 예를 들면, 클록 게이트(230)는 3개의 PMOS 트랜지스터들, 7개의 NMOS 트랜지스터들, NOR 게이트, 그리고 인버터로 구현될 수 있다.
클록 게이트(230)는 클록 인에이블 신호(E)와 스캔 인에이블 신호(SE) 중 어느 하나를 클록 신호(CK)에 동기되어 저장할 수 있다. 클록 게이트(230)는 클록 인에이블 신호(E)와 스캔 인에이블 신호(SE) 중 어느 하나를 클록 신호(CK)에 동기되어 인에이블 클록(ECK)로 출력할 수 있다.
또한, 제1 PMOS 트랜지스터(231)와 제2 PMOS 트랜지스터(232)는 제외하더라도 클록 게이트(230)는 이론적으로 동작할 수 있다. 그러나, 클록 게이트(230)의 안정적인 노멀 동작을 위하여, 클록 게이트(230)는 제1 PMOS 트랜지스터(231)와 제2 PMOS 트랜지스터(232)를 더 포함할 수도 있다.
도 5은 본 발명의 하나의 실시 예에 따른 로직 블록을 도시한 블록도이다.
도 5을 참조하면, 본 발명의 실시 예에 따른 로직 블록(100)은 제1 내지 제4 플립플롭 그룹(flip-flop group; 101-104), 온칩 클록 컨트롤러(on-chip clock controller; 105), 그리고 클록 분배 패스(clock distribution path; 106)를 포함할 수 있다.
예를 들면, 제1 플립플롭 그룹(101)는 패시브 키퍼와 액티브 키퍼를 포함하는 스캔 플립플롭들을 포함할 수 있다. 예를 들면, 제1 플립플롭 그룹(101)는 도 3a 내지 도 3d에 도시된 스캔 플립플롭들(110-140)을 포함할 수 있다.
제2 플립플롭 그룹(102)는 액티브 키퍼만을 포함하는 스캔 플립플롭들을 포함할 수 있다. 예를 들면, 제2 플립플롭 그룹(102)는 도 2a에 도시된 스캔 플립플롭(20)을 포함할 수 있다.
제3 플립플롭 그룹(103)는 패시브 키퍼와 액티브 키퍼를 포함하는 플립플롭들을 포함할 수 있다. 제4 플립플롭 그룹(104)는 액티브 키퍼만을 포함하는 플립플롭들을 포함할 수 있다.
온칩 클록 컨트롤러(105)는 클록 분배 패스(106)를 통하여 제1 내지 제4 플립플롭 그룹(101-104) 각각으로 클록을 공급할 수 있다. 온칩 클록 컨트롤러(105)와 클록 분배 패스(106)는 도 6에서 상세히 설명될 것이다.
하나의 실시 예에 있어서, 로직 블록(100)은 IP(intellectual property)를 포함할 수 있다. 또한, 로직 블록(100)은 SoC(system-on-chip)로 구현될 수 있다.
도 6은 도 5에 도시된 클록 분배 패스를 상세히 도시한 블록도이다.
도 5 및 도 6을 참조하면, 로직 블록(100)은 복수의 플립플롭들(100a), 온칩 클록 컨트롤러(105), 그리고 클록 분배 패스(106)를 포함할 수 있다.
클록 분배 패스(106)는 제1 및 제2 클록 게이트(106a-106b)를 포함할 수 있다. 예를 들면, 제1 클록 게이트(106a)는 패시브 키퍼를 포함할 수 있다. 이에 반하여, 제2 클록 게이트(106b)는 액티브 키퍼를 포함할 수 있다.
복수의 플립플롭들(100a)은 도 5에 도시된 제1 내지 제4 플립플롭 그룹(101-104)을 포함할 수 있다.
온칩 클록 컨트롤러(105)는 제1 클록 신호(FCK), 제2 클록 신호(SCK), 스캔 클록 신호(SC_CK), 그리고 스캔 인에이블 신호(SE)를 수신할 수 있다. 온칩 클록 컨트롤러(105)는 내부 클록 신호(ICK)를 제1 및 제2 클록 게이트(201-202) 각각으로 공급할 수 있다.
제1 클록 신호(FCK)은 기준 클록이다. 제1 클록 신호(FCK)은 복수의 플립플롭들(100a)을 구동시키기 위한 최소 주파수를 가질 수 있다. 제2 클록 신호(SCK)은 로직 블록(100)의 동작 클록이다.
제1 및 제2 클록 게이트(106a-106b) 각각은 상기 복수의 플립플롭들(100a)로 내부 클록(ICK)을 제공할 수 있다.
예를 들면, 제1 클록 게이트(106a)는 제1 및 제3 플립플롭 그룹(101,103)으로 내부 클록(ICK)을 제공할 수 있다. 또한, 제2 클록 게이트(106b)는 제2 및 제4 플립플롭 그룹(102,104)으로 내부 클록(ICK)을 제공할 수 있다.
도 7a은 슬로우 클록이 있는 경우, 도 6에 도시된 로직 회로의 폴트를 검출하기 위한 스캔 테스트의 동작을 설명하기 위한 타이밍도이다.
도 5, 도 6 및 도 7a를 참조하면, 제1 클록 신호(FCK)는 패시브 키퍼를 포함하는 제1 클록 게이트(106a), 제1 플립플롭 그룹(101), 그리고 제3 플립플롭 그룹(103) 각각을 동작시키기 위한 최소 주파수를 가질 수 있다. 제2 클록 신호(SCK)는 로직 블록(100)이 동작하기 위한 최소 주파수를 가질 수 있다.
제1 클록 신호(FCK)는 제2 클록 신호(SCK)보다 더 높은 주파수를 갖는다. 하나의 실시 예에 있어서, 제1 클록 신호(FCK)는 제2 클록 신호(SCK)의 정수배의 주파수를 가질 수 있다.
일반적으로, 스캔 클록 신호(SC_CK)는 복수의 플립플롭들(100a) 중 스캔 플립플롭을 동작시키기 위한 클록이다. 예를 들면, 복수의 플립플롭들(100a)이 제1 내지 제4 플립플롭 그룹(101-104)을 포함하면, 스캔 클록 신호(SC_CK)는 제1 및 제2 플립플롭 그룹(101-102)을 동작시키는 클록이다.
스캔 클록 신호(SC_CK)는 제2 클록 신호(SCK)의 주파수보다 더 느린 주파수를 가질 수 있다.
스캔 인에이블 신호(SE)가 활성화되면 (즉, 스캔 인에이블 신호(SE)가 로우 상태이면), 로직 회로(200)는 스캔 테스트 동작을 실행할 수 있다.
만약 패시브 키퍼를 포함하는 스캔 플립플롭이 스캔 클록 신호(SC_CK)를 수신하는 경우, 패시브 키퍼는 제1 클록 신호(FCK) 만큼의 주파수에서만 동작할 수 있기 때문에, 패시브 키퍼를 포함하는 스캔 플립플롭은 정상적으로 동작할 수 없다.
온칩 클록 컨트롤러(105)는 패시브 키퍼를 포함하는 스캔 플립플롭으로 공급하기 위한 내부 클록 신호(ICK)를 생성할 수 있다. 온칩 클록 컨트롤러(105)는 내부 클록 신호(ICK)를 제1 및 제2 클록 게이트(201-202)로 공급할 수 있다. 제1 및 제2 클록 게이트(106a-106b) 각각은 내부 클록 신호(ICK)를 복수의 플립플롭들(100a)로 공급할 수 있다.
온칩 클록 컨트롤러(105)는 내부 클록 신호(ICK)의 하이 구간에 대한 듀티를 조절할 수 있다. 예를 들면, 온칩 클록 컨트롤러(105)는 내부 클록 신호(ICK)의 하이 구간에 대한 듀티를 제1 클록 신호(FCK)의 하이 구간에 대한 듀티와 동일하게 조절할 수 있다
로직 블록(100)의 폴트를 검출하기 위하여, 스캔 인에이블 신호(SE)가 활성화된 동안, 한 클록 동안 로직 블록(100)은 노멀 동작을 수행할 수 있다.
도 7b은 슬로우 클록이 있는 경우, 도 6에 도시된 로직 회로의 노멀 동작 스피드를 측정하기 위한 스캔 테스트의 동작을 설명하기 위한 타이밍도이다.
도 6 및 도 7b를 참조하면, 온칩 클록 컨트롤러(105)는 내부 클록 신호(ICK)의 하이 구간에 대한 듀티를 조절할 수 있다. 예를 들면, 온칩 클록 컨트롤러(105)는 내부 클록 신호(ICK)의 하이 구간에 대한 듀티를 제1 클록 신호(FCK)의 하이 구간에 대한 듀티와 동일하게 조절할 수 있다
로직 블록(100)의 노멀 동작 스피드를 측정하기 위하여, 스캔 인에이블 신호(SE)가 활성화된 동안, 두 클록 동안 로직 블록(100)은 노멀 동작을 수행할 수 있다.
도 7c은 슬로우 클록이 있는 경우, 도 6에 도시된 로직 회로의 노멀 동작을 테스트하기 위한 타이밍도이다.
도 6 및 도 7c를 참조하면, 온칩 클록 컨트롤러(105)는 내부 클록 신호(ICK)의 하이 구간에 대한 듀티를 조절할 수 있다. 예를 들면, 온칩 클록 컨트롤러(105)는 내부 클록 신호(ICK)의 하이 구간에 대한 듀티를 제1 클록 신호(FCK)의 하이 구간에 대한 듀티와 동일하게 조절할 수 있다
스캔 인에이블 신호(SE)가 비활성화된 동안, 로직 블록(100)의 노멀 동작은 검증될 수 있다. 예를 들면, 로직 회로(200)는 제1 클록 신호(FCK) 또는 제2 클록 신호(SCK)에 동기되어 노멀 동작을 수행할 수 있다.
도 8a은 슬로우 클록이 없는 경우, 도 6에 도시된 로직 회로의 폴트를 검출하기 위한 스캔 테스트의 동작을 설명하기 위한 타이밍도이다.
도 5, 도 6 및 도 8a를 참조하면, 온칩 클록 컨트롤러(105)는 내부 클록 신호(ICK)의 하이 구간에 대한 듀티를 조절할 수 있다. 예를 들면, 온칩 클록 컨트롤러(105)는 내부 클록 신호(ICK)의 하이 구간에 대한 듀티를 제1 클록 신호(FCK)의 하이 구간에 대한 듀티와 동일하게 조절할 수 있다
로직 블록(100)의 폴트를 검출하기 위하여, 스캔 인에이블 신호(SE)가 활성화된 동안, 한 클록 동안 로직 블록(100)은 노멀 동작을 수행할 수 있다.
도 8b은 슬로우 클록이 없는 경우, 도 6에 도시된 로직 회로의 노멀 동작의 스피드를 측정하기 위한 스캔 테스트의 동작을 설명하기 위한 타이밍도이다.
도 6 및 도 8b를 참조하면, 온칩 클록 컨트롤러(105)는 내부 클록 신호(ICK)의 하이 구간에 대한 듀티를 조절할 수 있다. 예를 들면, 온칩 클록 컨트롤러(105)는 내부 클록 신호(ICK)의 하이 구간에 대한 듀티를 제1 클록 신호(FCK)의 하이 구간에 대한 듀티와 동일하게 조절할 수 있다
로직 블록(100)의 노멀 동작 스피드를 측정하기 위하여, 스캔 인에이블 신호(SE)가 활성화된 동안, 두 클록 동안 로직 블록(100)은 노멀 동작을 수행할 수 있다.
도 8c은 슬로우 클록이 없는 경우, 도 6에 도시된 로직 회로의 노멀 동작을 테스트하기 위한 타이밍도이다.
도 6 및 도 8c를 참조하면, 온칩 클록 컨트롤러(105)는 내부 클록 신호(ICK)의 하이 구간에 대한 듀티를 조절할 수 있다. 예를 들면, 온칩 클록 컨트롤러(105)는 내부 클록 신호(ICK)의 하이 구간에 대한 듀티를 제1 클록 신호(FCK)의 하이 구간에 대한 듀티와 동일하게 조절할 수 있다
스캔 인에이블 신호(SE)가 비활성화된 동안, 로직 블록(100)의 노멀 동작은 검증될 수 있다. 예를 들면, 로직 회로(200)는 제1 클록 신호(FCK)에 동기되어 노멀 동작을 수행할 수 있다.
도 9는 본 발명의 다른 실시 예에 따른 스캔 플립플롭을 도시한 회로도이다.
도 9를 참조하면, 본 발명의 다른 실시 예에 따른 스캔 플립플롭(200)는 스캔 멀티플렉서(210), 마스터 래치(220), 그리고 슬레이브 래치(230)를 포함할 수 있다.
스캔 멀티플렉서(210)는 도 2a에 도시된 스캔 멀티플렉서(21)와 동일한 구조를 포함할 수 있다. 예를 들면, 스캔 멀티플렉서(210)는 두 개의 트라이-스테이트 버퍼(tri-state buffer)와 하나의 인버터를 포함할 수 있다. 스캔 멀티플렉서(210)는 스캔 인에이블 신호(SE)에 응답하여 스캔 입력 신호(SI)과 데이터 입력 신호(D) 중 어느 하나를 출력할 수 있다.
마스터 래치(220)는 액티브 키퍼를 포함할 수 있다. 예를 들면, 마스터 래치(220)는 두 개의 트라이-스테이트 버퍼 그리고 하나의 인버터들을 포함할 수 있다. 하나의 트라이-스테이트 버퍼와 하나의 인버터는 백투백 인버터로 구현될 수 있다.
슬레이브 래치(230)는 패시브 키퍼를 포함할 수 있다. 예를 들면, 슬레이브 래치(230)는 하나의 트라이-스테이트 버퍼와 두 개의 인버터를 포함할 수 있다. 슬레이브 래치(230)는 기생 캐패시터를 포함할 수 있다. 상기 트라이-스테이트 버퍼에 연결된 인버터는 상기 기생 캐패시터를 이용하여 짧은 시간 동안 데이터를 저장할 수 있다.
스캔 플립플롭(200)은 리턴 투 하이(return to high) 형태의 클록에 동기되어 동작할 수 있다. 이에 반하여, 도 3a에 도시된 스캔 플립플롭(110)은 리턴 투 제로(return to zero) 형태의 클록에 동기되어 동작할 수 있다. 예를 들면, 도 7a 내지 도 8c에 개시된 내부 클록(ICK)은 리턴 투 제로 형태를 가진다.
도 10는 본 발명의 하나의 실시 예에 따른 SoC를 도시한 블록도이다.
도 10을 참조하면, 본 발명의 실시 예에 따른 SoC(210)는 온칩 클록 컨트롤러(211) 그리고 패시브 키퍼를 이용하여 데이터를 저장하는 스캔 플립플롭(212)를 포함할 수 있다.
온칩 클록 컨트롤러(211)는 제1 클록 신호(FCK), 제2 클록 신호(SCK), 스캔 클록 신호(SC_CK), 그리고 스캔 인에이블 신호(SE)를 수신할 수 있다.
온칩 클록 컨트롤러(212)는 제1 클록 신호(FCK)의 하이 구간에 기초하여 상기 스캔 플립플롭(212)을 구동하기 위한 내부 클록 신호(ICK)를 생성할 수 있다.
또한, SoC(210)는 패시브 키퍼를 이용하여 데이터를 저장하는 플립플롭(213), 액티브 키퍼만을 포함하는 스캔 플립플롭(214), 그리고 액티브 키퍼만을 포함하는 플립플롭(215)를 더 포함할 수 있다.
패시브 키퍼를 이용하여 데이터를 저장하는 플립플롭(213), 액티브 키퍼만을 포함하는 스캔 플립플롭(214), 그리고 액티브 키퍼만을 포함하는 플립플롭(215) 각각은 내부 클록 신호(ICK)에 동기되어 동작할 수 있다.
도 11는 본 발명의 다른 하나의 실시 예에 따른 SoC를 도시한 블록도이다.
도 11을 참조하면, 본 발명의 실시 예에 따른 SoC(220)는 온칩 클록 컨트롤러(221) 그리고 패시브 키퍼를 이용하여 데이터를 저장하는 플립플롭(222)를 포함할 수 있다.
온칩 클록 컨트롤러(221)는 제1 클록 신호(FCK), 제2 클록 신호(SCK), 스캔 클록 신호(SC_CK), 그리고 스캔 인에이블 신호(SE)를 수신할 수 있다.
온칩 클록 컨트롤러(221)는 제1 클록 신호(FCK)의 하이 구간에 기초하여 상기 플립플롭(222)을 구동하기 위한 내부 클록 신호(ICK)를 생성할 수 있다.
또한, SoC(220)는 패시브 키퍼를 이용하여 데이터를 저장하는 스캔 플립플롭(223), 액티브 키퍼만을 포함하는 스캔 플립플롭(224), 그리고 액티브 키퍼만을 포함하는 플립플롭(225)를 더 포함할 수 있다.
패시브 키퍼를 이용하여 데이터를 저장하는 스캔 플립플롭(223), 액티브 키퍼만을 포함하는 스캔 플립플롭(224), 그리고 액티브 키퍼만을 포함하는 플립플롭(225) 각각은 내부 클록 신호(ICK)에 동기되어 동작할 수 있다.
도 12는 본 발명의 또 다른 하나의 실시 예에 따른 SoC를 도시한 블록도이다.
도 12을 참조하면, 본 발명의 실시 예에 따른 SoC(230)는 온칩 클록 컨트롤러(231) 그리고 패시브 키퍼를 이용하여 데이터를 저장하는 클록 게이트(232)를 포함할 수 있다.
온칩 클록 컨트롤러(231)는 제1 클록 신호(FCK), 제2 클록 신호(SCK), 스캔 클록 신호(SC_CK), 그리고 스캔 인에이블 신호(SE)를 수신할 수 있다.
온칩 클록 컨트롤러(231)는 제1 클록 신호(FCK)의 하이 구간에 기초하여 상기 클록 게이트(232)을 구동하기 위한 내부 클록 신호(ICK)를 생성할 수 있다.
또한, SoC(210)는 패시브 키퍼를 이용하여 데이터를 저장하는 스캔 플립플롭(233), 패시브 키퍼를 이용하여 데이터를 저장하는 플립플롭(234), 액티브 키퍼만을 포함하는 클록 게이트(235), 액티브 키퍼만을 포함하는 스캔 플립플롭(236), 그리고 액티브 키퍼만을 포함하는 플립플롭(237)을 더 포함할 수 있다.
패시브 키퍼를 이용하여 데이터를 저장하는 스캔 플립플롭(233), 패시브 키퍼를 이용하여 데이터를 저장하는 플립플롭(234), 액티브 키퍼만을 포함하는 클록 게이트(235), 액티브 키퍼만을 포함하는 스캔 플립플롭(236), 그리고 액티브 키퍼만을 포함하는 플립플롭(237) 각각은 내부 클록 신호(ICK)에 동기되어 동작할 수 있다.
도 13는 도 1에 도시된 SoC를 포함하는 컴퓨터 시스템(310)의 일 실시 예를 나타낸다.
도 13를 참조하면, 컴퓨터 시스템(310)은 메모리 장치(311), 메모리 장치(311)을 제어하는 메모리 컨트롤러를 포함하는 애플리케이션 프로세서(312), 무선 송수신기(313), 안테나(314), 디스플레이 장치(315), 터치 패널(316), 및 터치 센서 컨트롤러(317)를 포함한다.
무선 송수신기(313)는 안테나(314)를 통하여 무선 신호를 주거나 받을 수 있다. 예컨대, 무선 송수신기(313)는 안테나(314)를 통하여 수신된 무선 신호를 애플리케이션 프로세서(312)에서 처리될 수 있는 신호로 변경할 수 있다.
따라서, 애플리케이션 프로세서(312)는 무선 송수신기(313)로부터 출력된 신호를 처리하고 처리된 신호를 디스플레이 장치(315)로 전송할 수 있다. 또한, 무선 송수신기(313)는 애플리케이션 프로세서(312)으로부터 출력된 신호를 무선 신호로 변경하고 변경된 무선 신호를 안테나(314)를 통하여 외부 장치로 출력할 수 있다.
터치 패널(316)는 사용자(user)로부터 터치 신호를 수신할 수 있다. 터치 패널(316)는 상기 터치 신호를 캐패시턴스 변화량으로 변환한다. 터치 패널(316)은 상기 캐패시턴스 변화량에 관한 정보를 터치 센서 컨트롤러(317)로 전송한다. 터치 센서 컨트롤러(317)는 상기 캐패시턴스 변화량에 관한 정보를 좌표 정보를 변환한다. 터치 센서 컨트롤러(317)는 상기 좌표 정보를 애플리케이션 프로세서(312)로 전송한다.
하나의 실시 예에 있어서, 애플리케이션 프로세서(312)는 도 1에 도시된 SoC(100)를 포함할 수 있다.
도 14은 도 1에 도시된 SoC를 포함하는 컴퓨터 시스템(320)의 다른 실시 예를 나타낸다.
도 14을 참조하면, 컴퓨터 시스템(320)은 PC(personal computer), 네트워크 서버(Network Server), 태블릿(tablet) PC(personal computer), 넷-북(net-book), e-리더(e-reader), PDA (personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 또는 MP4 플레이어로 구현될 수 있다.
컴퓨터 시스템(320)은 메모리 장치(321)와 메모리 장치(321)의 데이터 처리 동작을 제어할 수 있는 메모리 컨트롤러를 포함하는 애플리케이션 프로세서(322), 디스플레이 장치(323), 터치 패널(324), 및 터치 센서 컨트롤러(325)를 포함한다.
터치 패널(324)는 사용자(user)로부터 터치 신호를 수신할 수 있다. 터치 패널(324)는 상기 터치 신호를 캐패시턴스 변화량으로 변환한다. 터치 패널(324)은 상기 캐패시턴스 변화량에 관한 정보를 터치 센서 컨트롤러(325)로 전송한다. 터치 센서 컨트롤러(325)는 상기 캐패시턴스 변화량에 관한 정보를 좌표 정보를 변환한다. 터치 센서 컨트롤러(325)는 상기 좌표 정보를 애플리케이션 프로세서(322)로 전송한다.
하나의 실시 예에 있어서, 애플리케이션 프로세서(322)는 도 1에 도시된 SoC(100)를 포함할 수 있다.
애플리케이션 프로세서(322)는 터치 패널(324)를 통하여 입력된 데이터에 따라 메모리 장치(321)에 저장된 데이터를 디스플레이 장치(324)를 통하여 디스플레이할 수 있다.
도 15는 도 1에 도시된 SoC를 포함하는 컴퓨터 시스템(330)의 또 다른 실시 예를 나타낸다.
도 15를 참조하면, 컴퓨터 시스템(330)은 이미지 처리 장치(Image Process Device), 예컨대 디지털 카메라 또는 디지털 카메라가 부착된 이동 전화기, 스마트 폰(smart phone) 또는 테블릿(tablet)으로 구현될 수 있다.
컴퓨터 시스템(330)은 메모리 장치(331)와 메모리 장치(331)의 데이터 처리 동작, 예컨대 라이트(write) 동작 또는 리드(read) 동작을 제어할 수 있는 메모리 컨트롤러를 포함하는 애플리케이션 프로세서(332), 이미지 센서(333), 디스플레이 장치(334), 터치 패널(335), 및 터치 센서 컨트롤러(336)를 포함한다.
이미지 센서(333)는 광학 이미지를 디지털 신호들로 변환하고, 변환된 디지털 신호들은 애플리케이션 프로세서(332)로 전송된다. 애플리케이션 프로세서(332)의 제어에 따라, 상기 변환된 디지털 신호들은 디스플레이 장치(334)를 통하여 디스플레이되거나 또는 메모리 장치(331)에 저장될 수 있다.
또한, 메모리 장치(331)에 저장된 데이터는 애플리케이션 프로세서(332)의 제어에 따라 디스플레이 장치(334)를 통하여 디스플레이될 수 있다.
터치 패널(335)는 사용자(user)로부터 터치 신호를 수신할 수 있다. 터치 패널(335)는 상기 터치 신호를 캐패시턴스 변화량으로 변환한다. 터치 패널(335)은 상기 캐패시턴스 변화량에 관한 정보를 터치 센서 컨트롤러(336)로 전송한다. 터치 센서 컨트롤러(336)는 상기 캐패시턴스 변화량에 관한 정보를 좌표 정보를 변환한다. 터치 센서 컨트롤러(336)는 상기 좌표 정보를 애플리케이션 프로세서(332)로 전송한다.
하나의 실시 예에 있어서, 애플리케이션 프로세서(332)는 도 1에 도시된 SoC(100)를 포함할 수 있다.
도 16은 도 1에 도시된 SoC를 포함하는 디지털 카메라 장치(400)을 도시한다.
도 16을 참조하면, 디지털 카메라 장치(400)는 안드로이드 운영체제(Android Operating System)로 동작하는 디지털 카메라이다. 하나의 실시 예에 있어서, 디지털 카메라 장치(400)는 갤럭시 카메라TM 또는 갤럭시 카메라2TM 를 포함할 수 있다.
디지털 카메라 장치(400)는 사용자로부터 터치 입력을 수신하기 위한 터치 패널(410), 터치 패널(410)을 제어하기 위한 터치 센서 컨트롤러, 영상 또는 동영상을 캡쳐하기 위한 이미지 센서(image sensor) 및 상기 이미지 센서를 제어하기 위한 애플리케이션 프로세서를 포함할 수 있다.
하나의 실시 예에 있어서, 디지털 카메라 장치(400)는 도 1에 도시된 SoC(100)를 포함할 수 있다.
도 17a 내지 도 17c는 도 1에 도시된 SoC를 포함하는 웨어러블 장치를 도시한다.
도 17a 및 도 17c을 참조하면, 제1 내지 제3 웨어러블 장치(510-530) 각각은 손목 시계 형태를 가진다. 제1 내지 제3 웨어러블 장치(510-530)는 안드로이드 운영체제(Android Operating System) 또는 타이젠 운영체제(TIZEN Operating System)로 동작하는 웨어러블 장치이다.
하나의 실시 예에 있어서, 제1 웨어러블 장치(510)는 갤럭시 기어2를 포함할 수 있다. 제2 웨어러블 장치(520)는 갤럭시 기어 핏(Galaxy Gear fit)을 포함할 수 있다. 제3 웨어러블 장치(530)는 갤럭시 기어S(Galaxy Gear S)을 포함할 수 있다.
제1 내지 제3 웨어러블 장치(510-530) 각각은 안드로이드 운영체제(Android Operating System) 또는 타이젠 운영체제(TIZEN Operating System)를 구동하기 위한 애플리케이션 프로세서, 영상 또는 동영상을 캡쳐하기 위한 이미지 센서 및 촬영될 영상 또는 동영상을 디스플레이하기 위한 디스플레이 장치를 포함할 수 있다.
하나의 실시 예에 있어서, 제1 내지 제3 웨어러블 장치(510-530) 각각은 도 1에 도시된 SoC(100)를 포함할 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
본 발명은 온칩 클록 컨트롤러를 포함하는 시스템-온-칩, 이를 포함하는 모바일 장치에 적용할 수 있다.
상기에서는 본 발명의 바람직한 실시 예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
10: 시퀀셜 로직
11: 조합 로직
12: 노멀 플립플롭
13: 스캔 플립플롭
14: 클록 게이트
110, 120, 130, 140: 스캔 플립플롭
111, 121, 131: 스캔 멀티플렉서
112, 122, 132, 141: 마스터 래치
113, 123, 133, 142: 슬레이브 래치
210, 220, 230: 클록 게이트
100, 200: SoC
310, 320, 330 : 컴퓨터 시스템
400 : 디지털 카메라 장치
510, 520, 530 : 손목시계형 웨어러블 장치

Claims (20)

  1. 로직 블록을 포함하는 시스템-온-칩(system-on-chip)에 있어서,
    상기 로직 블록은,
    패시브 키퍼(passive keeper)를 이용하여 데이터를 저장하는 스캔 플립플롭(scan flip-flop); 그리고
    상기 로직 블록을 구동시키기 위한 기준 클록을 수신하며, 상기 기준 클록의 하이 구간에 기초하여 내부 클록을 생성하며, 상기 내부 클록을 상기 스캔 플립플롭으로 공급하는 온칩 클록 컨트롤러(on-chip clock controller)를 포함하는 시스템-온-칩.
  2. 제 1 항에 있어서,
    상기 온칩 클록 컨트롤러는 상기 기준 클록의 하이 구간과 동일하도록 상기 내부 클록의 하이 구간을 조절하는 시스템-온-칩.
  3. 제 1 항에 있어서,
    상기 로직 블록은 적어도 하나의 IP(intellectual property)를 포함하고,
    상기 IP의 폴트(fault)를 검출하기 위한 스캔 테스트 동안, 상기 스캔 플립플롭은 스캔 체인을 형성하며, 상기 스캔 체인을 통하여 스캔 테스트 패턴을 수신하는 시스템-온-칩.
  4. 제 3 항에 있어서,
    상기 IP 내 폴트(fault)를 검출하기 위하여 상기 스캔 플립플롭은 한 클록 동안 노멀 동작을 실행하는 시스템-온-칩.
  5. 제 3 항에 있어서,
    상기 IP의 노멀 동작 스피드를 체크하기 위하여 상기 스캔 플립플롭은 두 클록 동안 노멀 동작을 실행하는 시스템-온-칩.
  6. 제 1 항에 있어서,
    상기 스캔 플립플롭은,
    스캔 활성화 신호에 응답하여 스캔 데이터와 노멀 데이터 중 어느 하나를 상기 내부 클록에 동기되어 출력하는 멀티플렉서;
    상기 패시브 키퍼(passive keeper)를 이용하여 상기 스캔 데이터와 상기 노멀 데이터 중 어느 하나를 저장하는 제1 래치; 그리고
    액티브 키퍼(active keeper)를 이용하여 상기 제1 래치로부터 전송된 데이터를 저장하는 제2 래치를 포함하는 시스템-온-칩.
  7. 제 6 항에 있어서,
    상기 액티브 키퍼는 백투백 인버터(back-to-back inverter)를 포함하는 시스템-온-칩.
  8. 제 1 항에 있어서,
    상기 제1 래치는,
    상기 내부 클록에 동기되어 데이터를 통과시키는 제1 소자; 그리고
    상기 제1 소자에 연결되며, 상기 패시브 키퍼를 이용하여 상기 데이터를 저장하는 제2 소자를 포함하는 시스템-온-칩.
  9. 제 6 항에 있어서,
    상기 내부 클록은 리턴 투 제로(return to zero) 형태를 가지는 시스템-온-칩.
  10. 제 1 항에 있어서,
    상기 스캔 플립플롭은,
    스캔 활성화 신호에 응답하여 스캔 데이터와 노멀 데이터 중 어느 하나를 상기 내부 클록에 동기되어 출력하는 멀티플렉서;
    액티브 키퍼를 이용하여 상기 스캔 데이터와 상기 노멀 데이터 중 어느 하나를 저장하는 제1 래치; 그리고,
    상기 패시브 키퍼를 이용하여 상기 제1 래치로부터 전송된 데이터를 저장하는 제2 래치를 포함하는 시스템-온-칩.
  11. 제 10 항에 있어서,
    상기 내부 클록은 리턴 투 하이(return to high) 형태를 가지는 시스템-온-칩.
  12. 로직 블록을 포함하는 시스템-온-칩(system-on-chip)에 있어서,
    상기 로직 블록은,
    패시브 키퍼(passive keeper)를 이용하여 데이터를 저장하는 플립플롭(flip-flop); 그리고
    상기 로직 블록을 구동시키기 위한 기준 클록을 수신하며, 상기 기준 클록의 하이 구간에 기초하여 내부 클록을 생성하며, 상기 내부 클록을 상기 플립플롭으로 공급하는 온칩 클록 컨트롤러(on-chip clock controller)를 포함하는 시스템-온-칩.
  13. 제 12 항에 있어서,
    상기 온칩 클록 컨트롤러는 상기 기준 클록의 하이 구간과 동일하도록 상기 내부 클록의 하이 구간을 조절하는 시스템-온-칩.
  14. 제 12 항에 있어서,
    상기 플립플롭은,
    상기 패시브 키퍼를 이용하여 데이터를 저장하는 제1 래치; 그리고,
    액티브 키퍼를 이용하여 상기 제1 래치로부터 전송된 데이터를 저장하는 제2 래치를 포함하는 시스템-온-칩.
  15. 제 14 항에 있어서,
    상기 제1 래치는,
    상기 내부 클록에 동기되어 데이터를 통과시키는 제1 소자; 그리고
    상기 제1 소자에 연결되며, 상기 패시브 키퍼를 이용하여 상기 데이터를 저장하는 제2 소자를 포함하는 시스템-온-칩.
  16. 제 14 항에 있어서,
    상기 내부 클록은 리턴 투 제로(return to zero) 형태를 가지는 시스템-온-칩.
  17. 제 14 항에 있어서,
    상기 액티브 키퍼는 백투백 인버터(back-to-back inverter)를 포함하는 시스템-온-칩.
  18. 제 12 항에 있어서,
    상기 플립플롭은,
    액티브 키퍼를 이용하여 데이터를 저장하는 제1 래치; 그리고,
    상기 패시브 키퍼를 이용하여 상기 제1 래치로부터 전송된 데이터를 저장하는 제2 래치를 포함하는 시스템-온-칩.
  19. 로직 블록을 포함하는 시스템-온-칩(system-on-chip)에 있어서,
    상기 로직 블록은,
    패시브 키퍼를 이용하여 데이터를 저장하는 클록 게이트; 그리고
    상기 로직 블록을 구동시키기 위한 기준 클록을 수신하며, 상기 기준 클록의 하이 구간에 기초하여 내부 클록을 생성하며, 상기 내부 클록을 상기 클록 게이트로 공급하는 온칩 클록 컨트롤러(on-chip clock controller)를 포함하는 시스템-온-칩.
  20. 제 19 항에 있어서,
    상기 온칩 클록 컨트롤러는 상기 기준 클록의 하이 구간과 동일하도록 상기 내부 클록의 하이 구간을 조절하는 시스템-온-칩.
KR1020140186397A 2014-12-22 2014-12-22 온칩 클록 컨트롤러를 포함하는 시스템온칩 및 이를 포함하는 모바일 장치 KR102257380B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020140186397A KR102257380B1 (ko) 2014-12-22 2014-12-22 온칩 클록 컨트롤러를 포함하는 시스템온칩 및 이를 포함하는 모바일 장치
CN202010237360.9A CN111426947B (zh) 2014-12-22 2015-12-07 包括逻辑电路的片上系统
CN201510888738.0A CN105717444B (zh) 2014-12-22 2015-12-07 包括片上时钟控制器的片上系统和具有其的移动装置
TW104141214A TWI683116B (zh) 2014-12-22 2015-12-09 包含晶載時鐘控制器的系統單晶片及具有其的行動裝置
US14/968,894 US9915933B2 (en) 2014-12-22 2015-12-15 System-on-chip including on-chip clock controller and mobile device having the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140186397A KR102257380B1 (ko) 2014-12-22 2014-12-22 온칩 클록 컨트롤러를 포함하는 시스템온칩 및 이를 포함하는 모바일 장치

Publications (2)

Publication Number Publication Date
KR20160076323A true KR20160076323A (ko) 2016-06-30
KR102257380B1 KR102257380B1 (ko) 2021-05-31

Family

ID=56129266

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140186397A KR102257380B1 (ko) 2014-12-22 2014-12-22 온칩 클록 컨트롤러를 포함하는 시스템온칩 및 이를 포함하는 모바일 장치

Country Status (4)

Country Link
US (1) US9915933B2 (ko)
KR (1) KR102257380B1 (ko)
CN (2) CN111426947B (ko)
TW (1) TWI683116B (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9985612B2 (en) * 2016-08-24 2018-05-29 Intel Corporation Time borrowing flip-flop with clock gating scan multiplexer
KR102386753B1 (ko) * 2017-10-11 2022-04-15 삼성전자주식회사 공통 클럭을 사용하는 플립플롭을 포함하는 전자 회로
CN111193514A (zh) * 2019-10-25 2020-05-22 电子科技大学 一种高同步精度irig-b编码器
US11387817B2 (en) 2020-04-16 2022-07-12 Samsung Electronics Co., Ltd. Latch circuit, flip-flop circuit including the same
CN112949830B (zh) * 2021-03-09 2022-12-06 合肥辉羲智能科技有限公司 智能推断网络系统以及加法单元和池化单元电路系统
KR20220149220A (ko) 2021-04-30 2022-11-08 삼성전자주식회사 메모리 장치
US11454671B1 (en) * 2021-06-30 2022-09-27 Apple Inc. Data gating using scan enable pin
US11714131B1 (en) 2022-03-21 2023-08-01 Stmicroelectronics International N.V. Circuit and method for scan testing

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4864579A (en) * 1986-08-04 1989-09-05 Mitsubishi Denki Kabushiki Kaisha Semiconductor integrated circuit device
US5457698A (en) * 1992-02-25 1995-10-10 Mitsubishi Denki Kabushiki Kaisha Test circuit having a plurality of scan latch circuits
US6242958B1 (en) 1999-12-29 2001-06-05 Intel Corporation Master slave flip flop as a dynamic latch
US20040019830A1 (en) * 2002-07-25 2004-01-29 Mitsubishi Denki Kabushiki Kaisha. Test apparatus of semiconductor integrated circuit with hold error preventing function
US6703881B2 (en) 1999-10-14 2004-03-09 Intel Corporation Flip-flop circuit
KR20040080172A (ko) 2003-03-11 2004-09-18 대한민국(관리부서:농촌진흥청) 미생물 효소분비 촉진제 및 이를 함유하는 사료 조성물
KR100604904B1 (ko) 2004-10-02 2006-07-28 삼성전자주식회사 스캔 입력을 갖는 플립 플롭 회로

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09270677A (ja) * 1995-09-05 1997-10-14 Mitsubishi Electric Corp フリップフロップ回路及びスキャンパス並びに記憶回路
JP2004080172A (ja) 2002-08-13 2004-03-11 Yamaha Corp D型フリップフロップおよび電子回路
US7747917B2 (en) * 2002-10-07 2010-06-29 Cirrus Logic, Inc. Scan cells with minimized shoot-through and scan chains and integrated circuits using the same
KR100491052B1 (ko) * 2002-11-27 2005-05-24 한국전자통신연구원 시스템온칩 시험 회로 및 시험 방법
US7089471B2 (en) * 2003-08-14 2006-08-08 Broadcom Corporation Scan testing mode control of gated clock signals for flip-flops
US7183797B2 (en) * 2004-10-29 2007-02-27 Altera Corporation Next generation 8B10B architecture
US7574638B2 (en) * 2005-02-03 2009-08-11 Samsung Electronics Co., Ltd. Semiconductor device tested using minimum pins and methods of testing the same
US7650549B2 (en) * 2005-07-01 2010-01-19 Texas Instruments Incorporated Digital design component with scan clock generation
US7415645B2 (en) * 2005-07-28 2008-08-19 International Business Machines Corporation Method and apparatus for soft-error immune and self-correcting latches
CN100442203C (zh) * 2006-05-26 2008-12-10 中国科学院计算技术研究所 用于片上系统中知识产权核和功能模块的功耗降低方法
KR101047533B1 (ko) * 2007-02-23 2011-07-08 삼성전자주식회사 멀티 페이즈 스캔체인을 구동하는 시스템온칩과 그 방법
CN100498649C (zh) * 2007-03-28 2009-06-10 威盛电子股份有限公司 复位系统及复位方法
KR20090033969A (ko) * 2007-10-02 2009-04-07 삼성전자주식회사 통신시스템에서 전류소모를 감소시키기 위한 장치 및 방법
CN101251580A (zh) * 2008-04-17 2008-08-27 中国科学院计算技术研究所 一种可诊断扫描链故障的电路装置及其诊断方法
CN101387896B (zh) * 2008-10-22 2010-06-23 炬力集成电路设计有限公司 Soc中实现片上主系统唤醒和睡眠功能的方法和装置
US8037385B2 (en) * 2008-12-12 2011-10-11 Qualcomm Incorporat Scan chain circuit and method
TWI399925B (zh) * 2010-01-20 2013-06-21 Socle Technology Corp 濾波電路及具有濾波電路之系統晶片
CN102043122B (zh) * 2011-01-17 2012-12-05 哈尔滨工业大学 一种改进扫描链单元及基于该单元的非并发测试方法
KR101928271B1 (ko) * 2012-03-16 2018-12-13 삼성전자 주식회사 스캔 플립-플롭, 이의 동작 방법, 및 이를 포함하는 데이터 처리 장치들
US8624632B2 (en) * 2012-03-29 2014-01-07 International Business Machines Corporation Sense amplifier-type latch circuits with static bias current for enhanced operating frequency
KR20130125036A (ko) * 2012-05-08 2013-11-18 삼성전자주식회사 시스템 온 칩, 이의 동작 방법, 및 이를 포함하는 시스템
CN103576076B (zh) * 2012-07-27 2019-02-01 恩智浦美国有限公司 用于执行扫描测试的系统和方法
KR102010454B1 (ko) * 2012-12-26 2019-08-13 삼성전자주식회사 스캔 플립-플롭, 이의 동작 방법, 및 이를 포함하는 데이터 처리 장치
WO2015030150A1 (en) * 2013-08-30 2015-03-05 Semiconductor Energy Laboratory Co., Ltd. Storage circuit and semiconductor device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4864579A (en) * 1986-08-04 1989-09-05 Mitsubishi Denki Kabushiki Kaisha Semiconductor integrated circuit device
US5457698A (en) * 1992-02-25 1995-10-10 Mitsubishi Denki Kabushiki Kaisha Test circuit having a plurality of scan latch circuits
US6703881B2 (en) 1999-10-14 2004-03-09 Intel Corporation Flip-flop circuit
US6242958B1 (en) 1999-12-29 2001-06-05 Intel Corporation Master slave flip flop as a dynamic latch
US20040019830A1 (en) * 2002-07-25 2004-01-29 Mitsubishi Denki Kabushiki Kaisha. Test apparatus of semiconductor integrated circuit with hold error preventing function
KR20040080172A (ko) 2003-03-11 2004-09-18 대한민국(관리부서:농촌진흥청) 미생물 효소분비 촉진제 및 이를 함유하는 사료 조성물
KR100604904B1 (ko) 2004-10-02 2006-07-28 삼성전자주식회사 스캔 입력을 갖는 플립 플롭 회로

Also Published As

Publication number Publication date
KR102257380B1 (ko) 2021-05-31
CN105717444B (zh) 2020-04-21
US9915933B2 (en) 2018-03-13
CN111426947B (zh) 2022-03-29
US20160179074A1 (en) 2016-06-23
CN105717444A (zh) 2016-06-29
TW201636631A (zh) 2016-10-16
TWI683116B (zh) 2020-01-21
CN111426947A (zh) 2020-07-17

Similar Documents

Publication Publication Date Title
KR102257380B1 (ko) 온칩 클록 컨트롤러를 포함하는 시스템온칩 및 이를 포함하는 모바일 장치
TWI648953B (zh) 正反器與半導體電路
US6715094B2 (en) Mult-mode I/O interface for synchronizing selected control patterns into control clock domain to obtain interface control signals to be transmitted to I/O buffers
JP5734518B2 (ja) マルチクロックリアルタイムカウンタ
US10230360B2 (en) Increasing resolution of on-chip timing uncertainty measurements
US10451674B2 (en) Apparatus and method for at-speed scan test
EP3283971B1 (en) Control circuits for generating output enable signals, and related systems and methods
US20130069697A1 (en) Synchronizer with high reliability
US10447248B2 (en) Semiconductor circuit
US20080158424A1 (en) Methods and Apparatus for Processing Serialized Video Data for Display
KR20190041052A (ko) 공통 클럭을 사용하는 플립플롭을 포함하는 전자 회로
US9264023B2 (en) Scannable flop with a single storage element
US8115727B2 (en) System for displaying image
Heath et al. Synchro-tokens: A deterministic GALS methodology for chip-level debug and test
KR100452335B1 (ko) 고속동작 테스트가 가능한 반도체 메모리장치의 데이터확장회로 및 그 방법
US8301943B2 (en) Pulse flop with enhanced scan implementation
US20140088912A1 (en) Transition Fault Testing of Source Synchronous Interface
US8890594B1 (en) System for functional reset across multiple clock domains
US10410699B1 (en) Multi-bit pulsed latch including serial scan chain
KR20180031859A (ko) 복수의 딜레이 라인을 포함하는 딜레이 고정 루프
US20240045382A1 (en) Multi-Chain Measurement Circuit
US8499188B2 (en) Processing device for determining whether to output a first data using a first clock signal or a second data using delay from the first clock signal according to a control signal
Tulbure et al. High Speed Interface Testchip for Structured ASIC Technology
WO2020226810A1 (en) Tristate and pass-gate based circuit with full scan coverage

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