KR102112251B1 - 인터커넥트 회로의 리셋 방법 및 이를 위한 장치 - Google Patents

인터커넥트 회로의 리셋 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR102112251B1
KR102112251B1 KR1020190094172A KR20190094172A KR102112251B1 KR 102112251 B1 KR102112251 B1 KR 102112251B1 KR 1020190094172 A KR1020190094172 A KR 1020190094172A KR 20190094172 A KR20190094172 A KR 20190094172A KR 102112251 B1 KR102112251 B1 KR 102112251B1
Authority
KR
South Korea
Prior art keywords
circuit
reset
clock
reset signal
synchronized
Prior art date
Application number
KR1020190094172A
Other languages
English (en)
Inventor
윤재근
정법철
Original Assignee
오픈엣지테크놀로지 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 오픈엣지테크놀로지 주식회사 filed Critical 오픈엣지테크놀로지 주식회사
Priority to KR1020190094172A priority Critical patent/KR102112251B1/ko
Application granted granted Critical
Publication of KR102112251B1 publication Critical patent/KR102112251B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • 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/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/037Bistable circuits
    • H03K3/0375Bistable circuits provided with means for increasing reliability; for protection; for ensuring a predetermined initial state when the supply voltage has been applied; for storing the actual state when the supply voltage fails

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Electronic Switches (AREA)

Abstract

제1클록에 동기화되어 동작하는 제1회로와 제2클록에 동기화되어 동작하는 제2회로를 서로 연결하는 브리지 회로; 및 상기 제2클록에 동기화된 제2리셋신호가 감지되면, 상기 제1클록에 동기화된 회로를 리셋하도록 되어 있는 리셋신호를 제공하는 리셋생성회로를 포함하는 IC를 공개한다. 상기 브리지 회로는, 상기 제1클록에 동기화되어 동작하는 제1 인터페이스 회로, 및 상기 제2클록에 동기화되어 동작하며, 그리고 제2리셋신호에 의해 리셋되는, 제2 인터페이스 회로를 포함한다. 상기 제1 인터페이스 회로는 상기 리셋생성회로가 제공한 상기 리셋신호에 의해 리셋되도록 되어 있다.

Description

인터커넥트 회로의 리셋 방법 및 이를 위한 장치{Method for resetting an interconnect circuit and device for the same}
본 발명은 전자회로에 관한 것으로서, 특히 복수 개의 서로 다른 클록 도메인들 간을 연결하는 인터커넥트 회로의 리셋 방법에 관한 것이다.
SoC(System on Chip)는 다양한 기능을 집적한 반도체이다. SoC는 집적 회로로 구현될 수 있다. 또한, SoC는 이동 전화기, 스마트폰, 태블릿 PC, PDA, IT 장치, 또는 휴대용 전자 장치와 같은 전자장치 내에 내장(embedded)될 수 있다.
SoC 내에는 다양한 IP(지능소자, Intellectual Properties)들이 포함되어 있으며, 여기에는 SoC 전체를 제어하는 프로세서(마스터회로) 및 상기 프로세서에 의해 제어되는 다양한 회로 및 로직이 포함될 수 있다. 상기 IP의 예로서, 한 개 이상의 코어를 포함하는 CPU, GPU, CODEC, 오디오 프로세서, 비디오 프로세서, 주변장치 드라이버, 디스플레이 드라이버, 메모리, 메모리 컨트롤러, 인터커넥트(interconnect) 회로, 및 캐시(cache) 메모리 등이 있으며 이에 한정되는 것은 아니다. SoC에는 SoC를 동작시키기 위한 코드가 저장되어 있을 수 있다.
본 명세서에서 상기 'IP'는 '회로'로 지칭될 수도 있다. 즉, 예컨대, 제1 IP, 제2 IP, 제3 IP는 각각 제1회로, 제2회로, 제3회로로 지칭될 수 있다.
SoC에 포함된 상기 메모리 콘트롤러는 SoC 외부의 메모리가 SoC와 데이터를 교환할 수 있도록 할 수 있다. SoC에 LCD 및 필요한 장치들을 추가하여 사용자기기로 사용할 수 있다.
상기 인터커넥트 회로는 SoC에 포함된 IP들 간의 데이터 및 명령의 교환을 가능하게 할 수 있다.
상기 IP는 슬레이브 IP와 마스터 IP로 구분될 수 있다. 슬레이브 IP는 프로세서 또는 다른 IP로부터의 제어명령을 받는 IP이다. 마스터 IP는 스스로 다른 IP에 데이터 통신을 요구할 수 있는 IP이다. 경우에 따라서는 하나의 IP가 슬레이브와 마스터 기능을 겸할 수도 있다. 하나의 SoC에는 복수 개의 마스터 IP 및 복수 개의 슬레이브 IP가 존재할 수 있다.
하나의 SoC 내에는 다양한 클록 도메인(clock domain)들이 존재할 수 있다. 하나의 클록 도메인은 하나의 클록에 의해 동작하는 회로들로 구성되는 하나의 영역을 지칭할 수 있다. 서로 다른 IP들은 서로 다른 클록에 의해 동작될 수 있다. 이때, 서로 다른 클록 도메인에 포함된 IP들 사이에는 데이터 교환을 필요로 할 수 있다.
하나의 SoC 내에는 복수 개의 파워 도메인이 존재할 수 있다. 각각의 파워 도메인의 파워는 개별적으로 관리(파워 온/오프)될 수 있다. 일 실시예에서 한 개의 파워 도메인 내에는 한 개 또는 복수 개의 클록 도메인이 포함될 수 있다.
설계되는 SoC마다, 상기 SoC 내부에 포함된 IP들을 연결하는 구조는 상기 SoC의 설계자에 의해 서로 다르게 구현될 수 있다.
마스터 IP는 ① SoC의 외부의 메모리에 대한 인터페이스를 제공하는 다른 IP, 또는 ②SoC 내부에서 상기 마스터 IP와는 멀리 떨어진 곳에 위치한 다른 IP에 접근하고자 할 수 있다. 이와 같이 서로 멀리 떨어진 IP들 간을 연결하는 통신채널을 위한 동작 주파수가, 예컨대 수백MHz 내지 수GHz 정도로 빠르다면 다양한 문제점이 발생할 수 있다. 서로 다른 클록 도메인에 속한 IP 간의 데이터 또는 명령의 교환을 위하여 비동기 방식의 상기 인터커넥트 회로를 이용할 수 있다. 본 명세서에서 '인터커넥트 회로'는 '비동기 브리지(asynchronous bridge)', '비동기 브리지 회로', 또는 간략하게 '브리지' 또는 '브리지 회로'로 지칭될 수도 있다.
두 개의 IP 사이를 연결하는 버스가 긴 경우 스큐(skew)가 발생할 수 있다. 스큐 발생을 억제하기 위하여 두 개의 IP 사이를 연결하는 버스에는 한 개 이상의 리피터가 포함될 수 있다. 본 발명에서 리피터(repeater)는 리타이머(re-timer), 또는 레지스터 슬라이스(register slice, RS)라고 지칭할 수도 있다. 리피터는 클록에 동기화되어 동작하는 플립플롭을 포함할 수 있다.
리피터에 관한 종래기술로서 미국공개특허 US 2018/0101192가 있다. 또한 플립플롭을 리셋하는 종래기술로서 미국등록특허 US 6,147,537 및 US 5,467,354가 있다.
일 실시예에서, 비동기 브리지는 비동기 FIFO 버퍼를 포함할 수 있다. 제1클록 도메인에 속한 제1 IP가 제2클록 도메인에 속한 제2 IP에게 데이터 또는 명령을 전달해야 하는 경우, 비동기 브리지에 포함된 비동기 FIFO 버퍼가 이용될 수 있다. 즉, 상기 제1 IP가 상기 비동기 FIFO 버퍼에 기록 데이터(write data)를 기록하고, 상기 제2 IP는 상기 비동기 FIFO 버퍼에 저장된 독출 데이터(read data)를 독출함으로써, 제1 IP가 제2 IP에게 데이터 또는 명령을 전달할 수 있다.
본 명세서에서 설명의 편의를 위하여, 비동기 FIFO 버퍼에 기록되는 데이터를 '기록 데이터'라고 지칭하고 비동기 FIFO 버퍼로부터 독출되는 데이터를 '독출 데이터'라고 지칭할 수 있다. 상기 비동기 FIFO 버퍼는 데이터를 저장하는 복수 개의 슬롯을 포함할 수 있다. 상기 비동기 FIFO 버퍼의 동작 제어를 위하여, 기록 데이터를 기록할 슬롯을 지정하는 기록 포인터 및 독출 데이터를 독출할 슬롯을 지정하는 독출 포인터를 이용할 수 있다.
관련 기술로서, 대한민국 등록특허번호 KR 10-1861769에는 비동기 브리지 및 이의 동작방법에 관한 기술이 공개되어 있다. 대한민국 공개특허번호 KR10-1998-0045940에는 FIFO 회로에서의 독출 포인터 및 기록 포인터의 오류검출 및 자동복구 기술이 공개되어 있다. 미국등록특허번호 US 5,471,583에는 독출 포인터와 기록 포인터를 리셋하는 회로가 공개되어 있다.
상술한 내용은 본 발명의 이해를 돕기 위하여 제시된 것으로서, 상술한 내용에는 본 특허출원 발명의 발명자들이 본 특허출원의 출원 시점에 공개하지 않은 내용이 포함되어 있을 수 있다. 따라서 상술한 내용 모두가 당연히 종래 기술(prior art)인 것으로 간주되어서는 안된다. 또한 상술한 내용에 의해 본 발명의 범위가 제한되어서는 안된다.
본 발명에서는, 서로 다른 클록 도메인에 속한 제1회로 및 제2회로를 연결하는 인터커넥트 회로 및 상기 인터커넥트 회로와 연관된 부가회로를 리셋하는 효율적인 방법을 제공하고자 한다.
본 발명의 일 관점에 따라, 제1클록(231)에 동기화되어 동작하는 제1회로(2100)와 제2클록(232)에 동기화되어 동작하는 제2회로(2200)를 서로 연결하는 브리지 회로(1200); 및 상기 제2클록에 동기화된 제2리셋신호(202)가 감지되면, 상기 제1클록에 동기화된 회로를 리셋하도록 되어 있는 리셋신호를 제공하는 리셋생성회로(140 또는 240 또는 340);를 포함하는 IC를 제공할 수 있다. 이때, 상기 브리지 회로는, 상기 제1클록에 동기화되어 동작하는 제1 인터페이스 회로(210); 및 상기 제2클록에 동기화되어 동작하며, 그리고 제2리셋신호(202)에 의해 리셋되는, 제2 인터페이스 회로(220)를 포함하며, 상기 제1 인터페이스 회로는 상기 리셋생성회로가 제공한 상기 리셋신호에 의해 리셋되도록 되어 있다.
이때, 상기 제1클록에 동기화된 회로는, 상기 브리지 회로에 포함되어 있는 회로이거나, 또는 상기 브리지 회로에 연결된 버스에 포함되어 있는 회로일 수 있다.
이때, 상기 리셋생성회로는 상기 브리지 회로에 포함되어 있으며, 상기 리셋생성회로는, 상기 제1회로로부터 제공되며 상기 제1클록에 동기화된 제1리셋신호 및 상기 제2리셋신호 중 어느 하나라도 감지하면 상기 리셋신호를 제공하도록 되어 있을 수 있다.
또는, 상기 리셋생성회로는 상기 제1회로에 포함되어 있으며, 상기 리셋생성회로가 제공하는 상기 리셋신호는 상기 브리지 회로에게 제공되며, 상기 브리지 회로는 상기 리셋신호를 이용하여 상기 제1 인터페이스 회로를 리셋하도록 되어 있을 수 있다.
이때, 상기 리셋생성회로는, 상기 제1회로가 제공하는 리셋신호로서 상기 제1클록에 동기화된 내부리셋신호 및 상기 제2리셋신호 중 어느 하나라도 감지하면 상기 리셋신호를 제공하도록 되어 있을 수 있다.
이때, 상기 제2리셋신호는, 상기 브리지 회로에 연결된 버스에 연결되어 있으며 상기 제2클록에 동기화되어 동작하는 한 개 이상의 리타이머들에게 제공되도록 되어 있으며, 상기 리셋생성회로가 제공하는 상기 리셋신호는, 상기 브리지 회로에 연결된 버스에 연결되어 있으며 상기 제1클록에 동기화되어 동작하는 한 개 이상의 리타이머들에게 제공되도록 되어 있을 수 있다.
이때, 상기 리셋생성회로는, 제1리셋동기화부(242) 및 AND 로직(241)을 포함하며, 상기 제1리셋동기화부는 상기 제1클록에 동기화된 리셋신호(ex: 101) 및 상기 제2클록를 입력으로 받아들여 제1출력신호(2401)를 출력하도록 되어 있고, 상기 리셋생성회로가 제공하는 상기 리셋신호는, 상기 제1출력신호와 상기 제2리셋신호의 AND 연산에 의해 생성되며, 상기 제1리셋동기화부는 제1플립플롭(2421) 및 제2플립플롭(2422)을 포함하며, 상기 제2플립플롭의 데이터 입력단자는 상기 제1플립플롭의 데이터 출력단자에 연결되어 있으며, 상기 제1출력신호는 상기 제2플립플롭(2422)의 데이터 출력단자로부터 출력되며, 상기 제1플립플롭 및 상기 제2플립플롭에는 각각 상기 제2클록이 입력되며, 상기 제1플립플롭 및 상기 제2플립플롭의 비동기 입력단자에는 각각 상기 제1클록에 동기화된 리셋신호가 반전되어 입력되며, 상기 제1플립플롭의 데이터 입력단자에는 로지컬 하이값을 갖는 로직값이 입력될 수 있다.
이때, 상기 리셋생성회로는, 제2리셋동기화부(244) 및 OR 로직(243)을 포함하며, 상기 제2리셋동기화부는 상기 제1클록에 동기화된 리셋신호(ex: 101) 및 상기 제2클록를 입력으로 받아들여 제2출력신호(2402)를 출력하도록 되어 있고, 상기 리셋생성회로가 제공하는 상기 리셋신호는, 상기 제2출력신호와 상기 제2리셋신호의 OR 연산에 의해 생성되며, 상기 제2리셋동기화부는 제1플립플롭(2421) 및 제2플립플롭(2422)을 포함하며, 상기 제2플립플롭의 데이터 입력단자는 상기 제1플립플롭의 데이터 출력단자에 연결되어 있으며, 상기 제2출력신호는 상기 제2플립플롭(2422)의 데이터 출력단자로부터 출력되며, 상기 제1플립플롭 및 상기 제2플립플롭에는 각각 상기 제2클록이 입력되며, 상기 제1플립플롭 및 상기 제2플립플롭의 비동기 입력단자에는 각각 상기 제1클록에 동기화된 리셋신호가 입력되며, 상기 제1플립플롭의 데이터 입력단자에는 로지컬 로우값을 갖는 로직값이 입력될 수 있다.
이때, 상기 브리지 회로는, 버퍼(230)를 더 포함하며, 상기 제1 인터페이스 회로는 상기 제1회로와 상기 버퍼를 서로 연결하고, 상기 제2 인터페이스 회로는 상기 제2회로와 상기 버퍼를 서로 연결할 수 있다.
이때, 상기 브리지 회로는, 상기 제1회로를 리셋하는 리셋신호를 기초로 또한 리셋되도록 되어 있으며, 상기 제1회로를 리셋하기 이전에, 상기 제1회로와 통신하도록 되어 있는 제3회로가, 상기 제1회로의 리셋을 위해 미리 결정된 한 개 이상의 리셋준비단계를 수행하도록 되어 있을 수 있다.
이때, 상기 브리지 회로는, 상기 제2 인터페이스 회로에 제공되는 전력의 적어도 일부가 차단되는 경우, 상기 제1 인터페이스 회로에 제공되는 전력의 적어도 일부가 차단되도록 되어 있을 수 있다.
이때, 상기 제1 인터페이스 회로는 상기 제1회로로부터 제공되는 데이터 또는 명령을 상기 버퍼에 제공하도록 되어 있고, 그리고 상기 제2 인터페이스 회로는 상기 버퍼로부터 제공되는 데이터 또는 명령을 상기 제2회로에 제공하도록 되어 있을 수 있다.
이때, 상기 제1회로 및 상기 제2회로는 모두 상기 IC의 패키지의 외부에 존재하는 회로이거나, 또는 상기 제1회로 및 상기 제2회로 중 적어도 하나는 상기 IC의 패키지 내에 포함되어 있을 수 있다.
이때, 상기 버퍼는, 상기 제1클록에 동기화되어 기록 처리(write process)를 수행하고, 상기 제2클록에 동기화되어 독출 처리(read process)를 수행하도록 되어 있는 비동기 FIFO 버퍼(asynchronous FIFO buffer)일 수 있다.
이때, 상기 제1회로는 상기 제1클록에 동기화되어 동작하는 제1클록 도메인에 속한 것이고, 그리고 상기 제2회로는 상기 제2클록에 동기화되어 동작하는 제2클록 도메인에 속한 것일 수 있다.
이때, 상기 제1회로와 상기 제2회로는 서로 다른 파워 도메인에 속한 것이 수 있다. 상기 제1회로는 제1 파워 도메인에 속하고 상기 제2회로는 제2 파워 도메인에 속한 것일 수 있다.
이때, 상기 제2리셋신호가 감지된 전후의 일정 시구간 동안 상기 제2회로는 리셋되지만 상기 제1회로는 리셋되지 않을 수 있다.
이때, 제2 리셋 시구간(TR2) 동안 상기 제2리셋신호가 발생되며, 상기 제2 리셋 시구간을 포함하는 제2 전력제어 시구간(TP2) 동안, 상기 제2회로는 파워 온 상태부터 파워 오프 상태로 전환되거나 또는 파워 오프 상태로부터 파워 온 상태로 전환되며, 상기 제2 전력제어 시구간 동안, 상기 제1회로는 파워 온 상태를 계속하여 유지될 수 있다.
본 발명의 다른 관점에 따라, 제1클록(231)에 동기화되어 동작하는 제1회로(2100)와 제2클록(232)에 동기화되어 동작하는 제2회로(2200)를 서로 연결하는 브리지 회로(1200)를 제공할 수 있다. 상기 브리지 회로는, 상기 제1클록에 동기화되어 동작하는 제1 인터페이스 회로(210); 및 상기 제2클록에 동기화되어 동작하며, 그리고 제2리셋신호(202)에 의해 리셋되는, 제2 인터페이스 회로(220)를 포함한다. 이때, 상기 제1 인터페이스 회로는, 리셋생성회로가 제공한 리셋신호에 의해 리셋되도록 되어 있으며, 상기 리셋생성회로는, 상기 제2클록에 동기화된 제2리셋신호(202)가 감지되면, 상기 제1클록에 동기화된 회로를 리셋하도록 되어 있는 상기 리셋신호를 제공하도록 되어 있다.
이때, 상기 제1회로를 리셋하는 리셋신호를 기초로 또한 리셋되도록 되어 있으며, 상기 제1회로를 리셋하기 이전에, 상기 제1회로와 통신하도록 되어 있는 제3회로가, 상기 제1회로의 리셋을 위해 미리 결정된 한 개 이상의 리셋준비단계를 수행하도록 되어 있을 수 있다.
이때, 상기 리셋생성회로는 상기 브리지 회로에 포함되어 있으며, 상기 리셋생성회로는, 상기 제1회로로부터 제공되며 상기 제1클록에 동기화된 제1리셋신호 및 상기 제2리셋신호 중 어느 하나라도 감지하면 상기 리셋신호를 제공하도록 되어 있을 수 있다.
또는, 상기 리셋생성회로는 상기 제1회로에 포함되어 있으며, 상기 리셋생성회로가 제공하는 상기 리셋신호는 상기 브리지 회로에게 제공되며, 상기 브리지 회로는 상기 리셋신호를 이용하여 상기 제1 인터페이스 회로를 리셋하도록 되어 있을 수 있다.
이때, 상기 리셋생성회로는, 상기 제1회로가 제공하는 리셋신호로서 상기 제1클록에 동기화된 내부리셋신호 및 상기 제2리셋신호 중 어느 하나라도 감지하면 상기 리셋신호를 제공하도록 되어 있을 수 있다.
이때, 상기 제2리셋신호는, 상기 브리지 회로에 연결된 버스에 연결되어 있으며 상기 제2클록에 동기화되어 동작하는 한 개 이상의 리타이머들에게 제공되도록 되어 있으며, 상기 리셋생성회로가 제공하는 상기 리셋신호는, 상기 브리지 회로에 연결된 버스에 연결되어 있으며 상기 제1클록에 동기화되어 동작하는 한 개 이상의 리타이머들에게 제공되도록 되어 있을 수 있다.
본 발명에 따르면 서로 다른 클록 도메인에 속한 제1회로 및 제2회로를 연결하는 인터커넥트 회로 및 상기 인터커넥트 회로와 연관된 부가회로를 리셋하는 효율적인 방법이 제공될 수 있다.
도 1은 일 실시예에 따른 SoC를 나타낸 다이어그램이다.
도 2는 본 발명의 일 실시예에 따른 비동기 브리지 회로의 구성을 설명하기 위한 다이어그램이다.
도 3a는 도 2에 나타낸 제2리셋생성회로의 일 실시예에 따른 구성을 나타낸 것이다.
도 3b는 도 3a에 나타낸 제1리셋동기화부의 구조를 나타낸 것이다.
도 3c는 도 3a에 나타낸 제2리셋생성회로의 변형된 구조를 나타낸 것이다.
도 4a는 도 2에 나타낸 제2리셋생성회로의 다른 실시예에 따른 구성을 나타낸 것이다.
도 4b는 도 4a에 나타낸 제2리셋동기화부의 구조를 나타낸 것이다.
도 4c는 도 4a에 나타낸 제2리셋생성회로의 변형된 구조를 나타낸 것이다.
도 5는, 도 2에 나타낸 IC에 포함된 구성요소들 중, 제1회로와 비동기 브리지를 서로 연결하는 버스의 구성을 자세히 나타낸 것이다.
도 6a는 도 5에 나타낸 제1리셋생성회로의 일 실시예에 따른 구성을 나타낸 것이다.
도 6b는 도 6a에 나타낸 제1리셋동기화부의 구조를 나타낸 것이다.
도 6c는 도 6a에 나타낸 제1리셋생성회로의 변형된 구조를 나타낸 것이다.
도 7a는 도 5에 나타낸 제1리셋생성회로의 다른 실시예에 따른 구성을 나타낸 것이다.
도 7b는 도 7a에 나타낸 제2리셋동기화부의 구조를 나타낸 것이다.
도 7c는 도 7a에 나타낸 제1리셋생성회로의 변형된 구조를 나타낸 것이다.
도 8은 도 5로부터 변형된 실시예를 설명하기 위한 도면이다.
도 9는 도 8로부터 변형된 실시예를 설명하기 위한 도면이다.
도 10은 도 5에 나타낸 비동기 브리지의 파워다운 시퀀스의 일 실시예를 나타낸 순서도이다.
도 11은 본 발명의 일 실시예에 따라 제공될 수 있는 사용자 기기의 다양한 구성을 나타낸 것이다.
도 12는 본 발명의 일 실시예에 따라 IC 내의 서로 다른 회로가 서로 다른 파워 도메인 내에 속해 있는 예를 나타낸 다이어그램이다.
도 13은 도 2 또는 도 5에 제시한 비동기 브리지가 적용된 구성을 갖는 사용자 기기의 구조를 나타낸 것이다.
도 14는 본 발명의 일 실시예에 따라 제공되는 IC의 구성을 나타낸 다이어그램이다.
도 15는 도 1에 도시된 SoC를 포함하는 반도체 시스템의 일 실시예를 나타낸다.
도 16은 도 1에 도시된 SoC를 포함하는 컴퓨터 시스템의 일 실시예를 나타낸다.
도 17은 도 1에 도시된 SoC를 포함하는 컴퓨터 시스템의 다른 실시예를 나타낸다.
도 18은 도 1에 도시된 SoC(1)를 포함하는 컴퓨터 시스템의 또 다른 실시예를 나타낸다.
본 명세서에 공개된 본 발명의 실시예들에서 제시된 구조 및 기능은 단지 본 발명의 이해를 돕기 위해 예시된 것으로서, 본 발명이 여기 공개된 실시예들에 한정되는 것으로 해석되어서는 안된다. 본 발명은 본 명세서에 예시되지 않은 다른 실시 형태에 의해서도 실시될 수 있다. 본 명세서에 공개된 실시예에는 다양한 변경을 가할 수 있다. 본 명세서에서는 본 발명의 특정 실시예들을 도면과 함께 상세하게 설명하고자 한다. 본 발명은 본 명세서에 기재된 본 발명의 실시예들에 의해 제시되는 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 명세서에서 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
비동기 브리지를 포함하는 SoC
도 1은 일 실시예에 따른 SoC를 나타낸 다이어그램이다.
이하 본 명세서에서 상기 'SoC'는 IC(Integrated Circuit)로 지칭할 수 있다. SoC 및 IC는 패키징 되어 있는 장치를 의미할 수 있다.
도 1을 참조하면, SoC(1)는 시스템 버스(20), 다수의 클럭 도메인(30)들 및 다수의 비동기 브리지(asynchronous bridge)(1000)들을 포함할 수 있다.
SoC(1)는 단일의 칩으로 제조되어 하나의 패키지로 구현될 수 있다. 설명의 편의를 위하여 도 1에 나타낸 SoC(1)가 3개의 클럭 도메인과 3개의 비동기 브리지를 포함하는 것으로 예시하였으나, 본 발명이 이 숫자에 한정되는 것은 아니다.
시스템 버스(20)는 SoC(1)의 각 구성 요소들 사이에 통신 채널을 제공한다.
다수의 클럭 도메인(30) 각각은 서로 다른 동작 주파수, 즉 동작 클럭에 의해 동작한다. 각각의 클럭 도메인(30)은 한 개 이상의 IP, 즉 한 개 이상의 회로를 포함할 수 있다.
하나의 클록 도메인에 복수 개의 IP들이 포함된 경우, 상기 복수 개의 IP들은 동일한 클록에 의해 동작할 수 있다.
다수의 비동기 브리지(1000) 각각은 복수 개의 서로 다른 클럭 도메인들 간에 데이터를 교환하기 위한 연결 수단이다.
본 명세서에서 상기 비동기 브리지를 인터커넥트 회로라고 지칭할 수 있다. 또는 본 명세서에서, 상기 비동기 브리지와 상기 버스를 통합하여 인터커넥트 회로로 간주할 수도 있다.
비동기 브리지의 리셋
비동기 브리지(ex: 1200)는 상기 제2클록에 동기되어 동작하는 제2회로(=제2 IP, ex: 2200)와 함께 활성화될 수 있다. 여기서 활성화란 비동기 브리지(1200) 및 제2회로(2200)의 전원이 꺼진 상태에서 전원이 켜진 상태로 전환되는 것을 의미할 수 있다.
그 다음, 비동기 브리지(1200)는 상기 제2클록에 동기화된 제2리셋신호에 의해 리셋될 수 있다. 상기 제2리셋신호는 비동기 브리지(1200)의 내부 또는 제2회로(2200) 또는 별도의 마스터회로에 의해 제공될 수 있다.
그런데 비동기 브리지(1200)는 상기 제2클록에 동기되어 동작하는 제2부분 및 상기 제1클록에 동기되어 동작하는 제1부분을 포함할 수 있다.
이때, 일반적으로, 상기 제1부분은 상기 제1클록에 동기되는 별도의 리셋신호에 의해 리셋되어야 하므로, 상기 제2리셋신호에 의해 리셋되지 않는다. 또한, 이때 비동기 브리지(1200)와 별도로 제공되는 회로로서, 상기 제1클록에 의해 동작하는 외부의 제1회로(=제1 IP, ex: 2100) 역시 상기 제1부분에게 상기 제1클록에 동기되는 제1리셋신호를 제공하지 않는 경우가 발생할 수 있다. 즉, 비동기 브리지(1200) 중 상기 제2부분이 리셋되더라도, 비동기 브리지(1200) 중 상기 제1부분은 리셋되지 않는 경우가 발생할 수 있다.
이와 같이 비동기 브리지(1200)가 활성화 된 후에, 비동기 브리지(1200)의 일부분 즉 상기 제1부분이 리셋되지 않는 상황이 발생할 수 있다. 비동기 브리지(1200)의 내부의 모든 회로들이 완전히 리셋되지 않게 되면, 비동기 브리지(1200)가 정상적으로 동작하지 않을 수 있다는 문제가 발생할 수 있다.
한편, 마스터회로가 비동기 브리지(1200)의 상기 제2부분을 리셋할 때에 상기 마스터회로가 제1회로(2100)를 함께 리셋하는 경우에 있어서, 제1회로(2100)가 상기 제1부분도 함께 리셋할 수가 있을 것이다. 그러나 이 경우 제1회로(2100)를 아무 준비 없이 리셋하게 되면, 제1회로(2100)와 데이터 및 명령을 주고받는 다른 회로인 제3회로(2300)와 제1회로(2100) 간의 통신에 결함이 발생할 수 있다. 따라서 제1회로(2100)를 리셋하기 위해서는, 제1회로(2100) 및/또는 제3회로(2300)가 소정의 파워다운 시퀀스를 사전에 실행해야 하는 복잡성이 발생하게 된다는 문제가 있다.
이하 도 2를 통해 제시되는 본 발명의 일 실시예에 따라, 서로 다른 클록 도메인에 속한 제1회로 및 제2회로를 연결하는 비동기 브리지를 리셋하는 방법으로서, 상술한 문제점들을 해결하는 효율적인 구성을 갖는 리셋방법을 제시한다.
도 2는 본 발명의 일 실시예에 따른 비동기 브리지 회로의 구성을 설명하기 위한 다이어그램이다.
이하 도 2를 참조하여 설명한다.
IC(1)는, 비동기 브리지 회로(1200), 제1클록(clk1, 231)에 동기화되어 동작하는 제1회로(2100), 제2클록(clk2, 232)에 동기화되어 동작하는 제2회로(2200)와 제1회로(2100)를 서로 연결하는 비동기 브리지(1200), 마스터회로(500), 및 전력제어유닛(PMU, Power Management Unit)(800)을 포함할 수 있다.
이때, 비동기 브리지(1200)는, 버퍼(230)를 포함할 수 있다.
본 발명의 바람직한 일 실시예에서, 버퍼(230)는 FIFO(First In First Out) 버퍼일 수 있다. 그러나 본 발명이 이에 한정되는 것은 아니다. 도 2에서는 버퍼(230)가 FIFO 버퍼인 예를 도시하였다.
비동기 브리지(1200)는, 제1회로(2100)와 버퍼(230)를 서로 연결하는 제1 인터페이스 회로(210)를 더 포함할 수 있다. 제1 인터페이스 회로(210)는 제1클록(231)에 동기화되어 동작하는 회로일 수 있다.
일 실시예에서, 제1 인터페이스 회로(210)는 제1회로(2100)로부터 제공되는 데이터를 버퍼(230)에 기록하기 위해 제공되는 것일 수 있다.
그리고 비동기 브리지(1200)는, 제2회로(2200)와 버퍼(230)를 서로 연결하고, 제2클록(232)에 동기화되어 동작하며, 그리고 제2리셋신호(reset2, 202)에 의해 리셋되는, 제2 인터페이스 회로(220)를 더 포함할 수 있다.
일 실시예에서, 제2 인터페이스 회로(220)는 버퍼(230)로부터 독출된 데이터를 제2회로(2200)에게 제공하기 위해 제공되는 것일 수 있다.
그리고 비동기 브리지(1200)는, 제2리셋신호(202)가 발생하면 제1 인터페이스 회로(210)를 리셋하기 위한 제3리셋신호(reset3, 203)를 발생시키는 제2리셋생성회로(240)를 더 포함할 수 있다. 제3리셋신호(203)는 제1 인터페이스 회로(210)에 제공될 수 있다.
제2리셋생성회로(240)에는 제1회로(2100)로부터 제공된 제1리셋신호(reset1, 101), 제2리셋신호(202), 및 제2클록(232)이 입력될 수 있다.
즉, 제2리셋생성회로(240)에는 제1클록(231)에 동기화된 리셋신호인 제1리셋신호(reset1, 101), 상기 제2리셋신호(202), 및 상기 제2클록(232)이 입력될 수 있다.
본 명세서에서 "제x클록에 동기화된 리셋신호인 제x리셋신호"는 "제x클록에 동기화된 회로를 리셋시킬 수 있는 신호"를 의미할 수 있다.
이때, 일 실시예에서, 제1 인터페이스 회로(210)는, 제2 인터페이스 회로(220)를 비활성화시키기 위해 입력된 전력제어신호(pwr)에 의해 비활성화되도록 되어 있을 수 있다.
상기 전력제어신호(pwr)는 전력제어유닛(800)에 의해 제공되는 것일 수 있다.
전력제어유닛(800)의 동작은 마스터회로(500)에 의해 제어될 수 있다. 마스터회로(500)가 제2회로(2200)에 제공되는 동작전력의 차단 또는 최소화를 전력제어유닛(800)에게 지시하면, 전력제어유닛(800)은 제2회로(2200)에게 상기 지시를 달성하기 위한 제2전력제어신호(pwrctrl_2)를 생성하여 출력할 수 있다. 이때, 전력제어유닛(800)은, 제1 인터페이스 회로(210) 및 제2 인터페이스 회로(220)에 제공되는 동작전원의 차단 또는 최소화를 위한 전력제어신호(pwr)를 함께 제공할 수 있다.
이때, 제1회로(2100)는 제1클록(231)에 동기화되어 동작하는 로직을 포함하는 회로일 수 있다. 그리고 제2회로(2200)는 제2클록(232)에 동기화되어 동작하는 로직을 포함하는 회로일 수 있다.
일 실시예에서, 제1회로(2100)의 적어도 일부 또는 전부는 CBL(Clocked Boolean Logic) 회로일 수 있다. 그리고 제2회로(2200)의 적어도 일부 또는 전부는 CBL 회로일 수 있다.
이때, 제2리셋신호(202)는 제2회로(2200) 또는 마스터회로(500)가 제공한 것일 수 있다. 또는 제2리셋신호(202)는 비동기 브리지(1200) 내에서 자체적으로 생성한 것일 수도 있다.
마스터회로(500)는 IC(1)에 포함된 메인 프로세서일 수 있다. 마스터회로(500)는 제1클록(c231), 제2클록(232) 또는 그 밖의 다른 클록에 동기화되어 동작할 수 있다.
버퍼(230)는, 제1클록(231)에 동기화되어 기록 처리(write process)를 수행하고, 제2클록(232)에 동기화되어 독출 처리(read process)를 수행하도록 되어 있는 비동기 버퍼(asynchronous buffer)일 수 있다. 버퍼(230)에 기록되는 데이터 또는 명령은 제1회로(2100)로부터 제공된 것일 수 있고, 버퍼(230)로부터 독출한 데이터 또는 명령은 제2회로(2200)에게 제공될 수 있다.
일 실시예에서, 버퍼(230)는 FIFO 버퍼일 수 있다.
제1 인터페이스 회로(210)는 제1클록(231)에 동기화되어 동작하는 로직 회로부를 포함할 수 있다. 제1클록(231)은 제1회로(2100)로부터 제공된 것이거나 또는 비동기 브리지(1200) 외부의 다른 회로로부터 제공된 것일 수 있다.
제2 인터페이스 회로(220)는 제2클록(232)에 동기화되어 동작하는 로직 회로부를 포함할 수 있다. 제2클록(232)는 제2회로(2200)로부터 제공된 것이거나 또는 비동기 브리지(1200) 외부의 다른 회로로부터 제공된 것을 수 있다.
제1회로(2100)는 제1클록(231)에 동기화되어 동작하는 제1클록 도메인(31)에 속한 것일 수 있다. 그리고 제2회로(2200)는 제2클록(232)에 동기화되어 동작하는 제2클록 도메인(32)에 속한 것일 수 있다.
일 실시예에서, 버퍼(230)는 제2리셋신호(202) 및/또는 제3리셋신호(203)에 의해 리셋될 수 있다. 그러나 다른 실시예에서, 버퍼(230)는 리셋될 필요가 없을 수 있다.
제2리셋생성회로(240)는, 제1리셋신호(101) 또는 상기 제2리셋신호(202)가 발생하면 제1 인터페이스 회로(210)를 리셋하기 위한 상기 제3리셋신호(203)를 발생시키도록 되어 있을 수 있다.
도 2에 도시한 회로에서, 제1 인터페이스 회로(210)는 제3리셋신호(203)에 의해 리셋되는 것으로 도시하였다. 그러나 변형된 다른 실시예에서, 제1 인터페이스 회로(210)는 제3리셋신호(203) 또는 상기 제1리셋신호(101)에 의해 리셋될 수도 있다.
제1리셋신호(101)는 제1회로(2100)가 비동기 브리지(1200)에게 제공하는 것일 수 있다.
도 2에 제시한 채널(251)을 통해서, 제1회로(2100)로부터 비동기 브리지(1200)에게, WD(write data) 및 WE(write enable) 등의 데이터 및 명령들이 상기 제1클록(231)에 동기되어 전달될 수 있다.
또한 도 2에 제시한 채널(251)을 통해서, 비동기 브리지(1200)로부터 제1회로(2100)에게, Rx clk, Rx 리셋, 및 RE(read enable) 등의 데이터 및 명령들이 전달될 수 있다. 이때, 상기 Rx 리셋 및 상기 RE는 상기 Rx clk에 동기되어 제공될 수 있다. 상기 Rx clk은 예컨대 상기 제2클록(232)이거나 또는 상기 제2클록(232)에 동기된 클록일 수 있다. 그리고 상기 Rx 리셋은 상술한 제2리셋신호(202)와 동일한 신호일 수 있다.
도 3a는 도 2에 나타낸 제2리셋생성회로(240)의 일 실시예에 따른 구성을 나타낸 것이다.
제2리셋생성회로(240)는 제1리셋동기화부(reset synchronizer)(242) 및 AND 로직(241)을 포함할 수 있다. 제1리셋동기화부(242)는 3개의 단자(T1, T2, T3)들을 포함할 수 있다.
제1리셋동기화부(242)는 제1리셋신호(101) 및 제2클록(232)를 입력으로 받아들여 제1출력신호(2401)를 출력하도록 되어 있다.
제3리셋신호(203)는 제1출력신호(2401)와 제2리셋신호(202)의 AND 연산에 의해 결정될 수 있다.
도 3b는 도 3a에 나타낸 제1리셋동기화부의 구조를 나타낸 것이다.
제1리셋동기화부(242)는 제1플립플롭(2421) 및 제2플립플롭(2422)을 포함할 수 있다. 제2플립플롭(2422)의 데이터 입력단자는 제1플립플롭(2421)의 데이터 출력단자에 연결될 수 있다. 제2플립플롭(2422)의 데이터 출력단자는 제1출력신호(2401)를 출력할 수 있다.
제1플립플롭(2421) 및 제2플립플롭(2422)에는 각각 제2클록(232)이 입력될 수 있다.
제1플립플롭(2421) 및 제2플립플롭(2422)의 비동기 입력단자에는 각각 제1리셋신호(101)가 반전(inversion)되어 입력될 수 있다.
제1플립플롭(2421)의 데이터 입력단자에는 특정 상수값을 갖는 로직값이 입력될 수 있다. 도 3b에서 상기 특정 상수값은 로지컬 하이값(1'b1)이다.
도 3c는 도 3a에 나타낸 제2리셋생성회로의 변형된 구조를 나타낸 것이다. 제1리셋동기화부(242) 및 AND 로직(241)의 연결관계가 변경되어 있지만, 제1리셋동기화부(242) 내부의 구성 자체는 도 3a에 나타낸 것과 동일하다.
도 3a 및 도 3c에 나타낸 회로는, 리셋신호가 로지컬 로우 값을 가질 때에 리셋이 이루어지도록 설계된 회로를 위한 것이다.
이와 달리, 후술하는 도 4a 내지 도 4c에 나타낸 회로는, 리셋신호가 로지컬 하이 값을 가질 때에 리셋이 이루어지도록 설계된 회로를 위한 것이다.
도 4a는 도 2에 나타낸 제2리셋생성회로(240)의 다른 실시예에 따른 구성을 나타낸 것이다.
제2리셋생성회로(240)는 제2리셋동기화부(244) 및 OR 로직(243)을 포함할 수 있다. 제2리셋동기화부(244)는 3개의 단자(T1, T2, T3)들을 포함할 수 있다.
제2리셋동기화부(244)는 제1리셋신호(101) 및 제2클록(232)을 입력으로 받아들여 제2출력신호(2402)를 출력하도록 되어 있다.
제3리셋신호(203)는 제2출력신호(2402)와 제2리셋신호(202)의 OR 연산에 의해 결정될 수 있다.
도 4b는 도 4a에 나타낸 제2리셋동기화부의 구조를 나타낸 것이다.
제2리셋동기화부(244)는 제1플립플롭(2441) 및 제2플립플롭(2442)을 포함할 수 있다. 제2플립플롭(2442)의 데이터 입력단자는 제1플립플롭(2441)의 데이터 출력단자에 연결될 수 있다. 제2플립플롭(2442)의 데이터 출력단자는 제2출력신호(2402)를 출력할 수 있다.
제1플립플롭(2441) 및 제2플립플롭(2442)에는 각각 제2클록(232)이 입력될 수 있다.
제1플립플롭(2441) 및 제2플립플롭(2442)의 비동기 입력단자에는 각각 제1리셋신호(101)가 입력될 수 있다.
제1플립플롭(2441)의 데이터 입력단자에는 특정 상수값을 갖는 로직값이 입력될 수 있다. 도 4b에서 상기 특정 상수값은 로지컬 로우값(1'b0)이다.
도 4c는 도 4a에 나타낸 제2리셋생성회로의 변형된 구조를 나타낸 것이다. 제2리셋동기화부(244) 및 OR 로직(243)의 연결관계가 변경되어 있지만, 제2리셋동기화부(244) 내부의 구성 자체는 도 4a에 나타낸 것과 동일하다.
도 3a 및 도 4a를 참조하여 설명한 제3리셋신호(203)는 제1클록(231)에 동기화되어 동작하는 회로를 리셋하는 데에 이용될 수 있는 신호이다.
도 3a, 도 3c, 도 4a, 및 도 4c를 참조하여 설명한 제2리셋생성회로(240)의 구성은 본 발명에 따른 바람직한 일 실시예이다. 따라서 제2리셋신호(202)를 감지한 경우, 제1클록(231)에 동기화되어 동작하는 회로를 리셋할 수 있는 제3리셋신호(203)를 생성할 수 있는 회로구조라면 무엇이라도 도 3a, 도 3c, 도 4a, 및 도 4c에 나타낸 구성을 대체할 수 있다.
리타이머의 리셋
도 2에 제시한 채널(251)을 통해서, 제1회로(2100)로부터 비동기 브리지(1200)에게, 그리고 비동기 브리지(1200)로부터 제1회로(2100)에게 데이터 및 명령들이 전달될 수 있음을 설명하였다.
상기 채널(251)은 제1회로(2100)와 비동기 브리지(1200)를 서로 연결하는 시스템 버스일 수 있다. 상기 버스의 길이가 긴 경우 스큐(skew)가 발생할 수 있다. 스큐 발생을 억제하기 위하여, 상기 버스에는 한 개 이상의 리타이머가 포함될 수 있다.
본 명세서에서 상기 리타이머는 상기 버스에 '포함'된 것으로 기술되거나 또는 버스에 '연결'된 것으로 기술될 수도 있다.
도 5는, 도 2에 나타낸 IC(1)에 포함된 구성요소들 중, 제1회로(2100)와 비동기 브리지(1200)를 서로 연결하는 버스의 구성을 자세히 나타낸 것이다.
도 5에 나타낸 비동기 브리지(1200)는 도 2에 나타낸 비동기 브리지(1200)에 포함된 구성요소들을 모두 포함할 수 있다. 그리고 도 5에 나타낸 비동기 브리지(1200)는 제어부(250)를 더 포함할 수 있다.
도 5에 나타낸 제1회로(2100)는 도 2에 나타낸 제1회로(2100)에 포함된 구성요소들을 모두 포함할 수 있다. 그리고 도 5에 나타낸 제1회로(2100)는 제1리셋생성회로(140)를 더 포함할 수 있다.
도 2에 제시한 채널(251)은 제1채널 및 제2채널을 포함할 수 있다.
상기 제1채널은 제1회로(2100)로부터 비동기 브리지(1200)에게 데이터 또는 명령을 전달하는 채널이다. 상기 제1채널은 복수 개의 단위라인경로(Unit Line Path)들(ULP11, ULP12, ULP13) 및 한 개 이상의 제1리타이머(21, 21-1, 21-2)를 포함할 수 있다.
상기 제2채널은 비동기 브리지(1200)로부터 제1회로(2100)에게 데이터 또는 명령을 전달하는 채널이다. 상기 제2채널은 복수 개의 단위라인경로들(ULP21, ULP22, ULP23) 및 한 개 이상의 제2리타이머(22, 22-1, 22-2)를 포함할 수 있다.
상기 스큐 및 리타이머에 관한 기술은 상술한 미국공개특허 US 2018/0101192 등에 공개된 종래기술이므로 이에 대한 구체적인 설명은 생략한다.
상기 제1채널을 통해 기록 데이터(WD) 및 기록 이네이블(WE) 등의 신호가 전달될 수 있다. 상기 제2채널을 통해 독출 데이터(RD) 및 독출 이네이블(RE) 등의 신호가 전달될 수 있다.
각각의 제1리타이머(21)에는 제1클록(231), 및 제1클록(231)에 동기된 제1리셋신호(101)가 입력될 수 있다. 각각의 제1리타이머(21)는 제1리셋신호(101)에 의해 리셋될 수 있다.
각각의 제2리타이머(22)에는 제2클록(232), 및 제2클록(232)에 동기된 제2리셋신호(202)가 입력될 수 있다. 각각의 제2리타이머(22)는 제2리셋신호(202)에 의해 리셋될 수 있다.
한편, 첫째, 비동기 브리지(1200)가 파워다운 시퀀스를 실행하는 경우, 둘째, 비동기 브리지(1200)가 파워온 시퀀스를 실행하는 경우, 또는 셋째, 비동기 브리지(1200)가 리셋되는 경우에, 상기 채널에 포함된 상기 제1리타이머(21)들 및 상기 제2리타이머(22)들이 모두 리셋되지 않는다면, 비동기 브리지(1200)를 포함하는 장치의 동작에 오류가 발생할 수 있다. 따라서 적어도 위 세 가지 경우에 있어서 상기 채널에 포함된 제1리타이머(21)들 및 제2리타이머(22)들을 모두 리셋하기 위한 기술이 필요하다.
그런데 제1리타이머(21)의 리셋 동작은 제1회로(2100)가 제공하는 제1리셋신호(101)에 의해 제어되므로, 기본적으로 비동기 브리지(1200)는 제1리타이머(21)를 리셋할 수 없다는 문제가 있다.
도 5에 제시한 본 발명의 일 실시예에서는, 이러한 문제를 해결하기 위하여 제1회로(2100)에 제1리셋생성회로(140)를 더 포함시킬 수 있다.
마스터회로(500)는 제1리셋명령(reset_1, 501)을 이용하여 제1회로(2100)가 리셋되도록 제어할 수 있으며, 제2리셋명령(reset_2, 502)을 이용하여 제2회로(2200)가 리셋되도록 제어할 수 있다.
제1회로(2100)는 제1리셋명령(501)에 따라 제1회로(2100)를 리셋할 수 있다. 제1회로(2100)를 리셋하는 내부리셋신호는 도 5에서 'reset1_0'으로 표기된다. 내부리셋신호(2101)는 마스터회로(500)가 제공한 것이거나 또는 제1회로(2100) 내부에서 생성한 것일 수 있다.
만일, 도 5와 달리 본 발명의 일 실시예에 따라 제공되는 제1리셋생성회로(140)가 제1회로(2100)에 포함되지 않는다면, 제1리타이머(21)에는 도 5에 제시된 내부리셋신호(2101)가 제공될 수 있다. 이와 달리 도 5와 같이, 본 발명의 일 실시예에 따라 제공되는 제1리셋생성회로(140)가 제1회로(2100)에 포함된다면 제1리타이머(21)에는 내부리셋신호(2101) 대신에 제1리타이머(21)가 출력하는 제1리셋신호(101)가 제공될 수 있다.
도 5에 제시된 제1리셋신호(101)는 비동기 브리지(1200)에 제공되어 비동기 브리지(1200)의 일부 회로를 리셋하는 데에 이용될 수 있다.
일 실시예에서, 내부리셋신호(2101)은 제1회로(2100)의 적어도 일부 또는 전부를 리셋하는 신호일 수 있다.
한편, 제1리셋생성회로(140)는 도 2에 도시한 제2리셋생성회로(240)와 동일한 구조를 가질 수 있다.
제1리셋생성회로(140)에는 내부리셋신호(2101), 제2클록(232), 및 제2리셋신호(202)가 입력될 수 있다. 여기서 내부리셋신호(2101)는 도 2에 나타낸 제2리셋생성회로(240)에 입력되는 제1리셋신호(101)에 대응한다.
제1리셋생성회로(140)는 제1리셋신호(101)을 출력할 수 있다. 여기서 제1리셋신호(101)는 도 2에 나타낸 제2리셋생성회로(240)가 출력하는 제3리셋신호(203)에 대응한다.
도 6a는 도 5에 나타낸 제1리셋생성회로(140)의 일 실시예에 따른 구성을 나타낸 것이다.
제1리셋생성회로(140)는 제1리셋동기화부(242) 및 AND 로직(241)을 포함할 수 있다. 제1리셋동기화부(242)는 3개의 단자(T1, T2, T3)를 포함할 수 있다.
제1리셋동기화부(242)는 내부리셋신호(2101) 및 제2클록(232)를 입력으로 받아들여 제1출력신호(2401)를 출력하도록 되어 있다.
제1리셋신호(101)는 제1출력신호(2401)와 제2리셋신호(202)의 AND 연산에 의해 결정될 수 있다.
도 6b는 도 6a에 나타낸 제1리셋동기화부의 구조를 나타낸 것이다.
제1리셋동기화부(242)는 제1플립플롭(2421) 및 제2플립플롭(2422)을 포함할 수 있다. 제2플립플롭(2422)의 데이터 입력단자는 제1플립플롭(2421)의 데이터 출력단자에 연결될 수 있다. 제2플립플롭(2422)의 데이터 출력단자는 제1출력신호(2401)를 출력할 수 있다.
제1플립플롭(2421) 및 제2플립플롭(2422)에는 각각 제2클록(232)이 입력될 수 있다.
제1플립플롭(2421) 및 제2플립플롭(2422)의 비동기 입력단자에는 각각 내부리셋신호(2101)이 반전되어 입력될 수 있다.
제1플립플롭(2421)의 데이터 입력단자에는 특정 상수값을 갖는 로직값이 입력될 수 있다. 도 6b에서 상기 특정 상수값은 로지컬 하이값(1'b1)이다.
도 6c는 도 6a에 나타낸 제1리셋생성회로의 변형된 구조를 나타낸 것이다. 제1리셋동기화부(242) 및 AND 로직(241)의 연결관계가 변경되어 있지만, 제1리셋동기화부(242)의 내부 구조는 도 6a에 나타낸 것과 동일할 수 있다.
도 6a 및 도 6c에 나타낸 회로는, 리셋신호가 로지컬 로우 값을 가질 때에 리셋이 이루어지도록 설계된 회로를 위한 것이다.
이와 달리, 후술하는 도 7a, 도 7b, 및 도 7c에 나타낸 회로는, 리셋신호가 로지컬 하이 값을 가질 때에 리셋이 이루어지도록 설계된 회로를 위한 것이다.
도 7a는 도 5에 나타낸 제1리셋생성회로(140)의 다른 실시예에 따른 구성을 나타낸 것이다.
제1리셋생성회로(140)는 제2리셋동기화부(244) 및 OR 로직(243)을 포함할 수 있다. 제2리셋동기화부(244)는 3개의 단자(T1, T2, T3)를 포함할 수 있다.
제2리셋동기화부(244)는 내부리셋신호(2101) 및 제2클록(232)을 입력으로 받아들여 제2출력신호(2402)를 출력하도록 되어 있다.
제1리셋신호(101)는 제2출력신호(2402)와 제2리셋신호(202)의 OR 연산에 의해 결정될 수 있다.
도 7b는 도 7a에 나타낸 제2리셋동기화부의 구조를 나타낸 것이다.
제2리셋동기화부(244)는 제1플립플롭(2441) 및 제2플립플롭(2442)을 포함할 수 있다. 제2플립플롭(2442)의 데이터 입력단자는 제1플립플롭(2441)의 데이터 출력단자에 연결될 수 있다. 제2플립플롭(2442)의 데이터 출력단자는 제2출력신호(2402)를 출력할 수 있다.
제1플립플롭(2441) 및 제2플립플롭(2442)에는 각각 제2클록(232)이 입력될 수 있다.
제1플립플롭(2441) 및 제2플립플롭(2442)의 비동기 입력단자에는 각각 내부리셋신호(2101)이 입력될 수 있다.
제1플립플롭(2441)의 데이터 입력단자에는 특정 상수값을 갖는 로직값이 입력될 수 있다. 도 7b에서 상기 특정 상수값은 로지컬 로우값(1'b0)이다.
도 7c는 도 7a에 나타낸 제1리셋생성회로의 변형된 구조를 나타낸 것이다. 제2리셋동기화부(244) 및 OR 로직(243)의 연결관계가 변경되어 있지만, 제2리셋동기화부(244)의 내부 구조는 도 7a에 나타낸 것과 동일할 수 있다.
도 6a, 도 6c, 도 7a, 및 도 7c를 참조하여 설명한 제1리셋생성회로(140)의 구성은 일 실시예에 불과하다. 제2리셋신호(202)를 감지한 경우 제1클록(231)에 동기화되어 동작하는 회로를 리셋할 수 있는 제1리셋신호(101)를 생성할 수 있는 회로구조라면 도 6a, 도 6c, 도 7a, 및 도 7c에 나타낸 구성을 대체할 수 있다.
도 8은 도 5로부터 변형된 실시예를 설명하기 위한 도면이다.
제2리셋신호(202)가 감지되면 제1클록(231)에 동기화된 회로를 리셋할 수 있는 제4리셋신호(104)를 생성하는 제4리셋생성회로(340)가 비동기 브리지(1200)의 외부에 제공될 수 있다.
제4리셋생성회로(340)의 작동원리는 도 5에 나타낸 제1리셋생성회로(140) 또는 도 2에 나타낸 제2리셋생성회로(240)와 같을 수 있다.
제4리셋신호(104)는 제1클록(231)에 동기화되어 동작하는 제1리타이머(21)를 리셋하기 위한 리셋신호로서 제공될 수 있다.
제4리셋생성회로(340)는 제1회로(2100)의 내부 또는 외부에 존재할 수 있다.
제4리셋생성회로(340)는 제1리셋생성회로(140) 또는 제2리셋생성회로(240)와 동일한 구조를 갖고 있을 수도 있다. 그러나 제4리셋생성회로(340)는 제4리셋신호(104)를 생성할 수 있다면 다른 구조를 가질 수도 있다. 본 발명이 제4리셋생성회로(340) 내부의 구체적인 회로에 의해 완전히 한정되는 것은 아니다.
도 8에 제시한 예에서, 제1리타이머(21)는 제4리셋신호(104) 뿐만 아니라, 제1회로(2100)가 제공하는 제1리셋신호(101)에 의해서도 리셋되도록 구성될 수 있으며, 그 구체적인 구성은 여기에 제시하지 않았지만, 다양한 방식으로 이루어질 수 있음을 이해할 수 있다.
도 9는 도 8로부터 변형된 실시예를 설명하기 위한 도면이다.
도 8에 제시한 제4리셋신호(104) 대신에, 도 2에 도시한 제2리셋생성회로(240)가 출력하는 제3리셋신호(203)을 제1클록(231)에 동기화되어 동작하는 제1리타이머(21)를 리셋하기 위한 리셋신호로서 제공할 수 있다.
도 9에 제시한 예에서, 제1리타이머(21)는 제3리셋신호(203) 뿐만 아니라, 제1회로(2100)가 제공하는 제1리셋신호(101)에 의해서도 리셋되도록 구성될 수 있으며, 그 구체적인 구성은 여기에 제시하지 않았지만, 다양한 방식으로 이루어질 수 있음을 이해할 수 있다.
도 10은 도 5에 나타낸 비동기 브리지(1200)의 파워다운 시퀀스의 일 실시예를 나타낸 순서도이다.
비동기 브리지(1200)의 제어부(250)는 마스터회로(500) 또는 전력제어유닛(800)으로부터 파워다운을 지시하는 명령을 받을 수 있다. 또는 비동기 브리지(1200)의 제어부(250)는 기타 다른 이유에 의해 비동기 브리지(1200)를 파워다운하는 시퀀스를 실행할 수 있다.
이때 비동기 브리지(1200)는 제1클록(231)에 동기화되어 동작되는 제1부분과 제2클록(232)에 동기화되어 동작되는 제2부분을 포함할 수 있다.
상기 제1부분은 도 2에 나타낸 제1 인터페이스 회로(210)를 포함할 수 있고, 상기 제2부분은 도 2에 나타낸 제2 인터페이스 회로(220)를 포함할 수 있다.
단계(S10)에서 비동기 브리지(1200)는 파워다운 시퀀스를 시작할 수 있다.
단계(S20)에서 비동기 브리지(1200)는 제2클록(232)에 동기화되어 동작되는 상기 제2부분을 리셋하기 위하여, 제2클록(232)에 동기화된 리셋신호인 제2리셋신호(232)를 상기 제2부분에 제공할 수 있다.
이때, 상기 제2리셋신호는, 상기 비동기 브리지(1200)에 연결된 시스템 버스의 채널에 제공되어 있는 리타이머들 중 제2클록(232)에 동기화된 리타이머들(22)에게 제공되도록 되어 있을 수 있다.
단계(S30)에서 비동기 브리지(1200)는 제2리셋신호(202)를, 제2리셋신호(202)를 감지하면, 제1클록(231)에 동기화되어 동작하는 회로를 리셋할 수 있는 리셋신호를 출력하도록 구성된 리셋생성회로에게 제공할 수 있다.
일 실시예에서, 상기 리셋생성회로는 제1클록(231)에 동기화된 리셋신호를 입력으로 받는 리셋생성회로에게 제공할 수 있다.
일 실시예에서, 제1클록(231)에 동기화된 리셋신호는 도 5에서 설명한 상기 내부리셋신호(2101)이고 상기 리셋생성회로는 도 5에서 설명한 상기 제1리셋생성회로(140)일 수 있다.
다른 실시예에서, 제1클록(231)에 동기화된 리셋신호는 도 2에서 설명한 상기 제1리셋신호(101)이고 상기 리셋생성회로는 도 2에서 설명한 상기 제2리셋생성회로(240)일 수 있다.
상기 리셋생성회로에는 제2클록(232)이 제공될 수 있다.
상기 리셋생성회로에 제공되는 제2클록(232)은 비동기 브리지(1200)가 제공한 것일 수도 있고, 또는 비동기 브리지(1200)가 아닌 다른 회로에 의해 제공된 것일 수도 있다.
일 실시예에서, 상기 리셋생성회로는 제1클록(231)에 동기화된 리셋신호와 상기 제2리셋신호(202) 중 어느 하나라도 발생하면, 제1클록(231)에 동기화되어 동작하는 회로를 리셋하기에 적합한 리셋신호를 생성하여 출력하도록 되어 있을 수 있다.
상기 리셋생성회로가 생성하여 출력하는 리셋신호는 예컨대 도 5에서 설명한 제1리셋신호(101)이거나 또는 도 2에서 설명한 제3리셋신호(203)일 수 있다.
단계(S40)에서, 비동기 브리지(1200)가 상기 리셋생성회로가 출력한 리셋신호를 감지하면, 상기 리셋생성회로가 출력한 리셋신호를 이용하여 비동기 브리지(1200)가 제1클록(231)에 동기화되어 동작되는 제1부분을 리셋할 수 있다.
단계(S50)에서, 비동기 브리지(1200)는 파워다운 시퀀스의 나머지 단계들을 수행할 수 있다.
이때, 상기 리셋생성회로가 생성하여 출력하는 리셋신호는, 비동기 브리지(1200)에 연결된 시스템 버스의 채널에 제공된 리타이머들 중 제1클록(231)에 동기화된 리타이머들(21)에게 제공되도록 되어 있을 수 있다.
이때, 상기 리셋생성회로의 회로구조는, 상기 리셋생성회로가 생성하여 출력하는 리셋신호가 제1클록(231)에 동기화되어 동작하는 회로를 리셋하기에 적합하도록 구성될 수 있다.
도 2 및 도 5에서 제1회로(2100) 및 제2회로(2200)는 IC(1)의 패키지의 내부에 포함되어 있는 회로인 것으로 제시하였다. 그러나 본 발명이 이에 한정되는 것은 아니다. 이에 대하여 도 11을 통해 설명한다.
도 11은 본 발명의 일 실시예에 따라 제공될 수 있는 사용자 기기(100)의 다양한 구성을 나타낸 것이다.
사용자 기기(100)는 예컨대, 최종 사용자가 사용하는 단말기일 수도 있고, 또는 서버일 수도 있다.
사용자 기기(100)는 도 2 및 도 5에서 설명한 IC(1)를 포함할 수 있다.
도 11의 (a), (b), (c), 및 (d)는 각각 서로 다른 실시예를 나타낸 것이다.
도 11의 (a)에서 제1회로(2100) 및 제2회로(2200)는 모두 IC(1)의 패키지 내에 포함된 것일 수 있다.
도 11의 (b)에서 제2회로(2200)는 IC(1)의 패키지 내에 포함된 것일 수 있다. 이에 비하여 제1회로(2100)는 IC(1)의 패키지 외부의 다른 IC의 패키지에 포함된 것일 수 있다.
도 11의 (c)에서 제1회로(2100)는 IC(1)의 패키지 내에 포함된 것일 수 있다. 이에 비하여 제2회로(2200)는 IC(1)의 패키지 외부의 다른 IC의 패키지에 포함된 것일 수 있다. 예컨대 제2회로(2200)는 메모리일 수 있다.
도 11의 (d)에서 제1회로(2100) 및 제2회로(2200)는 모두 IC(1)의 패키지 외부에 제공된 것일 수 있다. 이때, 제1회로(2100) 및 제2회로(2200)는 IC(1)의 패키지 외부의 다른 IC의 패키지에 포함된 것일 수 있다. 예컨대 제2회로(2200)는 메모리일 수 있다.
도 11에 제시한 실시예들은 모두 도 2 및 도 5에 제시한 것과 동일한 회로 간 연결관계 및 동일한 기능을 나타낼 수 있다.
상술한 리타이머들은 실시예에 따라 IC(1)의 패키지의 외부 또는 내부에 제공될 수 있음을 이해할 수 있다.
도 12는 본 발명의 일 실시예에 따라 IC 내의 서로 다른 회로가 서로 다른 파워 도메인 내에 속해 있는 예를 나타낸 다이어그램이다.
도 12를 참조하여 설명하면, 제1회로(2100)와 제2회로(2200)는 각각 제1 파워 도메인(P1) 및 제2 파워 도메인(P2)에 속한 것일 수 있다.
일 실시예에서, 비동기 브리지(1200)의 일부는 제1 파워 도메인(P1)에 속하고, 그리고 다른 일부는 제2 파워 도메인(P2)에 속한 것으로 볼 수 있다.
제1 파워 도메인(P1)에는 다른 회로가 더 포함될 수 있다. 그리고 제2 파워 도메인(P2)에는 다른 회로가 더 포함될 수 있다.
도 12에 나타낸 바와 같이, 제2 전력제어 시구간(TP2) 동안 제2파워 도메인(P2)에 속한 회로들은 파워 온 상태부터 파워 오프 상태로 전환되거나 또는 파워 오프 상태로부터 파워 온 상태로 전환될 수 있다.
이때, 일 실시예에서, 제2 전력제어 시구간(TP2) 동안 제1파워 도메인(P1)에 속한 회로들은 파워 온 상태를 계속 유지할 수 있다. 또는, 다른 실시예에서, 제2 전력제어 시구간(TP2) 동안 제1파워 도메인(P1)에 속한 회로들은 파워 오프 상태를 계속 유지할 수 있다
또한, 도 12에 나타낸 바와 같이, 제2 전력제어 시구간(TP2) 동안 제2회로(2200)는 파워 온 상태부터 파워 오프 상태로 전환되거나 또는 파워 오프 상태로부터 파워 온 상태로 전환될 수 있다.
이때, 일 실시예에서, 제1회로(2100)는 파워 온 상태를 계속 유지할 수 있다. 또는 다른 실시예에서, 제1회로(2100)는 파워 오프 상태를 계속 유지할 수 있다.
이때, 제2 전력제어 시구간(TP2)에 속한 제2 리셋 시구간(TR2) 동안 상기 제2리셋신호가 발생할 수 있다.
도 13은 도 2 또는 도 5에 제시한 비동기 브리지(1200)가 적용된 구성을 갖는 사용자 기기의 구조를 나타낸 것이다.
사용자 기기(100)는 제1회로(2100), 제2회로(2200), 제3회로(2300), 및 비동기 브리지(1200)를 포함할 수 있다.
제1회로(2100), 제2회로(2200), 및 제3회로(2300)는 각각 서로 다른 클록에 동기되어 동작할 수 있다. 즉, 제1회로(2100), 제2회로(2200), 및 제3회로(2300)는 각각 제1클록 도메인(31), 제2클록 도메인(32), 및 제3클록 도메인(33)에 속한 회로일 수 있다.
비동기 브리지(1200) 중 제1회로(2100)에 연결되는 제1부분은 실질적으로 제1클록 도메인(31)에 속한 것일 수 있고, 비동기 브리지(1200) 중 제2회로(2200)에 연결되는 제2부분은 실질적으로 제2클록 도메인(32)에 속한 것일 수 있고,
제1회로(2100), 제2회로(2200), 제3회로(2300), 및 비동기 브리지(1200)는 모두 동일한 IC 패키지 내에 속한 것일 수도 있고, 또는 제1회로(2100), 제2회로(2200), 제3회로(2300), 및 비동기 브리지(1200) 중 두 개의 회로는 서로 다른 IC 패키지들에 속한 것일 수 있다.
마스터회로(500)는 제1회로(2100), 제2회로(2200), 및 제3회로(2300)를 각각 리셋하기 위한 제1리셋명령(reset_1), 제2리셋명령(reset_2), 및 제3리셋명령(reset_3)을 출력할 수 있다.
제1회로(2100)는 제3회로(2300)와 데이터를 단방향 또는 양방향으로 교환하도록 되어 있을 수 있다.
이때, 마스터회로(500)가 제1회로(2100)를 리셋하기 위한 제1리셋명령(reset_1)을 사전 준비 절차 없이 출력하여 제1회로(2100)를 리셋하는 경우, 제1회로(2100)가 리셋된 이후에 제1회로(2100), 제3회로(2300), 및 사용자 기기(100) 중 적어도 하나의 동작에 오류가 발생할 수 있다. 따라서 바람직하게는, 제1회로(2100)가 리셋되기 이전에 제1회로(2100) 및 제3회로(2300) 중 적어도 하나가 상기 오류를 방지하기 위한 사전 준비 절차를 수행하도록 되어 있을 수 있다. 이를 위해 마스터회로(500)는 제1회로(2100) 및 제3회로(2300)에게 각각 필요한 제1 명령(inst_1) 및 제3 명령(inst_3)을 제공할 수 있다. 이러한 사전 준비 절차에는 복잡성이 존재하며, 상기 사전 준비 절차의 수행에 소정의 시간이 소요될 수 있다.
필요하다면, 상기 사전 준비 절차를 거쳐 제1회로(2100)를 리셋할 수 있다. 다만, 도 2에 제시한 본 발명의 일 실시예에 따른 비동기 브리지(1200)의 구성에 따르면, 적어도 비동기 브리지(1200)를 완전히 리셋하기 위한 목적을 달성하기 위하여 제1회로(2100) 전체를 불필요하게 리셋할 필요는 없다는 이점이 있다. 즉, 본 발명의 일 실시예에 따르는 상기 리셋생성회로를 이용하는 경우, 비동기 브리지(1200)를 리셋하는 프로세스가, 비동기 브리지(1200)가 사용되는 IC, SoC, 또는 사용자 기기의 다른 회로들의 작동에 영향을 미치지 않는다는 이점이 있다.
일 실시예에서 도 13에 나타낸 사용자 기기(100)는 IC(1)로 대체될 수 있다.
도 14는 본 발명의 일 실시예에 따라 제공되는 IC(1)의 구성을 나타낸 다이어그램이다.
도 2와 도 5는 각각 동일한 하나의 실시예에 따라 제공되는 IC의 구조를, 설명의 편의를 위하여 각각 필요한 부분만 제시한 것이다.
도 2에 나타낸 IC는, 도 2에 제시하지 않은 제1리셋생성회로(140), 제1리타이머(21), 제2리타이머(22), 및 제어부(250)의 구성요소를 더 포함할 수 있다.
도 5에 나타낸 IC는, 도 5에 제시하지 않은 제1 인터페이스 회로(210), 제2 인터페이스 회로(220), 버퍼(230), 및 제2리셋생성회로(240)를 더 포함할 수 있다.
도 2, 도 5, 및 도 14에 제시된 동일한 참조번호는 동일한 구성요소를 나타낸다.
도 15는 도 1에 도시된 SoC를 포함하는 반도체 시스템의 일 실시예를 나타낸다.
도 15를 참조하면, 반도체 시스템(400)은 도 1에 도시된 SoC(1), 안테나(401), 무선 송수신기(403), 입력 장치(405), 및 디스플레이(407)를 포함할 수 있다.
무선 송수신기(403)는 안테나(401)를 통하여 무선 신호를 주거나 받을 수 있다. 예컨대, 무선 송수신기(403)는 안테나(401)를 통하여 수신된 무선 신호를 SoC(1)에서 처리될 수 있는 신호로 변경할 수 있다.
따라서, SoC(1)는 무선 송수신기(403)로부터 출력된 신호를 처리하고 처리된 신호를 디스플레이(407)로 전송할 수 있다. 또한, 무선 송수신기(403)는 SoC(1)로부터 출력된 신호를 무선 신호로 변경하고 변경된 무선 신호를 안테나(401)를 통하여 외부 장치로 출력할 수 있다.
입력 장치(405)는 SoC(1)의 동작을 제어하기 위한 제어 신호 또는 SoC(1)에 의하여 처리될 데이터를 입력할 수 있는 장치로서, 터치 패드와 컴퓨터 마우스와 같은 포인팅 장치, 키패드, 또는 키보드로 구현될 수 있다.
도 16은 도 1에 도시된 SoC(1)를 포함하는 컴퓨터 시스템의 일 실시예를 나타낸다. 도 16을 참조하면, 도 1에 도시된 SoC(1)를 포함하는 컴퓨터 시스템(500)은 PC, 네트워크 서버, 태블릿 PC, 넷-북, e-리더, PDA, PMP, MP3 플레이어, 또는 MP4 플레이어로 구현될 수 있다.
컴퓨터 시스템(500)은 SoC(1), 메모리 장치(501)와 메모리 장치(501)의 데이터 처리 동작을 제어할 수 있는 메모리 컨트롤러(502), 디스플레이(503) 및 입력 장치(504)를 포함할 수 있다.
SoC(1)는 입력 장치(504)를 통하여 입력된 데이터에 따라 메모리 장치(501)에 저장된 데이터를 디스플레이(503)를 통하여 디스플레이할 수 있다. 예컨대, 입력 장치(504)는 터치 패드 또는 컴퓨터 마우스와 같은 포인팅 장치, 키패드, 또는 키보드로 구현될 수 있다. SoC(1)는 컴퓨터 시스템(500)의 전반적인 동작을 제어할 수 있고 메모리 컨트롤러(502)의 동작을 제어할 수 있다.
실시예에 따라 메모리 장치(501)의 동작을 제어할 수 있는 메모리 컨트롤러(502)는 SoC(1)의 일부로서 구현될 수 있고 또한 SoC(1)와 별도의 칩으로 구현될 수 있다.
도 17은 도 1에 도시된 SoC(1)를 포함하는 컴퓨터 시스템의 다른 실시예를 나타낸다. 도 17을 참조하면, 도 1에 도시된 SoC(1)를 포함하는 컴퓨터 시스템(600)은 이미지 처리 장치, 예컨대 디지털 카메라 또는 디지털 카메라가 부착된 이동 전화기 또는 스마트 폰으로 구현될 수 있다.
컴퓨터 시스템(600)은 SoC(1), 메모리 장치(601)와 메모리 장치(601)의 데이터 처리 동작, 예컨대 라이트 동작 또는 독출 동작을 제어할 수 있는 메모리 컨트롤러(602)를 포함한다. 또한, 컴퓨터 시스템(600)은 이미지 센서(603) 및 디스플레이(604)를 더 포함할 수 있다.
컴퓨터 시스템(600)의 이미지 센서(603)는 광학 이미지를 디지털 신호들로 변환하고, 변환된 디지털 신호들은 SoC(1) 또는 메모리 컨트롤러(602)로 전송될 수 있다. SoC(1)의 제어에 따라, 상기 변환된 디지털 신호들은 디스플레이(604)를 통하여 디스플레이되거나 또는 메모리 컨트롤러(602)를 통하여 메모리 장치(601)에 저장될 수 있다.
또한, 메모리 장치(601)에 저장된 데이터는 SoC(1) 또는 메모리 컨트롤러(602)의 제어에 따라 디스플레이(604)를 통하여 디스플레이 될 수 있다. 실시 예에 따라 메모리 장치(601)의 동작을 제어할 수 있는 메모리 컨트롤러(602)는 SOC(1)의 일부로서 구현될 수 있고 또한 SoC(1)와 별개의 칩으로 구현될 수 있다.
도 18은 도 1에 도시된 SoC(1)를 포함하는 컴퓨터 시스템의 또 다른 실시예를 나타낸다. 도 18을 참조하면, 메모리 시스템(700)은 SSD(solid state drive)와 같은 데이터 처리 장치로 구현될 수 있다.
메모리 시스템(700)은 다수의 메모리 장치들(701), 다수의 메모리 장치들(701) 각각의 데이터 처리 동작을 제어할 수 있는 메모리 컨트롤러(702), DRAM과 같은 휘발성 메모리 장치(703), 메모리 컨트롤러(702)와 호스트(704) 사이에서 주고받는 데이터를 휘발성 메모리 장치(703)에 저장하는 것을 제어하는 SoC(1)를 포함할 수 있다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다.
컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있다.
또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (21)

  1. 제1클록에 동기화되어 동작하는 제1회로와 제2클록에 동기화되어 동작하는 제2회로를 서로 연결하는 브리지 회로; 및
    상기 제2클록에 동기화된 제2리셋신호가 감지되면, 상기 제1클록에 동기화된 회로를 리셋하도록 되어 있는 리셋신호를 제공하는 리셋생성회로;
    를 포함하며,
    상기 브리지 회로는,
    상기 제1클록에 동기화되어 동작하는 제1 인터페이스 회로; 및
    상기 제2클록에 동기화되어 동작하며, 그리고 상기 제2리셋신호에 의해 리셋되는, 제2 인터페이스 회로
    를 포함하며,
    상기 제1 인터페이스 회로는 상기 리셋생성회로가 제공한 상기 리셋신호에 의해 리셋되도록 되어 있고,
    상기 브리지 회로는, 상기 제1회로를 리셋하는 리셋신호를 기초로 또한 리셋되도록 되어 있으며,
    상기 제1회로를 리셋하기 이전에, 상기 제1회로와 통신하도록 되어 있는 제3회로 및 상기 제1회로 중 하나 이상이, 상기 제1회로의 리셋을 위해 미리 결정된 한 개 이상의 리셋준비단계를 수행하도록 되어 있는 것을 특징으로 하는,
    IC.
  2. 제1항에 있어서, 상기 리셋생성회로가 제공하는 상기 리셋신호는, 상기 브리지 회로에 연결된 버스에 연결되어 있으며 상기 제1클록에 동기화되어 동작하는 한 개 이상의 리타이머들에게 제공되도록 되어 있는, IC.
  3. 제2항에 있어서, 상기 제2리셋신호는, 상기 브리지 회로에 연결된 버스에 연결되어 있으며 상기 제2클록에 동기화되어 동작하는 한 개 이상의 리타이머들에게 제공되도록 되어 있는, IC.
  4. 제1항에 있어서,
    상기 리셋생성회로는 상기 브리지 회로에 포함되어 있으며,
    상기 리셋생성회로는, 상기 제1회로로부터 제공되며 상기 제1클록에 동기화된 제1리셋신호 및 상기 제2리셋신호 중 어느 하나라도 감지하면 상기 리셋신호를 제공하도록 되어 있는,
    IC.
  5. 제1항에 있어서,
    상기 리셋생성회로는 상기 제1회로에 포함되어 있으며,
    상기 리셋생성회로가 제공하는 상기 리셋신호는 상기 브리지 회로에게 제공되며,
    상기 브리지 회로는 상기 리셋신호를 이용하여 상기 제1 인터페이스 회로를 리셋하도록 되어 있는,
    IC.
  6. 제5항에 있어서,
    상기 리셋생성회로는, 상기 제1회로가 제공하는 리셋신호로서 상기 제1클록에 동기화된 내부리셋신호 및 상기 제2리셋신호 중 어느 하나라도 감지하면 상기 리셋신호를 제공하도록 되어 있는,
    IC.
  7. 삭제
  8. 제1항에 있어서, 상기 브리지 회로는, 상기 제2 인터페이스 회로에 제공되는 전력의 적어도 일부가 차단되는 경우, 상기 제1 인터페이스 회로에 제공되는 전력의 적어도 일부가 차단되도록 되어 있는, IC.
  9. 제1항에 있어서,
    상기 브리지 회로는, 버퍼를 더 포함하며,
    상기 제1 인터페이스 회로는 상기 제1회로와 상기 버퍼를 서로 연결하고,
    상기 제2 인터페이스 회로는 상기 제2회로와 상기 버퍼를 서로 연결하는 것을 특징으로 하는,
    IC.
  10. 제9항에 있어서, 상기 제1 인터페이스 회로는 상기 제1회로로부터 제공되는 데이터 또는 명령을 상기 버퍼에 제공하도록 되어 있고, 그리고 상기 제2 인터페이스 회로는 상기 버퍼로부터 제공되는 데이터 또는 명령을 상기 제2회로에 제공하도록 되어 있는, IC.
  11. 제9항에 있어서, 상기 버퍼는, 상기 제1클록에 동기화되어 기록 처리를 수행하고, 상기 제2클록에 동기화되어 독출 처리를 수행하도록 되어 있는 비동기 FIFO 버퍼인, IC.
  12. 제1항에 있어서, 상기 제1회로 및 상기 제2회로는 모두 상기 IC의 패키지의 외부에 존재하는 회로이거나, 또는 상기 제1회로 및 상기 제2회로 중 적어도 하나는 상기 IC의 패키지 내에 포함되어 있는, IC.
  13. 제1항에 있어서,
    상기 제1회로는 상기 제1클록에 동기화되어 동작하는 제1클록 도메인에 속한 것이고, 그리고
    상기 제2회로는 상기 제2클록에 동기화되어 동작하는 제2클록 도메인에 속한 것인,
    IC.
  14. 제1클록에 동기화되어 동작하는 제1회로와 제2클록에 동기화되어 동작하는 제2회로를 서로 연결하는 브리지 회로; 및
    상기 제2클록에 동기화된 제2리셋신호가 감지되면, 상기 제1클록에 동기화된 회로를 리셋하도록 되어 있는 리셋신호를 제공하는 리셋생성회로;
    를 포함하며,
    상기 제1클록에 동기화된 회로는, 상기 브리지 회로에 포함되어 있는 회로이거나, 또는 상기 브리지 회로에 연결된 버스에 포함되어 있는 회로이며,
    제2 리셋 시구간 동안 상기 제2리셋신호가 발생되며,
    상기 제2 리셋 시구간을 포함하는 제2 전력제어 시구간 동안, 상기 제2회로는 파워 온 상태부터 파워 오프 상태로 전환되거나 또는 파워 오프 상태로부터 파워 온 상태로 전환되며,
    상기 제2 전력제어 시구간 동안, 상기 제1회로는 파워 온 상태 또는 파워 오프 상태를 계속하여 유지하며,
    상기 제1클록에 동기화된 회로는 상기 리셋생성회로가 제공한 상기 리셋신호에 의해 리셋되도록 되어 있고,
    상기 브리지 회로는, 상기 제1회로를 리셋하는 리셋신호를 기초로 또한 리셋되도록 되어 있으며,
    상기 제1회로를 리셋하기 이전에, 상기 제1회로와 통신하도록 되어 있는 제3회로 및 상기 제1회로 중 하나 이상이, 상기 제1회로의 리셋을 위해 미리 결정된 한 개 이상의 리셋준비단계를 수행하도록 되어 있는 것을 특징으로 하는,
    IC.
  15. 삭제
  16. 제1클록에 동기화되어 동작하는 제1회로와 제2클록에 동기화되어 동작하는 제2회로를 서로 연결하는 브리지 회로로서,
    상기 제1클록에 동기화되어 동작하는 제1 인터페이스 회로; 및
    상기 제2클록에 동기화되어 동작하며, 그리고 상기 제2클록에 동기화된 제2리셋신호에 의해 리셋되는, 제2 인터페이스 회로
    를 포함하며,
    상기 제1 인터페이스 회로는, 리셋생성회로가 제공한 리셋신호에 의해 리셋되도록 되어 있으며,
    상기 리셋생성회로는, 상기 제2리셋신호가 감지되면, 상기 제1클록에 동기화된 회로를 리셋하도록 되어 있는 상기 리셋신호를 제공하도록 되어 있고,
    상기 제1회로를 리셋하는 리셋신호를 기초로 또한 리셋되도록 되어 있으며,
    상기 제1회로를 리셋하기 이전에, 상기 제1회로와 통신하도록 되어 있는 제3회로 및 상기 제1회로 중 하나 이상이, 상기 제1회로의 리셋을 위해 미리 결정된 한 개 이상의 리셋준비단계를 수행하도록 되어 있는 것을 특징으로 하는,
    브리지 회로.
  17. 삭제
  18. 제16항에 있어서,
    상기 리셋생성회로는 상기 브리지 회로에 포함되어 있으며,
    상기 리셋생성회로는, 상기 제1회로로부터 제공되며 상기 제1클록에 동기화된 제1리셋신호 및 상기 제2리셋신호 중 어느 하나라도 감지하면 상기 리셋신호를 제공하도록 되어 있는,
    브리지 회로.
  19. 제16항에 있어서,
    상기 리셋생성회로는 상기 제1회로에 포함되어 있으며,
    상기 리셋생성회로가 제공하는 상기 리셋신호는 상기 브리지 회로에게 제공되며,
    상기 브리지 회로는 상기 리셋신호를 이용하여 상기 제1 인터페이스 회로를 리셋하도록 되어 있는,
    브리지 회로.
  20. 제19항에 있어서,
    상기 리셋생성회로는, 상기 제1회로가 제공하는 리셋신호로서 상기 제1클록에 동기화된 내부리셋신호 및 상기 제2리셋신호 중 어느 하나라도 감지하면 상기 리셋신호를 제공하도록 되어 있는,
    브리지 회로.
  21. 제16항에 있어서,
    상기 제2리셋신호는, 상기 브리지 회로에 연결된 버스에 연결되어 있으며 상기 제2클록에 동기화되어 동작하는 한 개 이상의 리타이머들에게 제공되도록 되어 있으며,
    상기 리셋생성회로가 제공하는 상기 리셋신호는, 상기 브리지 회로에 연결된 버스에 연결되어 있으며 상기 제1클록에 동기화되어 동작하는 한 개 이상의 리타이머들에게 제공되도록 되어 있는,
    브리지 회로.
KR1020190094172A 2019-08-02 2019-08-02 인터커넥트 회로의 리셋 방법 및 이를 위한 장치 KR102112251B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190094172A KR102112251B1 (ko) 2019-08-02 2019-08-02 인터커넥트 회로의 리셋 방법 및 이를 위한 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190094172A KR102112251B1 (ko) 2019-08-02 2019-08-02 인터커넥트 회로의 리셋 방법 및 이를 위한 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020200022577A Division KR20210015609A (ko) 2020-02-24 2020-02-24 인터커넥트 회로의 리셋 방법 및 이를 위한 장치

Publications (1)

Publication Number Publication Date
KR102112251B1 true KR102112251B1 (ko) 2020-05-19

Family

ID=70913556

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190094172A KR102112251B1 (ko) 2019-08-02 2019-08-02 인터커넥트 회로의 리셋 방법 및 이를 위한 장치

Country Status (1)

Country Link
KR (1) KR102112251B1 (ko)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05341883A (ja) * 1992-05-15 1993-12-24 Fujitsu Ltd 非同期回路リセット方式
KR20010057336A (ko) * 1999-12-22 2001-07-04 박종섭 입력 신호 스큐 보상회로
US20050228929A1 (en) * 2004-04-02 2005-10-13 Arm Limited Bridge circuit
JP2009205377A (ja) * 2008-02-27 2009-09-10 Fujitsu Microelectronics Ltd リセット制御を有する集積回路装置
US7657689B1 (en) * 2003-10-07 2010-02-02 Altera Corporation Methods and apparatus for handling reset events in a bus bridge
JP2012104048A (ja) * 2010-11-12 2012-05-31 Fujitsu Semiconductor Ltd 半導体装置及び半導体装置におけるリセット制御方法
JP2013105449A (ja) * 2011-11-16 2013-05-30 Renesas Electronics Corp リセット信号生成回路及びそれを備えた半導体集積回路
KR101510862B1 (ko) * 2014-04-17 2015-04-09 주식회사 텔레칩스 시스템온칩에서 상이한 도메인의 블록연결을 위한 단일채널 비동기 브리지 시스템
JP2019028651A (ja) * 2017-07-28 2019-02-21 キヤノン株式会社 同期リセット回路とその制御方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05341883A (ja) * 1992-05-15 1993-12-24 Fujitsu Ltd 非同期回路リセット方式
KR20010057336A (ko) * 1999-12-22 2001-07-04 박종섭 입력 신호 스큐 보상회로
US7657689B1 (en) * 2003-10-07 2010-02-02 Altera Corporation Methods and apparatus for handling reset events in a bus bridge
US20050228929A1 (en) * 2004-04-02 2005-10-13 Arm Limited Bridge circuit
JP2009205377A (ja) * 2008-02-27 2009-09-10 Fujitsu Microelectronics Ltd リセット制御を有する集積回路装置
JP2012104048A (ja) * 2010-11-12 2012-05-31 Fujitsu Semiconductor Ltd 半導体装置及び半導体装置におけるリセット制御方法
JP2013105449A (ja) * 2011-11-16 2013-05-30 Renesas Electronics Corp リセット信号生成回路及びそれを備えた半導体集積回路
KR101510862B1 (ko) * 2014-04-17 2015-04-09 주식회사 텔레칩스 시스템온칩에서 상이한 도메인의 블록연결을 위한 단일채널 비동기 브리지 시스템
JP2019028651A (ja) * 2017-07-28 2019-02-21 キヤノン株式会社 同期リセット回路とその制御方法

Similar Documents

Publication Publication Date Title
US9225343B2 (en) Electronics device capable of efficient communication between components with asyncronous clocks
US8214668B2 (en) Synchronizing circuit
US20190213164A1 (en) Mobile device and interfacing method thereof
CN106575145B (zh) 芯片上系统中存储器访问的功率管理
US20040033812A1 (en) Wireless communication apparatus, program and method
US9552051B2 (en) Block partition to minimize power leakage
US8856433B2 (en) Data transfer in memory card system
US8659336B2 (en) Apparatus and method for synchronising signals
US6782486B1 (en) Apparatus for stopping and starting a clock in a clock forwarded I/O system depending on the presence of valid data in a receive buffer
US20140281652A1 (en) Data synchronization across asynchronous boundaries using selectable synchronizers to minimize latency
US9941863B2 (en) Power gating control circuit for stably controlling data restoring
EP2207101A1 (en) Method and device for parallel interfacing
US10048893B2 (en) Clock/power-domain crossing circuit with asynchronous FIFO and independent transmitter and receiver sides
KR102112251B1 (ko) 인터커넥트 회로의 리셋 방법 및 이를 위한 장치
KR102530073B1 (ko) Rf 집적회로와 디지털 통신하는 베이스밴드 집적회로 및 이를 포함하는 장치
US20120210108A1 (en) Semiconductor device
KR20210015609A (ko) 인터커넥트 회로의 리셋 방법 및 이를 위한 장치
EP3739463B1 (en) Circuit for asynchronous data transfer
US10210034B2 (en) Electronic device with recording functionality and method for recording thereof
JP2010055265A (ja) システムlsi、システムlsiの制御方法、プログラム、及び記憶媒体
US10539616B2 (en) Scan data control apparatus and electronic system having the same
TW202139020A (zh) 時脈交叉先進先出(fifo)狀態斂聚式同步器
US20240021228A1 (en) Clock multiplexer device, controller, and storage device
JP7434413B2 (ja) 電子機器、および制御方法
KR20170088765A (ko) 반도체 장치 및 그 구동 방법

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant