KR100826496B1 - 반도체 집적 회로 장치 및 그 동작 방법 - Google Patents

반도체 집적 회로 장치 및 그 동작 방법 Download PDF

Info

Publication number
KR100826496B1
KR100826496B1 KR1020070012158A KR20070012158A KR100826496B1 KR 100826496 B1 KR100826496 B1 KR 100826496B1 KR 1020070012158 A KR1020070012158 A KR 1020070012158A KR 20070012158 A KR20070012158 A KR 20070012158A KR 100826496 B1 KR100826496 B1 KR 100826496B1
Authority
KR
South Korea
Prior art keywords
clock
state
control signals
register value
clock signal
Prior art date
Application number
KR1020070012158A
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 KR1020070012158A priority Critical patent/KR100826496B1/ko
Priority to US11/941,169 priority patent/US7953999B2/en
Application granted granted Critical
Publication of KR100826496B1 publication Critical patent/KR100826496B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/10Decoders

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Information Transfer Systems (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

반도체 집적 회로 장치가 개시된다. 상기 반도체 집적 회로 장치는 제1 클락 신호에 응답하여 제1 제어신호들을 출력하는 CPU; 상기 CPU에 접속된 제1 버스; 상기 제1 버스에 접속된 브릿지 회로; 상기 브릿지 회로에 접속된 제2 버스; 상기 제2 버스에 접속된 주변 회로들; 및 상기 제1 버스 또는 상기 제2 버스 중 어느 하나에 접속되고, 제2 클락 신호에 상응하는 레지스터 값을 상기 브릿지 회로로 출력하는 클락 모니터를 구비하며, 상기 브릿지 회로는 상기 제1 제어신호들을 수신하고 상기 레지스터 값에 기초하여 제2 제어신호들을 발생하여 상기 제2버스를 통하여 상기 주변 회로들 중 어느 하나로 출력한다.
반도체 집적 회로 장치, 브릿지 회로, 임베이디드 시스템

Description

반도체 집적 회로 장치 및 그 동작 방법{Semiconductor integrated circuit device and operating method thereof}
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 실시예에 따른 반도체 집적 회로 장치의 블락도를 나타낸다.
도 2는 도 1에 도시된 본 발명의 실시예에 따른 브릿지 회로의 블락도를 나타낸다.
도 3은 도 2에 도시된 클락 검출 블락의 상세 블락도를 나타낸다.
도 4는 도 2에 도시된 클락 동기 스테이트 머신의 동작을 나타내는 플로우 차트이다.
도 5는 본 발명의 실시예에 따른 반도체 집적 회로 장치의 4분주 시 라이트 동작 시뮬레이션 결과를 나타내는 타이밍도이다.
도 6은 본 발명의 실시예에 따른 반도체 집적 회로 장치의 4분주 시 리드 동작 시뮬레이션 결과를 나타내는 타이밍도이다.
본 발명은 반도체 집적 회로 장치에 관한 것으로, 보다 상세하게는 분주된 클락 신호에 동기하여 통합된 제어신호를 출력할 수 있는 브릿지 회로를 구비하는 반도체 집적 회로 장치 및 반도체 집적 회로 장치의 동작 방법에 관한 것이다.
일반적인 반도체 집적 회로 장치는 CPU 및 다수의 주변 회로 장치들을 구비한다. 그런데, 상기 CPU 및 다수의 주변 회로 장치들 각각은 다른 동작 주파수에서 동작한다.
따라서, 일반적인 반도체 집적 회로 장치는 상대적으로 빠른 동작 주파수에서 동작하는 장치들이 접속되는 메인 버스(예컨데, AHB 버스)와 상대적으로 느린 동작 주파수에서 동작하는 장치들에 접속되는 주변 버스(예컨데, APB 버스)를 구비한다.
일반적으로 상기 메인 버스에는 상기 반도체 집적 회로 장치를 구성하는데 필수적인 CPU, 버스 마스터, 및 메모리 장치 등이 접속된다.
상기 주변 버스에는 상기 반도체 집적 회로 장치의 용도에 맞게 선택적으로 UART(Universal Asynchronous Receiver/Transmitter), 타이머(Timer), 및 ADC(Analog-to-Digital Converter) 등이 접속된다.
상기 주변회로들은 상기 CPU에서 사용되는 메인 클락 신호를 수신하여 각각의 동작 주파수에 맞게 분주하여 사용하고, 상기 CPU로부터 출력되는 제어신호들을 상기 분주된 클락 신호에 동기시켜 사용한다. 따라서, 상기 주변 회로들이 증가하게 되면 상기 주변회로들을 제어하기 위한 제어신호들이 다양해지고 복잡해지게 된 다.
또한, 설계된 주변 회로들을 다른 시스템에서 재사용할 때 각각의 시스템에서 필요로 하는 클락 신호를 생성할 수 있도록 변경해야 하므로 상기 주변 회로들의 재사용율(Reusability)이 떨어질 수 있는 문제가 있었다.
따라서, 상기 다수의 주변회로들의 제어신호들을 일원화할 수 있는 방법이 요구된다.
따라서, 본 발명이 이루고자 하는 기술적 과제는 상기 반도체 집적 회로에 구비되는 주변회로들을 제어하기 위한 분주되는 클락에 대응하여 제어신호를 일원화하여 주변 회로의 재사용율(Reusability)을 높일 수 있는 반도체 집적 회로 장치 및 반도체 집적 회로 장치의 동작 방법을 제공하는 것이다.
본 발명에 따른 브릿지 회로는 제1버스와 인터페이스 하기 위한 제1 인터페이스 블락; 제2버스와 인터페이스 하기 위한 제2 인터페이스 블락; 분주된 클락 신호에 상응하는 레지스터 값을 수신하여 디코딩하고, 상기 디코딩된 레지스터 값에 기초하여 스테이트 제어신호를 발생하는 클락 검출블락; 및 상기 제1 인터페이스 블락을 통하여 수신되는 제1 제어신호들을 수신하고 상기 스테이트 제어신호에 기초하여 상기 레지스터 값에 상응하는 클락 주파수를 가지는 제2 제어신호들을 발생하여 출력하는 스테이트 머신를 구비한다.
상기 클락 검출 블락은 상기 분주된 클락 신호에 상응하는 레지스터 값을 디 코딩하여 출력하는 클락 디코더 블락; 상기 디코딩된 레지스터 값을 수신하고, 메인 클락 신호를 카운트하여 상기 디코딩된 레지스터 값과 상기 메인 클락 신호를 카운트한 값이 일치할 경우 지시 플래그 비트를 출력하는 클락 카운터; 및 상기 디코딩된 레지스터 값을 수신하고, 상기 클락 카운터로부터 출력되는 카운트 결과를 수신하여 서로 비교하고, 비교 결과에 기초하여 스테이트 플래그 비트를 출력하는 클락 비교 블락을 구비한다.
상기 스테이트 머신은 상기 제1 제어신호들 및 상기 클락 검출 블락으로부터 출력되는 상기 스테이트 플래그 비트에 기초하여 선택된 스테이트 프로세스 단계를 수행하는 클락 동기 스테이트 머신를 구비한다.
상기 지시 플래그 비트는 상기 클락 카운터를 리셋시키기 위한 플래그 비트이다. 상기 스테이트 플래그 비트는 상기 스테이트 머신의 스테이트를 변경하기 위한 플래그 비트이다.
본 발명에 따른 반도체 집적 회로 장치는 제1 클락 신호에 응답하여 제1 제어신호들을 출력하는 CPU; 상기 CPU에 접속된 제1 버스; 상기 제1 버스에 접속된 브릿지 회로; 상기 브릿지 회로에 접속된 제2 버스; 상기 제2 버스에 접속된 주변 회로들; 및 상기 제1 버스 또는 상기 제2 버스 중 어느 하나에 접속되고, 제2 클락 신호에 상응하는 레지스터 값을 상기 브릿지 회로로 출력하는 클락 모니터를 구비하며, 상기 브릿지 회로는 상기 제1 제어신호들을 수신하고 상기 레지스터 값에 기초하여 제2 제어신호들을 발생하여 상기 제2버스를 통하여 상기 주변 회로들 중 어느 하나로 출력한다.
상기 브릿지 회로는 상기 제1 버스와 인터페이스 하기 위한 제1 인터페이스 블락; 상기 제2 버스와 인터페이스 하기 위한 제2 인터페이스 블락; 상기 제2 클락 신호에 상응하는 레지스터 값을 수신하여 디코딩하고, 상기 디코딩된 레지스터 값에 기초하여 발생한 스테이트 제어신호들을 출력하는 클락 검출 블락; 및 상기 제1 제어신호들을 수신하고 상기 스테이트 제어신호들에 기초하여 발생한 상기 제2 제어신호들을 출력하는 스테이트 머신를 구비한다.
상기 클락 검출 블락은 제2 클락 신호에 상응하는 레지스터 값을 디코딩하여 출력하는 클락 디코더 블락; 상기 디코딩된 레지스터 값을 수신하고, 제1 클락 신호를 카운트하여 상기 디코딩된 레지스터 값과 상기 제1 클락 신호를 카운트한 값이 일치할 경우 지시 플래그 비트를 출력하는 클락 카운터; 및 상기 디코딩된 레지스터 값을 수신하고, 상기 클락 카운터로부터 출력되는 클락 카운트 결과를 수신하여 서로 비교하고, 비교 결과에 기초하여 스테이트 플래그 비트를 출력하는 클락 비교 블락을 구비한다.
상기 레지스터 값은 상기 제1 클락 신호 대비 상기 제2클락 신호의 분주율을 나타낸다.
상기 지시 플래그 비트는 상기 클락 카운터를 리셋시키기 위한 플래그 비트이다. 상기 스테이트 플래그 비트는 상기 스테이트 머신의 스테이트를 변경하기 위한 플래그 비트이다.
상기 스테이트 머신은 상기 제1 제어신호들과 상기 클락 검출 블락으로부터 출력되는 상기 스테이트 플래그 비트에 기초하여 선택된 스테이트 프로세스 단계를 수행하는 클락 동기 스테이트 머신를 구비한다.
상기 제2 클락 신호는 상기 제1 클락 신호를 N분주한 클락 신호이다. 상기 제2 제어신호들은 상기 주변 회로들을 제어하기 위한 신호이다.
본 발명에 따른 반도체 집적 회로 장치의 동작 방법은 CPU가 제1 클락 신호에 응답하여 제1 제어신호들을 출력하는 단계; 클락 모니터가 제2 클락 신호에 상응하는 레지스터 값을 출력하는 단계; 브릿지 회로가 상기 제1 제어신호들을 수신하고 상기 레지스터 값에 상응하는 제2 제어신호들을 출력하는 단계를 구비한다.
상기 제2 제어신호들을 출력하는 단계는 클락 검출 블락이 상기 제2 클락 신호에 상응하는 상기 레지스터 값을 수신하여 디코딩하고, 상기 디코딩된 레지스터 값에 기초하여 발생한 스테이트 제어신호들을 출력하는 단계; 및 상기 제1 제어신호들을 수신하고 상기 스테이트 제어신호들에 기초하여 발생한 상기 제2 제어신호들을 출력하는 스테이트 머신를 구비한다.
상기 스테이트 제어신호들을 출력하는 단계는 클락 디코더가 제2 클락 신호에 상응하는 레지스터 값을 디코딩하여 출력하는 단계; 클락 카운터가 상기 디코딩된 레지스터 값을 수신하고, 상기 제1 클락 신호를 카운트하여 상기 디코딩된 레지스터 값과 상기 제1 클락 신호를 카운트한 값이 일치할 경우 지시 플래그 비트를 출력하는 단계; 및 클락 비교기가 상기 디코딩된 레지스터 값을 수신하고, 상기 클락 카운터로부터 출력되는 클락 카운트 결과를 수신하여 서로 비교하고, 비교 결과에 기초하여 상기 스테이트 머신의 현재 스테이트를 다음 스테이트로 변경하기 위한 스테이트 플래그 비트를 출력하는 단계를 구비한다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재번호를 나타낸다.
도 1은 본 발명의 실시예에 따른 반도체 집적 회로 장치의 블락도를 나타낸다. 도 1을 참조하면, 상기 반도체 집적 회로 장치(100)는 CPU(110), 제1버스(120), 제2버스(130), 클락 모니터(140), 브릿지 회로(150), 및 주변회로 장치들(160)을 구비한다.
상기 CPU(110)는 제1 클락 신호에 응답하여 상기 반도체 집적 회로 장치(100)를 제어하기 위한 다수의 제어신호들을 출력한다. 상기 다수의 제어신호들은 상기 주변회로 장치들을 제어하기 위한 제1 제어신호들을 포함한다.
상기 제1버스(120)는 상기 CPU(110)로부터 출력되는 다수의 제어신호들을 상기 제1버스(120)에 접속된 장치(예컨데, 메모리 블락(170) 및 인터럽트 컨트롤러(180)) 또는 상기 브릿지 회로(150)로 출력한다.
상기 제2버스(130)는 상기 브릿지 회로(150)를 통하여 수신되는 상기 주변회로 장치들(160)을 제어하기 위한 제어신호들을 각각의 상응하는 주변회로 장치들(160)로 전송하거나, 상기 주변회로 장치들(160)로부터 출력되는 데이터를 상기 브릿지 회로(150)로 출력한다.
상기 제1버스(120)는 AHB(Advanced High-performance Bus)버스 또는 ASB(Advanced System Bus)로 구현될 수 있다. 상기 제2버스(130)는 APB(Advanced Peripheral Bus)로 구현될 수 있다. 상기 제1버스(120)는 상기 제2버스(130)보다 상대적으로 빠른 동작 속도를 가진다.
상기 클락 모니터(140)는 상기 CPU(110)로부터 출력된 클락 제어신호에 기초하여 제1 클락 신호(HCLK) 및 상기 제1 클락 신호를 소정의 분주비로 분주한 제2 클락 신호를 상기 브릿지 회로(150)로 출력한다.
상기 클락 제어신호는 상기 제1 클락 신호 대비 상기 제2클락 신호의 분주비를 결정하기 위한 신호이다.
또한, 상기 클락 모니터(140)는 상기 제1 클락 신호 대비 상기 제2 클락 신호의 분주비에 상응하는 레지스터 값(CLK_DIV)을 발생하여 상기 브릿지 회로(150)로 출력한다.
예컨대, 상기 분주비가 2분주, 4분주, 8분주, 또는 16분주 일 경우 상기 클락 모니터(140)는 상기 분주비에 상응하여 각각 '00', '01', '10', '11'의 레지스터 값(CLK_DIV)을 발생하여 출력한다.
상기 클락 모니터(140)는 상기 제1버스(120) 및 상기 제2버스(130) 중 어느 하나에 접속하여 구현할 수 있다.
상기 브릿지 회로(150)는 상기 제1버스(120)와 상기 제2버스(130) 사이에 구비되고, 상기 제1버스(120)를 통하여 수신된 제1 제어신호들을 상기 클락 모니터(140)로부터 출력되는 레지스터 값(CLK_DIV)에 기초하여 제2 제어신호들을 발생 하여 상기 주변회로 장치들(160) 중 어느 하나로 출력한다.
상기 제1 제어신호들은 상대적으로 상기 제2 제어신호들보다 빠른 동작 주파수를 가지는 제어신호이다.
상기 제2 제어신호들은 주변장치들 중 어느 하나를 선택하기 위한 주변장치 선택신호(PSEL), 주변 장치들의 입출력을 제어하는 스트로브 신호(PENABLE), 선택된 주변장치 내에서 데이터 저장과 관련된 레지스터의 위치를 나타내는 어드레스 신호(PADDR), 및 주변회로 리드/라이트 제어신호(PWRITE)를 포함한다.
상기 주변회로 장치들(160)은 상기 제2버스(130)에 접속되고, 상기 제2 제어신호들에 응답하여 동작한다. 상기 주변 회로 장치들(160)은 UART(Universal Asynchronous Receiver/Transmitter), 타이머(Timer), 및 ADC(Analog-to-Digital Converter)등으로 구성될 수 있다.
도 2는 도 1에 도시된 본 발명의 실시예에 따른 브릿지 회로의 블락도를 나타낸다. 도 1과 도 2를 참조하면, 상기 브릿지 회로(150)는 제1 인터페이스 블락(151), 제2 인터페이스 블락(152), 클락 검출 블락(153), 및 스테이트 머신(154)을 구비한다.
상기 제1 인터페이스 블락(151)은 상기 브릿지 회로(150)가 동작 준비 상태임을 나타내는 신호(HREADY)를 CPU(110)로 출력하고, 상기 제1버스(120)와 인터페이스하여 수신되는 제1 제어신호들(HCLK, HADDR, HWRITE, 및 HSEL)을 상기 스테이트 머신(154)으로 출력한다. 또한 상기 제1인터페이스 블락(151)은 주변 회로들(160)에 라이트할 데이터(HWDATA)를 상기 스테이트 머신(154)으로 출력하고, 상 기 주변 회로들(160)로부터 리드된 데이터(HRDATA)를 상기 CPU(110)로 출력한다.
상기 제2 인터페이스 블락(152)은 상기 제2버스(130)와 인터페이스하여 상기 스테이트 머신(154)으로부터 출력되는 스테이트 제어신호에 기초하여 제2 제어신호들(예컨데, PADDR, PSEL, PENABLE, 및 PWRITE) 및 데이터(PWDATA)를 선택된 주변 회로 장치로 출력하고, 주변회로 리드/라이트 제어신호(PWRITE)의 제1레벨(예컨데, '0')에 응답하여 상기 주변회로들(160)로부터 출력되는 리드 데이터(PRDATA)를 수신한다.
상기 브릿지 회로(150)는 주변회로 리드/라이트 제어신호(PWRITE)의 제1레벨(예컨데, '0')에 응답하여 리드 동작을 수행하고, 상기 주변회로 리드/라이트 제어신호(PWRITE)의 제2레벨(예컨데, '1')에 응답하여 라이트 동작을 수행한다.
상기 클락 검출 블락(153)은 클락 모니터(140)로부터 출력되는 분주된 클락 신호인 제2 클락 신호(PCLK)에 상응하는 레지스터 값(CLK_DIV)을 수신하여 디코딩하고, 상기 디코딩된 레지스터 값(CLK_DIV_VALUE)에 기초하여 스테이트 플래그 비트(STATE_FLAG)를 발생하여 출력한다.
상기 스테이트 머신(154)은 상기 제1인터페이스 블락(151)을 통하여 수신되는 제1 제어신호들(예컨데, HCLK, HADDR, HWRITE, 및 HSEL)와 상기 스테이트 플래그 비트(STATE_FLAG)에 기초하여 상기 레지스터 값(CLK_DIV)에 상응하는 동작 주파수를 가지는 제2 제어신호들(예컨데, PADDR, PSEL, 및 PENABLE)을 발생하여 출력한다.
상기 스테이트 머신(154)은 상기 제1인터페이스(151)를 통하여 수신되는 상 기 제1 제어신호들과 상기 스테이트 플래그 비트(STATE_FLAG)에 기초하여 선택된 스테이트 프로세스 단계를 수행하는 클락 동기 스테이트 머신(155)을 구비한다.
도 3은 도 2에 도시된 클락 검출 블락의 상세 블락도를 나타낸다. 상기 클락 검출 블락(155)은 클락 디코더 블락(10), 클락 카운터 블락(11), 및 클락 비교 블락(12)을 구비한다.
상기 클락 디코더 블락(10)은 상기 클락 모니터(140)로부터 출력되는 레지스터 값(CLK_DIV)을 디코딩하여 해석하고 해석된 정보, 즉 디코딩된 레지스터 값(CLK_DIV_VALUE)을 출력한다.
상기 레지스터 값(CLK_DIV)은 제1 클락 신호(HCLK) 대비 제2클락 신호(PCLK)의 분주비에 상응하는 값이다.
예를 들어 설명하면, 상기 클락 모니터(150)가 2비트의 정보로 상기 분주된 클락 신호를 표현한다고 가정하면, 상기 레지스터 값(CLK_DIV)이 '00', '01', '10', '11'일 경우 디코딩된 레지스터 값(CLK_DIV_VALUE) 각각은 '2', '4', '8', '16'이고, 이는 제1 클락 신호(HCLK)에 대비하여 2분주, 4분주, 8분주, 또는 16분주된 클락 신호임을 나타낸다.
상기 디코딩된 레지스터 값(CLK_DIV_VALUE)에 상응하는 분주율은 사용자에 선택에 의하여 선택적으로 변경될 수 있다.
상기 클락 카운터 블락(11)은 상기 디코딩된 레지스터 값(CLK_DIV_VALUE)을 수신하고, 상기 제1 클락 신호(HCLK)를 카운트하여 상기 디코딩된 레지스터 값(CLK_DIV_VALUE)과 상기 제1 클락 신호(HCLK)를 카운트한 값(CLK_COUNT_VALUE)이 일치할 경우 지시 플래그 비트(FINISH_FLAG)를 출력한다.
또한, 상기 클락 카운터 블락(11)은 상기 제1 클락 신호(HCLK)를 카운트한 값(CLK_COUNT_VALUE)을 클락 비교 블락(12)으로 출력한다.
상기 지시 플래그 비트(FINISH_FLAG)는 상기 클락 카운터 블락(11)을 리셋시켜 처음부터 다시 카운트하기 위한 플래그 비트이다.
상기 클락 비교 블락(12)은 상기 디코딩된 레지스터 값(CLK_DIV_VALUE)을 수신하고, 상기 클락 카운터 블락(11)으로부터 출력되는 제1 클락 신호(HCLK)를 카운트 한 값(CLK_COUNT_VALUE)을 수신하여 서로 비교하고, 비교 결과에 기초하여 스테이트 플래그 비트(STATE_FLAG)를 출력한다.
상기 스테이트 플래그 비트(STATE_FLAG)는 상기 스테이트 머신(154)의 스테이트를 변경하기 위한 플래그 비트이다.
도 4는 도 2에 도시된 클락 동기 스테이트 머신의 프로세스를 나타내는 다이어 그램이다. 1 내지 도 4를 참조하면, 상기 클락 동기 스테이트 머신(155)은 다수의 단계로 구성된 스테이트 프로세스를 수행한다.
상기 스테이트 프로세스는 IDLE(0), READ(1), READ_EN(4), W_WAIT0(5), W_WAIT1(7), WRITE(A), 및 WRITE_EN(E) 스테이트로 구성된다.
상기 IDLE(0) 스테이트는 초기 상태를 나타낸다. READ(1) 스테이트는 리드 준비 상태를 나타낸다. READ_EN(4) 스테이트는 리드 인에이블 상태를 나타낸다. W_WAIT0(5)와 W_WAIT1(7) 스테이트는 안정적으로 라이트 하기 위하여 라이트 데이타의 동기를 맞추기 위한 대기 상태를 나타낸다. WRITE(A) 스테이트는 라이트 준비 상태를 나타낸다. WRITE_EN(E) 스테이트는 라이트 인에이블 상태를 나타낸다.
상기 스테이트 프로세스의 동작을 설명하면, IDLE(0) 스테이트는 밸리드(Valid)한 값과 리드/라이트 제어신호(HWRITE)의 소정의 레벨에 기초하여 상기 READ(1) 스테이트 또는 상기 W_WAIT(5) 스테이트로 천이한다.
상기 리드/라이트 제어신호(HWRITE)는 브릿지 회로(150)의 동작 모드를 결정하기 위하여 상기 CPU(110)로부터 출력되는 신호이다.
도 4에 도시된 표기 중에서 '&&'는 'AND'를 의미한다. 즉, 스테이트 천이를 위해 둘 이상의 조건이 동시에 충족되어야 함을 나타내기 위한 표기법이고, '!'는 입력된 제어신호가 거짓임을 나타낸다. 거짓(FALSE)은 제1레벨(예컨대, '0')로, 참(TRUE)은 제2레벨(예컨대, '1')로 정해질 수 있다.
예컨데, 'Valid && !HWRITE'는 밸리드 값의 제2레벨(예컨데, '1')과 HWRITE 신호의 제1레벨(예컨데, '0')일 경우 다음 상태로 천이됨을 의미한다.
상기 밸리드(Valid) 값 '1'은 주변 회로 블락들로 리드/라이트 할 데이터가 있음을 나타내고, 상기 밸리드(Valid) 값 '0'은 상기 주변 회로 블락들로 더이상 리드/라이트 할 데이타가 없음을 나타내는 신호이다.
상기 밸리드(Valid) 값은 상기 브릿지 회로(150)로 수신되는 다수의 제어신호들(예컨데, HSEL, HREADY, 및 HTRANS)의 논리 조합에 기초하여 발생된다.
즉, IDLE(0) 스테이트에서 상기 리드/라이트 제어신호(HWRITE)가 제1레벨(예컨데, '0', !HWRITE)일 경우 READ(1) 스테이트로 천이하고 상기 리드/라이트 제어신호(HWRITE)가 제2레벨(예컨데, '1')일 경우 W_WAIT0(5)로 천이한다.
상기 리드/라이트 제어신호(HWRITE)의 제1레벨(예컨데, '0')은 리드 동작을 수행하는 제어신호로 사용되고, 상기 리드/라이트 제어신호(HWRITE)의 제2레벨(예컨데, '1')은 라이트 동작을 수행하는 제어신호로 사용된다.
상기 READ(1) 스테이트는 상기 스테이트 플래그 비트(STATE_FLAG)가 발생하면 상기 READ_EN(4) 스테이트로 천이한다.
상기 READ_EN(4) 스테이트는 밸리드(Valid) 값 '0'에 응답하여 IDLE(0) 스테이트로 천이하고, 밸리드(Valid) 값이 '1', 리드/라이트 제어신호(HWRITE) '0', 및 스테이트 플래그 비트(STATE_FLAG)에 응답하여 READ(1)로 천이하고, 밸리드(Valid) 값이 '1', 리드/라이트 제어신호(HWRITE) '1', 및 스테이트 플래그 비트(STATE_FLAG)에 응답하여 W_WAIT0(5) 스테이트로 천이한다.
상기 W_WAIT0(5) 스테이트는 스테이트 플래그 비트(STATE_FLAG)에 응답하여 상기 WRITE(A) 스테이트로 천이하고, 스테이트 플래그 비트(STATE_FLAG)가 발생하지 않고 소정의 시간(예컨대, 제1 클락 신호(HCLK)의 1주기의 시간)이 경과하면 자동으로 W_WAIT1(7) 스테이트로 천이한다.
상기 W_WAIT0(5) 스테이트는 높은 주파수를 가지는 제1 클락 신호(HCLK)에 기초하여 상기 브릿지 회로로 입력되는 데이터를 수신하기 위한 대기 시간을 가지는 스테이트이다.
상기 W_WAIT1(7) 스테이트는 스테이트 플래그 비트(STATE_FLAG)에 응답하여 상기 WRITE(A) 스테이트로 천이한다. 상기 W_WAIT1(7) 스테이트는 상기 브릿지 회로의 제어신호들의 타이밍(또는, 싱크)이 맞을 때까지 대기하는 스테이트이다.
즉, 상기 W_WAIT1(7) 스테이트는 상기 브릿지 회로(150)에 접속된 주변회로장치들(160)이 상기 제어신호들의 타이밍(또는, 싱크)이 일치하지 않은 시점에서 동작하게 되면 오동작을 하기 때문에, 상기 W_WAIT1(7) 스테이트에서 상기 제어신호들의 타이밍(또는, 싱크)이 일치되어 스테이트 플래그 비트(STATE_FLAG)가 발생할 때까지 대기 상태를 유지시키기 위한 스테이트이다.
상기 WRITE(A) 스테이트는 스테이트 플래그 비트(STATE_FLAG)에 응답하여 상기 WRITE_EN(E) 스테이트로 천이한다.
상기 WRITE_EN(E) 스테이트는 밸리드(Valid) 값 '0'에 응답하여 IDLE(0) 스테이트로 천이하고, 밸리드(Valid) 값 '1', 리드/라이트 제어신호(HWRITE) '1', 및 스테이트 플래그 비트(STATE_FLAG)에 응답하여 상기 W_WAIT0(5)로 천이하고, 밸리드(Valid) 값 '1', 리드/라이트 제어신호(HWRITE) '0', 및 스테이트 플래그 비트(STATE_FLAG)가 발생하면 상기 READ(1) 스테이트로 천이한다.
도 5는 본 발명의 실시예에 따른 반도체 집적 회로 장치의 4분주 시 라이트 동작 시뮬레이션 결과를 나타내는 타이밍도이다. 도 5의 시뮬레이션 결과를 간략히 설명하면, 상기 브릿지 회로는 CPU로부터 출력되는 어드레스 신호(HADDR 'FF038020')와 라이트 데이터(HWDATA, '000000AA')를 수신한다.
상기 브릿지 회로는 수신된 상기 라이트 데이터('000000AA'를 주변 회로들 중 어느 하나를 선택하기 위한 주변 회로 선택신호(PSEL)가 인에이블 되고, 수신된 주변회로 리드/라이트 제어신호(PWRITE)의 제2레벨(예컨대, '1')에 응답하여 선택된 상기 주변 회로 장치로 상기 어드레스 신호('FF038020')와 라이트 데이 터('000000AA')를 출력하게 된다.
이때, 상기 브릿지 회로는 WRITE(A) 스테이트이므로 라이트 할 준비를 하고, 스테이트 플래그 비트(STATE_FLAG)가 발생하면 상기 스테이트 플래그 비트(STATE_FLAG)에 응답하여 WRITE_EN(E) 스테이트로 천이하게 되면서 라이트 동작을 수행하게 된다.
도 6은 본 발명의 실시예에 따른 반도체 집적 회로 장치의 리드 동작 시 시뮬레이션 결과를 나타내는 타이밍도이다. 설명의 용이함을 위하여 도 5에서 라이트한 데이터를 리드한 시뮬레이션 결과이다.
도 6의 시뮬레이션 결과를 간략히 설명하면, 상기 브릿지 회로는 CPU로부터 출력되는 리드할 어드레스 신호(HADDR, 'FF038020')를 수신하고, 수신된 어드레스 신호를 주변 회로 선택신호(PSEL)는 인에이블 되고, 주변회로 리드/라이트 제어신호(PWRITE)는 제1레벨 (예컨대, '0')에 응답하여 리드 동작을 시작한다.
이때, 상기 상기 브리지 회로는 READ(1) 스테이트이므로 리드할 준비를 하고, 스테이트 플래그가 비트가 발생하면 상기 플래그 비트에 응답하여 READ_EN(4) 스테이트로 천이한다.
그런데, 상기 READ_EN(4) 스테이트 동안 스트로브 신호(PENABLE)가 인에이블 되면 상기 주변회로 장치는 상기 수신된 어드레스 신호에 대응하는 지정된 어드레스에 저장되어 있던 데이터('000000AA')를 상기 CPU로 출력한다.
도 5와 도 6의 시뮬레이션 결과에 나타난 바와 같이, 도 4에 도시된 스테이트 프로세스에 따라서 리드 또는 라이트 동작이 정확하고 원활하게 동작됨을 알 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이 본 발명에 따른 반도체 장치의 집적 회로 장치는 주변 버스에 접속되는 다수의 주변 회로 장치들을 제어하기 위한 다수의 제어신호들을 일원화 할 수 있고, 상기 주변 회로 장치들의 재사용율(Reusability)를 증대 시킬 수 있는 효과가 있다.

Claims (18)

  1. 제1버스와 인터페이스 하기 위한 제1 인터페이스 블락;
    제2버스와 인터페이스 하기 위한 제2 인터페이스 블락;
    분주된 클락 신호에 상응하는 레지스터 값을 수신하여 디코딩하고, 상기 디코딩된 레지스터 값에 기초하여 스테이트 제어신호를 발생하는 클락 검출블락; 및
    상기 제1 인터페이스 블락을 통하여 수신되는 제1 제어신호들을 수신하고 상기 스테이트 제어신호에 기초하여 상기 레지스터 값에 상응하는 클락 주파수를 가지는 제2 제어신호들을 발생하여 출력하는 스테이트 머신를 구비하는 브릿지 회로.
  2. 제1항에 있어서,
    상기 클락 검출 블락은,
    상기 분주된 클락 신호에 상응하는 레지스터 값을 디코딩하여 출력하는 클락 디코더 블락;
    상기 디코딩된 레지스터 값을 수신하고, 메인 클락 신호를 카운트하여 상기 디코딩된 레지스터 값과 상기 메인 클락 신호를 카운트한 값이 일치할 경우 지시 플래그 비트를 출력하는 클락 카운터; 및
    상기 디코딩된 레지스터 값을 수신하고, 상기 클락 카운터로부터 출력되는 카운트 결과를 수신하여 서로 비교하고, 비교 결과에 기초하여 스테이트 플래그 비트를 출력하는 클락 비교 블락을 구비하는 브릿지 회로.
  3. 제2항에 있어서,
    상기 스테이트 머신은,
    상기 제1 제어신호들 및 상기 클락 검출 블락으로부터 출력되는 상기 스테이트 플래그 비트에 기초하여 선택된 스테이트 프로세스 단계를 수행하는 클락 동기 스테이트 머신를 구비하는 브릿지 회로.
  4. 제2항에 있어서,
    상기 지시 플래그 비트는,
    상기 클락 카운터를 리셋시키기 위한 플래그 비트인 브릿지 회로.
  5. 제1항에 있어서,
    상기 스테이트 플래그 비트는,
    상기 스테이트 머신의 스테이트를 변경하기 위한 플래그 비트인 브릿지 회로.
  6. 제1 클락 신호에 응답하여 제1 제어신호들을 출력하는 CPU;
    상기 CPU에 접속된 제1버스;
    상기 제1 버스에 접속된 브릿지 회로;
    상기 브릿지 회로에 접속된 제2 버스;
    상기 제2 버스에 접속된 주변 회로들; 및
    상기 제1 버스 또는 상기 제2 버스 중 어느 하나에 접속되고, 제2 클락 신호에 상응하는 레지스터 값을 상기 브릿지 회로로 출력하는 클락 모니터를 구비하며,
    상기 브릿지 회로는,
    상기 제1 제어신호들을 수신하고 상기 레지스터 값에 기초하여 제2 제어신호들을 발생하여 상기 제2 버스를 통하여 상기 주변 회로들 중 어느 하나로 출력하는 반도체 집적 회로 장치.
  7. 제6항에 있어서,
    상기 브릿지 회로는,
    상기 제1 버스와 인터페이스 하기 위한 제1 인터페이스 블락;
    상기 제2 버스와 인터페이스 하기 위한 제2 인터페이스 블락;
    상기 제2 클락 신호에 상응하는 레지스터 값을 수신하여 디코딩하고, 상기 디코딩된 레지스터 값에 기초하여 발생한 스테이트 제어신호들을 출력하는 클락 검출 블락; 및
    상기 제1 제어신호들을 수신하고 상기 스테이트 제어신호들에 기초하여 발생한 상기 제2 제어신호들을 출력하는 스테이트 머신를 구비하는 반도제 집적 회로 장치.
  8. 제7항에 있어서,
    상기 클락 검출 블락은,
    제2 클락 신호에 상응하는 레지스터 값을 디코딩하여 출력하는 클락 디코더 블락;
    상기 디코딩된 레지스터 값을 수신하고, 제1 클락 신호를 카운트하여 상기 디코딩된 레지스터 값과 상기 제1 클락 신호를 카운트한 값이 일치할 경우 지시 플래그 비트를 출력하는 클락 카운터; 및
    상기 디코딩된 레지스터 값을 수신하고, 상기 클락 카운터로부터 출력되는 클락 카운트 결과를 수신하여 서로 비교하고, 비교 결과에 기초하여 스테이트 플래그 비트를 출력하는 클락 비교 블락을 구비하는 반도제 집적 회로 장치.
  9. 제6항에 있어서,
    상기 레지스터 값은 상기 제1 클락 신호 대비 상기 제2 클락 신호의 분주율을 나타내는 반도체 집적 회로 장치.
  10. 제9항에 있어서,
    상기 지시 플래그 비트는,
    상기 클락 카운터를 리셋시키기 위한 플래그 비트인 반도체 집적 회로 장치.
  11. 제9항에 있어서,
    상기 스테이트 플래그 비트는,
    상기 스테이트 머신의 스테이트를 변경하기 위한 플래그 비트인 반도체 집적 회로 장치.
  12. 제8항에 있어서,
    상기 스테이트 머신는,
    상기 제1 제어신호들과 상기 클락 검출 블락으로부터 출력되는 상기 스테이트 플래그 비트에 기초하여 선택된 스테이트 프로세스 단계를 수행하는 클락 동기 스테이트 머신를 구비하는 반도제 집적 회로 장치.
  13. 제8항에 있어서,
    상기 제2 클락 신호는 상기 제1 클락 신호를 N분주한 클락 신호인 반도체 집적 회로 장치.
  14. 제8항에 있어서,
    상기 제2 제어신호들은 상기 주변 회로들을 제어하기 위한 신호인 반도체 집적 회로 장치.
  15. 제8항에 있어서,
    상기 반도체 집적 회로 장치는,
    상기 CPU의 처리 속도를 향상시키기 위한 일련의 시퀀스를 수행하기 위한 프 로그램을 저장하는 메모리 블락 및 인터럽트 제어기를 더 구비하는 반도체 집적 회로 장치.
  16. CPU가 제1 클락 신호에 응답하여 제1 제어신호들을 출력하는 단계;
    클락 모니터가 제2 클락 신호에 상응하는 레지스터 값을 출력하는 단계; 및
    브릿지 회로가 상기 제1 제어신호들을 수신하고 상기 레지스터 값에 상응하는 제2 제어신호들을 출력하는 단계를 구비하는 반도체 집적 회로 장치의 동작 방법.
  17. 제16항에 있어서,
    상기 제2 제어신호들을 출력하는 단계는,
    클락 검출 블락이 상기 제2 클락 신호에 상응하는 상기 레지스터 값을 수신하여 디코딩하고, 상기 디코딩된 레지스터 값에 기초하여 발생한 스테이트 제어신호들을 출력하는 단계; 및
    상기 제1 제어신호들을 수신하고 상기 스테이트 제어신호들에 기초하여 발생한 상기 제2 제어신호들을 출력하는 스테이트 머신를 구비하는 반도제 집적 회로 장치의 동작 방법.
  18. 제17항에 있어서,
    상기 스테이트 제어신호들을 출력하는 단계는,
    클락 디코더가 제2 클락 신호에 상응하는 레지스터 값을 디코딩하여 출력하는 단계;
    클락 카운터가 상기 디코딩된 레지스터 값을 수신하고, 상기 제1 클락 신호를 카운트하여 상기 디코딩된 레지스터 값과 상기 제1 클락 신호를 카운트한 값이 일치할 경우 지시 플래그 비트를 출력하는 단계; 및
    클락 비교기가 상기 디코딩된 레지스터 값을 수신하고, 상기 클락 카운터로부터 출력되는 클락 카운트 결과를 수신하여 서로 비교하고, 비교 결과에 기초하여 상기 스테이트 머신의 현재 스테이트를 다음 스테이트로 변경하기 위한 스테이트 플래그 비트를 출력하는 단계를 구비하는 반도제 집적 회로 장치의 동작 방법.
KR1020070012158A 2007-02-06 2007-02-06 반도체 집적 회로 장치 및 그 동작 방법 KR100826496B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070012158A KR100826496B1 (ko) 2007-02-06 2007-02-06 반도체 집적 회로 장치 및 그 동작 방법
US11/941,169 US7953999B2 (en) 2007-02-06 2007-11-16 Semiconductor integrated circuit device and method of operating the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070012158A KR100826496B1 (ko) 2007-02-06 2007-02-06 반도체 집적 회로 장치 및 그 동작 방법

Publications (1)

Publication Number Publication Date
KR100826496B1 true KR100826496B1 (ko) 2008-05-02

Family

ID=39649405

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070012158A KR100826496B1 (ko) 2007-02-06 2007-02-06 반도체 집적 회로 장치 및 그 동작 방법

Country Status (2)

Country Link
US (1) US7953999B2 (ko)
KR (1) KR100826496B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100005214A1 (en) * 2008-07-01 2010-01-07 International Business Machines Corporation Enhancing bus efficiency in a memory system
JP5102789B2 (ja) * 2009-01-16 2012-12-19 ルネサスエレクトロニクス株式会社 半導体装置及びデータプロセッサ
US8504756B2 (en) 2011-05-30 2013-08-06 Lsi Corporation System, circuit and method for improving system-on-chip bandwidth performance for high latency peripheral read accesses
CN107168895B (zh) * 2016-03-07 2020-03-13 龙芯中科技术有限公司 控制外部设备的方法、桥片及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08234864A (ja) * 1994-11-22 1996-09-13 Hitachi Ltd 半導体集積回路
US6112307A (en) 1993-12-30 2000-08-29 Intel Corporation Method and apparatus for translating signals between clock domains of different frequencies
JP2002082904A (ja) 2000-09-08 2002-03-22 Hitachi Ltd 半導体集積回路装置
JP2003228549A (ja) * 2002-02-05 2003-08-15 Oki Electric Ind Co Ltd バスブリッジ回路のアクセス制御方法及び装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5434996A (en) * 1993-12-28 1995-07-18 Intel Corporation Synchronous/asynchronous clock net with autosense
US6064626A (en) * 1998-07-31 2000-05-16 Arm Limited Peripheral buses for integrated circuit
US6654833B1 (en) * 1999-07-29 2003-11-25 Micron Technology, Inc. Bus arbitration
US6633994B1 (en) * 2000-02-22 2003-10-14 International Business Machines Corporation Method and system for optimizing data transfers between devices interconnected by buses operating at different clocking speeds
JP2002014914A (ja) 2000-06-29 2002-01-18 Toshiba Corp 機能ブロック
US6633944B1 (en) * 2001-10-31 2003-10-14 Lsi Logic Corporation AHB segmentation bridge between busses having different native data widths
KR101086401B1 (ko) * 2004-06-02 2011-11-25 삼성전자주식회사 서로 다른 속도로 동작하는 버스들을 인터페이싱하는 방법및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6112307A (en) 1993-12-30 2000-08-29 Intel Corporation Method and apparatus for translating signals between clock domains of different frequencies
JPH08234864A (ja) * 1994-11-22 1996-09-13 Hitachi Ltd 半導体集積回路
JP2002082904A (ja) 2000-09-08 2002-03-22 Hitachi Ltd 半導体集積回路装置
JP2003228549A (ja) * 2002-02-05 2003-08-15 Oki Electric Ind Co Ltd バスブリッジ回路のアクセス制御方法及び装置

Also Published As

Publication number Publication date
US20080189453A1 (en) 2008-08-07
US7953999B2 (en) 2011-05-31

Similar Documents

Publication Publication Date Title
JP3233817B2 (ja) 先入れ先出し方式(fifo)メモリ装置における予測ステータスフラグ生成方法およびその装置
US6823224B2 (en) Data processing system having an on-chip background debug system and method therefor
US10275386B2 (en) Memory physical layer interface logic for generating dynamic random access memory (DRAM) commands with programmable delays
US7269754B2 (en) Method and apparatus for flexible and programmable clock crossing control with dynamic compensation
US9740454B2 (en) Crossing pipelined data between circuitry in different clock domains
JPH07306827A (ja) P/q整数比関係を有する周波数で動作するディジタル装置間で同期データ伝送を行うための方法および装置
US6633994B1 (en) Method and system for optimizing data transfers between devices interconnected by buses operating at different clocking speeds
JP2009163758A (ja) クロックの異なるバス間におけるデータ転送
KR100826496B1 (ko) 반도체 집적 회로 장치 및 그 동작 방법
JP7299890B2 (ja) ポインタオフセットを用いた非同期バッファ
US7779174B2 (en) Method and apparatus for dynamically changing burst length using direct memory access control
CN101183347A (zh) 一种自适应速率匹配总线的桥接电路
US8284879B2 (en) Lossless transfer of events across clock domains
CN114257234A (zh) 非整数除频器以及快闪存储器控制器
US20020004861A1 (en) DMA controller in which bus access ratio can be set
WO2012117530A1 (ja) 信号遅延装置、信号遅延装置の制御方法
JP3701100B2 (ja) クロック生成回路及びクロック生成方法
KR20120032104A (ko) 언더-런 보상 회로, 언더-런 보상 방법, 및 상기 언더-런 보상회로를 포함하는 장치들
JP2005250683A (ja) マイクロコンピュータ
JP4840963B2 (ja) バスシステム及びその制御方法
JPS61165159A (ja) 遷移状態チエツク回路
KR102032330B1 (ko) 반도체 장치 및 그의 글로벌 동기형 동적 전압 주파수 스케일링 방법
JP2006164119A (ja) データ処理装置
JP2008171221A (ja) 半導体装置及び内部バス情報の取得方法
JP2006154897A (ja) Dramコントローラ

Legal Events

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

Payment date: 20190329

Year of fee payment: 12