KR100797468B1 - 시스템 버스와 아이피간 인터페이싱 장치와 방법 및 컴퓨터프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체 - Google Patents

시스템 버스와 아이피간 인터페이싱 장치와 방법 및 컴퓨터프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체 Download PDF

Info

Publication number
KR100797468B1
KR100797468B1 KR1020050123061A KR20050123061A KR100797468B1 KR 100797468 B1 KR100797468 B1 KR 100797468B1 KR 1020050123061 A KR1020050123061 A KR 1020050123061A KR 20050123061 A KR20050123061 A KR 20050123061A KR 100797468 B1 KR100797468 B1 KR 100797468B1
Authority
KR
South Korea
Prior art keywords
bus
logic unit
system bus
signal
data
Prior art date
Application number
KR1020050123061A
Other languages
English (en)
Other versions
KR20070063124A (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 KR1020050123061A priority Critical patent/KR100797468B1/ko
Publication of KR20070063124A publication Critical patent/KR20070063124A/ko
Application granted granted Critical
Publication of KR100797468B1 publication Critical patent/KR100797468B1/ko

Links

Images

Classifications

    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
    • 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

시스템 버스와 아이피간 인터페이싱 장치와 방법 및 컴퓨터 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체가 개시된다. 시스템 버스와 아이피(IP)간을 인터페이싱하는 이 장치는, 제1 신호에 해당하는 버스 프로토콜을 생성하여 시스템 버스로 출력하거나 시스템 버스로부터 입력한 제2 신호에 해당하는 버스 프로토콜을 해석하여 출력하는 버스 논리부 및 아이피로부터 입력한 제1 신호를 버스 논리부로 출력하거나 아이피가 해석 가능한 해석된 결과를 버스 논리부로부터 입력하여 아이피로 출력하는 아이피 논리부를 구비하는 것을 특징으로 한다.
인터페이싱 장치, 아이피(IP), 시스템 버스

Description

시스템 버스와 아이피간 인터페이싱 장치와 방법 및 컴퓨터 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체{Apparatus and method for interfacing system bus with IP, and computer-readable recording media for storing computer program}
도 1은 본 발명에 의한 시스템 버스와 아이피간 인터페이싱 장치의 실시예의 블럭도이다.
도 2는 SoC의 일반적인 블럭도이다.
도 3은 도 1에 도시된 인터페이싱 장치의 본 발명에 의한 실시예의 블럭도이다.
도 4는 도 3에 도시된 버스 논리부의 본 발명에 의한 실시예의 블럭도이다.
도 5는 도 4에 도시된 슬레이브 논리부의 본 발명에 의한 실시예의 블럭도이다.
도 6은 도 5에 도시된 슬레이브 논리부의 동작을 설명하기 위한 파형도들이다.
도 7은 슬레이브 상태 제어부의 상태 천이를 나타내는 도면이다.
도 8은 도 4에 도시된 마스터 논리부의 본 발명에 의한 실시예의 블럭도이다.
도 9는 도 8에 도시된 마스터 논리부의 동작을 설명하기 위한 파형도들이다.
도 10은 도 8에 도시된 마스터 상태 제어부의 상태 천이를 나타내는 도면이다.
본 발명은 시스템 버스의 이용에 관한 것으로서, 특히 아이피(IP : Intellectual Property)들을 연결시키는 시스템 버스와 아이피(IP)간의 인터페이싱 장치와 방법 및 컴퓨터 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체에 관한 것이다.
시스템 온 칩(SoC:System on Chip)의 복잡도 및 제조 기술이 급속하게 증가함에도 불구하고 설계자의 설계 생산성의 증가는 상대적으로 느리므로, 설계 생산성 격차 문제가 심각하게 대두되고 있다. 이에 대한 극복 방안으로 설계된 아이피(IP)의 재사용에 대한 필요성이 절실해지고 있다.
이러한 IP들은 시스템 버스를 이용하여 서로간에 데이타 또는 명령을 주고 받는다. 이를 위한 시스템 버스로서 암바(AMBA:Advanced Micro-controller Bus Architecture) 버스가 사용될 수 있다. AMBA 버스는 삽입(embedded) 마이크로-콘트롤러(micro-controller)의 설계를 위해 ARM 사에 의해 제안된 버스 구조로서, SoC 설계를 위한 시스템 버스 역할을 하는 개방형 표준이다. AMBA 버스에 있는 인터페이스는 반도체 공정, 중앙 처리 유닛(CPU:Control Process Unit) 또는 프로세서에 무관하게 사용될 수 있으며, 다양한 반도체 공정에서 주변 회로 및 IP들을 재사용할 수 있도록 한다.
예를 들어, SoC 설계에서 사용될 IP들이 AMBA AHB 인터페이스를 지원하지 않는다면, IP를 재사용하기 위해 AMBA 인터페이스를 지원하는 하드웨어를 별도로 설계해야 한다. 여기서, AMBA AHB(Advanced High performance Bus)란, AMBA 버스의 일종이다. 부연하면, AMBA 버스에 AHB 인터페이스를 지원하는 IP들과 AHB 인터페이스를 지원하지 않는 IP들이 연결되어 있을 경우, AHB 인터페이스를 지원하지 않는 IP들을 위해 IP 인터페이스 프로토콜을 지원하는 글루 로직(glue logic)을 별도로 설계해야 한다. 이 경우, 설계자는 추가적인 비용을 글루 로직의 설계 및 검증에 투입해야 하는 문제점이 있다. 게다가, AMBA 버스와 IP들을 이용하여 SoC를 설계하고자 할 때, 설계자는 AHB 프로토콜과 IP 인터페이스 프로토콜을 모두 만족하기 위해 IP와 AHB 동작 특성을 모두 숙지하고 있어야 하는 문제점이 있다. 결국, 새로운 IP를 AMBA AHB 버스에 연결하여 사용하고자 할 경우, 매번 새로운 로직을 설계해야 하므로 비용이 상승할 뿐만 아니라 설계자를 번거롭게 한다.
본 발명이 이루고자 하는 기술적 과제는, 시스템 버스를 지원하는 않는 IP를 이용할 때 추가 비용의 발생을 최소화할 수 있는 시스템 버스와 아이피간 인터페이싱 장치 및 방법을 제공하는 데 있다.
본 발명이 이루고자 하는 기술적 과제는, 상기 시스템 버스와 아이피간 인터페이싱 장치에서 수행되는 컴퓨터 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기 록 매체를 제공하는 데 있다.
상기 과제를 이루기 위해, 시스템 버스와 아이피(IP)간을 인터페이싱하는 본 발명에 의한 인터페이싱 장치는, 제1 신호에 해당하는 버스 프로토콜을 생성하여 상기 시스템 버스로 출력하거나 상기 시스템 버스로부터 입력한 제2 신호에 해당하는 버스 프로토콜을 해석하여 출력하는 버스 논리부 및 상기 아이피로부터 입력한 상기 제1 신호를 상기 버스 논리부로 출력하거나 상기 아이피가 해석 가능한 해석된 결과를 상기 버스 논리부로부터 입력하여 상기 아이피로 출력하는 아이피 논리부로 구성되는 것이 바람직하다.
또는, 시스템 버스와 아이피(IP)간을 인터페이싱하는 본 발명에 의한 인터페이싱 방법은, 제1 신호에 해당하는 버스 프로토콜을 생성하여 상기 시스템 버스로 전송하고, 상기 시스템 버스로부터 받아들인 제2 신호에 해당하는 버스 프로토콜을 해석하는 단계 및 상기 아이피로부터 받아들인 상기 제1 신호를 상기 버스 논리부로 제공하고, 상기 해석된 결과를 상기 아이피로부터 전달하는 단계로 이루어지는 것이 바람직하다.
상기 다른 과제를 이루기 위해, 시스템 버스와 아이피(IP)간을 인터페이싱하는 인터페이싱 장치에서 수행되는 컴퓨터 프로그램을 저장하는 컴퓨터로 읽을 수 있는 본 발명에 의한 기록 매체는, 제1 신호에 해당하는 버스 프로토콜을 생성시켜 상기 시스템 버스로 전송시키고, 상기 시스템 버스로부터 받아들인 제2 신호에 해당하는 버스 프로토콜을 해석시키는 단계 및 상기 아이피로부터의 상기 제1 신호를 상기 버스 논리부로 제공시키고, 상기 해석된 결과를 상기 아이피로부터 전달시키는 단계를 수행하는 컴퓨터 프로그램을 저장하는 것을 특징으로 한다.
이하, 본 발명에 의한 시스템 버스와 아이피간 인터페이싱 장치의 구성 및 동작과, 그 장치에서 수행되는 방법을 첨부한 도면들을 참조하여 다음과 같이 설명한다.
도 1은 본 발명에 의한 시스템 버스와 아이피간 인터페이싱 장치의 실시예의 블럭도로서, 시스템 버스(10), 인터페이싱 장치(12) 및 아이피(IP)(14)로 구성된다. 여기서, 아이피(14)는 시스템 버스 인터페이스를 지원하지 않는 IP이다.
도 1에 도시된 인터페이싱 장치(12)는 시스템 버스(10)와 아이피(14)를 인터페이싱하는 역할을 한다. 여기서, 시스템 버스(10)는 AMBA 버스로 구현될 수 있으며 특히, AMBA 버스에서도 AMBA AHB 버스로 구현될 수 있다. 시스템 버스(10)는 입력단자 IN1을 통해 다른 IP(미도시)로부터 신호를 입력하여 인터페이싱 장치(12)를 경유하여 IP(14)로 출력한다. 또는, 시스템 버스(10)는 인터페이싱 장치(12)를 경유하여 IP(14)로부터 입력한 신호를 출력단자 OUT1을 통해 다른 IP(미도시)로 출력한다.
도 1에 도시된 시스템 버스(10), 아이피(14) 및 인터페이싱 장치(12)는 시스템 온 칩(SoC)화 될 수 있다.
도 2는 SoC의 일반적인 블럭도로서, 다수개의 IP들(20, 22, ..., 24, 30, 32, ... 및 34) 및 시스템 버스(10)로 구현될 수 있다. 여기서, IP들(20, 22, ..., 24, 30, 32, ... 및 34) 각각은 ARM 프로세서(processor), ARM사에 의해 지원되는 프라임 셀(primecell) IP 또는 AHB 인터페이스를 갖는 IP가 될 수 있다.
도 2에 도시된 시스템 버스(10)는 도 1에 도시된 시스템 버스(10)와 동일하다. 이 때, 도 1에 도시된 IP(14)는 도 2에 도시된 IP들(20, 22, ..., 24, 30, 32, ... 및 34)중에서 시스템 버스(10)와 인터페이싱할 수 있는 기능을 갖지 않는 IP를 의미한다. 예컨대, 도 1에 도시된 IP(14)는 시스템 버스(10)와 직접 인터페이싱할 수 없다.
도 3은 도 1에 도시된 인터페이싱 장치(12)의 본 발명에 의한 실시예(12A)의 블럭도로서, 버스 논리부(logic unit 또는 wrapper)(50) 및 아이피 논리부(52)로 구성된다.
도 3에 도시된 버스 논리부(50)는 아이피 논리부(52)를 경유하여 IP(14)로부터 입력한 제1 신호에 해당하는 버스 프로토콜을 생성하고, 생성된 버스 프로토콜을 시스템 버스(10)로 출력단자 OUT3을 통해 출력한다. 또는, 버스 논리부(50)는 시스템 버스(10)로부터 입력단자 IN3을 통해 제2 신호를 입력하고, 제2 신호에 해당하는 버스 프로토콜을 해석하며, 해석된 결과를 아이피 논리부(52)로 출력한다.
아이피 논리부(52)는 아이피(14)로부터 입력단자 IN4를 통해 제1 신호를 입력하여 해석하고, 해석된 제1 신호를 버스 논리부(50)로 출력한다. 또는, 아이피 논리부(52)는 아이피가 해석 가능한 해석된 결과 예를 들면 SRAM(Synchronized RAM) 인터페이스 신호를 버스 논리부(50)로부터 입력하고, 입력한 해석된 결과로부터 아이피 신호를 생성하여 아이피(14)로 출력단자 OUT4를 통해 출력한다.
본 발명에 의하면, 전술한 제1 및 제2 신호들 각각은 명령이나 데이타가 될 수 있다.
도 4는 도 3에 도시된 버스 논리부(50)의 본 발명에 의한 실시예(50A)의 블럭도로서, 슬레이브(slave) 논리부(60) 및 마스터(master) 논리부(62)로 구성된다.
도 4에 도시된 슬레이브 논리부(60)는 제2 신호를 시스템 버스(10)로부터 입력단자 IN5를 통해 입력하고, 입력한 제2 신호에 해당하는 버스 프로토콜을 해석하며, 해석된 결과를 아이피 논리부(52)로 출력단자 OUT5를 통해 출력한다.
도 5는 도 4에 도시된 슬레이브 논리부(60)의 본 발명에 의한 실시예(60A)의 블럭도로서, 어드레스 제어부(80) 및 슬레이브 상태 제어부(82)로 구성된다.
어드레스 제어부(80)는 어드레스 기간(phase)에서 시스템 버스(10)로부터 N비트의 어드레스 신호(HADDR)를 입력단자 IN7을 통해 전송받고, 데이타 기간에서 어드레스 신호를 아이피 논리부(52)로 출력단자 OUT7을 통해 출력한다. 예를 들어, N은 32가 될 수 있다.
슬레이브 상태 제어부(82)는 시스템 버스(10)로부터 제2 신호를 입력단자 IN8을 통해 입력하고, 입력한 제2 신호를 해석하여 어드레스 기간과 데이타 기간으로 분리한다. 여기서, 어드레스 기간이란, 데이타 기간에서 데이타의 실제 전송을 제어하기 위한 신호들이 전송되는 기간이다. 또한, 슬레이브 상태 제어부(82)는 분리된 결과에 상응하여 어드레스 제어부(80)를 제어한다. 예컨대, 어드레스 제어부(80)는 슬레이브 상태 제어부(82)로부터 입력한 분리된 결과를 통해 어드레스 기간인가 데이타 기간인가를 판별한다. 또한, 슬레이브 상태 제어부(82)는 데이타의 기입과 독출을 각각 제어하는 기입 및 독출 제어 신호들을 제2 신호의 해석된 결과에 상응하여 발생하고, 발생된 기입 및 독출 제어 신호들을 아이피 논리부(52)로 출력단자 OUT8을 통해 출력한다. 이 때, 아이피 논리부(52)는 슬레이브 상태 제어부(82)로부터 입력한 기입 제어 신호에 응답하여 시스템 버스(10)로부터 데이타(HWDATA)를 입력하고, 입력한 데이타를 기입한다. 또한, 아이피 논리부(52)는 슬레이브 상태 제어부(82)로부터 입력한 독출 제어 신호에 응답하여 데이타(HRDATA)를 시스템 버스(10)로 독출한다. 도 5에 도시된 어드레스 제어부(80) 및 슬레이브 상태 제어부(82)는 시스템 버스(10)로부터 입력한 클럭 신호(HCLK)에 응답하여 동작한다.
도 6은 도 5에 도시된 슬레이브 논리부(60A)의 동작을 설명하기 위한 파형도들이다. 여기서, 단위 전송 패킷(packet)은, 어드레스 기간(address phase)(90)과 데이타 기간(data phase)(92)으로 구성된다.
도 6에서, HCLK는 도 5에 도시된 HCLK를 나타내고, HTRANS, HSEL 및 HWRITE는 입력단자 IN8을 통해 시스템 버스(10)로부터 슬레이브 상태 제어부(82)로 입력되는 신호들을 나타내고, HREADY는 슬레이브 상태 제어부(82)로부터 출력단자 OUT8을 통해 시스템 버스(10)로 출력되는 신호이다. 만일, HREADY가 "저" 논리 레벨이면 데이타의 전송이 불가능함을 나타내고, HREADY가 "고"논리 레벨이면 데이타의 전송이 가능함을 나타낸다. 즉, HREADY는 다른 IP로부터 IP(14)로의 엑세스가 요청될 때 현재 시점에서 슬레이브 논리부(60A)가 반응할 수 있는가 그렇지 않으면 다음 시점에서 슬레이브 논리부(60A)가 반응할 수 있는가의 여부를 나타낸다. 또한, HRESP 신호는 다른 IP로부터 시스템 버스(10)를 경유하여 슬레이브 논리부(60A)로 입력된 제2 신호가 정상적으로 수신되었는가 그렇지 않은가를 나타내는 신호로서, 슬레이브 상태 제어부(82)로부터 출력단자 OUT8을 통해 시스템 버스(10)로 출력된다.
도 5 및 도 6을 참조하면, 어드레스 제어부(80)는 어드레스 기간에서 다른 IP로부터 시스템 버스(10)를 경유하여 전송받은 HADDR 신호를 슬레이브 상태 제어부(82)의 제어하에 저장하고, 저장된 HADDR 신호(ADDR)를 데이타 구간에서 슬레이브 상태 제어부(82)의 제어하에 출력단자 OUT7을 통해 아이피 논리부(52)로 출력한다.
도 5에 도시된 슬레이브 상태 제어부(82)는 어드레스 기간에서 입력단자 IN8을 통해 시스템 버스(10)로부터 입력한 전송 방향에 대한 HWRITE 신호를 제2 신호로서 입력하여 저장한다. 예를 들어, 어드레스 기간에서 HWRITE 값이 '1'일 경우 기입 제어 신호(WDATA_EN)를 '1'로 설정하고, 독출 제어 신호(RDATA_EN)를 '0'으로 설정한다. 또는, 어드레스 기간에서 HWRITE가 '0'일 경우 기입 제어 신호를 '0'으로 설정하고, 독출 제어 신호를 '1'로 설정한다. 이 때, 설정된 기입 및 독출 제어 신호들은 아이피 논리부(52)로 출력된다. 부연하면, HWIRTE 값이 '1'인 경우, 다른 IP로부터 도 1에 도시된 IP(14)로의 데이타 전송을 의미하고, HWRITE 값이 '0'인 경우, IP(14)로부터 다른 IP로의 데이타 전송을 의미한다.
슬레이브 상태 제어부(82)는 입력단자 IN8을 통해 시스템 버스(10)로부터 입력된 HSEL이 '1'일 때 두 비트로 구성되며 입력단자 IN8을 통해 입력되는 HTRANS 신호의 값이 '10'이면 어드레스 기간으로 인식하고 제어 신호들을 저장한다. 이 후 , 슬레이브 상태 제어부(82)는 데이타 기간에서 실제 데이타의 전송을 행하게 된다.
도 7은 슬레이브 상태 제어부(82)의 상태 천이를 나타내는 도면으로서, 두 개의 상태들(A 및 B)을 나타낸다.
도 7에 도시된 상태들(A 및 B)은 다음 표 1과 같이 동작한다.
현재 상태 다음 상태 조 건
A A HREST가 '0'이거나 HSEL이 '0'이면 CASE1에 해당한다.
B HREST가 '1'이고 HSEL이 '1'이고, HTRANS가 '10'이면 CASE2에 해당한다.
B A HREST가 '1'이고 HSEL이 '1'이고, HTRANS가 '10'이면 CASE3에 머문다.
B HREST가 '0'이거나 HSEL이 '0'이면 CASE4에 머문다.
한편, 도 4에 도시된 마스터 논리부(62)는 아이피 논리부(52)로부터 입력단자 IN6을 통해 제1 신호를 입력하고, 입력한 제1 신호에 해당하는 버스 프로토콜을 생성하며, 생성된 버스 프로토콜을 시스템 버스(10)로 출력단자 OUT6을 통해 출력한다.
도 8은 도 4에 도시된 마스터 논리부(62)의 본 발명에 의한 실시예(62A)의 블럭도로서, 마스터 상태 제어부(200) 및 프로토콜 생성부(202)로 구성된다.
도 8에 도시된 마스터 논리부(62A)는 직접 메모리 엑세스 제어(DMAC:Direct Memory Access Controller) 형태를 취하고 있다. 다만, 그 입출력의 형태가 한 쪽은 AMBA AHB 버스이고 다른 쪽은 IP 논리부(52)이다.
마스터 상태 제어부(200)는 아이피 논리부(52)로부터 입력단자 IN10을 통해 입력한 제1 신호에 응답하여 시스템 버스(10)의 사용권을 출력단자 OUT9를 통해 시스템 버스(10)에게 요구하고, 시스템 버스(10)의 사용권이 획득되었음을 시스템 버스(10)로부터 입력단자 IN9를 통해 받아서 이를 아이피 논리부(52)로 출력단자 OUT10을 통해 전달한다.
프로토콜 생성부(202)는 아이피 논리부(52)로부터 시스템 버스(10)로 전송할 데이타에 관한 정보를 제1 신호로서 입력하고, 제1 신호에 해당하는 버스 프로토콜을 생성하며, 생성된 버스 프로토콜을 시스템 버스(10)로 출력한다. 이 때, 아이피 논리부(52)는 마스터 상태 제어부(200)로부터 사용권이 입력될 때 데이타에 관한 정보인 제1 신호를 마스터 논리부(62A)의 프로토콜 생성부(202)로 출력할 수 있다. 또는, 아이피 논리부(52)로부터 데이타에 관한 정보가 프로토콜 생성부(202)로 출력된 후, 마스터 상태 제어부(200)는 시스템 버스(10)의 사용권을 시스템 버스(10)에게 요구하여 획득할 수도 있다.
본 발명에 의하면, 데이타에 관한 정보인 제1 신호는 모드 정보, 묶음 정보, 어드레스 정보, 전송 방향 정보 및 폭 정보를 모두 마련할 수 있다. 여기서, 모드 정보란, 아이피 논리부(52)로부터 시스템 버스(10)로 데이타를 전송할 모드를 나타내는 정보로서, 모드에는 싱글(single) 모드와 버스트(burst) 모드가 있다. 싱글 모드에서, 데이타는 하나씩 전송되고, 버스트 모드에서 여러 개씩 묶여서 데이타가 잔송된다.
묶음 정보란, 버스트 모드에서 데이타를 몇 개씩 묶어서 전송할 것인가를 나타내는 정보이다. 어드레스 정보란, 기본 어드레스에 대한 정보를 나타낸다. 기본 어드레스란 데이타 전송의 기준이 되는 어드레스를 의미한다. 전송 방향 정보란, 데이타가 전송될 방향에 대한 정보를 나타낸다. 폭 정보란, 한 번에 전송할 데이타의 폭에 대한 정보를 나타낸다. 즉, 전송할 데이타의 폭이 몇 바이트인가를 나타낸다.
본 발명에 의하면, 프로토콜 생성부(202)는 도 8에 도시된 바와 같이, 데이타 인에이블부(210), 데이타 폭부(212), 어드레스부(214), 버스트부(216) 및 기입부(218)로 구성된다.
이하, 도 8에 도시된 각 부의 동작을 첨부된 도면을 참조하여 다음과 같이 설명한다.
도 9는 도 8에 도시된 마스터 논리부(62A)의 동작을 설명하기 위한 파형도들로서, HCLK는 도 8에 도시된 각 부로 인가되는 클럭 신호를 나타내고, HWDATA는 아이피 논리부(52)로부터 시스템 버스(10)로 인가되는 데이타를 나타낸다.
도 8 및 도 9를 참조하면, 마스터 상태 제어부(200)는 입력단자 IN10을 통해 아이피 논리부(52)로부터 시스템 버스(10)의 사용을 요구하는 trans_req 신호가 제1 신호로서 입력될 때, 아이들(IDLE) 상태로부터 시스템 버스에 대한 사용권을 요구하는 BUSREQ 상태로 천이한다. BUSREQ 상태에서, 마스터 상태 제어부(200)는 시스템 버스(10)의 사용권을 요구하는 "고" 논리 레벨의 HBUSREQ 신호를 발생하여 시스템 버스(10)로 출력단자 OUT9를 통해 출력한다. 이 때, 아이피 논리부(52)로부터 마스터 논리부(62A)로 입력되는 제1 신호들은 저장된다.
만일, 시스템 버스(10)의 사용을 허여하는 "고" 논리 레벨의 HGRANT 신호가 입력단자 IN9를 통해 시스템 버스(10)로부터 마스터 상태 제어부(200)로 입력되면, 마스터 상태 제어부(200)는 데이타 전송에 관한 명령의 전송을 시작하라는 메시지를 담은 TRANS_FINISH 신호를 출력단자 OUT10을 통해 아이피 논리부(52)로 출력한다. 이 때, TRANS_FINISH 신호가 마스터 상태 제어부(200)로부터 아이피 논리부(52)로 출력되면, 마스터 상태 제어부(200)는 첫 번째 어드레스 기간인 NONSEQ 상태로 천이된다. NONSEQ 상태에서 실제로 데이타의 전송이 시작된다.
도 10은 도 8에 도시된 마스터 상태 제어부(200)의 상태 천이를 나타내는 도면이다.
도 10에 도시된 상태들(IDLE, BUSREQ, NONSEQ, SEQ1, SEQ2, SEQ3 및 FINISH)은 다음 표 2와 같이 동작한다.
현재 상태 다음 상태 조 건
IDLE IDLE case : (HRESET = 0) 또는 (trans_req= 0)
BUSREQ case 1 : (trans_req = 1
BUSREQ BUSREQ case 2 : (HGRANS = 0 ) 또는 (HREADY = 0)
NONSEQ case 3 : (HGRANS = 1 ) 또는 (HREADY = 1)
NONSEQ NONSEQ case 4 : (HREADY = 0 )
SEQ1 case 5 : (HREADY = 1 ) 및 (BEAT = "001") 및 (BURST_MODE="010")
FINISH case 6 : (HREADY = 1 ) 및 (BEAT = "000") 및 (BURST_MODE="001")
SEQ1 SEQ1 case 7 : (HREADY = 0 )
SEQ2 case 8 : (HREADY = 1 )
SEQ2 SEQ2 case 9 : (HREADY = 0 )
SEQ3 case 10 : (HREADY = 0 )
SEQ3 SEQ3 case 11 : (HREADY = 0 )
FINISH case 12 : (HREADY = 1 )
FINISH FINISH case 13 : (HREADY = 0 )
IDLE case 14 : (HREADY = 1 )
만일, 싱글 전송 모드일 경우, 마스터 상태 제어부(200)는 NONSEQ 상태에서 FINISH 상태를 경유하여 IDLE 상태로 진입한다. 그러나, 버스트 전송 모드일 경우, 마스터 상태 제어부(200)는 4개의 데이타를 전송하기 위해, NONSEQ 상태로부터 SEQ1, SEQ2, SEQ3 및 FINISH 상태들을 경유하여 IDLE 상태로 진행한다.
도 8에 도시된 마스터 상태 제어부(200)는 현재 전송 상태를 나타내는 HTRANS 신호를 생성하는 역할을 한다. 예컨대, 마스터 상태 제어부(200)의 상태가 NONSEQ 상태일 때 HTRANS의 값을 '10'으로서 출력하며, SEQ1, SEQ2 및 SEQ3 상태일 때 HTRANS의 값을 '11'으로서 출력하고, 나머지 상태일 때 HTRANS의 값을 '00'으로서 출력한다. 게다가, 마스터 상태 제어부(200)는 아이피(14)로부터 다른 아이피로 데이타의 전송이 완료되었음을 나타내는 TRANS_FINISH 신호를 출력단자 OUT10을 통해 아이피(14)에게 알려준다. 마스터 상태 제어부(200)의 상태가 FINISH 상태일 경우 "고" 논리 레벨의 TRANS_FINISH 신호를 출력하고, 그 밖에는 기본적으로 "저" 논리 레벨의 TRANS_FINISH 신호를 출력한다.
먼저, 아이피 논리부(52)로부터 기입부(218)로 입력되는 WD_RD 신호가 "고" 논리 레벨일 때 즉, 아이피(14)로부터 다른 아이피로 데이타를 전송한다고 하자. 이 때, 마스터 상태 제어부(200)의 상태가 NONSEQ, SEQ1, SEQ2 및 SEQ3 상태일 경우, 데이타 인에이블부(210)는 이 상태에 따라 시스템 버스(10)로부터 입력되는 HREADY 신호를 참조하여 데이타 인에이블 신호(DATA_ENABLE)를 생성하고, 생성된 데이타 인에이블 신호(DATA_ENABLE)를 아이피 논리부(52)로 출력한다. 예를 들어, 버스트 모드에서 데이타 인에이블 신호(DATA_ENABLE)가 세트될 때마다 데이타를 아이피(14)로부터 시스템 버스(10)로 업 데이트한다.
기본적으로 데이타 인에이블 신호(DATA_ENABLE)는 "저" 논리 레벨이다. 또한, WR_RD 신호가 "저" 논리 레벨 즉, 다른 아이피로부터 아이피(14)로 데이타를 전송받는 경우, 마스터 상태 제어부(200)의 상태가 SEQ1, SEQ2, SEQ3 및 FINISH 상태일 경우, 이 상태에 따라 시스템 버스(10)로부터 입력되는 HREADY 신호를 참조하여 데이타 인에이블 신호(DATA_ENABLE)를 생성하고, 생성된 데이타 인에이블 신호(DATA_ENABLE)를 아이피 논리부(52)로 출력한다.
데이타 폭부(212)는 아이피(14)로부터 마스터 논리부(62)를 통해 다른 아이피로 전송할 데이타의 폭을 나타내는 HSIZE 신호를 생성하는 역할을 한다. 마스터 상태 제어부(200)의 상태가 BUSREQ 상태일 때, 데이타 폭부(212)는 아이피 논리부(52)로부터 입력한 비트 폭(BIT_WIDTH)를 반영하여 데이타의 폭을 나타내는 HSIZE 신호를 생성한다. 여기서, 비트 폭은 한 번에 전송할 데이타의 폭을 나타낸다.
어드레스부(214)는 데이타의 어드레스를 나타내는 HADDR 신호를 생성하는 역할을 한다. 마스터 상태 제어부(200)의 상태가 BUSREQ 상태일 때 아이피 논리부(52)를 경유하여 아이피(14)로부터 입력한 기본 어드레스값(BASE_ADDR)을 저장하고, 마스터 상태 제어부(200)의 상태가 NONSEQ, SEQ1, SEQ2, SEQ3 상태로 천이될 때 HSIZE의 값을 참조하여 어드레스 값(HADDR)을 순차적으로 증가시킨다.
버스트부(216)는 전송 모드를 나타내는 HBURST 신호를 생성하는 역할을 한다. 마스터 상태 제어부(200)의 상태가 BUSREQ 상태일 때, 버스트부(216)는 아이피 논리부(52)를 경유하여 아이피(14)로부터 입력되는 BURST_MODE와 BEAT 신호를 참조하여 HBURST 신호를 생성한다. 여기서, BURST_MODE 신호는 전송 모드를 버스트 모드로 할 것인가 싱글(single)모드로 할 것인가를 나타내는 신호이다. 버스트 모드란 데이타를 연속해서 전송하는 모드이고, 싱글 모드란 데이타를 하나씩 전송하는 모드를 나타낸다. 비트 신호는 데이타를 전송할 때 몇 개씩 전송할 것인가를 나타내는 신호이다.
기입부(218)는 데이타의 전송 방향을 나타내는 HWRITE 신호를 생성하는 역할을 한다. 마스터 상태 제어부(200)의 상태가 BUSREQ 상태일 때, 기입부(218)는 아이피 논리부(52)를 경유하여 아이피(14)로부터 입력한 WR_RD 값을 참조하여 HWRITE 신호를 생성한다.
컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 저장 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 사용자 추적 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
이상에서 설명한 바와 같이, 본 발명에 의한 시스템 버스와 아이피간 인터페이싱 장치와 방법 및 컴퓨터 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체는 버스 논리부(50)를 매번 새롭게 설계할 필요없이 IP 특성에 따라 IP 논리부(52)만을 바꾸어 설계하면 되므로, IP 재사용에 필요한 추가적인 설계 비용과 설계 시간을 단축시킬 수 있는 효과를 갖는다.

Claims (11)

  1. 시스템 버스와 아이피(IP)간을 인터페이싱하는 인터페이싱 장치에 있어서,
    상기 아이피로부터 입력한 제1 신호에 해당하는 데이터 전송에 관한 버스 프로토콜을 생성하여 상기 시스템 버스로 출력하거나 상기 시스템 버스로부터 입력한 제2 신호에 해당하는 버스 프로토콜을 해석하여 어드레스와 데이터에 관한 정보를 출력하는 버스 논리부; 및
    상기 제1 신호를 상기 버스 논리부로 출력하거나 상기 아이피가 해석 가능한 인터페이스 신호의 해석된 결과를 상기 버스 논리부로부터 입력하여 상기 아이피로 출력하는 아이피 논리부를 구비하는 것을 특징으로 하는 시스템 버스와 아이피간 인터페이싱 장치.
  2. 제1 항에 있어서, 상기 시스템 버스는 AMBA 버스인 것을 특징으로 하는 시스템 버스와 아이피간 인터페이싱 장치.
  3. 제2 항에 있어서, 상기 AMBA 버스는 AMBA AHB 버스인 것을 특징으로 하는 시스템 버스와 아이피간 인터페이싱 장치.
  4. 제1 항에 있어서, 상기 시스템 버스, 상기 아이피 및 상기 시스템 버스와 아이피간 인터페이싱 장치는 시스템 온 칩화되는 것을 특징으로 하는 시스템 버스와 아이피간의 인터페이싱 장치.
  5. 제1 항에 있어서, 상기 제1 및 제2 신호들 각각은 명령이나 데이타인 것을 특징으로 하는 시스템 버스와 아이피간의 인터페이싱 장치.
  6. 제1 항에 있어서, 상기 버스 논리부는
    상기 제2 신호를 상기 시스템 버스로부터 입력하고, 입력한 상기 제2 신호에 해당하는 버스 프로토콜을 해석하여 어드레스 기간과 데이터 기간으로 분리하고, 상기 해석된 결과를 상기 아이피 논리부로 출력하는 슬레이브 논리부; 및
    상기 아이피 논리부로부터 입력한 상기 제1 신호의 데이타 전송에 관한 버스 프로토콜을 생성하고, 상기 생성된 버스 프로토콜을 상기 시스템 버스로 출력하는 마스터 논리부를 구비하는 것을 특징으로 하는 시스템 버스와 아이피간 인터페이싱 장치.
  7. 제6 항에 있어서, 상기 슬레이브 논리부는
    어드레스 기간에서 상기 시스템 버스로부터 어드레스 신호를 전송받고, 데이타 기간에서 상기 어드레스 신호를 상기 아이피 논리부로 출력하는 어드레스 제어부; 및
    상기 제2 신호를 해석하여 상기 어드레스 기간과 상기 데이타 기간으로 분리하고, 상기 분리된 결과에 상응하여 상기 어드레스 제어부를 제어하고, 데이타의 기입과 독출을 각각 제어하는 기입 및 독출 제어 신호들을 상기 해석된 결과에 상응하여 발생하고, 발생된 상기 기입 및 독출 제어 신호들을 상기 아이피 논리부로 출력하는 슬레이브 상태 제어부를 구비하고,
    상기 아이피 논리부는 상기 기입 제어 신호에 응답하여 상기 시스템 버스로부터 입력한 데이타를 기입하고 상기 독출 제어 신호에 응답하여 데이타를 상기 시스템 버스로 독출하는 것을 특징으로 하는 시스템 버스와 아이피간 인터페이싱 장치.
  8. 제6 항에 있어서, 상기 마스터 논리부는
    상기 아이피 논리부로부터 입력한 상기 제1 신호에 응답하여 상기 시스템 버스의 사용권을 요구하고, 상기 시스템 버스의 사용권을 받아서 상기 아이피 논리부에 전달하는 마스터 상태 제어부; 및
    상기 아이피 논리부로부터 상기 시스템 버스로 전송할 데이타에 관한 정보를 상기 제1 신호로서 입력하고, 상기 제1 신호의 전송할 데이타에 관한 정보에 따라 상기 전송에 관한 버스 프로토콜을 생성하는 프로토콜 생성부를 구비하고,
    상기 아이피 논리부는 상기 마스터 상태 제어부로부터 상기 사용권이 입력될 때 상기 데이타에 관한 정보를 상기 마스터 논리부로 출력하는 것을 특징으로 하는 시스템 버스와 아이피간 인터페이싱 장치.
  9. 제8 항에 있어서, 상기 데이타에 관한 정보는
    상기 아이피 논리부로부터 상기 시스템 버스로 상기 데이타를 전송할 모드를 나타내는 모드 정보;
    버스트 모드에서 상기 데이타를 몇 개씩 묶어서 보낼 것인가를 나타내는 묶음 정보;
    기본 어드레스에 대한 어드레스 정보; 및
    한 번에 전송할 데이타의 폭에 대한 폭 정보를 구비하는 것을 특징으로 하는 시스템 버스와 아이피간 인터페이싱 장치.
  10. 시스템 버스와 아이피(IP)간을 인터페이싱하는 인터페이싱 방법에 있어서,
    상기 아이피로부터 버스 논리부로 입력된 제1 신호에 해당하는 데이터 전송에 관한 버스 프로토콜을 생성하여 상기 시스템 버스로 전송하고, 상기 시스템 버스로부터 받아들인 제2 신호에 해당하는 버스 프로토콜을 해석하여 어드레스와 데이터에 관한 정보를 얻는 단계; 및
    상기 아이피로부터 받아들인 상기 제1 신호를 상기 버스 논리부로 제공하고, 상기 제2 신호에 해당하는 버스 프로토콜에서 해석된 결과를 상기 아이피로 전달하는 단계를 구비하는 것을 특징으로 하는 시스템 버스와 아이피간 인터페이싱 방법.
  11. 시스템 버스와 아이피(IP)간을 인터페이싱하는 인터페이싱 장치에서 수행되는 컴퓨터 프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체에 있어서,
    상기 아이피로부터 버스 논리부로 입력된 제1 신호에 해당하는 데이터 전송에 관한 버스 프로토콜을 생성하여 상기 시스템 버스로 전송하고, 상기 시스템 버스로부터 받아들인 제2 신호에 해당하는 버스 프로토콜을 해석하여 어드레스와 데이터에 관한 정보를 얻는 단계; 및
    상기 아이피로부터 받아들인 상기 제1 신호를 상기 버스 논리부로 제공하고, 상기 제2 신호에 해당하는 버스 프로토콜에서 해석된 결과를 상기 아이피로부터 전달하는 단계를 수행하는 컴퓨터 프로그램을 저장하는 것을 특징으로 하는 컴퓨터로 읽을 수 있는 기록 매체.
KR1020050123061A 2005-12-14 2005-12-14 시스템 버스와 아이피간 인터페이싱 장치와 방법 및 컴퓨터프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체 KR100797468B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050123061A KR100797468B1 (ko) 2005-12-14 2005-12-14 시스템 버스와 아이피간 인터페이싱 장치와 방법 및 컴퓨터프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050123061A KR100797468B1 (ko) 2005-12-14 2005-12-14 시스템 버스와 아이피간 인터페이싱 장치와 방법 및 컴퓨터프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체

Publications (2)

Publication Number Publication Date
KR20070063124A KR20070063124A (ko) 2007-06-19
KR100797468B1 true KR100797468B1 (ko) 2008-01-24

Family

ID=38363211

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050123061A KR100797468B1 (ko) 2005-12-14 2005-12-14 시스템 버스와 아이피간 인터페이싱 장치와 방법 및 컴퓨터프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체

Country Status (1)

Country Link
KR (1) KR100797468B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101781617B1 (ko) 2010-04-28 2017-09-25 삼성전자주식회사 통합 입출력 메모리 관리 유닛을 포함하는 시스템 온 칩
KR20140113175A (ko) 2013-03-15 2014-09-24 삼성전자주식회사 버스 프로토콜 검사기, 이를 포함하는 시스템 온 칩 및 버스 프로토콜 검사 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010019437A (ko) * 1999-08-27 2001-03-15 윤종용 상위 프로토콜과 고속 시리얼 버스의 정합방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010019437A (ko) * 1999-08-27 2001-03-15 윤종용 상위 프로토콜과 고속 시리얼 버스의 정합방법

Also Published As

Publication number Publication date
KR20070063124A (ko) 2007-06-19

Similar Documents

Publication Publication Date Title
US7475182B2 (en) System-on-a-chip mixed bus architecture
CN105573951B (zh) 一种针对数据流传输的ahb总线接口系统
CN109032973B (zh) Icb总线系统
US20050210312A1 (en) Program, recording medium, method, and information processing apparatus for controlling an execution mode of a CPU
JPH08180013A (ja) コンピュータシステム、pciバスクロック信号周波数における変化に応答してpciバス装置のコンフィギュレーションレジスタを再構成する方法、およびpciバス装置がpciバスと異なる動作速度を有することをオペレータに通知する方法
CN109634900B (zh) 一种基于axi协议的多层次低延迟互连结构
JP2002342299A (ja) クラスタシステム、コンピュータ及びプログラム
WO2008010397A1 (fr) Contrôleur de mémoire
JPH0661075B2 (ja) コンピユータシステム内でデータ転送方法
US7337260B2 (en) Bus system and information processing system including bus system
JP4233373B2 (ja) データ転送制御装置
CN102750254B (zh) 高速高带宽ahb总线到低速低带宽ahb总线的双向转换桥
CN100517283C (zh) 先进高性能系统总线连接装置及先进高性能系统总线装置
KR100797468B1 (ko) 시스템 버스와 아이피간 인터페이싱 장치와 방법 및 컴퓨터프로그램을 저장하는 컴퓨터로 읽을 수 있는 기록 매체
CN117472815A (zh) 一种axi协议下的存储模块转换接口及其转换方法
JPS63175962A (ja) 直接メモリアクセス制御装置とマルチマイクロコンピュータシステム内におけるデータ転送方法
JP2002149591A (ja) プロセッサ・ローカル・バス・システムでのバス最適化の方法および装置
CN100485648C (zh) 一种片上系统
US20020174282A1 (en) Multiprocessor system
JP2002157091A (ja) ストレージサブシステム及びそのシステムに使用する記憶装置
JP2002215333A (ja) データ転送システム及びそれを備えるコンピュータ
US20060206644A1 (en) Method of hot switching data transfer rate on bus
US7702838B2 (en) Method and apparatus for configuration space extension bus
JP4838458B2 (ja) 半導体装置
US20050193154A1 (en) Controller for peripheral communications with processing capacity for peripheral functions

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20121227

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131224

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141224

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20151224

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20161214

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee