KR100617386B1 - Asynchronous Switch Based on Butterfly Fat-Tree for Network On Chip Applications - Google Patents

Asynchronous Switch Based on Butterfly Fat-Tree for Network On Chip Applications Download PDF

Info

Publication number
KR100617386B1
KR100617386B1 KR1020040068370A KR20040068370A KR100617386B1 KR 100617386 B1 KR100617386 B1 KR 100617386B1 KR 1020040068370 A KR1020040068370 A KR 1020040068370A KR 20040068370 A KR20040068370 A KR 20040068370A KR 100617386 B1 KR100617386 B1 KR 100617386B1
Authority
KR
South Korea
Prior art keywords
data
output
signal
input
unit
Prior art date
Application number
KR1020040068370A
Other languages
Korean (ko)
Other versions
KR20050115195A (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
Priority to KR20040040205 priority Critical
Priority to KR1020040040205 priority
Application filed by 광주과학기술원 filed Critical 광주과학기술원
Priority claimed from US11/023,087 external-priority patent/US7467358B2/en
Publication of KR20050115195A publication Critical patent/KR20050115195A/en
Application granted granted Critical
Publication of KR100617386B1 publication Critical patent/KR100617386B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Switching fabric construction
    • H04L49/109Switching fabric construction integrated on microchip, e.g. switch-on-chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3081ATM peripheral units, e.g. policing, insertion or extraction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Queuing arrangements
    • H04L49/9042Separate storage for different parts of the packet, e.g. header and payload

Abstract

네트워크 온 칩 내에서 다양한 IP(Intellectual Property)들을 통하여 IP간의 통신을 가능하게 하는 네트워크 온 칩 어플리케이션을 위한 비동기 스위치 회로를 제시한다.This paper presents an asynchronous switch circuit for network on chip application that enables communication between IPs through various IP (Intellectual Property) in network on chip.

본 발명의 비동기 스위치 회로는 복수의 데이터 플릿을 입력받아 임시 저장하고, 데이터 전송 요청 신호에 따라 각 데이터 플릿의 종류가 헤더 플릿인지 패이로드 플릿인지 확인하는 데이터 입력부, 데이터 입력부로부터 헤더 플릿 처리 요청 신호, 마지막 패이로드 플릿 처리 요청 신호, 헤더 플릿의 라우팅 정보 및 중재 요청 신호를 수신함에 따라, 출력포트 선택신호를 출력하기 위한 출력포트 중재부, 출력포트 중재부에서 결정한 데이터 출력 우선 순위에 따라 데이터 플릿을 순차적으로 저장하는 데이터 이동경로 설정부 및 데이터 입력부로부터 헤더 저장 요청 신호 및 패이로드 저장 요청 신호를 수신하고, 데이터 이동 경로 설정부로부터 입력되는 데이터 플릿을 임시 저장한 후 정해진 순서에 따라 지정된 포트로 출력하기 위한 데이터 출력부를 포함한다.The asynchronous switch circuit of the present invention receives and temporarily stores a plurality of data flits, and checks whether a data type is a header flit or a payload flit according to a data transmission request signal, and a header flit processing request signal from the data input part. In response to receiving the last payload fleet processing request signal, header fleet routing information, and arbitration request signal, an output port arbitration unit for outputting an output port selection signal and a data output priority determined by the data output priority determined by the output port arbitration unit Receives a header storage request signal and a payload storage request signal from a data movement path setting unit and a data input unit sequentially storing the data streams, and temporarily stores data flits inputted from the data movement path setting unit to a designated port in a predetermined order. Data output section for output Include.

네트워크 온 칩, 비동기 스위치Network On Chip, Asynchronous Switch

Description

네트웍 온 칩 어플리케이션을 위한 버터플라이 팻-트리를 사용한 비동기 스위치 회로{Asynchronous Switch Based on Butterfly Fat-Tree for Network On Chip Applications}Asynchronous Switch Based on Butterfly Fat-Tree for Network On Chip Applications}

도 1은 일반적인 네트워크 온칩 구조의 일 예를 설명하기 위한 도면,1 is a view for explaining an example of a general network on-chip structure,

도 2는 본 발명에 의한 비동기 스위치 회로의 개념도,2 is a conceptual diagram of an asynchronous switch circuit according to the present invention;

도 3은 도 2에 도시한 비동기 스위치 회로의 상세 구성도,3 is a detailed configuration diagram of the asynchronous switch circuit shown in FIG. 2;

도 4a 및 4b는 본 발명에 적용되는 데이터 포맷을 설명하기 위한 도면,4A and 4B are diagrams for explaining a data format applied to the present invention;

도 5는 본 발명에 적용되는 데이터 입력부의 상세 구성도,5 is a detailed configuration diagram of a data input unit applied to the present invention;

도 6은 도 5에 도시한 하위 입력처리 모듈의 상세 구성도,6 is a detailed configuration diagram of a lower input processing module shown in FIG. 5;

도 7은 도 5에 도시한 상위 입력처리 모듈의 상세 구성도,FIG. 7 is a detailed configuration diagram of an upper input processing module shown in FIG. 5;

도 8은 도 6 및 도 7에 도시한 패이로드 제어부의 상세 구성도,FIG. 8 is a detailed configuration diagram of the payload control unit illustrated in FIGS. 6 and 7;

도 9는 도 6 및 도 7에 도시한 헤더 제어부의 상세 구성도,9 is a detailed configuration diagram of the header control unit shown in FIGS. 6 and 7;

도 10a 내지 10c는 본 발명에 적용되는 C-엘리먼트 회로도 및 비대칭 C-엘리먼트 회로의 일 실시예를 나타내는 도면,10A to 10C are diagrams illustrating an embodiment of a C-element circuit diagram and an asymmetric C-element circuit applied to the present invention;

도 11a 및 11b는 도 6 및 도 7에 도시한 데이터 저장부의 상세 구성도,11A and 11B are detailed configuration diagrams of the data storage unit shown in FIGS. 6 and 7;

도 12 및 도 13은 본 발명에 적용되는 출력포트 중재부의 상세 구성도,12 and 13 is a detailed configuration diagram of the output port arbitration unit applied to the present invention,

도 14는 도 13에 도시한 하위 중재모듈의 상세 구성도,14 is a detailed configuration diagram of the lower arbitration module shown in FIG. 13;

도 15는 도 13에 도시한 상위 중재모듈의 상세 구성도,15 is a detailed configuration diagram of a higher arbitration module shown in FIG. 13;

도 16은 도 14에 도시한 6-by-1 트리 중재기의 상세 구성도,16 is a detailed configuration diagram of the 6-by-1 tree arbiter shown in FIG. 14;

도 17은 도 16에 도시한 2-by-1 트리 중재기의 상세 구성도,17 is a detailed block diagram of the 2-by-1 tree arbiter shown in FIG. 16;

도 18은 도 17에 도시한 ME 회로의 상세 구성도,18 is a detailed configuration diagram of the ME circuit shown in FIG. 17;

도 19는 본 발명에 적용되는 데이터 이동경로 설정부의 상세 구성도,19 is a detailed configuration diagram of a data movement path setting unit applied to the present invention;

도 20은 도 19에 도시한 하위 이동경로 설정부의 상세 구성도,20 is a detailed configuration diagram of the lower movement path setting unit shown in FIG. 19;

도 21은 도 19에 도시한 상위 이동경로 설정부의 상세 구성도,FIG. 21 is a detailed configuration diagram of a higher movement path setting unit shown in FIG. 19;

도 22는 도 20에 도시한 6-by-1 TG MUX의 상세 구성도,FIG. 22 is a detailed configuration diagram of 6-by-1 TG MUX shown in FIG. 20;

도 23은 도 21에 도시한 4-by-1 TG MUX의 상세 구성도,FIG. 23 is a detailed configuration diagram of the 4-by-1 TG MUX shown in FIG. 21;

도 24는 본 발명에 적용되는 데이터 출력부의 상세 구성도,24 is a detailed configuration diagram of a data output unit applied to the present invention;

도 25는 도 24에 도시한 입력 제어부의 상세 구성도,25 is a detailed block diagram of the input control unit shown in FIG. 24;

도 26은 도 24에 도시한 버퍼의 상세 구성도,FIG. 26 is a detailed configuration diagram of the buffer shown in FIG. 24;

도 27은 도 26에 도시한 2상 선입선출 버퍼의 상세 구성도,FIG. 27 is a detailed configuration diagram of the two-phase first-in first-out buffer shown in FIG. 26;

도 28은 도 24에 도시한 출력 제어부의 상세 구성도,28 is a detailed configuration diagram of the output control unit shown in FIG. 24;

<도면의 주요 부분에 대한 부호 설명><Description of the symbols for the main parts of the drawings>

110 : 데이터 입력부 120 : 출력포트 중재부110: data input unit 120: output port arbitration unit

130 : 데이터 이동경로 설정부 140 : 데이터 출력부130: data movement path setting unit 140: data output unit

150, 160 : 제 1 및 제 2 지연부150 and 160: first and second delay units

111, 112, 113, 114 : 하위 입력처리 모듈111, 112, 113, 114: lower input processing module

115, 116 : 상위 입력처리 모듈 1111, 1151 : 패이로드 제어부115, 116: upper input processing module 1111, 1151: payload control unit

1112, 1152 : 헤더 제어부 1113, 1153 : 데이터 저장부1112 and 1152: Header control unit 1113 and 1153: Data storage unit

1114, 1154 : 헤더 플릿 처리 요청 신호 발생부1114, 1154: header fleet processing request signal generator

1115 : 데이터 선택부 1 115' : 보조 데이터 선택부1115: data selector 1 115 ': auxiliary data selector

1116 : 하위 데이터 저장부 1116' : 보조 데이터 저장부1116: lower data storage 1116 ': auxiliary data storage

1116" : 상위 데이터 저장부 121, 122, 123, 124 : 하위 중재모듈1116 ": Upper data storage 121, 122, 123, 124: Lower arbitration module

125, 126 : 상위 중재모듈 1211, 1251 : 중재 유닛125, 126: higher arbitration module 1211, 1251: arbitration unit

1212, 1252 : 웜홀 라우팅 처리유닛 1213, 1253 : 경로 설정 제어유닛1212, 1252: Wormhole routing processing unit 1213, 1253: Path setting control unit

131, 132, 133, 134 : 하위 이동경로 설정부131, 132, 133, 134: lower movement path setting unit

135, 136 : 상위 이동경로 설정부 141 : 입력 제어부135, 136: higher movement path setting unit 141: input control unit

142 : 버퍼 143 : 출력 제어부142: buffer 143: output control unit

144 : 지연수단144 delay means

본 발명은 비동기 스위치 회로에 관한 것으로, 보다 상세하게는 네트워크 온칩 내에서 다양한 IP(Intellectual Property)들을 통하여 IP간의 통신을 가능하게 하는 네트웍 온칩 어플리케이션을 버터플라이 팻-트리를 사용한 비동기 스위치 회로에 관한 것이다.The present invention relates to an asynchronous switch circuit, and more particularly, to an asynchronous switch circuit using a butterfly fat-tree for network on-chip applications that enable communication between IPs through various IP (Intellectual Property) in the network on-chip. .

빠르게 증가하는 멀티미디어 기능을 만족하기 위해서는 수백만 게이트를 하 나의 칩에 구현하는 시스템 온칩(System on Chip; SoC) 기술이 필수적이다. SoC는 시스템의 주요 기능을 하나의 칩에 집적한 반도체 집적회로라고 볼 수 있다. SoC에는 메모리, 프로세서, 외부 인터페이스, 아날로그 및 혼성모드 블록, 내장 소프트웨어, OS 등 시스템을 구성하는 모든 하드웨어 및 소프트웨어 기능을 포함하고 있다.To meet the rapidly growing multimedia capabilities, System on Chip (SoC) technology is essential, with millions of gates on one chip. SoC can be viewed as a semiconductor integrated circuit that integrates the main functions of the system into one chip. The SoC contains all the hardware and software features that make up the system, including memory, processors, external interfaces, analog and mixed-mode blocks, embedded software, and an operating system.

SoC에서는 모든 구성 요소가 하나의 버스를 공유하여 상호 통신하도록 하는 인터커넥션 구조를 갖고 있는 것이 일반적인데, 이 경우 구성 요소 상호간의 통신 속도가 느린 단점이 있다. 또한, 하나의 구성 요소에서 다른 구성 요소로의 신호 전달은 특정 구성 요소에만 전달되는 것이 아니라 모든 구성 요소에 전달되므로 전력소모가 많은 단점이 있다. 아울러, 현재는 8 내지 10개 정도의 구성 요소를 하나의 칩에 탑재하여 사용하고 있지만 앞으로는 50 내지 100개 정도의 구성 요소가 탑재되도록 칩의 구조를 확장해야 할 필요성이 있다. 이 경우, 버스를 공유하는 구조에 접속하는 구성 요소의 수가 증가할수록 부하가 증대되어 구성 요소간의 전송 속도가 감소하는 등 성능이 저하되기 때문에 버스 구조를 이용하여 하나의 칩에 포함되는 구성 요소의 수를 무한정 늘리는 것은 불가능하다.SoCs generally have an interconnection structure in which all components share a single bus to communicate with each other. In this case, communication between 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 number of components included in one chip using the bus structure is reduced. It is impossible to increase the number indefinitely.

이와 같이, 현재는 시스템 온칩에서 각 구성 요소간의 상호 접속(Interconnection)을 위해 버스 구조를 채택하고 있지만 확장성이 없고, 데이터 전송에 지연이 발생하며, 대역폭이 제한되어 병목현상이 발생하는 등의 문제가 있다. 또한, 복수의 버스 마스터가 버스의 통제권을 얻기 위해 경쟁을 하기 때문에 버스 마스터의 수가 증가할수록 데이터 전송 지연이 증가되어 성능이 저하되고, 버스의 성능이 IP에 의해 결정되기 때문에 버스의 성능을 최대한 사용할 수 없다. 뿐만 아니라, 현재의 버스 구조를 이용한 스위칭은 동기식으로 구현되기 때문에 클럭의 사용이 필수적이며, 이에 따른 문제를 배제할 수 없다.As such, at present, system-on-chip employs a bus structure for interconnection between components, but has no scalability, delays in data transmission, and bandwidth limitations, causing bottlenecks. There is. In addition, since multiple bus masters compete to gain control of the bus, as the number of bus masters increases, data transfer delay increases, resulting in poor performance, and the performance of the bus is determined by IP. Can't. 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.

한편, 이상에서 설명한 시스템 온칩의 문제를 해결하고, 하나의 칩에서 대규모 IP들간의 원활한 통신을 지원하기 위하여 연구되고 있는 것이 네트워크 온칩(Network on Chip)이다. 네트워크 온칩을 적용하게 되면, 시스템 온칩에서 나타나는 여러가지 문제 즉, 확장성의 한계, 데이터 전송 지연, 전력 소모 등을 해결할 수 있을 것으로 전망되나 아직까지는 더욱 많은 연구가 필요한 단계에 있다.Meanwhile, a network on chip is being studied to solve the problem of the system on chip described above and to support smooth communication between large-scale IPs in one chip. The application of network on chip is expected to solve various problems of system on chip such as scalability limitation, data transmission delay, power consumption, etc., but more research is needed.

본 발명은 상술한 문제점을 해결하기 위하여 안출된 것으로서, 네트워크 온칩에서 각 IP들 간의 상호 접속을 지원하기 위한 비동기 스위치 회로를 제공하는 데 그 기술적 과제가 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and there is a technical problem to provide an asynchronous switch circuit for supporting interconnections between IPs in a network on a chip.

상술한 기술적 과제를 달성하기 위한 본 발명은 복수개의 데이터 패킷을 전달하기 위한 네트워크 온 칩 어플리케이션을 위한 비동기 스위치 회로로서, 상기 데이터 패킷은 하나의 헤더 플릿 및 적어도 하나의 패이로드 플릿으로 이루어지며, 복수의 데이터 플릿을 입력받아 임시 저장하고, 데이터 전송 요청 신호에 따라 상기 각 데이터 플릿의 종류가 헤더 플릿인지 패이로드 플릿인지 확인하는 데이터 입력부; 상기 데이터 입력부로부터 헤더 플릿 처리 요청 신호, 마지막 패이로드 플릿처리 요청 신호, 상기 헤더 플릿의 라우팅 정보 및 중재 요청 신호를 수신함에 따 라, 상기 데이터의 출력 우선 순위를 나타내는 출력포트 선택신호를 출력하기 위한 출력포트 중재부; 상기 출력포트 중재부에서 결정한 데이터 출력 우선 순위에 따라 상기 데이터 플릿을 순차적으로 저장하는 데이터 이동경로 설정부; 및 상기 데이터 입력부로부터 헤더 저장 요청 신호 및 패이로드 저장 요청 신호를 수신하고, 상기 데이터 이동 경로 설정부로부터 입력되는 데이터 플릿을 임시 저장한 후 상기 데이터 플릿을 저장하였음을 나타내는 헤더 및 패이로드 저장 완료 신호를 상기 데이터 입력부로 전송하고, 상기 임시 저장된 데이터 플릿을 정해진 순서에 따라 지정된 포트로 출력하기 위한 데이터 출력부;를 포함한다.The present invention for achieving the above-described technical problem is an asynchronous switch circuit for a network-on-chip application for delivering a plurality of data packets, the data packet is composed of one header flit and at least one payload flit, A data input unit configured to receive a data fleet of the data fleet and temporarily store the received data fleet, and to determine whether the data fleet is a header flit or a payload flit according to a data transmission request signal; In response to receiving a header flit processing request signal, a last payload flit processing request signal, routing information of the header flit, and an arbitration request signal from the data input unit, an output port selection signal indicating an output priority of the data is output. Output port arbitration unit; A data movement path setting unit for sequentially storing the data flits according to the data output priority determined by the output port arbitration unit; And a header and payload storage completion signal indicating that the data fleet is stored after receiving a header storage request signal and a payload storage request signal from the data input unit, temporarily storing the data fleet inputted from the data movement path setting unit. And a data output unit for transmitting to the data input unit and outputting the temporarily stored data flits to a designated port in a predetermined order.

본 발명에서 제시하는 스위치 회로는 비동기 방식이므로 클록을 사용하지 않고, 핸드쉐이크 프로토콜 중 하나인 4상 번들 데이터 프로토콜(4 phase bundled data protocol)을 사용한다. 또한, 스위치의 성능을 최대화하기 위해 웜홀 스위칭(worm hole switching) 기술을 도입하였으며, 출력 버퍼링을 이용하여 제어 로직을 간단화하였다. 핸드쉐이크 프로토콜이란 데이터 전송시 송수신단 간의 동기화를 위해 둘 이상의 장치 사이에서 교환되는 메시지 시퀀스로서, 상대방 장치가 데이터를 받을 준비가 되어 있는지 확인하는 기능을 의미하고, 4상 번들 데이터 프로토콜은 이러한 시퀀스가 복수개의 데이터 묶음으로 이루어지는 것을 의미한다. 아울러, 웜홀 스위칭은 하나의 데이터 패킷을 복수개의 플릿으로 나누어 전송할 때 첫번째 플릿의 전송을 개시한 후부터 마지막 플릿을 전송할 때까지 데이터 전송 경로를 점유하여, 해당 데이터 전송 경로로 타 데이터 패킷이 전송되지 않도록 하는 것을 말한다.Since the switch circuit proposed in the present invention is an asynchronous method, it does not use a clock but uses a 4 phase bundled data protocol, which is one of the handshake protocols. In addition, worm hole switching technology is introduced to maximize switch performance, and the output buffering is used to simplify control logic. The handshake protocol is a sequence of messages exchanged between two or more devices for synchronization between transmitters and receivers during data transmission. It refers to the ability of the other device to verify that it is ready to receive data. It means a plurality of data bundles. In addition, when wormhole switching divides one data packet into a plurality of flits and transmits the data, the wormhole switching occupies the data transmission path from the start of the first fleet to the last fleet so that other data packets are not transmitted to the corresponding data transmission path. I say that.

또한 본 발명은, 스위치 회로의 토폴로지로서 버터플라이 팻-트리(butterfly fat-tree) 형태를 채택하였으며, 이러한 토폴로지에 적합한 플릿(flit) 포맷을 제공하여, 가변 길이 플릿을 송수신할 수 있도록 하였다. 버터플라이 팻-트리는 대규모 통신망에 유용한 구조로서, 면적 및 체적 보편성(area/volume universality) 등의 우수한 특징을 갖는다.In addition, the present invention adopts a butterfly fat-tree form as a topology of a switch circuit, and provides a flit format suitable for such a topology, so that a variable length flit can be transmitted and received. Butterfly fat-trees are useful structures for large-scale communication networks and have excellent features such as area and volume universality.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 보다 상세히 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 일반적인 네트워크 온칩 구조의 일 예를 설명하기 위한 도면이다.1 is a diagram illustrating an example of a general network on-chip structure.

도시한 것과 같이, 하나의 IP(R)에 하나의 스위치(S)가 연결되어 있는 것을 알 수 있다. 이와 같은 네트워크 온칩 구조에서는 하나의 스위치(S)에 5개의 입출력 포트가 있어야 하며, 정해진 라우팅 알고리즘에 의해서 입력되는 패킷을 목적지까지 전송하는 일을 수행한다. 이 경우 네트워크의 중심으로 갈수록 트래픽이 증가하여 네트워크의 중심에서는 고속의 스위치를 사용해야 한다. 또한, 트래픽이 증가할수록 스위치에 있는 입출력 큐(Queue)의 길이가 증가하게 되므로 네트워크의 중심에 있는 스위치의 버퍼를 크게 설계해야 한다.As shown, it can be seen that one switch (S) is connected to one IP (R). In such a network-on-chip structure, five I / O ports must be provided in one switch S, and a packet inputted by a predetermined routing algorithm is transmitted to a destination. In this case, as the traffic increases toward the center of the network, a high-speed switch must be used in the center of the network. Also, as the traffic increases, the length of the I / O queue in the switch increases, so the buffer of the switch in the center of the network must be designed large.

도 2는 본 발명에 의한 비동기 스위치 회로의 개념도이다.2 is a conceptual diagram of an asynchronous switch circuit according to the present invention.

도시한 것과 같이, 본 발명에 의한 네트워크 온칩 어플리케이션을 위한 비동기 스위치 회로는 리셋 신호, 제어 신호 및 복수의 데이터를 입력받아 임시 저장하는 데이터 입력부(110), 리셋 신호가 입력되며 데이터 입력부(110)로 복수의 데이터가 동시에 입력되어 동일한 출력 포트로 출력되고자 할 때, 출력 데이터의 우선 순위를 결정하기 위한 출력포트 중재부(120), 출력포트 중재부(120)에서 결정한 데이터 출력 순위에 따라 데이터를 이동시키기 위한 데이터 이동경로 설정부(130), 리셋 신호 및 제어 신호에 따라 데이터 이동 경로 설정부(130)로부터 입력되는 데이터를 지정된 포트로 출력하기 위한 데이터 출력부(140)를 포함한다.As shown, the asynchronous switch circuit for a network on-chip application according to the present invention is a data input unit 110 for receiving and temporarily storing a reset signal, a control signal and a plurality of data, a reset signal is input to the data input unit 110 When a plurality of data are simultaneously input and output to the same output port, the data is moved according to the data output ranking determined by the output port arbitration unit 120 and the output port arbitration unit 120 to determine the priority of the output data. And a data output unit 140 for outputting data input from the data movement path setting unit 130 to a designated port according to the data movement path setting unit 130 and the reset signal and the control signal.

보다 구체적으로 설명하면, 데이터 입력부(110)는 데이터가 입력되면 주어진 데이터 포멧으로부터 해당 데이터가 헤더(header)인지 패이로드(payload)인지를 확인하여 그 종류에 따라 디코딩을 수행하며, 데이터 출력부(140)로 데이터 종류(헤더, 패이로드)별 처리를 요청한다.In more detail, when data is input, the data input unit 110 checks whether the data is a header or a payload from a given data format and decodes the data according to the type. 140) request processing for each data type (header, payload).

출력포트 중재부(120)는 데이터 입력부(110)로부터 중재 요청신호, 헤더 플릿 처리 요청 신호, 마지막 패이로드 저장 완료 신호 및 라우팅 정보를 입력받아 동일한 출력포트로 동시에 출력되고자 하는 데이터 중 하나를 선택한 후 그 결과를 데이터 입력부(110)로 전송한다(중재신호 요청 응답 신호). 또한, 데이터별로 선택한 출력 포트 정보를 데이터 이동경로 설정부(130)로 전송하여, 데이터가 데이터 이동경로 설정부(130)를 통해 데이터 출력부(140)로 정확하게 전달되도록 한다.The output port arbitration unit 120 receives one of the arbitration request signal, the header fleet processing request signal, the last payload storage completion signal, and the routing information from the data input unit 110, and selects one of the data to be simultaneously output to the same output port. The result is transmitted to the data input unit 110 (arbitration signal request response signal). In addition, the output port information selected for each data is transmitted to the data movement path setting unit 130 so that the data is correctly transmitted to the data output unit 140 through the data movement path setting unit 130.

데이터 출력부(140)는 데이터 입력부(110)로부터 데이터 처리 요청 신호를 입력받고(헤더 처리 요청신호, 패이로드 저장 완료 신호), 출력포트 중재부(120)로부터 출력포트 정보를 입력받아, 데이터 이동 경로 설정부(130)를 통해 입력된 데이터를 정해진 출력포트로 출력한다. 데이터를 임시 저장한 후에는 데이터 저장 완료 신호를 출력포트 중재부(120)로 전송하여 데이터 저장이 완료되었음을 통보하고, 정해진 포트로 데이터를 출력한 후에는 이를 데이터 입력부(110)로 알려(헤더 처리 응답 신호, 패이로드 처리 응답 신호) 데이터 입력부가 이후의 데이터를 처리하기 위해 기 저장한 데이터를 삭제할 수 있도록 한다.The data output unit 140 receives a data processing request signal from the data input unit 110 (header processing request signal, payload storage completion signal), receives output port information from the output port arbitration unit 120, and moves data. Outputs the data input through the path setting unit 130 to a predetermined output port. After temporarily storing the data, the data storage completion signal is transmitted to the output port arbitration unit 120 to notify that the data storage is completed, and after outputting the data to the designated port, the data input unit 110 is notified (header processing). Response signal, payload processing response signal) The data input unit may delete previously stored data to process subsequent data.

아울러, 데이터 입력부(110)는 데이터 전송을 요청한 타 스위치 또는 IP로 입력 데이터를 처리하였음을 알리는 신호(입력요청 응답 신호)를 전송하고, 데이터 출력부(140)는 해당 출력 포트로 데이터를 출력한 후, 다음 단 스위치의 데이터 입력부로 출력 요청신호를 전송하여, 다음 단 스위치에서도 이상에서 설명한 과정에 의해 데이터가 출력되도록 하며, 다음 단 스위치의 데이터 입력부는 출력 요청 신호에 대한 응답 신호(출력 응답 신호)를 데이터 출력부(140)로 전송한다.In addition, the data input unit 110 transmits a signal (input request response signal) indicating that the input data has been processed by another switch or IP requesting data transmission, and the data output unit 140 outputs data to the corresponding output port. After that, the output request signal is transmitted to the data input unit of the next stage switch, so that the data is output by the above-described process in the next stage switch, and the data input unit of the next stage switch is a response signal (output response signal) for the output request signal. ) Is transmitted to the data output unit 140.

이러한 스위치 회로는 6개의 입력포트와 6개의 출력포트를 갖는 6*6 버터플라이 팻-트리 구조로 구현할 수 있고, 데이터 패킷은 복수개의 플릿으로 이루어지며, 하나의 플릿이 23비트가 되도록 구현할 수 있다. 또한, 입력 및 출력 포트는 각각 4개의 하위 포트와 2개의 상위 포트로 이루어진다.Such a switch circuit can be implemented in a 6 * 6 butterfly fat-tree structure having six input ports and six output ports, and a data packet is composed of a plurality of flits, and a fleet of 23 bits can be implemented. . In addition, the input and output ports consist of four lower ports and two upper ports, respectively.

도 3은 도 2에 도시한 비동기 스위치 회로의 상세 구성도이다.FIG. 3 is a detailed configuration diagram of the asynchronous switch circuit shown in FIG. 2.

먼저, 데이터 입력부(110)는 6개의 23비트 데이터가 입력(in0(22:0>, in1(22:0>, in2(22:0>, in3(22:0>, in4(22:0>, in5(22:0>)되는 부분으로, 입력 데이터 패킷은 도 4와 같은 포맷을 갖는다. 데이터 패킷은 하나의 헤더 플릿 및 복수의 패이로드 플릿으로 이루어지는데, 도 4a는 헤더 플릿을 나타내고 도 4b는 패이로드 플릿을 나타낸다.First, the data input unit 110 inputs six 23-bit data (in0 (22: 0>, in1 (22: 0>, in2 (22: 0>, in3 (22: 0>, in4 (22: 0>)). , in5 (22: 0>), and the input data packet has a format as shown in Fig. 4. The data packet is composed of one header flit and a plurality of payload flit, and Fig. 4a shows a header flit and Fig. 4b. Indicates a payload fleet.

도 4a에 도시한 헤더 플릿은 타입 필드(2비트), 소스 어드레스 필드(6비트) 및 라우팅 정보 필드(15비트)로 이루어지며, 소스 어드레스 필드는 데이터를 전송 한 주체(IP)를 나타내는 부분으로 이를 6비트로 할당함으로써 64개의 IP를 하나의 스위치에 접속할 수 있다. 64개의 IP를 접속하여 사용하는 경우 경유해야 하는 스위치의 최대 수가 5개 이므로, 하나의 스위치 정보를 3비트로 나타낼 수 있고 따라서 라우팅 정보 필드는 15비트가 되게 된다. 여기에서, 라우팅 정보는 각 IP와 비동기 스위치 간에 접속되는 인터페이스부에서 결정되는 것이 일반적인데, 인터페이스부는 본 발명의 기술분야와 거리가 있으므로 구체적인 설명은 생략하기로 한다.The header flit shown in FIG. 4A is composed of a type field (2 bits), a source address field (6 bits), and a routing information field (15 bits), and a source address field is a part representing a subject (IP) that transmitted data. By assigning it 6 bits, 64 IPs can be connected to a single switch. In case of connecting and using 64 IPs, the maximum number of switches to pass through is 5, so one switch information can be represented by 3 bits, and thus the routing information field becomes 15 bits. Here, the routing information is generally determined at the interface unit connected between each IP and the asynchronous switch. Since the interface unit is far from the technical field of the present invention, a detailed description thereof will be omitted.

한편, 도 4b에 도시한 패이로드 플릿은 타입 필드(2비트) 및 패이로드 필드(21비트)로 이루어지며, 패이로드 필드에는 실제 데이터가 기록된다. 여기에서, 타입 필드는 헤더 플릿의 경우 00, 패이로드 플릿의 경우 10, 마지막 패이로드 플릿인 경우 11로 각각 다르게 설정하여 사용한다.On the other hand, the payload flit shown in Fig. 4B is composed of a type field (2 bits) and a payload field (21 bits), and actual data is recorded in the payload field. In this case, the type field is set to 00 for a header flit, 10 for a payload flit, and 11 for a last payload flit.

본 발명에 적용되는 데이터 포맷에서, 라우팅 정보는 데이터의 이동 경로 즉, 데이터가 경유할 스위치의 출력포트 정보(또는, 데이터가 입력될 스위치의 입력포트 정보)로 생각할 수 있다. 즉, 라우팅 정보는 3비트씩 5개로 이루어지는데, 데이터 입력부(110)는 데이터가 입력되면 타입 필드를 참조하여 헤더 플릿인지 패이로드 플릿인지 구분한 후, 헤더 플릿인 경우 라우팅 정보의 최하위 3비트를 확인한다. 이 최하위 3비트가 해당 스위치의 출력포트를 구분하는 정보가 되며, 비동기 스위치는 이 헤더 플릿을 최하위 3비트가 나타내는 출력 포트를 통해 다음 스위치로 전송한다. 아울러, 이러한 전송 경로를 계속 유지하여 헤더 플릿 이후의 패이로드 플릿을 동일한 출력 포트를 통해 다음 스위치로 전송하며, 마지막 패이로드까지 모두 전송한 후에 다른 데이터 패킷이 해당 출력 포트를 사용할 수 있도록 한 다.In the data format applied to the present invention, the routing information can be considered as a movement path of data, that is, output port information of a switch (or input port information of a switch to which data is to be input). That is, the routing information is composed of five bits of three bits. When data is input, the data input unit 110 refers to the type field to distinguish whether the header flit or the payload flit, and in the case of the header flit, selects the least significant three bits of the routing information. Check it. The lowest 3 bits are the information that identifies the output port of the switch, and the asynchronous switch sends this header fleet to the next switch through the output port indicated by the least significant 3 bits. In addition, this transmission path is maintained so that the payload flit after the header flit is transmitted to the next switch through the same output port, and other data packets can be used by the output port after transmitting all the data up to the last payload.

또한, 데이터 입력부(110)는 헤더 플릿의 하위 3비트를 확인하여 출력포트 정보를 획득한 후에는 하위 3비트 정보를 삭제하고, 나머지 12 비트의 라우팅 정보를 우측으로 3비트 쉬프트한 후, 최상위 3비트(12번째 비트부터 14번째 비트)를 0으로 만든다. 이와 같이 함으로써, 헤더 플릿이 다음 스위치로 전송된 후 다음 스위치에서 헤더 플릿의 최하위 3비트를 이용하여 출력 포트 정보를 획득할 수 있게 된다.In addition, after acquiring the output port information by checking the lower 3 bits of the header flit, the data input unit 110 deletes the lower 3 bits information, shifts the remaining 12 bits of routing information to the right by 3 bits, and then selects the highest 3 bits. Bits (12th to 14th bits) are zeroed out. In this way, after the header flit is transmitted to the next switch, output port information can be obtained by using the least significant 3 bits of the header flit in the next switch.

데이터 입력부(110)로는 또한 리셋 신호(resetb), 데이터 전송 주체로부터 전송되는 데이터 전송 요청 신호(input_req0~input_req5), 데이터 출력부(140)로부터 전송되는 헤더 저장 완료 신호(Datah_a0~Datah_a5) 및 패이로드 저장 완료 신호(Datap_a0~Datap_a5), 출력포트 중재부(120)로부터 전송되는 중재신호 요청 응답 신호(Arb_ack0~Arb_ack5)가 입력된다.The data input unit 110 also includes a reset signal resetb, a data transmission request signal input_req0 to input_req5 transmitted from the data transmission entity, a header storage completion signal Datah_a0 to Datah_a5 transmitted from the data output unit 140, and a payload. The storage completion signals Datap_a0 to Datap_a5 and the arbitration signal request response signals Arb_ack0 to Arb_ack5 transmitted from the output port arbitration unit 120 are input.

6개의 입력 포트로 입력되는 데이터 패킷은 입력 포트에 따라 번호를 부여받게 되고 동일한 기능을 수행하는 다른 모듈에 의해 각각 처리되며, 입력 포트는 4개의 하위 포트와 2개의 상위 포트로 이루어진다. 4개의 하위 포트로 입력되는 데이터는 해당 하위 입력 처리 모듈에서 처리되고, 2개의 상위 포트로 입력되는 데이터는 해당 상위 입력 처리 모듈에서 처리되며, 이를 도 5에 나타내었다.Data packets input to six input ports are numbered according to input ports and processed by other modules that perform the same function. The input ports consist of four lower ports and two upper ports. Data input to the four lower ports is processed in the corresponding lower input processing module, and data input to the two upper ports is processed in the corresponding upper input processing module, which is illustrated in FIG. 5.

도 5는 본 발명에 적용되는 데이터 입력부의 상세 구성도로서, 4개의 하위 입력 처리 모듈(111, 112, 113, 114)과 2개의 상위 입력 처리 모듈(115, 116)을 나타낸다.FIG. 5 is a detailed configuration diagram of a data input unit applied to the present invention and shows four lower input processing modules 111, 112, 113, and 114 and two upper input processing modules 115 and 116.

하위 입력 처리 모듈과 상위 입력 처리 모듈의 차이를 설명하면, 하위 입력 처리 모듈(111, 112, 113, 114)은 각각 자신을 포함한 6개의 출력 포트로 데이터를 전송할 수 있으므로 3비트의 라우팅 정보 비트(RIB<2:0>)를 가지는 반면, 상위 입력 처리 모듈(115, 116)은 항상 상위 출력 포트로만 데이터를 출력하기 때문에 2비트의 라우팅 정보 비트(RIB<1:0>)를 갖는다는 점이다.Referring to the difference between the lower input processing module and the upper input processing module, the lower input processing modules 111, 112, 113, and 114 can transmit data to six output ports including themselves, respectively, so that three bits of routing information bits ( It has a RIB <2: 0>, whereas the upper input processing modules 115 and 116 always have two bits of routing information bits (RIB <1: 0>) because they always output data to the upper output port. .

각 입력 처리 모듈(111~116)은 23비트의 데이터가 입력되면 데이터의 타입 필드를 확인하여, 입력된 데이터가 헤더 플릿인지 패이로드 플릿인지에 따라 각기 다르게 처리한다. 즉, 데이터 전송 요청 신호(Input_req)와 함께 데이터가 입력되어(In<22:0>) 타입 필드를 확인한 결과 헤더 플릿인 경우 데이터 전송 주체로 데이터 전송 요청 응답 신호(Input_ack)를 전송하고 헤더 플릿을 버퍼에 저장한다. 이후, 출력포트 중재부(120)로 라우팅 정보(RIB)와 함께 중재 요청 신호(Arb_req)를 전송하고, 이에 대한 응답(Arb_ack)을 수신하면 데이터 출력부(140)로 헤더 저장 요청 신호(Datah_r)를 전송한다. 데이터 출력부(140)에서 헤더 플릿을 출력(Out<22:0>)하고 난 후에는 이를 알리는 헤더 저장 완료 신호(Datah_a)를 데이터 입력부(110)로 전송한다.Each input processing module 111 to 116 checks the type field of the data when 23 bits of data are input and processes the input data differently depending on whether the input data is a header flit or a payload flit. That is, when data is input together with the data transmission request signal (Input_req) (In <22: 0>) and the header field is determined as a result of checking the type field, the data transmission request response signal (Input_ack) is transmitted to the data transmission subject and the header fleet is transmitted. Store in a buffer. Subsequently, the mediation request signal Arb_req is transmitted to the output port arbitration unit 120 together with the routing information RIB. When the response Arb_ack is received, the header storage request signal Datah_r is transmitted to the data output unit 140. Send it. After outputting the header flit (Out <22: 0>) from the data output unit 140, the header storing completion signal Datah_a indicating the message is transmitted to the data input unit 110.

한편, 입력된 데이터가 패이로드 플릿인 경우에는 헤더 플릿의 경로를 따라 전송하면 되므로 먼저, 데이터 전송 주체로 데이터 전송 요청 응답 신호(Input_ack)를 전송하고, 패이로드 플릿을 버퍼에 저장한 다음, 데이터 출력부(140)로 패이로드 저장 요청 신호(Datap_r)를 전송한다. 데이터 출력부(140)에서 패이로드 플릿을 출력(Out<22:0>)하고 난 후에는 이를 알리는 패이로드 저장 완료 신호(Datap_a)를 데이터 입력부(110)로 전송한다.On the other hand, if the input data is a payload flit, the data may be transmitted along the path of the header flit. First, the data transmission request response signal (Input_ack) is transmitted to the data transmission entity, and the payload flit is stored in a buffer. The payload storage request signal Datap_r is transmitted to the output unit 140. After the payload flit is output (Out <22: 0>) by the data output unit 140, the payload storage completion signal Datap_a indicating this is transmitted to the data input unit 110.

한편, 헤더 플릿 처리 요청 신호(H_r)는 데이터 입력부(110)가 출력포트 중재부(120)로 중재 처리 요청 신호와 함께 전송하는 신호로서, 하나의 데이터 패킷에 대한 데이터 전송을 시작하는 것을 의미하고, 마지막 패이로드 처리 요청 신호(L_r)는 하나의 데이터 패킷에 대한 마지막 패이로드 플릿을 전송함을 나타내는 신호로서, 마지막 패이로드 저장 완료 신호가 활성화될 때까지 즉, 마지막 패이로드 플릿이 출력될 때까지 해당 출력 포트가 특정 데이터 전송을 위해 점유되게 된다. 아울러, 출력 포트 중재부(120)로 전송되는 라우팅 정보는 하위 입력처리 모듈의 경우 3비트, 상위 입력처리 모듈의 경우 2비트가 사용되며, 헤더 플릿의 최하위 라우팅 정보(3비트)를 확인한 후에는 라우팅 정보를 우측으로 쉬프트하여 다음 스위치에서 참조할 수 있도록 한다.Meanwhile, the header flit processing request signal H_r is a signal transmitted from the data input unit 110 to the output port arbitration unit 120 together with the arbitration processing request signal, and means that data transmission for one data packet is started. The last payload processing request signal L_r indicates that the last payload flit for one data packet is transmitted. The last payload flit is output until the last payload storage completion signal is activated. Until that output port is reserved for specific data transfers. In addition, the routing information transmitted to the output port arbitration unit 120 uses 3 bits for the lower input processing module and 2 bits for the upper input processing module, and after checking the least significant routing information (3 bits) of the header fleet, Shift the routing information to the right so that the next switch can refer to it.

이와 같은 입력 처리 모듈을 보다 구체적으로 설명하면 다음과 같다.The input processing module will be described in more detail as follows.

도 6은 도 5에 도시한 하위 입력 처리 모듈의 상세 구성도이고, 도 7은 도 5에 도시한 상위 입력처리 모듈의 상세 구성도이다. 하위 및 상위 입력 처리 모듈은 라우팅 정보 비트의 차이만 있을 뿐 동일하게 동작하므로 함께 설명하기로 한다.6 is a detailed configuration diagram of the lower input processing module illustrated in FIG. 5, and FIG. 7 is a detailed configuration diagram of the upper input processing module illustrated in FIG. 5. Since the lower and upper input processing modules operate in the same manner only with differences in routing information bits, they will be described together.

도시한 것과 같이, 입력 처리 모듈은 패이로드 제어부(1111, 1151), 헤더 제어부(1112, 1152), 데이터 저장부(1113, 1153) 및 헤더 플릿 처리 요청 신호 발생부(1114, 1154)를 포함하며, 각 구성부는 리셋 신호(resetb)에 의해 제어된다.As shown, the input processing module includes payload controllers 1111 and 1151, header controllers 1112 and 1152, data storage units 1113 and 1153, and header fleet processing request signal generators 1114 and 1154. , Each component is controlled by a reset signal resetb.

데이터 전송 주체로부터 데이터 전송 요청 신호(Input_req)가 입력됨과 함께 데이터 저장부(1113, 1153)로 데이터가 입력되면(In<22:0>), 데이터 저장부(1113, 1153)는 입력된 데이터의 데이터 필드 중 타입 필드(F_type<1:0>)를 참조하여 플릿의 종류를 확인하고, 입력 데이터 플릿이 헤더 플릿인 것으로 확인되면(00), 이를 헤더 플릿 처리 요청 신호 발생부(1114, 1154)의 입력단(D)으로 전송하고, 헤더 제어부(1112, 1152)의 헤더 플릿 처리 요청 신호(H_r)가 활성화된다. When the data transmission request signal Input_req is input from the data transmission entity and data is input to the data storage units 1113 and 1153 (In <22: 0>), the data storage units 1113 and 1153 are configured to input the data. The flit type is checked by referring to the type field (F_type <1: 0>) among the data fields, and when it is determined that the input data flit is a header flit (00), the header flit processing request signal generators 1114 and 1154 are used. Is transmitted to the input terminal D, and the header flit processing request signal H_r of the header controllers 1112 and 1152 is activated.

이어서, 헤더 제어부(1112, 1152)는 출력포트 중재부(120)로 중재 요청 신호(Arb_req)를 전송하고 이에 대한 응답 신호(Arb_ack)를 수신하며, 데이터 저장부(1113, 1153)로 헤더 플릿을 저장할 것을 요청하고(Bufh_r), 라우팅 정보를 쉬프트할 것을 요청한다(Shift_r). 아울러, 헤더 플릿 버퍼링 요청 신호(Bufh_r)는 헤더 플릿 처리 요청 신호 발생부(1114, 1154)의 입력단(E)으로 전송되어 라우팅 정보에 의한 출력 포트가 점유되었음을 나타내는 헤더 플릿 처리 요청 신호(H_r) 생성에 사용되도록 한다. 이에 따라, 헤더 플릿 처리 요청 신호 생성부(1114, 1154)는 리셋 신호(resetb), 헤더 플릿 입력 신호(D) 및 헤더 플릿 버퍼링 요청 신호(E)에 의해 해당 출력 포트가 점유되었음을 나타내는 헤더 플릿 처리 요청 신호(H_r)를 출력하게 된다. 또한, 데이터 출력부(140)로 헤더 저장 완료 신호(Dtah_r)를 전송한다.Subsequently, the header controllers 1112 and 1152 transmit the arbitration request signal Arb_req to the output port arbitration unit 120, receive a response signal Arb_ack thereto, and transmit the header flits to the data storage units 1113 and 1153. Request to save (Bufh_r) and request to shift routing information (Shift_r). In addition, the header flit buffering request signal Buhf_r is transmitted to the input terminal E of the header flit processing request signal generating units 1114 and 1154 to generate the header flit processing request signal H_r indicating that an output port based on routing information is occupied. To be used in. Accordingly, the header flit processing request signal generating units 1114 and 1154 perform header flit processing indicating that the corresponding output port is occupied by the reset signal, the header flit input signal D, and the header flit buffering request signal E. The request signal H_r is output. In addition, the header output completion signal Dtah_r is transmitted to the data output unit 140.

한편, 데이터 저장부(1113, 1153)는 헤더 제어부(1112, 1152)로부터 전송된 헤더 플릿 버퍼링 요청 신호(Bufh_r)에 따라 해당 헤더 플릿을 저장한 후, 이에 대한 응답 신호(Bufh_a)를 헤더 제어부(1112, 1152)로 전송하고, 라우팅 정보(RIB)를 출력포트 중재부(120)로 전송한 다음, 헤더 제어부(1112, 1152)의 라우팅 정보 쉬 프트 요청 신호(Shft_r)에 따라 라우팅 정보 비트열을 우측으로 3비트 쉬프트하고 라우팅 정보 필드의 최상위 3비트를 0으로 채운 후, 이에 대한 응답 신호(Shift_a)를 헤더 제어부(1112, 1152)로 전송한다. 라우팅 정보는 입력 처리 모듈이 하위 입력처리 모듈인 경우에는 3비트(RIB<2:0>), 상위 입력처리 모듈인 경우에는 2비트(RIB<1:0>)를 사용하여 나타낸다. 또한, 데이터 저장부(1113, 1153)는 데이터(Out<22:0>)를 데이터 이동경로 설정부(130)로 전송한다.Meanwhile, the data storage units 1113 and 1153 store the corresponding header flit according to the header flit buffering request signal Buf_r transmitted from the header controllers 1112 and 1152, and then transmit the response signal Buf_a to the header controller ( 1112 and 1152, the routing information RIB is transmitted to the output port arbitration unit 120, and the routing information bit string is generated according to the routing information shift request signal Shft_r of the header controllers 1112 and 1152. After shifting 3 bits to the right and filling the most significant 3 bits of the routing information field with 0, the response signal Shift_a is transmitted to the header controllers 1112 and 1152. The routing information is represented using 3 bits (RIB <2: 0>) when the input processing module is a lower input processing module and 2 bits (RIB <1: 0>) when the input processing module is an upper input processing module. In addition, the data storage units 1113 and 1153 transmit the data Out <22: 0> to the data movement path setting unit 130.

한편, 데이터 전송 주체로부터 데이터 전송 요청 신호(Input_req)가 입력됨과 함께 데이터 저장부(1113, 1153)로 데이터가 입력되면(In<22:0>), 데이터 저장부(1113, 1153)는 입력된 데이터의 데이터 필드 중 타입 필드(F_type<1:0>)를 추출하여 플릿의 종류를 확인하고, 입력 데이터 플릿이 패이로드 플릿인 것으로 확인되면(10), 이를 패이로드 처리부로 알려 패이로드 플릿 처리 요청 신호(P_r)가 활성화되도록 한다. 이에 따라, 패이로드 제어부(1111, 1151)는 패이로드 플릿 처리 요청에 대한 응답 신호(P_a)를 출력하고, 헤더 플릿 처리 요청 신호에 대한 응답 신호(H_a), 페이로드 플릿 처리 요청에 대한 응답 신호(P_a) 및 플릿의 타입 정보(F_type<0>)를 이용하여 데이터 전송 주체로 데이터 전송이 시작되었음 알리는 전송 요청 응답 신호(Input_ack)를 전송한다.Meanwhile, when the data transmission request signal Input_req is input from the data transmission entity and data is input to the data storage units 1113 and 1153 (In <22: 0>), the data storage units 1113 and 1153 are inputted. Extract the type field (F_type <1: 0>) of the data field of the data to check the type of the fleet, and if the input data flit is determined to be a payload flit (10), it is notified to the payload processing unit to process the payload flit The request signal P_r is activated. Accordingly, the payload controllers 1111 and 1151 output a response signal P_a for the payload flit processing request, a response signal H_a for the header flit processing request signal, and a response signal for the payload flit processing request. Using the P_a and the flit type information F_type <0>, a transmission request response signal Input_ack indicating that data transmission has started is transmitted to the data transmission entity.

이어서, 패이로드 제어부(1111, 1151)는 데이터 출력부(140)로 패이로드 저장 완료 신호(Dtap_r)를 전송하는 한편, 데이터 저장부(1113, 1153)로 패이로드 플릿을 저장할 것을 요청하고(Bufp_r)한다. 이에 따라, 데이터 저장부(1113, 1153)는 패이로드 제어부(1111, 1151)로부터 전송된 패이로드 플릿 버퍼링 요청 신호 (Bufp_r)에 따라 해당 패이로드 플릿을 저장한 후, 이에 대한 응답 신호(Bufp_a)를 패이로드 제어부(1111, 1151)로 전송한다.Subsequently, the payload control units 1111 and 1151 transmit the payload storage completion signal Dtap_r to the data output unit 140, and request to store the payload flits to the data storage units 1113 and 1153 (Bufp_r). )do. Accordingly, the data storage units 1113 and 1153 store the payload flit according to the payload flit buffering request signal Bupf_r transmitted from the payload controllers 1111 and 1151, and then respond with a response signal Bupf_a. Is transmitted to the payload controllers 1111 and 1151.

이후, 데이터 저장부(1113, 1153)는 데이터(Out<22:0>)를 데이터 이동경로 설정부(130)로 전송하며, 패이로드 플릿은 헤더 플릿의 전송 경로(출력포트 중재부(120)에서 결정한 전송 경로)를 따라 데이터 출력부(140)로 전송되게 된다.Thereafter, the data storage units 1113 and 1153 transmit data Out <22: 0> to the data movement path setting unit 130, and the payload flit is a transmission path of the header flit (output port arbitration unit 120). Is transmitted to the data output unit 140 in accordance with the transmission path determined in step.

한편, 데이터 출력부(140)에서 데이터를 출력하기 위해 데이터를 저장한 후에는 패이로드 제어부(1111, 1151) 및 헤더 제어부(1112, 1152)로 해당 데이터 플릿을 출력하였음을 나타내는 신호 즉, 패이로드 저장 완료 신호(Datap_a) 및 헤더 저장 완료 신호(Datah_a)를 전송한다.On the other hand, after storing the data for outputting data from the data output unit 140, a signal indicating that the data fleet has been output to the payload controllers 1111 and 1151 and the header controllers 1112 and 1152, that is, the payload. The storage completion signal Datap_a and the header storage completion signal Datah_a are transmitted.

아울러, 데이터 저장부(1113, 1153)로 입력된 데이터의 데이터 필드 중 타입 필드(F_type<1:0>)를 확인한 결과, 입력 데이터가 마지막 패이로드 플릿으로 확인되면(11), 이를 헤더 플릿 처리 요청 신호 발생부(1114, 1154)로 전송하여 헤더 플릿 처리 요청 신호(H_r)가 비활성화 상태로 전환되도록 하고, 마지막 패이로드 처리 요청 신호(L_r)를 활성화하여 해당 데이터 패킷을 전송하기 위해 점유되어 있던 출력포트를 해제한다.In addition, as a result of checking the type field F_type <1: 0> among the data fields of the data input to the data storage units 1113 and 1153, if the input data is identified as the last payload flit (11), the header flit processing is performed. Transmitted to the request signal generators 1114 and 1154 so that the header flit processing request signal H_r is switched to an inactive state and the last payload processing request signal L_r is activated to occupy the corresponding data packet. Release the output port.

도 8은 도 6 및 도 7에 도시한 패이로드 제어부의 상세 구성도이다.FIG. 8 is a detailed configuration diagram of the payload control unit illustrated in FIGS. 6 and 7.

도시한 것과 같이, 패이로드 제어부(1111, 1151)는 데이터 전송 요청 신호(Input_req)로부터 생성되는 패이로드 플릿 처리 요청 신호(P_r)를 지정된 시간 지연시킨 후 패이로드 플릿을 저장할 것을 요청하는 신호(bufp_r)를 생성하는 지연소자(D1)를 포함한다. 이러한 패이로드 플릿 버퍼링 요청 신호(bufp_r)는 데이터 저 장부(1113, 1153)로 전송되게 된다.As illustrated, the payload controllers 1111 and 1151 delay the payload fleet processing request signal P_r generated from the data transmission request signal Input_req for a specified time and then request to store the payload flits (bufp_r). It includes a delay element (D1) for generating a). The payload flit buffering request signal bufp_r is transmitted to the data storage units 1113 and 1153.

아울러, 패이로드 제어부(1111, 1151)는 데이터 저장부(1113, 1153)로부터 수신한 패이로드 플릿 버퍼링 응답 신호(bufp_a), 리셋 신호(resetb) 및 데이터 출력부(140)로부터 수신한 이전 패이로드 플릿에 대한 저장 완료 신호(Datap_a)를 입력으로 하여, 이전 상태의 두 입력값이 모두 0인 경우 0을 출력하고 입력값 중 어느 하나가 0이면 계속해서 0을 출력하며, 입력값이 모두 1로 되면 1을 출력하고, 입력값 중 어느 하나가 1이면 계속해서 1을 출력하는 제 1 논리소자(C-element, gc; L1) 및 제 1 논리소자의 출력 신호 및 패이로드 플릿 버퍼링 응답 신호(bufp_a)를 입력으로 하여, 두 입력값이 모두 1인 경우 1을 출력하는 제 2 논리소자(NAND 게이트; L2)를 포함한다. 여기에서, 제 1 논리소자는 리셋 신호가 입력되면 0을 출력하며 입출력 관계는 [표 1]과 같은 진리표로 나타낼 수 있다.In addition, the payload controllers 1111 and 1151 may receive the payload fleet buffering response signal bufp_a, the reset signal resetb, and the previous payload received from the data storage unit 1113 and 1153. Input the save completion signal (Datap_a) for the fleet as 0. If both input values of the previous state are 0, 0 is output. If any one of the input values is 0, 0 is continuously output. 1 is outputted, and if any one of the input values is 1, the first logic element C-element (gc; L1) and the output signal of the first logic element and the payload flit buffering response signal (bufp_a) ) And a second logic element (NAND gate L2) outputting 1 when both input values are 1. Here, the first logic device outputs 0 when the reset signal is input, and the input / output relationship may be represented by a truth table as shown in [Table 1].

입력 1 (Bufp_a)Input 1 (Bufp_a) 입력 2 (Datap_a)Input 2 (Datap_a) 출력 (Datap_r)Output (Datap_r) 00 00 00 00 1One 00 1One 00 00 1One 1One 1One 1One 00 1One 00 1One 1One 00 00 00

구체적으로 설명하면, 제 1 논리소자(L1)는 최초의 패이로드 플릿을 처리할 때, 패이로드 플릿 버퍼링 요청에 대한 응답 신호(bufp_a)가 1이고, 이전 패이로드 플릿에 대한 저장 완료 신호(Datap_a)가 0이므로, 패이로드 저장 요청 신호(Datap_r)는 1로 출력되게 된다. 아울러, 제 1 논리소자(L1)의 출력값 및 패이로드 플릿 버퍼링 요청 응답 신호(bufp_a)가 모두 1이므로 제 2 논리소자(L2)의 출력 신호 즉, 패이로드 플릿 처리 요청에 대한 응답 신호(P_a)가 활성화되어 데이터 전송 주체 측으로 데이터 전송 요청 응답 신호로서 전송되게 된다.Specifically, when the first logic element L1 processes the first payload flit, the response signal bufp_a for the payload flit buffering request is 1, and the storage completion signal Datap_a for the previous payload flit is performed. Since 0 is 0, the payload storage request signal Datap_r is output as 1. In addition, since the output value of the first logic element L1 and the payload flit buffering request response signal bufp_a are all 1, the output signal of the second logic element L2, that is, the response signal P_a for the payload fleet processing request. Is activated to be transmitted as a data transmission request response signal to the data transmission subject side.

도 9는 도 6 및 도 7에 도시한 헤더 제어부의 상세 구성도이다.9 is a detailed block diagram of the header control unit shown in FIGS. 6 and 7.

헤더 제어부(1112, 1152)는 헤더 플릿 처리 요청 신호(H_r)와 중재 요청에 대한 응답 신호(Arb_ack)를 입력으로 하여 두 입력값이 모두 0인 경우에만 1을 출력하는 제 3 논리소자(L3)와, 제 3 논리소자(L3)의 출력값과 리셋 신호(resetb), 헤더 플릿 버퍼링 요청에 대한 응답 신호(bufh_a)를 입력으로 하여 헤더 플릿 처리 요청에 대한 응답 신호(H_a)를 출력하는 제 4 논리소자(gc, L4), 제 4 논리소자(L4)의 반전값 및 쉬프트 요청에 대한 응답 신호(Shift_a)를 입력으로 하여, 두 입력이 모두 1인 경우에만 1을 출력하여 헤더 저장 요청 신호(Bufh_r)를 생성하는 제 5 논리소자(L5), 리셋 신호(resetb)가 입력되고, 제 4 논리소자(L4)의 출력값과 제 5 논리소자(L5) 출력의 반전값을 입력으로 하여 두 입력값이 모두 1인 경우 1을 출력하는 제 6 논리소자(L6)의 출력값을 제 1 입력으로 하고, 제 4 논리소자(L4) 출력의 반전값과, 헤더 플릿 처리 요청 신호(H_r)를 입력으로 하여 두 입력값이 모두 1인 경우 1을 출력하는 제 7 논리소자(L7)의 출력값을 제 2 입력으로 하여, 입력값이 모두 0인 경우 1을 출력하고 입력값 중 어느 하나가 0인 경우 출력값을 1로 유지하다가 입력값이 모두 1이 되면 0을 출력하고, 입력값 중 어느 하나가 1인 경우 출력값을 0으로 유지하는(즉, 상기 제 4 논리 소자(L4)의 출력과 반대되는 값을 출력하는) 제 8 논리소자(L8) 및 제 8 논리소자(gc'; L8)의 출력값을 반전시켜 쉬프트 요청 신호(Shift_r)를 출력하는 제 9 논리소자(L9), 리셋 신호(reestb)가 입력되고, 헤더 플릿 처리 요청 신호(H_r) 및 헤더 저장 완료 신호(Datah_a)의 반전값을 입력으로 하여 두 입력값이 모두 0인 경우 1을 출력하는 제 10 논리소자(L10)의 출력값을 제 1 입력으로 하고, 제 4 논리소자(L4)의 출력값과 헤더 플릿 버퍼링 요청 응답 신호(Bufh_a)의 반전값 및 헤더 플릿 처리 요청 신호(H_r)를 입력으로 하여 입력값이 모두 1인 경우 1을 출력하는 제 11 논리소자(L11)의 출력값을 제 2 입력으로 하는 제 12 논리소자(L12), 제 12 논리소자(L12)의 출력을 반전시키는 제 13 논리소자(L13), 리셋 신호가 입력되며, 제 13 논리소자(L13)의 출력값을 제 1 입력으로 하고, 중재 요청에 대한 응답 신호(Arb_ack)를 제 2 입력으로 하여 중재 요청 신호(Arb_req)를 출력하는 제 14 논리소자(L14), 리셋 신호(resetb)가 입력되고, 헤더 저장 완료 신호(Datah_a)를 제 1 입력으로 하고, 헤더 플릿 처리 요청 신호(H_r)와 중재 요청 신호에 대한 응답 신호(Arb_ack)와 헤더 저장 완료 신호(Datah_a)의 반전값을 입력으로 하여 입력값이 모두 1인 경우 1을 출력하는 제 15 논리소자(L15)의 출력값을 제 2 입력으로 하는 제 16 논리소자(L16), 제 16 논리소자(L16)의 출력을 반전시켜 헤더 저장 요청 신호(Datah_r)를 생성하는 제 17 논리소자(L17)를 포함한다. 여기에서, 제 14 논리소자(L14)는 리셋 신호가 입력되면 0을 출력하며 입출력 관계는 [표 2]과 같은 진리표로 나타낼 수 있다.The header controllers 1112 and 1152 input the header fleet processing request signal H_r and the response signal Arb_ack for the arbitration request, and output a 1 only when both input values are 0. And a fourth logic for outputting the response signal H_a for the header flit processing request by inputting the output value of the third logic element L3, the reset signal resetb, and the response signal bufh_a for the header fleet buffering request. The inverted values of the elements gc and L4 and the fourth logic element L4 and the response signal Shift_a for the shift request are inputted, and a 1 is outputted only when both inputs are 1 so that the header storage request signal Buf_r ), The fifth logic element L5 and the reset signal resetb are inputted, and the input values of the fourth logic element L4 and the inverted value of the fifth logic element L5 output are input. If all 1, the output value of the sixth logic element L6 that outputs 1 is the first input, and the fourth As the second input, the inverted value of the output of the element L4 and the output signal of the seventh logic element L7 outputting 1 when both input values are 1 as the input of the header fleet processing request signal H_r are input. If the input values are all 0, 1 is outputted.If any one of the input values is 0, the output value is kept at 1, and if the input values are all 1, 0 is outputted. A shift request by inverting the output values of the eighth logic element L8 and the eighth logic element gc '; L8 held at 0 (that is, outputting a value opposite to the output of the fourth logic element L4) A ninth logic element L9 for outputting the signal Shift_r and a reset signal are input, and the inverted values of the header fleet processing request signal H_r and the header storage completion signal Datah_a are input, and two input values are input. If all are 0, the output value of the 10th logic element L10 that outputs 1 is defined as the first input. An eleventh logic element that outputs 1 when the output value of the logic element L4, the inverted value of the header fleet buffering request response signal Buhf_a, and the header fleet processing request signal H_r are input, and the input value is 1; A twelfth logic element L12 having the output value of L11 as the second input, a thirteenth logic element L13 for inverting the output of the twelfth logic element L12, a reset signal are input, and a thirteenth logic element L13. The 14th logic element L14 and reset signal which output the arbitration request signal Arb_req as a 2nd input with the output value of (1) as a 1st input, and the response signal Arb_ack for a mediation request as a 2nd input are input, Inputting the header storing completion signal Datah_a as a first input, and inverting the header fleet processing request signal H_r, the response signal Arb_ack for the arbitration request signal, and the header storing completion signal Datah_a as inputs. If the values are all 1, output of the fifteenth logic element L15 outputting one And a second logic element 16 (L16), the logic device 16, the logic element 17 (L17) to invert the output of the (L16) generates a header storage request signal (Datah_r) to a value of the second input. Herein, when the reset signal is input, the fourteenth logic element L14 outputs 0, and the input / output relationship may be represented by a truth table as shown in [Table 2].

입력 1 (L13)Input 1 (L13) 입력 2 (Arb_ack)Input 2 (Arb_ack) 출력 (Arb_req)Output (Arb_req) 00 00 00 00 1One 1One 1One 00 1One 1One 1One 1One 1One 00 00 00 1One 1One 00 00 00

도 9에 도시한 헤더 제어부(1112, 1152)의 동작을 구체적으로 설명하면 다음과 같다. 먼저, 데이터 전송 요청 신호(input_req)로부터 생성된 헤더 플릿 처리 요청 신호(H_r)가 활성화되면, 제 4 논리소자(L4)의 출력이 일단 0으로 되고, 이에 따라, 제 8 논리소자(L8)의 제 1 입력이 0, 제 2 입력이 0으로 되어, 제 8 논리소자(L8)의 출력 신호는 0이 되고, 제 9 논리소자에서 이를 반전시킨 신호 즉, 쉬프트 요청 신호(Shift_r)가 활성화되어 데이터 저장부(1113, 1153)로 전송되게 된다.The operation of the header controllers 1112 and 1152 shown in FIG. 9 will be described in detail as follows. First, when the header flit processing request signal H_r generated from the data transmission request signal input_req is activated, the output of the fourth logic element L4 becomes 0 once, and thus, the eighth logic element L8 When the first input is 0 and the second input is 0, the output signal of the eighth logic element L8 becomes 0, and the signal inverted by the ninth logic element, that is, the shift request signal Shift_r is activated, and the data is activated. The data are transmitted to the storage units 1113 and 1153.

이후, 데이터 저장부에서 라우팅 정보를 쉬프트한 후 쉬프트 요청에 대한 응답 신호(Shift_a)를 전송하면, 제 5 논리소자(L5)의 출력신호 즉, 헤더 플릿 버퍼링 요청 신호(Bufh_r)가 활성화되어 데이터 저장부(1113, 1153)로 전송되게 된다. 이어서, 데이터 저장부(1113, 1153)에서 헤더 플릿을 저장하고 난 후, 헤더 플릿저장 요청에 대한 응답 신호(Bufh_a)를 전송한다. 이에 따라, 제 4 논리 소자(L4)의 출력 신호인 헤더 플릿 처리 완료 신호(H_a)가 1로 되는 한편, 제 12 논리소자(L12)의 제 1 입력이 0, 제 2 입력이 1이 되어, 제 12 논리소자(L12)로부터 0이 출력되고, 제 14 논리소자(L14)의 제 1 입력이 1, 제 2 입력이 0이므로, 중재 요청 신호(Arb_req)가 활성화되게 된다.Subsequently, when the data storage unit shifts the routing information and transmits the response signal Shift_a for the shift request, the output signal of the fifth logic element L5, that is, the header flit buffering request signal Buhf_r is activated to store data. Are transmitted to the units 1113 and 1153. Subsequently, after storing the header flit in the data storage units 1113 and 1153, the response signal Buf_a for the header flit storage request is transmitted. Accordingly, the header flit processing completion signal H_a, which is the output signal of the fourth logic element L4, becomes 1, while the first input of the twelfth logic element L12 becomes 0 and the second input becomes 1, Since 0 is output from the twelfth logic element L12, and the first input of the fourteenth logic element L14 is 1 and the second input is 0, the arbitration request signal Arb_req is activated.

이어서, 출력포트 중재부(120)로부터 중재 요청에 대한 응답 신호(Arb_ack)를 수신함에 따라, 제 16 논리소자(L16)의 제 1 입력이 0, 제 2 입력이 1이 되어, 제 16 논리소자(L16)로부터 0이 출력되고, 이는 제 17 논리소자(L17)에 의해 반전되어, 데이터 출력부(140)로 헤더 저장 요청 신호(Datah_r)를 전송하게 된다. 이후, 데이터 출력부(140)로부터 헤더 저장 완료 신호(Datah_ack)를 수신한다.Subsequently, when the response signal Arb_ack for the arbitration request is received from the output port arbitration unit 120, the first input of the sixteenth logic element L16 becomes 0 and the second input becomes 1, thereby providing the sixteenth logic element. 0 is outputted from L16, which is inverted by the seventeenth logic device L17 to transmit the header storage request signal Datah_r to the data output unit 140. Thereafter, the header storing completion signal Datah_ack is received from the data output unit 140.

도 10a 내지 10c는 본 발명에 적용되는 C-엘리먼트 회로도 및 비대칭 C-엘리먼트 회로도이다.10A to 10C are C-element circuit diagrams and asymmetric C-element circuit diagrams applied to the present invention.

먼저, 도 10a는 도 8의 제 1 논리소자(L1), 도 9의 제 4 논리소자(L4)의 구현 예를 나타내는 것으로, 전원 단자에 접속되어 제 1 입력 신호(a)에 의해 구동되는 제 1 P 타입 트랜지스터(P1), 제 1 P 타입 트랜지스터에 직렬 접속되며, 제 2 입력 신호(b)의 반전 신호에 의해 구동되는 제 2 P 타입 트랜지스터(P2), 제 2 P 타입 트랜지스터에 직렬 접속되며, 제 1 입력 신호(a)에 의해 구동되는 제 1 N 타입 트랜지스터(N1), 제 1 N 타입 트랜지스터와 접지 단자 간에 직렬 접속되어 제 2 입력 신호(b)의 반전 신호에 의해 구동되는 제 2 N 타입 트랜지스터(N2), 전원 단자와 제 2 P 타입 트랜지스터의 출력 단자 간에 접속되며, 리셋 신호(resetb)에 의해 구동되는 제 3 P 타입 트랜지스터(P3) 및 제 2 P 타입 트랜지스터의 출력 단자에 접속되는 지연소자로서의 제 1 래치 회로(래치 1)를 포함한다.First, FIG. 10A illustrates an implementation example of the first logic element L1 of FIG. 8 and the fourth logic element L4 of FIG. 9. The first logic element L1 of FIG. 9 is connected to a power supply terminal and driven by the first input signal a. Connected in series to the 1 P type transistor P1 and the first P type transistor, and connected in series to the second P type transistor P2 and the second P type transistor driven by the inverted signal of the second input signal b. A first N-type transistor N1 driven by the first input signal a, a second N-type transistor connected in series between the first N-type transistor and the ground terminal and driven by an inverted signal of the second input signal b; Type transistor N2, connected between the power supply terminal and the output terminal of the second P type transistor, and connected to the output terminal of the third P type transistor P3 and the second P type transistor driven by a reset signal resetb. Including a first latch circuit (latch 1) as a delay element All.

다음으로, 도 10b는 도 9의 제 8, 제 12 및 제 16 논리소자(L8, L12, L16)의 구현 예를 나타내는 것으로, 전원 단자에 접속되어 제 1 입력 신호(a)에 의해 구동 되는 제 4 P 타입 트랜지스터(P4), 제 4 P 타입 트랜지스터에 직렬 접속되며 제 2 입력 신호(b)의 반전 신호에 의해 구동되는 제 5 P 타입 트랜지스터(P5), 제 5 P 타입 트랜지스터에 직렬 접속되며, 제 1 입력 신호(a)에 의해 구동되는 제 3 N 타입 트랜지스터(N3), 제 3 N 타입 트랜지스터와 접지 단자 간에 직렬 접속되어 제 2 입력 신호(b)의 반전 신호에 의해 구동되는 제 4 N 타입 트랜지스터(N4), 제 5 P 타입 트랜지스터의 출력 단자와 접지 단자 간에 접속되며, 리셋 신호(reset)의 반전신호에 의해 구동되는 제 5 N 타입 트랜지스터(N5) 및 제 5 P 타입 트랜지스터의 출력 단자에 접속되는 지연소자로서의 제 2 래치 회로(래치 2)를 포함한다.Next, FIG. 10B illustrates an implementation of the eighth, twelfth, and sixteenth logic elements L8, L12, and L16 of FIG. 9, and is connected to a power supply terminal and driven by a first input signal a. A fourth P type transistor P4 and a fourth P type transistor connected in series and driven in series by an inverted signal of the second input signal b, connected in series to a fifth P type transistor P5 and a fifth P type transistor, Third N-type transistor N3 driven by the first input signal a, fourth N-type transistor connected in series between the third N-type transistor and the ground terminal and driven by the inverted signal of the second input signal b Transistor N4, connected between the output terminal of the fifth P-type transistor and the ground terminal, and connected to the output terminals of the fifth N-type transistor N5 and the fifth P-type transistor driven by the inverted signal of the reset signal reset. Second latch circuit as a delay element to be connected 2) a.

도 10c는 도 9의 제 14 논리소자(L14)의 구현 예를 나타내는 것으로, 전원 단자에 접속되어 제 1 입력 신호(a)의 반전신호에 의해 구동되는 제 6 P 타입 트랜지스터(P6), 제 6 P 타입 트랜지스터에 직렬 접속되며, 제 1 입력 신호(a)의 반전신호에 의해 구동되는 제 6 N 타입 트랜지스터(N6), 제 6 N 타입 트랜지스터와 접지 단자 간에 직렬 접속되어 제 2 입력 신호(b)에 의해 구동되는 제 7 N 타입 트랜지스터(N7), 전원 단자와 제 6 P 타입 트랜지스터의 출력 단자 간에 접속되며, 리셋 신호(resetb)에 의해 구동되는 제 7 P 타입 트랜지스터(P7) 및 제 6 P 타입 트랜지스터의 출력 단자에 접속되는 지연소자로서의 제 3 래치 회로(래치 3)를 포함한다.FIG. 10C illustrates an implementation of the fourteenth logic element L14 of FIG. 9. The sixth P-type transistor P6 and the sixth P-type transistor P6 are connected to a power supply terminal and driven by an inverted signal of the first input signal a. A sixth N-type transistor N6 connected in series with the P-type transistor and driven by an inverted signal of the first input signal a, a second input signal b connected in series between the sixth N-type transistor and the ground terminal; Is connected between a power supply terminal and an output terminal of a sixth P-type transistor, and is driven by a reset signal resetb, and is driven by a reset signal resetb. And a third latch circuit (latch 3) as a delay element connected to the output terminal of the transistor.

도 11a 및 11b는 도 6 및 도 7에 도시한 입력 데이터 저장부의 상세 구성도이다.11A and 11B are detailed block diagrams of the input data storage unit shown in FIGS. 6 and 7.

도 11a를 참조하면, 입력되는 23비트의 데이터에 대하여 0번째 데이터 비트 로부터 14번째 데이터 비트, 쉬프트 요청 신호(Shift_r), 쉬프트 요청 신호의 반전 신호 및 3비트 우측의 데이터 비트를 각각 입력으로 하는 데이터 선택 수단(1115), 데이터 비트값 0, 쉬프트 요청 신호(Shift_r), 쉬프트 요청 신호의 반전 신호 및 3비트 우측의 데이터 비트를 각각 입력으로 하는 3개의 보조 데이터 선택 수단(1115'), 리셋 신호(resetb)에 의해 제어되며 데이터 선택부(1115) 의 출력신호, 제 18 논리소자(L18)의 출력신호를 입력으로 하여, 데이터 선택 수단(1115)의 출력값을 각각 저장하는 하위 데이터 저장수단(1116), 리셋 신호(resetb)에 의해 제어되며 보조 데이터 선택부(1115') 의 출력신호, 제 18 논리소자(L18)의 출력신호를 입력으로 하여, 데이터 선택 수단(1115)의 출력값을 각각 저장하는 보조 데이터 저장수단(1116'), 리셋 신호(resetb)에 의해 제어되고 23비트의 데이터에 대하여 15번째 데이터비트로부터 22번째 데이터 비트 및 제 18 논리소자(L18)의 출력신호를 입력으로 하여, 상기 데이터 비트값을 각각 저장하는 상위 데이터 저장수단(1116")을 포함한다. 아울러, 입력 데이터 비트열 중 최상위 2비트는 데이터 플릿의 타입(F_type0, F_type1)에 따라 패이로드 제어부(1111, 1151) 또는 헤더 제어부(1112, 1152)로 입력된다.Referring to FIG. 11A, data for inputting 23 bits of data from the 0th data bit to the 14th data bit, the shift request signal Shift_r, the inversion signal of the shift request signal, and the data bits to the right of 3 bits are input. The selection means 1115, the data bit value 0, the shift request signal Shift_r, the inverted signal of the shift request signal, and three auxiliary data selection means 1115 'that respectively input data bits to the right of the three bits, and the reset signal ( the lower data storage means 1116, which is controlled by the resetb and which stores the output value of the data selection means 1115 by inputting the output signal of the data selector 1115 and the output signal of the eighteenth logic element L18, respectively. And an output signal of the auxiliary data selection unit 1115 'and an output signal of the eighteenth logic element L18, which are controlled by the reset signal resetb, to store the output value of the data selection means 1115, respectively. Controlled by an auxiliary data storage means 1116 'and a reset signal resetb and inputting the output signal of the eighteenth logic element L18 and the fifteenth data bit from the fifteenth data bit to the 23-bit data, And upper data storage means 1116 " for storing the data bit values, respectively. In addition, the most significant two bits of the input data bit string are payload controllers 1111 and 1151 according to the data flit types F_type0 and F_type1. Or input to the header controllers 1112 and 1152.

여기에서, 제 18 논리소자(L18)는 헤더 플릿 버퍼링 요청 신호(Bufh_r)와 패이로드 플릿 버퍼링 요청 신호(Bufp_r)를 입력으로 하여, 두 신호 중 어느 하나가 1인 경우 1을 출력하는 오알(OR) 게이트로 구현할 수 있다. 또한, 하위 3개의 데이터 선택 수단(1115)은 3비트 우측의 데이터 비트를 입력받을 수 없으므로, 각각의 출력단에 접속된 하위 데이터 저장 수단(1116)의 출력값을 입력받는다.Herein, the eighteenth logic element L18 receives the header fleet buffering request signal Buhf_r and the payload flit buffering request signal Bupf_r as inputs, and outputs a 1 when one of the two signals is 1 (OR). ) Can be implemented with a gate. In addition, since the lower three data selection means 1115 cannot receive the data bits to the right of the three bits, the lower three data selection means 1115 receive the output values of the lower data storage means 1116 connected to the respective output terminals.

한편, 쉬프트 요청 신호(Shift_r), 헤더 플릿 버퍼링 요청 신호(Bufh_r) 및 패이로드 플릿 버퍼링 요청 신호(Bufp_r)는 지정된 시간 지연된 후 각각 쉬프트 요청 응답 신호(Shift_a), 헤더 플릿 버퍼링 응답 신호(Bufh_a), 패이로드 플릿 버퍼링 응답 신호(Bufp_a)로서, 패이로드 제어부 및 헤더 제어부로 전송된다.Meanwhile, the shift request signal Shift_r, the header flit buffering request signal Buf_r, and the payload flit buffering request signal Bup_r are respectively delayed after a specified time delay, and the shift request response signal Shift_a, the header flit buffering response signal Buf__, As a payload flit buffering response signal Bupf_a, it is transmitted to a payload control unit and a header control unit.

아울러, 본 실시예에서는 하나의 스위치에 대한 라우팅 정보를 3비트로 나타내는 경우에 대하여 설명하였지만, 라우팅 정보 비트에 따라 보조 데이터 선택부의 개수 및 라우팅 정보의 쉬프트 비트 수가 변경될 수 있음은 물론이다.In addition, in the present embodiment, the case in which the routing information of one switch is represented by 3 bits has been described. However, the number of auxiliary data selection units and the number of shift bits of the routing information may be changed according to the routing information bits.

도 11b는 도 11a에 도시한 데이터 선택 수단(1115) 및 보조 데이터 선택 수단(1115')의 구성 예로서, 쉬프트 요청 신호(Shift_r) 및 데이터 비트를 입력으로 하여 두 입력이 모두 1인 경우 1을 출력하는 제 19 논리소자(L19), 쉬프트 요청 신호(Shift_r)의 반전신호 및 3비트 우측의 데이터 비트(하위 3개 데이터 선택 수단의 경우 각각에 접속된 데이터 저장 수단의 출력값)를 입력으로 하여 두 입력이 모두 1인 경우 1을 출력하는 제 20 논리소자(L20), 제 19 및 제 20 논리소자의 출력값을 입력으로 하여 두 입력값 중 어느 하나가 1인 경우 1을 출력하는 제 21 논리소자(L21)로 구성된다.FIG. 11B is an example of the configuration of the data selecting means 1115 and the auxiliary data selecting means 1115 'shown in FIG. 11A. When the shift request signal Shift_r and the data bit are input, 1 is 1 when both inputs are 1. The 19th logic element L19 to be output, the inversion signal of the shift request signal Shift_r, and the data bits to the right of the three bits (the output values of the data storage means connected to each of the three lower data selection means) are input. A twenty-first logic element L20 that outputs one when the inputs are all one, and a twenty-first logic element that outputs one when the input values of one of the two input values are one; L21).

이러한 구성을 갖는 데이터 저장부(1113, 1115)의 동작을 입력된 데이터가 헤더 플릿인 경우와 패이로드 플릿인 경우로 나누어 구체적으로 설명하면 다음과 같다.The operations of the data storage units 1113 and 1115 having such a configuration will be described in detail as follows when the input data is a header flit and a payload flit.

먼저, 헤더 플릿이 입력되는 경우, 21번째 데이터 비트 및 22번째 데이터 비트값 즉, 데이터 타입 필드(F_type0, F_type1)를 검출하여 헤더 제어부(1112, 1152)로 전송한다. 이에 따라, 쉬프트 요청 신호(Shift_r) 및 헤더 플릿 버퍼링 요청 신호(Bufh_r)가 활성화된다. 이 경우, 데이터 선택 수단(1115) 및 보조 데이터 선택 수단(1115')을 구성하는 제 19 논리소자(L19)의 출력은 입력되는 데이터 비트값에 따라 결정되고, 제 20 논리소자(L20)의 출력은 0이 되며, 따라서 제 21 논리소자(L21)의 출력값 즉, 데이터 선택 수단(1115) 및 보조 데이터 선택 수단(1115')의 출력값은 데이터 비트값이 된다. 결국, 하위 데이터 저장 수단(1116) 및 보조 데이터 저장 수단(1116')에는 각 데이터 비트값이 그대로 저장되게 된다.First, when the header flit is input, the 21st data bit and the 22nd data bit value, that is, the data type fields F_type0 and F_type1 are detected and transmitted to the header controllers 1112 and 1152. Accordingly, the shift request signal Shift_r and the header flit buffering request signal Buhf_r are activated. In this case, the output of the nineteenth logic element L19 constituting the data selection means 1115 and the auxiliary data selection means 1115 'is determined in accordance with the input data bit value, and the output of the twentieth logic element L20. Becomes 0, so that the output value of the twenty-first logic element L21, that is, the output value of the data selecting means 1115 and the auxiliary data selecting means 1115 ', becomes the data bit value. As a result, each data bit value is stored in the lower data storage means 1116 and the auxiliary data storage means 1116 'as it is.

헤더 플릿의 경우 최하위 3비트는 라우팅 정보를 나타내므로, 하위 데이터 저장 수단(1116)은 최하위 3비트 정보를 출력포트 중재부(120)로 출력한다.In the case of the header flit, since the least significant 3 bits indicate routing information, the lower data storage means 1116 outputs the least significant 3 bits information to the output port arbitration unit 120.

아울러, 하위 3비트를 제외한 23비트의 데이터는 데이터 이동경로 설정부(130)로 출력되는데, 0을 입력 데이터 비트값으로 하는 보조 데이터 선택 수단(1115')에 의해 라우팅 정보 필드의 상위 3비트가 0으로 채워지게 된다. 또한, 데이터 타입 필드(21~22) 및 소스 어드레스 필드(15~20)는 원래의 데이터가 그대로 상위 데이터 저장부(1116")에 저장된다.In addition, 23 bits of data excluding the lower 3 bits are outputted to the data movement path setting unit 130, and the upper 3 bits of the routing information field are set by the auxiliary data selecting means 1115 'having 0 as the input data bit value. It will be filled with zeros. The data type fields 21 to 22 and the source address fields 15 to 20 are stored in the upper data storage unit 1116 ″ as the original data is intact.

한편, 패이로드 플릿이 입력되는 경우 쉬프트 요청 신호(Shift_r)는 비활성화상태이므로 데이터 선택 수단(1115) 및 보조 데이터 선택 수단(1115')을 구성하는 제 19 논리소자(L19)의 출력값은 0이 되고, 제 20 논리소자(L20)의 출력값은 3비트 우측의 데이터 비트값(최하위 3개 데이터 선택 수단의 경우, 각각에 접속된 데이터 저장 수단의 출력값)이 된다.On the other hand, when the payload flit is input, since the shift request signal Shift_r is inactive, the output value of the nineteenth logic element L19 constituting the data selection means 1115 and the auxiliary data selection means 1115 'becomes zero. The output value of the twentieth logic element L20 is the data bit value on the right side of the three bits (in the case of the lowest three data selection means, the output value of the data storage means connected to each).

이때, 하위 3개의 데이터 저장 수단(1116)에 저장된 값은 패이로드 플릿의 경우 사용되지 않으며, 상위 23개의 데이터 저장 수단(1116)에 저장된 값이 실제 데이터로서 출력되게 된다. 구체적으로 설명하면, 실제 입력 데이터의 0번째 비트부터 14번째 비트까지는 3비트씩 좌측으로 쉬프트되어 하위 데이터 저장수단(1116)에 저장되고, 15번째 비트부터 17번째 비트까지는 보조 데이터 저장수단(1116')에 저장되며, 18번째 비트부터 22번째 비트까지는 직접 상위 데이터 저장 수단(1116)으로 전송되어 저장된 후, 데이터 이동경로 설정부로 출력되는 것이다.In this case, the values stored in the lower three data storage means 1116 are not used in the case of a payload flit, and the values stored in the top 23 data storage means 1116 are output as actual data. Specifically, the 0th bit to the 14th bit of the actual input data are shifted left by 3 bits and stored in the lower data storing means 1116, and the auxiliary data storing means 1116 'from the 15th bit to the 17th bit. ), The 18th bit to the 22nd bit are directly transmitted to the upper data storage means 1116 and stored, and then output to the data movement path setting unit.

이상에서는 데이터 입력부(110)의 구성 및 동작에 대하여 설명하였으며, 이하에서는 출력포트 중재부(120)에 대하여 설명하기로 한다.The configuration and operation of the data input unit 110 have been described above, and the output port arbitration unit 120 will be described below.

도 12는 본 발명에 적용되는 출력포트 중재부의 상세 구성도이다.12 is a detailed configuration diagram of the output port arbitration unit applied to the present invention.

도시한 것과 같이, 출력포트 중재부(120)는 각 입력포트로 입력된 데이터에 대한 중재 요청 신호(Arb_req0~ Arb_req5) 및 각 데이터의 라우팅 정보(rib)를 데이터 입력부(110)로부터 입력받아, 각 중재 요청 신호의 전송 경로를 결정하기 위한 제 1 내지 제 6 디멀티플렉서(DM0~DM5), 각 입력포트로 입력된 데이터에 대한 헤더 플릿 처리 요청 신호(H_r)를 입력받아 각 헤더 플릿 처리 요청 신호의 전송 경로를 결정하기 위한 제 7 내지 제 12 디멀티플렉서(DM6~DM11), 각 입력포트로 입력된 데이터에 대한 마지막 패이로드 처리 요청 신호(L_r)를 입력받아 각 마지막 패이로드 저장 완료 신호의 전송 경로를 결정하기 위한 제 13 내지 제 18 디멀티플렉서(DM12~DM17), 제 1 내지 제 6 디멀티플렉서로부터 입력된 중재 요청 신호(Arb_req)에 따른 중재 요청 응답 신호(Arb_ack)를 생성하고, 동일한 포트로 출력하고자 하는 데이터 패킷에 대한 출력포트 선택 신호(s)를 생성하는 중재 수단 (1200) 및 중재수단(1200)에서 생성한 중재 요청 응답 신호(Arb_ack) 및 선택 신호(s)에 따라 데이터 입력부(110)로 중재 결과(Arb_ack)를 전송하는 제 1 내지 제 6 멀티플렉서(M0~M5)를 포함한다.As shown, the output port arbitration unit 120 receives the arbitration request signals Arb_req0 to Arb_req5 and routing information ribs of the data from the data input unit 110 for data input to each input port. First to sixth demultiplexers DM0 to DM5 for determining a transmission path of the arbitration request signal, and receiving a header flit processing request signal H_r for data input through each input port, and transmitting each header flit processing request signal. The seventh to twelfth demultiplexers DM6 to DM11 for determining a path, and receive a last payload processing request signal L_r for data input to each input port to determine a transmission path of each last payload storage completion signal. To generate the arbitration request response signal Arb_ack according to the arbitration request signal Arb_req input from the thirteenth to eighteenth demultiplexers DM12 to DM17 and the first to sixth demultiplexers. Mediation means 1200 for generating an output port selection signal s for the data packet to be output to one port, and data according to the arbitration request response signal Arb_ack and the selection signal s generated by the arbitration means 1200. The first to sixth multiplexers M0 to M5 transmitting the arbitration result Arb_ack to the input unit 110 are included.

데이터 입력부(110)에서 4개의 하위 포트 및 2개의 상위 포트로 입력되는 데이터 패킷에 대한 출력포트 중재는 각각 4개의 하위 중재 모듈과 2개의 상위 중재 모듈에서 이루어지며, 이를 도 13에 나타내었다.Output port arbitration for data packets input to four lower ports and two upper ports from the data input unit 110 is performed in four lower arbitration modules and two upper arbitration modules, respectively, which are illustrated in FIG. 13.

도 13은 본 발명에 적용되는 출력포트 중재부의 구성도로서, 4개의 하위 중재 모듈(121, 122, 123, 124)과 2개의 상위 중재 모듈(125, 126)을 나타낸다.FIG. 13 is a block diagram of an output port arbitration unit applied to the present invention and shows four lower arbitration modules 121, 122, 123, and 124 and two upper arbitration modules 125 and 126.

하위 중재 모듈(121, 122, 123, 124)과 상위 중재 모듈(125, 126)의 차이를 설명하면, 하위 중재 모듈(121, 122, 123, 124)은 6개의 출력포트 중 어느 하나를 선택하는 것이고, 상위 중재 모듈(125, 126)은 데이터를 상위 출력 포트로만 전송해야 하므로 4개의 출력포트 중 어느 하나를 선택하는 것이다. 각각의 중재 모듈로 입력되는 중재요청 신호(예를 들어, 하위 중재 모듈0의 경우 Arb_req00~50)에서, 앞의 숫자(0~5)는 입력포트 정보를 나타내고, 뒤의 숫자(0)는 출력포트 정보를 나타낸다. 즉, 중재 모듈은 동일한 출력포트로 출력되고자 하는 데이터별로 나누어 출력 우선순위를 결정하는 것이다.Referring to the difference between the lower arbitration modules 121, 122, 123, and 124 and the upper arbitration modules 125, 126, the lower arbitration modules 121, 122, 123, and 124 select one of the six output ports. Since the upper arbitration modules 125 and 126 should transmit data only to the upper output port, one of the four output ports is selected. In the arbitration request signal input to each arbitration module (for example, Arb_req00 ~ 50 for lower arbitration module 0), the first digit (0-5) represents the input port information, and the second digit (0) is output. Show port information. That is, the arbitration module determines output priorities by dividing the data to be output to the same output port.

도 14는 도 13에 도시한 하위 중재모듈의 상세 구성도이고, 도 15는 도 13에 도시한 상위 중재모듈의 상세 구성도로서, 하위 및 상위 중재 모듈은 선택 가능한 출력포트의 개수의 차이만 있을 뿐 동일하게 동작하므로 함께 설명하기로 한다.FIG. 14 is a detailed configuration diagram of the lower arbitration module illustrated in FIG. 13, and FIG. 15 is a detailed configuration diagram of the upper arbitration module illustrated in FIG. 13. The lower and upper arbitration modules may have only a difference in the number of selectable output ports. Only the same operation will be described together.

하위 및 상위 중재 모듈(121, 125)은 복수의 중재 요청 신호(Atb_req0~ Atb_req5 또는 Atb_req0~ Atb_req3) 중에서 어느 하나를 선택하기 위한 즉, 동일한 출력포트로 출력되고자 하는 복수의 데이터 중 어느 하나를 선택하기 위한 6-by-1 트리 중재기를 포함하는 중재 유닛(1211, 1251), 중재 유닛(1211)에 의해 중재 요청 응답 신호(Arb_ack)가 활성화된 경우 해당 데이터 패킷을 모두 전송할 때까지 해당 출력 경로를 유지하기 위하여 6-by-1 트리 중재기가 동작하지 않도록 하는 한편, 마지막 패이로드가 입력되어 마지막 패이로드 처리 요청 신호(L_r)가 활성화되면 멀티플렉서 선택 신호가 출력되도록 제어하기 위한 멀티플렉서 선택 제어 신호(en)를 출력하는 웜홀 라우팅 처리 유닛(1212, 1252) 및 웜홀 라우팅 처리 유닛(1212, 1252)의 멀티플렉서 선택 제어 신호(en) 및 중재 유닛(1211)의 중재 결과에 따라 멀티플렉서 선택 신호(s0~s2 또는 s0~s1)를 출력하는 경로 설정 제어 유닛(1213, 1253)을 포함한다The lower and upper arbitration modules 121 and 125 select one of the plurality of arbitration request signals Atb_req0 to Atb_req5 or Atb_req0 to Atb_req3, that is, to select any one of a plurality of data to be output to the same output port. Arbitration units 1211 and 1251 comprising a 6-by-1 tree arbiter for the case, if the arbitration request response signal Arb_ack is activated by the arbitration unit 1211, the output path is maintained until all of the corresponding data packets are transmitted. In order to prevent the 6-by-1 tree arbiter from operating, the multiplexer selection control signal en for controlling the multiplexer selection signal to be outputted when the last payload is input and the last payload processing request signal L_r is activated. Multiplexer selection control signal (en) and arbitration unit (1211) of the wormhole routing processing unit (1212, 1252) and the wormhole routing processing unit (1212, 1252) outputting Includes a routing control unit (1213, 1253) for outputting a multiplexer select signal (s0 ~ s2 ~ s0 or s1) according to the arbitration result

도 16은 도 14에 도시한 6-by-1 트리 중재기의 상세 구성도이다.FIG. 16 is a detailed block diagram of the 6-by-1 tree arbiter shown in FIG. 14.

도시한 것과 같이, 6-by-1 트리 중재기는 2-by-1 트리 중재기를 복수개 연결하여 구성할 수 있다. 즉, 6개의 중재 요청 신호 중 각각 2개식을 입력받아 2 개의 중재 요청 신호 중에서 하나를 선택하는 제 1 내지 제 3 2-by-1 트리 중재기(1214, 1215, 1216)와, 제 1 및 제 2 2-by-1 트리 중재기(1214, 1215)의 출력값 중 어느 하나를 선택하는 제 4 2-by-1 트리 중재기(1217)와, 제 3 2-by-1 트리 중재기(1216) 및 제 4 2-by-1 트리 중재기(1217)의 출력값 중 어느 하나를 선택하기 위한 제 5 2-by-1 트리 중재기(1218)와, 제 5 2-by-1 트리 중재기(1218)의 출력값을 일시 저장하여 출력하는 버퍼(1219)를 포함한다.As shown, the 6-by-1 tree arbiter may be configured by connecting a plurality of 2-by-1 tree arbiters. That is, the first to third 2-by-1 tree arbiters 1214, 1215, and 1216 which receive two expressions from each of the six arbitration request signals and select one of the two arbitration request signals, and the first and the second. A fourth 2-by-1 tree arbiter 1217 which selects one of the outputs of the two 2-by-1 tree arbiters 1214 and 1215, and a third 2-by-1 tree arbiter 1216 And a fifth 2-by-1 tree arbiter 1218 for selecting any one of an output of the fourth 2-by-1 tree arbiter 1217, and a fifth 2-by-1 tree arbiter 1218. And a buffer 1219 for temporarily storing and outputting the output value.

각 2-by-1 트리 중재기로는 리셋 신호(resetb)가 입력되며, 두 개의 중재 요청 신호(r0, r1) 및 출력단 응답 신호(g)를 입력받아 하나의 중재 요청 신호(r) 및 두 개의 중재 요청 응답 신호(g0, g1)를 출력한다.A reset signal resetb is input to each 2-by-1 tree arbiter, and two arbitration request signals r0 and r1 and an output response signal g are input to one arbitration request signal r and two Output the arbitration request response signals g0 and g1.

아울러, 도 15에 적용되는 4-by-1 트리 중재기는 도시하지는 않았지만 도 16과 유사한 구조를 갖는다.In addition, the 4-by-1 tree arbiter applied to FIG. 15 has a structure similar to that of FIG. 16 although not shown.

즉, 4-by-1 트리 중재기는 2-by-1 트리 중재기를 복수개 연결하여 구성할 수 있다. 즉, 4개의 중재 요청 신호 중 각각 2개식을 입력받아 2 개의 중재 요청 신호 중에서 하나를 선택하는 제 6 및 제 7 2-by-1 트리 중재기와, 제 6 및 제 7 2-by-1 트리 중재기 출력값 중 어느 하나를 선택하기 위한 제 8 2-by-1 트리 중재기와, 제 8 2-by-1 트리 중재기의 출력값을 일시 저장하여 출력하는 버퍼로 구성할 수 있다.That is, the 4-by-1 tree arbiter may be configured by connecting a plurality of 2-by-1 tree arbiters. That is, the sixth and seventh 2-by-1 tree arbiters which receive two expressions from each of the four arbitration request signals and select one of the two arbitration request signals, and the sixth and seventh 2-by-1 tree arbitrations. And an eighth 2-by-1 tree arbiter for selecting any one of the output values and a buffer for temporarily storing and outputting the output values of the eighth 2-by-1 tree arbiter.

도 17은 도 16에 도시한 2-by-1 트리 중재기의 상세 구성도로서, 두 개의 중재 요청 신호(r0, r1) 중 어느 하나를 선택하는 예를 나타낸다.FIG. 17 is a detailed configuration diagram of the 2-by-1 tree arbiter illustrated in FIG. 16 and illustrates an example of selecting one of two arbitration request signals r0 and r1.

도 17에 도시한 2-by-1 트리 중재기의 동작을 설명하기에 앞서, 동시에 입력되는 두 신호 중 하나를 선택하고, 선택된 신호가 로우(low)로 되면 나머지 신호를 선택하는 ME 회로(L22)에 대하여 도 18을 참조하여 설명하기로 한다.Before explaining the operation of the 2-by-1 tree arbiter shown in FIG. 17, an ME circuit L22 that selects one of two signals that are simultaneously input and selects the remaining signals when the selected signal becomes low. ) Will be described with reference to FIG. 18.

도 18에 도시한 것과 같이, ME 회로(L22)는 제 1 입력신호(r0)를 반전시킨 신호에 의해 구동되며, 제 2 입력신호(r1)를 반전시킨 신호를 입력받는 제 8 N 타입 트랜지스터(N8), 제 8 N 타입 트랜지스터에 직렬 접속되어, 제 1 입력신호(r0)를 반전시킨 신호에 의해 구동되는 제 8 P 타입 트랜지스터(P8), 제 2 입력신호 (r1)를 반전시킨 신호에 의해 구동되며, 제 1 입력신호(r0)를 반전시킨 신호를 입력받는 제 9 N 타입 트랜지스터(N9), 제 9 N 타입 트랜지스터 및 제 8 P 타입 트랜지스터 간에 직렬 접속되며, 제 2 입력신호(r1)를 반전시킨 신호에 의해 구동되는 제 9 P 타입 트래지스터(P9)를 포함하며, 제 8 N 타입 트랜지스터(N8)의 출력이 제 1 출력 신호(g0)가 되고, 제 9 N 타입 트랜지스터(N9)의 출력이 제 2 출력 신호(g1)가 된다.As shown in FIG. 18, the ME circuit L22 is driven by a signal inverting the first input signal r0 and receives an eighth N-type transistor (receiving a signal inverting the second input signal r1). N8) connected to an eighth N-type transistor in series and driven by an inverted signal of the eighth P-type transistor P8 and the second input signal r1 driven by a signal inverting the first input signal r0. Is driven and is connected in series between a ninth N-type transistor N9, a ninth N-type transistor, and an eighth P-type transistor that receive a signal inverting the first input signal r0, and receives the second input signal r1. A ninth P-type transistor P9 driven by the inverted signal, the output of the eighth N-type transistor N8 becomes the first output signal g0, and the ninth N-type transistor N9 The output becomes the second output signal g1.

이러한 구성을 갖는 ME 회로(L22)에서, 예를 들어 제 1 입력신호(r0)가 1이고, 제 2 입력신호(r2)가 0인 경우, 제 8 N 타입 트랜지스터(N8) 및 제 9 P 타입 트랜지스터(P9)는 턴오프되고, 제 9 N 타입 트랜지스터(N9) 및 제 8 P 타입 트랜지스터(P8)는 턴온되어, 제 1 출력신호(g0)는 1이 되고, 제 2 출력신호(g1)는 0이 된다. 즉, 입력신호가 1이고 제 2 입력신호가 0인 경우, 제 1 입력신호가 선택되어 지는 것이다.In the ME circuit L22 having such a configuration, for example, when the first input signal r0 is 1 and the second input signal r2 is 0, the eighth N-type transistor N8 and the ninth P-type The transistor P9 is turned off, the ninth N-type transistor N9 and the eighth P-type transistor P8 are turned on, so that the first output signal g0 becomes 1 and the second output signal g1 It becomes zero. That is, when the input signal is 1 and the second input signal is 0, the first input signal is selected.

이러한 ME 회로(L22)를 참조하여, 도 17에 도시한 2-by-1 트리 중재기의 구성 및 동작을 설명하면 다음과 같다.Referring to the ME circuit L22, the configuration and operation of the 2-by-1 tree arbiter shown in FIG. 17 will be described as follows.

도시한 것과 같이, 두 개의 중재 요청신호(r0, r1)가 ME(Mutual Exclusion) 회로(L22)로 입력됨에 따라, ME 회로(L22)는 제 1 출력신호(r0out) 및 제 2 출력신호(r1out) 중 어느 하나를 선택 출력한다. 제 23 논리소자(L23)는 리셋 신호(resetb), 출력단 응답신호(g)의 반전값 및 제 24 논리소자(L24)의 출력신호를 입력으로 하여, 이전 상태의 두 입력값이 모두 0인 경우 0을 출력하고 입력값 중 어느 하나가 0이면 계속해서 0을 출력하며, 입력값이 모두 1로 되면 1을 출력하고, 입력값 중 어느 하나가 1이면 계속해서 1을 출력한다. 신호(g)는 2-by-1 트리 중재기의 출력 신호 수신단에서 전송하는 응답신호로서, 이 신호가 1로 입력는 경우 제 23 논리소자(L23)의 출력 신호는 0이 되고, 이를 반전시킨 신호 즉, 제 2 중재요청 응답 신호(g1)는 1이 된다. 따라서, ME 회로(L22)의 제 2 출력신호(r1out) 및 제 2 중재요청 응답 신호(g1)를 입력으로 하는 제 25 논리소자(L25)의 출력값은 1이 된다.As shown, as two arbitration request signals r0 and r1 are input to the ME (Mutual Exclusion) circuit L22, the ME circuit L22 receives the first output signal r0out and the second output signal r1out. Select and output any one of). When the twenty-third logic element L23 receives a reset signal, an inverted value of the output terminal response signal g, and an output signal of the twenty-fourth logic element L24, both input values of the previous state are zero. It outputs 0 and if any input value is 0, it keeps outputting 0. If all input values are 1, it outputs 1, and if any input value is 1, it keeps outputting 1. The signal g is a response signal transmitted from the output signal receiving end of the 2-by-1 tree arbiter. When this signal is input as 1, the output signal of the twenty-third logic element L23 becomes 0, and the signal inverted thereof. That is, the second arbitration request response signal g1 becomes one. Therefore, the output value of the 25th logic element L25 which inputs the 2nd output signal r1out of the ME circuit L22 and the 2nd arbitration request response signal g1 becomes 1.

한편, 리셋 신호(resetb), 출력단 응답신호(g)의 반전값 및 제 25 논리소자(L25)의 출력신호를 입력으로 하는 제 26 논리소자(L26)의 출력은 0이 되고, 이를 반전시킨 신호 즉, 제 1 중재요청 응답 신호(g0)는 1이 된다. 따라서, 제 1 중재요청 응답 신호(g0) 및 ME 회로(L22)의 제 1 출력신호(r0out)를 입력값으로 하는 제 24 논리소자(L24)의 출력값은 0이 된다. 아울러, 제 24 논리소자 및 제 25 논리소자(L24, L25)의 출력신호를 입력으로 하는 제 27 논리소자(L27)의 출력값(r) 은 1이 된다. 즉, 제 1 입력신호(r0)가 선택되는 것이다.On the other hand, the output of the twenty-sixth logic element L26 which receives the reset signal resetb, the inverted value of the output terminal response signal g, and the output signal of the twenty-fifth logic element L25 becomes 0, and the inverted signal is zero. That is, the first arbitration request response signal g0 is 1. Therefore, the output value of the twenty-fourth logic element L24 that takes the first arbitration request response signal g0 and the first output signal r0out of the ME circuit L22 as an input value becomes zero. In addition, the output value r of the twenty-seventh logic element L27 that receives the output signals of the twenty-fourth logic element and the twenty-fifth logic elements L24 and L25 is one. That is, the first input signal r0 is selected.

도 17에서, 제 23 및 제 26 논리소자(L23, L26)는 상기한 C-엘리먼트 소자이고, 제 24 및 제 25 논리소자와 제 27 논리소자(L24, L25, L27)는 두 입력이 모두 1인 경우 0을 출력하는 소자로서 예를 들어, 낸드(NAND) 게이트로 구현할 수 있다.In FIG. 17, the twenty-third and twenty-sixth logic elements L23 and L26 are the above-described C-element elements, and the twenty-fourth and twenty-seventh logic elements and the twenty-seventh logic elements L24, L25 and L27 have both inputs 1. In this case, the device outputs 0, and may be implemented as, for example, a NAND gate.

이상에서는 본 발명의 비동기 스위치 회로에 적용되는 출력포트 중재부의 상세 구성 및 동작에 대하여 설명하였으며, 이하에서는 본 발명에 적용되는 데이터 이동경로 설정부(130)의 상세 구성 및 동작에 대하여 설명할 것이다.In the above, the detailed configuration and operation of the output port arbitration unit applied to the asynchronous switch circuit of the present invention have been described. Hereinafter, the detailed configuration and operation of the data movement path setting unit 130 applied to the present invention will be described.

도 19는 본 발명에 적용되는 데이터 이동경로 설정부의 상세 구성도이다.19 is a detailed configuration diagram of a data movement path setting unit applied to the present invention.

데이터 이동경로 설정부(130)는 데이터 입력부(110)로부터 23비트의 데이터를 입력받고, 출력포트 중재부(120)로부터 출력포트 정보(출력포트 선택신호)를 입력받아, 해당 출력포트로 데이터를 전달하는 역할을 하는 것으로, 도 19에 도시한 것과 같이 4개의 하위 이동경로 설정부(131, 132, 133, 134)와 2개의 상위 이동경로 설정부(135, 136)로 구성된다.The data movement path setting unit 130 receives 23 bits of data from the data input unit 110, receives output port information (output port selection signal) from the output port arbitration unit 120, and sends data to the corresponding output port. As shown in FIG. 19, four lower movement path setting units 131, 132, 133, and 134 and two upper movement path setting units 135 and 136 are provided.

하위 이동경로 설정부(131, 132, 133, 134)로는 23비트의 크기를 갖는 6개의 데이터(In0<22:0> ~ In5<22:0>)가 입력되고, 상위 이동경로 설정부(135, 136)로는 23비트의 크기를 갖는 4개의 데이터(In0<22:0> ~ In3<22:0>)가 입력된다. 이는 하위 이동경로 설정부의 경우 6개의 출력포트 중 어느 하나로 데이터를 전송할 수 있고, 하위 이동경로 설정부의 경우 4개의 상위 출력포트 중 어느 하나로 데이터를 전송하기 때문이다.Six data (In0 <22: 0> to In5 <22: 0>) having a size of 23 bits are input to the lower movement path setting unit 131, 132, 133, and 134, and the upper movement path setting unit 135 136 inputs four pieces of data In0 <22: 0> to In3 <22: 0> having a size of 23 bits. This is because the lower movement path setting unit transmits data to any one of six output ports, and the lower movement path setting unit transmits data to any one of four upper output ports.

각 이동경로 설정부(131~136)는 데이터를 입력받는 한편, 출력포트 중재부(120)에서 전송하는 선택신호(s0<2:0> ~ s3<2:0>, s4<1:0>, s5<1:0>)를 참조하여, 특정 데이터를 선택신호가 나타내는 출력포트로 전송한다(out0<22:0> ~ out5<22:0>).Each movement path setting unit 131 ˜ 136 receives data while the selection signals s0 <2: 0> to s3 <2: 0> and s4 <1: 0> transmitted from the output port arbitration unit 120. , s5 <1: 0>), and transmits specific data to the output port indicated by the selection signal (out0 <22: 0> to out5 <22: 0>).

도 20은 도 19에 도시한 하위 이동경로 설정부의 상세 구성도이고, 도 21은 도 19에 도시한 상위 이동경로 설정부의 상세 구성도로서, 하위 이동경로 설정부와 상위 이동경로 설정부는 입력되는 데이터의 수와 선택 신호의 수가 상이할 뿐 동일한 구성을 가지므로 함께 설명하기로 한다.FIG. 20 is a detailed configuration diagram of the lower movement path setting unit shown in FIG. 19, and FIG. 21 is a detailed configuration diagram of the upper movement path setting unit shown in FIG. 19, and the lower movement path setting unit and the upper movement path setting unit are input data. Since the number of and the number of selection signals are different, they have the same configuration, which will be described together.

하나의 데이터 플릿을 구성하는 23비트의 데이터 비트값은 23개의 멀티플렉 서(멀티플렉서10~멀티플렉서122)로 각각 1비트씩 입력된다. 하위 이동경로 설정부(131, 132, 133, 134)의 경우 입력되는 데이터 플릿이 6개이므로 예를 들어, 멀티플렉서10에는 제 1 데이터의 0번째 비트 데이터값(In0<0>), 제 2 데이터의 0번째 비트 데이터값(In1<0>), ... 제 6 데이터의 0번째 비트 데이터값(In5<0>)이 입력되는 것이다. 아울러, 상위 이동경로 설정부(135, 136)의 경우 입력되는 데이터가 4개이므로 예를 들어, 멀티플렉서20에는 제 1 데이터의 0번째 비트 데이터값(In0<0>), 제 2 데이터의 0번째 비트 데이터값(In1<0>), … 제 4 데이터의 0번째 비트 데이터값(In3<0>)이 입력되게 된다.The 23 bit data bit values constituting one data fleet are inputted into 23 multiplexers (multiplexer 10 to multiplexer 122) one bit each. In the lower movement path setting unit 131, 132, 133, and 134, since six data flits are input, for example, the multiplexer 10 has a 0 th bit data value (In0 <0>) of the first data and a second data. 0th bit data value (In1 <0>), ... 0th bit data value (In5 <0>) of the 6th data is inputted. In addition, in the upper movement path setting unit 135 and 136, since four pieces of data are input, for example, the multiplexer 20 includes a 0 th bit data value (In0 <0>) of the first data and a 0 th of the second data. Bit data value (In1 <0>),... The 0 th bit data value In3 <0> of the fourth data is input.

아울러, 각각의 멀티플렉서(M10~M122, M20~M222)로는 선택신호(s)가 입력되는데, 하위 이동경로 설정부(131,132, 133, 134)의 경우 6개의 출력포트를 나타내기 위하여 3개의 선택신호(s0, s1, s2)가 입력되고, 상위 이동경로 설정부(135, 136)의 경우 4개의 출력포트를 나타내기 위하여 2개의 선택신호(s0, s2)가 입력된다.In addition, a selection signal s is input to each of the multiplexers M10 to M122 and M20 to M222. In the case of the lower movement path setting units 131, 132, 133, and 134, three selection signals are used to indicate six output ports. (s0, s1, s2) are input, and in the case of the higher movement path setting units 135, 136, two selection signals (s0, s2) are input to indicate four output ports.

데이터 및 선택신호를 입력받은 각각의 멀티플렉서(M10~M122, M20~M222)는 선택신호(s)의 제어에 따라, 하위 이동경로 설정부(131, 132, 133, 134)의 경우 6개의 입력 데이터 중 어느 하나를 선택하여 출력하고, 상위 이동경로 설정부(135, 136)의 경우 4개의 입력 데이터 중 어느 하나를 선택하여 출력한다. 이와 같이하여 출력되는 23비트의 데이터(out<22:0>)는 데이터 출력부(140)로 전송되게 된다.Each of the multiplexers M10 to M122 and M20 to M222 that receive the data and the selection signal has six input data in the case of the lower movement path setting unit 131, 132, 133, and 134 under the control of the selection signal s. Any one of them is selected and output, and the upper movement path setting units 135 and 136 select and output any one of four input data. The 23-bit data out <22: 0> output in this manner is transmitted to the data output unit 140.

선택신호(s)는 출력포트 중재부(120)에서 기 설정되기 때문에, 결과적으로 데이터 출력부(140)로는 동일한 데이터 플릿의 데이터 비트열이 전송되게 되며, 각 비트열이 각각의 멀티플렉서에서 선택되어진 후 전송되므로 데이터 전송속도가 향상된다.Since the selection signal s is preset in the output port arbitration unit 120, the data bit strings of the same data flits are transmitted to the data output unit 140, and each bit string is selected in each multiplexer. Since the data is transmitted afterwards, the data transmission speed is improved.

하위 이동경로 설정부(131, 132, 133, 134)에서 6개의 입력신호 중 선택 신호의 제어에 따른 어느 하나의 신호를 선택하기 위하여 각각의 멀티플렉서(M10~M122)는 6-by-1 TG(Transmission Gate) 멀티플렉서로 구현할 수 있고, 상위 이동경로 설정부(135, 136)에 적용하기 위한 멀티플렉서(M20~M222)는 4-by-1 TG 멀티플렉서로 구현할 수 있으며, 이를 도 22 및 도 23을 참조하여 설명하면 다음과 같다.In order to select any one of the six input signals according to the control of the selection signal from the lower movement path setting units 131, 132, 133, and 134, each of the multiplexers M10 to M122 uses 6-by-1 TG ( Transmission Gate) may be implemented as a multiplexer, and the multiplexers M20 to M222 for applying to the upper movement path setting units 135 and 136 may be implemented as a 4-by-1 TG multiplexer, which is described with reference to FIGS. 22 and 23. The description is as follows.

도 22는 도 20에 도시한 6-by-1 TG 멀티플렉서의 상세 구성도이다.FIG. 22 is a detailed configuration diagram of the 6-by-1 TG multiplexer shown in FIG. 20.

도 22에 도시한 것과 같이, 6-by-1 TG 멀티플렉서는 각각의 데이터 비트(in0~in5)를 입력받고, 제 3 선택신호(s2) 및 제 3 선택신호(s2)의 반전신호에 의해 제어되는 제 1 내지 제 5 전송 게이트(TG0~TG5), 제 1 내지 제 5 전송 게이트(TG0~TG5)의 출력 신호를 각각 입력 신호로 하고, 제 2 선택신호(s1) 및 제 2 선택신호(s1)의 반전신호에 의해 제어되는 제 6 내지 제 12 전송 게이트(TG6~TG11), 제 6 내지 제 12 전송 게이트(TG6~TG11)를 입력 신호로 하고, 제 1 선택신호(s0) 및 제 1 선택신호(s0)의 반전신호에 의해 제어되어, 입력 데이터(in0~in5) 중 어느 하나를 출력하는 제 13 내지 제 18 전송 게이트(TG12~TG17)를 포함한다.As shown in FIG. 22, the 6-by-1 TG multiplexer receives each data bit in0 to in5 and is controlled by the inverted signal of the third select signal s2 and the third select signal s2. The first to fifth transfer gates TG0 to TG5 and the output signals of the first to fifth transfer gates TG0 to TG5 are input signals, respectively, and the second selection signal s1 and the second selection signal s1 are input signals. The sixth to twelfth transfer gates TG6 to TG11 and the sixth to twelfth transfer gates TG6 to TG11 that are controlled by the inverted signal of?) Are input signals, and the first select signal s0 and the first select. And thirteenth to eighteenth transfer gates TG12 to TG17 controlled by the inverted signal of the signal s0 to output any one of the input data in0 to in5.

한편, 도 23에 도시한 4-by-1 TG 멀티플렉서는 각각의 데이터 비트(in0~in3)를 입력받고, 제 2 선택신호(s1) 및 제 2 선택신호(s1)의 반전신호에 의해 제어되는 제 19 내지 제 22 전송 게이트(TG18~TG21), 제 19 내지 제 22 전송 게이트 (TG18~TG21)의 출력 신호를 각각 입력 신호로 하고, 제 1 선택신호(s0) 및 제 1 선택신호(s0)의 반전신호에 의해 제어되어, 입력 데이터(in0~in3) 중 어느 하나를 출력하는 제 23 내지 제 26 전송 게이트(TG22~TG25)를 포함한다.Meanwhile, the 4-by-1 TG multiplexer shown in FIG. 23 receives respective data bits in0 to in3 and is controlled by the inversion signal of the second selection signal s1 and the second selection signal s1. Output signals of the 19th to 22nd transmission gates TG18 to TG21 and the 19th to 22nd transmission gates TG18 to TG21 are used as input signals, respectively, and the first selection signal s0 and the first selection signal s0. The twenty-third to twenty-sixth transmission gates TG22 to TG25 controlled by the inverted signal of U and outputting any one of the input data in0 to in3 are included.

이와 같이, 데이터 이동경로 설정부(130)는 입력 데이터를 출력 포트 중재부(120)에서 생성한 출력포트 정보에 따라 데이터 출력부(140)로 정확히 전달하는 역할을 한다.As such, the data movement path setting unit 130 accurately transmits the input data to the data output unit 140 according to the output port information generated by the output port arbitration unit 120.

다음으로는, 본 발명에 의한 비동기 스위치 회로에 적용되는 데이터 출력부(140)에 대하여 구체적으로 설명하기로 한다.Next, the data output unit 140 applied to the asynchronous switch circuit according to the present invention will be described in detail.

도 24는 본 발명에 적용되는 데이터 출력부의 상세 구성도이다.24 is a detailed configuration diagram of a data output unit applied to the present invention.

데이터 출력부(140)는 데이터 입력부(110)로부터 전송되는 헤더 저장 요청 신호(Datah_r0~Datah_r5) 및 패이로드 저장 요청 신호(Datap_r0~Datap_r5), 출력포트 중재부(120)로부터 입력되는 출력포트 정보 즉, 선택신호(s0<2:0>~s5<2:0>)를 입력받아, 해당 출력 버퍼에 데이터를 저장하도록 요청하는 입력 제어부(141), 리셋 신호(resetb)가 입력되고, 데이터 입력부(110)로부터 전송되는 입력 데이터(in0<22:0> ~ in5<22:0>) 및 입력 제어부(141)로부터 입력되는 데이터 전송 요청신호(input_req)에 따라 해당 출력포트에 데이터를 저장하고, 데이터 저장이 완료되면 데이터 전송 요청 응답 신호(input_ack)를 출력포트 중재부(120)로 전송하며, 출력할 데이터가 있음을 다음 단의 스위치로 통보하는 출력 요청 신호(output_req)를 출력하고, 다음 단 스위치가 이에 대해 응답(output_ack)함에 따라, 정해진 출력 포트를 통해 다음 단의 스위치로 데이터를 출력(out0<22:0> ~ out5<22:0>)하는 버퍼(142), 버퍼(142)로부터 데이터 전송 요청 신호(input_ack0~input_ack5)를 입력받고, 데이터 입력부(110)로부터 헤더 저장 요청 신호(Datah_r0~Datah_r5) 및 패이로드 저장 요청 신호(Datap_r0~Datap_r5)를 입력받으며, 출력포트 중재부(120)로부터 입력되는 출력포트 정보(s0<2:0>~s5<2:0>)를 입력받아, 데이터 입력부(110)로 헤더 저장 완료 신호(Datah_a0~Datah_a5) 및 패이로드 저장 완료 신호(Datap_a0~Datap_a5)를 전송하는 출력 제어부(143)를 포함한다.The data output unit 140 may include header storage request signals Datah_r0 to Datah_r5 and payload storage request signals Datap_r0 to Datap_r5 and output port information input from the output port arbitration unit 120 transmitted from the data input unit 110. In response to the selection signals s0 <2: 0> to s5 <2: 0>, an input control unit 141 and a reset signal resetb are requested to store data in the corresponding output buffer, and a data input unit ( According to the input data (in0 <22: 0> to in5 <22: 0>) transmitted from 110 and the data transmission request signal (input_req) input from the input control unit 141, the data is stored in the corresponding output port, and the data When the saving is completed, the data transmission request response signal (input_ack) is transmitted to the output port arbitration unit 120, and an output request signal (output_req) for notifying the next stage switch that there is data to be output is output, and the next stage switch. Responds to this by output_ack A data transmission request signal (input_ack0 to input_ack5) is received from the buffer 142 and the buffer 142 that outputs data (out0 <22: 0> to out5 <22: 0>) to the next switch through the output port. The data input unit 110 receives the header storage request signals Datah_r0 to Datah_r5 and the payload storage request signals Datap_r0 to Datap_r5, and output port information s0 <2: 0 input from the output port arbitration unit 120. and an output control unit 143 which receives the> ~ s5 <2: 0> and transmits the header storage completion signal Datah_a0 to Datah_a5 and the payload storage completion signal Datap_a0 to Datap_a5 to the data input unit 110. .

여기에서, 데이터 출력부(140)는 버퍼(142)에서 출력되는 출력 요청 신호(output_req0~output_req5)를 지정된 시간동안 지연시킨 후 다음 단의 스위치로 출력하는 지연수단(144)을 더 포함할 수 있다. 이 지연수단(144)은 본 발명의 스위치 회로가 비동기 회로이므로 신호 전송시의 타이밍이 적절하게 되도록 하기 위하여 사용하는 것이다.Here, the data output unit 140 may further include a delay means 144 for delaying the output request signals output_req0 to output_req5 output from the buffer 142 for a predetermined time and then outputting them to the next stage switch. . This delay means 144 is used to ensure proper timing of signal transmission since the switch circuit of the present invention is an asynchronous circuit.

도 25는 도 24에 도시한 입력 제어부의 상세 구성도이다.FIG. 25 is a detailed configuration diagram of the input control unit shown in FIG. 24.

도시한 것과 같이, 입력 제어부는 각 데이터에 대한 헤더 저장 완료 신호 및 패이로드 저장 완료 신호를 입력으로 하여, 입력 신호 중 어느 하나가 1이면 1을 출력하는 제 28 내지 제 33 논리소자(L28~L33)의 출력 신호를 입력 신호로 하는 제 1 내지 제 6 멀티플렉서(M30~M35)로 구현할 수 있으며, 각 멀티플렉서(M30~M35)로는 선택신호(s0<2:0>~s5<2:0>)가 각각 입력되어, 선택신호(s0<2:0>~s5<2:0>)의 제어에 의해 데이터 전송 요청 신호(Input_req0~Input_req5) 중 어느 하나가 활성화되게 된다.As shown, the input control unit inputs a header storage completion signal and a payload storage completion signal for each data, and outputs 1 when any one of the input signals is 1 (L28 to L33). The first to sixth multiplexers M30 to M35 may be implemented using the output signals of the first and sixth multiplexers M30 to M35, and the selection signals s0 <2: 0> to s5 <2: 0> may be used as the multiplexers M30 to M35. Are respectively input, and any one of the data transfer request signals Input_req0 to Input_req5 is activated by the control of the selection signals s0 <2: 0> to s5 <2: 0>.

여기에서, 각 멀티플렉서(M30~M35)는 6-by-1 TG(Transmission Gate) 멀티플 렉서로 구현할 수 있고, 구체적인 구성 예는 도 22에 도시하였다. 아울러, 제 28 내지 제 33 논리소자(L28~L33)는 오알(OR) 게이트로 구현할 수 있는데, 이는 데이터 출력부(140)는 입력 제어부(141)로 입력되는 데이터가 헤더인지 패이로드인지 구별할 필요가 없기 때문이다.Here, each of the multiplexers M30 to M35 may be implemented as a 6-by-1 TG (Transmission Gate) multiplexer, and a specific configuration example is illustrated in FIG. 22. In addition, the twenty-eighth to thirty-third logic elements L28 to L33 may be implemented as an OR gate. The data output unit 140 may distinguish whether the data input to the input controller 141 is a header or a payload. Because there is no need.

도 26은 도 24에 도시한 버퍼의 상세 구성도이다.FIG. 26 is a detailed configuration diagram of the buffer shown in FIG. 24.

본 발명에 적용되는 버퍼(142)는 2상 선입선출 버퍼(2 stage FIFO, 1421~1426)를 6개 병렬 연결하여 사용할 수 있다.The buffer 142 applied to the present invention may be used by connecting two two-phase first-in first-out buffers (2 stage FIFOs, 1421 to 1426) in parallel.

각각의 2상 선입선출 버퍼(1421~1426)로는 리셋 신호(resetb)가 입력되고, 데이터 입력부(110)로부터 전송되는 입력 데이터(in) 및 입력 제어부(141)로부터 입력되는 데이터 전송 요청 신호(input_req)에 따라 해당 출력포트에 데이터가 저장되고, 데이터 저장이 완료되면 데이터 전송 요청 응답 신호(input_ack)를 출력포트 중재부(120)로 전송한다.A reset signal resetb is input to each of the two-phase first-in first-out buffers 1421 to 1426, and input data in transmitted from the data input unit 110 and a data transmission request signal input_req input from the input control unit 141. Data is stored in the corresponding output port, and when the data storage is completed, the data transmission request response signal input_ack is transmitted to the output port arbitration unit 120.

아울러, 출력할 데이터가 있음을 다음 단의 스위치로 통보하는 출력 요청 신호(output_req)를 출력하며, 다음 단 스위치가 이에 대해 응답(output_ack)함에 따라, 정해진 출력 포트를 통해 다음 단의 스위치로 데이터를 출력(out)한다.In addition, it outputs an output request signal (output_req) that notifies the next stage switch that there is data to be outputted, and as the next stage switch responds to this (output_ack), the data is sent to the next stage switch through the designated output port. Output out.

도 27은 도 26에 도시한 2상 선입선출 버퍼의 상세 구성도로서, 세미 디커플드(semi decoupled) 선입선출 버퍼 2개(1427, 1428)를 직렬 연결함으로써 구성할 수 있음을 나타낸다.FIG. 27 is a detailed configuration diagram of the two-phase first-in first-out buffer shown in FIG. 26 and shows that two semi-decoupled first-in first-out buffers 1427 and 1428 can be connected in series.

도 28은 도 24에 도시한 출력 제어부의 상세 구성도이다.FIG. 28 is a detailed configuration diagram of the output control unit shown in FIG. 24.

도시한 것과 같이 출력 제어부(143)는 버퍼(142)로부터 입력되는 데이터 전 송 요청 신호(input_ack) 및 출력포트 중재부(120)로부터 입력되는 선택신호(s0~s5)를 각각 입력받아 하위 출력포트로 출력할 데이터에 대한 제어 신호를 생성하기 위한 제 1 내지 제 4 디멀티플렉서(DM20~DM23)와 상위 출력포트로 출력할 데이터에 대한 제어 신호를 생성하기 위한 제 5 및 제 6 디멀티플렉서(DM24~DM25), 제 1 내지 제 6 디멀티플렉서(DM24~DM25)의 출력값을 각 출력포트 번호별로 입력받아, 입력 신호 중 어느 하나가 1인 경우 1을 출력하는 제 34 내지 제 39 논리소자(L34~L39), 제 34 내지 제 39 논리소자(L34~L39)의 출력값을 입력값으로 하고, 데이터 입력부(110)로부터 각 출력포트 번호별로 입력되는 헤더 저장 요청 신호(Datah_r) 및 패이로드 저장 요청 신호(Datap_r)에 따라 데이터를 버퍼(142)에 저장하였음을 통보하는 헤더 저장 완료 신호(Datah_a) 및 패이로드 저장 완료 신호(Datap_a)를 데이터 입력부(110)로 전송하는 제 1 내지 제 6 디코더(DC0~DC5)를 포함한다.As shown in the drawing, the output control unit 143 receives the data transmission request signal input_ack input from the buffer 142 and the selection signals s0 to s5 input from the output port arbitration unit 120, respectively. First to fourth demultiplexers DM20 to DM23 for generating a control signal for data to be output to a second output port and fifth and sixth demultiplexers DM24 to DM25 for generating a control signal for data to be output to an upper output port. 34th to 39th logic elements L34 to L39 that receive the output values of the first to sixth demultiplexers DM24 to DM25 for each output port number, and output 1 when any one of the input signals is 1; The output values of the 34 th to 39 th logic elements L34 to L39 are input values, and according to the header storage request signal Datah_r and the payload storage request signal Datap_r input from the data input unit 110 for each output port number. Buffer data (142) And a first to sixth decoder (DC0 ~ DC5) for transmitting a completion notice to that it has stored a header save signal (Datah_a) and payload storage completion signal (Datap_a) to the data input unit 110.

도 28에서는 제 1 입력포트로 입력되는 데이터와 제 4 입력포트로 입력되는 데이터에 대한 출력을 위한 신호선만을 도시하였으나, 타 입력 데이터에 대해서도 동일한 신호선을 동일한 방법으로 나타낼 수 있다.In FIG. 28, only signal lines for outputting data input to the first input port and data input to the fourth input port are illustrated, but the same signal lines may be represented for the other input data in the same manner.

이상에서, 본 발명에 의한 스위치 회로의 구성에 대하여 설명하였다.In the above, the structure of the switch circuit by this invention was demonstrated.

이에 더하여, 본 발명의 스위치 회로는 데이터 입력부(110)와 출력포트 중재부(120) 간에, 데이터 입력부(110)와 데이터 출력부(140) 간에 각각 지연부(150, 160)를 추가로 구성할 수 있다. 이는 본 발명의 스위치 회로가 비동기 회로이기 때문에 타이밍을 조절하기 위한 목적으로 구현된다.In addition, the switch circuit of the present invention may further configure delay units 150 and 160 between the data input unit 110 and the output port arbitration unit 120 and between the data input unit 110 and the data output unit 140, respectively. Can be. This is implemented for the purpose of adjusting the timing since the switch circuit of the present invention is an asynchronous circuit.

지연부는 신호의 입력단과 출력단 간에 복수 개의 버퍼를 직렬 연결한 버퍼 체인 형태로 구현할 수 있으며, 특히 데이터 입력부(110)와 출력포트 중재부(120) 간에 접속되는 지연부(150)는 데이터 입력부(110)로부터 출력포트 중재부(120)로 전송되는 헤더 플릿 처리 요청 신호(H_r)를 지연시키기 위해 사용된다. 즉, 라우팅 정보(rib)가 헤더 플릿 처리 요청 신호(H_r)보다 빨리 출력되도록 하기 위해 사용하는 것이다.The delay unit may be implemented in the form of a buffer chain in which a plurality of buffers are connected in series between an input terminal and an output terminal of a signal. In particular, the delay unit 150 connected between the data input unit 110 and the output port arbitration unit 120 may include a data input unit 110. ) Is used to delay the header flit processing request signal (H_r) transmitted to the output port arbitration unit (120). That is, the routing information (rib) is used to output faster than the header flit processing request signal (H_r).

한편, 데이터 입력부(110)와 데이터 출력부(140) 간에 접속되는 지연부(160)는 헤더 저장 요청 신호(Datah_r)를 지연시키기 위해 사용하는 것으로, 데이터 이동경로 설정부(130)에서 데이터 출력부(140)로 데이터(out) 전송하는 시간과 헤더 저장 요청 신호(Datah_r)와의 동기를 맞추기 위하여 사용한다.On the other hand, the delay unit 160 connected between the data input unit 110 and the data output unit 140 is used to delay the header storage request signal Datah_r, and the data output unit in the data movement path setting unit 130 is used. It is used to synchronize the time at which data is sent out to the 140 and the header storage request signal Datah_r.

이와 같이, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.As such, those skilled in the art will appreciate that the present invention can be implemented in other specific forms without changing the technical spirit or essential features thereof. Therefore, the above-described embodiments are to be understood as illustrative in all respects and not as restrictive. The scope of the present invention is shown by the following claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalents should be construed as being included in the scope of the present invention. do.

이상에서 설명한 본 발명은 하나의 칩에 다양한 IP(Intellectual Property)들을 구현하고, IP들 간의 통신을 가능하게 하는 스위치 회로를 버터플리이 팻-트 리 형태의 토폴로지로 구현하고, 웜홀 스위칭 기술에 의해 데이터를 전송함으로써 네트워크-온-칩에서의 데이터 처리 속도를 향상시키고, 그 구성을 간단화할 수 있는 이점이 있다.The present invention described above implements various IP (Intellectual Property) on one chip, implements a switch circuit that enables communication between IPs in a butterfly fat-tree topology, and data by wormhole switching technology. By transmitting the data, the data processing speed in the network-on-chip can be improved, and the configuration thereof can be simplified.

Claims (26)

복수개의 데이터 패킷을 전달하기 위한 네트워크 온칩 어플리케이션을 위한 비동기 스위치 회로로서, 상기 데이터 패킷은 하나의 헤더 플릿 및 적어도 하나의 패이로드 플릿으로 이루어지며,An asynchronous switch circuit for a network on-chip application for delivering a plurality of data packets, the data packet consists of one header flit and at least one payload flit, 복수의 데이터 플릿을 입력받아 임시 저장하고, 데이터 전송 요청 신호에 따라 상기 각 데이터 플릿의 종류가 헤더 플릿인지 패이로드 플릿인지 확인하는 데이터 입력부;A data input unit configured to receive a plurality of data flits and temporarily store the received data flits, and to determine whether the type of each data fleet is a header flit or a payload flit according to a data transmission request signal; 상기 데이터 입력부로부터 헤더 플릿 처리 요청 신호, 마지막 패이로드 플릿처리 요청 신호, 상기 헤더 플릿의 라우팅 정보 및 중재 요청 신호를 수신함에 따라, 상기 데이터의 출력 우선 순위를 나타내는 출력포트 선택신호를 출력하기 위한 출력포트 중재부;An output for outputting an output port selection signal indicating an output priority of the data in response to receiving a header flit processing request signal, a last payload flit processing request signal, routing information of the header flit, and an arbitration request signal from the data input unit; Port arbitration; 상기 출력포트 중재부에서 결정한 데이터 출력 우선 순위에 따라 상기 데이터 플릿을 순차적으로 저장하는 데이터 이동경로 설정부; 및A data movement path setting unit for sequentially storing the data flits according to the data output priority determined by the output port arbitration unit; And 상기 데이터 입력부로부터 헤더 저장 요청 신호 및 패이로드 저장 요청 신호를 수신하고, 상기 데이터 이동 경로 설정부로부터 입력되는 데이터 플릿을 임시 저장한 후 상기 데이터 플릿을 저장하였음을 나타내는 헤더 및 패이로드 저장 완료 신호를 상기 데이터 입력부로 전송하고, 상기 임시 저장된 데이터 플릿을 정해진 순서에 따라 지정된 포트로 출력하기 위한 데이터 출력부;Receives a header storage request signal and a payload storage request signal from the data input unit, temporarily stores a data flit inputted from the data movement path setting unit, and then outputs a header and payload storage completion signal indicating that the data flit is stored. A data output unit for transmitting to the data input unit and outputting the temporarily stored data flits to a designated port in a predetermined order; 를 포함하는 것을 특징으로 하는 비동기 스위치 회로.Asynchronous switch circuit comprising a. 제 1 항에 있어서,The method of claim 1, 상기 비동기 스위치는 각각 4개의 하위 포트 및 2개의 상위 포트로 이루어지는 6개의 입력포트 및 6개의 출력포트로 구성되고,The asynchronous switch is composed of six input ports and six output ports each consisting of four lower ports and two upper ports, 상기 데이터 입력부는 하위 출력포트 또는 상위 출력포트로 출력되는 데이터 플릿을 처리하기 위한 4개의 하위 입력 처리 모듈; 및The data input unit may include four lower input processing modules configured to process data flits output to the lower output port or the upper output port; And 상위 출력포트로 출력되는 데이터 플릿을 처리하기 위한 2개의 상위 입력 처리 모듈로 이루어지는 것을 특징으로 하는 비동기 스위치 회로.An asynchronous switch circuit comprising two upper input processing modules for processing data flits output to the upper output port. 제 2 항에 있어서,The method of claim 2, 상기 헤더 플릿은 타입 필드, 소스 어드레스 필드 및 라우팅 정보 필드를 포함하고, 상기 패이로드 플릿은 타입 필드 및 패이로드 필드를 포함하며,The header flit includes a type field, a source address field and a routing information field, the payload flit includes a type field and a payload field, 상기 하위 및 상위 입력 처리 모듈은 입력되는 데이터 플릿이 헤더 플릿인 경우 상기 헤더 플릿을 임시 저장하고 헤더 플릿에 포함된 라우팅 정보 필드로부터 라우팅 정보를 추출하여 상기 출력포트 중재부로 전송하고, 상기 라우팅 정보를 우측으로 쉬프트하며, 입력되는 데이터플릿이 패이로드 플릿인 경우 상기 패이로드 플릿을 임시 저장한 후 상기 데이터 이동경로 설정부로 전송하기 위한 데이터 저장부;The lower and upper input processing modules temporarily store the header flit when the input data flit is a header flit, extract routing information from the routing information field included in the header flit, and transmit the routing information to the output port arbitration unit. A data storage unit configured to shift to the right side and to temporarily store the payload flit and to transmit it to the data movement path setting unit when the input data flit is a payload flit; 상기 헤더 플릿을 처리하기 위한 제어 신호를 생성하고, 상기 출력포트 중재부로 중재 요청 신호 및 쉬프트 요청 신호를 전송하며, 상기 데이터 저장부로 헤더 플릿 버퍼링 요청 신호를 전송하고 이에 대한 응답 신호인 헤더 플릿 버퍼링 응답 신호를 수신하는 한편, 상기 데이터 출력부로 헤더 저장 요청 신호를 전송하고 이에 대한 응답 신호인 헤더 저장 완료 신호를 수신하기 위한 헤더 제어부; 및Generates a control signal for processing the header flit, transmits an arbitration request signal and a shift request signal to the output port arbitration unit, transmits a header flit buffering request signal to the data storage unit, and is a response signal for the header flit buffering response. A header control unit for receiving a signal and transmitting a header storage request signal to the data output unit and receiving a header storage completion signal that is a response signal; And 상기 페이로드 플릿을 처리하기 위한 제어 신호를 생성하며, 상기 데이터 저장부로 패이로드 플릿 버퍼링 요청 신호를 전송하고 이에 대한 응답 신호인 패이로드 플릿 버퍼링 응답 신호를 수신하는 한편, 상기 데이터 출력부로 패이로드 저장 요청 신호를 전송하고 이에 대한 응답 신호인 패이로드 저장 완료 신호를 수신하기 위한 패이로드 제어부;Generates a control signal for processing the payload flit, transmits a payload flit buffering request signal to the data storage unit, receives a payload flit buffering response signal, which is a response signal, and stores the payload in the data output unit. A payload controller for transmitting a request signal and receiving a payload storage completion signal that is a response signal thereto; 를 포함하는 것을 특징으로 하는 비동기 스위치 회로.Asynchronous switch circuit comprising a. 제 3 항에 있어서,The method of claim 3, wherein 상기 패이로드 제어부는 패이로드 플릿 처리 요청 신호를 지정된 시간 지연시켜 패이로드 플릿 버퍼링 요청 신호를 생성하는 지연소자;The payload control unit may include: a delay element configured to delay a payload flit processing request signal by a predetermined time to generate a payload flit buffering request signal; 상기 데이터 저장부로부터 수신한 패이로드 플릿 버퍼링 응답 신호 및 상기 데이터 출력부로부터 수신한 패이로드 저장 완료 신호를 입력으로 하여 패이로드 저장 요청 신호를 출력하되, 이전 상태의 두 입력값이 모두 0인 경우 0을 출력하고 입력값 중 어느 하나가 0이면 계속해서 0을 출력하며, 입력값이 모두 1로 되면 1을 출력하고, 입력값 중 어느 하나가 1이면 계속해서 1을 출력하는 제 1 논리소자; 및When the payload storage request signal is received from the payload flit buffering response signal received from the data storage unit and the payload storage completion signal received from the data output unit, and both input values of the previous state are 0. A first logic element for outputting 0 and continuously outputting 0 when any one of input values is 0, outputting 1 when all input values become 1, and continuously outputting 1 when any one of input values is 1; And 상기 제 1 논리소자의 출력 신호 및 패이로드 플릿 버퍼링 응답 신호를 입력으로 하여, 두 입력값이 모두 1인 경우 1을 출력하는 제 2 논리소자;A second logic element configured to output an output signal of the first logic element and a payload flit buffering response signal and output 1 when both input values are 1; 를 포함하는 것을 특징으로 하는 비동기 스위치 회로.Asynchronous switch circuit comprising a. 제 3 항에 있어서,The method of claim 3, wherein 상기 헤더 제어부는 상기 헤더 플릿 처리 요청 신호와 상기 중재 요청에 대한 응답 신호를 입력으로 하여 두 입력값이 모두 0인 경우에만 1을 출력하는 제 3 논리소자;The header control unit may include a third logic element configured to output 1 only when both input values are 0 by inputting the header flit processing request signal and the response signal to the arbitration request; 상기 제 3 논리소자의 출력값과 헤더 플릿 버퍼링 응답 신호를 입력으로 하여 헤더 플릿 처리 요청에 대한 응답 신호를 출력하되, 이전 상태의 두 입력값이 모두 0인 경우 0을 출력하고 입력값 중 어느 하나가 0이면 계속해서 0을 출력하며, 입력값이 모두 1로 되면 1을 출력하고, 입력값 중 어느 하나가 1이면 계속해서 1을 출력하는 제 4 논리소자;Outputs the response signal to the header fleet processing request by using the output value of the third logic element and the header flit buffering response signal, and outputs 0 when both input values of the previous state are 0 and any one of the input values A fourth logic device for continuously outputting 0 when 0 is input, outputting 1 when all input values are 1, and continuously outputting 1 when any one of the input values is 1; 상기 제 4 논리소자의 반전값 및 쉬프트 요청에 대한 응답 신호를 입력으로 하여, 헤더 플릿 버퍼링 요청 신호를 출력하되, 두 입력이 모두 1인 경우에만 1을 출력하는 제 5 논리소자;A fifth logic device configured to output a header flit buffering request signal by inputting an inverted value of the fourth logic device and a response signal for a shift request, and outputting 1 only when both inputs are 1; 상기 제 4 논리소자의 출력값과 상기 제 5 논리소자 출력의 반전값을 입력으로 하여 두 입력값이 모두 1인 경우 1을 출력하는 제 6 논리소자의 출력값을 제 1 입력으로 하고, 상기 제 4 논리소자 출력의 반전값과, 헤더 플릿 처리 요청 신호를 입력으로 하여 두 입력값이 모두 1인 경우 1을 출력하는 제 7 논리소자의 출력값을 제 2 입력으로 하여, 입력값이 모두 0인 경우 1을 출력하고 입력값 중 어느 하나가 0인 경우 출력값을 1로 유지하다가 입력값이 모두 1이 되면 0을 출력하고, 입력값 중 어느 하나가 1인 경우 출력값을 0으로 유지하는 제 8 논리소자;When the output value of the fourth logic element and the inverted value of the fifth logic element output are input and both input values are 1, the output value of the sixth logic element that outputs 1 is the first input, and the fourth logic The inverted value of the device output and the output signal of the seventh logic element outputting 1 when both input values are 1 by inputting the header fleet processing request signal as the second inputs are 1 when the input values are all 0. An eighth logic element that outputs and maintains the output value as 1 when any one of the input values is 0 and outputs 0 when the input values are all 1 and maintains the output value as 0 when any one of the input values is 1; 상기 제 8 논리소자의 출력값을 반전시켜 쉬프트 요청 신호를 출력하는 제 9 논리소자,A ninth logic element for outputting a shift request signal by inverting an output value of the eighth logic element; 헤더 플릿 처리 요청 신호 및 헤더 저장 완료 신호의 반전값을 입력으로 하여 두 입력값이 모두 0인 경우 1을 출력하는 제 10 논리소자의 출력값을 제 1 입력으로 하고, 상기 제 4 논리소자의 출력값과 헤더 플릿 버퍼링 요청 응답 신호의 반전값 및 헤더 플릿 처리 요청 신호를 입력으로 하여 입력값이 모두 1인 경우 1을 출력하는 제 11 논리소자의 출력값을 제 2 입력으로 하는 제 12 논리소자;When the inverted values of the header fleet processing request signal and the header storage completion signal are input and both input values are 0, the output value of the 10th logic element that outputs 1 is the first input, and the output value of the 4th logic element A twelfth logic element configured as a second input of an output value of an eleventh logic element that outputs 1 when the inverted value of the header fleet buffering request response signal and the header fleet processing request signal are input as 1; 상기 제 12 논리소자의 출력을 반전시키는 제 13 논리소자,A thirteenth logic element inverting the output of the twelfth logic element, 상기 제 13 논리소자의 출력값을 제 1 입력으로 하고, 중재 요청에 대한 응답 신호를 제 2 입력으로 하여 중재 요청 신호를 출력하는 제 14 논리소자,A fourteenth logic element configured to output an arbitration request signal using the output value of the thirteenth logic element as a first input and a response signal to the arbitration request as a second input; 헤더 저장 완료 신호를 제 1 입력으로 하고, 헤더 플릿 처리 요청 신호와 중재 요청 신호에 대한 응답 신호 및 헤더 저장 완료 신호의 반전값을 입력으로 하여 입력값이 모두 1인 경우 1을 출력하는 제 15 논리소자의 출력값을 제 2 입력으로 하는 제 16 논리소자; 및A fifteenth logic for setting a header save completion signal as a first input and outputting 1 when the input value is all 1 by inputting a response signal for the header fleet processing request signal, the arbitration request signal, and an inverted value of the header save completion signal; A sixteenth logic element having an output value of the element as a second input; And 상기 제 16 논리소자의 출력을 반전시켜 헤더 저장 요청 신호를 생성하는 제 17 논리소자;A seventeenth logic element for generating a header storage request signal by inverting the output of the sixteenth logic element; 를 포함하는 비동기 스위치 회로.Asynchronous switch circuit comprising a. 제 5 항에 있어서,The method of claim 5, wherein 상기 제 4 논리소자는 전원 단자에 접속되어 제 1 입력 신호에 의해 구동되는 제 1 P 타입 트랜지스터;The fourth logic element includes a first P-type transistor connected to a power supply terminal and driven by a first input signal; 상기 제 1 P 타입 트랜지스터에 직렬 접속되며, 제 2 입력 신호의 반전 신호에 의해 구동되는 제 2 P 타입 트랜지스터;A second P-type transistor connected in series with the first P-type transistor and driven by an inverted signal of a second input signal; 상기 제 2 P 타입 트랜지스터에 직렬 접속되며, 상기 제 1 입력 신호에 의해 구동되는 제 1 N 타입 트랜지스터;A first N-type transistor connected in series with the second P-type transistor and driven by the first input signal; 상기 제 1 N 타입 트랜지스터와 접지 단자 간에 직렬 접속되어 상기 제 2 입력 신호의 반전 신호에 의해 구동되는 제 2 N 타입 트랜지스터;A second N type transistor connected in series between the first N type transistor and a ground terminal and driven by an inverted signal of the second input signal; 상기 전원 단자와 상기 제 2 P 타입 트랜지스터의 출력 단자 간에 접속되며, 리셋 신호에 의해 구동되는 제 3 P 타입 트랜지스터; 및A third P-type transistor connected between the power supply terminal and an output terminal of the second P-type transistor and driven by a reset signal; And 상기 제 2 P 타입 트랜지스터의 출력 단자에 접속되는 지연소자;A delay element connected to an output terminal of the second P-type transistor; 를 포함하는 비동기 스위치 회로.Asynchronous switch circuit comprising a. 제 5 항에 있어서,The method of claim 5, wherein 상기 제 8, 제 12 및 제 16 논리소자는 전원 단자에 접속되어 제 3 입력 신호에 의해 구동되는 제 4 P 타입 트랜지스터;The eighth, twelfth and sixteenth logic elements may include a fourth P-type transistor connected to a power supply terminal and driven by a third input signal; 상기 제 4 P 타입 트랜지스터에 직렬 접속되며 제 4 입력 신호의 반전 신호에 의해 구동되는 제 5 P 타입 트랜지스터;A fifth P-type transistor connected in series with the fourth P-type transistor and driven by an inverted signal of a fourth input signal; 상기 제 5 P 타입 트랜지스터에 직렬 접속되며, 상기 제 3 입력 신호에 의해 구동되는 제 3 N 타입 트랜지스터;A third N-type transistor connected in series with the fifth P-type transistor and driven by the third input signal; 상기 제 3 N 타입 트랜지스터와 접지 단자 간에 직렬 접속되어 상기 제 4 입력 신호의 반전 신호에 의해 구동되는 제 4 N 타입 트랜지스터;A fourth N-type transistor connected in series between the third N-type transistor and a ground terminal and driven by an inverted signal of the fourth input signal; 상기 제 5 P 타입 트랜지스터의 출력 단자와 접지 단자 간에 접속되며, 리셋 신호의 반전신호에 의해 구동되는 제 5 N 타입 트랜지스터; 및A fifth N-type transistor connected between the output terminal and the ground terminal of the fifth P-type transistor and driven by an inverted signal of a reset signal; And 상기 제 5 P 타입 트랜지스터의 출력 단자에 접속되는 지연소자;A delay element connected to an output terminal of the fifth P-type transistor; 를 포함하는 비동기 스위치 회로.Asynchronous switch circuit comprising a. 제 5 항에 있어서,The method of claim 5, wherein 상기 제 14 논리소자는 전원 단자에 접속되어 제 5 입력 신호의 에 의해 구동되는 제 6 P 타입 트랜지스터;The fourteenth logic element includes a sixth P-type transistor connected to a power supply terminal and driven by a fifth input signal; 상기 제 6 P 타입 트랜지스터에 직렬 접속되며, 상기 제 5 입력 신호의 반전신호에 의해 구동되는 제 6 N 타입 트랜지스터;A sixth N-type transistor connected in series with the sixth P-type transistor and driven by an inverted signal of the fifth input signal; 상기 제 6 N 타입 트랜지스터와 접지 단자 간에 직렬 접속되어 제 6 입력 신호에 의해 구동되는 제 7 N 타입 트랜지스터;A seventh N-type transistor connected in series between the sixth N-type transistor and a ground terminal and driven by a sixth input signal; 전원 단자와 상기 제 6 P 타입 트랜지스터의 출력 단자 간에 접속되며, 리셋 신호에 의해 구동되는 제 7 P 타입 트랜지스터; 및A seventh P-type transistor connected between a power supply terminal and an output terminal of the sixth P-type transistor and driven by a reset signal; And 상기 제 6 P 타입 트랜지스터의 출력 단자에 접속되는 지연소자;A delay element connected to the output terminal of the sixth P-type transistor; 를 포함하는 비동기 스위치 회로.Asynchronous switch circuit comprising a. 제 3 항에 있어서,The method of claim 3, wherein 상기 데이터 저장부는 헤더 플릿 버퍼링 요청 신호와 패이로드 플릿 버퍼링 요청 신호를 입력으로 하여, 두 신호 중 어느 하나가 1인 경우 1을 출력하는 제 18 논리소자;The data storage unit may receive a header flit buffering request signal and a payload flit buffering request signal as inputs and output a one when one of the two signals is 1; 입력되는 데이터 플릿 중 복수개의 하위 비트값 각각, 쉬프트 요청 신호, 쉬프트 요청 신호의 반전 신호 및 n비트 우측의 데이터 비트값을 각각 입력으로 하는 복수개의 데이터 선택 수단;A plurality of data selecting means for inputting each of a plurality of lower bit values among the input data flits, a shift request signal, an inverted signal of the shift request signal, and a data bit value of an n bit right side; 데이터 비트값 0, 쉬프트 요청 신호, 쉬프트 요청 신호의 반전 신호 및 n비트 우측의 데이터 비트를 각각 입력으로 하는 n개의 보조 데이터 선택 수단;N auxiliary data selecting means for inputting a data bit value 0, a shift request signal, an inverted signal of the shift request signal, and a data bit to the right of n bits, respectively; 상기 데이터 선택 수단에 각각 접속되어 상기 데이터 선택부의 출력신호, 상기 제 18 논리소자의 출력신호를 입력으로 하여, 상기 데이터 선택 수단의 출력값을 각각 저장하는 복수개의 하위 데이터 저장수단;A plurality of lower data storage means respectively connected to said data selecting means for inputting an output signal of said data selecting portion and an output signal of said eighteenth logic element to respectively store an output value of said data selecting means; 상기 보조 데이터 선택 수단에 각각 접속되어 상기 보조 데이터 선택부의 출력신호, 상기 제 18 논리소자의 출력신호를 입력으로 하여, 상기 보조 데이터 선택 수단의 출력값을 각각 저장하는 n개의 보조 데이터 저장수단; 및N auxiliary data storage means connected to the auxiliary data selecting means, respectively, for storing an output value of the auxiliary data selecting means as an input signal of the auxiliary data selecting portion and an output signal of the eighteenth logic element; And 입력되는 데이터 비트 중 상기 데이터 선택 수단으로 입력되는 데이터 비트열을 제외한 비트열 각각 및 상기 제 18 논리소자의 출력신호를 입력으로 하여, 상기 입력되는 데이터 비트값을 각각 저장하는 복수개의 상위 데이터 저장수단;A plurality of upper data storage means for storing the input data bit values by inputting each of the bit strings except the data bit string input to the data selecting means and the output signal of the eighteenth logic element among the input data bits; ; 을 포함하는 비동기 스위치 회로.Asynchronous switch circuit comprising a. 제 9 항에 있어서,The method of claim 9, 상기 데이터 플릿이 23비트일 때, 상기 헤더 플릿은 2비트의 타입 필드, 6비트의 소스 어드레스 필드 및 15비트의 라우팅 정보 필드를 포함하고, 패이로드 플릿은 2비트의 타입 필드 및 21비트의 패이로드 필드를 포함하며, 상기 데이터 선택 수단으로는 하위 15비트의 데이터 비트값이 각각 입력되는 것을 특징으로 하는 비동기 스위치 회로.When the data flit is 23 bits, the header flit includes a 2-bit type field, a 6-bit source address field and a 15-bit routing information field, and the payload flit includes a 2-bit type field and a 21-bit payload. And a load field, wherein data bits of lower 15 bits are input to the data selection means. 제 9 항에 있어서,The method of claim 9, 상기 데이터 선택부 및 보조 데이터 선택부는 쉬프트 요청 신호 및 데이터 비트값을 입력으로 하여 두 입력이 모두 1인 경우 1을 출력하는 제 19 논리소자;The data selector and the auxiliary data selector include a nineteenth logic element configured to output a 1 when both inputs are 1 by inputting a shift request signal and a data bit value; 상기 쉬프트 요청 신호의 반전신호 및 n비트 우측의 데이터 비트값을 입력으로 하여 두 입력이 모두 1인 경우 1을 출력하는 제 20 논리소자; 및A twentieth logic element configured to output an inverted signal of the shift request signal and a data bit value to the right of n bits and output 1 when both inputs are 1; And 상기 제 19 및 제 20 논리소자의 출력값을 입력으로 하여 두 입력값 중 어느 하나가 1인 경우 1을 출력하는 제 21 논리소자;A twenty-first logic element configured to output one when the input values of the nineteenth and twentieth logic elements are input to one of the two input values; 를 포함하는 것을 특징으로 하는 비동기 스위치 회로.Asynchronous switch circuit comprising a. 제 1 항에 있어서,The method of claim 1, 상기 비동기 스위치는 각각 4개의 하위 포트 및 2개의 상위 포트로 이루어지는 6개의 입력 포트 및 6개의 출력포트로 구성되고,The asynchronous switch is composed of six input ports and six output ports each consisting of four lower ports and two upper ports, 상기 출력포트 중재부는 하위 출력포트 또는 상위 출력포트로 출력되는 데이터 플릿을 처리하기 위한 4개의 하위 중재 모듈; 및The output port arbitration unit may include four lower arbitration modules for processing data flits outputted to a lower output port or an upper output port; And 상위 출력포트로 출력되는 데이터 플릿을 처리하기 위한 2개의 상위 중재 모듈로 이루어지는 것을 특징으로 하는 비동기 스위치 회로.An asynchronous switch circuit comprising two upper arbitration modules for processing data flits output to the upper output port. 제 12 항에 있어서,The method of claim 12, 상기 하위 중재 모듈 및 상위 중재 모듈은 동일한 출력포트로 출력되고자 하는 복수의 데이터 중 어느 하나를 선택하고, 상기 중재 요청 신호에 대한 응답 신호를 출력하기 위한 중재 유닛;The lower arbitration module and the upper arbitration module may include an arbitration unit for selecting any one of a plurality of data to be output to the same output port and outputting a response signal to the arbitration request signal; 헤더 플릿 및 적어도 하나의 패이로드 플릿으로 구성되는 하나의 데이터 패킷이 상기 데이터 출력부로 출력될 때까지 해당 출력 경로를 유지하고, 상기 데이터 입력부로부터 마지막 패이로드 플릿 처리 요청 신호가 입력되면 출력포트 선택 신호를 출력하기 위한 제어 신호를 출력하는 웜홀 라우팅 처리 유닛; 및The output path selection signal is maintained until one data packet including a header flit and at least one payload flit is outputted to the data output unit, and a last payload flit processing request signal is inputted from the data input unit. A wormhole routing processing unit for outputting a control signal for outputting the signal; And 상기 웜홀 라우팅 처리 유닛으로부터 출력되는 제어 신호 및 상기 중재 유닛의 중재 요청 응답 신호에 따라 상기 출력포트 선택 신호를 출력하는 경로 설정 제어 유닛;A path setting control unit outputting the output port selection signal in accordance with a control signal output from the wormhole routing processing unit and an arbitration request response signal of the arbitration unit; 을 포함하는 비동기 스위치 회로.Asynchronous switch circuit comprising a. 제 13 항에 있어서,The method of claim 13, 상기 하위 중재 모듈의 중재 유닛은 6-by-1 트리 중재기로 이루어지며,The arbitration unit of the lower arbitration module consists of a 6-by-1 tree arbiter, 상기 6-by-1 트리 중재기는 동일한 출력포트로 출력되고자 하는 6개의 데이터 패킷 각각에 대한 6개의 중재 요청 신호 중 각각 2개식을 입력받아 2 개의 중재 요청 신호 중에서 하나를 선택하는 제 1 내지 제 3 2-by-1 트리 중재기;The 6-by-1 tree arbiter receives first of two arbitration request signals from each of six arbitration request signals for each of six data packets to be output to the same output port and selects one of two arbitration request signals. 2-by-1 tree arbiter; 상기 제 1 및 제 2 2-by-1 트리 중재기의 출력값 중 어느 하나를 선택하는 제 4 2-by-1 트리 중재기;A fourth 2-by-1 tree arbiter for selecting any one of output values of the first and second 2-by-1 tree arbiters; 상기 제 3 2-by-1 트리 중재기 및 상기 제 4 2-by-1 트리 중재기의 출력값 중 어느 하나를 선택하기 위한 제 5 2-by-1 트리 중재기; 및A fifth 2-by-1 tree arbiter for selecting any one of the output values of the third 2-by-1 tree arbiter and the fourth 2-by-1 tree arbiter; And 상기 제 5 6-by-1 트리 중재기의 출력값을 임시 저장하여 출력하는 버퍼;A buffer for temporarily storing and outputting an output value of the fifth 6-by-1 tree arbiter; 를 포함하는 비동기 스위치 회로.Asynchronous switch circuit comprising a. 제 13 항에 있어서,The method of claim 13, 상기 상위 중재 모듈의 중재 유닛은 4-by-1 트리 중재기로 이루어지며,The arbitration unit of the higher arbitration module consists of a 4-by-1 tree arbiter, 상기 4-by-1 트리 중재기는 동일한 상위 출력포트로 출력되고자 하는 6개의 4데이터 패킷 각각에 대한 4개의 중재 요청 신호 중 각각 2개식을 입력받아 2 개의 중재 요청 신호 중에서 하나를 선택하는 제 6 및 제 7 2-by-1 트리 중재기;The 4-by-1 tree arbiter receives six expressions of four arbitration request signals for each of six four data packets to be output to the same upper output port, and selects one of two arbitration request signals; Seventh 2-by-1 tree arbiter; 상기 제 6 2-by-1 트리 중재기 및 상기 제 7 2-by-1 트리 중재기의 출력값 중 어느 하나를 선택하기 위한 제 8 2-by-1 트리 중재기; 및An eighth 2-by-1 tree arbiter for selecting any one of an output value of the sixth 2-by-1 tree arbiter and the seventh 2-by-1 tree arbiter; And 상기 제 8 6-by-1 트리 중재기의 출력값을 임시 저장하여 출력하는 버퍼;A buffer for temporarily storing and outputting an output value of the eighth 6-by-1 tree arbiter; 를 포함하는 비동기 스위치 회로.Asynchronous switch circuit comprising a. 제 1 항에 있어서,The method of claim 1, 상기 비동기 스위치는 각각 4개의 하위 포트 및 2개의 상위 포트로 이루어지 는 6개의 입력포트 및 6개의 출력포트로 구성되고,The asynchronous switch is composed of six input ports and six output ports each consisting of four lower ports and two upper ports, 상기 데이터 이동경로 설정부는 하위 출력포트 또는 상위 출력포트로 출력되는 데이터 플릿을 처리하기 위한 4개의 하위 이동경로 설정부; 및The data movement path setting unit includes four lower movement path setting units for processing data flits output to the lower output port or the upper output port; And 상위 출력포트로 출력되는 데이터 플릿을 처리하기 위한 2개의 상위 이동경로 설정부로 이루어지는 것을 특징으로 하는 비동기 스위치 회로.An asynchronous switch circuit comprising two upper moving path setting units for processing data flits output to the upper output port. 제 16 항에 있어서,The method of claim 16, 상기 하위 이동경로 설정부 및 상위 이동경로 설정부는 하나의 데이터 플릿의 데이터 비트수와 동일한 개수의 멀티플렉서로 이루어지며,The lower movement path setting unit and the upper movement path setting unit include multiplexers having the same number of data bits as one data fleet. 상기 멀티플렉서는 상기 데이터 입력부로부터 입력되는 복수의 데이터 플릿 각각으로부터 1비트의 데이터 비트값을 입력받고, 상기 출력포트 중재부로부터 출력포트 선택신호를 입력받아, 상기 출력포트 선택 신호에 의해 지정되는 데이터 비트를 각각 출력하여 상기 데이터 출력부로 전송하는 것을 특징으로 하는 비동기 스위치 회로.The multiplexer receives a data bit value of 1 bit from each of the plurality of data flits input from the data input unit, receives an output port selection signal from the output port arbitration unit, and specifies a data bit designated by the output port selection signal. And outputting the respective output to the data output unit. 제 16 항에 있어서,The method of claim 16, 상기 멀티플렉서는 전송 게이트 멀티플렉서로 구성하는 것을 특징으로 하는 비동기 스위치 회로.And said multiplexer comprises a transmission gate multiplexer. 제 1 항에 있어서,The method of claim 1, 상기 비동기 스위치는 각각 4개의 하위 포트 및 2개의 상위 포트로 이루어지는 6개의 입력포트 및 6개의 출력포트로 구성되고,The asynchronous switch is composed of six input ports and six output ports each consisting of four lower ports and two upper ports, 상기 데이터 출력부는 상기 데이터 입력부로부터 전송되는 헤더 저장 요청 신호 및 패이로드 저장 요청 신호, 상기 출력포트 중재부로부터 입력되는 출력포트 선택신호를 입력받아, 상기 출력포트 선택신호에서 지정하는 출력 버퍼에 데이터 플릿을 저장하도록 요청하는 입력 제어부;The data output unit receives a header storage request signal and a payload storage request signal transmitted from the data input unit, an output port selection signal input from the output port arbitration unit, and outputs a data fleet to an output buffer designated by the output port selection signal. An input control unit which requests to store 상기 데이터 입력부로부터 전송되는 복수개의 데이터 플릿 및 상기 입력 제어부로부터 입력되는 데이터 전송 요청 신호에 따라 상기 출력포트에 데이터를 저장하고, 데이터 저장이 완료되면 상기 출력포트 중재부로 데이터 저장 완료 신호를 전송하며, 출력할 데이터가 존재함을 알리는 출력 요청 신호를 다음 단의 스위치로 출력하고, 상기 다음 단 스위치가 출력 요청 신호에 응답함에 따라, 상기 출력포트 선택신호를 참조하여 상기 데이터 플릿을 출력하는 버퍼; 및Storing data in the output port according to a plurality of data flits transmitted from the data input unit and a data transmission request signal input from the input control unit, and when data storage is completed, transmitting a data storage completion signal to the output port arbitration unit, A buffer for outputting an output request signal indicating that there is data to be output to a switch of a next stage, and outputting the data fleet with reference to the output port selection signal as the next stage switch responds to the output request signal; And 상기 버퍼로부터 데이터 저장 완료 신호를 입력받고, 상기 데이터 입력부로부터 헤더 저장 요청 신호 및 패이로드 저장 요청 신호를 입력받으며, 상기 출력포트 중재부로부터 출력포트 선택신호를 입력받아, 상기 데이터 입력부로 헤더 저장 완료 신호 및 패이로드 저장 완료 신호를 전송하는 출력 제어부;Receives a data storage completion signal from the buffer, receives a header storage request signal and a payload storage request signal from the data input unit, receives an output port selection signal from the output port arbitration unit, and completes header storage to the data input unit. An output controller for transmitting a signal and a payload storage completion signal; 를 포함하는 비동기 스위치 회로.Asynchronous switch circuit comprising a. 제 19 항에 있어서,The method of claim 19, 상기 데이터 출력부는 상기 버퍼에서 출력되는 출력 요청 신호를 지정된 시 간동안 지연시킨 후 다음 단의 스위치로 출력하는 지연수단을 더 포함하는 것을 특징으로 하는 비동기 스위치 회로.And the data output unit further includes delay means for delaying the output request signal output from the buffer for a predetermined time and then outputting the signal to the next stage switch. 제 19 항에 있어서,The method of claim 19, 상기 입력 제어부는 각 데이터 플릿에 대한 헤더 저장 완료 신호 및 패이로드 저장 완료 신호를 각각 입력으로 하여, 입력 신호 중 어느 하나가 1이면 1을 출력하는 제 28 내지 제 33 논리소자; 및The input control unit may include: a twenty-eighth to thirty-third logic element configured to input a header storage completion signal and a payload storage completion signal for each data fleet and output one when any one of the input signals is 1; And 상기 제 28 내지 33 논리소자에 각각 접속되어, 상기 제 28 내지 제 33 논리소자의 출력 신호를 입력 신호로 하고, 상기 출력포트 선택신호의 제어에 의해 데이터 저장 요청 신호 중 어느 하나를 활성화하는 제 1 내지 제 6 멀티플렉서;First to be connected to the twenty-eighth to thirty-third logic elements, respectively, the output signal of the twenty-seventh to thirty-third logic elements being an input signal, and activating any one of a data storage request signal by controlling the output port selection signal To sixth multiplexer; 를 포함하는 것을 특징으로 하는 비동기 스위치 회로.Asynchronous switch circuit comprising a. 제 21 항에 있어서,The method of claim 21, 상기 제 1 내지 제 6 멀티플렉서는 전송 게이트 멀티플렉서로 구성하는 것을 특징으로 하는 비동기 스위치 회로.And the first to sixth multiplexers comprise a transmission gate multiplexer. 제 19 항에 있어서,The method of claim 19, 상기 버퍼는 2상 선입선출 버퍼를 복수개 병렬 연결하여 구성하는 것을 특징으로 하는 비동기 스위치 회로.And the buffer is configured by connecting a plurality of two-phase first-in, first-out buffers in parallel. 제 19 항에 있어서,The method of claim 19, 상기 출력 제어부는 상기 버퍼로부터 입력되는 데이터 저장 완료 신호 및 출력포트 중재부로부터 입력되는 출력포트 선택신호를 각각 입력받아 하위 출력포트로 출력할 데이터에 대한 제어 신호를 생성하기 위한 제 1 내지 제 4 디멀티플렉서;The output controller receives the data storage completion signal input from the buffer and the output port selection signal input from the output port arbitration unit and generates first to fourth demultiplexers for generating a control signal for data to be output to the lower output port. ; 상위 출력포트로 출력할 데이터에 대한 제어 신호를 생성하기 위한 제 5 및 제 6 디멀티플렉서;Fifth and sixth demultiplexers for generating control signals for data to be output to an upper output port; 상기 제 1 내지 제 6 디멀티플렉서의 출력값을 각 출력포트 번호별로 입력받아, 입력 신호 중 어느 하나가 1인 경우 1을 출력하는 제 34 내지 제 39 논리소자; 및A thirty-fourth to thirty-ninth logic device that receives the output values of the first to sixth demultiplexers for each output port number, and outputs 1 when any one of the input signals is 1; And 상기 제 34 내지 제 39 논리소자의 출력값을 입력값으로 하고, 데이터 입력부로부터 각 출력포트 번호별로 입력되는 헤더 저장 요청 신호 및 패이로드 저장 요청 신호에 따라 상기 데이터 플릿을 상기 버퍼에 저장하였음을 통보하는 헤더 저장 완료 신호 및 패이로드 저장 완료 신호를 상기 데이터 입력부로 전송하는 제 1 내지 제 6 디코더;An output value of the 34 th to 39 th logic elements is used as an input value, and a notification is provided that the data flits are stored in the buffer according to a header storage request signal and a payload storage request signal inputted by each output port number from a data input unit. First to sixth decoders for transmitting a header storage completion signal and a payload storage completion signal to the data input unit; 를 포함하는 비동기 스위치 회로.Asynchronous switch circuit comprising a. 제 1 항에 있어서,The method of claim 1, 상기 비동기 스위치 회로는 상기 데이터 입력부와 상기 출력포트 중재부 간에 상기 헤더 플릿 처리 요청 신호를 지정된 시간동안 지연시키기 위한 제 1 지연 부를 더 포함하는 것을 특징으로 하는 비동기 스위치 회로.And the asynchronous switch circuit further comprises a first delay section for delaying the header flit processing request signal for a predetermined time between the data input section and the output port arbitration section. 제 1 항에 있어서,The method of claim 1, 상기 비동기 스위치 회로는 상기 데이터 입력부와 상기 데이터 출력부 간에 상기 헤더 저장 요청 신호를 지정된 시간동안 지연시키기 위한 제 2 지연부를 더 포함하는 것을 특징으로 하는 비동기 스위치 회로.The asynchronous switch circuit further comprises a second delay unit for delaying the header storage request signal for a predetermined time between the data input unit and the data output unit.
KR1020040068370A 2004-06-03 2004-08-30 Asynchronous Switch Based on Butterfly Fat-Tree for Network On Chip Applications KR100617386B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR20040040205 2004-06-03
KR1020040040205 2004-06-03

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/023,087 US7467358B2 (en) 2004-06-03 2004-12-27 Asynchronous switch based on butterfly fat-tree for network on chip application

Publications (2)

Publication Number Publication Date
KR20050115195A KR20050115195A (en) 2005-12-07
KR100617386B1 true KR100617386B1 (en) 2006-08-31

Family

ID=37289256

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040068370A KR100617386B1 (en) 2004-06-03 2004-08-30 Asynchronous Switch Based on Butterfly Fat-Tree for Network On Chip Applications

Country Status (1)

Country Link
KR (1) KR100617386B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107113252A (en) * 2014-12-17 2017-08-29 英特尔公司 For network-on-chip and line direction decoding circuit

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100846739B1 (en) * 2006-12-14 2008-07-16 삼성전자주식회사 Apparatus for network-on-chip interfacing and method of network-on-chip packet encoding using the same
US7940762B2 (en) * 2008-03-19 2011-05-10 Integrated Device Technology, Inc. Content driven packet switch
KR101769757B1 (en) 2013-06-28 2017-08-21 인텔 코포레이션 A method, apparatus and system for a source-synchronous circuit-switched network on a chip (noc)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107113252A (en) * 2014-12-17 2017-08-29 英特尔公司 For network-on-chip and line direction decoding circuit
CN107113252B (en) * 2014-12-17 2021-04-20 英特尔公司 Parallel direction decoding circuit for network on chip

Also Published As

Publication number Publication date
KR20050115195A (en) 2005-12-07

Similar Documents

Publication Publication Date Title
US7467358B2 (en) Asynchronous switch based on butterfly fat-tree for network on chip application
US9742630B2 (en) Configurable router for a network on chip (NoC)
KR100812225B1 (en) Crossbar switch architecture for multi-processor SoC platform
US20160344629A1 (en) Directional two-dimensional router and interconnection network for field programmable gate arrays, and other circuits and applications of the router and network
JP3816530B2 (en) Low latency, high clock frequency, pre-geo asynchronous packet-based crossbar switching chip system and method
US7439763B1 (en) Scalable shared network memory switch for an FPGA
US9612981B2 (en) Configurable mesh data bus in an island-based network flow processor
Saastamoinen et al. Interconnect IP node for future system-on-chip designs
US6981082B2 (en) On chip streaming multiple bus protocol with dedicated arbiter
US9985774B2 (en) Methods and systems for synchronization between multiple clock domains
US9237095B2 (en) Island-based network flow processor integrated circuit
Ajima et al. Tofu interconnect 2: System-on-chip integration of high-performance interconnect
US20220015588A1 (en) Dual mode interconnect
US8228930B1 (en) Interconnection network router arrangements and methods therefor
JP2007220046A (en) Bus device, bus system and information transfer method
KR20120040535A (en) Bus system and operating method thereof
KR100617386B1 (en) Asynchronous Switch Based on Butterfly Fat-Tree for Network On Chip Applications
US20110035530A1 (en) Network system, information processing apparatus, and control method for network system
US7568074B1 (en) Time based data storage for shared network memory switch
Seifi et al. A clustered NoC in group communication
US7039750B1 (en) On-chip switch fabric
US8559436B2 (en) Processing resource management in an island-based network flow processor
US7730276B1 (en) Striping of data into memory of a network data switch to prevent read and write collisions
US10990552B1 (en) Streaming interconnect architecture for data processing engine array
EP1179785A1 (en) Bus interconnect system

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

Payment date: 20120710

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130710

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee