KR101510862B1 - Single-channel asynchronous bridge system for interconnecting blocks of different domains in System-on-Chip - Google Patents

Single-channel asynchronous bridge system for interconnecting blocks of different domains in System-on-Chip Download PDF

Info

Publication number
KR101510862B1
KR101510862B1 KR20140046110A KR20140046110A KR101510862B1 KR 101510862 B1 KR101510862 B1 KR 101510862B1 KR 20140046110 A KR20140046110 A KR 20140046110A KR 20140046110 A KR20140046110 A KR 20140046110A KR 101510862 B1 KR101510862 B1 KR 101510862B1
Authority
KR
Grant status
Grant
Patent type
Prior art keywords
fifo
signal
receiver
transmitter
single
Prior art date
Application number
KR20140046110A
Other languages
Korean (ko)
Inventor
박황희
Original Assignee
주식회사 텔레칩스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Grant date

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer

Abstract

본 발명은 일반적으로 복수의 도메인을 갖는 시스템온칩(SoC)에서 상이한 도메인에 속하는 블록을 효율적으로 연결하기 위한 단일채널 방식의 비동기 브리지 기술에 관한 것이다. The present invention relates generally to asynchronous bridge of single-channel technology for efficiently connecting the blocks belonging to a different domain from the system-on-chip (SoC) having a plurality of domains. 더욱 상세하게는 본 발명은 비동기 브리지에서 FIFO 뎁스와 무관하게 단일 페이로드 채널로 블록을 연결함으로써 블록 연결을 단순화하여 칩 사이즈를 줄이고 칩 설계에 소요되는 시간을 절감할 수 있으며, 블록 간에 페이로드 데이터를 전송하는 버스의 성능에 맞게 FIFO 뎁스를 설정할 수 있어 전체 시스템 성능을 높일 수 있고, 송신기 도메인의 클럭을 수신기로 전송함으로써 페이로드 데이터의 타이밍 제한을 최소화하여 설계를 용이하게 할 수 있고, 송신기와 수신기 간에 단일 비트의 제어 신호를 사용함으로써 멀티비트 CDC 문제를 방지할 수 있는 단일채널 방식의 비동기 브리지 기술에 관한 것이다. More specifically, the payload data between the present invention is to reduce the chip size to simplify the block connection by connecting the blocks with a single payload channel, regardless of the FIFO depth in the asynchronous bridge and can reduce the time required for chip design, block can be set in the FIFO depth according to the bus performance to transfer it is possible to increase the entire system performance, to minimize timing constraints of the payload data by sending a clock of the transmitter domain to the receiver it is possible to facilitate the design, the transmitter and the by using a control signal of a single bit between the receiver related to the asynchronous bridge technology on a single channel system to avoid the multi-bit CDC issues.

Description

시스템온칩에서 상이한 도메인의 블록연결을 위한 단일채널 비동기 브리지 시스템{Single-channel asynchronous bridge system for interconnecting blocks of different domains in System-on-Chip} One channel for the connection blocks of different domains in a system-on-a-chip system, the asynchronous bridge {Single-channel asynchronous bridge system for interconnecting blocks of different domains in System-on-Chip}

본 발명은 일반적으로 복수의 도메인을 갖는 시스템온칩(SoC)에서 상이한 도메인에 속하는 블록을 효율적으로 연결하기 위한 단일채널 방식의 비동기 브리지 기술에 관한 것이다. The present invention relates generally to asynchronous bridge of single-channel technology for efficiently connecting the blocks belonging to a different domain from the system-on-chip (SoC) having a plurality of domains.

더욱 상세하게는 본 발명은 비동기 브리지에서 FIFO 뎁스와 무관하게 단일 페이로드 채널로 블록을 연결함으로써 블록 연결을 단순화하여 칩 사이즈를 줄이고 칩 설계에 소요되는 시간을 절감할 수 있으며, 블록 간에 페이로드 데이터를 전송하는 버스의 성능에 맞게 FIFO 뎁스를 설정할 수 있어 전체 시스템 성능을 높일 수 있고, 송신기 도메인의 클럭을 수신기로 전송함으로써 페이로드 데이터의 타이밍 제한을 최소화하여 설계를 용이하게 할 수 있고, 송신기와 수신기 간에 단일 비트의 제어 신호를 사용함으로써 멀티비트 CDC 문제를 방지할 수 있는 단일채널 방식의 비동기 브리지 기술에 관한 것이다. More specifically, the payload data between the present invention is to reduce the chip size to simplify the block connection by connecting the blocks with a single payload channel, regardless of the FIFO depth in the asynchronous bridge and can reduce the time required for chip design, block can be set in the FIFO depth according to the bus performance to transfer it is possible to increase the entire system performance, to minimize timing constraints of the payload data by sending a clock of the transmitter domain to the receiver it is possible to facilitate the design, the transmitter and the by using a control signal of a single bit between the receiver related to the asynchronous bridge technology on a single channel system to avoid the multi-bit CDC issues.

최근들어 시스템온칩(System-on-Chip, SoC)의 칩 사이즈가 커지고 다양한 기능이 수용되면서, 하나의 칩 내부는 상이한 클럭, 파워, 전압 도메인으로 기능 블록들이 나누어진다. With recent years, increasing the chip size of the SoC (System-on-Chip, SoC) accommodate a variety of functions, one-chip is to be divided into different functional blocks the clock, power, voltage domain. 칩 내부에서 상이한 도메인에 존재하는 블록들 간에는 클럭, 파워, 전압 조건이 상이하기 때문에 비동기 브리지(asynchronous bridge)를 통해 일반적으로 연결한다. Typically connected via an asynchronous bridge (asynchronous bridge) because the block of the clock, power and voltage conditions existing in different domains between the on-chip phase.

전체 칩의 블록 개수가 늘어나면서 블록 간의 비동기 브리지 연결은 칩 사이즈와 설계시간에 영향을 준다. With the increasing number of blocks of the whole chip asynchronous bridge connections between the block affects the chip size and design time. SoC의 설계 과정에서는 각 블록 별로 RTL 디자인 작업, STA(Static Timing Analysis) 작업, 레이아웃 설계 작업을 독립적으로 수행하는데, 전체 칩의 블록 개수가 늘어나면서 블록 간의 연결을 고려하여 칩 사이즈와 설계 시간이 영향을 받는다. In the design process of the SoC RTL design work for each block, STA (Static Timing Analysis) operation, the layout design work for carrying out independently, With the increasing number of blocks of the overall chip size, taking into account the connection between the block chip, the design time is affected receive. 블록 간의 연결이 많아질수록 RTL 디자인에서 검증 항목이 증가하고 STA에서 블록 간의 타이밍 제한사항과 검토대상 체크포인트가 증가하여 설계 시간도 길어지게 된다. The more connections between the block increases by increasing the verification item in the RTL design and increase the timing restrictions and review checkpoints between the blocks in the STA becomes even longer design time. 또한, 레이아웃 설계에서 블록 간의 루팅이 복잡해져서 전체 칩 사이즈도 증가하게 된다. In addition, it increases an overall chip size is routed between the blocks haejyeoseo complex in layout design.

또한, 종래기술의 비동기 브리지에서는 일반적으로 버스의 데이터를 중간에 저장하는 메모리로서 내부 FIFO가 사용되는데, 이러한 내부 FIFO의 뎁스(depth)에 의해 전체 시스템 성능이 영향 받는다. Further, in the asynchronous bridge of the prior art as the memory typically stores the data on the bus in the middle is used an internal FIFO, get the overall performance of the system influenced by the depth (depth) of the internal FIFO.

[도 1]은 종래기술에서 상이한 도메인의 블록 연결에 사용되는 다중채널 방식의 비동기 브리지 시스템을 나타낸다. Fig. 1 represents an asynchronous bridge system of a multi-channel scheme used for the block connection of the different domains in the prior art. 비동기 브리지는 송신기(110)와 수신기(120)로 구성되어 있고, FIFO(112)는 송신기(110)에 위치한다. Asynchronous bridge is configured as a transmitter 110 and a receiver (120), FIFO (112) is located at the transmitter (110). 이때, [도 1]에 도시된 FIFO(112)의 뎁스는 4이다. At this time, the depth of the FIFO (112) shown in Fig. 1 is 4.

송신기(110)는 송신 제어기(111), FIFO(112), 송신 싱크로나이저(113)를 포함하여 구성된다. The transmitter 110 is configured to include a transmission controller (111), FIFO (112), transmit synchronizer 113. The 송신기(110)는 밸리드-레디 핸드셰이킹 프로토콜(valid-ready handshaking protocol)을 사용하여 소오스(source)로부터 페이로드 데이터(payload_src)를 제공받는다. Transmitter 110 Valley de-it is provided the payload data (payload_src) from the source (source) using the Ready handshaking protocol (valid-ready handshaking protocol). 페이로드 데이터는 송신기(110)의 FIFO(112)에 저장되고, FIFO 뎁스와 동일한 4개의 페이로드 채널(payload_ch0 ~ payload_ch3)을 통해 수신기(120)에 전송된다. The payload data is stored in a FIFO (112) of the transmitter 110, and transmitted to the receiver 120 over the same four payload channel (payload_ch0 ~ payload_ch3) and the FIFO depth.

수신기(120)는 수신 제어기(121), 멀티플렉서(122), 수신 싱크로나이저(123)를 포함하여 구성된다. Receiver 120 is configured to include a reception controller 121, a multiplexer 122, receiving the synchronizer 123. 수신기(120)는 여러 페이로드 채널로 페이로드 데이터를 제공받아 멀티플렉서(122)를 통하여 하나의 페이로드 데이터를 선택한다. Receiver 120 provides a received payload data to a payload channel number, select one of the payload data through the multiplexer 122. 밸리드-레디 핸드셰이킹 프로토콜을 사용하여 데스티네이션(destination)에 페이로드 데이터(payload_dst)를 제공한다. Valley de-using Ready handshaking protocols to provide the payload data (payload_dst) to the destination (destination).

송신기(110)는 FIFO(112)가 FULL이 아니면 FIFO(112)에 페이로드 데이터를 저장하고 FIFO(112)의 쓰기 포인터(write_pointer)를 수신기(120)에 전송한다. Transmitter unit 110 is FIFO (112) or the FULL store the payload data in the FIFO (112) and transmits the write pointer (write_pointer) of the FIFO (112) to the receiver (120). 수신기(120)는 FIFO(112)가 EMPTY가 아닐 경우, 데스티네이션에 페이로드 데이터(payload_dst)를 전달하고 읽기 포인터(read_pointer)를 송신기(110)에 전송한다. Receiver 120 when the FIFO (112) is not EMPTY, the transmission of payload data (payload_dst) to the destination and sends the read pointer (read_pointer) to the transmitter (110). 송신기(110)와 수신기(120)는 쓰기 포인터와 읽기 포인터를 비교하여 각각 FULL과 EMPTY를 결정한다. Transmitter 110 and the receiver 120 compares the read pointer and the write pointer to determine each FULL and EMPTY.

송신기(110)와 수신기(120)는 클럭 도메인이 상이하기 때문에 쓰기 포인터와 읽기 포인터는 싱크로나이저(113, 123)를 거쳐 저장되고, 일반적으로 송신 제어기(111)와 수신 제어기(121)에 그레이코드 포인터(Gray code pointer)를 내장하여 멀티비트 CDC(Multiple-bit Clock Domain Crossing)에 의한 영향을 완화하려고 노력한다. Transmitter 110 and receiver 120 may read and write pointer since the clock domain different from the pointer synchronizer stored via 113 and 123, in general, the gray code to the transmission controller 111 and reception controller 121 a built-in pointer (Gray code pointer) to try to mitigate the effects of multi-bit CDC (Multiple-bit Clock Domain Crossing).

이와 같은 종래기술의 다중채널 비동기 브리지 시스템에서는 블록 간의 연결 채널 수는 송신기(110)에 구비된 FIFO(112)의 뎁스, 즉 FIFO 뎁스에 영향을 받는다. In such a multi-channel asynchronous bridge system of the prior art can be connected between the channel block is subjected to the depth, i.e., affect the FIFO depth of the FIFO (112) having a transmitter (110). 비동기 브리지의 FIFO 뎁스가 증가하면 페이로드 채널이 증가하고 블록 간의 연결 채널이 늘어난다. If a FIFO depth of the asynchronous bridge increases increase the payload channels, and increases the connection between the channel block. 연결 채널이 증가함에 따라 성능이 개선되는 장점이 있는 반면, 칩 설계에서는 여러가지 단점이 발생한다. On the other hand, as the connection channel, which increases the advantage of improved performance, the chip design generates various disadvantages.

즉, 전체 칩의 루팅(routing)이 복잡해짐에 따라 칩 사이즈가 증가할 뿐만 아니라 RTL 디자인, STA 작업, 레이아웃 설계에 소요되는 시간이 늘어나게 된다. In other words, the time it takes to RTL design, STA work, layout design will increase, as well as to increase the chip size becomes depending on the routing (routing) of the whole chip complexity. 또한 이러한 블록 간의 연결 제약으로 인해 FIFO(112)의 뎁스를 버스 성능을 만족하도록 충분하게 설정하지 못하는 경우가 많으며, 그로 인해 전체 시스템의 성능을 충분히 높이지 못하는 문제가 있다. There is also a problem does not often due to the connection constraints between these blocks can not sufficiently set the depth of the FIFO (112) so as to satisfy the bus performance, thereby sufficiently increasing the performance of the overall system.

또한, 송신기(110)에서 전송되는 페이로드 데이터는 데스티네이션에 도달하기 전에 수신기(120)를 거치는데, 페이로드 데이터의 레이턴시(latency)는 수신기 도메인의 클럭 주파수에 의해서 제한된다. In addition, the payload data is the latency (latency) of the payload data go through the receiver 120 before reaching the destination transmitted from the transmitter 110 is limited by the clock frequency of the receiver domain. 이 타이밍 제한은 수신기 도메인의 클럭 주파수가 빠를수록 그리고 송신기(110)와 수신기(120) 간의 물리적 거리가 멀수록 만족하기 어려워진다. This timing restriction is difficult to lower the physical distance between the higher the clock frequency of the receiver domain and the transmitter 110 and receiver 120 far satisfied. 또한, 쓰기 포인터와 읽기 포인터는 그레이코드 포인터를 사용하여 멀티비트 CDC 문제를 완화하였지만 블록 간의 거리가 멀어진다면 멀티비트 CDC 문제가 심각해질 여지가 있다. Further, the write pointer and the read pointer but no mitigating multi-bit CDC problem by using the gray code pointer if the distance between the block away be a multi-bit CDC serious problem. 그에 따라, 종래기술에서는 포인터 비트 간의 스큐(skew)를 일정하게 맞추는 타이밍 제한이 추가적으로 필요하게 되어 칩 설계 과정이 매우 번거러워진다. Thus, the prior art, this match a constant skew between pointer bit (skew) are further timing constraints required chip design process is very cumbersome usually boring.

따라서 이상과 같은 여러 문제점을 해결할 수 있는 시스템온칩 블록연결 기술이 관련 업계에서는 절실히 요청되고 있다. Therefore, there is a system-on-chip block Connection technology that can solve many problems, such as being more than the industry urgently requested.

1. 대한민국 특허출원 10-2012-0003660호 "시스템온칩, 마이크로컨트롤러, 이를 포함하는 전자장치 및 시스템온칩의 통신 방법" 1. Republic of Korea Patent Application No. 10-2012-0003660 "system-on-chip, a microcontroller, a communication method for an electronic apparatus and a system-on-a-chip including the same."

2. 대한민국 특허출원 10-2007-0121656호 "멀티미디어 시스템용 SoC 시스템" 2. The Republic of Korea Patent Application No. 10-2007-0121656 "SoC system for multimedia systems"

3. 대한민국 특허출원 10-2009-0117760호 "데이터 프로세싱 시스템에서의 비동기 통합 업사이징 회로" 3. Republic of Korea Patent Application No. 10-2009-0117760 "integrated asynchronous upsizing circuit in a data processing system."

4. 대한민국 특허출원 10-2006-7001734호 "마이크로프로세서 서브시스템" 4. The Republic of Korea Patent Application No. 10-2006-7001734, "microprocessor subsystem"

5. 대한민국 특허출원 10-2004-7016993호 "시스톨릭 어레이형 구조체 구현 프로세싱 장치 및 프로세싱 방법" 5. Republic of Korea Patent Application No. 10-2004-7016993 "systolic array-like structure implements a processing device and processing method"

본 발명의 목적은 일반적으로 복수의 도메인을 갖는 시스템온칩(SoC)에서 상이한 도메인에 속하는 블록을 효율적으로 연결하기 위한 단일채널 방식의 비동기 브리지 기술을 제공하는 것이다. An object of the present invention to generally provide a single-channel asynchronous bridge technology for connecting the blocks belonging to a different domain from the system-on-chip (SoC) having a plurality of domains to efficiently.

특히, 본 발명의 목적은 비동기 브리지에서 FIFO 뎁스와 무관하게 단일 페이로드 채널로 블록을 연결함으로써 블록 연결을 단순화하여 칩 사이즈를 줄이고 칩 설계에 소요되는 시간을 절감할 수 있으며, 블록 간에 페이로드 데이터를 전송하는 버스의 성능에 맞게 FIFO 뎁스를 설정할 수 있어 전체 시스템 성능을 높일 수 있고, 송신기 도메인의 클럭을 수신기로 전송함으로써 페이로드 데이터의 타이밍 제한을 최소화하여 설계를 용이하게 할 수 있고, 송신기와 수신기 간에 단일 비트의 제어 신호를 사용함으로써 멀티비트 CDC 문제를 방지할 수 있는 단일채널 방식의 비동기 브리지 기술을 제공하는 것이다. In particular, may be an object of the present invention is to simplify the block connection by connecting the blocks with a single payload channel, regardless of the FIFO depth in the asynchronous bridge to reduce the chip size reduces the time required for chip design, the payload between the block data can be set in the FIFO depth according to the bus performance to transfer it is possible to increase the entire system performance, to minimize timing constraints of the payload data by sending a clock of the transmitter domain to the receiver it is possible to facilitate the design, the transmitter and the by using a control signal of a single bit between the receiver to provide an asynchronous bridge technology on a single channel system to avoid the multi-bit CDC issues.

이상의 과제를 달성하기 위한 본 발명은 시스템온칩에서 상이한 도메인에 속하는 복수의 블록을 연결하도록 송신기와 수신기를 구비하는 단일채널의 비동기 브리지 시스템이다. The present invention for achieving the above objective, an asynchronous bridge system for a single channel having a transmitter and a receiver connected to a plurality of blocks belonging to a different domain in the SoC. 이때, 송신기(210)는, 소오스로부터 제공된 페이로드 데이터와 소오스 밸리드 신호를 임시 저장하여 타이밍을 분리하고 페이로드 데이터를 단일의 페이로드 채널을 통해 수신기로 전송하는 레지스터 슬라이스(212); At this time, the transmitter 210, the register for separating the timing to save temporary a data payload and the source valid signal provided by the source and sending the payload data to a receiver through a single channel of the payload slice (212); 수신기로부터 스트로브 신호를 제공받아 수신기에 내장된 FIFO의 읽기 포인터를 추종하는 제 1 포인터를 생성하는 제 1 카운터(213); The first counter 213 for receiving from the receiver providing a strobe signal generating a first pointer that follows the read pointer of the FIFO internal to the receiver; 제 1 포인터를 제공받아 송신기의 클럭 도메인으로 재설정하는 스트로브 싱크로나이저(214); The strobe synchronizer 214 to provide reset to receive clock domain of the transmitter a first point; 소오스 밸리드 신호에 대응하도록 전송 밸리드 신호를 생성하여 수신기로 제공하고, 전송 밸리드 신호에 의한 카운팅 값과 제 1 포인터에 의한 카운팅 값을 비교하여 수신기에 내장된 FIFO의 FULL 여부를 판단하고, FULL 여부의 판단 결과에 따라 레지스터 슬라이스가 페이로드 데이터를 수신기로 전송할지 여부를 제어하는 FIFO 송신 제어기(211);를 포함하여 구성된다. Generating a transmit valid signal to correspond to the source valid signal to provide a receiver, and compares the counted value by the count value of the first pointer by transmitting valid signal determines FULL whether the FIFO internal to the receiver, is configured to include; the register slice FIFO transmit controller 211 which controls whether or not to transmit the payload data to a receiver in accordance with the determination result of whether the FULL. 또한, 수신기(220)는, 단일의 페이로드 채널을 통해 송신기로부터 페이로드 데이터를 제공받아 저장하는 FIFO(222); Further, the receiver 220, FIFO (222) for receiving and storing service the payload data from the transmitter over a single channel of the payload; 전송 밸리드 신호에 대응하도록 쓰기 포인터를 생성하여 FIFO의 쓰기 어드레스로 제공하는 제 3 카운터(223); The third counter 223 generates a write pointer so as to correspond to the transmission valid signal provided by the write address of the FIFO; 쓰기 포인터를 제공받아 수신기의 클럭 도메인으로 재설정하는 밸리드 싱크로나이저(224); Write provide pointers received valley de synchronizer 224 to reset the clock domain of the receiver; 데스티네이션 밸리드 신호 및 데스티네이션 레디 신호에 대응하도록 읽기 포인터를 생성하여 FIFO의 읽기 어드레스로 제공하고, 전송 밸리드 신호에 의한 카운팅 값과 데스티네이션 밸리드 신호 및 데스티네이션 레디 신호에 의한 카운팅 값을 비교하여 FIFO의 EMPTY 여부를 판단하고, EMPTY 여부의 판단 결과 및 데스티네이션 레디 신호에 대응하도록 스트로브 신호를 생성하여 송신기로 전송하는 FIFO 수신 제어기(221);를 포함하여 구성된다. Generating a read pointer so as to correspond to the destination valid signal and the destination ready signal to provide a read address of the FIFO, and the count value of the counting value and the destination valid signal and the destination ready signal according to the transmission valid signal is configured to include the Comparative and judges whether the FIFO EMPTY, FIFO reception controller 221 for transmission to the transmitter to generate a strobe signal so as to correspond to the determination result and the destination ready signal of whether or not EMPTY.

