KR100651888B1 - Apparatus and method for asynchronous interfacing - Google Patents
Apparatus and method for asynchronous interfacing Download PDFInfo
- Publication number
- KR100651888B1 KR100651888B1 KR1020050095444A KR20050095444A KR100651888B1 KR 100651888 B1 KR100651888 B1 KR 100651888B1 KR 1020050095444 A KR1020050095444 A KR 1020050095444A KR 20050095444 A KR20050095444 A KR 20050095444A KR 100651888 B1 KR100651888 B1 KR 100651888B1
- Authority
- KR
- South Korea
- Prior art keywords
- module
- signal
- output
- clock
- data
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/64—Asynchronous transfer mode [ATM] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Systems (AREA)
Abstract
Description
도 1은 일반적인 NoC의 개념도1 is a conceptual diagram of a typical NoC
도 2는 본 발명에 따른 비동기 인터페이스 장치를 포함한 Noc의 구성 블록도2 is a configuration block diagram of a Noc including an asynchronous interface device according to the present invention;
도 3a, 도 3b는 도 2의 출력 인터페이스부와 입력 인터페이스부의 동작 예를 보인 흐름도3A and 3B are flowcharts illustrating examples of an operation of the output interface unit and the input interface unit of FIG. 2.
도 4는 도 2의 비동기 인터페이스 장치의 일 실시예를 보인 상세 회로도4 is a detailed circuit diagram illustrating an embodiment of the asynchronous interface device of FIG. 2.
도 5a 내지 도 5c는 도 4의 C 요소의 상세 회로 및 동작의 일 예를 보인 도면5A through 5C show an example of detailed circuit and operation of element C of FIG.
도 6a, 도 6b는 본 발명에 따른 로컬 클럭 발생부의 상세 회로 및 동작의 일 예를 보인 도면6A and 6B illustrate examples of detailed circuits and operations of the local clock generator according to the present invention.
도면의 주요부분에 대한 부호의 설명Explanation of symbols for main parts of the drawings
210 : 연결 모듈 220 : IP 모듈210: connection module 220: IP module
230 : 비동기 인터페이스 장치 231 : 출력 인터페이스부230: asynchronous interface device 231: output interface unit
232 : 입력 인터페이스부 233 : 클럭 발생부232: input interface unit 233: clock generator
611 : 노아 게이트 612 : 선택부611: Noah gate 612: selection
613 : 클럭 제어부 614 : 오드 인버터 체인613: clock control unit 614: odd inverter chain
본 발명은 시스템 온 칩(System on Chip ; SoC)에 관한 것으로서, 특히 SoC 내 스위치와 IP(Intellectual Property)간의 인터페이스 장치 및 방법에 관한 것이다. BACKGROUND OF THE
상기 시스템 온 칩(System on Chip ; SoC)은 시스템의 주요 기능을 하나의 칩에 집적한 반도체 집적회로라고 볼 수 있다. 상기 SoC에는 메모리, 프로세서, 외부 인터페이스, 아날로그 및 혼성모드 블록, 내장 소프트웨어, OS(Operating System) 등 시스템을 구성하는 모든 하드웨어 및 소프트웨어 기능을 포함하고 있다.The System on Chip (SoC) may be regarded as a semiconductor integrated circuit in which main functions of the system are integrated on one chip. The SoC includes all the hardware and software features that make up the system, including memory, processors, external interfaces, analog and mixed-mode blocks, embedded software, and operating systems.
상기 SoC에서는 모든 구성 요소가 하나의 버스를 공유하여 상호 통신하도록 하는 인터커넥션 구조를 갖고 있는 것이 일반적인데, 이 경우 구성 요소 상호간의 통신 속도가 느린 단점이 있다. 또한, 하나의 구성 요소에서 다른 구성 요소로의 신호 전달은 특정 구성 요소에만 전달되는 것이 아니라 모든 구성 요소에 전달되므로 전력소모가 많은 단점이 있다. 아울러, 현재는 8 내지 10개 정도의 구성 요소를 하나의 칩에 탑재하여 사용하고 있지만 앞으로는 50 내지 100개 정도의 구성 요소가 탑재되도록 칩의 구조를 확장해야 할 필요성이 있다. 이 경우 버스를 공유하는 구조에 접속하는 구성 요소의 수가 증가할수록 부하가 증대되어 구성 요소간의 전송 속도가 감소하는 등 성능이 저하되기 때문에 버스 구조를 이용하여 하나의 칩에 포함되는 구성 요소의 수를 무한정 늘리는 것은 불가능하다. In the SoC, it is common to have an interconnection structure in which all components share a single bus so as to communicate with each other. In this case, a communication speed between the components is slow. In addition, the signal transmission from one component to another component is not only transmitted to a specific component but to all components, so power consumption is disadvantageous. In addition, although 8 to 10 components are mounted and used in one chip, there is a need to expand the structure of the chip to mount 50 to 100 components in the future. In this case, as the number of components connected to the bus sharing structure increases, the load increases and the transmission speed between the components decreases. Therefore, the bus structure is used to determine the number of components included in one chip. It is impossible to increase indefinitely.
이와 같이 현재는 SoC에서 각 구성 요소간의 상호 접속(Interconnection)을 위해 버스 구조를 채택하고 있지만 확장성이 없고, 데이터 전송에 지연이 발생하며, 대역폭이 제한되어 병목 현상이 발생하는 등의 문제가 있다. 또한 복수의 버스 마스터가 버스의 통제권을 얻기 위해 경쟁을 하기 때문에 버스 마스터의 수가 증가할수록 데이터 전송 지연이 증가되어 성능이 저하되고, 버스의 성능이 구성 요소 즉, IP(Intellectual Property) 코아(Core)에 의해 결정되기 때문에 버스의 성능을 최대한 사용할 수 없다. 뿐만 아니라, 현재의 버스 구조를 이용한 스위칭은 동기식으로 구현되기 때문에 클럭의 사용이 필수적이며, 이에 따른 문제를 배제할 수 없다.As such, the SoC adopts a bus structure for interconnection between components, but there are problems such as scalability, delay in data transmission, and limited bandwidth, and bottlenecks. . In addition, since a plurality of bus masters compete to gain control of the bus, as the number of bus masters increases, data transmission delay increases and performance decreases, and the performance of the bus is a component, that is, an IP (Core) core Because it is determined by, it is impossible to make the best use of the bus performance. In addition, since the switching using the current bus structure is implemented synchronously, the use of a clock is essential and a problem thereof cannot be ruled out.
이러한 상기 SoC 버스 구조의 문제점을 해결하기 위하여 SoC 내의 구성 요소 간의 연결을 스위치를 사용하여 네트워크로 구성한 플랫폼인 NoC가 제안되었다. 즉 상기 NoC는 SoC의 하위 구조이다. In order to solve the problem of the SoC bus structure, NoC, a platform in which a connection between components in the SoC is networked using a switch, has been proposed. In other words, the NoC is a substructure of the SoC.
상기 NoC가 SoC 설계에 적합한 이유로 큰 대역폭을 유지하면서 새로운 구성 요소를 쉽게 네트워크에 추가해 나갈 수 있는 확장성에 있으며, 이때 각 구성요소마다 동일한 네트워크 프로토콜을 사용함으로써 이를 구현하는 하드웨어/소프트웨어를 재사용 할 수 있다.The NoC has the scalability to easily add new components to the network while maintaining a large bandwidth for reasons suitable for SoC design. At this time, by using the same network protocol for each component, hardware / software for implementing the same can be reused. .
도 1은 NoC의 일반적인 개념도로서, 2-D(2-Dimentional) 메쉬(Mesh) 구조의 일 예를 보이고 있다. 상기 NoC는 SoC의 각 IP들을 스위치에 의해 상호 연결한 구조로 정의되며, 그 구조는 각 노드가 하나의 IP와 하나의 스위치를 포함한다. FIG. 1 is a general conceptual diagram of a NoC and shows an example of a 2-D mesh structure. The NoC is defined as a structure in which each IP of the SoC is interconnected by a switch, and each node includes one IP and one switch.
이때 상기 스위치는 비동기 방식이고, 상기 IP는 동기 방식이라면, 상기 비동기 스위치를 통한 동기 IP들간의 원활한 통신을 지원하기 위해서 상기 스위치와 IP간의 인터페이스 회로가 필요하다. At this time, if the switch is an asynchronous method and the IP is a synchronous method, an interface circuit between the switch and the IP is required to support smooth communication between the synchronous IPs through the asynchronous switch.
따라서 본 발명의 목적은 NoC를 구성하는 비동기 스위치와 동기 IP간의 원활한 통신을 지원하는 비동기 인터페이스 장치 및 방법을 제공함에 있다.Accordingly, an object of the present invention is to provide an asynchronous interface device and method for supporting smooth communication between an asynchronous switch constituting the NoC and a synchronous IP.
상기 목적을 달성하기 위하여, 본 발명에 따른 비동기 인터페이스 장치는, 비동기 연결 모듈을 통해 동기 IP 모듈간 통신을 수행하기 위해 상기 IP 모듈에서 연결 모듈로의 데이터 전송을 인터페이스함과 동시에 데이터 전송 중임을 나타내는 제어 신호를 출력하는 출력 인터페이스부; 상기 연결 모듈에서 IP 모듈로의 데이터 전송을 인터페이스함과 동시에 데이터 전송 중임을 나타내는 제어 신호를 출력하는 입력 인터페이스부; 및 상기 출력 인터페이스부와 입력 인터페이스부의 적어도 하나의 제어 신호가 데이터 전송 중임을 나타내면 상기 IP 모듈로 제공하는 클럭 발생을 중지하여 상기 IP 모듈의 동작을 정지시키는 클럭 발생부를 포함하여 구성되는 것을 특징으로 한다.In order to achieve the above object, the asynchronous interface device according to the present invention indicates that the data transmission from the IP module to the connection module and at the same time during the data transmission to perform the communication between the synchronous IP module through the asynchronous connection module An output interface unit for outputting a control signal; An input interface unit for interfacing data transmission from the connection module to the IP module and outputting a control signal indicating that data is being transmitted; And a clock generator for stopping the operation of the IP module by stopping the generation of the clock provided to the IP module when at least one control signal of the output interface unit and the input interface unit is transmitting data. .
상기 클럭 발생부는 상기 출력 인터페이스의 제어 신호와 입력 인터페이스부의 제어 신호를 노아 조합하는 논리부; 상기 논리부의 출력을 하나의 입력과 선택 신호로 제공받는 선택부; 상기 선택부의 출력이 0이면 클럭을 발생하지 않고, 1이면 정상적인 클럭을 발생하는 클럭 제어부; 및 홀수개의 인버터가 직렬 구성되며, 상기 클럭 제어부의 출력을 반전시켜 상기 선택부의 다른 입력과 클럭 제어부로 제공하는 오드 인버터 체인을 포함하여 구성되는 것을 특징으로 한다.The clock generator comprises a logic unit for combining the control signal of the output interface and the control signal of the input interface unit; A selection unit receiving the output of the logic unit as one input and a selection signal; A clock control unit for generating a normal clock when the output of the selection unit is 0 and not generating a clock; And an odd number of inverters in series, and an odd inverter chain which inverts the output of the clock control unit and provides the input to the other input and the clock control unit of the selection unit.
본 발명에 따른 SoC 내 비동기 연결 모듈을 통해 동기 IP 모듈간 통신을 수행하도록 상기 비동기 연결 모듈과 해당 IP 모듈을 인터페이스하는 비동기 인터페이스 방법은, 상기 IP 모듈에서 연결 모듈로의 데이터 전송을 인터페이스함과 동시에 데이터 전송 중임을 나타내는 제어 신호를 출력하는 출력 인터페이스 단계; 상기 연결 모듈에서 IP 모듈로의 데이터 전송을 인터페이스함과 동시에 데이터 전송 중임을 나타내는 제어 신호를 출력하는 입력 인터페이스 단계; 및 상기 출력 및 입력 인터페이스 단계의 적어도 하나의 제어 신호가 데이터 전송 중임을 나타내면 상기 IP 모듈로 제공하는 클럭 발생을 중지하여 상기 IP 모듈의 동작을 정지시키는 단계를 포함하여 이루어지는 것을 특징으로 한다.The asynchronous interface method of interfacing the asynchronous connection module and the corresponding IP module to perform the communication between the synchronous IP modules through the asynchronous connection module in the SoC according to the present invention simultaneously interface the data transmission from the IP module to the connection module. An output interface step of outputting a control signal indicating that data is being transmitted; An input interface step of interfacing data transmission from the connection module to an IP module and outputting a control signal indicating that data is being transmitted; And stopping operation of the IP module by stopping a clock generation provided to the IP module when at least one control signal of the output and input interface steps indicates that data is being transmitted.
본 발명의 다른 목적, 특징 및 잇점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.Other objects, features and advantages of the present invention will become apparent from the following detailed description of embodiments taken in conjunction with the accompanying drawings.
이하 상기의 목적을 구체적으로 실현할 수 있는 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 설명한다. 이때 도면에 도시되고 또 이것에 의해서 설명되는 본 발명의 구성과 작용은 적어도 하나의 실시예로서 설명되는 것이며, 이것에 의해서 상기한 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.Hereinafter, with reference to the accompanying drawings, preferred embodiments of the present invention that can specifically realize the above object will be described. At this time, the configuration and operation of the present invention shown in the drawings and described by it will be described as at least one embodiment, by which the technical spirit of the present invention and its core configuration and operation is not limited.
도 2는 본 발명에 따른 NoC 내 각 노드의 연결 모듈과 IP 모듈간의 관계를 보이고 있다. 2 shows a relationship between a connection module and an IP module of each node in the NoC according to the present invention.
상기 연결 모듈은 스위칭을 통해 각 IP 모듈들간을 연결해주는 상호연결(interconnection) 모듈로서, 비동기 bufferfly fat-tree network 스위치(210)를 사용하는 것을 실시예로 한다. The connection module is an interconnect module that connects the IP modules through switching, and uses an asynchronous bufferfly fat-
상기 IP 모듈(220)은 다른 노드의 IP 모듈과 독립적인(local synchronous) 클럭에 의해 동작한다. The
즉, 도 2는 하나의 IP 모듈만을 도시하고 있지만, NoC 내 IP들은 전역적(globally) 단일 클럭을 사용하지 않고, 서로 독립적인 클럭(local synchronous clock)에 의해 동작한다. That is, although FIG. 2 shows only one IP module, the IPs in the NoC do not use a single globally clock but operate by local synchronous clocks.
이때 상기 IP 모듈(220)은 래퍼(Wrapper)라는 비동기 인터페이스 장치(230)를 이용하여 연결 모듈 즉, 비동기 스위치(210)에 연결된 다른 IP들과 통신을 한다. At this time, the
상기 비동기 인터페이스 장치(230)는 도 2와 같이 독립적으로 구성될 수도 있고, 또는 IP 모듈(220) 내에 구성될 수도 있다. The
상기 비동기 인터페이스 장치(230)는 상기 IP 모듈(220)에서 스위치(210)로 출력되는 데이터를 인터페이스하는 출력 인터페이스부(231), 상기 스위치(210)에서 IP 모듈(220)로 입력되는 데이터를 인터페이스하는 입력 인터페이스부(232), 상기 입/출력 인터페이스부(231,232)의 동기 신호(out_sync,in_sync)에 따라 상기 IP 모듈(220)에 클럭을 제공하거나 중지하는 로컬 클럭 생성부(233)를 포함하여 구성된다. The
즉, 각각의 동기 IP 모듈들은 서로 독립적으로 다른 속도의 클럭으로 동작하 기 때문에 클럭 스큐(clock skew)의 문제점이 발생할 수 있는데 이를 방지하기 위하여 비동기 인터페이스 장치(230)가 이용된다. 상기 비동기 인터페이스 장치(230)는 다른 클럭으로 동작하는 동기 IP 모듈들 간의 동기화(synchronization)를 제공한다. That is, since the respective synchronous IP modules operate at different speeds independently of each other, a problem of clock skew may occur. To prevent this, the
도 3a는 상기 출력 인터페이스부(231)의 동작 과정을 보인 흐름도이다. 3A is a flowchart illustrating an operation process of the
상기 출력 인터페이스부(231)는 입력 신호로서 IP_out_req, 및 W_out_ack 신호가 있고, 출력 신호로서 W_out_req, IP_out_ack, 및 out_sync 신호가 있다. The
상기 IP_out_req 신호는 상기 IP 모듈(220)에서 비동기 인터페이스 장치(230)로 데이터를 전송하기 위한 신호이고, IP_out_ack 신호는 비동기 인터페이스 장치(230)가 데이터를 받았다는 신호로서, 상기 IP 모듈(220)로 전송된다. The IP_out_req signal is a signal for transmitting data from the
상기 IP_out_req 신호가 1이 되면, 상기 로컬 클럭 발생부(233)로 인가되는 out_sync 신호가 1이 되어서 상기 로컬 클럭 발생부(233)는 상기 IP 모듈(220)로 클럭을 제공하지 않게 되고, 이로 인해 상기 IP 모듈(220)은 동작을 멈추게 된다. 동시에 상기 비동기 인터페이스 장치(230)는 상기 W_out_req 신호를 1로 셋팅하여 상기 비동기 스위치(210)로 인가함에 의해 상기 비동기 스위치(210)에 데이터를 보낼 것을 알려준다. When the IP_out_req signal is 1, the out_sync signal applied to the
이후에 상기 비동기 스위치(210)는 상기 W_out_ack 신호를 1로 셋팅하여 상기 비동기 인터페이스 장치(230)로 인가한다. 즉, 상기 비동기 스위치(210)는 비동기 인터페이스 장치(230)가 보낸 데이터를 받았다는 것을 상기 비동기 인터페이스 장치(230)에게 알려준다. Thereafter, the
그러면, 상기 비동기 인터페이스 장치(230)는 상기 IP_out_ack를 1로 셋팅하여 상기 IP 모듈(220)로 전송한다. 이것은 상기 IP 모듈(220)에서 출력한 데이터를 비동기 스위치(210)로 제공하였다는 것을 의미한다. Then, the
상기 IP 모듈(220)은 입력된 IP_out_ack 신호가 1이면, 상기 IP_out_req 신호를 0으로 리셋하여 비동기 인터페이스 장치(230)로 출력함에 의해 초기화를 진행한다. 즉, 이 신호에 따라서 모든 신호들(out_sync, W_out_req, W_out_ack, IP_out_ack)이 0으로 초기화되어서 다음 데이터 전송(transition)을 준비하게 된다. 즉, 로컬 클럭 발생부(233)는 IP 모듈(220)에 클럭을 제공하고, 상기 IP 모듈(220)은 정상적으로 동작한다. When the input IP_out_ack signal is 1, the
도 3b는 상기 입력 인터페이스부(232)의 동작 과정을 보이는 흐름도이며, 입력 신호로서 IP_in_req, 및 W_in_ack 신호가 있고, 출력 신호로서 W_in_req, IP_in_ack, 및 in_sync 신호가 있다. 3B is a flowchart illustrating an operation process of the
도 3b를 보면, 입력 인터페이스부(232)도 출력 인터페이스부(231)와 같은 동작을 하며, 단지 신호 이름만 틀리므로 상세 설명을 생략한다. Referring to FIG. 3B, the
도 4는 도 3a, 도 3b와 같은 동작을 수행하도록 설계된 비동기 인터페이스 장치(230)의 일 실시예를 보인 상세 회로도이다. 4 is a detailed circuit diagram illustrating an embodiment of an
도 4를 보면, 상기 비동기 인터페이스 장치(230)의 출력 인터페이스부(231)와 입력 인터페이스부(232)는 둘 중에서 하나의 동작만이 가능하기 때문에 상호 배제(Mutual Exclusion ; ME)부(241)를 이용하여 중재(arbitration)를 하고 있다. 상기 상호 배제란 여러 개의 병렬 프로세스가 공통의 변수 또는 자원에 접근할 때 그 조작을 정당하게 실행하기 위하여 접근 중인 임의의 시점에서 하나의 프로세스만이 그 접근을 허용하도록 제어하는 것이다. 예를 들어 한 프로세스가 어떤 파일에 데이터를 쓰고 있을 때 다른 프로세스가 그 파일을 삭제해버린다면 많은 문제가 발생할 것이다. 따라서 상호 배제부(241)에서는 출력 인터페이스부(231)와 입력 인터페이스부(232) 중 하나만이 동작하도록 제어한다. Referring to FIG. 4, since the
그리고 상기 출력 인터페이스부(231)와 입력 인터페이스부(232)는 각각 전술한 동작이 이루어지도록 설계된 다수개의 C 요소들(elements)로 구성된다. The
즉, 상기 출력 인터페이스부(231)는 3개의 C 요소(231-1∼231-3)로 구성된다. 이때 C 요소(231-3)는 W_iut_req 신호와 W_out_ack 신호를 입력으로 받고, 그 출력은 IP_out_ack 신호가 되어 ME부(241)로 제공됨과 동시에 반전되어 C 요소(231-1,231-2)로 제공된다. 상기 C 요소(231-1)는 상기 C 요소(231-3)의 반전 출력 값과 ME부(241)를 통해 입력되는 IP_out_req 신호를 입력으로 받고, 그 출력은 W_out_req 신호가 되어 스위치(210)로 출력됨과 동시에 C 요소(231-2,231-3)로 제공된다. 상기 C 요소(231-2)는 C 요소(231-3)의 반전 출력과 C 요소(231-1)의 출력을 입력으로 받고, 그 출력은 out_sync 신호가 되어 로컬 클럭 발생부(233)로 제공된다. That is, the
상기 입력 인터페이스부(232)는 신호 이름만 다를 뿐 구성 요소는 상기 출력 인터페이스부(231)와 동일하므로 상세 설명을 생략한다. Since the
도 5는 도 4의 다수개의 C 요소들 중 하나에 대한 상세 회로와 그 동작 예를 보인 도면이다.FIG. 5 is a diagram illustrating a detailed circuit and an operation example of one of the plurality of C elements of FIG. 4.
도 5a는 231-3 또는 232-3로 명명된 C 요소이며, 도 5b는 도 5a의 C 요소를 트랜지스터 레벨로 구현한 것이다. 그리고 도 5c는 이때의 C 요소의 동작 예를 테이블로 보인 것이다. FIG. 5A is a C element labeled 231-3 or 232-3, and FIG. 5B is a transistor level implementation of the C element of FIG. 5A. 5C shows an example of the operation of the C element at this time.
도 5를 보면, 입력 A,B가 모두 0이거나, 입력 A는 1, 입력 B는 0이면 출력 C로 0을 출력하고, 입력 A,B가 모두 1이거나 입력 A는 0, 입력 B가 1이면 출력 C로 1을 출력한다. 즉, 출력 C가 0인 상태에서 입력 A가 1이 되고, 입력 B가 0이 되면 출력 C는 0을 그대로 유지한다. 입력 A가 1을 유지한 상태에서 입력 B가 1이 되면 출력 C는 1로 변한다. 입력 A가 0이 되고 입력 B가 1을 그대로 유지하면 출력 C도 1을 그대로 유지한다. 5, if input A and B are all 0 or input A is 1 and input B is 0,
상기 C 요소들은 디지털 논리 회로를 이용하여 설계할 수도 있다. The C elements may be designed using digital logic circuits.
한편 상기 로컬 클럭 발생부(233)는 출력 인터페이스부(231)와 입력 인터페이스부(232)의 동기 신호 out_sync, in_sync에 의해 제어되어 상기 IP 모듈(220)에 클럭을 공급해준다. The
즉, 상기 로컬 클럭 발생부(233)는 IP 모듈들에 대한 인터페이스를 제공하기 위해서 동기 회로로 구성된 로컬 IP 모듈(220)에 클럭을 제공한다. 이때 상기 로컬 클럭 발생부(233)는 출력/입력 인터페이스부(231,232)의 동기 신호 out_sync, in_sync에 따라 IP 모듈(220)에 제공되는 클럭을 일정 시간 동안 정지시켜서 상기 IP 모듈(220)의 동작을 중지시킨다. 즉, 상기 out_sync 신호 또는 in_sync 신호가 1이 되면 상기 IP 모듈(220)로 전송되는 클럭 신호는 정지되므로 상기 IP 모듈(220)이 동작을 멈추게 된다. 이때 상기 IP 모듈(220)은 다른 IP 모듈과 통신을 할 준비를 하게 된다. 이는 서로 다른 클럭으로 동작하는 동기 IP 모듈들 간의 동기화를 제공하기 위해서이다. 이렇게 함으로써, 각각의 동기 IP 모듈들이 서로 독립적으로 다른 속도의 클럭으로 동작을 함에 의해 생기는 클럭 스큐의 문제점을 해결할 수 있다. That is, the
도 6a는 상기 로컬 클럭 발생부(233)의 일 실시예를 나타낸 상세 회로도로서, 노아 게이트(611), 선택부(612), 클럭 제어부(613), 및 오드 인버터 체인(614)으로 구성된다. 상기 클럭 제어부(613)는 상기 선택부(612)의 출력과 오드 인버터 체인(614)의 출력을 낸드 조합하여 출력하는 낸드 게이트와, 상기 낸드 게이트의 출력을 반전시켜 출력하는 반전부로 구성된다. 상기 오드 인버터 체인(614)은 홀수개의 인버터가 직렬 연결된 구조이다. FIG. 6A is a detailed circuit diagram illustrating an embodiment of the
상기 노아 게이트(611)는 출력 인터페이스부(231)의 동기 신호 out_sync와 입력 인터페이스부(232)의 동기 신호 in_sync가 모두 0인 경우에만 1을 출력하고, 그 이외의 경우에는 0을 출력한다. 이때 상기 out_sync 신호와 in_sync 신호는 동시에 1이 되지는 않는다. The NOR
상기 노아 게이트(611)의 출력은 선택부(612)의 제1 입력단과 선택 신호단(sel)으로 제공된다. 상기 선택부(612)는 제2 입력단으로 오드 인버터 체인(614)의 출력을 제공받는다. 상기 선택부(612)는 노아 게이트(611)의 출력이 0이면 노아 게이트(611)에서 출력되는 0을 선택하여 클럭 제어부(613)로 출력하고, 1이면 오드 인버터 체인(614)의 출력을 선택하여 클럭 제어부(613)로 출력한다. The output of the NOR
따라서 상기 out_sync 신호와 in_sync 신호 중 한 신호라도 1이 되면, 노아 게이트(611)와 선택부(612)를 통해서 0이 클럭 제어부(613)로 인가된다. 상기 클럭 제어부(613)는 상기 선택부(612)에서 0이 인가되면 클럭 신호로 0을 출력하는 비대칭(asymmetric) 회로이다. Accordingly, when any one of the out_sync signal and the in_sync signal is 1, 0 is applied to the
즉, 도 6b에서와 같이 상기 클럭 제어부(613)의 낸드 게이트는 선택부(612)의 출력이 0이면 오드 인버터 체인(614)의 출력에 상관없이 무조건 1을 출력하고, 이 출력이 반전부를 통과하면 0이 되어 IP 모듈(220)로 출력된다. 이 경우 IP 모듈(220)은 동작이 멈추게 되고, 상기 IP 모듈(220)과 다른 IP 모듈간의 통신이 이루어지게 된다.That is, as shown in FIG. 6B, when the output of the
그러다가 IP 모듈간의 통신이 끝나 상기 out_sync 신호와 in_sync 신호가 모두 0이 되면 노아 게이트(611)의 출력은 1이 되고, 클럭 제어부(613)는 오드 인버터 체인(614)의 출력을 그대로 클럭 신호로서 IP 모듈(220)로 출력한다. 이때 상기 오드 인버터 체인(614)는 홀수개의 인버터로 구성되므로, 클럭 제어부(613)의 출력이 1이면 0을 출력하고, 0이면 1을 출력한다. 따라서 상기 클럭 신호는 0과 1을 주기적으로 반복하는 정상적인 클럭 신호이며, 상기 클럭 신호의 주기는 오드 인버터 체인(614)을 구성하는 인버터의 수에 의해 결정된다. 그리고 상기 IP 모듈(220)은 상기 클럭 신호에 의해 정상 동작을 하게 된다.Then, when the communication between the IP modules ends and the out_sync signal and the in_sync signal are both 0, the output of the
한편, 본 발명에서 사용되는 용어(terminology)들은 본 발명에서의 기능을 고려하여 정의 내려진 용어들로써 이는 당분야에 종사하는 기술자의 의도 또는 관례 등에 따라 달라질 수 있으므로 그 정의는 본 발명의 전반에 걸친 내용을 토대로 내려져야 할 것이다. On the other hand, the terms used in the present invention (terminology) are terms defined in consideration of the functions in the present invention may vary according to the intention or practice of those skilled in the art, the definitions are the overall contents of the present invention It should be based on.
본 발명은 상술한 실시예에 한정되지 않으며, 첨부된 청구범위에서 알 수 있는 바와 같이 본 발명이 속한 분야의 통상의 지식을 가진 자에 의해 변형이 가능하고 이러한 변형은 본 발명의 범위에 속한다. The present invention is not limited to the above-described embodiments, and as can be seen in the appended claims, modifications can be made by those skilled in the art to which the invention pertains, and such modifications are within the scope of the present invention.
상기에서 설명한 본 발명에 따른 비동기 인터페이스 장치 및 방법에 의하면, IP 모듈간 통신을 위해 비동기 스위치 회로를 사용하는 모든 SoC에서 사용이 가능하며, 또한 다양한 IP를 연결해야 할 필요가 있는 회로설계에서 인터페이스로 바로 사용될 수 있어서, 설계 비용(design cost)을 줄일 수 있다.According to the asynchronous interface device and method according to the present invention described above, it can be used in any SoC using an asynchronous switch circuit for communication between IP modules, and also from the circuit design to the interface that needs to connect various IP to the interface Can be used immediately, reducing the design cost.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.Those skilled in the art will appreciate that various changes and modifications can be made without departing from the spirit of the present invention.
따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정해져야 한다. Therefore, the technical scope of the present invention should not be limited to the contents described in the embodiments, but should be defined by the claims.
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050095444A KR100651888B1 (en) | 2005-10-11 | 2005-10-11 | Apparatus and method for asynchronous interfacing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050095444A KR100651888B1 (en) | 2005-10-11 | 2005-10-11 | Apparatus and method for asynchronous interfacing |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100651888B1 true KR100651888B1 (en) | 2006-12-01 |
Family
ID=37731539
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050095444A KR100651888B1 (en) | 2005-10-11 | 2005-10-11 | Apparatus and method for asynchronous interfacing |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100651888B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170088751A (en) * | 2016-01-25 | 2017-08-02 | 삼성전자주식회사 | Semiconductor device, semiconductor system and method for operating semiconductor device |
-
2005
- 2005-10-11 KR KR1020050095444A patent/KR100651888B1/en not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170088751A (en) * | 2016-01-25 | 2017-08-02 | 삼성전자주식회사 | Semiconductor device, semiconductor system and method for operating semiconductor device |
KR102568225B1 (en) | 2016-01-25 | 2023-08-17 | 삼성전자주식회사 | Semiconductor device, semiconductor system and method for operating semiconductor device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2610213B2 (en) | Synchronization device and synchronization method | |
JP5317356B2 (en) | Clock control signal generation circuit, clock selector, and information processing apparatus | |
US20080215786A1 (en) | Electronic Device And A Method For Arbitrating Shared Resources | |
US6249875B1 (en) | Interface circuit using plurality of synchronizers for synchronizing respective control signals over a multi-clock environment | |
US8593313B2 (en) | Parallel-to-serial conversion circuit, information processing apparatus, information processing system, and parallel-to-serial conversion method | |
US20150365740A1 (en) | Transmission apparatus and transmission method | |
US8132036B2 (en) | Reducing latency in data transfer between asynchronous clock domains | |
CN102110064A (en) | Low latency serial memory interface | |
JP2001016234A (en) | Can controller and one-chip computer incorporating the can controller | |
CN101710311B (en) | Asymmetric multivariate resource node architecture | |
KR100651888B1 (en) | Apparatus and method for asynchronous interfacing | |
Adetomi et al. | Clock buffers, nets, and trees for on-chip communication: A novel network access technique in FPGAs | |
WO2012171582A1 (en) | Resolving address conflicts in a bus system | |
US11947475B2 (en) | Synchronized processing of process data and delayed transmission | |
US7205815B2 (en) | Method and integrated circuit apparatus for reducing simultaneously switching output | |
JP4447341B2 (en) | Information processing device | |
EP3739463A1 (en) | Circuit for asynchronous data transfer | |
JP3866562B2 (en) | Semiconductor integrated circuit design method | |
JP2004326222A (en) | Data processing system | |
JP5378765B2 (en) | Data transfer system | |
CN111435340B (en) | Internet bus unit, data transmission method, wishbone Internet module and chip | |
JP6121690B2 (en) | Clock parallel serializer circuit | |
KR100949272B1 (en) | Semiconductor device and operation method thereof | |
JPH10112635A (en) | Register circuit, sequential circuit using the register circuit, and pipeline circuit | |
Saneei et al. | A mesochronous technique for communication in network on chips |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |