KR100579419B1 - Ddr sdram 데이터 전송을 위한 amba인터페이스 장치 - Google Patents

Ddr sdram 데이터 전송을 위한 amba인터페이스 장치 Download PDF

Info

Publication number
KR100579419B1
KR100579419B1 KR1020040004631A KR20040004631A KR100579419B1 KR 100579419 B1 KR100579419 B1 KR 100579419B1 KR 1020040004631 A KR1020040004631 A KR 1020040004631A KR 20040004631 A KR20040004631 A KR 20040004631A KR 100579419 B1 KR100579419 B1 KR 100579419B1
Authority
KR
South Korea
Prior art keywords
clock
bus
data
dma
interface
Prior art date
Application number
KR1020040004631A
Other languages
English (en)
Other versions
KR20050077065A (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 KR1020040004631A priority Critical patent/KR100579419B1/ko
Publication of KR20050077065A publication Critical patent/KR20050077065A/ko
Application granted granted Critical
Publication of KR100579419B1 publication Critical patent/KR100579419B1/ko

Links

Images

Classifications

    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05BLOCKS; ACCESSORIES THEREFOR; HANDCUFFS
    • E05B3/00Fastening knobs or handles to lock or latch parts
    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05BLOCKS; ACCESSORIES THEREFOR; HANDCUFFS
    • E05B15/00Other details of locks; Parts for engagement by bolts of fastening devices
    • E05B15/16Use of special materials for parts of locks
    • E05B15/1635Use of special materials for parts of locks of plastics materials
    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05BLOCKS; ACCESSORIES THEREFOR; HANDCUFFS
    • E05B9/00Lock casings or latch-mechanism casings ; Fastening locks or fasteners or parts thereof to the wing
    • E05B9/08Fastening locks or fasteners or parts thereof, e.g. the casings of latch-bolt locks or cylinder locks to the wing

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Dram (AREA)
  • Bus Control (AREA)

Abstract

본 발명은 DDR SDRAM 데이터 전송을 위한 AMBA 인터페이스 장치에 관한 것으로서, 특히 DDR SDRAM에서 요구되는 주파수의 2배수를 사용하지 않고 외부 클럭과 내부 클럭을 동일하게 함으로써 소비 전력의 사용을 최소화할 수 있는 기술에 관한 것이다.
본 발명은 DDR SDRAM 데이터 전송을 위한 AMBA 인터페이스 장치에 있어서, 시스템 클럭 에지 기준에 따라 버스 클럭 인터페이스를 분리하여 외부 클럭과 내부 클럭에 동일 주파수를 제공하는 시스템 버스 클럭부와; 상기 시스템 버스 클럭부에 의해 분리되어 라이징 에지(Rising Edge) 영역에서 데이터 입출력 동작을 수행하는 제 1버스 클럭 인터페이스부; 및 상기 시스템 버스 클럭부의 위상차를 이용하여 폴링 에지(Falling Edge) 영역에서 라이징 에징에 대한 데이터 입출력 동작을 수행하는 제 2버스 클럭 인터페이스부를 포함하는 AMBA 인터페이스 장치를 제시한다.
따라서, 본 발명은 내부 블록 설계를 좀 더 쉽게 설계할 수 있으며, 클럭 스큐(Clock Skew) 문제 등으로 인한 블록별 설계에 대한 제약을 종래 기술보다 쉽게 접근할 수 있다.
DDR SDRAM, AMBA, AHB, 인터페이스, 클럭 에지(Edge)

Description

DDR SDRAM 데이터 전송을 위한 AMBA 인터페이스 장치{Device of interfacing AMBA for DDR SDRAM}
도 1은 종래의 AHB 인터페이스를 이용한 DDR SDRAM 시스템의 구성도이다.
도 2는 DDR SDRAM의 데이터 래치 타이밍(Timing)을 나타낸 도면이다.
도 3은 본 발명에 따른 DDR SDRAM 데이터 전송을 위한 AMBA 인터페이스 장치의 구성도이다.
도 4는 고성능 ARM 프로세서 버스트 리드(Burst Read) 동작시의 버스클럭 인터페이스AHB#1의 데이터 타이밍을 나탄내 도면이다.
도 5는 DDR 인터페이스를 위한 버스 중재기(Arbiter)의 상세 구성도이다.
도 6은 DDR 인터페이스를 위한 마스터(Master)의 데이터 타이밍을 나타낸 도면이다.
도 7은 마스터(Master) DMA의 AHB 인터페이스 구조를 나타낸 상세도이다.
도 8은 버스 클럭 인터페이스(AHB#1, AHB#2) 및 DMA 인터페이스의 데이터 타이밍도이다.
본 발명은 DDR(Double Data Rate) SDRAM 데이터 전송을 위한 AMBA 인터페이스 장치에 관한 것이다. 보다 상세하게는 DDR SDRAM에서 요구되는 주파수의 2배수를 사용하지 않고 외부 클럭과 내부 클럭을 동일하게 함으로써 소비 전력의 사용을 최소화할 수 있는 기술에 관한 것이다.
최근 범용 프로세서와 비디오 코덱(Video Codec)으로 구성된 시스템을 이용하여 다양한 멀티미디어 어플리케이션(Multimedia Application)에 적용하고 있으며, 다양한 어플리케이션(Application) 적용을 위해 고성능의 프로세서가 요구된다. 그러나 외부 메모리와의 메모리 대역폭(Bandwidth) 문제로 인해 다양한 멀티미디어 어플리케이션 개발에 제한적 요소가 발생하였다. 최근에 SDRAM을 점진적으로 개선한 DDR SDRAM을 이용하여 상기와 같은 문제점을 극복하고 있다.
일반적으로 DDR SDRAM 인터페이스(Interface)를 위한 AMBA 인터페이스를 구성할 때 보통 DDR SDRAM이 요구되는 클럭 주파수에 2배수 클럭을 사용하여 동작을 수행하고 있다.
또한, 다양한 멀티미디어 어플리케이션 적용 시 외부 메모리와의 많은 양의 데이터 입출력이 요구된다. 종래에는 SDRAM을 이용하여 시스템을 구성하였으나, 메모리 대역폭 문제가 점차 커짐에 따라 많은 양의 데이터를 고속에서 처리할 수 있는 DDR SDRAM을 이용하는 추세이다. DDR SDRAM은 Direct Rambus DRAM이나 Sync Link DRAM과는 달리 SDRAM을 점진적 개선을 통해 고속 DRAM을 개발함으로서 현실적으로 급속하게 확산되어지고 있다.
도 1은 종래 기술로서 AMBA(Advanced Microcontroller Bus Architecture) 인 터페이스 중에 AHB(Advanded High-performance Bus) 인터페이스를 이용한 DDR SDRAM 시스템의 구성도이다.
도 1을 살펴보면, AHB 인터페이스를 통해 고성능 ARM 프로세서(High Performance ARM Process)(10)와 DMA 버스 마스터(Bus Master)(20), 버스중재기(Arbiter)(30)와 디코더(Decoder)(40), DDR 메모리 콘트롤러(Memory Controller)(50)와 브리지(Bridge)(60) 및 DDR SDRAM(70)으로 구성되어 있다.
현재 고성능 ARM 프로세서(10)를 이용한 시스템에서 AHB 인터페이스를 통해 시스템을 구성하고 있다. AHB 인터페이스의 가장 큰 특징은 단일 클럭 에지(Single Clock Edge)를 이용하는 것이다. 단일 클럭 에지(Single Clock Edge)를 이용함으로써 고성능 시스템의 모듈(Module) 구성이 용이하다.
DDR SDRAM(70)을 이용하여 시스템을 구성할 때, DDR SDRAM(70)의 데이터 입출력은 인터페이스(Interface) 클럭의 양쪽 에지(Edge)를 모두 사용한다. 즉, 라이징 에지(Rising Edge) 영역과 폴링 에지(Falling Edge) 영역에서 데이터 입출력이 이루어진다.
AMBA AHB Interface를 이용하여 DDR SDRAM을 지원하는 것은 문제가 발생한다. 즉, DDR SDRAM(70)은 라이징 에지(Rising Edge) 영역과 폴링 에지(Falling Edge) 영역에서 데이터 입출력이 이루어지고, 내부 AMBA AHB Interface는 라이징 에지(Rising Edge) 영역만을 이용하여 데이터의 읽고 쓰기를 수행하기 때문이다. 이와 같은 문제를 해결하기 위해서 DDR SDRAM Interface 클럭 대비 내부 AMBA AHB 클럭을 2배수화 하여 AMBA AHB Interface를 수행하고 있다.
도 2는 DDR SDRAM Interface시 데이터 입출력의 타이밍(Timing)을 나타내고 있다. 임의의 Master(20)에서 데이터를 읽고자 한다. DDR Interface를 지원하기 위한 DDR 메모리 Controller(50)는 DDR SDRAM(70)에 리드(Read) 명령과 읽고자 하는 어드레스(Address)를 전달하고, DDR SDRAM(70)은 데이터를 출력한다. 임의의 Master(20)는 DDR SDRAM(70)에서 출력된 데이터를 DDR SDRAM Clock의 2배수 빠른 Clock의 라이징 에지(Rising Edge)에서 데이터를 저장한다.
도 1과 같은 DDR SDRAM 시스템을 구성할 때 DDR SDRAM이 133MHz로 동작한다면, 내부 AMBA AHB Interface 클럭은 266MHz로 동작을 수행하여야 한다. 현재 AHB Interface의 특성상 여러 단의 멀티플렉서(Multiplexor) 구조로 되어있어 많은 데이터 스큐(Skew)가 발생하는 요인이 된다. 그러므로 내부 버스가 고주파 클럭으로 동작하기 위해서는 기능(Function)의 최적화 및 레이아웃 레벨(Layout Level)에서의 최적화가 필요하다.
또한, 기존의 SDRAM에서 동작하는 DMA(Direct Memory Access), 이더넷 콘트롤러(Ethernet Controller) 등과 같은 기존의 IP인 마스터(Master)들을 266MHz의 동작하기 위해 설계 변경 및 검증이 필요하다.
따라서, 본 발명은 상기한 문제점을 해결하기 위한 것으로서 본 발명은 DDR SDRAM에서 요구되는 주파수의 2배수를 사용하지 않고 외부 클럭과 내부 클럭을 동일하게 사용함으로써 2배수에 따른 내부 로직(Logic) 설계의 문제점 및 주파수 지연(Delay) 문제 등을 최소화하는 데 그 목적이 있다.
상기한 본 발명의 목적을 달성하기 위한 기술적 사상으로써 본 발명은
DDR SDRAM 데이터 전송을 위한 AMBA 인터페이스 장치에 있어서,
시스템 클럭 에지 기준에 따라 버스 클럭 인터페이스를 분리하여 외부 클럭과 내부 클럭에 동일 주파수를 제공하는 시스템 버스 클럭부와;
상기 시스템 버스 클럭부에 의해 분리되어 라이징 에지(Rising Edge) 영역에서 데이터 입출력 동작을 수행하는 제 1버스 클럭 인터페이스부; 및
상기 시스템 버스 클럭부의 위상차를 이용하여 폴링 에지(Falling Edge) 영역에서 라이징 에징에 대한 데이터 입출력 동작을 수행하는 제 2버스 클럭 인터페이스부를 포함하는 것을 AMBA 인터페이스 장치를 제공한다.
이하, 본 발명의 실시 예에 대한 구성 및 그 작용을 첨부한 도면을 참조하면서 상세히 설명하기로 한다.
도 3은 본 발명에 따른 DDR SDRAM 데이터 전송을 위한 AMBA 인터페이스 장치의 구성도이다.
본 발명에서는 DDR SDRAM Interface를 위한 시스템을 구성할 때 외부 클럭과 내부 클럭을 동일한 주파수를 사용하고, 클럭의 포지티브 에지(Positive Edge)만을 사용한다. 또한 AMBA AHB Interface를 수행하게끔 하기 위해서 도 3과 같이 AHB Interface를 두 개로 분리하여 구성한다.
먼저, 두 개로 분리된 AHB Interface는 각각을 시스템 클럭 기준으로 보았을때 제 1버스 클럭 인터페이스부(이하; AHB #1)(100)는 라이징 에지(Rising Edge)영역 에서 동작을 수행하게 되며, 제 2버스 클럭 인터페이스부(이하; AHB #2)(200)는 폴링 에지(Falling Edge)영역에서 동작을 수행한다.
또한 각각의 AHB Interface 구성 조건인 라이징 에지(Rising Edge) 영역을 사용하는 조건을 만족시키기 위해 AHB #2(200)에 전달하는 시스템 버스 클럭(System Bus Clock)은 위상차를 180도로 하여 전달한다. AHB #1(100), AHB #2(200) 모두 라이징 에지(Rising Edge)영역에서 데이터 입출력을 수행하는 효과를 얻을 수 있다. 각각의 AHB #1(100), AHB #2(200)에서 구성되는 블록은 다음과 같다.
클럭 매니저(Clock Manager)(310)는 시스템 버스 클럭이 결정되면, 시스템 버스 클럭을 도 3과 같이 AHB #1(100)에 제공한다. 또한 위상차가 180도인 클럭을 생성하여 AHB #2(200)에 제공한다. 결국 시스템 버스 클럭의 라이징 에지(Rising Edge)는 AHB #1(100) Interface의 라이징 에지(Rising Edge)와 동일하고, 폴링 에지(Falling Edge)는 AHB #2(200) Interface의 라이징 에지(Rising Edge)와 동일하다. 결국 AHB Interface(AHB #1, AHB #2) 분리함으로써 AHB Interface의 조건인 클럭(Clock)의 라이징 에지(Rising Edge) 동작을 수행하고, DDR SDRAM(400) 인터페이스(Interface)를 위한 외부 주파수와 시스템 내부 주파수를 동일하게 한다
AHB #1(100)는 일반적인 AHB Interface 동작 구성을 위해 버스의 사용권한 등을 담당하는 버스 중재기(Arbiter#1)(110)와 데이터를 메모리 콘트롤러(Controller)(slave)에 전달하기 위한 Interface 블럭인 디코더(Decoder#1)(120) 등으로 구성한다. 또한 고성능 ARM 프로세서(High Performance ARM Process)(130)는 AHB #1(100)에만 할당하여 동작을 수행한다. 또한 DMA Bus Master(320)의 AHB #1 Interface 부분은 DDR Memory Controller(330)의 라이징 에지(Rising Edge) 데이타를 입출력하기 위해 마스터 라이징 인터페이스(Master Rising Interface) 블록으로 구성한다.
AHB #2(200)는 AHB #1(100)의 제 1버스 중재기(이하; Arbiter#1)(110), 제 1디코더(이하; Decoder#1)(120)와 동일하게 제 2버스 중재기(이하; Arbiter#2)(210)와 제 2디코더(이하; Decoder#2)(220)를 각각 구성하고 있으며, DDR Memory Controller(330)의 폴링 에지 데이터(Falling Edge Data)의 입출력을 위해 마스터 폴링 인터페이스(Master Falling Interface) 블록으로 구성한다.
끝으로, DMA 버스 마스터(Bus Master)(320)의 구성은 AHB #1(100), AHB #2(200) Interface를 동시에 수행할 수 있게 구성한다. DMA Bus Master(320)는 DDR SDRAM(400)과 데이터 입출력을 수행 하기 위해서 Master에 속한 Dedicated DMA는 시스템 클럭의 포지티브 에지(Positvie Edge)에서 동작하는 DMA(POS)와 시스템 클럭의 네가티브 에지(Negative Edge)에서 동작하는 DMA(NEG)로 구성한다.
고성능 ARM 프로세서(130)는 AHB #1(100)의 Master로 구성하여 DDR SDRAM(400)의 시스템을 구성한다. AHB #2(200)의 Master로는 할당하지 않는다. 이때, 고성능 ARM 프로세서(130)가 DDR SDRAM 액세스(Access)시 다음과 같다.
첫번째는 Single Access를 수행 시에는 DDR SDRAM(400)으로부터 한 개의 데이터를 읽고 쓰기를 수행함으로 일반적인 동작과 동일하게 AHB #1(100) Interface만을 이용하여 수행하면 된다. 두번째는 Burst Read, Write 동작을 수행시에는 Genernal DMA를 이용하여 DDR SDRAM 입출력을 수행함으로써 Genernal DMA과 위의 언급된 마스 터(Master) 구조를 가지고 있으므로 정확한 동작을 수행한다.
끝으로 고성능 ARM 프로세서(130)의 캐시(Cache) 동작 시 캐시 미스(Cache Miss)에 따른 DDR SDRAM(400)과의 버스트 리드(Burst Read) 동작이다. 이 동작에서 DDR SDRAM(400)에서는 시스템 클럭의 포지티브 에지(Positive Edge), 네가티브 에지(Negative Edge)에서 모두 데이터가 출력되어 고성능 ARM프로세서(130)에 전달되지만, 고성능 ARM은 AHB#1(100)의 버스만을 이용하기 때문에 오 동작이 일어난다. 이런 오 동작을 피하기 위해 DDR SDRAM 메모리 Controller(330)는 도 4와 같이 데이터를 고성능 ARM 프로세서(130)에 전달하여 정상적인 동작을 수행한다.
결론적으로, 고성능 ARM 프로세서(130)의 캐시 미스(Cache Miss)시 DDR SDRAM(400) Interface를 제외하고는 정상적으로 동작을 수행하고, 캐시 미스(Cache Miss)시의 DDR SDRAM(400) Interface시에는 부과적인 데이터 처리를 DDR SDRAM Controller(330)에서 추가하여 올바른 동작을 수행한다.
고성능 ARM 프로세서(130)가 AHB #1(100)에만 구성되어 있어 AHB #2(200)의 Arbiter#2(210) 동작에 유의해야 한다. 즉 어떤 Master가 요구 시에 고성능 ARM 프로세서(130)가 동작을 수행하고 있다고 가정한다면, AHB #1(100)은 동작을 수행하고 있지만, AHB #2(200)는 동작을 수행하고 있지 않는다. 그러므로 요구하는 Master에 AHB #2(200)가 동작을 하여 전체적으로 오 동작을 수행한다. 결국 AHB #1(100)과 AHB #2(200)의 동기화가 필요하다.
브리지(Bridge)(140) Interface를 APB Bus Interface도 AHB #1(100)에 할당하며, 브리지(Bridge)(140)에 대한 동작은 AMBA Bridge 동작과 동일하며 APB Bus Interface 또한 AMBA APB Bus와 동일하게 동작한다.
도 5는 ARBITER, AHB의 구조를 나타내고 있다. 현재 ARBITER #1(110)과 ARBITER #2(210)는 동일한 구조로 구성되어 있다. 또한 DMA Bus Master(320)로부터 전달되는 버스 승인 요구 시그널(Signal)인 HBUSREQ의 우선 순위도 동일하게 구성한다. 도 6과 같이, AHB #1(100)에 구성하는 ARBITER #1(110)이 버스 요구 시에는 ARBITER #2(200)에서도 동일한 DMA Bus Master(320)도부터 버스 요구가 이루어 진다. 이때 ARBITER #1(110)이 우선 순위가 가장 높은 AHB 버스 요구에 대한 승인 Signal인 HGRANT가 발생하면, AHB #2(200)도 동일한 Master에 HGRANT가 발생한다.
버스 중재기(ARBITER)를 구성할 때 한 가지 주의할 점은 고성능 ARM 프로세서(130)는 AHB #1(100)에만 Master로 존재한다는 사실이다. 이것은 Master의 버스 요구 시 AHB #1(100)과 AHB #2(200)가 동작을 동일하게 못하는 원인이 된다.
예를 들어, Master가 3개가 있다고 가정하자. 한 개는 General DMA이고, 한 개는 이더넷(Ethernet) 등에 속에 있는 BDMA이고, 나머지는 고성능 ARM 프로세서(130)이다. 우선순위도 위의 나열한 순서와 동일하다. 고성능 ARM 프로세서(130)에 의해 AHB #1(100)의 버스를 점유하고 있을 때, General DMA의 버스 요구가 발생하는 경우이다. 이 때 AHB #1(100) Interface는 이미 고성능 ARM에 대한 동작을 수행하고 있기 때문에 AHB #1(100) Interface는 고성능 ARM의 동작이 종료된 이후에 General DMA의 버스 요구를 승인 할 것이다. 그런데 AHB #2(200) Interface는 AHB #1 Interface(100)와 달리 유휴(IDLE) 상태이다. 결국 AHB #2(200)는 AHB #1(100)이 고성능 ARM에 대한 버스 동작을 수행할 때 AHB #2(200)는 General DMA에 대한 버스 요구를 승인하여 두 버스 즉, AHB #1(100)과 AHB #2(200)간에 버스 점유 Master가 틀려 오 동작이 발생한다.
도 5에서는 AHB #1(100)과 AHB #2(200)간의 버스 요구에 대한 동기를 맞추기 위해 AHB #1(100)에서 발생된 고성능 ARM에 대한 버스 요구를 AHB #2(200)의 ARBITER#2(210)에도 인가하여 두 AHB 버스의 동기화 하였다. 결국 ARBIER #1(100)과 ARBITER #2(200)는 동일한 Master로부터의 요구와 동일한 승인을 수행한다. 여기서, 고성능 ARM이 AHB #1(100) 점유 시에는 AHB #2(200)는 AHB 버스만 점유하고 있으며 동작을 수행하지 않는다.
도 7은 Master의 DMA 구조를 나타내고 있다. DMA는 AHB #1(100), AHB #2 (200) Interface를 위한 블럭이 각각 존재한다. 즉, DMA Start는 DMA(POS)(321a)부터 시작하여 어드레스 카운터와 데이터 카운터를 수행한다. 이 때 DMA에 의해 전송되는 데이터의 길이(Length)가 N이라고 가정할 때 DMA(POS)(321a)의 길이(Length) 카운터는 N/2, DMA(NEG)의 길이(Length) 카운터는 N/2이다.
또한, 도 8과 같이 어드레스와 데이터를 한번씩 번갈아 가는 것처럼 DMA(POS)(321a)와 DMA(NEG)(321b)는 동작하지만, 각각의 DMA는 AHB #1(100)과 AHB #2(200)의 포지티브 에지(Positive Edge)에서만 동작한다. 결국 DMA(POS)(321a)와 DMA(NEG)(321b)에서 전송되는 어드레스와 데이터는 DDR SDRAM 메모리 Controller(330)에서 처리를 한 후, 도 8과 같이 DDR SDRAM(400)에 데이터를 전송할 수 있다. 좀 더 자세하게 DMA 동작을 살펴보면 다음과 같다.
첫번째, DDR에서부터 D0,D1,D2,D3 데이터를 읽어 임의의 Memory에 D0,D1,D2,D3 데이터를 저장한다고 가정하자. DMA(POS)(321a)는 AHB #1(100)의 버스 클럭의 포지티브 에지(Positive Edge)에서 데이터를 도 8(g)와 같이 D0,D2를 DMA 내부의 버퍼(BUF)(322a)에 저장한다. 마찬가지로 DMA(NEG)(321b)는 AHB #2(200)의 버스 클럭의 네가티브 에지(Negative Edge)에서 데이터를 도 8(h)과 같이 D1,D3를 DMA 내부의 버퍼(BUF)(322b)에 저장한다.
이렇게 저장이 끝나게 되면, 버퍼에 저장된 데이터를 AHB #1(100)에 연결된 DMA(POS)(321a)가 임의의 메모리에 두개의 DMA 내부의 버퍼를 번갈아가며 읽어 임의의 메모리에 저장을 한다. 결국 DDR Memory Access를 제외한 모든 데이터 전송은 AHB #1(100)만을 이용하여 전송을 수행 한다.
두번째로 임의의 메로리로부터 전송된 데이터 D0,D1,D2,D3를 DDR SDRAM(400)에 저장한다면, 임의의 메모리로부터 읽어온 데이터를 DMA BUF Controller(323)는 DMA(POS)(321a)의 내부 버퍼와 DMA(NEG)(321b)의 내부 버퍼에 번갈아가며 저장을 수행한다. 도 8(g) 및 도 8(h)와 같이 DMA(POS)에 속한 버퍼는 D0,D2를 저장하게 되며, DMA(NEG)(321b)에 속한 버퍼는 D1,D3를 저장한다. 저장이 종료되면 DMA(POS)(321a)는 저장된 D0,D2 데이터를 DDR SDRAM Controller에 전송을 수행하고, DMA(NEG)(321b)는 저장된 D1,D3 데이터를 DDR SDRAM Controller에 전송을 수행한다. 전송된 D0,D1,D2,D3 데이터는 DDR SDRAM(400)에 출력하면 DDR SDRAM Write 동작을 종료한다.
이상에서와 같이 본 발명에 의하면, AHB Interface 구성을 AHB #1, AHB #2를 이용한 DDR SDRAM Interface 통해 내부 주파수와 외부 주파수를 동일하게 사용함으로 써 소비 전력의 사용을 최소화 할 수 있다.
또한, 내부 블록 설계를 좀더 쉽게 설계할 수 있으며, 클럭 스큐(Clock Skew) 문제 등으로 인한 블록별 설계에 대한 제약을 종래 기술보다 쉽게 접근할 수 있다.

Claims (8)

  1. DDR SDRAM 데이터 전송을 위한 AMBA 인터페이스 장치에 있어서,
    시스템 클럭 에지 기준에 따라 버스 클럭 인터페이스를 분리하여 외부 클럭과 내부 클럭에 동일 주파수를 제공하는 시스템 버스 클럭부와;
    상기 시스템 버스 클럭부에 의해 분리되어 시스템 버스 클럭의 라이징 에지(Rising Edge)영역에서 데이터 입출력 동작을 수행하는 제 1버스 클럭 인터페이스부; 및
    상기 시스템 버스 클럭부의 위상차를 이용하여 시스템 버스 클럭의 폴링 에지(Falling Edge) 영역에서 준비된 데이터를 제 2버스 클럭의 라이징 에지에 출력하거나, 제 2버스 클럭의 라이징 에지에 들어온 데이터를 시스템 버스 클럭의 폴링 에지에 입력처리하는 동작을 수행하는 제 2버스 클럭 인터페이스부를 포함하는 것을 AMBA 인터페이스 장치.
  2. 청구항 1에 있어서, 상기 제 1 및 제 2버스 클럭 인터페이스부에는 버스의 사용 권한을 승인하는 버스중재기(Arbiter)와 데이터를 메모리 콘트롤러에 전달하는 디코더(Decoder)를 더 구비하는 주변장치가 각각 분리되어 사용되는 것을 특징으로 하는 AMBA 인터페이스 장치.
  3. 청구항 1에 있어서, 상기 제 1 및 제 2버스 클럭 인터페이스부에는 버스 점유 동기화를 위해 DMA 버스 마스터(Master)를 분리하여 구비하되, 동일한 Bus Request, Bus Grant 등의 control 신호에 맞추어 동일한 Burst 신호로 인터페이스 기능을 수행토록 하는 것을 특징으로 하는 AMBA 인터페이스 장치.
  4. 청구항 3에 있어서, 상기 DMA 버스 마스터에서 DDR SDRAM으로 데이터를 전송할 때, 시스템 버스 클럭부의 포지티브 에지(Positvie Edge)에서 동작하는 DMA(POS)와 네가티브 에지(Negative Edge)에서 동작하는 DMA(NEG)로 데이터를 분리하여 전송하는 것을 특징으로 하는 AMBA 인터페이스 장치.
  5. 청구항 4에 있어서, 상기 DMA 버스 마스터에서 DDR SDRAM으로 데이터를 전송할 때, 어드레스 카운터와 데이터 카운터 기능을 더 수행하는 것을 특징으로 하는 AMBA 인터페이스 장치.
  6. 청구항 4에 있어서, 상기 DDR SDRAM 으로부터 전송된 데이터를 DMA 버스 마스터에서 시스템 버스 클럭부의 포지티브 에지(Positvie Edge)에서 동작하는 DMA(POS)와 네가티브 에지(Negative Edge)에서 동작하는 DMA(NEG)로 분리하여 수신하는 것을 특징으로 하는 AMBA 인터페이스 장치.
  7. 청구항 6에 있어서, 상기 DMA 버스 마스터 내에는 제 1버퍼(POS)와 제 2버퍼(NEG)를 구비하며, 상기 제 1,2버퍼에 각각 저장되어 있는 데이터를 하나로 합쳐 제 1버스 클럭 인터페이스부를 통해 전송하는 것을 특징으로 하는 AMBA 인터페이스 장치.
  8. 청구항 2에 있어서, 상기 버스중재기(Arbiter)에서 고성능 ARM 프로세서의 캐 시 미스(Cache Miss)시 버스트 오퍼레이션(Burst Operation)를 수행할 경우, 메모리 콘트롤러(Memory Controller)가 읽어오는 라이징(Rising), 폴링(Falling) 데이터를 저장하여 라이징 에지(Rising Edge) 영역으로 전송하는 것을 특징으로 하는 AMBA 인터페이스 장치.
KR1020040004631A 2004-01-26 2004-01-26 Ddr sdram 데이터 전송을 위한 amba인터페이스 장치 KR100579419B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040004631A KR100579419B1 (ko) 2004-01-26 2004-01-26 Ddr sdram 데이터 전송을 위한 amba인터페이스 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040004631A KR100579419B1 (ko) 2004-01-26 2004-01-26 Ddr sdram 데이터 전송을 위한 amba인터페이스 장치

Publications (2)

Publication Number Publication Date
KR20050077065A KR20050077065A (ko) 2005-08-01
KR100579419B1 true KR100579419B1 (ko) 2006-05-12

Family

ID=37264654

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040004631A KR100579419B1 (ko) 2004-01-26 2004-01-26 Ddr sdram 데이터 전송을 위한 amba인터페이스 장치

Country Status (1)

Country Link
KR (1) KR100579419B1 (ko)

Also Published As

Publication number Publication date
KR20050077065A (ko) 2005-08-01

Similar Documents

Publication Publication Date Title
US6151651A (en) Communication link with isochronous and asynchronous priority modes coupling bridge circuits in a computer system
JP4737438B2 (ja) 複数の処理ユニットでリソースを共有する情報処理装置
US6532525B1 (en) Method and apparatus for accessing memory
US6148357A (en) Integrated CPU and memory controller utilizing a communication link having isochronous and asynchronous priority modes
US5771359A (en) Bridge having a data buffer for each bus master
EP1164494A1 (en) Bus architecture for system on a chip
US20090013143A1 (en) System and method for read synchronization of memory modules
US7698524B2 (en) Apparatus and methods for controlling output of clock signal and systems including the same
JP2009163758A (ja) クロックの異なるバス間におけるデータ転送
US6112307A (en) Method and apparatus for translating signals between clock domains of different frequencies
US6292201B1 (en) Integrated circuit device having a core controller, a bus bridge, a graphical controller and a unified memory control unit built therein for use in a computer system
US10255218B1 (en) Systems and methods for maintaining specific ordering in bus traffic
KR20030029030A (ko) 메모리 제어 방법, 그 제어 방법을 이용한 메모리 제어회로 및 그 메모리 제어 회로를 탑재하는 집적 회로 장치
KR100694095B1 (ko) 버스 연결 방법 및 장치
JPH04350754A (ja) データチャンネルに対するインターフェースを含むワークステーションまたは類似のデータ処理システム
US7913013B2 (en) Semiconductor integrated circuit
US20040064748A1 (en) Methods and apparatus for clock domain conversion in digital processing systems
US8799699B2 (en) Data processing system
CN101510182B (zh) 低速dma接口的片上系统和内存访问方法
CN204515761U (zh) 片上系统
US20040064660A1 (en) Multiplexed bus with multiple timing signals
KR100579419B1 (ko) Ddr sdram 데이터 전송을 위한 amba인터페이스 장치
JPH04350753A (ja) 直接メモリアクセス制御器およびデータチャンネルへのインターフェース装置を備えたワークステーション
JP2010129029A (ja) メモリアクセス制御装置およびメモリアクセス制御方法
JP2006127423A (ja) バス制御装置、調停装置、並びに、その方法及びプログラム

Legal Events

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

Payment date: 20130508

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140502

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150501

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160503

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170502

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180504

Year of fee payment: 13