본 발명에서 FIFO 송신 제어기(211)는, 소오스 밸리드 신호와 FULL 여부의 판단 결과를 논리 곱 연산하여 전송 밸리드 신호를 생성하는 제 1 논리곱 게이트(215); A first logical AND gate (215) transmit FIFO controller 211 in the present invention, by calculating the result of the determination of whether the source valid signal and for generating a logical product FULL transmission valid signal; 제 1 카운터가 생성하는 제 1 포인터를 추종하는 제 2 포인터를 생성하는 제 2 카운터(217); A second counter (217) for generating a second pointer to the first counter follow a generated first pointer to; 제 1 포인터와 제 2 포인터의 값이 상이한 동안 유효 상태를 유지하는 팝 신호를 생성하는 제 1 비교기(218); A first comparator 218 that the value of the pointer and a second pointer generating a pop signal to remain valid for different; 소오스 밸리드 신호에 의해 카운트 업하고 팝 신호에 의해 카운트 다운하는 내장 카운터를 구비하여 내장 카운터의 값에 기초하여 수신기에 내장된 FIFO의 FULL 여부를 판단하고, FULL 여부 판단 결과에 대응되는 신호를 레지스터 슬라이스(212)의 레디 포트로 제공하여 페이로드 데이터에 대한 전송 제어를 수행하는 FIFO 풀 제너레이터(216);를 포함하여 구성될 수 있다. Source and valley signals are counted up by the DE signal, and based on the value of the internal counter by having a built-in counter that counts down by a pop signal determines FULL whether the FIFO internal to the receiver, corresponds to the FULL whether the determination result register It can comprise; FIFO pool generator 216 which provides the ready port of the slice (212) performs the transmission control for the payload data.

또한 본 발명에서 FIFO 수신 제어기(221)는, 데스티네이션 밸리드 신호 및 데스티네이션 레디 신호를 논리 곱 연산하여 제 1 인에이블 신호를 생성하는 제 2 논리곱 게이트(227); In addition, FIFO reception controller 221, the destination second logical AND gate (227) for generating a first enable signal by calculating valid signal and the ready signal destination logical product in the present invention; 제 1 인에이블 신호가 HIGH인 기간에 대응하여 읽기 포인터를 생성하여 FIFO의 읽기 어드레스로 제공하는 제 4 카운터(225); A fourth counter (225) for providing a first enable signal to read the FIFO generates a read pointer corresponding to the HIGH period of the address; 쓰기 포인터와 읽기 포인터의 값이 상이한 동안 유효 상태를 유지하는 데스티네이션 밸리드 신호를 생성하는 제 2 비교기(229); Write pointer and the second comparator (229) for generating a destination valid signal to maintain a valid state while the value of the read pointer different; 데스티네이션 밸리드 신호 및 데스티네이션 레디 신호를 논리 곱 연산하여 제 2 인에이블 신호를 생성하는 제 3 논리곱 게이트(228); A third logical AND gate 228 to logic operation multiplied by the destination valid signal and the destination ready signal generating a second enable signal; 제 1 인에이블 신호가 HIGH인 기간에 대응하여 스트로브 신호를 생성하여 송신기로 전송하는 클럭 게이트(226);를 포함하여 구성될 수 있다. It can comprise; the clock gate 226 for transmitting the transmitter generates a first strobe signal, the enable signal is in response to the HIGH period.

이때, 송신기(210)는 송신기 도메인의 클럭 신호를 수신기(220)로 전송하고, 수신기(220)는 송신기 도메인의 클럭 신호를 수신하여 제 3 카운터의 카운팅 클럭 및 FIFO의 동작클럭으로 반전 입력하고, 송신기(210)와 수신기(220)가 주고받는 전송 밸리드 신호와 스트로브 신호는 단일 비트로 구성되는 것이 바람직하다. At this time, the transmitter 210 transmits the clock signal from the transmitter domain to the receiver 220, the receiver 220 receives the clock signal from the transmitter domain, and the inverting input to the counting clock and the operation clock of the FIFO of the third counter, transmitting valid signal and a strobe signal that the transmitter 210 and receiver 220 to and is preferably composed of a single bit. 또한, 제 1 내지 제 4 카운터(213, 217, 223, 225)는 그레이코드 카운터이고, FIFO(222)는 뎁스구성형 FIFO인 것이 바람직하다. Further, the gray code counter and the first to fourth counters (213, 217, 223, 225), is FIFO (222) is preferably in a depth-configuration FIFO. 또한, 상이한 도메인에 속하는 복수의 블록에 포함된 복수의 송신기(210)와 복수의 수신기(220)는 리셋 신호를 연동시켜 동기화된 로직의 리셋으로 구성된다. Further, a plurality of transmitters 210 and a plurality of receivers 220 that are included in a plurality of blocks belonging to a different domain is configured to interface with the reset signal to the reset of the synchronization logic.

본 발명에 따르면 복수의 도메인을 갖는 시스템온칩(SoC)에서 상이한 도메인에 속하는 블록을 단일채널 방식의 비동기 브리지를 활용하여 효율적으로 연결할 수 있는 장점이 있다. According to the invention it has the advantage of efficiently connect the blocks belonging to a different domain by using the asynchronous bridge of a single-channel manner in a system-on-chip (SoC) having a plurality of domains.

특히, 본 발명에 따르면 비동기 브리지에서 FIFO 뎁스와 무관하게 단일 페이로드 채널로 블록을 연결함으로써 블록 연결을 단순화하여 칩 사이즈를 줄이고 칩 설계에 소요되는 시간을 절감할 수 있는 장점이 있다. In particular, according to the present invention can advantageously reduce the chip size by simplifying the connection block, by connecting the block regardless of the FIFO depth in the single payload channels reduce the time required to design chips in an asynchronous bridge.

또한, 본 발명에 따르면 블록 간에 페이로드 데이터를 전송하는 버스의 성능에 맞게 FIFO 뎁스를 설정할 수 있어 시스템온칩의 전체 시스템 성능을 높일 수 있는 장점이 있다. Further, according to the present invention to match the performance of the bus for transmitting the payload data between the blocks can be set in the FIFO depth, it is advantageous to increase the overall system performance of system-on-chip.

또한, 본 발명에 따르면 송신기 도메인의 클럭을 수신기로 전송함으로써 페이로드 데이터의 타이밍 제한을 최소화하여 설계를 용이하게 할 수 있고, 송신기와 수신기 간에 단일 비트의 제어 신호를 사용함으로써 멀티비트 CDC 문제를 방지할 수 있는 장점이 있다. Further, according to the present invention it can be to minimize timing constraints of the payload data by sending a clock of the transmitter domain to the receiver to facilitate the design, preventing the multi-bit CDC problem by using a control signal of a single bit between the transmitter and the receiver It has the advantage that you can.

[도 1]은 종래기술에서 상이한 도메인의 블록연결에 사용되는 다중채널의 비동기 브리지 시스템을 나타내는 도면, [Fig. 1] is a view showing an asynchronous bridge system of multiple channels used to block connection of the different domains in the prior art,
[도 2]는 본 발명에 따른 상이한 도메인의 블록연결을 위한 단일채널 비동기 브리지 시스템을 나타내는 도면, [Figure 2] is a view showing a single-channel asynchronous bridge system for connecting blocks of different domains according to the invention,
[도 3]은 본 발명에 따른 송신기의 내부 구조를 나타내는 도면, [Figure 3] is a view showing an internal structure of a transmitter according to the invention,
[도 4]는 본 발명에 따른 수신기의 내부 구조를 나타내는 도면, [Figure 4] is a view showing an internal structure of a receiver according to the invention,
[도 5]는 AXI 프로토콜을 사용하는 블록 간의 데이터 연결을 본 발명을 적용하여 구성한 도면, [Figure 5] is a diagram constructed by applying the present invention the connection between the data block using the AXI protocol,
[도 6]은 AXI 프로토콜을 사용하는 블록 간의 클럭 및 리셋 연결을 본 발명을 적용하여 구성한 도면. [Figure 6] is a diagram constructed by applying the present invention the clock and a reset connection between the block to use the AXI protocol.

본 발명은 SoC에서 상이한 도메인에 속하는 블록들을 효율적으로 연결하기 위한 단일채널의 비동기 브리지 기술을 제공한다. The present invention provides an asynchronous bridge technology on a single channel for efficiently connecting the blocks belonging to a different domain in the SoC. 본 발명에 따른 비동기 브리지는 FIFO 뎁스와 무관하게 단일 채널(즉, 하나의 페이로드 채널)로 블록들을 연결함으로써 전체적으로 블록 간의 연결을 단순화한다. Asynchronous bridge according to the invention simplify the overall connection between the blocks by connection blocks, regardless of the FIFO depth, with a single channel (i.e., a payload channel). 이로 인해, RTL 디자인에서 블록 간의 연결과 검증 시간이 감소되고 STA 과정에서 블록 간의 타이밍 제한사항이 줄어들어 전체 칩 설계 시간이 단축되며, 레이아웃 설계에서 블록 간의 루팅이 단순화되기 때문에 전체 칩 사이즈가 줄어든다. Thus, reducing the connection between the block and the verification time in the RTL design is, the entire chip design time the timing constraints between the blocks is reduced in the process of STA, the overall chip size is reduced, since the routing between the blocks in the simplified layout design.

또한, 본 발명은 블록 간의 연결에 제한받지 않고 FIFO 뎁스를 버스 성능에 맞게 증가시킬 수 있어 종래기술에 비해 전체 시스템 성능을 높일 수 있다. In addition, the present invention can increase the FIFO depth according to the performance of the bus without being limited to the connection between the block can be improved overall system performance over the prior art. 일반적으로 비동기 브리지에서 내부 FIFO는 버스 데이터를 중간에 저장하며, FIFO 뎁스가 전체 시스템 성능에 영향을 준다. And generally inside the FIFO in an asynchronous bridge stores the data bus in the middle, and the FIFO depth affects the overall system performance. 종래에는 FIFO 뎁스와 동일하게 페이로드 채널 수를 가지게 되므로 FIFO 뎁스가 증가하면 페이로드 채널 수도 증가하게 되어 블록 간의 연결이 복잡해지고, 그에 따라 여러가지 문제점이 발생하였다. Conventionally, therefore it has a number of channels equal to the payload FIFO FIFO depth is when the depth is increased may be increased payload channel complex, the connection between the block, various problems occurred thereby. 이로 인해 종래기술에서는 FIFO 뎁스가 버스 성능에 충분하지 않게 된다. This because of the prior art is no FIFO depth is not sufficient for better performance. 본 발명의 비동기 브리지는 FIFO 뎁스와 상관없이 단일 페이로드 채널을 사용하여 블록 간을 연결하므로 버스 성능에 충분한 FIFO 뎁스를 확보할 수 있게 되어 전체 시스템 성능을 높일 수 있는 것이다. Asynchronous bridge of the present invention is able to ensure sufficient FIFO depth to bus performance, so the connection between the blocks using a single channel regardless of the payload FIFO depth is to increase overall system performance.

또한, 본 발명에서는 송신기 도메인의 클럭을 수신기로 전송함으로써 페이로드 데이터의 레이턴시에 의한 타이밍 제한 문제를 완화하였다. In the present invention, by transmitting a clock domain of the transmitter to the receiver it was alleviate timing constraints problems due to the latency of the payload data. 상이한 2개의 도메인이 하나의 블록 안에 있다면 송신기와 수신기는 하나의 블록 안에 놓이기 때문에 송신기와 수신기 간의 페이로드 데이터와 제어 신호들의 레이턴시는 무시할 수 있을 정도로 작다. If the two different domains in a block diagram of a transmitter and receiver due to being placed in one block of the latency of the transmitter and the receiver the payload data and control signals between is small enough to be negligible. 하지만, 상이한 2개의 도메인이 2개의 블록에 나누어 있는 경우라면 송신기와 수신기가 상이한 블록에 놓이게 되어 송신기와 수신기 간의 페이로드 데이터와 제어 신호들의 레이턴시는 큰 값이 된다. However, if the latency of two different if the domain is divided in two blocks a transmitter and a receiver is placed in a different block transmitter and the payload data and control signals between the receiver is a large value.

송신기에서 전송된 페이로드 데이터는 데스티네이션에서 사용되기 전에 수신기에 도착해야만 하는데, 수신기 도메인의 클럭 주파수에 관련된 타이밍 제한이 시스템 설계에서 고려되어야 한다. A payload data transmitted from the transmitter to the receiver should arrive before being used in the destination, and the timing restrictions associated with the clock frequency of the receiver domain must be considered in system design. 즉, 송신기에서 수신기로 전송되는 페이로드 데이터의 레이턴시는 수신기 도메인의 클럭 주파수에 의해서 제한된다. That is, the latency of the payload data to be transmitted from a transmitter to a receiver is limited by the clock frequency of the receiver domain. 이 타이밍 제한은 수신기 도메인의 클럭 주파수가 빠를수록, 그리고 블록 간의 물리적 거리가 멀수록 만족시키기가 어려워진다. The timing constraints are, the faster the clock frequency of the receiver domain, and are more a physical distance between the blocks far more difficult to satisfy.

본 발명에서는 송신기 도메인의 클럭을 수신기로 전송하여 페이로드 데이터를 송신기 도메인의 클럭에 동기화시킨다. In the present invention, by transmitting a clock domain of the transmitter to the receiver synchronizes the payload data to the transmitter clock domain. 클럭과 페이로드 데이터는 레이턴시를 같게 유지하여 셋업 타임(setup time)을 만족시키고, 수신기는 송신기 도메인의 클럭에 대해 반전 클럭(inversion clock)을 사용함으로써 홀드 타임(hold time)을 만족시킨다. Clock and the payload data is kept equal to the latency satisfy the setup time (setup time) and the receiver satisfies the hold time (hold time) by using the inverted clock (inversion clock) for the clock of the transmitter domain. 이와 같은 구성을 통하여 송신기에서 수신기로 전송되는 페이로드 데이터의 레이턴시가 수신기 도메인의 클럭 주파수에 의한 타이밍 제한 문제로부터 자유로워진다는 장점이 있다. Thus through such a configuration the latency of the payload data that is transmitted from the transmitter to the receiver is set free from the timing-out problems due to the clock frequency of the receiver domain has the advantage.

또한, 본 발명에서는 송신기와 수신기가 단일 비트의 밸리드 신호와 스트로브 신호를 주고 받도록 구성함으로써 멀티비트 CDC 문제가 발생하지 않도록 설계하였다. In the present invention, has been designed so as not to multi-bit CDC problem by configuring the transmitter and receiver to send and receive the valid signal and strobe signal of a single bit. 종래기술에서는 송신기와 수신기가 그레이코드 포인터를 주고 받음으로써 FIFO의 FULL과 EMPTY 상태를 결정하였다. In the prior art by the transmitter and the receiver by giving and receiving the Gray code pointer it was determined in the FIFO FULL and EMPTY state. 상이한 2개의 도메인이 하나의 블록 안에 있다면 그레이코드 포인터의 레이턴시가 무시할 수 있을 정도로 작기 때문에 멀티비트 CDC가 문제되지 않는다. The two different domains does not matter, because the multi-bit CDC is small enough to be ignored if the latency of a gray code pointers in one block. 하지만, 상이한 2개의 도메인이 2개의 블록에 나누어 있는 경우라면 블록 간의 거리로 인해 그레이코드 포인터의 레이턴시는 큰 값이 되고 그로 인해 멀티비트 CDC 문제가 발생할 수 있다. However, if there are two different domains divided in two blocks, if the latency of a Gray code pointers due to the distance between the blocks are due to be a large value thereof may experience the multi-bit CDC issues. 본 발명에서는 종래기술처럼 멀티비트의 그레이코드 포인터를 전달하는 대신, 송신기와 수신기가 단일 비트의 밸리드 신호와 스트로브 신호를 주고 받도록 함으로써 멀티비트 CDC 문제가 발생하지 않도록 고려하였다. In the present invention, it considered a place of, the transmitter and receiver for transmitting the gray code of the multi-bit pointer, as the prior art so as not to multi-bit CDC problem by send and receive a valid signal and strobe signal of a single bit.

이하에서는 도면을 참조하여 본 발명의 실시예를 상세하게 살펴본다. Hereinafter, with reference to the drawings examine in detail the embodiment of the present invention.

[도 2]는 본 발명에서 상이한 도메인의 블록 연결을 위한 단일채널 비동기 브리지 시스템을 나타내는 도면이다. [Figure 2] is a view showing a single-channel asynchronous bridge system for connecting blocks in different domains in the present invention. 본 발명에 따른 비동기 브리지는 송신기(210)와 수신기(220)로 구성되어 있는데, FIFO 모듈은 수신기(220)에 위치하고 있는 점이 종래기술과는 상이하다. Asynchronous bridge according to the invention consists in the transmitter 210 and receiver 220, FIFO module is being different from the prior art point is located in the receiver 220.

먼저, 송신기(210)는 밸리드-레디 핸드셰이킹 프로토콜을 사용하여 소오스로부터 페이로드 데이터(payload_src)를 받아 레지스터 슬라이스(Register Slice; 212)에 저장한다. First, transmitter 210 Valley de-ready handshaking register slice using the protocol receives the payload data (payload_src) from a source; and stores the (Register Slice 212). 레지스터 슬라이스(212)는 페이로드 데이터를 임시 저장하여 타이밍을 분리하는데, 본 발명에서는 그 저장된 페이로드 데이터를 단일 페이로드 채널을 통해 수신기(220)로 전송한다(tx_payload). Register slice 212 and transmits the stored data in the payload to separate the timing to store temporarily the payload data, the present invention to a receiver 220 through a single payload channel (tx_payload). 참고로, 레지스터 슬라이스 기술은 AXI(Advanced eXtensible Interface) 프로토콜에서 AXI 인터커넥트를 등록하고 타이밍을 분리할 목적으로 사용된다. For reference, the register slice technique is used for the purpose of registering the AXI interconnect and disconnect the timing at AXI (Advanced eXtensible Interface) protocol.

한편, [도 1]에 도시된 종래기술에서는 FIFO 뎁스에 따라 페이로드 채널의 개수도 복수 개로 설정되었으나, 본원발명에서는 FIFO 뎁스와 무관하게 페이로드 채널이 단일 채널이다. On the other hand, in the prior art shown in Fig. 1, but the number of payload channels in accordance with the FIFO depth is also set multiple pieces, the present invention is independent of the payload FIFO depth channel is a single channel. 따라서, 본원발명에서는 버스 성능을 고려하여 필요한만큼 FIFO 뎁스를 증가시키더라도 블록 연결이 복잡해지지 않는다. Therefore, in the present invention even when the FIFO depth increase as needed in consideration of the bus performance does not block the connection complicated.

수신기(220)는 송신기(210)로부터 페이로드 데이터를 제공받아 FIFO(222)에 저장하고 밸리드-레디 핸드셰이킹 프로토콜을 사용하여 데스티네이션에 페이로드 데이터를 전송한다(payload_dst). Receiver 220 receives the service payload data from the transmitter 210 is stored in a FIFO (222) and valley de-transmits payload data to the destination by using the Ready handshaking protocol (payload_dst).

송신기(210)는 수신기(220) 내부의 FIFO(222)를 체크하고 FULL이 아닐 경우에는 레지스터 슬라이스(212)에 저장된 페이로드 데이터를 수신기(220)의 FIFO(222)로 전송한다. Transmitter 210 if it is not checked and the FULL FIFO (222) inside the receiver 220, and transmits the stored payload data in the register slice 212 to FIFO (222) of the receiver 220. 이때, 송신기(210)는 밸리드 신호(tx_valid)를 통해 페이로드 데이터가 유효함을 표시한다. At this time, the transmitter 210 indicates that the payload data is valid over a valid signal (tx_valid).

수신기(220)는 FIFO(222)가 EMPTY가 아닐 경우 데스티네이션으로 페이로드 데이터를 전송하고, 스트로브 신호(rx_strobe)를 송신기(210)에 보내 페이로드 데이터의 전송이 완료되었음을 알려준다. A receiver (220) indicates that the FIFO (222) transfers the payload data to the destination when not EMPTY, and the strobe signal (rx_strobe) the transmitter 210 to send payload data transfer is complete, the load on.

송신기(210)의 제 1 그레이코드 카운터(Gray Code Counter; 213)는 스트로브 신호(rx_strobe)를 통해 읽기 포인터(ReadPtr)를 생성하고, 수신기(220)의 제 3 그레이코드 카운터(223)는 밸리드 신호(tx_valid)를 통해 쓰기 포인터(WritePtr)를 생성한다. A first Gray code counter of the transmitter (210) (Gray Code Counter; 213) is a third gray code counter 223 of the strobe signal generates a read pointer (ReadPtr) through (rx_strobe), and receiver 220 is valley de It generates the write pointer (WritePtr) via the signal (tx_valid). 이렇게 생성된 읽기 포인터와 쓰기 포인터(ReadPtr, WritePtr)를 사용하여 송신기(210)와 수신기(220)는 수신기(220) 내부의 FIFO(222)에 대해 FULL 또는 EMPTY를 판단한다. The generated read pointer and a write pointer (ReadPtr, WritePtr) to transmitter 210 and receiver 220 using judges FULL or EMPTY for the FIFO (222) inside the receiver 220.

수신기(220)의 FIFO(222)와 제 3 그레이코드 카운터(223)는 송신기(210)에서 전송된 클럭(tx_clk)에 동기화된다. FIFO (222) and the third gray code counter 223 of the receiver 220 is synchronized to a clock (tx_clk) sent by the transmitter 210. 송신기(210)에서 수신기(220)로 전송되는 클럭(tx_clk), 페이로드 데이터(tx_payload), 밸리드 신호(tx_valid)는 물리적으로 신호라인의 길이가 유사하므로 레이턴시도 사실상 동일한 수준으로 유지되며, 그에 따라 전송 경로에서 발생되는 페이로드 데이터의 레이턴시에도 불구하고 셋업 타임이 만족된다. Clock transmitted from the transmitter 210 to a receiver (220) (tx_clk), payload data (tx_payload), valid signal (tx_valid) Since physical length of the signal line similar latency also remains virtually the same level, whereby despite the latency of the payload data to be generated in a transmission path according to the set-up time it is met. 수신기(220)의 FIFO(222)와 제 3 그레이코드 카운터(223)는 송신기(210)에서 전송된 클럭을 반전시킨 클럭(즉, 반전 클럭)에 동기화하여 홀드 타임을 만족시킨다. FIFO (222) and the third gray code counter 223 of the receiver 220 to synchronize the clock which the clock inverted (that is, the inverted clock) sent by the transmitter (210) satisfies the hold time.

한편, 본 명세서에 제시된 실시예에서는 카운팅 수단으로서 그레이코드 카운터를 사용한다. On the other hand, in the embodiment shown herein uses a Gray code counter as counting means. 그레이코드 카운터는 카운터의 한 종류로서 카운팅 업 다운에서 하나의 비트만 변하는 경우가 없도록 코드를 할당한 것으로 디코드시의 스태틱 하자드(즉, 일시적인 스파이크장의 잡음)를 방지한 것이다. Gray code counter is to prevent a static hazard (i.e., transient spike chapter noise) at the time of decoding so that the when changing only one bit in the up-down counting of the counter is assigned a type code. 시스템의 안정성을 고려하여 그레이코드 카운터를 적용하는 것이 바람직하지만 본 발명의 권리범위가 여기에 한정되는 것은 아니다. Preferably in consideration of the stability of the system for applying the Gray code counters but are not the scope of the invention as defined herein.

[도 3]은 본 발명에 따른 단일채널 비동기 브리지 시스템에 사용하기 위한 송신기(210)의 내부 구조를 나타내는 도면이다. [Figure 3] is a view showing an internal structure of a transmitter 210 for use in a single-channel asynchronous bridge system in accordance with the present invention. [도 3]을 참조하면 본 발명에 따른 송신기(210)는 레지스터 슬라이스(212), FIFO 풀 제너레이터(FIFO Full Generator; 216), 제 1 및 제 2 그레이코드 카운터(213, 217), 스트로브 싱크로나이저(214)를 포함하여 구성된다. [Figure 3] is a transmitter 210 according to the present invention with reference to the register slices (212), FIFO pool generator (FIFO Full Generator; 216), the first and second Gray code counters (213, 217), a strobe synchronizer It is configured, including 214.

먼저, 레지스터 슬라이스(212)는 소오스로부터 제공받은 페이로드 데이터(payload_src)와 밸리드 신호(valid_src)를 임시 저장하여 타이밍을 분리하는 역할을 수행한다. First, the register slice 212 is responsible for temporary storage by separating the timing of the payload data (payload_src) and a valid signal (valid_src) provided from the source.

FIFO 풀 제너레이터(216)는 푸시 신호(Push signal)와 팝 신호(Pop signal)를 사용하여 수신기(220)의 FIFO(222)가 FULL 인지 여부를 판단한다. FIFO pool generator 216 determines whether or not the FIFO (222) of the receiver (220) using the push FULL signal (signal Push) and pop signals (Pop signal). 수신기(220)로 전송되는 밸리드 신호(tx_valid)가 HIGH로 유효할 경우에 푸시 신호는 HIGH가 되며 내부 카운터(216a)는 증가한다. It is when a valid signal (tx_valid) that are sent to the receiver 220 to effectively push the HIGH signal is HIGH, and the internal counter (216a) is increased. 수신기(220)로부터 제공된 스트로브 신호(rx_strobe)는 제 1 그레이코드 카운터(213)의 값을 증가시킨다. As provided by the receiver 220, the strobe signal (rx_strobe) increases the value of the first Gray code counter (213). 비교기(218)는 제 1 및 제 2 그레이코드 카운터(213, 217)의 값을 비교하며, 상이한 경우에 팝 신호를 HIGH로 설정한다. The comparator 218 compares the value of the first and second Gray code counters (213, 217), and sets the pop signal to the different cases to HIGH. 팝 신호가 HIGH로 설정됨에 따라 FIFO 풀 제너레이터(216)의 내부 카운터(216a)는 감소한다. As the pop signal is set to HIGH and the internal counter (216a) of the FIFO pool generator 216 is reduced.

FIFO 풀 제너레이터(216)는 수신기(220)의 FIFO(222)가 FULL이라고 판단되면 Full 신호출력을 HIGH로 설정하며, 그 반전된 LOW 신호가 레지스터 슬라이스(212)의 ReadyDst 포트로 입력되어 페이로드 데이터의 전송이 중단된다. FIFO pool generator 216 when it is determined that the FIFO (222) of the receiver (220) FULL sets the Full signal output to HIGH, its inverted LOW signal is input to ReadyDst port of the register slice 212, the payload data the transfer is interrupted. 또한, 그 반전된 LOW 신호가 논리곱 게이트(215)에 입력되어 수신기(220)로 전송되는 밸리드 신호(tx_valid)는 LOW로 설정되며, 그에 따라 페이로드 데이터의 전송이 중단되었다는 사실을 수신기(220)에도 알려준다. In addition, the inverted LOW signal is inputted to the logical product gates 215, valid signal (tx_valid) transmitted to the receiver 220 is set to LOW, the fact that the transmission of payload data interruption accordingly receiver ( 220) indicates to.

개념적으로 살펴보면, FIFO 풀 제너레이터(216)는 수신기(220)로 전송되는 밸리드 신호(tx_valid)와 수신기(220)로부터 수신되는 스트로브 신호(rx_strobe)의 카운팅 넘버를 비교함으로써 수신기(220)의 FIFO(222)가 FULL인지 여부를 판단한다. Referring Conceptually, the FIFO pool generator 216, a receiver 220, by comparing the counting number of the strobe signal (rx_strobe) received from a valid signal (tx_valid) and a receiver 220 that is transmitted to the receiver 220, FIFO ( 222) that determines whether or FULL. 전송기(210)가 수신기(220)로 페이로드 데이터를 전송하는 동안 내부 카운터(216a)는 카운트 업하고, 수신기(220)가 데스티네이션으로 페이로드 데이터를 전달하여 FIFO(222)의 읽기 포인터가 변경된 정도에 대응하도록 내부 카운터(216a)는 카운트 다운한다. The transmitter 210 has an internal counter (216a) is counted up, and the receiver 220 is to pass the payload data to the destination read FIFO (222) pointers for transmitting the payload data to the receiver 220 is changed the internal counter (216a) counts down to correspond to a degree. 이를 통해, 내부 카운터(216a)는 FIFO(222)에 어느 정도 데이터가 남아있는지를 모니터링할 수 있게 되어 FIFO(222)가 FULL 상태인지 여부도 판단할 수 있는 것이다. Through this, the internal counter (216a) will have to be able to monitor the extent that the data in the FIFO (222) is left FIFO (222) can also determine whether the FULL status.

한편, 제 1 및 제 2 그레이코드 카운터(213, 217)는 수신기(220)에 존재하는 FIFO(222)의 읽기 포인터를 추종하는 역할을 담당한다. On the other hand, the first and second Gray code counters (213, 217) is responsible for tracking the read pointer of the FIFO (222) present in the receiver 220. 수신기(220)로부터 전달되는 스트로브 신호(rx_strobe)에 대응하여 제 1 그레이코드 카운터(213)는 수신기(220)의 읽기 포인터를 추종하는 신호(ReadPtr)를 생성한다. A first Gray code counter 213 in response to the strobe signal (rx_strobe) delivered from the receiver 220 generates a signal (ReadPtr) that follows the read pointer to the receiver 220. 제 2 그레이코드 카운터(217)의 값이 제 1 그레이코드 카운터(213)와 상이한 동안에는 비교기(218)의 결과가 HIGH이므로 제 2 그레이코드 카운터(217)는 동작 클럭에 의해 카운트 업 하는데, 이러한 카운트 업은 제 1 및 제 2 그레이코드 카운터(213, 217)의 값이 동일해질 때까지 계속된다. Second, so Gray result of the value of the code counter 217, a first Gray code counter 213 and the comparator 218, while having different HIGH second Gray code counter 217 to count up by an operation clock, this count -up is continued until the same value of the first and second gray code counters (213, 217).

따라서, 제 1 그레이코드 카운터(213)는 FIFO(222)의 읽기 포인터를 추종하는 신호(ReadPtr)를 생성하며, 제 2 그레이코드 카운터(217)는 FIFO(222)로부터 페이로드 데이터가 데스티네이션으로 제공됨에 따라 읽기 포인터가 변경되었다면 얼마나 변경되었는지를 알아보기 위해 과거 값을 저장하고 있다. Thus, the first Gray code counter 213 generates a signal (ReadPtr) that follows the read pointer of the FIFO (222), a second Gray code counter 217 is a payload from the FIFO (222) the data to the destination if the change is provided in accordance with the read pointer and storing the past values ​​to see how that changes. 수신기(220)의 FIFO(222)에서 읽기 포인터가 많이 변경될수록 비교기(218)가 HIGH를 출력하는 시간이 길어지게 된다. The greater the change much read pointer in the FIFO (222) of the receiver 220, the comparator 218 becomes a long time to output a HIGH.

제 1 그레이코드 카운터(213)와 제 2 그레이코드 카운터(217)의 클럭 도메인이 상이하기 때문에 제 1 그레이코드 카운터(213)의 출력인 읽기 포인터(ReadPtr)는 스트로브 싱크로나이저(214)를 거친다. A first Gray code counter 213 and the second gray code, because a clock domain of the counter 217 is different from the output of the read pointer (ReadPtr) of the first Gray code counter 213 is subjected to a strobe synchronizer 214. The 스트로브 신호(rx_strobe)는 수신기(220) 측의 클럭 도메인에 따라 생성되므로 제 1 그레이코드 카운터(213)에서 읽기 포인터(ReadPtr)도 일차적으로는 수신기(220) 측의 클럭 도메인에 종속된다. The strobe signal (rx_strobe) is subject to the clock domain of the first Gray code is also primarily a receiver 220, a read pointer (ReadPtr) from the counter 213 side are generated according to the clock domain of the receiver side (220). 스트로브 싱크로나이저(214)는 송신기(210) 측의 클럭 도메인에 따라 플립플롭이 동작하므로 읽기 포인터(ReadPtr)가 스트로브 싱크로나이저(214)를 통과하면 송신기(210) 측의 클럭 도메인으로 재설정된다. Strobe synchronizer 214 when passing through the flip-flop operation, so the read pointer (ReadPtr) a strobe synchronizer 214 in accordance with the clock domain of the transmitter 210 side is reset to the clock domain of the transmitter 210 side. 이처럼 스트로브 싱크로나이저(214)는 스트로브 신호의 클럭 도메인을 송신기(210)의 동작 클럭에 맞도록 재설정하는 역할을 수행한다. Such strobe synchronizer 214 serves to reset to match the clock domain of the strobe signal to the operation clock of the transmitter 210.

또한, 전술한 바와 같이 페이로드 데이터의 레이턴시에 의한 타이밍 제한 문제를 완화하기 위해 송신기 도메인의 클럭, 즉 송신기(210)의 동작 클럭이 수신기(220) 측으로 제공된다(tx_clk). Further, the operation clock of the clock, that is, the transmitter 210 of the transmitter domain to mitigate the timing-out problems due to the latency of the payload data as described above is provided to the receiver (220) (tx_clk).

[도 4]는 본 발명에 따른 단일채널 비동기 브리지 시스템에 사용하기 위한 수신기(220)의 내부 구조를 나타내는 도면이다. [Figure 4] is a view showing an internal structure of a receiver 220 for use in a single-channel asynchronous bridge system in accordance with the present invention. [도 4]를 참조하면 본 발명에 따른 수신기(220)는 FIFO(222), 제 3 및 제 4 그레이코드 카운터(223, 225), 밸리드 싱크로나이저(224), 클럭 게이트(226)를 포함하여 구성된다. Referring to Fig 4 the receiver 220 according to the present invention includes a FIFO (222), the third and the fourth gray code counter 223 and 225, Valley de synchronizer 224, the clock gate 226 It is configured to.

먼저, FIFO(222)는 프로그래머블 프로세서에 의해 FIFO 어레이의 길이, 즉 FIFO 뎁스를 구성하는 것이 가능한 뎁스구성형 FIFO(Configurable-depth FIFO)로 이루어지는 것이 가능하다. First, FIFO (222) is capable to be made available depth-configuration FIFO (Configurable-depth FIFO) that make up the length, that is, the depth of the FIFO FIFO array by a programmable processor. FIFO(222)는 송신기(210)로부터 전달받은 페이로드 데이터(tx_payload)를 일차로 저장한다. The FIFO (222) storing the payload data (tx_payload) transmitted from the transmitter 210 to the primary.

제 3 및 제 4 그레이코드 카운터(223, 225)는 FIFO(222)의 쓰기 어드레스(Write Address)와 읽기 어드레스(Read Address)를 생성하고 FIFO(222)가 EMPTY인지를 판단한다. The third and fourth gray code counter 223 and 225 generates a write address (Write Address) and the read address (Read Address) of the FIFO (222) and determines whether the FIFO (222) EMPTY. 제 3 그레이코드 카운터(223)는 송신기(210)에서 전송된 밸리드 신호(tx_valid)가 HIGH일 때 송신기(210)에서 전송된 전송 클럭(tx_clk)에 의해 카운트 업된다. The third gray code counter 223 is counted up by a transfer clock (tx_clk) sent by the transmitter 210 when a valid signal (tx_valid) sent by the transmitter 210 HIGH. 밸리드 신호(tx_valid)가 HIGH일 때 전송 클럭(tx_clk)에 따라 페이로드 데이터가 FIFO(222)로 입력되므로 제 3 그레이코드 카운터(223)는 FIFO(222)의 쓰기 포인터(WritePtr)를 생성하는 것이다. Valid signal (tx_valid) is because when the HIGH in accordance with the transfer clock (tx_clk) payload data is input to the FIFO (222), a third gray code counter 223 for generating the write pointer (WritePtr) of the FIFO (222) will be. 제 4 그레이코드 카운터(225)는 데스티네이션으로의 밸리드 신호(valid_dst)와 레디 신호(ready_dst)가 HIGH이면 카운트 업된다. The fourth gray code counter 225 is up if the valid signal (valid_dst) and a ready signal (ready_dst) of the destination is HIGH count. 이러한 조건에서는 FIFO(222)로부터 데스티네이션으로 페이로드 데이터가 제공되는 상태이므로 제 4 그레이코드 카운터(225)는 FIFO(222)의 읽기 포인터(ReadPtr)를 생성하는 것이다. Under these conditions, because it is a condition that the payload data to the destination provided by the FIFO (222) of claim 4, the gray code counter 225 is to generate the read pointer (ReadPtr) of the FIFO (222).

이때, 비교기(229)는 제 3 및 제 4 그레이코드 카운터(223, 225)의 두 값, 즉 FIFO(222)의 읽기 포인터(ReadPtr)와 쓰기 포인터(WritePtr)를 비교한다. At this time, the comparator 229 compares the third and fourth gray code counter two values, that is, the read pointer (ReadPtr) and write pointer (WritePtr) of the FIFO (222) of (223, 225). 만일 읽기 포인터(ReadPtr)와 쓰기 포인터(WritePtr)가 동일하다면 이는 FIFO(222)가 EMPTY 상태라는 것을 의미한다. If the write pointer equal to ten thousand days (WritePtr) and the read pointer (ReadPtr) This means that the FIFO (222) of EMPTY state. 따라서, 이들 포인터(ReadPtr, WritePtr)가 상이한 경우, 즉 FIFO(222)가 EMPTY 상태가 아니고 페이로드 데이터가 들어있는 경우에는 데스티네이션으로의 밸리드 신호(valid_dst)를 HIGH로 설정하여 페이로드 데이터가 유효함 데스티네이션으로 알린다. Accordingly, these or the pointer (ReadPtr, WritePtr) are different, that is the FIFO (222) instead of the EMPTY status payload data if it contains, the payload by setting a valid signal (valid_dst) of the destination to the HIGH data valid Destiny announces a Nation.

데스티네이션으로 전송되는 밸리드 신호(valid_dst)가 HIGH로 유효하고 데스티네이션으로부터 받은 레디 신호(ready_dst)가 HIGH로 되는 경우, 페이로드 데이터가 FIFO(222)로부터 데스티네이션으로 전송됨을 의미한다. If the ready signal (ready_dst) valid signal (valid_dst) that is sent to the destination is received from the destination it is valid and a HIGH becomes the HIGH, meaning that the payload data is sent to the destination from the FIFO (222). 이러한 경우에 클럭 게이트(226)는 스트로브 신호(rx_strobe)를 송신기(210)로 전송하여 페이로드 데이터가 데스티네이션으로 전송됨을 알린다. In this case the clock gate 226 informs that the payload data to transmit the strobe signal (rx_strobe) to the transmitter 210 is sent to the destination.

제 3 그레이코드 카운터(223)와 제 4 그레이코드 카운터(225)의 클럭 도메인이 상이하기 때문에 제 3 그레이코드 카운터(223)의 출력인 쓰기 포인터(WritePtr)는 밸리드 싱크로나이저(224)를 거치면서 클럭 도메인이 재설정된다. The third through the gray code counter 223 and the fourth gray code counter 225. The third output of write pointer (WritePtr) is Valley de synchronizer 224 of the gray code counter 223. Since the clock domain is different from the the clock is reset while the domain. 밸리드 신호(tx_valid)는 송신기(210) 측의 클럭 도메인에 따라 생성되므로 제 3 그레이코드 카운터(223)에서 쓰기 포인터(WritePtr)도 일차적으로는 송신기(210) 측의 클럭 도메인에 종속된다. Valid signal (tx_valid) is subject to the clock domain of the third gray code counter 223. Write pointer (WritePtr) primarily a transmitter 210 in FIG side are generated according to the clock domain of the transmitter 210 side. 밸리드 싱크로나이저(224)는 수신기(220) 측의 클럭 도메인에 따라 플립플롭이 동작하므로 쓰기 포인터(WritePtr)가 밸리드 싱크로나이저(224)를 통과하면 수신기(220) 측의 클럭 도메인으로 재설정된다. Valley de synchronizer 224 is a flip-flop when the operation is required to write pointer (WritePtr) passes through the valley de synchronizer 224 is reset to a clock domain on the side of the receiver 220 according to a clock domain on the side of the receiver 220 . 이처럼 밸리드 싱크로나이저(224)는 밸리드 신호의 클럭 도메인을 수신기(220)의 동작 클럭에 맞도록 재설정하는 역할을 수행한다. Thus the valley de synchronizer 224 serves to reset the clock to match the domain of the valid signal in the operation clock of the receiver 220.

[도 5]는 AXI 프로토콜을 사용하는 블록 간의 데이터 연결을 본 발명을 적용하여 구성한 도면이고, [도 6]은 AXI 프로토콜을 사용하는 블록 간의 클럭 및 리셋 연결을 본 발명을 적용하여 구성한 도면이다. And [5] is a diagram constructed by applying the present invention, the data connection between the block to use the AXI protocol, [6] is a diagram constructed by applying the present invention, a clock and a reset connection between the block to use the AXI protocol. AMBA(Advanced Microcontroller Bus Architecture) 규격은 SoC 내부에서 IP들을 연결하는 버스에 관한 기술적 사양을 정의하는데, 고속 동작이 가능하도록 버스 구조를 설계한 AMBA 3.0 규격을 일반적으로 AXI 프로토콜이라고 부른다. (Advanced Microcontroller Bus Architecture) AMBA specification to define the technical specification of the bus that connects the IP within the SoC, called generally the AXI protocol AMBA 3.0 standard bus architecture designed for high-speed operation is possible.

[도 5]와 [도 6]에서 블록 A와 블록 B는 상이한 도메인에 속하는 블록으로서 클럭, 파워, 전압 중 하나 이상이 상이하다. [5] and [6] in the block A and the block B is a block belonging to a different domain different from the clock, at least one of power, voltage. 이때, 송신기(210)와 수신기(220)는 블록 A와 블록 B을 연결하는 역할을 담당하고 AXI 프로토콜과 동일한 페이로드 채널을 갖는다. At this time, the transmitter 210 and the receiver 220 is responsible for connecting the blocks A and block B, and have the same payload channel and the AXI protocol.

[도 5]를 참조하면, 읽기 어드레스 채널(AR), 쓰기 어드레스 채널(AW), 쓰기 데이터 채널(W)의 페이로드 데이터와 읽기데이터 채널(R), 쓰기 응답 채널(B)의 페이로드 데이터는 서로 반대의 방향성을 가지고 있는데, 페이로드 데이터의 방향성에 대응하도록 송신기(210)와 수신기(220)가 배치된다. Referring to [5], the read address channel (AR), the payload data in the write address channel (AW), the write data channel (W) payload read the data of data channel (R), write response channel (B) of is the transmitter 210 and receiver 220 are arranged to each other there with the opposite direction, so as to correspond to the orientation of the payload data.

[도 6]을 참조하면, 블록 A의 ACLK, ARESET은 블록 B로 전송되고 블록 B의 BCLK, BRESET은 블록 A로 전송된다. Reference [6] a, ACLK, ARESET of block A is transferred to the block B is transmitted to the BCLK, BRESET the block B A of the block. 클럭은 수신기(220)로 전송되어 FIFO(222)와 제 3 그레이코드 카운터(223)에 동기화되며, 리셋은 송신기(210)와 수신기(220)로 전송되어 동기화된 로직의 리셋으로 사용된다. The clock is transmitted to the receiver 220 is synchronized to the FIFO (222) and the third gray code counter 223, the reset is sent to the transmitter 210 and the receiver 220 is used as a reset of the synchronization logic.

이상과 같이, 본 명세서와 도면에는 본 발명의 실시예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. As described above, were, the present specification and drawings disclosed with respect to embodiments of the invention, although specific terms have been used which geotyiji the complex and easier to explain the technical details of the present invention used in a general sense for a better understanding of the invention, the It is not intended to limit the scope of the invention. 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형예가 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명하다. In addition to the embodiments disclosed herein is that other variations are possible based on the technical concept of the present invention, it is apparent to those having ordinary skill in the art.

210: 송신기 210: Transmitter
221: FIFO 송신 제어기 221: FIFO transmit controller
212: 레지스터 슬라이스 212: register slice
213, 217, 223, 225: 그레이코드 카운터 213, 217, 223, 225: the gray code counter
214: 스트로브 싱크로나이저 214: Strobe synchronizer
215, 227, 228: 논리곱 게이트 215, 227, 228: a logical product gate
216: FIFO 풀 제너레이터 216: FIFO full generator
216a: 내부 카운터 216a: internal counter
218, 229: 비교기 218229: Comparators
220: 수신기 220: The receiver
221: FIFO 수신 제어기 221: FIFO reception controller
222: FIFO 222: FIFO
224: 밸리드 싱크로나이저 224: Valley de synchronizer
226: 클럭 게이트 226: clock gate

Claims (7)

  1. 시스템온칩에서 상이한 도메인에 속하는 복수의 블록을 연결하도록 송신기와 수신기를 구비하는 단일채널의 비동기 브리지 시스템으로서, Having a transmitter and a receiver in a system-on-chip connection to a plurality of blocks belonging to a different domain as the asynchronous bridge system for a single channel,
    상기 송신기(210)는, The transmitter 210,
    소오스로부터 제공된 페이로드 데이터와 소오스 밸리드 신호를 임시 저장하여 타이밍을 분리하고 상기 페이로드 데이터를 단일의 페이로드 채널을 통해 상기 수신기로 전송하는 레지스터 슬라이스(212); Remove the timing to save temporary a data payload and the source valid signal provided by the source register and a slice 212, for transmitting the payload data to the receiver through a single channel of the payload;
    상기 수신기로부터 스트로브 신호를 제공받아 상기 수신기에 내장된 FIFO의 읽기 포인터를 추종하는 제 1 포인터를 생성하는 제 1 카운터(213); Receiving a strobe signal provided from the receiver a first counter (213) for generating a first pointer that follows the read pointer of the FIFO internal to the receiver;
    상기 제 1 포인터를 제공받아 상기 송신기의 클럭 도메인으로 재설정하는 스트로브 싱크로나이저(214); Strobe synchronizer (214) for resetting the clock domain of the transmitter accepts the offer of the first pointer;
    상기 소오스 밸리드 신호에 대응하도록 전송 밸리드 신호를 생성하여 상기 수신기로 제공하고, 상기 전송 밸리드 신호에 의한 카운팅 값과 상기 제 1 포인터에 의한 카운팅 값을 비교하여 상기 수신기에 내장된 FIFO의 FULL 여부를 판단하고, 상기 FULL 여부의 판단 결과에 따라 상기 레지스터 슬라이스가 상기 페이로드 데이터를 상기 수신기로 전송할지 여부를 제어하는 FIFO 송신 제어기(211);를 포함하여 구성되고, Of the FIFO it built to generate a transmission valid signal to correspond to the source valid signal provided by the receiver, and comparing a counted value by the count value and the first point due to the transfer valid signal to the receiver FULL determining whether and, according to the determination result of whether the FULL transmission FIFO controller 211 to control whether a slice of the register transmitting the payload data to the receiver comprising: a,
    상기 수신기(220)는, The receiver 220,
    상기 단일의 페이로드 채널을 통해 상기 송신기로부터 페이로드 데이터를 제공받아 저장하는 FIFO(222); FIFO (222) for receiving and storing service the payload data from the transmitter over a payload channel of the single;
    상기 전송 밸리드 신호에 대응하도록 쓰기 포인터를 생성하여 상기 FIFO의 쓰기 어드레스로 제공하는 제 3 카운터(223); A third counter (223) for generating the write pointer so as to correspond to the transmission valid signal provided to the write address of the FIFO;
    상기 쓰기 포인터를 제공받아 상기 수신기의 클럭 도메인으로 재설정하는 밸리드 싱크로나이저(224); Valley de synchronizer 224 for receiving providing the write pointer reset to the clock domain of the receiver;
    데스티네이션 밸리드 신호 및 데스티네이션 레디 신호에 대응하도록 읽기 포인터를 생성하여 상기 FIFO의 읽기 어드레스로 제공하고, 상기 전송 밸리드 신호에 의한 카운팅 값과 상기 데스티네이션 밸리드 신호 및 데스티네이션 레디 신호에 의한 카운팅 값을 비교하여 상기 FIFO의 EMPTY 여부를 판단하고, 상기 EMPTY 여부의 판단 결과 및 상기 데스티네이션 레디 신호에 대응하도록 상기 스트로브 신호를 생성하여 상기 송신기로 전송하는 FIFO 수신 제어기(221);를 포함하여 구성되는 것을 특징으로 하는 상이한 도메인의 블록연결을 위한 단일채널 비동기 브리지 시스템. Generating a read pointer so as to correspond to the destination valid signal and the destination ready signal to provide a read address of the FIFO, and by the count value and the destination valid signal and a destination-ready signal by the transmission valid signal comparing the count value and determines EMPTY whether the FIFO, to correspond to the determination result and the destination ready signal of the EMPTY whether FIFO reception controller 221 for transmission to the transmitter to generate the strobe signal, including single-channel asynchronous bridge system for connecting blocks of different domains being configured.
  2. 청구항 1에 있어서, The method according to claim 1,
    상기 FIFO 송신 제어기(211)는, Said FIFO transmit controller 211,
    상기 소오스 밸리드 신호와 상기 FULL 여부의 판단 결과를 논리 곱 연산하여 상기 전송 밸리드 신호를 생성하는 제 1 논리곱 게이트(215); It calculates a determination result of the valid signal source and the logical AND FULL whether the first logical product gate 215 for generating the transmit valid signal;
    상기 제 1 카운터가 생성하는 제 1 포인터를 추종하는 제 2 포인터를 생성하는 제 2 카운터(217); A second counter (217) for generating a second pointer that follows the first pointer to the first counter is generated;
    상기 제 1 포인터와 상기 제 2 포인터의 값이 상이한 동안 유효 상태를 유지하는 팝 신호를 생성하는 제 1 비교기(218); A first comparator (218) for generating a pop signal to the value of said first pointer and said second pointer while keeping the different effective state;
    상기 소오스 밸리드 신호에 의해 카운트 업하고 상기 팝 신호에 의해 카운트 다운하는 내장 카운터를 구비하여 상기 내장 카운터의 값에 기초하여 상기 수신기에 내장된 FIFO의 FULL 여부를 판단하고, 상기 FULL 여부 판단 결과에 대응되는 신호를 상기 레지스터 슬라이스(212)의 레디 포트로 제공하여 상기 페이로드 데이터에 대한 전송 제어를 수행하는 FIFO 풀 제너레이터(216); By up-counting by the source valid signal and a built-in counter that counts down by said pop signal based on the value of the internal counter is determined FULL whether the FIFO internal to the receiver, and to the FULL Judging the results to provide a corresponding signal to the ready ports of the register slice (212) FIFO pool generator 216 for performing transmission control for said payload data;
    를 포함하여 구성되는 것을 특징으로 하는 상이한 도메인의 블록연결을 위한 단일채널 비동기 브리지 시스템. Single-channel asynchronous bridge system for connecting blocks in different domains, characterized in that comprises a.
  3. 청구항 2에 있어서, The method according to claim 2,
    상기 FIFO 수신 제어기(221)는, The FIFO reception controller 221,
    데스티네이션 밸리드 신호 및 데스티네이션 레디 신호를 논리 곱 연산하여 제 1 인에이블 신호를 생성하는 제 2 논리곱 게이트(227); A second logical product gate 227 calculates the destination valid signal and the ready signal destination logical product for generating a first enable signal;
    상기 제 1 인에이블 신호가 HIGH인 기간에 대응하여 상기 읽기 포인터를 생성하여 상기 FIFO의 읽기 어드레스로 제공하는 제 4 카운터(225); The fourth counter 225 which generates the first enable signal is read in response to the HIGH period of the pointer provided to the read address of the FIFO;
    상기 쓰기 포인터와 상기 읽기 포인터의 값이 상이한 동안 유효 상태를 유지하는 상기 데스티네이션 밸리드 신호를 생성하는 제 2 비교기(229); A second comparator (229) for generating said destination valid signal to maintain a valid state while the value is different from the write pointer and the read pointer;
    데스티네이션 밸리드 신호 및 데스티네이션 레디 신호를 논리 곱 연산하여 제 2 인에이블 신호를 생성하는 제 3 논리곱 게이트(228); A third logical AND gate 228 to logic operation multiplied by the destination valid signal and the destination ready signal generating a second enable signal;
    상기 제 1 인에이블 신호가 HIGH인 기간에 대응하여 상기 스트로브 신호를 생성하여 상기 송신기로 전송하는 클럭 게이트(226); The first clock gate 226 to transfer the enable signal to the corresponding to the HIGH period of generating the strobe signal to the transmitter;
    를 포함하여 구성되는 것을 특징으로 하는 상이한 도메인의 블록연결을 위한 단일채널 비동기 브리지 시스템. Single-channel asynchronous bridge system for connecting blocks in different domains, characterized in that comprises a.
  4. 청구항 3에 있어서, The method according to claim 3,
    상기 송신기(210)는 송신기 도메인의 클럭 신호를 상기 수신기(220)로 전송하고, The transmitter 210 transmits the clock signal of the transmitter domain to the receiver 220,
    상기 수신기(220)는 상기 송신기 도메인의 클럭 신호를 수신하여 상기 제 3 카운터의 카운팅 클럭 및 상기 FIFO의 동작클럭으로 반전 입력하는 것을 특징으로 하는 상이한 도메인의 블록연결을 위한 단일채널 비동기 브리지 시스템. The receiver 220 includes a single-channel asynchronous bridge system for connecting blocks in different domains, it characterized in that the inverting input to the counting clock and the operation clock of the FIFO of the third counter receives the clock signal of the transmitter domain.
  5. 청구항 4에 있어서, The method according to claim 4,
    상기 송신기(210)와 상기 수신기(220)가 주고받는 상기 전송 밸리드 신호와 스트로브 신호는 단일 비트로 구성되는 것을 특징으로 하는 상이한 도메인의 블록연결을 위한 단일채널 비동기 브리지 시스템. The transmitter 210 and the transmit valid signal and the strobe signal is, send and receive the receivers 220 is a single-channel asynchronous bridge system for a block of the different domains connected, characterized in that constituted a single bit.
  6. 청구항 5에 있어서, The method according to claim 5,
    상이한 도메인에 속하는 복수의 블록에 포함된 복수의 송신기(210)와 복수의 수신기(220)는 리셋 신호를 연동시켜 동기화된 로직의 리셋으로 구성하는 것을 특징으로 하는 상이한 도메인의 블록연결을 위한 단일채널 비동기 브리지 시스템. A plurality of transmitters 210 and a plurality of receivers 220 that are included in a plurality of blocks belonging to a different domain, the single channel for the block connection of a different domain, characterized in that the configuration by linking a reset signal to the reset of the synchronization logic asynchronous bridge system.
  7. 청구항 6에 있어서, The method according to claim 6,
    상기 제 1 내지 제 4 카운터(213, 217, 223, 225)는 그레이코드 카운터로 구성되고, 상기 FIFO(222)는 뎁스구성형 FIFO로 구성되는 것을 특징으로 하는 상이한 도메인의 블록연결을 위한 단일채널 비동기 브리지 시스템. One channel for the block connection of a different domain, characterized in that the claim is composed of first to fourth counters (213, 217, 223, 225) is a Gray code counter, composed of the FIFO (222) has a depth-configuration FIFO asynchronous bridge system.
KR20140046110A 2014-04-17 2014-04-17 Single-channel asynchronous bridge system for interconnecting blocks of different domains in System-on-Chip KR101510862B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20140046110A KR101510862B1 (en) 2014-04-17 2014-04-17 Single-channel asynchronous bridge system for interconnecting blocks of different domains in System-on-Chip

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20140046110A KR101510862B1 (en) 2014-04-17 2014-04-17 Single-channel asynchronous bridge system for interconnecting blocks of different domains in System-on-Chip

Publications (1)

Publication Number Publication Date
KR101510862B1 true KR101510862B1 (en) 2015-04-09

Family

ID=53034127

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20140046110A KR101510862B1 (en) 2014-04-17 2014-04-17 Single-channel asynchronous bridge system for interconnecting blocks of different domains in System-on-Chip

Country Status (1)

Country Link
KR (1) KR101510862B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090054793A (en) * 2007-11-27 2009-06-01 한국전자통신연구원 Soc for multimedia system
US20110116337A1 (en) 2009-11-16 2011-05-19 Timothy Nicholas Hay Synchronising between clock domains
US20110320672A1 (en) 2000-09-08 2011-12-29 Kumar Ganapathy Method and apparatus for distributed direct memory access for systems on chip
KR20130057899A (en) * 2011-11-24 2013-06-03 삼성전자주식회사 Asynchronous bridge, method of operating the same, and system on chip having the same

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110320672A1 (en) 2000-09-08 2011-12-29 Kumar Ganapathy Method and apparatus for distributed direct memory access for systems on chip
KR20090054793A (en) * 2007-11-27 2009-06-01 한국전자통신연구원 Soc for multimedia system
US20110116337A1 (en) 2009-11-16 2011-05-19 Timothy Nicholas Hay Synchronising between clock domains
KR20130057899A (en) * 2011-11-24 2013-06-03 삼성전자주식회사 Asynchronous bridge, method of operating the same, and system on chip having the same

Similar Documents

Publication Publication Date Title
US7152136B1 (en) Implementation of PCI express
US7143207B2 (en) Data accumulation between data path having redrive circuit and memory device
US7165153B2 (en) Memory channel with unidirectional links
US5655153A (en) Buffer system
US7219294B2 (en) Early CRC delivery for partial frame
US7447953B2 (en) Lane testing with variable mapping
US6393502B1 (en) System and method for initiating a serial data transfer between two clock domains
US5499344A (en) Programmable dual port data unit for interfacing between multiple buses
US20080147897A1 (en) Memory controller including a dual-mode memory interconnect
US20040250181A1 (en) Memory channel with bit lane fail-over
US20060125517A1 (en) Techniques for optimizing design of a hard intellectual property block for data transmission
US6928528B1 (en) Guaranteed data synchronization
US6738917B2 (en) Low latency synchronization of asynchronous data
US5828865A (en) Dual mode bus bridge for interfacing a host bus and a personal computer interface bus
US20040246786A1 (en) Memory channel having deskew separate from redrive
US20060004968A1 (en) Method and apparatus for memory compression
US6516420B1 (en) Data synchronizer using a parallel handshaking pipeline wherein validity indicators generate and send acknowledgement signals to a different clock domain
US20040250153A1 (en) Data signal redrive with dynamic sampling adjustment
US20100278195A1 (en) Packetized Interface For Coupling Agents
US20030061431A1 (en) Multiple channel interface for communications between devices
US6381293B1 (en) Apparatus and method for serial data communication between plurality of chips in a chip set
US20020163361A1 (en) Source synchronous I/O without synchronizers using temporal delay queues
US6002882A (en) Bidirectional communication port for digital signal processor
US20040250024A1 (en) Memory channel with hot add/remove
US20040260991A1 (en) Memory channel utilizing permuting status patterns

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180402

Year of fee payment: 4