KR100846739B1 - Apparatus for network-on-chip interfacing and method of network-on-chip packet encoding using the same - Google Patents

Apparatus for network-on-chip interfacing and method of network-on-chip packet encoding using the same Download PDF

Info

Publication number
KR100846739B1
KR100846739B1 KR1020060127752A KR20060127752A KR100846739B1 KR 100846739 B1 KR100846739 B1 KR 100846739B1 KR 1020060127752 A KR1020060127752 A KR 1020060127752A KR 20060127752 A KR20060127752 A KR 20060127752A KR 100846739 B1 KR100846739 B1 KR 100846739B1
Authority
KR
South Korea
Prior art keywords
packet
flag
network
pointer
chip
Prior art date
Application number
KR1020060127752A
Other languages
Korean (ko)
Other versions
KR20080054981A (en
Inventor
김의석
임상우
이범학
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020060127752A priority Critical patent/KR100846739B1/en
Publication of KR20080054981A publication Critical patent/KR20080054981A/en
Application granted granted Critical
Publication of KR100846739B1 publication Critical patent/KR100846739B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/109Integrated on microchip, e.g. switch-on-chip

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

네트워크-온-칩 인터페이스 장치 및 이를 이용한 네트워크-온-칩 패킷 인코딩 방법이 개시된다. 본 발명의 일실시예에 따른 네트워크-온-칩 인터페이스 장치는 IP 장치로부터의 트랜잭션에 상응하는 네트워크-온-칩 패킷을 구성하는 플릿들이 저장되는 패킷 버퍼, 상기 패킷 버퍼에 저장 가능한 플릿의 개수에 상응하는 개수의 플래그들이 저장되는 패킷 플래그 레지스터, 및 상기 패킷 플래그 레지스터의 상태에 따라 상기 IP 장치에 상응하는 프로토콜 제어신호를 생성하는 제어 신호 생성부를 포함한다.A network-on-chip interface device and a network-on-chip packet encoding method using the same are disclosed. The network-on-chip interface device according to an embodiment of the present invention includes a packet buffer in which flits constituting a network-on-chip packet corresponding to a transaction from an IP device are stored, and the number of flits that can be stored in the packet buffer. And a control signal generator for generating a protocol control signal corresponding to the IP device according to a state of the packet flag register.

네트워크-온-칩, 패킷 빌더, 패킷 인코더 Network-on-Chip, Packet Builder, Packet Encoder

Description

네트워크-온-칩 인터페이스 장치 및 이를 이용한 네트워크-온-칩 패킷 인코딩 방법 {APPARATUS FOR NETWORK-ON-CHIP INTERFACING AND METHOD OF NETWORK-ON-CHIP PACKET ENCODING USING THE SAME}Network-on-chip interface device and network-on-chip packet encoding method using same {APPARATUS FOR NETWORK-ON-CHIP INTERFACING AND METHOD OF NETWORK-ON-CHIP PACKET ENCODING USING THE SAME}

도 1은 본 발명의 일실시예에 따른 네트워크-온-칩 인터페이스 장치의 동작을 설명하기 위한 블록도이다.1 is a block diagram illustrating an operation of a network-on-chip interface device according to an embodiment of the present invention.

도 2는 도 1에 도시된 네트워크-온-칩 인터페이스 장치의 일 예를 나타낸 블록도이다.FIG. 2 is a block diagram illustrating an example of the network-on-chip interface device shown in FIG. 1.

도 3은 도 2에 도시된 네트워크-온-칩 패킷 인코더의 일 예를 도시한 도면이다.3 is a diagram illustrating an example of the network-on-chip packet encoder illustrated in FIG. 2.

도 4 내지 도 22는 본 발명의 일실시예에 따른 네트워크-온-칩 패킷 인코더의 동작을 설명하기 위한 도면들이다.4 to 22 are diagrams for describing an operation of a network-on-chip packet encoder according to an embodiment of the present invention.

도 23은 본 발명의 일실시예에 따른 네트워크-온-칩 인터페이스 장치가 AXI 마스터 장치와 연동하여 동작하는 경우의 프로토콜 제어 신호 생성을 설명하기 위한 블록도이다.FIG. 23 is a block diagram illustrating protocol control signal generation when a network-on-chip interface device operates in conjunction with an AXI master device according to an embodiment of the present invention.

도 24는 본 발명의 일실시예에 따른 네트워크-온-칩 인터페이스 장치가 AXI 슬레이브 장치와 연동하여 동작하는 경우의 프로토콜 제어 신호 생성을 설명하기 위한 블록도이다.24 is a block diagram illustrating protocol control signal generation when a network-on-chip interface device operates in conjunction with an AXI slave device according to an embodiment of the present invention.

도 25는 본 발명의 일실시예에 따른 네트워크-온-칩 인터페이스 장치가 AHB 마스터 장치와 연동하여 동작하는 경우의 프로토콜 제어 신호 생성을 설명하기 위한 블록도이다.FIG. 25 is a block diagram illustrating protocol control signal generation when a network-on-chip interface device operates in conjunction with an AHB master device according to an embodiment of the present invention.

도 26은 본 발명의 일실시예에 따른 네트워크-온-칩 인터페이스 장치가 AHB 슬레이브 장치와 연동하여 동작하는 경우의 프로토콜 제어 신호 생성을 설명하기 위한 블록도이다.FIG. 26 is a block diagram illustrating a protocol control signal generation when a network-on-chip interface device operates in conjunction with an AHB slave device according to an embodiment of the present invention.

도 27은 본 발명의 일실시예에 따른 네트워크-온-칩 패킷 인코딩 방법의 패킷 생성시의 동작을 나타낸 동작 흐름도이다.27 is a flowchart illustrating an operation in packet generation of the network-on-chip packet encoding method according to an embodiment of the present invention.

도 28은 본 발명의 일실시예에 따른 네트워크-온-칩 패킷 인코딩 방법의 패킷 전송시의 동작을 나타낸 동작 흐름도이다.28 is a flowchart illustrating an operation during packet transmission of the network-on-chip packet encoding method according to an embodiment of the present invention.

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

110: IP 장치110: IP device

120: 네트워크-온-칩 인터페이스 장치120: network-on-chip interface device

130: NoC 라우터130: NoC router

본 발명은 네트워크-온-칩 인터페이스 장치에 관한 것으로, 특히 네트워크-온-칩 패킷 인코더 및 패킷 인코딩 방법에 관한 것이다.The present invention relates to a network-on-chip interface device, and more particularly, to a network-on-chip packet encoder and a packet encoding method.

컴퓨터, 통신, 방송 등이 점차 통합되는 컨버전스(Convergence)화에 따라, 기존 ASIC(Application Specific IC: 주문형 반도체)과 ASSP(Application-Specific Standard Product: 특정용도 표준제품)의 수요가 SoC(System-on-Chip)로 전환되어 가고 있는 추세이다. 또한, IT(Information Technology)기기의 경박 단소화 및 고기능화 추세도 SoC 산업을 촉진시키는 요인이 되고 있다.As convergence becomes increasingly integrated with computers, communications, and broadcasting, the demand for existing Application Specific ICs (ASICs) and Application-Specific Standard Products (ASSPs) is increasing. -Chip is moving towards. In addition, the trend toward lighter and shorter and more functionalized IT (Information Technology) devices is also accelerating the SoC industry.

SoC는 기존의 여러가지 기능을 가진 복잡한 시스템을 하나의 칩으로 구현한 기술 집약적 반도체 기술이다. SoC의 현실화를 위해 많은 기술들이 연구되고 있으며, 특히 칩 내에 내재되어 있는 여러 지능소자(intellectual property: IP)들을 연결하는 방안이 매우 중요한 사항으로 대두되고 있다.SoC is a technology-intensive semiconductor technology that implements a complex system with various functions in one chip. Many technologies have been studied for the realization of SoC, and in particular, the method of connecting various intellectual property (IP) inherent in the chip has emerged as an important issue.

IP들을 연결하기 위한 기술로는 버스를 기반으로 한 연결 방식이 주를 이루고 있는 실정이다. 그러나, 칩의 집적도가 높아지고 IP간의 정보 흐름의 양이 급격히 증가함에 따라, 버스구조를 이용한 SoC는 그 구조적 한계에 도달하였다.As a technology for connecting IPs, a bus-based connection method is mainly used. However, as chip density increases and the amount of information flow between IPs increases rapidly, SoCs using a bus structure have reached their structural limits.

이와 같이 버스구조를 이용한 SoC의 구조적 한계를 해소하기 위한 방안으로, 일반적인 네트워크 기술을 칩 내에 응용하여 IP들을 연결하는 방식인 네트워크-온-칩(Network-on-Chip; NoC) 기술이 새롭게 제시되었다.In order to solve the structural limitations of the SoC using the bus structure, a network-on-chip (NoC) technology, a method of connecting IPs by applying general network technology in a chip, has been newly proposed. .

네트워크-온-칩은 기존 버스 구조의 구조적 한계를 극복하고자 만들어진 네트워크 형태의(network style) OCI(On-Chip Interconnect)로서, 네트워크-온-칩을 통해 고속/고성능/저전력의 SoC를 구현할 수 있다.Network-on-Chip is a network-style On-Chip Interconnect (OCI) designed to overcome the structural limitations of the existing bus structure, and enables high-speed, high-performance, and low-power SoCs through network-on-chip. .

네트워크-온-칩에서 패킷(packet)의 생성, 저장 및 전송은 네트워크-온-칩의 성능과 구현에 매우 큰 영향을 미친다. 즉, 패킷을 얼마나 효율적으로 생성하고, 저장하고, 전송하느냐는 네트워크-온-칩 설계 및 구현에 있어 매우 중요한 문제이 다.The generation, storage and transmission of packets on a network-on-chip has a great impact on the performance and implementation of the network-on-chip. In other words, how efficiently packets are generated, stored, and transmitted are critical issues in network-on-chip design and implementation.

따라서, 패킷을 생성하여 전송하는데 걸리는 시간을 줄이고, 네트워크-온-칩 패킷 인코더 구현에 필요한 하드웨어를 보다 간단히 하기 위한 새로운 기술의 필요성이 절실하게 대두된다.Thus, there is an urgent need for new technologies to reduce the time it takes to generate and transmit packets, and to simplify the hardware required to implement a network-on-chip packet encoder.

본 발명은 상술한 바와 같은 종래기술의 문제점을 해결하기 위해 안출된 것으로서, 패킷이 완전히 생성되기 이전이라도 패킷의 생성과 전송을 컨커런트하게(concurrently) 처리할 수 있도록 하는 것을 목적으로 한다.SUMMARY OF THE INVENTION The present invention has been made to solve the problems of the prior art as described above, and an object thereof is to enable concurrent processing of packet generation and transmission even before a packet is completely generated.

또한, 본 발명은 패킷 전체를 저장하지 아니하고, 기설정된(predetermined) 저장공간 한도내에서 패킷을 저장함으로써 패킷 저장에 필요한 저장 공간을 최소화하는 것을 목적으로 한다.In addition, the present invention aims to minimize the storage space required for packet storage by storing the packet within a preset storage space limit without storing the entire packet.

또한, 본 발명은 패킷 버퍼 및 패킷 플래그 레지스터를 생성 포인터 및 생성 포인터와 독립적인 전송 포인터를 이용하여 포인팅함으로써 효과적으로 패킷 인코더를 컨트롤 하는 것을 목적으로 한다.The present invention also aims to effectively control the packet encoder by pointing the packet buffer and the packet flag register using a generation pointer and a transmission pointer independent of the generation pointer.

상기의 목적을 달성하고 종래기술의 문제점을 해결하기 위하여, 본 발명의 네트워크-온-칩 인터페이스 장치는, IP 장치로부터의 트랜잭션에 상응하는 네트워크-온-칩 패킷을 구성하는 플릿들이 저장되는 패킷 버퍼, 상기 패킷 버퍼에 저장 가능한 플릿의 개수에 상응하는 개수의 플래그들이 저장되는 패킷 플래그 레지스터, 및 상기 패킷 플래그 레지스터의 상태에 따라 상기 IP 장치에 상응하는 프로토 콜 제어신호를 생성하는 제어 신호 생성부를 포함한다.In order to achieve the above object and solve the problems of the prior art, the network-on-chip interface device of the present invention is a packet buffer that stores flits constituting a network-on-chip packet corresponding to a transaction from an IP device. And a packet flag register for storing flags corresponding to the number of flits that can be stored in the packet buffer, and a control signal generation unit for generating a protocol control signal corresponding to the IP device according to the state of the packet flag register. do.

이 때, 상기 패킷 버퍼 및 상기 패킷 플래그 레지스터는 생성 포인터(generation pointer) 및 상기 생성 포인터와 독립적인 전송 포인터(sending pointer)에 의하여 포인팅되고, 상기 패킷 생성시에 상기 생성 포인터에 상응하는 상기 패킷 플래그 레지스터의 플래그가 제1 레벨인 경우, 생성된 플릿이 상기 패킷 버퍼의 상기 생성 포인터에 상응하는 저장공간에 저장되고 상기 생성 포인터에 상응하는 상기 패킷 플래그 레지스터의 플래그가 제2 레벨로 설정되고 상기 생성 포인터가 증가할 수 있다.In this case, the packet buffer and the packet flag register are pointed by a generation pointer and a sending pointer independent of the generation pointer, and the packet flag corresponding to the generation pointer at the time of packet generation. If the flag of the register is at the first level, the generated fleet is stored in a storage space corresponding to the generation pointer of the packet buffer and the flag of the packet flag register corresponding to the generation pointer is set to a second level and the generation The pointer can grow.

또한, 본 발명의 네트워크-온-칩 패킷 인코더는, IP 장치로부터의 트랜잭션에 상응하는 네트워크-온-칩 패킷을 구성하는 플릿을 생성 포인터에 의하여 포인팅되는 저장공간에 저장하고, 상기 생성 포인터와 독립적인 전송 포인터에 의하여 포인팅되는 플릿을 출력하는 패킷 버퍼, 및 상기 패킷 버퍼에 저장 가능한 플릿들의 개수에 상응하는 개수의 플래그들이 저장되고, 상기 생성 포인터 및 상기 전송 포인터에 의하여 포인팅되는 패킷 플래그 레지스터를 포함한다.In addition, the network-on-chip packet encoder of the present invention stores a fleet constituting a network-on-chip packet corresponding to a transaction from an IP device in a storage space pointed to by a generation pointer and is independent of the generation pointer. A packet buffer for outputting the flits pointed to by the in-transmission pointer, and a number of flags corresponding to the number of flits that can be stored in the packet buffer are stored, and include the generation pointer and a packet flag register pointed by the transmission pointer. do.

이 때, 상기 네트워크-온-칩 패킷 인코더는 상기 패킷 생성시에 상기 생성 포인터에 상응하는 상기 패킷 플래그 레지스터의 플래그가 제1 레벨인 경우, 생성된 플릿을 상기 패킷 버퍼의 상기 생성 포인터에 상응하는 저장공간에 저장하고 상기 생성 포인터에 상응하는 상기 패킷 플래그 레지스터의 플래그를 제2 레벨로 설정하고 상기 생성 포인터를 증가시킬 수 있다. 이 때, 상기 네트워크-온-칩 패킷 인코더는 상기 패킷 생성시에 상기 생성 포인터에 상응하는 상기 패킷 플래그 레지 스터의 플래그가 상기 제2 레벨인 경우 상기 플래그가 상기 제1 레벨로 설정될 때까지 대기할 수 있다.In this case, the network-on-chip packet encoder may generate the generated flits corresponding to the generation pointer of the packet buffer when the flag of the packet flag register corresponding to the generation pointer at the packet generation is the first level. The storage pointer may be stored in a storage space, and the flag of the packet flag register corresponding to the generation pointer may be set to a second level and the generation pointer may be increased. At this time, the network-on-chip packet encoder waits until the flag is set to the first level if the flag of the packet flag register corresponding to the generation pointer is the second level when generating the packet. can do.

이 때, 상기 네트워크-온-칩 패킷 인코더는 상기 패킷 전송시에 상기 전송 포인터에 상응하는 상기 패킷 플래그 레지스터의 플래그가 상기 제2 레벨인 경우, 상기 패킷 버퍼의 상기 전송 포인터에 상응하는 저장공간에 저장된 플릿을 전송하고 상기 전송 포인터에 상응하는 상기 패킷 플래그 레지스터의 플래그를 상기 제1 레벨로 설정하고 상기 전송 포인터를 증가시킬 수 있다. 이 때, 상기 네트워크-온-칩 패킷 인코더는 상기 패킷 전송시에 상기 전송 포인터에 상응하는 상기 패킷 플래그 레지스터의 플래그가 상기 제1 레벨인 경우 상기 플래그가 상기 제2 레벨로 설정될 때까지 대기할 수 있다.At this time, the network-on-chip packet encoder is configured to store in the storage space corresponding to the transmission pointer of the packet buffer when the flag of the packet flag register corresponding to the transmission pointer at the second level is the second level. The stored flits may be transmitted, and a flag of the packet flag register corresponding to the transmission pointer may be set to the first level and the transmission pointer may be increased. At this time, the network-on-chip packet encoder may wait until the flag is set to the second level if the flag of the packet flag register corresponding to the transmission pointer is the first level when transmitting the packet. Can be.

또한, 본 발명의 네트워크-온-칩 패킷 인코딩 방법은, IP 장치로부터의 트랜잭션에 상응하는 네트워크-온-칩 패킷 생성시에, 생성 포인터에 상응하는 패킷 플래그 레지스터의 플래그가 제1 레벨인지 여부를 판단하는 단계, 상기 플래그가 제1 레벨인 경우, 상기 패킷을 구성하는 플릿을 패킷 버퍼의 상기 생성 포인터에 상응하는 저장공간에 저장하고 상기 생성 포인터에 상응하는 상기 패킷 플래그 레지스터의 플래그를 제2 레벨로 설정하고 상기 생성 포인터를 증가시키는 단계, 및 상기 플래그가 제2 레벨인 경우, 상기 플래그가 제1 레벨로 설정될 때까지 대기하는 단계를 포함한다.In addition, the network-on-chip packet encoding method of the present invention, when generating a network-on-chip packet corresponding to a transaction from an IP device, determines whether the flag of the packet flag register corresponding to the generation pointer is the first level. In the determining, when the flag is at the first level, the fleet constituting the packet is stored in a storage space corresponding to the generation pointer of the packet buffer, and the flag of the packet flag register corresponding to the generation pointer is stored at the second level. And increasing the generation pointer, and if the flag is at the second level, waiting until the flag is set at the first level.

이 때, 상기 네트워크-온-칩 패킷 인코딩 방법은 상기 패킷 전송시에 상기 생성 포인터와 독립적인 전송 포인터에 상응하는 상기 패킷 플래그 래지스터의 플 래그가 상기 제2 레벨인 경우, 상기 패킷 버퍼의 상기 전송 포인터에 상응하는 저장공간에 저장된 플릿을 전송하고 상기 전송 포인터에 상응하는 상기 패킷 플래그 레지스터의 플래그를 상기 제1 레벨로 설정하고 상기 전송 포인터를 증가시키는 단계를 더 포함할 수 있다.In this case, the network-on-chip packet encoding method may further include the step of: when the flag of the packet flag register corresponding to the transmission pointer independent of the generation pointer at the packet transmission is the second level, The method may further include transmitting a fleet stored in a storage space corresponding to a transmission pointer, setting a flag of the packet flag register corresponding to the transmission pointer to the first level, and increasing the transmission pointer.

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

도 1은 본 발명의 일실시예에 따른 네트워크-온-칩 인터페이스 장치의 동작을 설명하기 위한 블록도이다.1 is a block diagram illustrating an operation of a network-on-chip interface device according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일실시예에 따른 네트워크-온-칩 인터페이스 장치(120)는 IP 장치(110) 및 NoC 라우터(130)와 데이터를 송/수신한다.Referring to FIG. 1, the network-on-chip interface device 120 according to an embodiment of the present invention transmits / receives data with the IP device 110 and the NoC router 130.

IP 장치(110)는 AMBA AXI 마스터 장치, AMBA AXI 슬레이브 장치, AMBA AHB 마스터 장치 또는 AMBA AHB 슬레이브 장치일 수 있다.IP device 110 may be an AMBA AXI master device, an AMBA AXI slave device, an AMBA AHB master device, or an AMBA AHB slave device.

네트워크-온-칩 인터페이스 장치(120)는 IP 장치(110)로부터 전송되는 트랜잭션(transaction)에 상응하는 패킷을 생성하여 NoC 라우터(130)로 전송하고, NoC 라우터(130)로부터 수신되는 패킷을 디코딩하여 수신된 패킷에 상응하는 트랜잭션을 IP 장치(110)로 전송한다.The network-on-chip interface device 120 generates a packet corresponding to a transaction transmitted from the IP device 110, transmits the packet to the NoC router 130, and decodes the packet received from the NoC router 130. Then, the transaction corresponding to the received packet is transmitted to the IP device 110.

도 1에 도시된 네트워크-온-칩 인터페이스 장치(120)는 IP 장치(110)로부터 전송되는 트랜잭션에 상응하는 패킷이 완전히 생성되기 전이라도 플릿 단위로 우선 생성된 플릿부터 먼저 전송할 수 있다. 또한, 네트워크-온-칩 인터페이스 장치(120)는 모든 패킷을 저장하지 아니하고, 생성되어 아직 전송되지 아니한 플릿만 을 저장함으로써 패킷 인코더 구현에 필요한 저장공간을 줄일 수 있다.The network-on-chip interface device 120 shown in FIG. 1 may first transmit a fleet that is first generated in fleet units even before a packet corresponding to a transaction transmitted from the IP device 110 is completely generated. In addition, the network-on-chip interface device 120 may reduce the storage space required for the packet encoder implementation by storing only flits that are not generated and not yet transmitted, instead of storing all packets.

도 2는 도 1에 도시된 네트워크-온-칩 인터페이스 장치의 일 예를 나타낸 블록도이다.FIG. 2 is a block diagram illustrating an example of the network-on-chip interface device shown in FIG. 1.

도 2를 참조하면, 네트워크-온-칩 인터페이스 장치는 네트워크-온-칩 패킷 인코더(210) 및 제어 신호 생성부(220)를 포함한다.2, a network-on-chip interface device includes a network-on-chip packet encoder 210 and a control signal generator 220.

네트워크-온-칩 패킷 인코더(210)는 AHB나 AXI 마스터/슬레이브 장치로부터의 트랜잭션(transaction)에 상응하는 네트워크-온-칩 패킷을 생성한다. 이 때, 네트워크-온-칩 패킷 인코더(210)는 네트워크-온-칩 패킷을 이루는 플릿들 중 일부 생성된 플릿들만 먼저 전송할 수 있다.Network-on-chip packet encoder 210 generates a network-on-chip packet corresponding to a transaction from an AHB or AXI master / slave device. In this case, the network-on-chip packet encoder 210 may transmit only some generated flits first of the flits constituting the network-on-chip packet.

제어 신호 생성부(220)는 AHB나 AXI 마스터/슬레이브 장치에 상응하는 프로토콜 제어신호를 생성한다. 이 때, 프로토콜 제어신호는 네트워크-온-칩 패킷 인코더(210) 내에 구비된 패킷 플래그 레지스터의 상태에 따라 생성될 수 있다.The control signal generator 220 generates a protocol control signal corresponding to the AHB or AXI master / slave device. At this time, the protocol control signal may be generated according to the state of the packet flag register provided in the network-on-chip packet encoder 210.

도 3은 도 2에 도시된 네트워크-온-칩 패킷 인코더(210)의 일 예를 도시한 도면이다.FIG. 3 is a diagram illustrating an example of the network-on-chip packet encoder 210 shown in FIG. 2.

도 3을 참조하면, 네트워크-온-칩 패킷 인코더(210)는 패킷 버퍼(320) 및 패킷 플래그 레지스터(310)를 포함한다.Referring to FIG. 3, the network-on-chip packet encoder 210 includes a packet buffer 320 and a packet flag register 310.

패킷 버퍼(320)는 IP 장치로부터의 트랜잭션에 상응하는 네트워크-온-칩 패킷을 구성하는 플릿을 생성 포인터(G-PTR)에 의하여 포인팅되는 저장공간에 저장하고, 생성 포인터(G-PTR)와 독립적인 전송 포인터(S-PTR)에 의하여 포인팅되는 플릿을 출력한다.The packet buffer 320 stores a fleet constituting a network-on-chip packet corresponding to a transaction from the IP device in a storage space pointed to by the generation pointer G-PTR, and the generation pointer G-PTR. Outputs a fleet pointed to by an independent transmission pointer (S-PTR).

이 때, 전송 포인터(S-PTR)가 생성 포인터(G-PTR)와 독립적이라 함은 전송 포인터(S-PTR) 및 생성 포인터(G-PTR)가 각각 서로에 의하여 영향을 받지 아니하고 패킷 플래그 레지스터(310)의 상태에 따라 증가함을 의미한다.In this case, the transmission pointer S-PTR is independent of the generation pointer G-PTR, and the transmission pointer S-PTR and the generation pointer G-PTR are not affected by each other, and the packet flag register is not affected by each other. It means that increases according to the state of (310).

통상적으로, 네트워크-온-칩 패킷은 플릿 헤더, 패킷 헤더 및 데이터 플릿들을 포함한다. 패킷 버퍼(320)의 헤더부(321)에는 플릿 헤더(FH) 및 패킷 헤더(PH)가 저장되고, 패킷 버퍼(320)의 데이터부(322)에는 데이터 플릿들이 저장된다. 도 3에 도시된 예에서는 플릿 헤더(FH) 및 패킷 헤더(PH)만이 저장되어 있고, 데이터 플릿들은 저장되어 있지 아니하다.Typically, a network-on-chip packet includes a flit header, packet header and data flits. The fleet header F H and the packet header P H are stored in the header part 321 of the packet buffer 320, and the data flits are stored in the data part 322 of the packet buffer 320. In the example shown in FIG. 3, only the flit header F H and the packet header P H are stored, and the data flits are not stored.

패킷 플래그 레지스터(310)는 패킷 버퍼(320)에 저장 가능한 플릿들의 개수에 상응하는 개수의 플래그들이 저장되고, 생성 포인터(G-PTR) 및 전송 포인터(S-PTR)에 의하여 포인팅된다.The packet flag register 310 stores a number of flags corresponding to the number of flits that can be stored in the packet buffer 320 and is pointed by the generation pointer G-PTR and the transmission pointer S-PTR.

도 3에 도시된 예에서, 패킷 버퍼(320)에는 헤더부(321)에 두 개, 데이터부(322)에 4개의 플릿이 저장 가능하므로 패킷 플래그 레지스터(310)는 이에 대응하여 헤더부(311)에 두 개의 플래그가, 데이터부(312)에 4개의 플래그가 저장된다.In the example shown in FIG. 3, two flits can be stored in the packet buffer 320 and four flits in the data portion 322, so that the packet flag register 310 corresponds to the header portion 311. ) Are stored in two flags, and four flags are stored in the data portion 312.

이 때, 플래그는 제1 레벨 또는 제2 레벨에 상응할 수 있다. 예를 들어, 제1 레벨은 논리 "0"이고, 제2 레벨은 논리 "1"일 수 있다.In this case, the flag may correspond to the first level or the second level. For example, the first level may be logic "0" and the second level may be logic "1".

도 3을 참조하면, 패킷 버퍼(320)의 헤더부(321)에는 두 개의 헤더가 저장되어 있고 데이터부(322)에는 플릿들이 저장되어 있지 아니하므로, 패킷 플래그 레지 스터(310)의 헤더부(311)의 플래그들은 "1"로 설정되고, 데이터부(312)의 플래그들은 "0"으로 설정되어 있는 것을 알 수 있다. 즉, 도 3에 도시된 예에서, 플래그 "0"은 데이터가 들어있지 않음을 나타내고, 플래그 "1"은 데이터가 들어있음을 나타낸다.Referring to FIG. 3, since two headers are stored in the header portion 321 of the packet buffer 320 and flits are not stored in the data portion 322, the header portion of the packet flag register 310 ( It can be seen that the flags of 311 are set to "1", and the flags of the data portion 312 are set to "0". That is, in the example shown in FIG. 3, the flag "0" indicates that no data is included, and the flag "1" indicates that data is included.

도 4 내지 도 22는 본 발명의 일실시예에 따른 네트워크-온-칩 패킷 인코더의 동작을 설명하기 위한 도면들이다.4 to 22 are diagrams for describing an operation of a network-on-chip packet encoder according to an embodiment of the present invention.

이하, 동작 초기에 네트워크-온-칩 패킷 인코더가 도 3에 도시된 상태였다고 가정하고, 네트워크-온-칩 패킷 인코더의 동작을 설명한다. 이 때, 패킷 플래그 레지스터의 데이터부는 헤더부 쪽의 플래그부터 순서대로 포인터 0, 1, 2 및 3에 상응하는 것일 수 있다.Hereinafter, assuming that the network-on-chip packet encoder was in the state shown in FIG. 3 at the beginning of the operation, the operation of the network-on-chip packet encoder will be described. In this case, the data portion of the packet flag register may correspond to pointers 0, 1, 2, and 3 in order from the flag on the header side.

도 4를 참조하면, 패킷 버퍼(320)에 플릿 헤더(FH) 및 패킷 헤더(PH)가 저장된 상태에서 플릿(F1)이 저장되고, 패킷 버퍼(320) 상의 플릿(F1)이 저장된 위치에 상응하는 패킷 플래그 레지스터(310) 상의 위치의 플래그가 "1"로 설정되고, 생성 포인터(G-PTR)가 하나 증가하는 것을 알 수 있다. 이 때, 생성 포인터(G-PTR)는 0에서 1로 변화한 것일 수 있다.Referring to FIG. 4, the fleet F1 is stored in the packet buffer 320 with the fleet header F H and the packet header P H stored therein, and the fleet F1 is stored in the packet buffer 320. It can be seen that the flag of the position on the packet flag register 310 corresponding to is set to " 1 " and the generation pointer G-PTR is increased by one. In this case, the generation pointer G-PTR may be changed from 0 to 1.

도 5를 참조하면, 패킷 버퍼(320)에 플릿 헤더(FH), 패킷 헤더(PH) 및 플릿(F1)이 저장된 상태에서 플릿(F2)이 저장되고, 패킷 버퍼(320) 상의 플릿(F2)이 저장된 위치에 상응하는 패킷 플래그 레지스터(310) 상의 위치의 플래그가 "1"로 설정되고, 생성 포인터(G-PTR)가 하나 증가하는 것을 알 수 있다. 이 때, 생성 포 인터(G-PTR)는 2일 수 있다.Referring to FIG. 5, the fleet F2 is stored in a state in which the fleet header F H , the packet header P H , and the fleet F1 are stored in the packet buffer 320, and the fleet F2 on the packet buffer 320 is stored. It can be seen that the flag of the position on the packet flag register 310 corresponding to the position where F2) is stored is set to "1", and the generation pointer G-PTR is increased by one. In this case, the generation pointer G-PTR may be two.

도 6을 참조하면, 패킷 버퍼(320)에 플릿 헤더(FH), 패킷 헤더(PH), 플릿(F1) 및 플릿(F2)이 저장된 상태에서 플릿(F3)이 저장되고, 패킷 버퍼(320) 상의 플릿(F3)이 저장된 위치에 상응하는 패킷 플래그 레지스터(310) 상의 위치의 플래그가 "1"로 설정되고, 생성 포인터(G-PTR)가 하나 증가하는 것을 알 수 있다. 이 때, 생성 포인터(G-PTR)는 3일 수 있다.Referring to FIG. 6, a fleet F3 is stored in a state in which a fleet header F H , a packet header P H , a fleet F1, and a fleet F2 are stored in the packet buffer 320, and the packet buffer ( It can be seen that the flag of the position on the packet flag register 310 corresponding to the position where the fleet F3 on 320 is stored is set to "1", and the generation pointer G-PTR is increased by one. In this case, the generation pointer G-PTR may be three.

도 7을 참조하면, 패킷 버퍼(320)에 플릿 헤더(FH), 패킷 헤더(PH), 플릿(F1), 플릿(F2) 및 플릿(F3)이 저장된 상태에서 플릿(F4)이 저장되고, 패킷 버퍼(320) 상의 플릿(F4)이 저장된 위치에 상응하는 패킷 플래그 레지스터(310) 상의 위치의 플래그가 "1"로 설정되고, 생성 포인터(G-PTR)가 하나 증가하는 것을 알 수 있다. 이 때, 생성 포인터(G-PTR)는 0일 수 있다. 즉, 데이터 플릿을 4개 까지만 저장할 수 있으므로 생성 포인터(G-PTR)는 0, 1, 2, 3, 0, 1, 2, 3, ... 같은 순서로 증가할 수 있다.Referring to FIG. 7, the fleet F4 is stored in the packet buffer 320 while the fleet header F H , the packet header P H , the fleet F1, the fleet F2, and the fleet F3 are stored. It can be seen that the flag of the position on the packet flag register 310 corresponding to the position where the fleet F4 on the packet buffer 320 is stored is set to "1", and the generation pointer G-PTR is increased by one. have. In this case, the generation pointer G-PTR may be zero. That is, since only four data flits can be stored, the generation pointer G-PTR may increase in the order of 0, 1, 2, 3, 0, 1, 2, 3, ....

도 8을 참조하면, 생성 포인터(G-PTR)에 상응하는 패킷 플래그 레지스터(310)의 플래그가 "1"이므로 플릿(F5)이 패킷 버퍼(320)에 저장될 수 없다. 즉, 패킷 플래그 레지스터(310)의 플래그가 "1"이므로 상응하는 패킷 버퍼(320)에 이미 플릿이 저장되어 있으므로 플래그가 다시 "0"으로 될 때까지 기다려야 한다.Referring to FIG. 8, since the flag of the packet flag register 310 corresponding to the generation pointer G-PTR is “1”, the fleet F5 may not be stored in the packet buffer 320. That is, since the flag of the packet flag register 310 is " 1 ", the flits are already stored in the corresponding packet buffer 320, and thus, the flag must be waited until the flag becomes " 0 " again.

도 9를 참조하면, 패킷 전송이 시작되어 패킷 버퍼(320)에 저장되어 있던 플릿(F1)이 전송되고, 패킷 버퍼(320) 상의 플릿(F1)이 저장되어 있던 위치에 상응하 는 패킷 플래그 레지스터(310) 상의 위치의 플래그가 "0"으로 설정되고, 전송 포인터(S-PTR)가 하나 증가하는 것을 알 수 있다. 이 때, 전송 포인터(S-PTR)는 0에서 1로 변화한 것일 수 있다.Referring to FIG. 9, packet transmission is started to transmit a fleet F1 stored in the packet buffer 320, and a packet flag register corresponding to a location where the fleet F1 on the packet buffer 320 is stored. It can be seen that the flag of the position on 310 is set to "0" and the transmission pointer S-PTR is increased by one. In this case, the transmission pointer S-PTR may be changed from 0 to 1.

도 10을 참조하면, 패킷 버퍼(320) 상의 플릿(F1)이 저장되어 있던 위치에 상응하는 패킷 플래그 레지스터(310) 상의 위치의 플래그가 "0"으로 설정되었고 생성 포인터(G-PTR)가 이 플래그를 포인팅하고 있으므로, 패킷 버퍼(320) 상의 플릿(F1)이 저장되어 있던 위치에 플릿(F5)이 저장되고, 패킷 버퍼(320) 상의 플릿(F5)이 저장된 위치에 상응하는 패킷 플래그 레지스터(310) 상의 위치의 플래그가 다시 "1"로 설정되고, 생성 포인터(G-PTR)가 하나 증가하는 것을 알 수 있다. 이 때, 생성 포인터(G-PTR)는 1일 수 있다.Referring to FIG. 10, the flag of the position on the packet flag register 310 corresponding to the position where the fleet F1 on the packet buffer 320 was stored is set to "0" and the generation pointer G-PTR is set to this. Since the flag is pointing, the fleet F5 is stored in the location where the fleet F1 on the packet buffer 320 is stored, and the packet flag register corresponding to the location where the fleet F5 on the packet buffer 320 is stored ( It can be seen that the flag of the position on 310 is set back to "1" and the generation pointer G-PTR is increased by one. In this case, the generation pointer G-PTR may be one.

도 11을 참조하면, 다시 패킷 전송이 시작되어 패킷 버퍼(320)에 저장되어 있던 플릿(F2)이 전송되고, 패킷 버퍼(320) 상의 플릿(F2)이 저장되어 있던 위치에 상응하는 패킷 플래그 레지스터(310) 상의 위치의 플래그가 "0"으로 설정되고, 전송 포인터(S-PTR)가 하나 증가하는 것을 알 수 있다. 이 때, 전송 포인터(S-PTR)는 2일 수 있다. Referring to FIG. 11, packet transmission is started again, and the fleet F2 stored in the packet buffer 320 is transmitted, and the packet flag register corresponding to the location where the fleet F2 on the packet buffer 320 is stored. It can be seen that the flag of the position on 310 is set to "0" and the transmission pointer S-PTR is increased by one. In this case, the transmission pointer S-PTR may be two.

또한, 패킷 버퍼(320)에 저장되어 있던 플릿(F3)이 전송되고, 패킷 버퍼(320) 상의 플릿(F3)이 저장되어 있던 위치에 상응하는 패킷 플래그 레지스터(310) 상의 위치의 플래그가 "0"으로 설정되고, 전송 포인터(S-PTR)가 하나 증가하는 것을 알 수 있다. 이 때, 전송 포인터(S-PTR)는 3일 수 있다.In addition, the fleet F3 stored in the packet buffer 320 is transmitted, and the flag of the position on the packet flag register 310 corresponding to the position where the flit F3 on the packet buffer 320 is stored is "0." It is set to ", and it can be seen that the transmission pointer S-PTR is increased by one. In this case, the transmission pointer S-PTR may be three.

또한, 패킷 버퍼(320)에 저장되어 있던 플릿(F4)이 전송되고, 패킷 버 퍼(320) 상의 플릿(F4)이 저장되어 있던 위치에 상응하는 패킷 플래그 레지스터(310) 상의 위치의 플래그가 "0"으로 설정되고, 전송 포인터(S-PTR)가 하나 증가하는 것을 알 수 있다. 이 때, 전송 포인터(S-PTR)는 0일 수 있다.In addition, the fleet F4 stored in the packet buffer 320 is transmitted, and the flag of the position on the packet flag register 310 corresponding to the position where the flit F4 on the packet buffer 320 is stored is "". It is set to 0 "and it can be seen that the transmission pointer S-PTR is increased by one. In this case, the transmission pointer S-PTR may be zero.

도 12를 참조하면, 다시 패킷 생성이 시작되어 패킷 버퍼(320)에 플릿들(F6, F7)이 저장되고, 패킷 버퍼(320) 상의 플릿들(F6, F7)이 저장된 위치에 상응하는 패킷 플래그 레지스터(310) 상의 위치의 플래그들이 "1"로 설정되고, 생성 포인터(G-PTR)가 둘 증가하는 것을 알 수 있다. 이 때, 생성 포인터(G-PTR)는 3일 수 있다.Referring to FIG. 12, packet generation is started again, and the packet flags corresponding to the positions where the flits F6 and F7 are stored in the packet buffer 320 and the flits F6 and F7 on the packet buffer 320 are stored. It can be seen that the flags of the location on register 310 are set to " 1 " and the generation pointer G-PTR is increased by two. In this case, the generation pointer G-PTR may be three.

도 13을 참조하면, 패킷 버퍼(320)에 저장되어 있던 플릿들(F5, F6, F7)이 전송되고, 패킷 버퍼(320) 상의 플릿들(F5, F6, F7)이 저장되어 있던 위치에 상응하는 패킷 플래그 레지스터(310) 상의 위치의 플래그들이 "0"으로 설정되고, 전송 포인터(S-PTR)가 셋 증가하는 것을 알 수 있다. 이 때, 전송 포인터(S-PTR)는 3일 수 있다.Referring to FIG. 13, the flits F5, F6, and F7 stored in the packet buffer 320 are transmitted, and correspond to a location where the flits F5, F6, and F7 on the packet buffer 320 are stored. It can be seen that the flags of the position on the packet flag register 310 are set to " 0 ", and the transmission pointer S-PTR increases by three. In this case, the transmission pointer S-PTR may be three.

또한, 패킷 버퍼(320)에 플릿들(F8, F9)이 저장되고, 패킷 버퍼(320) 상의 플릿들(F8, F9)이 저장된 위치에 상응하는 패킷 플래그 레지스터(310) 상의 위치의 플래그들이 "1"로 설정되고, 생성 포인터(G-PTR)가 둘 증가한다. 이 때, 생성 포인터(G-PTR)는 1일 수 있다.In addition, flits F8 and F9 are stored in the packet buffer 320, and flags of the positions on the packet flag register 310 corresponding to the locations where the flits F8 and F9 are stored on the packet buffer 320 are "". 1 ", the generation pointer G-PTR is increased by two. In this case, the generation pointer G-PTR may be one.

도 14를 참조하면, 패킷의 전송이 진행되어 패킷 버퍼(320)에 저장되어 있던 플릿(F8)이 전송되고, 패킷 버퍼(320) 상의 플릿(F8)이 저장되어 있던 위치에 상응하는 패킷 플래그 레지스터(310) 상의 위치의 플래그가 "0"으로 설정되고, 전송 포 인터(S-PTR)가 하나 증가하는 것을 알 수 있다. 이 때, 전송 포인터(S-PTR)는 0일 수 있다.Referring to FIG. 14, the packet is transmitted, and the fleet F8 stored in the packet buffer 320 is transmitted, and the packet flag register corresponding to the location where the fleet F8 on the packet buffer 320 is stored. It can be seen that the flag of the position on the 310 is set to "0" and the transmission point S-PTR is increased by one. In this case, the transmission pointer S-PTR may be zero.

또한, 패킷의 생성이 진행되어 패킷 버퍼(320)에 플릿(F10)이 저장되고, 패킷 버퍼(320) 상의 플릿(F10)이 저장된 위치에 상응하는 패킷 플래그 레지스터(310) 상의 위치의 플래그가 "1"로 설정되고, 생성 포인터(G-PTR)가 하나 증가한다. 이 때, 생성 포인터(G-PTR)는 2일 수 있다.In addition, the generation of the packet proceeds and the fleet F10 is stored in the packet buffer 320, and the flag of the position on the packet flag register 310 corresponding to the location where the flit F10 on the packet buffer 320 is stored is "". 1 ", the generation pointer G-PTR is increased by one. In this case, the generation pointer G-PTR may be two.

도 15를 참조하면, 패킷의 전송이 진행되어 패킷 버퍼(320)에 저장되어 있던 플릿(F9)이 전송되고, 패킷 버퍼(320) 상의 플릿(F9)이 저장되어 있던 위치에 상응하는 패킷 플래그 레지스터(310) 상의 위치의 플래그가 "0"으로 설정되고, 전송 포인터(S-PTR)가 하나 증가하는 것을 알 수 있다. 이 때, 전송 포인터(S-PTR)는 1일 수 있다.Referring to FIG. 15, the packet is transmitted, and the fleet F9 stored in the packet buffer 320 is transmitted, and the packet flag register corresponding to the location where the fleet F9 on the packet buffer 320 is stored. It can be seen that the flag of the position on 310 is set to "0" and the transmission pointer S-PTR is increased by one. In this case, the transmission pointer S-PTR may be one.

또한, 패킷의 생성이 진행되어 패킷 버퍼(320)에 플릿(F11)이 저장되고, 패킷 버퍼(320) 상의 플릿(F11)이 저장된 위치에 상응하는 패킷 플래그 레지스터(310) 상의 위치의 플래그가 "1"로 설정되고, 생성 포인터(G-PTR)가 하나 증가한다. 이 때, 생성 포인터(G-PTR)는 3일 수 있다.In addition, the generation of the packet proceeds and the fleet F11 is stored in the packet buffer 320, and the flag of the position on the packet flag register 310 corresponding to the location where the flit F11 on the packet buffer 320 is stored is "". 1 ", the generation pointer G-PTR is increased by one. In this case, the generation pointer G-PTR may be three.

도 16을 참조하면, 패킷의 전송이 진행되어 패킷 버퍼(320)에 저장되어 있던 플릿(F10)이 전송되고, 패킷 버퍼(320) 상의 플릿(F10)이 저장되어 있던 위치에 상응하는 패킷 플래그 레지스터(310) 상의 위치의 플래그가 "0"으로 설정되고, 전송 포인터(S-PTR)가 하나 증가하는 것을 알 수 있다. 이 때, 전송 포인터(S-PTR)는 2일 수 있다.Referring to FIG. 16, the packet is transmitted and the fleet F10 stored in the packet buffer 320 is transmitted, and the packet flag register corresponding to the location where the fleet F10 is stored on the packet buffer 320 is stored. It can be seen that the flag of the position on 310 is set to "0" and the transmission pointer S-PTR is increased by one. In this case, the transmission pointer S-PTR may be two.

또한, 패킷의 생성이 진행되어 패킷 버퍼(320)에 플릿(F12)이 저장되고, 패킷 버퍼(320) 상의 플릿(F12)이 저장된 위치에 상응하는 패킷 플래그 레지스터(310) 상의 위치의 플래그가 "1"로 설정되고, 생성 포인터(G-PTR)가 하나 증가한다. 이 때, 생성 포인터(G-PTR)는 0일 수 있다.In addition, the generation of the packet proceeds and the fleet F12 is stored in the packet buffer 320, and the flag of the position on the packet flag register 310 corresponding to the location where the flit F12 on the packet buffer 320 is stored is "". 1 ", the generation pointer G-PTR is increased by one. In this case, the generation pointer G-PTR may be zero.

도 17을 참조하면, 패킷의 전송이 진행되어 패킷 버퍼(320)에 저장되어 있던 플릿(F11)이 전송되고, 패킷 버퍼(320) 상의 플릿(F11)이 저장되어 있던 위치에 상응하는 패킷 플래그 레지스터(310) 상의 위치의 플래그가 "0"으로 설정되고, 전송 포인터(S-PTR)가 하나 증가하는 것을 알 수 있다. 이 때, 전송 포인터(S-PTR)는 3일 수 있다.Referring to FIG. 17, the packet is transmitted, and the fleet F11 stored in the packet buffer 320 is transmitted, and the packet flag register corresponding to the location where the fleet F11 on the packet buffer 320 is stored. It can be seen that the flag of the position on 310 is set to "0" and the transmission pointer S-PTR is increased by one. In this case, the transmission pointer S-PTR may be three.

또한, 패킷의 생성이 진행되어 패킷 버퍼(320)에 플릿(F13)이 저장되고, 패킷 버퍼(320) 상의 플릿(F13)이 저장된 위치에 상응하는 패킷 플래그 레지스터(310) 상의 위치의 플래그가 "1"로 설정되고, 생성 포인터(G-PTR)가 하나 증가한다. 이 때, 생성 포인터(G-PTR)는 1일 수 있다.In addition, the generation of the packet proceeds and the fleet F13 is stored in the packet buffer 320, and the flag of the position on the packet flag register 310 corresponding to the location where the flit F13 on the packet buffer 320 is stored is "". 1 ", the generation pointer G-PTR is increased by one. In this case, the generation pointer G-PTR may be one.

도 18을 참조하면, 패킷의 전송이 진행되어 패킷 버퍼(320)에 저장되어 있던 플릿(F12)이 전송되고, 패킷 버퍼(320) 상의 플릿(F12)이 저장되어 있던 위치에 상응하는 패킷 플래그 레지스터(310) 상의 위치의 플래그가 "0"으로 설정되고, 전송 포인터(S-PTR)가 하나 증가하는 것을 알 수 있다. 이 때, 전송 포인터(S-PTR)는 0일 수 있다.Referring to FIG. 18, the packet is transmitted, and the fleet F12 stored in the packet buffer 320 is transmitted, and the packet flag register corresponding to the location where the fleet F12 on the packet buffer 320 is stored. It can be seen that the flag of the position on 310 is set to "0" and the transmission pointer S-PTR is increased by one. In this case, the transmission pointer S-PTR may be zero.

또한, 패킷의 생성이 진행되어 패킷 버퍼(320)에 플릿(F14)이 저장되고, 패킷 버퍼(320) 상의 플릿(F14)이 저장된 위치에 상응하는 패킷 플래그 레지스 터(310) 상의 위치의 플래그가 "1"로 설정되고, 생성 포인터(G-PTR)가 하나 증가한다. 이 때, 생성 포인터(G-PTR)는 2일 수 있다.In addition, the generation of the packet proceeds and the fleet F14 is stored in the packet buffer 320, and the flag of the location on the packet flag register 310 corresponding to the location where the fleet F14 is stored on the packet buffer 320 is stored. Is set to "1", and the generation pointer G-PTR is increased by one. In this case, the generation pointer G-PTR may be two.

도 19를 참조하면, 패킷의 전송이 진행되어 패킷 버퍼(320)에 저장되어 있던 플릿(F13)이 전송되고, 패킷 버퍼(320) 상의 플릿(F13)이 저장되어 있던 위치에 상응하는 패킷 플래그 레지스터(310) 상의 위치의 플래그가 "0"으로 설정되고, 전송 포인터(S-PTR)가 하나 증가하는 것을 알 수 있다. 이 때, 전송 포인터(S-PTR)는 1일 수 있다.Referring to FIG. 19, the packet is transmitted, and the fleet F13 stored in the packet buffer 320 is transmitted, and the packet flag register corresponding to the location where the fleet F13 on the packet buffer 320 is stored. It can be seen that the flag of the position on 310 is set to "0" and the transmission pointer S-PTR is increased by one. In this case, the transmission pointer S-PTR may be one.

또한, 패킷의 생성이 진행되어 패킷 버퍼(320)에 플릿(F15)이 저장되고, 패킷 버퍼(320) 상의 플릿(F15)이 저장된 위치에 상응하는 패킷 플래그 레지스터(310) 상의 위치의 플래그가 "1"로 설정되고, 생성 포인터(G-PTR)가 하나 증가한다. 이 때, 생성 포인터(G-PTR)는 3일 수 있다.In addition, the generation of the packet proceeds and the fleet F15 is stored in the packet buffer 320, and the flag of the position on the packet flag register 310 corresponding to the location where the fleet F15 on the packet buffer 320 is stored is "". 1 ", the generation pointer G-PTR is increased by one. In this case, the generation pointer G-PTR may be three.

도 20을 참조하면, 패킷의 전송이 진행되어 패킷 버퍼(320)에 저장되어 있던 플릿(F14)이 전송되고, 패킷 버퍼(320) 상의 플릿(F14)이 저장되어 있던 위치에 상응하는 패킷 플래그 레지스터(310) 상의 위치의 플래그가 "0"으로 설정되고, 전송 포인터(S-PTR)가 하나 증가하는 것을 알 수 있다. 이 때, 전송 포인터(S-PTR)는 2일 수 있다.Referring to FIG. 20, the packet is transmitted, and the fleet F14 stored in the packet buffer 320 is transmitted, and the packet flag register corresponding to the location where the fleet F14 on the packet buffer 320 is stored. It can be seen that the flag of the position on 310 is set to "0" and the transmission pointer S-PTR is increased by one. In this case, the transmission pointer S-PTR may be two.

또한, 패킷의 생성이 진행되어 패킷 버퍼(320)에 플릿(F16)이 저장되고, 패킷 버퍼(320) 상의 플릿(F16)이 저장된 위치에 상응하는 패킷 플래그 레지스터(310) 상의 위치의 플래그가 "1"로 설정되고, 생성 포인터(G-PTR)가 하나 증가한다. 이 때, 생성 포인터(G-PTR)는 0일 수 있다.In addition, the generation of the packet proceeds and the fleet F16 is stored in the packet buffer 320, and the flag of the position on the packet flag register 310 corresponding to the location where the flit F16 on the packet buffer 320 is stored is "". 1 ", the generation pointer G-PTR is increased by one. In this case, the generation pointer G-PTR may be zero.

도 21을 참조하면, 패킷의 전송이 진행되어 패킷 버퍼(320)에 저장되어 있던 플릿(F15)이 전송되고, 패킷 버퍼(320) 상의 플릿(F15)이 저장되어 있던 위치에 상응하는 패킷 플래그 레지스터(310) 상의 위치의 플래그가 "0"으로 설정되고, 전송 포인터(S-PTR)가 하나 증가하는 것을 알 수 있다. 이 때, 전송 포인터(S-PTR)는 3일 수 있다.Referring to FIG. 21, the packet is transmitted, and the fleet F15 stored in the packet buffer 320 is transmitted, and the packet flag register corresponding to the location where the flit F15 on the packet buffer 320 is stored. It can be seen that the flag of the position on 310 is set to "0" and the transmission pointer S-PTR is increased by one. In this case, the transmission pointer S-PTR may be three.

도 22를 참조하면, 패킷의 전송이 진행되어 패킷 버퍼(320)에 저장되어 있던 플릿(F16)이 전송되고, 패킷 버퍼(320) 상의 플릿(F16)이 저장되어 있던 위치에 상응하는 패킷 플래그 레지스터(310) 상의 위치의 플래그가 "0"으로 설정되고, 전송 포인터(S-PTR)가 하나 증가하는 것을 알 수 있다. 이 때, 전송 포인터(S-PTR)는 0일 수 있다.Referring to FIG. 22, the packet is transmitted, and the fleet F16 stored in the packet buffer 320 is transmitted, and the packet flag register corresponding to the location where the fleet F16 on the packet buffer 320 is stored. It can be seen that the flag of the position on 310 is set to "0" and the transmission pointer S-PTR is increased by one. In this case, the transmission pointer S-PTR may be zero.

도 4 내지 도 22를 통하여 설명된 과정을 통하여, 본 발명의 일실시예에 따른 네트워크-온-칩 패킷 인코더는 헤더를 포함하여 6개의 플릿 및 이에 상응하는 플래그들을 저장할 수 있는 공간만 있으면 플릿 헤더(FH), 패킷 헤더(PH) 및 16개의 데이터 패킷들(F1-F16)을 생성하여 전송할 수 있다.Through the process described with reference to FIGS. 4 to 22, the network-on-chip packet encoder according to an embodiment of the present invention has a flit header provided that there is space for storing six flits and corresponding flags, including a header. (F H ), a packet header (P H ), and 16 data packets F1-F16 may be generated and transmitted.

본 발명의 네트워크-온-칩 패킷 인코더의 패킷 버퍼의 크기는 어플리케이션 종류나 네트워크 상태에 따라 달라질 수 있다.The size of the packet buffer of the network-on-chip packet encoder of the present invention may vary depending on the application type or the network condition.

도 23은 본 발명의 일실시예에 따른 네트워크-온-칩 인터페이스 장치가 AXI 마스터 장치와 연동하여 동작하는 경우의 프로토콜 제어 신호 생성을 설명하기 위한 블록도이다.FIG. 23 is a block diagram illustrating protocol control signal generation when a network-on-chip interface device operates in conjunction with an AXI master device according to an embodiment of the present invention.

도 23을 참조하면, AXI 마스터 장치(231)가 라이트(write) 동작을 수행하는 경우에, 네트워크-온-칩 인터페이스 장치(232)는 AXI 마스터 장치(231)로부터 수신되는 트랜잭션에 포함된 라이트 데이터(write data)를 패킷화한다.Referring to FIG. 23, when the AXI master device 231 performs a write operation, the network-on-chip interface device 232 may write data included in a transaction received from the AXI master device 231. Packetize (write data)

이 때, 네트워크-온-칩 인터페이스 장치(232) 내부의 제어신호 생성부는 네트워크-온-칩 인터페이스 장치(232)의 스테이트가 아이들 스테이트(IDLE_STATE)인 경우 프로토콜 제어 신호로써 wReady 신호를 활성화시키고, 네트워크-온-칩 인터페이스 장치(232)의 스테이트가 비지 스테이트(BUSY_STATE)인 경우에는 패킷 플래그 레지스터의 생성 포인터에 상응하는 플래그가 "0"인 경우에 상기 프로토콜 제어 신호로써 wReady 신호를 활성화한다.At this time, the control signal generation unit inside the network-on-chip interface device 232 activates the wReady signal as a protocol control signal when the state of the network-on-chip interface device 232 is an idle state IDLE_STATE. When the state of the on-chip interface device 232 is the busy state (BUSY_STATE), the wReady signal is activated as the protocol control signal when the flag corresponding to the generation pointer of the packet flag register is "0".

이 때, 네트워크-온-칩 인터페이스 장치(232)의 스테이트는 네트워크-온-칩 인터페이스 장치의 유한 상태 기계(Finite State Machine; FSM)에 의하여 결정될 수 있다. 이 때, 아이들 스테이트(IDLE_STATE)는 현재 입력 트랜잭션이 없는 상태이고, 비지 스테이트(BUSY_STATE)는 입력 트랜잭션을 패킷으로 변환하고 있는 상태이다.At this time, the state of the network-on-chip interface device 232 may be determined by a finite state machine (FSM) of the network-on-chip interface device. At this time, the idle state IDLE_STATE is in a state where there is no current input transaction, and the busy state BUSY_STATE is in the state of converting an input transaction into a packet.

도 23에 도시된 네트워크-온-칩 인터페이스 장치(232)의 프로토콜 제어신호 생성 동작을 수도 코드로 설명하면 하기 수도 코드 1과 같다.A protocol control signal generation operation of the network-on-chip interface device 232 shown in FIG. 23 will be described with reference to FIG.

[수도 코드 1][Capital Code 1]

if( 네트워크-온-칩 인터페이스 장치의 상태 == IDLE_STATE ) if (status of network-on-chip interface device == IDLE_STATE)

wReady = ( wPacketFlag[0] == 전송완료 ) && ( wPacketFlag[1] == 전송완료 ) && ( wPacketFlag[2] == 전송완료 )wReady = (wPacketFlag [0] == Completed) && (wPacketFlag [1] == Completed) && (wPacketFlag [2] == Completed)

else( 네트워크-온-칩 인터페이스 장치의 상태 == BUSY_STATE)else (Status of network-on-chip interface device == BUSY_STATE)

wReady = ( wPacketFlag[G-PTR + 2] == 전송완료 )wReady = (wPacketFlag [G-PTR + 2] == Transmission Completed)

상기 수도 코드 1에서 wPacketFlag[0]은 플릿 헤더에 상응하는 플래그이고, wPacketFlag[1]은 패킷 헤더에 상응하는 플래그이며, wPacketFlag[2]는 첫 번째 데이터 플릿에 해당하는 플래그이다. 이하, 수도 코드에서 "전송 완료" 플래그는 "0"을 나타낸다.In the pseudo code 1, wPacketFlag [0] is a flag corresponding to the flit header, wPacketFlag [1] is a flag corresponding to the packet header, and wPacketFlag [2] is a flag corresponding to the first data flit. Hereinafter, the "transfer complete" flag in the pseudo code indicates "0".

도 24는 본 발명의 일실시예에 따른 네트워크-온-칩 인터페이스 장치가 AXI 슬레이브 장치와 연동하여 동작하는 경우의 프로토콜 제어 신호 생성을 설명하기 위한 블록도이다.24 is a block diagram illustrating protocol control signal generation when a network-on-chip interface device operates in conjunction with an AXI slave device according to an embodiment of the present invention.

도 24를 참조하면, AXI 슬레이브 장치(241)가 리드(read) 동작을 수행하는 경우에, 네트워크-온-칩 인터페이스 장치(242)는 AXI 슬레이브 장치(241)로부터 수신되는 트랜잭션에 포함된 리드 데이터(read data)를 패킷화한다.Referring to FIG. 24, when the AXI slave device 241 performs a read operation, the network-on-chip interface device 242 read data included in a transaction received from the AXI slave device 241. Packetize (read data).

이 때, 네트워크-온-칩 인터페이스 장치(242) 내부의 제어신호 생성부는 네트워크-온-칩 인터페이스 장치(242)의 스테이트가 아이들 스테이트(IDLE_STATE)인 경우 프로토콜 제어 신호로써 rReady 신호를 활성화시키고, 네트워크-온-칩 인터페이스 장치(242)의 스테이트가 비지 스테이트(BUSY_STATE)인 경우에는 패킷 플래그 레지스터의 생성 포인터에 상응하는 플래그가 "0"인 경우에 상기 프로토콜 제어 신호로써 rReady 신호를 활성화한다.At this time, the control signal generator inside the network-on-chip interface device 242 activates the rReady signal as a protocol control signal when the state of the network-on-chip interface device 242 is an idle state IDLE_STATE. When the state of the on-chip interface device 242 is the busy state (BUSY_STATE), the rReady signal is activated as the protocol control signal when the flag corresponding to the generation pointer of the packet flag register is "0".

이 때, 네트워크-온-칩 인터페이스 장치(242)의 스테이트는 네트워크-온-칩 인터페이스 장치의 유한 상태 기계(Finite State Machine; FSM)에 의하여 결정될 수 있다.At this time, the state of the network-on-chip interface device 242 may be determined by a finite state machine (FSM) of the network-on-chip interface device.

도 24에 도시된 네트워크-온-칩 인터페이스 장치(242)의 프로토콜 제어신호 생성 동작을 수도 코드로 설명하면 하기 수도 코드 2와 같다.A protocol control signal generation operation of the network-on-chip interface device 242 shown in FIG. 24 will be described with reference to FIG. 2.

[수도 코드 2][Capital Code 2]

if( 네트워크-온-칩 인터페이스 장치의 상태 == IDLE_STATE ) if (status of network-on-chip interface device == IDLE_STATE)

rReady = ( rPacketFlag[0] == 전송완료 ) && ( rPacketFlag[1] == 전송완료 ) && ( rPacketFlag[2] == 전송완료 )rReady = (rPacketFlag [0] == Transmission Completed) && (rPacketFlag [1] == Transmission Completed) && (rPacketFlag [2] == Transmission Completed)

else( 네트워크-온-칩 인터페이스 장치의 상태 == BUSY_STATE)else (Status of network-on-chip interface device == BUSY_STATE)

rReady = ( rPacketFlag[G-PTR + 2] == 전송완료 )rReady = (rPacketFlag [G-PTR + 2] == Transmission Completed)

상기 수도 코드 2에서 rPacketFlag[0]은 플릿 헤더에 상응하는 플래그이고, rPacketFlag[1]은 패킷 헤더에 상응하는 플래그이며, rPacketFlag[2]는 첫 번째 데이터 플릿에 해당하는 플래그이다.In the pseudo code 2, rPacketFlag [0] is a flag corresponding to the flit header, rPacketFlag [1] is a flag corresponding to the packet header, and rPacketFlag [2] is a flag corresponding to the first data flit.

도 25는 본 발명의 일실시예에 따른 네트워크-온-칩 인터페이스 장치가 AHB 마스터 장치와 연동하여 동작하는 경우의 프로토콜 제어 신호 생성을 설명하기 위한 블록도이다.FIG. 25 is a block diagram illustrating protocol control signal generation when a network-on-chip interface device operates in conjunction with an AHB master device according to an embodiment of the present invention.

도 25를 참조하면, AHB 마스터 장치(251)가 라이트(write) 동작을 수행하는 경우에, 네트워크-온-칩 인터페이스 장치(252)는 AHB 마스터 장치(251)로부터 수신되는 트랜잭션에 포함된 라이트 데이터(write data)를 패킷화한다.Referring to FIG. 25, when the AHB master device 251 performs a write operation, the network-on-chip interface device 252 writes data included in a transaction received from the AHB master device 251. Packetize (write data)

이 때, 네트워크-온-칩 인터페이스 장치(252) 내부의 제어신호 생성부는 네트워크-온-칩 인터페이스 장치(252)의 스테이트가 아이들 스테이트(IDLE_STATE)인 경우 프로토콜 제어 신호로써 HReady 신호를 활성화시키고, 네트워크-온-칩 인터페이스 장치(252)의 스테이트가 비지 스테이트(BUSY_STATE)인 경우에는 패킷 플래그 레지스터의 생성 포인터에 상응하는 플래그가 "0"인 경우에 상기 프로토콜 제어 신호로써 HReady 신호를 활성화한다.At this time, the control signal generator inside the network-on-chip interface device 252 activates the HReady signal as a protocol control signal when the state of the network-on-chip interface device 252 is an idle state IDLE_STATE. When the state of the on-chip interface device 252 is the busy state (BUSY_STATE), the HReady signal is activated as the protocol control signal when the flag corresponding to the generation pointer of the packet flag register is "0".

이 때, 네트워크-온-칩 인터페이스 장치(252)의 스테이트는 네트워크-온-칩 인터페이스 장치의 유한 상태 기계(Finite State Machine; FSM)에 의하여 결정될 수 있다.At this time, the state of the network-on-chip interface device 252 may be determined by a finite state machine (FSM) of the network-on-chip interface device.

도 25에 도시된 네트워크-온-칩 인터페이스 장치(252)의 프로토콜 제어신호 생성 동작을 수도 코드로 설명하면 하기 수도 코드 3과 같다.A protocol control signal generation operation of the network-on-chip interface device 252 illustrated in FIG. 25 will be described with reference to FIG.

[수도 코드 3][Capital Code 3]

if( 네트워크-온-칩 인터페이스 장치의 상태 == IDLE_STATE ) if (status of network-on-chip interface device == IDLE_STATE)

HReady = ( wPacketFlag[0] == 전송완료 ) && ( wPacketFlag[1] == 전송완료 ) && ( wPacketFlag[2] == 전송완료 )HReady = (wPacketFlag [0] == Completed) && (wPacketFlag [1] == Completed) && (wPacketFlag [2] == Completed)

else( 네트워크-온-칩 인터페이스 장치의 상태 == BUSY_STATE)else (Status of network-on-chip interface device == BUSY_STATE)

HReady = ( wPacketFlag[G-PTR + 2] == 전송완료 )HReady = (wPacketFlag [G-PTR + 2] == Transmission Completed)

상기 수도 코드 3에서 wPacketFlag[0]은 플릿 헤더에 상응하는 플래그이고, wPacketFlag[1]은 패킷 헤더에 상응하는 플래그이며, wPacketFlag[2]는 첫 번째 데이터 플릿에 해당하는 플래그이다.In the pseudo code 3, wPacketFlag [0] is a flag corresponding to the flit header, wPacketFlag [1] is a flag corresponding to the packet header, and wPacketFlag [2] is a flag corresponding to the first data flit.

도 26은 본 발명의 일실시예에 따른 네트워크-온-칩 인터페이스 장치가 AHB 슬레이브 장치와 연동하여 동작하는 경우의 프로토콜 제어 신호 생성을 설명하기 위한 블록도이다.FIG. 26 is a block diagram illustrating a protocol control signal generation when a network-on-chip interface device operates in conjunction with an AHB slave device according to an embodiment of the present invention.

도 26을 참조하면, AHB 슬레이브 장치(261)가 리드(read) 동작을 수행하는 경우에, 네트워크-온-칩 인터페이스 장치(262)는 AHB 슬레이브 장치(261)로부터 수신되는 트랜잭션에 포함된 리드 데이터(read data)를 패킷화한다.Referring to FIG. 26, when the AHB slave device 261 performs a read operation, the network-on-chip interface device 262 may read data included in a transaction received from the AHB slave device 261. Packetize (read data).

이 때, 네트워크-온-칩 인터페이스 장치(262) 내부의 제어신호 생성부는 네트워크-온-칩 인터페이스 장치(262)의 스테이트가 아이들 스테이트(IDLE_STATE)인 경우 프로토콜 제어 신호로써 HTrans 신호를 NONSEQ로 설정하고, 네트워크-온-칩 인터페이스 장치(262)의 스테이트가 비지 스테이트(BUSY_STATE)인 경우에는 상기 패킷 플래그 레지스터의 생성 포인터에 상응하는 플래그가 "0"인 경우에 프로토콜 제어 신호로써 HTrans 신호를 SEQ로 설정하고, 생성 포인터에 상응하는 플래그가 "0"이 아닌 경우에는 프로토콜 제어 신호로써 HTrans 신호를 BUSY로 설정한다.At this time, when the state of the network-on-chip interface device 262 is the idle state IDLE_STATE, the control signal generator sets the HTrans signal to NONSEQ as a protocol control signal. When the state of the network-on-chip interface device 262 is a busy state (BUSY_STATE), when the flag corresponding to the generation pointer of the packet flag register is "0", the HTrans signal is set as a protocol control signal as SEQ. If the flag corresponding to the generation pointer is not "0", the HTrans signal is set to BUSY as a protocol control signal.

이 때, 네트워크-온-칩 인터페이스 장치(262)의 스테이트는 네트워크-온-칩 인터페이스 장치의 유한 상태 기계(Finite State Machine; FSM)에 의하여 결정될 수 있다.At this time, the state of the network-on-chip interface device 262 may be determined by a finite state machine (FSM) of the network-on-chip interface device.

도 26에 도시된 네트워크-온-칩 인터페이스 장치(262)의 프로토콜 제어신호 생성 동작을 수도 코드로 설명하면 하기 수도 코드 4와 같다.A protocol control signal generation operation of the network-on-chip interface device 262 shown in FIG. 26 will be described with reference to FIG.

[수도 코드 4][Capital Code 4]

if( 네트워크-온-칩 인터페이스 장치의 상태 == IDLE_STATE ) if (status of network-on-chip interface device == IDLE_STATE)

HTrans = ( rPacketFlag[0] == 전송완료 ) && ( wPacketFlag[1] == 전송완료 ) && ( wPacketFlag[2] == 전송완료 ) ? NONSEQ : IDLEHTrans = (rPacketFlag [0] == Completed) && (wPacketFlag [1] == Completed) && (wPacketFlag [2] == Completed)? NONSEQ: IDLE

else( 네트워크-온-칩 인터페이스 장치의 상태 == BUSY_STATE)else (Status of network-on-chip interface device == BUSY_STATE)

HTrans = ( rPacketFlag[G-PTR + 2] ) == 전송완료 ) ? SEQ : BUSYHTrans = (rPacketFlag [G-PTR + 2]) == Transmission Completed? SEQ: BUSY

상기 수도 코드 4에서 rPacketFlag[0]은 플릿 헤더에 상응하는 플래그이고, rPacketFlag[1]은 패킷 헤더에 상응하는 플래그이며, rPacketFlag[2]는 첫 번째 데이터 플릿에 해당하는 플래그이다.In the pseudo code 4, rPacketFlag [0] is a flag corresponding to the flit header, rPacketFlag [1] is a flag corresponding to the packet header, and rPacketFlag [2] is a flag corresponding to the first data flit.

도 27은 본 발명의 일실시예에 따른 네트워크-온-칩 패킷 인코딩 방법의 패킷 생성시의 동작을 나타낸 동작 흐름도이다.27 is a flowchart illustrating an operation in packet generation of the network-on-chip packet encoding method according to an embodiment of the present invention.

도 27을 참조하면, 본 발명의 일실시예에 따른 네트워크-온-칩 패킷 인코딩 방법은 IP 장치로부터의 트랜잭션에 상응하는 네트워크-온-칩 패킷 생성시에 먼저 생성 포인터에 상응하는 패킷 플래그 레지스터의 플래그가 제1 레벨인지 여부를 판단한다(S710).Referring to FIG. 27, a network-on-chip packet encoding method according to an embodiment of the present invention may first generate a packet flag register corresponding to a generation pointer when generating a network-on-chip packet corresponding to a transaction from an IP device. It is determined whether the flag is the first level (S710).

이 때, IP 장치는 AMBA AXI 마스터 장치, AMBA AXI 슬레이브 장치, AMBA AHB 마스터 장치 또는 AMBA AHB 슬레이브 장치일 수 있다.In this case, the IP device may be an AMBA AXI master device, an AMBA AXI slave device, an AMBA AHB master device, or an AMBA AHB slave device.

또한, 본 발명의 일실시예에 따른 네트워크-온-칩 패킷 인코딩 방법은 단계(S710)의 판단 결과 플래그가 제1 레벨인 경우, 상기 패킷을 구성하는 플릿을 패킷 버퍼의 상기 생성 포인터에 상응하는 저장공간에 저장하고 상기 생성 포인터에 상응하는 상기 패킷 플래그 레지스터의 플래그를 제2 레벨로 설정하고 상기 생성 포인터를 증가시킨다(S720).In addition, in the network-on-chip packet encoding method according to an embodiment of the present invention, when the flag of the determination result in step S710 is the first level, the flits constituting the packet correspond to the generation pointer of the packet buffer. Stored in the storage space, the flag of the packet flag register corresponding to the generation pointer is set to the second level and the generation pointer is incremented (S720).

단계(S710)의 판단 결과, 플래그가 제2 레벨인 경우, 본 발명의 일실시예에 따른 네트워크-온-칩 패킷 인코딩 방법은 상기 플래그가 제1 레벨로 설정될 때까지 대기한다.As a result of the determination in step S710, when the flag is at the second level, the network-on-chip packet encoding method according to an embodiment of the present invention waits until the flag is set to the first level.

도 28은 본 발명의 일실시예에 따른 네트워크-온-칩 패킷 인코딩 방법의 패킷 전송시의 동작을 나타낸 동작 흐름도이다.28 is a flowchart illustrating an operation during packet transmission of the network-on-chip packet encoding method according to an embodiment of the present invention.

도 28을 참조하면, 본 발명의 일실시예에 따른 네트워크-온-칩 패킷 인코딩 방법은 IP 장치로부터의 트랜잭션에 상응하는 네트워크-온-칩 패킷 전송시에 먼저 전송 포인터에 상응하는 패킷 플래그 레지스터의 플래그가 제2 레벨인지 여부를 판단한다(S810).Referring to FIG. 28, a network-on-chip packet encoding method according to an embodiment of the present invention may first determine a packet flag register corresponding to a transmission pointer when transmitting a network-on-chip packet corresponding to a transaction from an IP device. It is determined whether the flag is the second level (S810).

이 때, IP 장치는 AMBA AXI 마스터 장치, AMBA AXI 슬레이브 장치, AMBA AHB 마스터 장치 또는 AMBA AHB 슬레이브 장치일 수 있다.In this case, the IP device may be an AMBA AXI master device, an AMBA AXI slave device, an AMBA AHB master device, or an AMBA AHB slave device.

또한, 본 발명의 일실시예에 따른 네트워크-온-칩 패킷 인코딩 방법은 단계(S810)의 판단 결과 플래그가 제2 레벨인 경우, 상기 패킷 버퍼의 상기 전송 포인터에 상응하는 저장공간에 저장된 플릿을 전송하고 상기 전송 포인터에 상응하는 상기 패킷 플래그 레지스터의 플래그를 상기 제1 레벨로 설정하고 상기 전송 포인터를 증가시킨다(S820).In addition, the network-on-chip packet encoding method according to an embodiment of the present invention, if the flag is the second level as a result of the determination in step S810, the fleet stored in the storage space corresponding to the transmission pointer of the packet buffer Transmit and set the flag of the packet flag register corresponding to the transmit pointer to the first level and increase the transmit pointer (S820).

단계(S810)의 판단 결과, 플래그가 제1 레벨인 경우, 본 발명의 일실시예에 따른 네트워크-온-칩 패킷 인코딩 방법은 상기 플래그가 제2 레벨로 설정될 때까지 대기한다.As a result of the determination in step S810, when the flag is at the first level, the network-on-chip packet encoding method according to an embodiment of the present invention waits until the flag is set to the second level.

도 27 및 도 28에 도시된 동작은 컨커런트(concurrent)하게 수행될 수 있다.The operations shown in FIGS. 27 and 28 may be performed concurrently.

본 발명에 따른 네트워크-온-칩 패킷 인코딩 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실 행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The network-on-chip packet encoding method according to the present invention can be implemented in the form of program instructions that can be executed by various computer means and recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. The medium may be a transmission medium such as an optical or metal wire, a waveguide, or the like including a carrier wave for transmitting a signal specifying a program command, a data structure, or the like. Examples of program instructions include machine code, such as produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

도 27 및 도 28에 도시된 방법에서 설명하지 아니한 내용은 도 1 내지 도 22를 통하여 이미 설명된 바와 같으므로 이하 생략한다.Details not described in the methods illustrated in FIGS. 27 and 28 are the same as those already described with reference to FIGS. 1 to 22, and thus will be omitted below.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, although the present invention has been described with reference to limited embodiments and drawings, the present invention is not limited to the above embodiments, and those skilled in the art to which the present invention pertains various modifications and variations from such descriptions. This is possible.

그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined not only by the claims below but also by the equivalents of the claims.

본 발명은 네트워크-온-칩 패킷이 완전히 생성되기 이전이라도 패킷의 생성과 전송을 컨커런트하게(concurrently) 처리할 수 있어, 패킷 전송 지연에 따른 레이턴시(latency)를 줄일 수 있다.The present invention can handle the generation and transmission of packets concurrently even before the network-on-chip packet is completely generated, thereby reducing latency due to packet transmission delay.

또한, 본 발명은 패킷 전체를 저장하지 아니하고, 기설정된(predetermined) 저장공간 한도내에서 패킷을 저장함으로써 패킷 저장에 필요한 저장 공간을 최소화할 수 있다.In addition, the present invention can minimize the storage space required for packet storage by storing the packet within a preset storage space limit without storing the entire packet.

또한, 본 발명은 패킷 버퍼 및 패킷 플래그 레지스터를 생성 포인터 및 생성 포인터와 독립적인 전송 포인터를 이용하여 포인팅함으로써 효과적으로 패킷 인코 더를 컨트롤 할 수 있다.In addition, the present invention can effectively control the packet encoder by pointing the packet buffer and the packet flag register using a generation pointer and a transmission pointer independent of the generation pointer.

Claims (17)

IP 장치로부터의 트랜잭션에 상응하는 네트워크-온-칩 패킷을 구성하는 플릿들이 저장되는 패킷 버퍼;A packet buffer storing flits constituting a network-on-chip packet corresponding to a transaction from an IP device; 상기 패킷 버퍼에 저장 가능한 플릿의 개수에 상응하는 개수의 플래그들이 저장되는 패킷 플래그 레지스터; 및A packet flag register which stores a number of flags corresponding to the number of flits that can be stored in the packet buffer; And 상기 패킷 플래그 레지스터의 상태에 따라 상기 IP 장치에 상응하는 프로토콜 제어신호를 생성하는 제어 신호 생성부Control signal generation unit for generating a protocol control signal corresponding to the IP device according to the state of the packet flag register 를 포함하는 것을 특징으로 하는 네트워크-온-칩 인터페이스 장치.Network-on-chip interface device comprising a. 제1항에 있어서,The method of claim 1, 상기 패킷 버퍼 및 상기 패킷 플래그 레지스터는 생성 포인터(generation pointer) 및 상기 생성 포인터와 독립적인 전송 포인터(sending pointer)에 의하여 포인팅되고,The packet buffer and the packet flag register are pointed by a generation pointer and a sending pointer independent of the generation pointer, 상기 패킷 생성시에 상기 생성 포인터에 상응하는 상기 패킷 플래그 레지스터의 플래그가 제1 레벨인 경우, 생성된 플릿이 상기 패킷 버퍼의 상기 생성 포인터에 상응하는 저장공간에 저장되고 상기 생성 포인터에 상응하는 상기 패킷 플래그 레지스터의 플래그가 제2 레벨로 설정되고 상기 생성 포인터가 증가하는 것을 특징으로 하는 네트워크-온-칩 인터페이스 장치.If the flag of the packet flag register corresponding to the generation pointer at the time of packet generation is the first level, the generated flit is stored in a storage space corresponding to the generation pointer of the packet buffer and corresponding to the generation pointer. And a flag in the packet flag register is set to the second level and the generation pointer is incremented. 제2항에 있어서,The method of claim 2, 상기 네트워크-온-칩 인터페이스 장치는 상기 패킷 생성시에 상기 생성 포인터에 상응하는 상기 패킷 플래그 레지스터의 플래그가 상기 제2 레벨인 경우 상기 플래그가 상기 제1 레벨로 설정될 때까지 대기하는 것을 특징으로 하는 네트워크-온-칩 인터페이스 장치.The network-on-chip interface device, when generating the packet, waits until the flag is set to the first level when a flag of the packet flag register corresponding to the generation pointer is the second level. Network-on-chip interface device. 제2항에 있어서,The method of claim 2, 상기 네트워크-온-칩 인터페이스 장치는The network-on-chip interface device 상기 패킷 전송시에 상기 전송 포인터에 상응하는 상기 패킷 플래그 레지스터의 플래그가 제2 레벨인 경우, 상기 패킷 버퍼의 상기 전송 포인터에 상응하는 저장공간에 저장된 플릿을 전송하고 상기 전송 포인터에 상응하는 상기 패킷 플래그 레지스터의 플래그를 상기 제1 레벨로 설정하고 상기 전송 포인터를 증가시키는 것을 특징으로 하는 네트워크-온-칩 인터페이스 장치.If the flag of the packet flag register corresponding to the transmission pointer at the packet transmission is the second level, the fleet is stored in the storage space corresponding to the transmission pointer of the packet buffer and the packet corresponding to the transmission pointer is transmitted. Setting a flag in a flag register to the first level and incrementing the transfer pointer. 제2항에 있어서,The method of claim 2, 상기 네트워크-온-칩 인터페이스 장치는 상기 패킷 전송시에 상기 전송 포인터에 상응하는 상기 패킷 플래그 레지스터의 플래그가 상기 제1 레벨인 경우 상기 플래그가 상기 제2 레벨로 설정될 때까지 대기하는 것을 특징으로 하는 네트워크-온-칩 인터페이스 장치.The network-on-chip interface device waits until the flag is set to the second level if the flag of the packet flag register corresponding to the transmission pointer is the first level when transmitting the packet. Network-on-chip interface device. 제2항에 있어서,The method of claim 2, 상기 IP 장치는 AMBA AXI 장치이고, 상기 제어신호 생성부는 상기 네트워크-온-칩 인터페이스 장치의 스테이트가 아이들 스테이트인 경우 상기 프로토콜 제어 신호로써 wReady 또는 rReady 신호를 활성화시키고, The IP device is an AMBA AXI device, and the control signal generator activates a wReady or rReady signal as the protocol control signal when the state of the network-on-chip interface device is an idle state. 상기 네트워크-온-칩 인터페이스 장치의 스테이트가 비지 스테이트인 경우에는 상기 패킷 플래그 레지스터의 상기 생성 포인터에 상응하는 플래그가 상기 제1 레벨인 경우에 상기 프로토콜 제어 신호로써 상기 wReady 또는 rReady 신호를 활성화시키는 것을 특징으로 하는 네트워크-온-칩 인터페이스 장치.Activating the wReady or rReady signal as the protocol control signal when the flag corresponding to the generation pointer of the packet flag register is the first level when the state of the network-on-chip interface device is busy state. Featured network-on-chip interface device. 제2항에 있어서,The method of claim 2, 상기 IP 장치는 AMBA AHB 마스터 장치이고, 상기 제어신호 생성부는 상기 네트워크-온-칩 인터페이스 장치의 스테이트가 아이들 스테이트인 경우 상기 프로토콜 제어 신호로써 HReady 신호를 활성화시키고, The IP device is an AMBA AHB master device, the control signal generation unit activates the HReady signal as the protocol control signal when the state of the network-on-chip interface device is an idle state, 상기 네트워크-온-칩 인터페이스 장치의 스테이트가 비지 스테이트인 경우에는 상기 패킷 플래그 레지스터의 상기 생성 포인터에 상응하는 플래그가 상기 제1 레벨인 경우에 상기 프로토콜 제어 신호로써 상기 HReady 신호를 활성화시키는 것을 특징으로 하는 네트워크-온-칩 인터페이스 장치.When the state of the network-on-chip interface device is a busy state, when the flag corresponding to the generation pointer of the packet flag register is the first level, the HReady signal is activated as the protocol control signal. Network-on-chip interface device. 제2항에 있어서,The method of claim 2, 상기 IP 장치는 AMBA AHB 슬레이브 장치이고, The IP device is an AMBA AHB slave device, 상기 제어신호 생성부는The control signal generator 상기 네트워크-온-칩 인터페이스 장치의 스테이트가 아이들 스테이트인 경우 상기 프로토콜 제어 신호로써 HTrans 신호를 NONSEQ로 설정하고, If the state of the network-on-chip interface device is an idle state, the HTrans signal is set to NONSEQ as the protocol control signal, 상기 네트워크-온-칩 인터페이스 장치의 스테이트가 비지 스테이트인 경우에는 상기 패킷 플래그 레지스터의 상기 생성 포인터에 상응하는 플래그가 상기 제1 레벨인 경우에 상기 프로토콜 제어 신호로써 상기 HTrans 신호를 SEQ로 설정하고, 상기 생성 포인터에 상응하는 플래그가 상기 제1 레벨이 아닌 경우에는 상기 프로토콜 제어 신호로써 상기 HTrans 신호를 BUSY로 설정하는 것을 특징으로 하는 네트워크-온-칩 인터페이스 장치.When the state of the network-on-chip interface device is busy state, when the flag corresponding to the generation pointer of the packet flag register is the first level, the HTrans signal is set to SEQ as the protocol control signal, and And when the flag corresponding to the generation pointer is not the first level, set the HTrans signal to BUSY as the protocol control signal. IP 장치로부터의 트랜잭션에 상응하는 네트워크-온-칩 패킷을 구성하는 플릿을 생성 포인터에 의하여 포인팅되는 저장공간에 저장하고, 상기 생성 포인터와 독립적인 전송 포인터에 의하여 포인팅되는 플릿을 출력하는 패킷 버퍼; 및A packet buffer for storing a fleet constituting a network-on-chip packet corresponding to a transaction from an IP device in a storage space pointed to by a generation pointer, and outputting a fleet pointed to by a transmission pointer independent of the generation pointer; And 상기 패킷 버퍼에 저장 가능한 플릿들의 개수에 상응하는 개수의 플래그들이 저장되고, 상기 생성 포인터 및 상기 전송 포인터에 의하여 포인팅되는 패킷 플래그 레지스터A number of flags corresponding to the number of flits that can be stored in the packet buffer are stored, and a packet flag register pointed by the generation pointer and the transmission pointer. 를 포함하는 것을 특징으로 하는 네트워크-온-칩 패킷 인코더.Network-on-chip packet encoder comprising a. 제9항에 있어서,The method of claim 9, 상기 네트워크-온-칩 패킷 인코더는The network-on-chip packet encoder 상기 패킷 생성시에 상기 생성 포인터에 상응하는 상기 패킷 플래그 레지스터의 플래그가 제1 레벨인 경우, 생성된 플릿을 상기 패킷 버퍼의 상기 생성 포인터에 상응하는 저장공간에 저장하고 상기 생성 포인터에 상응하는 상기 패킷 플래그 레지스터의 플래그를 제2 레벨로 설정하고 상기 생성 포인터를 증가시키는 것을 특징으로 하는 네트워크-온-칩 패킷 인코더.If the flag of the packet flag register corresponding to the generation pointer at the time of packet generation is a first level, the generated fleet is stored in a storage space corresponding to the generation pointer of the packet buffer and corresponding to the generation pointer. Setting a flag in a packet flag register to a second level and incrementing the generation pointer. 제9항에 있어서,The method of claim 9, 상기 네트워크-온-칩 패킷 인코더는The network-on-chip packet encoder 상기 패킷 생성시에 상기 생성 포인터에 상응하는 상기 패킷 플래그 레지스터의 플래그가 제2 레벨인 경우 상기 플래그가 제1 레벨로 설정될 때까지 대기하는 것을 특징으로 하는 네트워크-온-칩 패킷 인코더.And when the flag of the packet flag register corresponding to the generation pointer is the second level at the time of packet generation, waits until the flag is set to the first level. 제9항에 있어서,The method of claim 9, 상기 네트워크-온-칩 패킷 인코더는The network-on-chip packet encoder 상기 패킷 전송시에 상기 전송 포인터에 상응하는 상기 패킷 플래그 레지스터의 플래그가 제2 레벨인 경우, 상기 패킷 버퍼의 상기 전송 포인터에 상응하는 저장공간에 저장된 플릿을 전송하고 상기 전송 포인터에 상응하는 상기 패킷 플래그 레지스터의 플래그를 제1 레벨로 설정하고 상기 전송 포인터를 증가시키는 것을 특징으로 하는 네트워크-온-칩 패킷 인코더.If the flag of the packet flag register corresponding to the transmission pointer at the packet transmission is the second level, the fleet is stored in the storage space corresponding to the transmission pointer of the packet buffer and the packet corresponding to the transmission pointer is transmitted. Setting a flag in a flag register to a first level and incrementing the transmit pointer. 제9항에 있어서,The method of claim 9, 상기 네트워크-온-칩 패킷 인코더는 상기 패킷 전송시에 상기 전송 포인터에 상응하는 상기 패킷 플래그 레지스터의 플래그가 제1 레벨인 경우 상기 플래그가 제2 레벨로 설정될 때까지 대기하는 것을 특징으로 하는 네트워크-온-칩 패킷 인코더.The network-on-chip packet encoder is configured to wait until the flag is set to a second level if the flag of the packet flag register corresponding to the transmission pointer is a first level when transmitting the packet. On-chip packet encoder. IP 장치로부터의 트랜잭션에 상응하는 네트워크-온-칩 패킷 생성시에, 생성 포인터에 상응하는 패킷 플래그 레지스터의 플래그가 제1 레벨인지 여부를 판단하는 단계;When generating a network-on-chip packet corresponding to a transaction from the IP device, determining whether the flag of the packet flag register corresponding to the generation pointer is at a first level; 상기 플래그가 제1 레벨인 경우, 상기 패킷을 구성하는 플릿을 패킷 버퍼의 상기 생성 포인터에 상응하는 저장공간에 저장하고 상기 생성 포인터에 상응하는 상기 패킷 플래그 레지스터의 플래그를 제2 레벨로 설정하고 상기 생성 포인터를 증가시키는 단계; 및When the flag is at the first level, the fleet constituting the packet is stored in a storage space corresponding to the generation pointer of the packet buffer, and the flag of the packet flag register corresponding to the generation pointer is set to the second level and the Incrementing a generation pointer; And 상기 플래그가 제2 레벨인 경우, 상기 플래그가 제1 레벨로 설정될 때까지 대기하는 단계If the flag is at the second level, waiting until the flag is set at the first level 를 포함하는 것을 특징으로 하는 네트워크-온-칩 패킷 인코딩 방법.Network-on-chip packet encoding method comprising a. 제14항에 있어서,The method of claim 14, 상기 네트워크-온-칩 패킷 인코딩 방법은The network-on-chip packet encoding method 상기 패킷 전송시에 상기 생성 포인터와 독립적인 전송 포인터에 상응하는 상기 패킷 플래그 레지스터의 플래그가 상기 제2 레벨인 경우, 상기 패킷 버퍼의 상기 전송 포인터에 상응하는 저장공간에 저장된 플릿을 전송하고 상기 전송 포인터에 상응하는 상기 패킷 플래그 레지스터의 플래그를 상기 제1 레벨로 설정하고 상기 전송 포인터를 증가시키는 단계If the flag of the packet flag register corresponding to the transmission pointer independent of the generation pointer is the second level at the time of packet transmission, transmit the fleet stored in the storage space corresponding to the transmission pointer of the packet buffer and transmit the packet. Setting a flag in the packet flag register corresponding to a pointer to the first level and incrementing the transmit pointer 를 더 포함하는 것을 특징으로 하는 네트워크-온-칩 패킷 인코딩 방법.Network-on-chip packet encoding method further comprises. 제15항에 있어서,The method of claim 15, 상기 네트워크-온-칩 패킷 인코딩 방법은The network-on-chip packet encoding method 상기 패킷 전송시에 상기 전송 포인터에 상응하는 상기 패킷 플래그 레지스터의 플래그가 상기 제1 레벨인 경우 상기 플래그가 상기 제2 레벨로 설정될 때까지 대기하는 단계Waiting for the flag to be set to the second level if the flag of the packet flag register corresponding to the transmission pointer is the first level when transmitting the packet; 를 더 포함하는 것을 특징으로 하는 네트워크-온-칩 패킷 인코딩 방법.Network-on-chip packet encoding method further comprises. 제14항 내지 제16항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.A computer-readable recording medium in which a program for executing the method of any one of claims 14 to 16 is recorded.
KR1020060127752A 2006-12-14 2006-12-14 Apparatus for network-on-chip interfacing and method of network-on-chip packet encoding using the same KR100846739B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060127752A KR100846739B1 (en) 2006-12-14 2006-12-14 Apparatus for network-on-chip interfacing and method of network-on-chip packet encoding using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060127752A KR100846739B1 (en) 2006-12-14 2006-12-14 Apparatus for network-on-chip interfacing and method of network-on-chip packet encoding using the same

Publications (2)

Publication Number Publication Date
KR20080054981A KR20080054981A (en) 2008-06-19
KR100846739B1 true KR100846739B1 (en) 2008-07-16

Family

ID=39801856

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060127752A KR100846739B1 (en) 2006-12-14 2006-12-14 Apparatus for network-on-chip interfacing and method of network-on-chip packet encoding using the same

Country Status (1)

Country Link
KR (1) KR100846739B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101841173B1 (en) 2010-12-17 2018-03-23 삼성전자주식회사 Device and Method for Memory Interleaving based on a reorder buffer
KR102034698B1 (en) * 2018-05-25 2019-10-21 성균관대학교산학협력단 Method and apparatus for transmitting flit of network on chip

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6823411B2 (en) 2002-01-30 2004-11-23 International Business Machines Corporation N-way psuedo cross-bar having an arbitration feature using discrete processor local busses
KR20050115195A (en) * 2004-06-03 2005-12-07 광주과학기술원 Asynchronous switch based on butterfly fat-tree for network on chip applications
KR20060067802A (en) * 2004-12-15 2006-06-20 한국전자통신연구원 Apparatus and method for interfacing of on chip network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6823411B2 (en) 2002-01-30 2004-11-23 International Business Machines Corporation N-way psuedo cross-bar having an arbitration feature using discrete processor local busses
KR20050115195A (en) * 2004-06-03 2005-12-07 광주과학기술원 Asynchronous switch based on butterfly fat-tree for network on chip applications
KR20060067802A (en) * 2004-12-15 2006-06-20 한국전자통신연구원 Apparatus and method for interfacing of on chip network

Also Published As

Publication number Publication date
KR20080054981A (en) 2008-06-19

Similar Documents

Publication Publication Date Title
KR100737943B1 (en) Apparatus for controlling response signal of network-on-chip and method using the same
US10664421B1 (en) Reordering responses in a high performance on-chip network
US7814243B2 (en) Shared storage for multi-threaded ordered queues in an interconnect
CN111008170B (en) System chip, bus interface connection circuit and bus interface connection method thereof
KR100675850B1 (en) System for axi compatible network on chip
US7155554B2 (en) Methods and apparatuses for generating a single request for block transactions over a communication fabric
JP6141379B2 (en) Using completer knowledge about memory region ordering requests to modify transaction attributes
US7647476B2 (en) Common analog interface for multiple processor cores
JP2011170868A (en) Pipeline accelerator for improved computing architecture, and related system and method
US8589614B2 (en) Network system with crossbar switch and bypass route directly coupling crossbar interfaces
US7590146B2 (en) Information processing unit
KR100721444B1 (en) Apparatus for controlling power of network-on-chip and method using the same
KR100846739B1 (en) Apparatus for network-on-chip interfacing and method of network-on-chip packet encoding using the same
CN112511537B (en) SCE-MI protocol bridge and simulation system
Morales et al. A low-area direct memory access controller architecture for a RISC-V based low-power microcontroller
TW200407712A (en) Configurable multi-port multi-protocol network interface to support packet processing
Gibiluka et al. BAT-Hermes: a transition-signaling bundled-data NoC router
JP4436902B2 (en) Logic unit and integrated circuit for clearing interrupts
CN115982071A (en) DDR3 controller-oriented network-on-chip conversion interface
Swaminathan et al. Design of a low power network interface for Network on chip
CN210038775U (en) System on chip
US7353297B2 (en) Handling of write transactions in a data processing apparatus
KR101061187B1 (en) Bus system and its control unit
CN118093472A (en) Signal transmission method between interfaces, storage medium and electronic equipment
Pendyala et al. MIL-STD-1553+: Integrated remote terminal and bus controller at 100-mb/s data rate

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee