KR102415074B1 - Delay circuit, controller for asynchronous pipeline, method of controlling the same, and circuit having the same - Google Patents

Delay circuit, controller for asynchronous pipeline, method of controlling the same, and circuit having the same Download PDF

Info

Publication number
KR102415074B1
KR102415074B1 KR1020200165121A KR20200165121A KR102415074B1 KR 102415074 B1 KR102415074 B1 KR 102415074B1 KR 1020200165121 A KR1020200165121 A KR 1020200165121A KR 20200165121 A KR20200165121 A KR 20200165121A KR 102415074 B1 KR102415074 B1 KR 102415074B1
Authority
KR
South Korea
Prior art keywords
signal
latch
latch element
xor
delay
Prior art date
Application number
KR1020200165121A
Other languages
Korean (ko)
Other versions
KR20220076197A (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 KR1020200165121A priority Critical patent/KR102415074B1/en
Publication of KR20220076197A publication Critical patent/KR20220076197A/en
Application granted granted Critical
Publication of KR102415074B1 publication Critical patent/KR102415074B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/13Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
    • H03K5/135Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals by the use of time reference signals, e.g. clock signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • G06F5/12Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
    • G06F5/14Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations for overflow or underflow handling, e.g. full or empty flags
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • G06F2207/3884Pipelining
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

본 발명은 지연 회로, 비동기 파이프라인 제어기, 이의 제어 방법 및 이를 갖는 회로에 관한 것이다. 본 발명의 일 실시예에 따르면, 입력 신호를 지연 전달시키는 지연 회로는 적어도 하나 이상의 지연부; 및 상기 적어도 하나 이상의 지연부와 연결되는 논리 소자를 포함하며, 상기 논리 회로는 상기 입력 신호의 트랜지션(transition)이 발생하는 경우, 상기 입력 신호가 상기 적어도 하나 이상의 지연부를 적어도 2회 이상 반복 통과되도록 논리 연산(logical operation)을 수행할 수 있다.The present invention relates to a delay circuit, an asynchronous pipeline controller, a control method thereof, and a circuit having the same. According to an embodiment of the present invention, a delay circuit for delaying and transmitting an input signal includes at least one delay unit; and a logic element connected to the at least one delay unit, wherein the logic circuit is configured such that, when a transition of the input signal occurs, the input signal repeatedly passes through the at least one delay unit at least twice or more. A logical operation can be performed.

Description

지연 회로 및 비동기 파이프라인 제어기, 이의 제어 방법, 및 이를 갖는 회로{Delay circuit, controller for asynchronous pipeline, method of controlling the same, and circuit having the same}Delay circuit, controller for asynchronous pipeline, method of controlling the same, and circuit having the same

본 발명은 회로 기술에 관한 것으로서, 더욱 상세하게는, 지연 회로, 이를 이용하는 비동기 파이프라인 제어기, 이의 제어 방법, 및 이를 갖는 회로에 관한 것이다.The present invention relates to circuit technology, and more particularly, to a delay circuit, an asynchronous pipeline controller using the same, a control method thereof, and a circuit having the same.

동기 회로 설계는 초고밀도 집적회로(Very-large-scale integration; VLSI)) 시스템의 확산과 반도체 산업의 발전에 기초가 된다. 상기 동기 회로 설계의 장점 중 하나는 글로벌 클럭 네트워크를 통해 시스템의 모든 구성 요소의 동기화를 단순화할 수 있다. 상기 동기 회로 설계 시, 타이밍(timing)을 맞추기 위해 인위적으로 타깃 지연(delay) 값에 대응하는 순차적으로 직렬 연결된 복수의 지연 버퍼들(이하, 지연 버퍼 체인(delay buffer chain)라 칭함)이 삽입될 수 있다. 신호가 직렬 연결된 복수의 지연 버퍼들을 통과하며, 각 버퍼의 지연 특성에 의해 지연 전달될 수 있다. 따라서, 상기 타깃 지연 값이 커질수록 직렬 연결되는 버퍼의 개수가 증가하게 된다. 동기 회로에서 이러한 지연 버퍼 체인의 구성으로 인해 비동기 회로 설계 시 면적 오버헤드(area overhead)가 발생될 수 있다.Synchronous circuit design is the basis for the proliferation of very-large-scale integration (VLSI) systems and the development of the semiconductor industry. One of the advantages of the synchronous circuit design is that it can simplify the synchronization of all components of the system through a global clock network. When designing the synchronous circuit, a plurality of sequentially serially connected delay buffers corresponding to a target delay value (hereinafter referred to as a delay buffer chain) are artificially inserted to match the timing. can A signal passes through a plurality of delay buffers connected in series, and may be delayed due to delay characteristics of each buffer. Accordingly, as the target delay value increases, the number of serially connected buffers increases. Due to the configuration of such a delay buffer chain in a synchronous circuit, an area overhead may occur when designing an asynchronous circuit.

최근 반도체 제조 공정의 발전과 딥 신경망과 같은 분야의 발전으로 인해, 더욱 고속 및 저전력으로 동작하는 전자 회로가 요구되고 있다. 그러나, 동기 회로에서는 공정 전압 온도(process-voltage-temperature: PVT) 변동 증가로 인한 잡음 및 지연 가변성으로 응용이 더 제한되고, 클럭 네트워크의 전력 소비가 큰 문제점에 직면해 있다.Due to recent advances in semiconductor manufacturing processes and advances in fields such as deep neural networks, electronic circuits operating at higher speeds and with lower power are required. However, in a synchronous circuit, applications are further limited due to noise and delay variability due to increased process-voltage-temperature (PVT) fluctuations, and power consumption of a clock network faces a large problem.

이러한 상기 클럭 네트워크에서 전력 소비를 줄이기 위해 비동기 회로가 도입되었다. 상기 동기 회로의 글로벌 클럭 네트워크를 이용하는 동기화 메커니즘과는 달리, 상기 비동기 회로는 회로 구성 요소 간의 통신을 위해 핸드셰이킹 프로토콜을 이용한다. 상기 핸드셰이킹 프로토콜은 상기 동기 회로보다 상대적으로 적은 동적 전력을 소모하고 고주파수에서 동작할 수 있다. 상기 동기 회로의 경우 상기 글로벌 클럭 네트워크에서 총 동적 전력의 상당 부분이 소모되며 전체 시스템의 성능, 즉 최소 클럭 주기는 가장 중요한 타이밍 경로에 영향을 받는다. 반면 상기 비동기 회로는 클럭 시간과 무관하므로 전력이 많이 소모되는 클럭 네트워크가 필요하지 않다. In order to reduce power consumption in such a clock network, an asynchronous circuit is introduced. Unlike a synchronization mechanism that uses the global clock network of the synchronous circuit, the asynchronous circuit uses a handshaking protocol for communication between circuit components. The handshaking protocol consumes relatively less dynamic power than the synchronous circuit and can operate at high frequencies. In the case of the synchronous circuit, a significant portion of the total dynamic power is consumed in the global clock network, and the performance of the entire system, ie, the minimum clock period, is affected by the most important timing path. On the other hand, since the asynchronous circuit is independent of the clock time, a clock network that consumes a lot of power is not required.

상기 핸드셰이킹 프로토콜은 3개의 연결선, 즉 데이터(data), 요청(req) 및 확인(ack) 신호들로 구성되며, 데이터(data)와 요청(req) 신호는 송신기가 제공하고 확인(ack) 신호는 수신기가 제공한다. 상기 송신기는 상기 수신기로 데이터를 전송하기 전에 요청(req) 신호를 상기 수신기에 전송하고 요청(req) 신호에 대응하는 확인(ack) 신호를 상기 수신기로부터 수신하면 데이터가 전송될 수 있다. The handshaking protocol consists of three connection lines, namely, data, request (req), and acknowledgment (ack) signals, and data (data) and request (req) signals are provided by the transmitter and acknowledgment (ack) The signal is provided by the receiver. When the transmitter transmits a request (req) signal to the receiver before transmitting data to the receiver and receives an acknowledgment (ack) signal corresponding to the request (req) signal from the receiver, data can be transmitted.

또한, 상기 비동기 회로는 수 내지 수십 단의 파이프라인 구조를 가지며, 묶음(bundled) 데이터 프로토콜 기반으로 동작한다. 상기 묶음 데이터 프로토콜은 TCP/IP에서의 IP(Internet Protocol)과 유사하지만, TCP/IP가 연속적인 End-to-End 연결을 필요로 하는 반면 상기 묶음 데이터 프로토콜은 Store-and-Forward 방식으로 동작하는 프로토콜이다. In addition, the asynchronous circuit has a pipeline structure of several to tens of stages, and operates based on a bundled data protocol. The packed data protocol is similar to IP (Internet Protocol) in TCP/IP, but TCP/IP requires continuous end-to-end connections, whereas the packed data protocol operates in a Store-and-Forward manner. is the protocol.

그러나, 상기 묶음 데이터 프로토콜을 기반으로 하는 비동기 회로는, 수신기가 송신기로부터 데이터 신호를 수신하기 전에 요청 신호를 수락하면 안 되는 타이밍 제약(timing constraint)을 만족시켜야 한다. 상기 타이밍 제약을 보장하기 위해, 상기 파이프라인 구조의 각 단계(stage)에 의도적으로 긴 지연 경로를 제공하도록 지연 버퍼 체인이 제공된다. 상기 동기 회로와 마찬가지로, 이러한 지연 버퍼 체인의 구성으로 인해 비동기 회로 설계 시 면적 오버헤드가 발생될 수 있다. 특히, 상기 핸드셰이킹 프로토콜을 만족시키는데 필요한 지연이 증가함에 따라 지연 버퍼가 상기 파이프라인 구조의 상당 부분을 차지하고 있다. However, the asynchronous circuit based on the packed data protocol must satisfy the timing constraint that the receiver must not accept the request signal before receiving the data signal from the transmitter. To ensure the timing constraint, a chain of delay buffers is provided to deliberately provide a long delay path to each stage of the pipeline structure. As with the synchronous circuit, an area overhead may occur when designing an asynchronous circuit due to the configuration of the delay buffer chain. In particular, as the delay required to satisfy the handshaking protocol increases, the delay buffer occupies a significant portion of the pipeline structure.

따라서, 상기 동기 회로 또는 상기 비동기 회로에서 지연 버퍼 체인으로 인한 면적 오버헤드를 개선시키는 기술이 필요하다. Accordingly, there is a need for a technique for improving the area overhead due to the delay buffer chain in the synchronous circuit or the asynchronous circuit.

본 발명이 이루고자 하는 기술적 과제는, 전력 소모 및 지연 버퍼의 개수의 증가로 인한 면적 오버헤드를 개선시키는 지연 회로를 제공하는 것이다. SUMMARY OF THE INVENTION It is an object of the present invention to provide a delay circuit that improves power consumption and area overhead due to an increase in the number of delay buffers.

본 발명이 이루고자 하는 기술적 과제는, 파이프라인 구조를 갖는 비동기 회로에서 타이밍 제약을 만족시키면서 전력 소모 및 지연 버퍼의 개수의 증가로 인한 면적 오버헤드를 개선시키는 비동기 파이프라인 제어기를 제공하는 것이다. An object of the present invention is to provide an asynchronous pipeline controller that improves power consumption and area overhead due to an increase in the number of delay buffers while satisfying timing constraints in an asynchronous circuit having a pipeline structure.

또한, 본 발명이 이루고자 하는 다른 기술적 과제는, 전술한 이점을 갖는 비동기 파이프라인의 제어 방법을 제공하는 것이다. Another technical object of the present invention is to provide a method for controlling an asynchronous pipeline having the above-described advantages.

또한, 본 발명이 이루고자 하는 다른 기술적 과제는, 전술한 이점을 갖는 비동기 파이프라인을 갖는 회로를 제공하는 것이다. Another technical object of the present invention is to provide a circuit having an asynchronous pipeline having the above-mentioned advantages.

본 발명의 일 실시예에 따르면, 입력 신호를 지연 전달시키는 지연 회로로서, 상기 지연 회로는, 지연 경로를 제공하는 적어도 하나 이상의 지연부; 및 상기 적어도 하나 이상의 지연부와 연결되는 적어도 하나 이상의 논리 소자를 포함하며, 상기 논리 회로는 상기 입력 신호의 트랜지션(transition)이 발생하는 경우, 상기 입력 신호를 상기 지연 경로를 재사용하도록 적어도 2회 이상 반복 통과시키는 논리 연산(logical operation)을 수행할 수 있다. According to an embodiment of the present invention, there is provided a delay circuit for delaying transmission of an input signal, the delay circuit comprising: at least one delay unit providing a delay path; and at least one or more logic elements connected to the at least one or more delay units, wherein the logic circuit uses the input signal at least twice to reuse the delay path when a transition of the input signal occurs. It is possible to perform a logical operation that passes repeatedly.

일 실시예에서, 상기 입력 신호를 수신하는 제 1 입력단, 상기 입력 신호를 출력하는 제 1 출력단 및 상기 입력 신호를 반전시켜 출력하는 제 2 출력단을 갖는 제 1 래치 소자; 상기 제 1 래치 소자의 상기 제 1 출력단과 연결되어 상기 제 1 래치 소자를 통과한 상기 입력 신호를 수신하는 제 1 입력단과 상기 입력 신호를 출력하는 출력단을 갖는 제 2 래치 소자; 및 상기 제 1 래치 소자를 제 1 시점에 인에이블시키는 동안 상기 제 2 래치 소자를 디스에이블시키고, 상기 제 1 시점보다 늦은 제 2 시점에 상기 제 1 래치 소자를 디스에이블시키는 동안 상기 제 2 래치 소자를 인에이블시켜 상기 입력 신호가 상기 적어도 하나 이상의 지연부를 적어도 2회 이상 충돌 없이 통과되도록 제어하는 제어 회로가 더 포함될 수 있다. 상기 제어 소자는, 상기 입력 신호와 상기 제 1 래치 소자의 제 2 출력단으로부터의 반전 입력 신호를 입력으로 0 또는 1를 출력하는 제 1 XOR 소자; 상기 제 1 래치 소자의 출력단으로부터 출력되는 입력 신호와 상기 제 2 래치 소자의 출력단으로부터 출력되는 입력 신호를 입력으로 0 또는 1를 출력하는 제 2 XOR 소자; 및 상기 제 1 XOR 소자의 출력 신호와 상기 제 2 XOR 소자의 출력 신호를 입력으로 0 또는 1를 출력하여 상기 제 1 래치 소자를 인에이블 또는 디스에이블시키는 NOR 소자를 포함하며, 상기 지연부는 상기 제 1 XOR 소자의 출력단과 상기 NOR 소자의 입력단 사이에 배치되며, 상기 제 1 XOR 소자의 출력 신호를 지연시켜 상기 NOR 소자의 입력단과 상기 제 2 래치 소자의 입력단으로 전달할 수 있다. 상기 제 1 XOR 소자의 입력단과 상기 제 1 래치 소자의 상기 제 2 출력단은 연결되며, 상기 제 2 XOR 소자의 제 1 입력단과 상기 제 1 래치 소자의 제 1 출력단과 연결되고, 상기 제 2 XOR 소자의 제 2 입력단과 상기 제 2 래치 소자의 출력단과 연결되고, 상기 NOR 소자의 출력단과 상기 제 1 래치 소자의 제 2 입력단과 연결될 수 있다. 상기 제 1 XOR 소자의 출력단은 상기 NOR 소자의 제 1 입력단 및 상기 제 2 래치 소자의 제 2 입력단과 연결되며, 상기 NOR 소자의 제 2 입력단과 제 2 XOR 소자의 출력단이 연결될 수 있다. 일 실시예에서, 상기 지연부는 체인 형태로 적어도 하나의 버퍼 또는 인버터가 직렬 연결되거나 버퍼 또는 인버터 없이 연결될 수 있다. In one embodiment, there is provided a first latch element having a first input terminal for receiving the input signal, a first output terminal for outputting the input signal, and a second output terminal for inverting and outputting the input signal; a second latch element connected to the first output terminal of the first latch element and having a first input terminal for receiving the input signal passing through the first latch element and an output terminal for outputting the input signal; and disabling the second latch element while enabling the first latch element at a first time point, and disabling the first latch element at a second time point later than the first time point. A control circuit may be further included to enable and control the input signal to pass through the at least one delay unit at least two times without collision. The control element may include: a first XOR element that outputs 0 or 1 to the input signal and an inverted input signal from a second output terminal of the first latch element; a second XOR element configured to output 0 or 1 to an input signal output from an output terminal of the first latch element and an input signal outputted from an output terminal of the second latch element; and a NOR element configured to enable or disable the first latch element by outputting 0 or 1 to the output signal of the first XOR element and the output signal of the second XOR element as inputs, wherein the delay unit includes the first 1 is disposed between the output terminal of the XOR element and the input terminal of the NOR element, and may delay the output signal of the first XOR element to be transmitted to the input terminal of the NOR element and the input terminal of the second latch element. An input terminal of the first XOR element and the second output terminal of the first latch element are connected, and a first input terminal of the second XOR element and a first output terminal of the first latch element are connected, and the second XOR element may be connected to a second input terminal of the , and an output terminal of the second latch element, and connected to an output terminal of the NOR element and a second input terminal of the first latch element. An output terminal of the first XOR element may be connected to a first input terminal of the NOR element and a second input terminal of the second latch element, and a second input terminal of the NOR element may be connected to an output terminal of the second XOR element. In one embodiment, the delay unit may be connected in series with at least one buffer or inverter in a chain form or may be connected without a buffer or inverter.

일 실시예에서, 상기 적어도 하나의 지연부가 m 개인 경우, m 개의 지연부들은 상기 제 1 논리 소자와 동일하되 물리적으로 구분되는 제 2 논리 회로를 통해 서로 전기적으로 연결되어, 상기 입력 신호를 2m, 2m-1,.., 21 회수만큼 통과시켜 다음 제 1 지연부로 순차적으로 전달하며, m 번째 지연부는 2 회 상기 입력 신호를 통과시켜서 m-1 번째 지연부로 전달하고, 상기 m-1 지연부는 2 회 상기 입력 신호를 통과시켜서 m-2 지연부로 전달하고, 상기 m-2 번째 지연부는 2 회 상기 입력 신호를 통과시켜서 m-3 번째 지연부로 전달할 수 있다. In an embodiment, when the number of the at least one delay unit is m, the m delay units are electrically connected to each other through a second logic circuit identical to but physically separated from the first logic element to transmit the input signal by 2 m . , 2 m-1 ,.., 2 1 passes and sequentially passes to the next first delay unit, and the m-th delay unit passes the input signal twice and transmits it to the m-1 delay unit, and the m-1 delay part 2 The input signal may be passed through the input signal twice to be transmitted to the m-2 delay unit, and the m-2 th delay unit may be passed through the input signal twice to be transmitted to the m-3 th delay unit.

본 발명의 다른 실시예에 따르면, 제 1 비동기 파이프라인 제어기에 의해 제어되는 제 1 타이밍 경로로부터 유입되는 제 1 요청 신호를 기반으로 상기 제 1 타이밍 경로와 적어도 부분적으로 중첩되는 영역을 갖는 제 2 타이밍 경로를 제어하는 제 2 비동기 파이프라인 제어기로서, 상기 제 2 비동기 파이프라인 제어기는 상기 제 1 요청 신호가 상기 중첩되는 영역을 적어도 2회 이상 통과되도록 상기 제 2 타이밍 경로를 제공하는 지연 경로 유닛을 포함할 수 있다. 상기 지연 경로 유닛은, 상기 제 1 요청 신호를 수신하는 제 1 입력단, 상기 제 1 요청 신호에 응답하여 제 2 확인 신호를 출력하는 제 1 출력단 및 상기 제 2 확인 신호를 반전시켜 출력하는 제 2 출력단을 갖는 제 1 래치 소자; 상기 제 1 래치 소자의 제 1 출력단과 연결된 제 1 입력단과 제 3 확인 신호에 응답하여 제 2 요청 신호를 출력하는 출력단을 갖는 제 2 래치 소자; 및 상기 제 1 래치 소자를 제 1 시점에 동작시키는 동안 상기 제 2 래치 소자를 비동작시키고, 상기 제 1 시점보다 늦은 제 2 시점에 상기 제 1 래치 소자를 비동작시키는 동안 상기 제 2 래치 소자를 동작시켜 상기 제 2 요청 신호를 제 3 비동기 파이프라인 제어기로 출력시키도록 제어하는 논리 회로를 포함할 수 있다. 상기 논리 소자는, 상기 제 1 요청 신호와 상기 반전된 제 2 확인 신호를 입력으로 0 또는 1를 출력하는 제 1 XOR 소자; 상기 제 2 확인 신호 및 상기 제 3 비동기 파이프라인 제어기로부터 피드백되는 제 3 확인 신호를 입력으로 0 또는 1를 출력하는 제 2 XOR 소자; 상기 제 1 XOR 소자의 출력 신호와 상기 제 2 XOR 소자의 출력 신호를 입력으로 0 또는 1를 출력하여 상기 제 1 래치 소자를 동작 또는 비동작시키는 NOR 소자; 및 상기 제 1 XOR 소자의 출력단과 상기 NOR 소자의 입력단 사이에 배치되며 상기 제 1 XOR 소자의 출력 신호를 지연시켜 상기 NOR 소자의 입력단으로 제공하는 공유 지연 회로를 포함할 수 있다. 상기 공유 지연 회로는, 체인 형태로 적어도 하나의 버퍼 또는 인버터가 직렬 연결되거나 버퍼 또는 인버터 없이 연결될 수 있다. 상기 제 1 XOR 소자의 입력단과 상기 제 1 래치 소자의 제 2 출력단은 연결되고, 상기 제 2 XOR 소자의 제 1 입력단과 제 3 타이밍 경로와 연결되고, 상기 제 2 XOR 소자의 제 2 입력단과 상기 제 1 래치 소자의 제 1 출력단과 연결되며, 상기 NOR 소자의 출력단과 상기 제 1 래치 소자의 제 2 입력단과 연결될 수 있다. 상기 제 1 XOR 소자의 출력단은 상기 NOR 소자의 제 1 입력단 및 상기 제 2 래치 소자의 제 2 입력단과 연결되며, 상기 NOR 소자의 제 2 입력단과 제 2 XOR 소자의 출력단이 연결될 수 있다. According to another embodiment of the present invention, a second timing having an area at least partially overlapping with the first timing path based on a first request signal coming from a first timing path controlled by a first asynchronous pipeline controller a second asynchronous pipeline controller for controlling a path, the second asynchronous pipeline controller including a delay path unit for providing the second timing path such that the first request signal passes through the overlapping region at least two times or more can do. The delay path unit includes a first input terminal for receiving the first request signal, a first output terminal for outputting a second confirmation signal in response to the first request signal, and a second output terminal for inverting and outputting the second confirmation signal a first latch element having a; a second latch element having a first input terminal connected to a first output terminal of the first latch element and an output terminal outputting a second request signal in response to a third confirmation signal; and deactivating the second latch element while operating the first latch element at a first time point, and disabling the second latch element at a second time point later than the first time point. and a logic circuit that operates to output the second request signal to a third asynchronous pipeline controller. The logic element may include: a first XOR element outputting 0 or 1 to the first request signal and the inverted second confirmation signal as inputs; a second XOR element that outputs 0 or 1 to the second acknowledgment signal and a third acknowledgment signal fed back from the third asynchronous pipeline controller; a NOR element that operates or deactivates the first latch element by outputting 0 or 1 to the output signal of the first XOR element and the output signal of the second XOR element; and a shared delay circuit disposed between the output terminal of the first XOR element and the input terminal of the NOR element to delay the output signal of the first XOR element and provide the delayed output signal to the input terminal of the NOR element. In the shared delay circuit, at least one buffer or inverter may be connected in series in a chain form, or may be connected without a buffer or inverter. An input terminal of the first XOR element and a second output terminal of the first latch element are connected, the first input terminal of the second XOR element and a third timing path are connected, and the second input terminal of the second XOR element and the It may be connected to a first output terminal of the first latch element, and may be connected to an output terminal of the NOR element and a second input terminal of the first latch element. An output terminal of the first XOR element may be connected to a first input terminal of the NOR element and a second input terminal of the second latch element, and a second input terminal of the NOR element may be connected to an output terminal of the second XOR element.

일 실시예에서, 상기 제 2 래치 소자의 출력단과 연결되는 비공유 지연 회로를 더 포함하며, 상기 비공유 지연 회로는, 체인 형태로 적어도 하나의 버퍼 또는 인버터가 직렬 연결되거나 버퍼 또는 인버터 없이 연결될 수 있다. 상기 제 2 타이밍 경로의 지연은 상기 공유 지연 회로와 상기 비공유 지연 회로의 버퍼 또는 인버터 수에 조절될 수 있다. 상기 제 1 요청 신호의 도착과 상기 제 1 래치 소자의 닫힘 사이의 시간 간격은 상기 제 3 타이밍 경로로부터 제공되는 제 3 확인 신호에 의해 상기 제 1 래치 소자가 동작되는 시간 간격보다 작거나 같을 수 있다. 상기 제 1 요청 신호의 도착과 상기 제 1 래치 소자의 닫힘 사이의 시간 간격은 상기 제 1 타이밍 경로로부터 제공되는 제 1 요청 신호들 사이의 간격보다 작거나 같을 수 있다. 상기 중첩되는 영역은 상기 제 1 XOR 소자 및 상기 공유 지연 회로를 포함할 수 있다. In one embodiment, it further comprises a non-shared delay circuit connected to the output terminal of the second latch element, the non-shared delay circuit, at least one buffer or inverter is connected in series in a chain form, or may be connected without a buffer or inverter. The delay of the second timing path may be adjusted by the number of buffers or inverters of the shared delay circuit and the non-shared delay circuit. A time interval between arrival of the first request signal and closing of the first latch element may be less than or equal to a time interval in which the first latch element is operated by a third confirmation signal provided from the third timing path . A time interval between arrival of the first request signal and closing of the first latch element may be less than or equal to an interval between first request signals provided from the first timing path. The overlapping region may include the first XOR element and the shared delay circuit.

일 실시예에서, 상기 지연 경로 유닛이 m 개의 지연 회로를 포함하는 경우, m 개의 지연 회로들은 서로 전기적으로 연결되어, 상기 제 1 요청 신호를 각각 2m, 2m-1,.., 21 회수만큼 통과시키되, 제 m 지연 회로는 2 회 상기 제 1 요청 신호를 통과시켜서 m-1 지연 회로로 전달하고, 상기 제 m-1 지연 회로는 2 회 상기 제 1 요청 신호를 통과시켜서 m-2 지연 회로로 전달하고, 제 m-2 지연 회로는 2 회 상기 제 1 요청 신호를 통과시켜서 m-3 지연 회로로 전달할 수 있다. In an embodiment, when the delay path unit includes m delay circuits, the m delay circuits are electrically connected to each other to transmit the first request signal 2 m , 2 m-1 ,.., 2 1 , respectively. pass the number of times, but the mth delay circuit is 2 time passing the first request signal to an m-1 delay circuit, and the m-1 delay circuit times the first request signal is passed to the m-2 delay circuit, and the m-2 delay circuit is It is possible to pass the first request signal to the m-3 delay circuit.

본 발명의 또 다른 실시예에 따르면, 제 1 비동기 파이프라인 제어기에 의해 제어되는 제 1 타이밍 경로와 적어도 부분적으로 중첩되는 제 1 영역을 갖는 제 2 타이밍 경로를 제어하며, 상기 제 1 타이밍 경로와 연결된 제 1 래치 소자, 상기 제 1 래치 소자와 연결된 제 2 래치 소자 및 상기 제 1 래치 소자와 제 2 래치 소자를 제어하는 논리 소자로 구성된 제 2 비동기 파이프라인 제어기의 제어 방법에 있어서, 상기 제 1 타이밍 경로를 통해 제 1 요청 신호를 수신하는 단계; 상기 제 1 요청 신호에 응답하여 상기 제 1 래치 소자를 인에이블 상태로 천이시키는 단계; 상기 인에이블 상태의 상기 제 1 래치 소자의 반전 출력 신호에 응답하여, 상기 제 1 래치 소자를 상기 인에이블 상태에서 디스에이블 상태로 천이시키고 상기 제 2 래치 소자를 인에이블 상태로 천이시키는 단계; 및 상기 제 2 래치 소자를 통해 제 2 요청 신호를 출력하는 단계를 포함할 수 있다.In accordance with another embodiment of the present invention, a second timing path having a first region that at least partially overlaps with a first timing path controlled by a first asynchronous pipeline controller is controlled, the second timing path being coupled to the first timing path. A method for controlling a second asynchronous pipeline controller comprising a first latch element, a second latch element connected to the first latch element, and a logic element controlling the first and second latch elements, wherein the first timing receiving a first request signal through a path; transitioning the first latch element to an enabled state in response to the first request signal; transitioning the first latch element from the enabled state to the disabled state and transitioning the second latch element to the enabled state in response to an inverted output signal of the first latch element in the enabled state; and outputting a second request signal through the second latch element.

상기 제 2 타이밍 경로와 적어도 부분적으로 중첩되는 제 2 영역을 포함하는 제 3 비동기 파이프라인 제어기에 의해 제어되는 제 3 타이밍 경로로부터 제 3 확인 신호를 수신하는 단계를 더 포함할 수 있다. 상기 논리 소자가 상기 제 1 래치 소자의 제 2 출력단과 연결된 제 1 XOR 소자, 상기 제 1 래치 소자의 제 1 출력단과 연결된 제 2 XOR 소자, 상기 제 1 XOR 소자와 상기 제 2 XOR 소자의 출력단과 연결되며 상기 제 1 래치 소자의 입력단과 연결된 NOR 소자 및 상기 제 1 XOR 소자의 출력단과 NOR 소자의 입력단 사이에 배치되는 공유 지연 회로로 구성될 때, 상기 제 1 요청 신호에 응답하여 상기 제 1 래치 소자를 인에이블 상태로 천이시키는 단계는, 상기 제 1 요청 신호와 상기 제 1 래치 소자의 제 1 출력단으로부터의 반전 신호에 기반하여 상기 제 1 XOR 소자를 제 1 활성화시키는 단계; 상기 제 1 래치 소자의 출력 신호와 제 3 타이밍 경로로부터 전달되는 제 3 확인 신호에 기반하여 상기 제 2 XOR 소자를 제 1 활성화시키는 단계; 상기 제 1 XOR 소자와 상기 제 2 XOR 소자의 출력 신호에 기반하여 NOR 소자를 제 1 활성화시키는 단계; 및 상기 NOR 소자의 출력 신호에 의해 상기 제 1 래치 소자를 인에이블시키는 단계를 포함할 수 있다. 상기 인에이블 상태의 상기 제 1 래치 소자의 반전 출력 신호에 응답하여, 상기 제 1 래치 소자를 상기 인에이블 상태에서 디스에이블 상태로 천이시키고 상기 제 2 래치 소자를 인에이블 상태로 천이시키는 단계는, 상기 인에이블 상태의 상기 제 1 래치 소자의 반전 출력 신호와 상기 제 1 요청 신호에 기반하여 상기 제 1 XOR 소자를 제 2 활성화시키는 단계; 및 상기 제 1 XOR 소자의 출력 신호에 의해 상기 제 2 래치 소자를 인에이블시키는 단계를 포함할 수 있다. The method may further include receiving a third acknowledgment signal from a third timing path controlled by a third asynchronous pipeline controller that includes a second region that at least partially overlaps the second timing path. a first XOR element in which the logic element is connected to a second output terminal of the first latch element, a second XOR element connected to a first output terminal of the first latch element, an output terminal of the first XOR element and the second XOR element; In response to the first request signal, when the NOR element connected and connected to the input terminal of the first latch element is configured with a shared delay circuit disposed between the output terminal of the first XOR element and the input terminal of the NOR element, the first latch Transitioning the device to the enabled state may include: first activating the first XOR device based on the first request signal and an inverted signal from a first output terminal of the first latch device; first activating the second XOR element based on an output signal of the first latch element and a third confirmation signal transmitted from a third timing path; first activating a NOR element based on output signals of the first XOR element and the second XOR element; and enabling the first latch element by the output signal of the NOR element. Transitioning the first latch element from the enabled state to the disabled state and transitioning the second latch element to the enabled state in response to an inverted output signal of the first latch element in the enabled state; second activating the first XOR element based on an inverted output signal of the first latch element in the enabled state and the first request signal; and enabling the second latch element by the output signal of the first XOR element.

일 실시예에서, 상기 제 1 래치 소자의 출력 신호와 제 3 타이밍 경로로부터 전달되는 제 3 확인 신호에 기반하여 상기 제 2 XOR 소자를 제 2 활성화시키는 단계; 상기 제 1 XOR 소자와 상기 제 2 XOR 소자의 출력 신호에 기반하여 NOR 소자를 제 2 활성화시키는 단계; 및 상기 NOR 소자의 출력 신호에 의해 상기 제 1 래치 소자를 디스에이블시키는 단계를 더 포함할 수 있다. 상기 제 1 XOR 소자의 출력 신호는 상기 공유 지연 회로를 통해 상기 NOR 소자의 입력단 및 상기 제 2 래치 소자의 입력단으로 지연 전달될 수 있다. 상기 제 2 요청 신호에 대응하는 제 2 확인 신호는 상기 제 1 요청 신호의 유효하지 않은 전달을 방지하도록 상기 제 2 래치 소자(D2)로 제공되는 인에이블 신호가 하강하기 전에 도착되지 않거나, 상기 제 2 확인 신호는 상기 제 2 래치 소자(D2)로 제공되는 인에이블 신호가 상승하기 전에 상기 제 2 래치 소자(D2)에 도착할 수 있다. In an embodiment, the method may further include: second activating the second XOR element based on an output signal of the first latch element and a third confirmation signal transmitted from a third timing path; activating a second NOR element based on output signals of the first XOR element and the second XOR element; and disabling the first latch element by the output signal of the NOR element. The output signal of the first XOR element may be delayed and transferred to the input terminal of the NOR element and the input terminal of the second latch element through the shared delay circuit. A second acknowledgment signal corresponding to the second request signal does not arrive before the enable signal provided to the second latch element D2 falls, or the second acknowledgment signal to prevent invalid transfer of the first request signal. The second confirmation signal may arrive at the second latch element D2 before the enable signal provided to the second latch element D2 rises.

본 발명의 또 다른 실시예에 따르면, n 개의 파이프라인 단계(pipeline stage)로 구성된 비동기 파이프라인 회로서, 각각의 파이프라인 단계(pipeline stage)는 데이터경로를 제공하는 데이터 래치; 및 상기 데이터 래치를 동작 또는 비동작시키는 청구항 제 8 항의 비동기 파이프라인 제어기를 포함할 수 있다. According to another embodiment of the present invention, there is provided an asynchronous pipeline circuit comprising n pipeline stages, each pipeline stage comprising: a data latch providing a data path; and the asynchronous pipeline controller of claim 8 for actuating or deactivating the data latch.

본 발명의 일 실시예에 따르면, 지연 소자에서 입력 신호가 상기 적어도 하나 이상의 지연부를 적어도 2회 이상 반복 통과되도록 논리 연산(logical operation)을 수행함으로써, 전력 소모 및 지연 버퍼의 개수의 증가로 인한 면적 오버헤드를 개선시킬 수 있는 지연 회로가 제공될 수 있다. According to an embodiment of the present invention, by performing a logical operation such that an input signal repeatedly passes through the at least one delay unit at least twice or more in the delay element, power consumption and area due to an increase in the number of delay buffers A delay circuit capable of improving overhead may be provided.

본 발명의 다른 실시예에 따르면, 제 1 비동기 파이프라인 제어기에 의* 제어되는 제 1 타이밍 경로로부터 유입되는 제 1 요청 신호를 기반으로 상기 제 1 타이밍 경로와 적어도 부분적으로 중첩되는 영역을 갖는 제 2 타이밍 경로를 제어하는 제 2 비동기 파이프라인 제어기가 상기 제 1 요청 신호가 상기 중첩되는 영역을 적어도 2회 이상 통과되도록 상기 제 2 타이밍 경로를 제공하는 지연 경로 유닛을 포함함으로써, 파이프라인 구조를 갖는 비동기 회로에서 타이밍 제약을 만족시키면서 전력 소모 및 지연 버퍼의 개수의 증가로 인한 면적 오버헤드를 개선시킬 수 있는 비동기 파이프라인 제어기가 제공될 수 있다. According to another embodiment of the present invention, based on a first request signal coming from a first timing path controlled by* a first asynchronous pipeline controller, a second second having an area that at least partially overlaps with the first timing path. Asynchronous with a pipeline structure by including a delay path unit for providing the second timing path so that the second asynchronous pipeline controller controlling the timing path causes the first request signal to pass through the overlapping region at least twice or more An asynchronous pipeline controller capable of improving power consumption and area overhead due to an increase in the number of delay buffers while satisfying timing constraints in a circuit may be provided.

또한, 본 발명의 다른 실시예에 따르면, 전술한 이점을 갖는 비동기 파이프라인 제어기의 제어 방법이 제공될 수 있다. Further, according to another embodiment of the present invention, a control method of an asynchronous pipeline controller having the above-described advantages may be provided.

또한, 본 발명의 다른 실시예에 따르면, 전술한 이점을 갖는 비동기 파이프라인 제어기를 이용하는 파이프라인 구조를 갖는 비동기 회로가 제공될 수 있다. Further, according to another embodiment of the present invention, an asynchronous circuit having a pipeline structure using an asynchronous pipeline controller having the above-described advantages can be provided.

도 1a와 도 1b는 본 발명의 실시예에 따른 지연 회로의 개략적인 구성도이다.
도 2a 내지 도 2c는 본 발명의 실시예에 따른 지연 회로를 나타내는 도면이다.
도 3은 본 발명의 실시예에 따른 복수의 처리단으로 구성된 비동기 파이프라인 구조의 개략적인 회로이다.
도 4는 본 발명의 실시예에 따른 묶음 데이터 기반의 핸드셰이킹 프로토콜을 설명하기 위한 도면이다.
도 5는 본 발명의 실시예에 따른 비동기 파이프라인 제어기를 구성하는 지연 경로 유닛의 구성도이다.
도 6은 본 발명의 실시예에 따른 비동기 파이프라인 제어기의 구성 회로를 나타내는 도면이다.
도 7은 본 발명의 실시예에 따른 파이프라인 구조를 갖는 비동기 회로에서 제 i 파이프라인 단계의 제 i 타이밍 경로와 제 i+1 파이프라인 단계의 제 i+1 타이밍 경로의 중첩 영역을 설명하는 도면이다.
도 8은 본 발명의 실시예에 따른 비동기 파이프라인 제어기의 타이밍을 나타내는 파형이다.
도 9는 본 발명의 실시예에 따른 비동기 파이프라인 제어기의 논리 동작 설명을 위한 도면이다.
도 10은 본 발명의 일 실시예에 따른 비동기 파이프라인 구조의 비동기식 파이프라인 제어기의 공유 지연 회로(SDC)와 비공유 지연 회로(NSDC)를 설계하는 방법을 설명하는 순서도이다.
1A and 1B are schematic configuration diagrams of a delay circuit according to an embodiment of the present invention.
2A to 2C are diagrams illustrating a delay circuit according to an embodiment of the present invention.
3 is a schematic circuit diagram of an asynchronous pipeline structure including a plurality of processing stages according to an embodiment of the present invention.
4 is a diagram for explaining a handshaking protocol based on bundled data according to an embodiment of the present invention.
5 is a block diagram of a delay path unit constituting an asynchronous pipeline controller according to an embodiment of the present invention.
6 is a diagram illustrating a configuration circuit of an asynchronous pipeline controller according to an embodiment of the present invention.
7 is a view for explaining an overlapping region of an i-th timing path of an i-th pipeline stage and an i+1-th timing path of an i+1-th pipeline stage in an asynchronous circuit having a pipeline structure according to an embodiment of the present invention; to be.
8 is a waveform showing the timing of an asynchronous pipeline controller according to an embodiment of the present invention.
9 is a diagram for explaining a logical operation of an asynchronous pipeline controller according to an embodiment of the present invention.
10 is a flowchart illustrating a method of designing a shared delay circuit (SDC) and a non-shared delay circuit (NSDC) of an asynchronous pipeline controller having an asynchronous pipeline structure according to an embodiment of the present invention.

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

본 발명의 실시예들은 당해 기술 분야에서 통상의 지식을 가진 자에게 본 발명을 더욱 완전하게 설명하기 위하여 제공되는 것이며, 하기 실시예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 하기 실시예에 한정되는 것은 아니다. 오히려, 이들 실시예는, 당업자에게 본 발명의 사상을 완전하게 전달하기 위하여 제공되는 것이다.Examples of the present invention are provided to more completely explain the present invention to those of ordinary skill in the art, and the following examples may be modified in various other forms, and the scope of the present invention is as follows It is not limited to an Example. Rather, these examples are provided so as to fully convey the spirit of the present invention to those skilled in the art.

도면에서 동일 부호는 동일한 요소를 지칭한다. 또한, 본 명세서에서 사용된 바와 같이, 용어 "및/또는"은 해당 열거된 항목 중 어느 하나 및 하나 이상의 모든 조합을 포함한다.In the drawings, like reference numerals refer to like elements. Also, as used herein, the term “and/or” includes any one and all combinations of one or more of those listed items.

본 명세서에서 사용된 용어는 실시예를 설명하기 위하여 사용되며, 본 발명의 범위를 제한하기 위한 것이 아니다. 또한, 본 명세서에서 단수로 기재되어 있다 하더라도, 문맥상 단수를 분명히 지적하는 것이 아니라면, 복수의 형태를 포함할 수 있다. 또한, 본 명세서에서 사용되는 "포함한다(comprise)" 및/또는 "포함하는(comprising)"이란 용어는 언급한 형상들, 숫자, 단계, 동작, 부재, 요소 및/또는 이들 그룹의 존재를 특정하는 것이며, 다른 형상, 숫자, 동작, 부재, 요소 및/또는 그룹들의 존재 또는 부가를 배제하는 것이 아니다.The terminology used herein is used to describe the embodiment, and is not intended to limit the scope of the present invention. Also, although the singular is used herein, the plural form may be included unless the context clearly indicates the singular. Also, as used herein, the terms "comprise" and/or "comprising" specify the presence of the recited shapes, numbers, steps, actions, members, elements, and/or groups thereof. It does not preclude the presence or addition of other shapes, numbers, movements, members, elements and/or groups.

본 명세서에서 기판 또는 다른 층 "상에(on)" 형성된 층에 대한 언급은 상기 기판 또는 다른 층의 바로 위에 형성된 층을 지칭하거나, 상기 기판 또는 다른 층 상에 형성된 중간 층 또는 중간 층들 상에 형성된 층을 지칭할 수도 있다. 또한, 당해 기술 분야에서 숙련된 자들에게 있어서, 다른 형상에 "인접하여(adjacent)" 배치된 구조 또는 형상은 상기 인접하는 형상에 중첩되거나 하부에 배치되는 부분을 가질 수도 있다. Reference herein to a layer formed “on” a substrate or other layer refers to a layer formed directly on the substrate or other layer, or an intermediate layer or intermediate layers formed on the substrate or other layer. It may also refer to a layer. Also, for those skilled in the art, a structure or shape disposed "adjacent" to another shape may have a portion disposed above or below the adjacent shape.

본 명세서에서, "아래로(below)", "위로(above)", "상부의(upper)", "하부의(lower)", "수평의(horizontal)" 또는 "수직의(vertical)"와 같은 상대적 용어들은, 도면들 상에 도시된 바와 같이, 일 구성 부재, 층 또는 영역들이 다른 구성 부재, 층 또는 영역과 갖는 관계를 기술하기 위하여 사용될 수 있다. 이들 용어들은 도면들에 표시된 방향뿐만 아니라 소자의 다른 방향들도 포괄하는 것임을 이해하여야 한다.As used herein, “below”, “above”, “upper”, “lower”, “horizontal” or “vertical” Relative terms such as , as shown in the drawings, may be used to describe the relationship that one constituent member, layer or region has with another constituent member, layer or region. It should be understood that these terms encompass not only the orientation indicated in the drawings, but also other orientations of the device.

이하에서, 본 발명의 실시예들은 본 발명의 이상적인 실시예들(및 중간 구조들)을 개략적으로 도시하는 단면도들을 참조하여 설명될 것이다. 이들 도면들에 있어서, 예를 들면, 부재들의 크기와 형상은 설명의 편의와 명확성을 위하여 과장될 수 있으며, 실제 구현시, 도시된 형상의 변형들이 예상될 수 있다. 따라서, 본 발명의 실시예는 본 명세서에 도시된 영역의 특정 형상에 제한된 것으로 해석되어서는 아니 된다. 또한, 도면의 부재들의 참조 부호는 도면 전체에 걸쳐 동일한 부재를 지칭한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described with reference to cross-sectional views schematically illustrating ideal embodiments (and intermediate structures) of the present invention. In these drawings, for example, the size and shape of the members may be exaggerated for convenience and clarity of description, and in actual implementation, variations of the illustrated shape may be expected. Accordingly, embodiments of the present invention should not be construed as limited to the specific shapes of the regions shown herein. Also, reference numerals for members in the drawings refer to the same members throughout the drawings.

도 1a 내지 도 1b는 본 발명의 실시예에 따른 지연 회로의 개략적인 구성도이다. 1A to 1B are schematic configuration diagrams of a delay circuit according to an embodiment of the present invention.

도 1a를 참조하면, 지연 소자(DC1)는 제 1 지연부(BDL0), 제 2 지연부(BDL1), 그리고 제 1 지연부(BDL0)과 제 2 지연부(BDL1)를 물리적 및 논리적으로 연결시키는 논리 회로(LC1)를 포함할 수 있다. 논리 회로(LC1)는 입력 신호(IN)의 트랜지션(transition)이 발생하는 경우, 입력 신호(IN)가 제 2 지연부(BDL1)를 적어도 2회 이상 반복 통과되도록 논리 연산(logical operation)을 수행할 수 있다. 즉, 제 2 지연부(BDL1)에 의해 적어도 2회 이상 재사용되는 지연 경로가 제공될 수 있다. 제 2 지연부(BDL1)를 통해 지연된 입력 신호는 제 1 지연부(BDL0)를 1회 통과하여 출력 신호(OS)로 출력될 수 있다. 지연 소자(DC1)의 지연은 제 1 지연부(BDL0)와 제 2 지연부(BDL1)에 의해 조절될 수 있다. 일 실시예에서, 제 1 지연부(BDL0)는 생략될 수도 있으며, 본 발명이 이에 한정되는 것은 아니다. Referring to FIG. 1A , the delay element DC1 physically and logically connects the first delay unit BDL0, the second delay unit BDL1, and the first delay unit BDL0 and the second delay unit BDL1. A logic circuit LC1 may be included. When a transition of the input signal IN occurs, the logic circuit LC1 performs a logical operation so that the input signal IN repeatedly passes through the second delay unit BDL1 at least twice or more. can do. That is, a delay path that is reused at least twice or more by the second delay unit BDL1 may be provided. The input signal delayed through the second delay unit BDL1 may pass through the first delay unit BDL0 once and be output as the output signal OS. The delay of the delay element DC1 may be adjusted by the first delay unit BDL0 and the second delay unit BDL1 . In an embodiment, the first delay unit BDL0 may be omitted, but the present invention is not limited thereto.

도 1b를 참조하면, 지연 소자(DC2)는 제 1 지연부(BDL0)과 지연 경로를 각각 제공하는 m 개의 제 2 지연부들(BDL1 내지 BDLm) 및 제 2 지연부들(BDL1 내지 BDLm) 사이를 물리적 및 논리적으로 연결시키켜, 제 2 지연부들로 이루어진 재사용 지연 경로를 제공하는 논리 회로(LC1 내지 LCm)를 포함할 수 있다. 논리 회로들(LC1 내지 LCm)은 동일한 회로 구성을 가질 수 있다. 제 2 지연부들(BDL1 내지 BDLm)이 m 개 (m > 1임)인 경우, m 개의 제 2 지연부들(BDL1 내지 BDLm)은 논리 회로(LC1 내지 LCm)를 통해 서로 전기적으로 연결되어, 입력 신호를 2m, 2m-1,.., 21 회수만큼 통과시켜 제 1 지연부(BDL0)로 전달할 수 있다. m 번째 제 2 지연부(BDLm)는 입력 신호(IN)를 2회 통과시켜서 m-1 번째 제 2 지연부(BDLm-1)로 전달하고, 상기 m-1 번째 제 2 지연부(BDLm-1)는 상기 입력 신호를 통과시켜서 m-2 번째 제 2 지연부(BDLm-2)로 전달하고, 상기 m-2 번째 제 2 지연부(BDL m-2)는 2 회 상기 입력 신호를 통과시켜서 m-3 번째 제 2 지연부(BDLm-3)로 전달할 수 있다. 이와 같은 방식으로, m 개의 제 2 지연부들(BDL1 내지 BDLm)이 제공하는 지연 경로는 재사용되는 방식으로 입력 신호의 지연을 달성할 수 있다, 논리 회로(LC1 내지 LCm)에 대한 상세한 설명은 후술할 도 2a 내지 도 2c를 참조한다.Referring to FIG. 1B , the delay element DC2 includes a first delay unit BDL0 and m second delay units BDL 1 to BDL m and second delay units BDL 1 to BDL m each providing a delay path. ) by physically and logically connecting them to provide a reuse delay path composed of second delay units, the logic circuits LC 1 to LC m may be included. The logic circuits LC 1 to LC m may have the same circuit configuration. When the number of the second delay units BDL 1 to BDL m is m (m > 1), the m second delay units BDL 1 to BDL m are electrically connected to each other through the logic circuits LC 1 to LC m . to the first delay unit BDL0 by passing the input signal 2 m , 2 m-1 ,.., 2 1 times. The m-th second delay unit BDL m passes the input signal IN twice and transmits it to the m-1 th second delay unit BDL m-1 , and the m-1 th second delay unit BDL m-1 ) passes the input signal to the m-2 th second delay unit BDL m-2 , and the m-2 th second delay unit BDL m-2 receives the input signal twice. can be passed to the m-3 th second delay unit BDL m-3 . In this way, the delay path provided by the m second delay units BDL 1 to BDL m can achieve the delay of the input signal in such a way that it is reused. Detailed description of the logic circuits LC1 to LCm is Reference is made to FIGS. 2A to 2C, which will be described later.

도 2a 내지 도 2c는 본 발명의 다른 실시예에 따른 지연 회로들(DC1, DC2, DC3)를 나타내는 도면이다. 2A to 2C are diagrams illustrating delay circuits DC1, DC2, and DC3 according to another embodiment of the present invention.

도 2a를 참조하면, 지연 회로(DC1)의 논리 소자(LC1)는 입력 신호(IN)를 수신하는 입력단, 입력 신호(IN)를 출력하는 제 1 출력단 및 입력 신호(IN)를 반전시켜 출력하는 제 2 출력단을 갖는 제 1 래치 소자(D1), 제 1 래치 소자(D1)의 상기 제 1 출력단과 연결되어 제 1 래치 소자(D1)를 통과한 입력 신호(S1)를 수신하는 제 1 입력단과 입력 신호(S3)를 출력하는 출력단을 갖는 제 2 래치 소자(D2) 및 제 1 래치 소자(D1)를 제 1 시점에 인에이블시키는 동안 제 2 래치 소자(D2)를 디스에이블시키고, 제 1 시점보다 늦은 제 2 시점에 제 1 래치 소자(D1)를 디스에이블시키는 동안 제 2 래치 소자(D2)를 인에이블시켜 초기 입력 신호(IN)가 제 2 지연부(BDL1)을 2회 충돌 없이 통과되도록 제어하는 제어 회로(2개의 XOR, 1개의 NOR)를 포함할 수 있다. 입력 신호(S1)는 입력 신호(IN)가 제 1 래치 소자(D1)를 통해 출력되는 신호를 지칭하며, 입력 신호(S2)는 입력 신호(IN)가 제 1 래치 소자(D1)를 통해 반전 출력되는 신호를 지칭하고, 입력 신호(S3)는 입력 신호(S1)가 제 2 래치 소자(D2)를 통해 출력되는 신호를 지칭한다. Referring to FIG. 2A , the logic element LC1 of the delay circuit DC1 has an input terminal for receiving the input signal IN, a first output terminal for outputting the input signal IN, and inverting and outputting the input signal IN. A first latch element (D1) having a second output terminal, a first input terminal connected to the first output terminal of the first latch element (D1) to receive an input signal (S1) passing through the first latch element (D1); Disabling the second latch element D2 while enabling the second latch element D2 and the first latch element D1 having an output terminal for outputting the input signal S3 at the first time point, and at the first time point At a later second time point, the second latch element D2 is enabled while the first latch element D1 is disabled so that the initial input signal IN passes through the second delay unit BDL1 twice without collision. It may include a control circuit (two XOR, one NOR) to control. The input signal S1 refers to a signal from which the input signal IN is output through the first latch element D1 , and the input signal S2 is the input signal IN which is inverted through the first latch element D1 . Refers to an output signal, and the input signal S3 refers to a signal from which the input signal S1 is output through the second latch element D2.

일 실시예에서, 상기 제어 소자는, 입력 신호(IN)와 제 1 래치 소자(D1)의 제 2 출력단으로부터의 반전 입력 신호(S2)를 입력으로 0 또는 1를 출력하는 제 1 XOR 소자(XOR1), 제 2 래치 소자(D2)의 출력단으로부터 출력되는 입력 신호(S3)와 제 1 래치 소자(D1)의 출력단으로부터 출력되는 입력 신호(S1)를 입력으로 0 또는 1를 출력하는 제 2 XOR 소자(XOR2) 및 제 1 XOR 소자(XOR1)의 출력 신호와 제 2 XOR 소자(XOR2)의 출력 신호를 입력으로 0 또는 1를 출력하여 제 1 래치 소자(D1)를 인에이블 또는 디스에이블시키는 NOR 소자(NOR)를 포함할 수 있다. 제 2 지연부(BDL1)은 제 1 XOR 소자(XOR1)의 출력단과 NOR 소자(NOR)의 입력단 사이에 배치되며, 제 1 XOR 소자(XOR1)의 출력 신호를 지연시켜 NOR 소자(NOR)의 입력단과 제 2 래치 소자(D2)의 입력단으로 제공할 수 있다. 여기서, 제 1 XOR 소자(XOR1) 및 제 2 지연부(BDL1)를 통해 제 2 래치 소자(D2)의 입력단에 제공되는 신호는 제 2 래치 소자(D2)를 인에이블 또는 디스에이블시키는 제어 신호로서 이용될 수 있다. In one embodiment, the control element is a first XOR element XOR1 that outputs 0 or 1 to the input signal IN and the inverted input signal S2 from the second output terminal of the first latch element D1. ), a second XOR element that outputs 0 or 1 to the input signal S3 output from the output terminal of the second latch element D2 and the input signal S1 output from the output terminal of the first latch element D1 as inputs A NOR element for enabling or disabling the first latch element D1 by outputting 0 or 1 to (XOR2) and the output signal of the first XOR element XOR1 and the output signal of the second XOR element XOR2 as inputs (NOR). The second delay unit BDL1 is disposed between the output terminal of the first XOR element XOR1 and the input terminal of the NOR element NOR, and delays the output signal of the first XOR element XOR1 to the input terminal of the NOR element NOR. and an input terminal of the second latch element D2. Here, the signal provided to the input terminal of the second latch element D2 through the first XOR element XOR1 and the second delay unit BDL1 is a control signal for enabling or disabling the second latch element D2. can be used

일 실시예에서, 제 1 XOR 소자(XOR1)의 입력단과 제 1 래치 소자(D1)의 상기 제 2 출력단은 연결되며, 제 2 XOR 소자(XOR2)의 제 1 입력단과 제 1 래치 소자(D1)의 상기 제 1 출력단과 연결되고, 제 2 XOR 소자(XOR2)의 제 2 입력단과 제 2 래치 소자(D2)의 출력단과 연결되고, NOR 소자(NOR)의 출력단과 제 1 래치 소자(D1)의 제 2 입력단과 연결될 수 있다. 또한, 제 1 XOR 소자(XOR1)의 출력단은 NOR 소자(NOR)의 제 1 입력단 및 제 2 래치 소자(D2)의 제 2 입력단과 연결될 수 있다. NOR 소자(NOR)의 제 2 입력단과 제 2 XOR 소자(XOR2)의 출력단이 연결될 수 있다. In one embodiment, the input terminal of the first XOR element XOR1 and the second output terminal of the first latch element D1 are connected, and the first input terminal of the second XOR element XOR2 and the first latch element D1 are connected. connected to the first output of It may be connected to the second input terminal. Also, an output terminal of the first XOR element XOR1 may be connected to a first input terminal of the NOR element NOR and a second input terminal of the second latch element D2 . A second input terminal of the NOR element NOR and an output terminal of the second XOR element XOR2 may be connected.

일 실시예에서, 제 1 지연부(BDL0) 또는 제 2 지연부(BDL1)은, 체인 형태로 적어도 하나의 버퍼 또는 인버터가 직렬 연결될 수 있다. 지연 회로(DC)의 지연은 제 1 지연부(BDL0) 및 제 2 지연부(BDL1)의 총 버퍼 수에 의해 조절될 수 있다. 또는, 제 1 지연부(BDL0) 및 제 2 지연부(BDL1)는 버퍼 혹은 인버터 없이 구성될 수도 있다.In an embodiment, at least one buffer or inverter may be serially connected to the first delay unit BDL0 or the second delay unit BDL1 in a chain form. The delay of the delay circuit DC may be adjusted by the total number of buffers of the first delay unit BDL0 and the second delay unit BDL1 . Alternatively, the first delay unit BDL0 and the second delay unit BDL1 may be configured without a buffer or an inverter.

일 실시예에서, 초기 입력 신호(IN1)는 제 1 XOR 소자(XOR1), 제 2 지연부(BDL1) 및 NOR 소자(NOR)를 거처서 제 2 지연부(BDL1)를 1 회 통과하게 된다. 이때, NOR 소자(NOR)의 출력 신호에 의해 제 1 래치 소자(D1)가 인에이블되어, 반전 입력 신호(S2)는 제 1 XOR 소자(XOR1)로 입력되지만, 제 2 래치 소자(D2)는 디스에이블되어 있어 제 1 래치 소자(D1)로부터 출력되는 입력 신호(S1)는 제 2 래치 소자(D2)에 저장되지 않는다. In an embodiment, the initial input signal IN 1 passes through the first XOR element XOR1 , the second delay unit BDL1 , and the NOR element NOR to pass through the second delay unit BDL1 once. At this time, the first latch element D1 is enabled by the output signal of the NOR element NOR, and the inverted input signal S2 is input to the first XOR element XOR1, but the second latch element D2 is Since it is disabled, the input signal S1 output from the first latch element D1 is not stored in the second latch element D2.

이후, 반전 입력 신호(S2)에 의해, 입력 신호(IN2)는 제 1 XOR 소자(XOR1), 제 2 지연부(BDL1) 및 NOR 소자(NOR)를 거처서 제 2 지연부(BDL1)를 2 회 통과하게 된다. 이때, NOR 소자(NOR)의 출력 신호에 의해 제 1 래치 소자(D1)가 디스에이블되고, 제 2 래치 소자(D2)가 인에이블되어, 제 1 래치 소자(D1)로부터 출력된 입력 신호(S1)은 제 2 래치 소자(D2)에 저장되어 출력될 수 있다. Thereafter, by the inverted input signal S2 , the input signal IN 2 passes through the first XOR element XOR1 , the second delay unit BDL1 and the NOR element NOR to pass the second delay unit BDL1 to 2 will pass through At this time, the first latch element D1 is disabled by the output signal of the NOR element NOR, the second latch element D2 is enabled, and the input signal S1 outputted from the first latch element D1 is ) may be stored in the second latch element D2 and output.

도 2b를 참조하면, 지연 소자(DC2)는 제 1 논리 소자(LC1), 제 2 논리 소자(LC2), 제 1 지연부(BDL0), 제 2 지연부(BDL1) 및 제 3 지연부(BDL2)를 포함할 수 있다. 일 실시예에서, 제 1 지연부(BDL0), 제 2 지연부(BDL1) 및 제 3 지연부(BDL2)는 버퍼 체인 또는 인버터 체인으로 구성될 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 직렬 연결된 복수의 D 래치 소자를 통해 지연부가 구성될 수도 있다. 논리 소자(LC1) 및 논리 소자(LC2)는 각각 제 1 래치 소자(D1), 제 2 래치 소자(D2), 제어 회로(2개의 XOR, 1개의 NOR)를 포함할 수 있다. 모순되지 않는 한, 제 1 래치 소자(D1), 제 2 래치 소자(D2), 제어 회로에 대한 설명은 도 2a의 제 1 래치 소자(D1), 제 2 래치 소자(D2), 제어 회로에 대한 설명을 참조할 수 있다.Referring to FIG. 2B , the delay element DC2 includes a first logic element LC1 , a second logic element LC2 , a first delay unit BDL0 , a second delay unit BDL1 , and a third delay unit BDL2 . ) may be included. In an embodiment, the first delay unit BDL0, the second delay unit BDL1, and the third delay unit BDL2 may be configured as a buffer chain or an inverter chain. However, the present invention is not limited thereto, and the delay unit may be configured through a plurality of D latch elements connected in series. The logic element LC1 and the logic element LC2 may each include a first latch element D1 , a second latch element D2 , and a control circuit (two XORs and one NOR). Unless contradicted, the descriptions of the first latch element D1, the second latch element D2, and the control circuit refer to the first latch element D1, the second latch element D2, and the control circuit in FIG. 2A. You can refer to the description.

일 실시예에서, 제 2 논리 소자(LC2)는 제 1 논리 소자(LC1)의 XOR 소자(XOR1)와 제 2 지연부(BDL1) 사이에 배치될 수 있으며, 제 2 논리 소자(LC2)의 출력 신호(S3)는 제 2 지연부(BDL1)를 통해 제 1 논리 소자(LC1)의 NOR 소자(NOR)의 입력단으로 제공되며, 제 1 논리 소자(LC1)의 제 1 XOR 소자(XOR1)의 출력 신호는 제 2 논리 소자(LC2)의 제 1 XOR 소자(XOR1)의 입력단으로 제공될 수 있다. 제 3 지연부(BDL2)는 제 2 논리 소자(LC2)의 NOR 소자(NOR)와 제 1 XOR 소자(XOR1) 사이에 배치될 수 있다. 제 1 지연부(BDL0)는 제 1 논리 소자(LC1)의 출력단과 연결되어 출력 신호(S3)를 지연 전달시킬 수 있다. In an embodiment, the second logic element LC2 may be disposed between the XOR element XOR1 of the first logic element LC1 and the second delay unit BDL1 , and the output of the second logic element LC2 is The signal S3 is provided to the input terminal of the NOR element NOR of the first logic element LC1 through the second delay unit BDL1 , and is output from the first XOR element XOR1 of the first logic element LC1 . The signal may be provided to an input terminal of the first XOR element XOR1 of the second logic element LC2 . The third delay unit BDL2 may be disposed between the NOR element NOR of the second logic element LC2 and the first XOR element XOR1 . The first delay unit BDL0 may be connected to the output terminal of the first logic element LC1 to delay the output signal S3 .

일 실시예에서, 제 1 논리 소자(LC1)의 제 1 래치 소자(D1)가 동작(enable)하기 위해서 제 2 논리 소자(LC2)의 제 1 래치 소자(D1)와 제 2 래치 소자(D2)가 순차적으로 동작(enable)되어야 한다. 여기서, 제 2 논리 소자(LC2)의 제 2 래치 소자(D2)가 동작(enable)되기 위해서는 입력 신호(IN) 가 제 3 지연부(BDL2)를 2회 반복 통과해야 한다. 구체적으로, 입력 신호(IN)가 제 3 지연부(BDL2)를 1회 통과할 때, 제 2 논리 소자(LC2)의 제 1 래치 소자(D1)는 동작(enable)되고 제 2 논리 소자(LC2)의 제 2 래치 소자(D2)는 비동작(disable)하며, 입력 신호(IN)가 제 3 지연부(BDL2)를 2회 다시 통과할 때(또는 제 2 논리 소자(LC2)의 제 2 래치 소자(D2)의 반전 신호(S2)가 제 1 XOR 소자(XOR1)로 입력될 때), 제 2 논리 소자(LC2)의 제 1 래치 소자(D1)는 비동작(disable)되고 제 2 논리 소자(LC2)의 제 2 래치 소자(D2)는 동작(enable)되어 입력 신호(IN)가 제 2 지연부(BDL1)로 전달될 수 있다. 이후, 제 2 지연부(BDL1)를 통과한 입력 신호(IN)는 제 1 논리 소자(LC1)의 NOR 소자(NOR)를 통과하여 제 1 래치 소자(D1)가 동작(enable)시킨다. In one embodiment, in order to enable the first latch element D1 of the first logic element LC1 , the first latch element D1 and the second latch element D2 of the second logic element LC2 are enabled. should be enabled sequentially. Here, in order to enable the second latch element D2 of the second logic element LC2 , the input signal IN must pass through the third delay unit BDL2 repeatedly twice. Specifically, when the input signal IN passes through the third delay unit BDL2 once, the first latch element D1 of the second logic element LC2 is enabled and the second logic element LC2 ) of the second latch element D2 is disabled, and when the input signal IN passes through the third delay unit BDL2 again twice (or the second latch of the second logic element LC2) When the inverted signal S2 of the element D2 is input to the first XOR element XOR1), the first latch element D1 of the second logic element LC2 is disabled and the second logic element The second latch element D2 of LC2 may be enabled to transmit the input signal IN to the second delay unit BDL1. Thereafter, the input signal IN passing through the second delay unit BDL1 passes through the NOR element NOR of the first logic element LC1 to enable the first latch element D1.

제 1 논리 소자(LC1)의 제 1 래치 소자(D1)가 동작(enable)된 후, 제 1 논리 소자(LC1)의 제 1 래치 소자(D1)로부터 출력되는 반전 신호(S2)는 제 1 논리 소자(LC1)의 제 1 XOR 소자(XOR1)로 입력되며, 이때 제 1 논리 소자(LC1)의 제 1 XOR 소자(XOR1)의 출력 신호는 제 2 논리 소자(LC2)의 제 1 XOR 소자(XOR1)로 다시 입력될 수 있다. 이후, 제 1 논리 소자(LC1)의 제 1 XOR 소자(XOR1)의 출력 신호는 다시 제 3 지연부(BDL2)를 2회 통과함으로써, 제 1 논리 소자(LC1)의 제 1 래치 소자(D1)를 비동작(disable)시키고 제 1 논리 소자(LC1)의 제 2 래치 소자(D2)를 동작(enable)시킬 수 있다. 전술한 바와 같이, 지연 소자(DC2)의 입력 신호(IN)는 제 3 지연부(BDL2)를 총 4회(=22)를 반복 통과하며, 제 2 지연부(BDL1)를 총 2회(=21)를 통과하게 되므로, 지연 버퍼의 개수를 감소시 수 있다. 그에 따라, 본 발명의 실시예에 따르면, 지연 버퍼의 개수를 감소시킬 수 있기 때문에, 지연 버퍼의 개수 증가에 따른 면적 오버헤드(area overhead) 및/또는 누설 전력과 같은 문제를 해소할 수 있다. 일 실시예에서, 본 발명의 실시예에 따른 지연 회로가 클럭 네트워크를 대체하는 비동기 회로의 타이밍 조절 회로에 적용될 경우, 저전력 고성능 반도체 칩을 제공할 수 있는 이점이 있다.After the first latch element D1 of the first logic element LC1 is enabled, the inverted signal S2 output from the first latch element D1 of the first logic element LC1 is the first logic It is input to the first XOR element XOR1 of the element LC1 , and in this case, the output signal of the first XOR element XOR1 of the first logic element LC1 is the first XOR element XOR1 of the second logic element LC2 ) can be re-entered. Thereafter, the output signal of the first XOR element XOR1 of the first logic element LC1 passes through the third delay unit BDL2 twice again, so that the first latch element D1 of the first logic element LC1 may be disabled and the second latch element D2 of the first logic element LC1 may be enabled. As described above, the input signal IN of the delay element DC2 repeatedly passes through the third delay unit BDL2 a total of four times (=2 2 ), and passes through the second delay unit BDL1 a total of two times ( =21), so the number of delay buffers can be reduced. Accordingly, according to an embodiment of the present invention, since the number of delay buffers can be reduced, problems such as area overhead and/or leakage power caused by an increase in the number of delay buffers can be solved. In one embodiment, when the delay circuit according to an embodiment of the present invention is applied to a timing control circuit of an asynchronous circuit replacing a clock network, there is an advantage in that a low-power, high-performance semiconductor chip can be provided.

도 2c를 참조하면, 지연 소자(DC3)는 제 1 논리 소자(LC1), 제 2 논리 소자(LC2), 제 3 논리 소자(LC3), 제 1 지연부(BDL0), 제 2 지연부(BDL1), 제 3 지연부(BDL2) 및 제 4 지연부(BDL3)를 포함할 수 있다. 일 실시예에서, 제 1 지연부(BDL0), 제 2 지연부(BDL1), 제 3 지연부(BDL2) 및 제 4 지연부(BDL3)는 버퍼 체인 또는 인버터 체인으로 구성될 수 있다. 직렬 연결된 복수의 D 래치 소자를 통해 지연부가 구성될 수도 있다. 논리 소자(LC1), 논리 소자(LC2), 논리 소자(LC3)는 각각 제 1 래치 소자(D1), 제 2 래치 소자(D2), 제어 회로(2개의 XOR, 1개의 NOR)를 포함할 수 있다. 모순되지 않는 한, 제 1 래치 소자(D1), 제 2 래치 소자(D2), 제어 회로에 대한 설명은 도 2a의 제 1 래치 소자(D1), 제 2 래치 소자(D2), 제어 회로에 대한 설명을 참조할 수 있다. Referring to FIG. 2C , the delay element DC3 includes a first logic element LC1 , a second logic element LC2 , a third logic element LC3 , a first delay unit BDL0 , and a second delay unit BDL1 . ), a third delay unit BDL2 and a fourth delay unit BDL3 may be included. In an embodiment, the first delay unit BDL0, the second delay unit BDL1, the third delay unit BDL2, and the fourth delay unit BDL3 may be configured as a buffer chain or an inverter chain. The delay unit may be configured through a plurality of D latch elements connected in series. The logic element LC1, the logic element LC2, and the logic element LC3 may each include a first latch element D1, a second latch element D2, and a control circuit (two XORs, one NOR). have. Unless contradicted, the descriptions of the first latch element D1, the second latch element D2, and the control circuit refer to the first latch element D1, the second latch element D2, and the control circuit in FIG. 2A. You can refer to the description.

일 실시예에서, 제 3 논리 소자(LC3)는 제 2 논리 소자(LC2)의 XOR 소자(XOR1)와 제 3 지연부(BDL2) 사이에 배치되며, 제 2 논리 소자(LC2)는 제 1 논리 소자(LC1)의 XOR 소자(XOR1)와 제 2 지연부(BDL1) 사이에 배치될 수 있다. 또한, 제 1 논리 소자(LC1)의 제 1 래치 소자(D1)가 동작(enable)하기 위해서 제 2 논리 소자(LC2)의 제 2 래치 소자(D2)가 동작(enable)해야 하며, 제 2 논리 소자(LC2)의 제 2 래치 소자(D2)를 동작(enable)하기 위해서는 제 2 논리 소자(LC2)의 제 1 래치 소자(D1)가 비동작해야 하며, 이를 위해서 제 3 논리 소자(LC3)의 제 2 래치 소자(D2)는 제 2 논리 소자(LC2)의 제 1 래치 소자(D1)를 동작에서 비동작으로 전환시키는 신호를 제공할 수 있다. In an embodiment, the third logic element LC3 is disposed between the XOR element XOR1 of the second logic element LC2 and the third delay unit BDL2, and the second logic element LC2 includes the first logic element LC2. It may be disposed between the XOR element XOR1 of the element LC1 and the second delay unit BDL1 . In addition, in order for the first latch element D1 of the first logic element LC1 to be enabled, the second latch element D2 of the second logic element LC2 must be enabled, and the second logic element D1 must be enabled. In order to enable the second latch element D2 of the element LC2, the first latch element D1 of the second logic element LC2 must be inactive. To this end, the third logic element LC3 is The second latch element D2 may provide a signal for switching the first latch element D1 of the second logic element LC2 from operation to non-operation.

여기서, 제 1 논리 소자(LC1)의 제 1 래치 소자(D1)가 disable에서 enable되고 제 1 논리 소자(LC1)의 제 2 래치 소자(D2)가 disable를 유지하기 위해서는 입력 신호(IN)가 제 4 지연부(BDL3)를 4회 통과하고 이후 제 3 지연부(BDL2)를 2회 통과해야 한다. 이후, 제 1 논리 소자(LC1)의 제 1 래치 소자(D1)가 다시 enable에서 disable되고 제 1 논리 소자(LC1)의 제 2 래치 소자(D2)가 disable에서 enable되기 위해서 입력 신호(IN)가 제 4 지연부(BDL3)를 4회 통과하고 이후 제 3 지연부(BDL2)를 2회 통과해야 한다. 결론적으로, 입력 신호(IN)가 제 1 지연부(BDL0)를 통과하여 출력하기 위해서, 입력 신호(IN)는 제 4 지연부(BDL3)를 8회(=23) 통과하고, 제 3 지연부(BDL2)를 4회(=22) 통과하고, 제 2 지연부(BDL1)를 2회(=21) 통과해야 한다. Here, in order for the first latch element D1 of the first logic element LC1 to be enabled in disable and the second latch element D2 of the first logic element LC1 to maintain disable, the input signal IN is 4 It must pass through the delay unit BDL3 four times and then pass through the third delay unit BDL2 twice. Thereafter, the input signal IN is applied so that the first latch element D1 of the first logic element LC1 is again disabled in enable and the second latch element D2 of the first logic element LC1 is enabled in disable. It must pass through the fourth delay unit BDL3 four times and then pass through the third delay unit BDL2 twice. Consequently, in order for the input signal IN to pass through the first delay unit BDL0 and output, the input signal IN passes through the fourth delay unit BDL3 eight times (=2 3 ), and the third delay It must pass through the section BDL2 4 times (=2 2 ) and pass through the second delay section BDL1 twice (=2 1 ).

구체적인 동작을 살펴보면, 입력 신호(IN)가 제 4 지연부(BDL3)를 1회 통과할 때, 제 3 논리 소자(LC3)의 제 1 래치 소자(D1)는 동작(enable)되고 제 3 논리 소자(LC3)의 제 2 래치 소자(D2)는 비동작(disable)하며, 이후 입력 신호(IN)가 제 4 지연부(BDL3)를 2회 통과할 때(또는 제 3 논리 소자(LC3)의 제 1 래치 소자(D1)의 반전 신호(S2)가 제 3 논리 소자(LC3)의 제 1 XOR 소자(XOR1)으로 입력될 때), 제 3 논리 소자(LC3)의 제 1 래치 소자(D1)는 비동작(disable)되고 제 3 논리 소자(LC3)의 제 2 래치 소자(D2)는 동작(enable)되어 입력 신호(IN)가 제 3 지연부(BDL2)으로 전달되어, 제 2 논리 소자(LC2)의 제 1 래치 소자(D1)를 enable 시킬 수 있다. Specifically, when the input signal IN passes through the fourth delay unit BDL3 once, the first latch element D1 of the third logic element LC3 is enabled and the third logic element is activated. The second latch element D2 of LC3 is disabled, and thereafter, when the input signal IN passes through the fourth delay unit BDL3 twice (or the third logic element LC3) When the inverted signal S2 of the first latch element D1 is input to the first XOR element XOR1 of the third logic element LC3), the first latch element D1 of the third logic element LC3 is It is disabled and the second latch element D2 of the third logic element LC3 is enabled, and the input signal IN is transferred to the third delay unit BDL2, and the second logic element LC2 ) of the first latch element D1 may be enabled.

이후, 제 2 논리 소자(LC2)의 제 1 래치 소자(D1)의 반전 신호(S2)는 제 2 논리 소자(LC2)의 제 1 XOR 소자(XOR1)로 전달되고 제 2 논리 소자(LC2)의 제 1 XOR 소자(XOR1)의 출력 신호는 다시 제 3 논리 소자(LC3)의 제 1 XOR 소자(XOR1)로 전달되어 입력 신호(IN)가 제 4 지연부(BDL3)를 3회 통과하게 된다. 이때, 제 3 논리 소자(LC3)의 제 1 래치 소자(D1)는 비동작(disable)에서 동작(enable)되고 제 3 논리 소자(LC3)의 제 2 래치 소자(D2)는 비동작(disable)한다. 이후 입력 신호(IN)가 제 4 지연부(BDL3)를 4회 통과할 때(또는 제 3 논리 소자(LC3)의 제 1 래치 소자(D1)의 반전 신호(S2)가 제 1 XOR 소자(XOR1)로 입력될 때), 제 3 논리 소자(LC3)의 제 1 래치 소자(D1)는 비동작(disable)되고 제 3 논리 소자(LC3)의 제 2 래치 소자(D2)는 동작(enable)되어 입력 신호(IN)가 제 3 지연부(BDL2)으로 전달되어, 제 2 논리 소자(LC2)의 제 1 래치 소자(D1)는 disable되고 제 2 래치 소자(D2)는 enable된다. Thereafter, the inversion signal S2 of the first latch element D1 of the second logic element LC2 is transferred to the first XOR element XOR1 of the second logic element LC2 and the The output signal of the first XOR element XOR1 is again transferred to the first XOR element XOR1 of the third logic element LC3 so that the input signal IN passes through the fourth delay unit BDL3 three times. In this case, the first latch element D1 of the third logic element LC3 is enabled in the disabled state, and the second latch element D2 of the third logic element LC3 is disabled. do. Afterwards, when the input signal IN passes through the fourth delay unit BDL3 four times (or the inverted signal S2 of the first latch element D1 of the third logic element LC3 is changed to the first XOR element XOR1 ) )), the first latch element D1 of the third logic element LC3 is disabled and the second latch element D2 of the third logic element LC3 is enabled. The input signal IN is transmitted to the third delay unit BDL2 , so that the first latch element D1 of the second logic element LC2 is disabled and the second latch element D2 is enabled.

이후, 제 2 논리 소자(LC2) 및 제 2 지연부(BDL1)를 걸쳐 통과한 입력 신호(IN)는 제 1 논리 소자(LC1)의 NOR 소자(NOR)를 통과하여 제 1 논리 소자(LC1)의 제 1 래치 소자(D1)가 동작(enable)된다. 그리고 제 1 논리 소자(LC1)의 제 1 래치 소자(D1)가 동작(enable)된 후, 제 1 논리 소자(LC1)의 제 1 래치 소자(D1)의 반전 신호(S2)는 제 1 논리 소자(LC1)의 제 1 XOR 소자(XOR1)로 입력되며, 이때 제 1 논리 소자(LC1)의 제 1 XOR 소자(XOR1)의 출력 신호는 제 2 논리 소자(LC2)의 제 1 XOR 소자(XOR1)를 통해 제 3 논리 소자(LC3)의 제 1 XOR 소자(XOR1)로 다시 입력될 수 있다. Thereafter, the input signal IN passing through the second logic element LC2 and the second delay unit BDL1 passes through the NOR element NOR of the first logic element LC1 to the first logic element LC1 . of the first latch element D1 is enabled. And after the first latch element D1 of the first logic element LC1 is enabled, the inverted signal S2 of the first latch element D1 of the first logic element LC1 becomes the first logic element It is input to the first XOR element XOR1 of LC1, and in this case, the output signal of the first XOR element XOR1 of the first logic element LC1 is the first XOR element XOR1 of the second logic element LC2 may be input back to the first XOR element XOR1 of the third logic element LC3 through

이때 입력 신호(IN)가 제 4 지연부(BDL3)를 5회 통과하게 되며, 제 3 논리 소자(LC3)의 제 1 래치 소자(D1)는 동작(enable)되고 제 3 논리 소자(LC3)의 제 2 래치 소자(D2)는 비동작(disable)한다. 이후 입력 신호(IN) 가 제 4 지연부(BDL3)를 6회 통과할 때(또는 제 3 논리 소자(LC3)의 제 1 래치 소자(D1)의 반전 신호(S2)가 제 3 논리 소자(LC3)의 제 1 XOR 소자(XOR1)로 입력될 때), 제 3 논리 소자(LC3)의 제 1 래치 소자(D1)는 비동작(disable)되고 제 3 논리 소자(LC3)의 제 2 래치 소자(D2)는 동작(enable)되어 입력 신호(IN)가 제 3 지연부(BDL2)로 전달되어, 제 2 논리 소자(LC2)의 제 1 래치 소자(D1)를 enable 시킬 수 있다. At this time, the input signal IN passes through the fourth delay unit BDL3 five times, the first latch element D1 of the third logic element LC3 is enabled, and the third logic element LC3 is activated. The second latch element D2 is disabled. Then, when the input signal IN passes through the fourth delay unit BDL3 six times (or the inverted signal S2 of the first latch element D1 of the third logic element LC3 is ) of the first XOR element XOR1), the first latch element D1 of the third logic element LC3 is disabled and the second latch element ( D2 is enabled to transmit the input signal IN to the third delay unit BDL2 to enable the first latch element D1 of the second logic element LC2.

이후, 제 2 논리 소자(LC2)의 제 1 래치 소자(D1)의 반전 신호(S2)는 제 2 논리 소자(LC2)의 제 1 XOR 소자(XOR1)로 전달되고 제 2 논리 소자(LC2)의 제 1 XOR 소자(XOR1)의 출력 신호는 다시 제 3 논리 소자(LC3)의 제 1 XOR 소자(XOR1)로 전달되어 입력 신호(IN)가 제 4 지연부(BDL3)를 7회 통과하게 된다. 이때, 제 3 논리 소자(LC3)의 제 1 래치 소자(D1)는 비동작(disable)에서 동작(enable)되고 제 3 논리 소자(LC3)의 제 2 래치 소자(D2)는 비동작(disable)한다. 이후 입력 신호(IN)가 제 4 지연부(BDL3)를 8회 통과할 때(또는 제 3 논리 소자(LC3)의 제 1 래치 소자(D1)의 반전 신호(S2)가 제 3 논리 소자(LC3)의 제 1 XOR 소자(XOR1)로 입력될 때), 제 3 논리 소자(LC3)의 제 1 래치 소자(D1)는 비동작(disable)되고 제 3 논리 소자(LC3)의 제 2 래치 소자(D2)는 동작(enable)되어 입력 신호(IN) 가 제 4 지연부(BDL3)으로 전달되며, 제 2 논리 소자(LC2)의 제 1 래치 소자(D1)는 disable되고 제 2 래치 소자(D2)는 enable된다. Thereafter, the inversion signal S2 of the first latch element D1 of the second logic element LC2 is transferred to the first XOR element XOR1 of the second logic element LC2 and the The output signal of the first XOR element XOR1 is again transferred to the first XOR element XOR1 of the third logic element LC3 so that the input signal IN passes through the fourth delay unit BDL3 seven times. In this case, the first latch element D1 of the third logic element LC3 is enabled in the disabled state, and the second latch element D2 of the third logic element LC3 is disabled. do. Thereafter, when the input signal IN passes through the fourth delay unit BDL3 eight times (or the inverted signal S2 of the first latch element D1 of the third logic element LC3 is ) of the first XOR element XOR1), the first latch element D1 of the third logic element LC3 is disabled and the second latch element ( D2) is enabled to transmit the input signal IN to the fourth delay unit BDL3, the first latch element D1 of the second logic element LC2 is disabled, and the second latch element D2 is enabled.

이후, 제 2 논리 소자(LC2) 및 제 2 지연부(BDL1)를 걸쳐서 통과한 입력 신호(IN)는 제 1 논리 소자(LC1)의 NOR 소자(NOR)를 통과하여 제 1 논리 소자(LC1)의 제 1 래치 소자(D1)가 비동작(disable)시키고 제 1 논리 소자(LC1)의 제 2 래치 소자(D2)를 동작(enable)시킬 수 있다. 이때, 제 1 논리 소자(LC1)의 제 2 래치 소자(D2)로부터의 출력되는 입력 신호(S3)가 제 1 지연부(BDL0)로 출력될 수 있다. Thereafter, the input signal IN passing through the second logic element LC2 and the second delay unit BDL1 passes through the NOR element NOR of the first logic element LC1 to the first logic element LC1 . of the first latch element D1 may be disabled and the second latch element D2 of the first logic element LC1 may be enabled. In this case, the input signal S3 output from the second latch element D2 of the first logic element LC1 may be output to the first delay unit BDL0.

전술한 바와 같이, 지연 소자(DC3)의 입력 신호(IN)는 제 4 지연부(BDL3)를 총 8회(=23)를 반복 통과하며, 제 3 지연부(BDL2)를 총 4회(=22)를 반복 통과하며, 제 2 지연부(BDL1)를 총 2회(=21)를 통과하게 되므로, 지연 버퍼의 개수를 줄일 수 있다. 일 실시예에서, 입력 신호(IN)가 M개의 지연부(BDL1 내지 BDLm)들을 적어도 2회 이상 통과되도록 지연 경로를 제공할 수 있다. M 개의 지연부들은 서로 전기적으로 연결될 때, 입력 신호(IN)는 지연부 (BDLm)를 총 2m회를 통과하고, 지연부(BDLm-1)를 2m-1회를 통과하며, 지연부 (BDL1)를 총 2회(=21)를 통과하게 된다.As described above, the input signal IN of the delay element DC3 repeatedly passes through the fourth delay unit BDL3 a total of 8 times (=2 3 ), and passes through the third delay unit BDL2 a total of 4 times ( =2 2 ) and passes through the second delay unit BDL1 a total of two times (=2 1 ), so that the number of delay buffers can be reduced. In an embodiment, a delay path may be provided so that the input signal IN passes through the M delay units BDL 1 to BDL m at least twice or more. When the M delay units are electrically connected to each other, the input signal IN passes through the delay unit BDL m a total of 2 m times and passes through the delay unit BDL m-1 2 m-1 times, The delay unit (BDL 1 ) is passed through a total of two times (=2 1 ).

도 3은 본 발명의 실시예에 따른 복수의 처리단으로 구성된 파이프라인 구조의 개략적인 비동기 회로이다. 3 is a schematic asynchronous circuit of a pipeline structure composed of a plurality of processing stages according to an embodiment of the present invention.

도 3을 참조하면, 파이프라인 구조의 비동기 회로는 n 개의 파이프라인 단계(pipeline stage)로 구성될 수 있다. 상기 파리프라인 구조는 처리 단계의 출력이 다음 처리 단계의 입력으로 이어지는 형태로 연결된 구조이다. 일 실시예에서, 각 처리 단계는 동일한 또는 서로 다른 조합 회로(CC1, CC2,..., CCn)로 구성될 수 있다. 제 1 조합 회로(CC1)는 송신단으로부터 데이터를 입력받아 처리하고 상기 처리된 데이터를 제 2 조합 회로(CC2)로 출력할 수 있으며, 제 n 조합 회로(CCn)는 제 n-1 조합 회로(CCn-1)으로부터 출력된 데이터를 입력받아 처리하고 처리된 데이터를 수신단으로 출력할 수 있다. 상기 조합 회로는 모듈로 정의될 수 있다. Referring to FIG. 3 , an asynchronous circuit having a pipeline structure may include n pipeline stages. The flyline structure is a structure in which an output of a processing step is connected in a manner that leads to an input of a next processing step. In one embodiment, each processing step may consist of the same or different combinational circuits CC 1 , CC 2 ,..., CC n . The first combination circuit (CC 1 ) may receive data from the transmitting end, process it, and output the processed data to the second combination circuit (CC 2 ), and the n-th combination circuit (CC n ) is an n-1th combination The data output from the circuit CC n-1 may be received and processed, and the processed data may be output to the receiving end. The combination circuit may be defined as a module.

일 실시예에서, 파이프라인 구조의 비동기 회로는 핸드셰이킹 프로토콜에 기반하여 파이프라인 단계 간에 또는 모듈 간에 데이터 전달을 수행할 수 있다. 상기 핸드셰이킹 프로토콜은 이웃한 모듈 간에 데이터선 이외에 요구(request) 신호와 확인(acknowledge) 신호를 추가로 사용한다. 이웃한 모듈의 동작 개시가 필요할 경우 동작 시작을 알리는 요구 신호가 송신 모듈에서 수신 모듈로 전송되고, 상기 요구 신호를 수신한 수신 모듈은 연산을 시작할 수 있다. 상기 연산이 완료되면 확인 신호를 상기 요구 신호를 전송한 송신 모듈로 보내 동작이 종료되었음을 지시한다. In one embodiment, the asynchronous circuit of the pipeline structure may perform data transfer between pipeline stages or between modules based on a handshaking protocol. The handshaking protocol additionally uses a request signal and an acknowledgment signal in addition to a data line between neighboring modules. When it is necessary to start an operation of a neighboring module, a request signal indicating the start of the operation is transmitted from the transmitting module to the receiving module, and the receiving module receiving the request signal may start an operation. When the operation is completed, a confirmation signal is sent to the transmission module that transmitted the request signal to indicate that the operation is finished.

또한, 전송 데이터의 심볼과 상기 심볼의 시작 시점이 가변적인 파이프라인 구조의 비동기 회로에서는 이벤트의 유효성을 알려주는 정확한 천이(transition)가 필요하다. 정확한 천이를 생성(송신단 입장에서) 또는 감지(수신단 입장에서)하기 위해 시그널링 방식과 데이터 인코딩 방식을 사용할 수 있다. 각 방식에 따라서 여러 가지 구현 방식이 가능하고, 아울러 비동기식 핸드셰이킹 방식은 채널 종류에 따라서도 다양한 방식으로 구현될 수 있다. In addition, in an asynchronous circuit having a pipeline structure in which a symbol of transmission data and a start time of the symbol are variable, an accurate transition indicating the validity of an event is required. A signaling scheme and a data encoding scheme can be used to generate (from the transmitter side) or detect (the receiver side) an accurate transition. Various implementation methods are possible according to each method, and the asynchronous handshaking method may be implemented in various ways according to channel types.

상기 시그널링 방식은 데이터의 유효 시점과 데이터 처리의 완료를 의미하는 요구(request), 확인(acknowledge) 신호 쌍의 상승(rising), 하강(falling) 중 한쪽만 사용하느냐, 아니면 모두 사용하는가에 따라서 4-phase(한쪽 사용), 2-phase(양쪽 사용)로 구분된다. 4-phase 시그널링이 항상 초기화 상태(space state)를 거쳐야 하고, 2-phase 시그널링에는 초기화 상태(space state)가 존재하지 않는다.The signaling method is 4 depending on whether only one of the rising and falling of the request and acknowledgment signal pairs, which means the data validity time and the completion of data processing, is used or all are used. It is divided into -phase (use one side) and two-phase (use both sides). 4-phase signaling must always go through an initialization state (space state), and 2-phase signaling does not have an initialization state (space state).

묶음(Bundled) 데이터 방식은 별도의 데이터 인코딩을 하지 않고 동기식 회로에서 데이터의 유효 시점을 클럭 신호가 알려주는 것처럼 요구 신호가 데이터의 유효 시점을 알려 준다. 구체적으로, 상기 요구 신호와 전송 데이터가 동기화되어 발생할 수 있다. 상기 유효한 데이터를 수신하기 전에 상기 요청 신호를 수락해서는 안 된다는 타이밍 제약 조건이 따른다. In the bundled data method, the request signal informs the valid timing of data, just as the clock signal informs the valid timing of data in a synchronous circuit without additional data encoding. Specifically, the request signal and transmission data may be synchronized and generated. A timing constraint follows that the request signal must not be accepted before receiving the valid data.

일 실시예에서, 전술한 핸드셰이킹 프로토콜을 지원하기 위해서, 각 파이프라인 단계는 비동기 파이프라인 제어기(APC1, APC2,..., APCn), 데이터 래치(DD1, DD2,..., DDn)를 포함할 수 있다. 비동기 파이프라인 제어기(APC1, APC2,..., APCn)는 각각 요구 신호(R0, R1,..., Rn)와 확인 신호 (A1, A,..., An+1)의 천이에 의해 데이터 래치(DD1, DD2,..., DDn)를 인에이블(이하, '동작'이라 칭함)시키거나 디스에이블(이하 '비동작'이라 칭함)시키도록 제어 신호(CS1, CS2,...,CSn)를 출력할 수 있다. 제어 신호(CS1, CS2,...,CSn)를 기반으로, 데이터 래치(DD1, DD2,..., DDn)는 데이터를 저장 후 포워딩할 수 있다.In one embodiment, to support the handshaking protocol described above, each pipeline stage includes an asynchronous pipeline controller (APC 1 , APC 2 ,..., APC n ), a data latch (DD 1 , DD 2 ,. .., DD n ). The asynchronous pipeline controllers (APC 1 , APC 2 ,..., APC n ) each have a request signal (R 0 , R 1 ,..., R n ) and an acknowledgment signal (A 1 , A,..., A n+1 ) to enable (hereinafter, referred to as 'operational') or disable (hereinafter referred to as 'inactive') the data latches DD 1 , DD 2 , ..., DD n by the transition The control signals CS 1 , CS 2 , ..., CS n may be output. Based on the control signals CS 1 , CS 2 , ..., CS n , the data latches DD 1 , DD 2 ,..., DD n may store and forward data.

일 실시예에서, 각 파이프라인 단계는 요구 신호(R0, R1,..., Rn)와 확인 신호(A1, A,..., AN+1)를 이용하여 서로 통신한다. 요구 신호(R0, R1,..., Rn)는 송신단으로부터 수신되어, 수신단으로 전달될 수 있다. 유사하게, 확인 신호(A1, A2,..., An+1)는 상기 수신단으로부터 수신되어 상기 송신단으로 전달될 수 있다. In one embodiment, each pipeline stage communicates with each other using a request signal (R 0 , R 1 ,..., R n ) and an acknowledgment signal ( A 1 , A,..., A N+1 ). . The request signals (R 0 , R 1 , ..., R n ) may be received from the transmitting end and transmitted to the receiving end. Similarly, the acknowledgment signals A 1 , A 2 , ..., A n+1 may be received from the receiving end and transmitted to the transmitting end.

일 실시예에서, 데이터가 해당 파이프라인 단계의 데이터 래치(DD1, DD2,..., DDn)를 통과하는 경우, n개의 동작이 병렬적으로 일어날 수 있다. (i) 데이터는 대응하는 요구 신호와 함께 현재 단에서 후속단으로 추가 처리를 위하여 포워딩된다. (ii) 확인 신호는 현재 단에서 이전 단으로 보내지고, 다음 데이터를 처리할 때까지 자유롭게 된다. (iii) 현재 단의 데이터 래치 자체는 신속히 차단되어(즉, 불투명하게 되어) 이전 단에서 생성된 신규 데이터에 의하여 중첩되는 것을 방지한다. 이어, 확인 신호가 후속 단으로부터 수신된 경우, 현재 파이프라인 단계의 데이터 래치는 다시 인에이블된다(즉, 투명하게 된다). 예를 들면, 제 1 파이프라인 단계의 데이터 래치(DD1)를 통하여 데이터가 전달되는 경우, 다음의 동작이 병렬적으로 일어난다. (i) 데이터 및 대응하는 요구 신호(R1)는 추가 처리를 위하여 제 2 파이프라인 단계로 전달된다. (ii) 확인 신호(A1)는 제 1 파이프라인 단계의 이전 단계로 전달되고 (iii) 제 1 파이프라인 단계의 데이터 래치(DD1)는 차단되어 이전 파이프라인 단계에 의하여 생성된 신규 데이터가 현재 데이터에 중첩되는 것을 방지할 수 있다. 이어, 데이터 래치(DD1)는 확인 신호(A2)가 제 2 파이프라인 단계에서 수신될 때 다시 인에이블될 수 있다.In one embodiment, when data passes through the data latches DD 1 , DD 2 ,..., DD n of the corresponding pipeline stage, n operations may occur in parallel. (i) Data is forwarded for further processing from the current stage to the subsequent stage together with the corresponding request signal. (ii) The acknowledgment signal is sent from the current stage to the previous stage, and is freed until processing the next data. (iii) The data latch itself of the current stage is quickly blocked (ie, becomes opaque) to prevent overlapping by new data generated in the previous stage. Then, when an acknowledgment signal is received from the subsequent stage, the data latch of the current pipeline stage is re-enabled (ie, made transparent). For example, when data is transferred through the data latch DD 1 of the first pipeline stage, the following operations occur in parallel. (i) The data and the corresponding request signal R 1 are passed to a second pipeline stage for further processing. (ii) the acknowledgment signal A 1 is passed to the previous stage of the first pipeline stage, and (iii) the data latch DD 1 of the first pipeline stage is blocked so that new data generated by the previous pipeline stage It is possible to prevent overlapping with the current data. Then, the data latch DD 1 may be re-enabled when the confirmation signal A 2 is received in the second pipeline stage.

일 실시예에서, 유효한 데이터는 요구 신호(R0, R1,..., Rn)보다 유효한 데이터를 수신하기 전에 요구 신호(R0, R1,..., Rn)를 수락해서는 안 된다는 타이밍 제약 조건을 보장하기 위해서, 각 조합 회로(CC1, CC2,..., CCn)의 연산 지연 시간을 고려하여, 각 파이프라인 단계는 의도적으로 지연 회로(DS1, DS2,...,DSn)를 제공한다. 구체적으로, 요구 신호(R0, R1,..., Rn)를 전송하는 타이밍 경로에 지연 회로(DS1, DS2,...,DSn)를 배치함으로써, 상기 타이밍 제약 조건을 만족시킬 수 있다. 지연 회로(DS1, DS2,...,DSn)는 복수의 버퍼 또는 인버터 소자들이 체인 형태로 직렬 연결될 수 있다. In one embodiment, valid data is greater than acceptance of request signals R 0 , R 1 ,..., R n prior to receiving valid data than request signals R 0 , R 1 ,..., R n . In order to guarantee the timing constraint that it cannot ,...,DS n ). Specifically, by arranging the delay circuits DS 1 , DS 2 ,...,DS n in the timing path for transmitting the request signals R 0 , R 1 ,..., R n , the timing constraint can satisfy The delay circuits DS 1 , DS 2 , ..., DS n may include a plurality of buffer or inverter elements connected in series in a chain form.

그러나, 상기 데이터는 각 파이프라인 단계에서 조합 회로(CC1, CC2,..., CCn)를 거쳐 처리되기 때문에, 각 조합 회로(CC1, CC2,..., CCn)는 요구 신호(R0, R1,..., Rn)를 수신한 후 각자의 연산 지연 시간에 따라 구동되기 때문에 연산 완료 시점이 모두 다를 수 있다. 따라서, 조합 회로(CC1, CC2,..., CCn)의 연산 지연 시간이 커질수록 더 많은 지연 버퍼가 필요하다. 이러한 체인 형태로 연결되는 버퍼 또는 인버터의 수가 증가하게 되면, 면적 오버헤드(area overhead)가 증가하게 되며 누설 전력 소비가 커질 수 있다. However, since the data is processed through the combination circuits CC 1 , CC 2 ,..., CC n in each pipeline stage, each combination circuit CC 1 , CC 2 ,..., CC n is After receiving the request signals (R 0 , R 1 , ..., R n ), each operation is driven according to the respective operation delay time, so the operation completion time may be all different. Accordingly, as the operation delay time of the combinational circuits CC 1 , CC 2 , ..., CC n increases, more delay buffers are required. If the number of buffers or inverters connected in such a chain is increased, area overhead may increase and leakage power consumption may increase.

본 발명에서는 서로 인접한 비동기 파이프라인 제어기(APC1, APC2,..., APCn)에 의해 제어되는 제 1 타이밍 경로와 제 2 타이밍 경로를 적어도 부분적으로 중첩시킴으로써, 요구 신호(R0, R1,..., Rn)가 상기 중첩되는 영역을 적어도 2회 이상 통과시킬 수 있다. 상기 중첩 영역에 후술할 공유 지연 회로를 배치함으로써, 지연 회로(DS1, DS2,...,DSn)의 버퍼 또는 인버터의 수를 줄일 수 있다. 상기 제 1 타이밍 경로는 제 1 파이프라인 단계에 대응하는 타이밍 회로이고 상기 제 2 타이밍 경로는 제 2 파이프라인 단계에 대응하는 타이밍 회로일 수 있다. In the present invention, by at least partially overlapping the first and second timing paths controlled by the asynchronous pipeline controllers APC 1 , APC 2 , ..., APC n adjacent to each other, the request signals R 0 , R 1 ,..., R n ) may pass through the overlapping region at least twice or more. By disposing a shared delay circuit to be described later in the overlapping area, the number of buffers or inverters of the delay circuits DS 1 , DS 2 , ..., DS n can be reduced. The first timing path may be a timing circuit corresponding to a first pipeline stage and the second timing path may be a timing circuit corresponding to a second pipeline stage.

도 4a와 도 4b는 본 발명의 실시예에 따른 묶음 데이터 기반의 핸드셰이킹 프로토콜의 예를 보여준다. 4A and 4B show an example of a handshaking protocol based on bundled data according to an embodiment of the present invention.

도 4a를 참조하면, 2상 묶음 데이터 방식의 핸드셰이킹 동작을 보여준다. 구체적으로, 핸드셰이킹 동작을 위한 트랜잭션은 송신자에 의해 데이터(data)가 발행되고 요청(req) 신호에 대한 천이(transition)(예: 1→0, 0→1)로 시작될 수 있다. 또한 수신자가 상기 요청 신호에 대한 신호를 수락하면 데이터를 읽기 시작하고 확인(ack) 신호에 대한 천이(예: 1→0, 0→1)를 수행하여 트랜잭션을 완료할 수 있다. Referring to FIG. 4A , a handshaking operation of a two-phase bundled data method is shown. Specifically, a transaction for a handshaking operation may start with data issued by the sender and a transition (eg, 1→0, 0→1) for a request (req) signal. In addition, when the receiver accepts the signal for the request signal, the transaction can be completed by starting to read data and performing a transition (eg, 1→0, 0→1) for the ack signal.

도 4b를 참조하면, 4상 묶음 데이터 방식의 핸드셰이킹 동작을 보여준다. 먼저 송신단이 데이터(data)를 발행하고 요청 신호(req)를 '1'로 설정하고, 다음 수신자는 상기 요청 신호를 감지하고 데이터를 읽기 시작한다. 이후 확인 신호(ack)를 '1'로 설정하는 동안 송신단은 상기 확인 신호(ack)를 수락하고 요청 신호(req)를 '0'으로 초기화한 후 마지막으로 수신단은 확인(ack) 신호를 '0'으로 설정하여 트랜잭션을 완료할 수 있다. Referring to FIG. 4B , a handshaking operation of the 4-phase bundled data method is shown. First, the transmitter issues data and sets the request signal req to '1', and then the receiver detects the request signal and starts reading data. Afterwards, while the acknowledgment signal (ack) is set to '1', the transmitting end accepts the acknowledgment signal (ack), initializes the request signal (req) to '0', and finally the receiving end sets the acknowledgment signal (ack) to '0'. ' to complete the transaction.

도 5는 본 발명의 실시예에 따른 비동기 파이프라인 제어기(APC1, APC2,..., APCn)를 구성하는 지연 경로 유닛(DPU)의 구성도이다. 5 is a block diagram of a delay path unit (DPU) constituting the asynchronous pipeline controllers (APC 1 , APC 2 , ..., APC n ) according to an embodiment of the present invention.

도 5를 참조하면, 지연 경로 유닛은 제 1 래치 소자(D1), 제 2 래치 소자(D2) 및 논리 회로(LC)를 포함할 수 있다. 일 실시예에서, 제 1 래치 소자(D1)와 제 2 래치 소자(D2)는 D 래치 회로로 구성될 수 있다. 상기 D 래치 회로는 2 개의 입력(D, Enable)가지며, Enable 상태에서는 D 입력단으로부터 새로운 1 비트를 읽고 이를 출력시키고 Disable 상태에서는 저장된 비트를 유지할 수 있다. Referring to FIG. 5 , the delay path unit may include a first latch element D1 , a second latch element D2 , and a logic circuit LC. In one embodiment, the first latch element D1 and the second latch element D2 may be configured as a D latch circuit. The D latch circuit has two inputs (D, Enable). In the enable state, a new bit is read from the D input terminal and outputs it, and in the disabled state, the stored bit can be maintained.

본 발명의 실시예에서, 제 1 래치 회로(D1)는 S1과 CS1 입력 신호에 의해 S2를 출력하거나 현재 상태를 유지할 수 있으며, 제 2 래치 회로(D2)는 S2과 CS2 입력 신호에 의해 S3를 출력하거나 현재 상태를 유지할 수 있다. S1은 전술한 파이프라인 구조의 비동기 회로에서 이전 파이프라인 단계로부터 유입된 요청 신호(req)이고, S2는 제 1 래치 회로(D1)의 출력 신호로서 현재 파이프라인 단계에서 출력되는 확인 신호(ack)이며, 동시에 제 2 래치 회로(D2)의 입력 신호이고, S3는 제 2 래치 회로(D2)의 출력 신호로서 현재 파이프라인 단계에서 출력되는 요청 신호(req)일 수 있다. In an embodiment of the present invention, the first latch circuit D1 may output S2 by input signals S1 and CS1 or maintain the current state, and the second latch circuit D2 may hold S3 by input signals S2 and CS2. You can print it out or keep the current state. S1 is a request signal (req) introduced from a previous pipeline stage in the asynchronous circuit of the aforementioned pipeline structure, and S2 is an output signal of the first latch circuit (D1) and an acknowledgment signal (ack) output from the current pipeline stage At the same time, it is an input signal of the second latch circuit D2 , and S3 is an output signal of the second latch circuit D2 and may be a request signal req output in the current pipeline stage.

일 실시예에서, S1은 이전 파이프라인 단계의 타이밍 경로(이하 제 1 타이밍 경로라 칭함)를 통과하여 현재 파이프라인 단계의 타이밍 경로(이하 제 2 타이밍 경로라 칭함)로 유입되는 신호일 수 있다. 상기 제 2 타이밍 경로는 제 1 래치 소자(D1), 논리 회로(LC) 및 제 2 래치 소자(D2)로 구성되는 경로를 지칭한다. In an embodiment, S1 may be a signal that passes through a timing path of a previous pipeline stage (hereinafter referred to as a first timing path) and flows into a timing path of a current pipeline stage (hereinafter referred to as a second timing path). The second timing path refers to a path including the first latch element D1 , the logic circuit LC, and the second latch element D2 .

또한, 상기 제 1 타이밍 경로와 상기 제 2 타이밍 경로는 물리적으로 적어도 일부분이 중첩되어 있으며 상기 중첩된 영역은 논리 회로(LC) 내에 존재할 수 있다. 여기서, S1 신호는 제 1 래치 회로(D1)가 디스에이블 상태로 있을 때, 논리 회로(LC)로 유입되어 상기 중첩된 영역을 통과할 수 있다. 이때, 논리 회로(LC)는 제 1 래치 회로(D1)를 동작(인에이블)시키는 제어 신호(CS1)를 출력하는 동시에 제 2 래치 회로(D2)를 비동작(디스에이블)시키는 제어 신호(CS2)를 출력할 수 있다. 이후 인에이블 제어 신호(CS1)에 의해 S1 신호를 저장한다. 그러나, 이때 제 2 래치 회로(D2)가 디스에이블 상태에 있어서 제 1 래치 회로(D1)의 출력 신호(S2)는 제 2 래치 회로(D2)에 저장되지 않는다. Also, at least a portion of the first timing path and the second timing path may physically overlap, and the overlapping region may exist in the logic circuit LC. Here, when the first latch circuit D1 is in a disabled state, the S1 signal may flow into the logic circuit LC and pass through the overlapped region. At this time, the logic circuit LC outputs a control signal CS1 for operating (enables) the first latch circuit D1 and at the same time a control signal CS2 for inactivating (disables) the second latch circuit D2. ) can be printed. Thereafter, the S1 signal is stored according to the enable control signal CS1. However, in this case, when the second latch circuit D2 is in the disabled state, the output signal S2 of the first latch circuit D1 is not stored in the second latch circuit D2.

이후, S2 신호는 논리 회로(LC)로 제공되어 상기 중첩된 영역을 통과할 수 있으며, 이때, 논리 회로(LC)는 제 1 래치 회로(D1)를 비동작(디스에이블)시키는 제어 신호(CS1)를 출력하는 동시에 제 2 래치 회로(D2)를 동작(인에이블)시키는 제어 신호(CS2)를 출력할 수 있다. 이때, 제 1 래치 회로(D1)는 디스에이블 상태에 있어서 현 상태를 유지하며, 제 1 래치 회로(D1)의 출력 신호(S2)는 제 2 래치 회로(D2)에 저장된 후 출력 신호(S3)로 출력될 수 있다. Thereafter, the S2 signal may be provided to the logic circuit LC to pass through the overlapped region, and in this case, the logic circuit LC may be a control signal CS1 for inactivating (disabling) the first latch circuit D1. ) and simultaneously outputting the control signal CS2 for operating (enabling) the second latch circuit D2 . At this time, the first latch circuit D1 maintains the current state in the disabled state, and the output signal S2 of the first latch circuit D1 is stored in the second latch circuit D2 and then the output signal S3 can be output as

전술한 바와 같이, 논리 회로(LC)는 입력 신호(S1)의 천이에 의해 제 1 래치 회로(D1)를 동작(인에이블)시키는 동안 제 2 래치 회로(D2)를 비동작(디스에이블)시킨다. 이후, 논리 회로(LC)는 제 1 래치 회로(D1)의 출력 신호(S2)에 의해 제 1 래치 회로(D1)를 동작(인에이블)에서 비동작(디스에이블)으로 전환시키고 제 2 래치 회로(D2)를 비동작(디스에이블)에서 동작(인에이블)시킴으로써, 제 2 래치 회로(D2)의 출력 신호(S3)를 출력할 수 있다. 결론적으로, 제 2 래치 회로(D2)가 인에이블될 때까지 입력 신호(S1)가 제 2 타이밍 경로를 통과하지 못하도록 차단함으로써, 제 2 래치 회로(D2)가 비동작(디스에이블)에서 동작(인에이블)으로 천이될 때까지의 시간만큼 S1 신호를 지연시킬 수 있기 때문에, 제 2 타이밍 경로의 종단에 배치되는 지연 소자의 크기를 줄일 수 있다. As described above, the logic circuit LC deactivates (disables) the second latch circuit D2 while operating (enabling) the first latch circuit D1 by the transition of the input signal S1. . Thereafter, the logic circuit LC switches the first latch circuit D1 from operation (enable) to non-operation (disable) by the output signal S2 of the first latch circuit D1, and the second latch circuit By operating (enable) D2 from non-operation (disable), the output signal S3 of the second latch circuit D2 can be output. As a result, by blocking the input signal S1 from passing through the second timing path until the second latch circuit D2 is enabled, the second latch circuit D2 operates from non-operation (disable) to operation ( Since the S1 signal can be delayed by the time until transition to enable), the size of the delay element disposed at the end of the second timing path can be reduced.

도 6은 본 발명의 실시예에 따른 비동기 파이프라인 제어기(APC1, APC2,..., APCn)의 구성 회로를 나타내는 도면이다.6 is a diagram illustrating a configuration circuit of an asynchronous pipeline controller (APC 1 , APC 2 , ..., APC n ) according to an embodiment of the present invention.

도 6을 참조하면, 비동기 파이프라인 제어기를 구성하는 지연 경로 유닛(DPU)은 제 1 래치 소자(D1), 제 2 래치 소자(D2) 및 논리 회로(LC)를 포함하여 타이밍 경로를 형성할 수 있다. 상기 타이밍 경로는 데이터의 유효 시점과 관련된 요구 신호 또는 확인 신호가 전송되는 경로를 지칭한다. Referring to FIG. 6 , the delay path unit DPU constituting the asynchronous pipeline controller may include a first latch element D1 , a second latch element D2 and a logic circuit LC to form a timing path. have. The timing path refers to a path through which a request signal or a confirmation signal related to a valid time of data is transmitted.

제 1 래치 소자(D1)는 이전 파라이프라인 단계(pipeline stage i-1)로부터의 제 1 요청 신호(req(i-1))를 수신하는 제 1 입력단, 'enable'에서 'disable' 또는 'disable'에서 'enable'로 전환시키는 제 1 제어 신호(EN1)를 수신하는 제 2 입력단, 'enable' 상태에서 제 1 요청 신호(req(i-1))에 응답하여 출력 신호(S2)를 출력하는 제 1 출력단 및 출력 신호(S2)의 반전 신호(S3)를 출력하는 제 2 출력단을 포함할 수 있다. 출력 신호(S2)는 제 2 확인 신호(ack(i))로서 후술할 제 2 XOR 소자(XOR2)의 입력단으로 전달될 수 있다. 제 2 래치 소자(D2)는 출력 신호(S2) 또는 제 2 확인 신호(ack(i))를 수신하는 제 1 입력단, 'enable'에서 'disable' 또는 'disable'에서 'enable'로 전환시키는 제 2 제어 신호(EN2)를 수신하는 제 2 입력단 및 'enable' 상태에서 출력 신호(S2) 또는 제 2 확인 신호(ack(i))에 응답하여 제 2 요청 신호(req(i))를 출력하는 출력단을 포함할 수 있다. 또한, 제 2 래치 소자(D2)의 제 1 입력단과 후술할 제 2 XOR 소자(XOR2)의 입력단은 연결될 수 있다. The first latch element D1 is a first input terminal that receives the first request signal req (i- 1) from the previous pipeline stage i-1, 'enable' or 'disable' or ' The second input terminal receives the first control signal EN1 for switching from 'disable' to 'enable', and outputs the output signal S2 in response to the first request signal req (i-1) in the 'enable' state It may include a first output terminal and a second output terminal for outputting the inverted signal (S3) of the output signal (S2). The output signal S2 may be transmitted as a second confirmation signal ack (i) to an input terminal of a second XOR element XOR2 to be described later. The second latch element D2 is a first input terminal that receives the output signal S2 or the second confirmation signal ack (i) , a first input terminal for switching from 'enable' to 'disable' or 'disable' to 'enable' 2 In response to the second input terminal receiving the control signal EN2 and the output signal S2 or the second acknowledgment signal ack (i) in the 'enable' state, the second request signal req (i) is output. It may include an output stage. Also, a first input terminal of the second latch element D2 may be connected to an input terminal of a second XOR element XOR2 to be described later.

일 실시예에서, 논리 회로(LC)는 제 1 래치 소자(D1)를 제 1 시점에 동작(enable)시키는 동안 제 2 래치 소자(D2)를 비동작(disable)시키고, 상기 제 1 시점보다 늦은 제 2 시점에 제 1 래치 소자(D1)를 비동작(disable)시키는 동안 제 2 래치 소자(D2)를 동작시켜 출력 신호(S2) 또는 제 2 요청 신호(ack(i))를 현재 타이밍 경로(또는 현재 파라이프라인 단계(pipeline stage (i)의 타이밍 경로)와 적어도 부분적으로 중첩되는 다음 타이밍 경로(또는 다음 파이프라인 단계(pipeline stage (i+1)의 타이밍 경로)로 출력시키도록 제어할 수 있다. 인덱스 i는 파이프라인 단계의 식별자이다.In an embodiment, the logic circuit LC disables the second latch element D2 while enabling the first latch element D1 at a first time point, and later than the first time point. At the second time point, while the first latch element D1 is disabled, the second latch element D2 is operated to transmit the output signal S2 or the second request signal ack (i) to the current timing path ( or to the next timing path (or the next pipeline stage (timing path of pipeline stage (i+1)) that at least partially overlaps with the current pipeline stage (timing path of pipeline stage (i)). The index i is the identifier of the pipeline stage.

일 실시예에서, 논리 소자(LC)는 제 1 XOR 소자(XOR1), 제 2 XOR 소자(XOR2), NOR 소자(NOR) 및 공유 지연 회로(SDC)를 포함할 수 있다. 제 1 XOR 소자(XOR1)는 제 1 요청 신호(req(i-1))와 출력 신호(S2)(또는 제 2 확인 신호(ack(i)))의 반전 신호(S3)를 입력받아 0 또는 1를 출력할 수 있다. 제 2 XOR 소자(XOR2)는 출력 신호(S2) 또는 제 2 확인 신호(ack(i)) 및 pipeline stage (i+1)로부터의 제 3 확인 신호(ack(i+1))를 입력받아 0 또는 1를 출력할 수 있다. NOR 소자(NOR)는 제 1 XOR 소자(XOR1)와 제 2 XOR 소자(XOR2)의 출력 값을 입력받아 0 또는 1를 출력할 수 있다. NOR 소자(NOR)의 출력 값(0 또는 1)은 제 1 래치 소자(D1)를 동작 또는 비동작시키는 제 1 제어 신호(EN1)로 이용될 수 있다. 공유 지연 회로(SDC)는 제 1 XOR 소자(XOR1)의 출력단과 NOR 소자(NOR)의 입력단 사이에 배치되며 제 1 XOR 소자(XOR1)의 출력 신호를 지연시켜 NOR 소자(NOR)의 입력단 또는 제 2 래치 소자(D2)으로 전달될 수 있다. 공유 지연 회로(SDC)는 체인 형태로 적어도 하나의 버퍼 또는 인버터가 직렬 연결될 수 있다. 또는, 공유 지연 회로(SDC)는 버퍼 혹은 인버터 없이 구성될 수도 있다.In an embodiment, the logic element LC may include a first XOR element XOR1 , a second XOR element XOR2 , a NOR element NOR, and a shared delay circuit SDC. The first XOR element XOR1 receives the inverted signal S3 of the first request signal req (i-1) and the output signal S2 (or the second confirmation signal ack (i) ) to be 0 or 1 can be printed. The second XOR element XOR2 receives the output signal S2 or the second confirmation signal ack (i) and the third confirmation signal ack (i+ 1) from the pipeline stage (i+1) to receive 0 or 1 can be output. The NOR element NOR may receive the output values of the first XOR element XOR1 and the second XOR element XOR2 and output 0 or 1 . The output value (0 or 1) of the NOR element NOR may be used as a first control signal EN1 for operating or deactivating the first latch element D1. The shared delay circuit SDC is disposed between the output terminal of the first XOR element XOR1 and the input terminal of the NOR element NOR, and delays the output signal of the first XOR element XOR1 to either the input terminal or the second terminal of the NOR element NOR. 2 may be transferred to the latch element D2. At least one buffer or inverter may be serially connected to the shared delay circuit SDC in a chain form. Alternatively, the shared delay circuit SDC may be configured without a buffer or an inverter.

선택적으로, 비공유 지연 회로(NSDC)는 제 2 래치 소자(D2)와 연결되어 제 2 래치 소자(D2)의 출력 값(req(i))을 지연시켜 pipeline stage (i+1)의 타이밍 경로로 전달할 수 있다. 공유 지연 회로(SDC)와 유사하게, 비공유 지연 회로(NSDC)는, 체인 형태로 적어도 하나의 버퍼 또는 인버터가 직렬 연결될 수 있다. 또는, 비공유 지연 회로(NSDC)는 버퍼 혹은 인버터 없이 구성될 수도 있다.Optionally, the non-shared delay circuit NSDC is connected to the second latch element D2 to delay the output value req (i) of the second latch element D2 to the timing path of the pipeline stage (i+1). can transmit Similar to the shared delay circuit SDC, the non-shared delay circuit NSDC may include at least one buffer or inverter connected in series in a chain form. Alternatively, the non-shared delay circuit NSDC may be configured without a buffer or inverter.

일 실시예에서, pipeline stage (i)에서 유효한 데이터를 수신하기 전에 요청 신호를 수락해서는 안 된다는 타이밍 제약 조건을 보장하기 위해서, pipeline stage (i)에서 타이밍 경로의 지연은 공유 지연 회로(SDC)와 비공유 지연 회로(NSDC)의 버퍼 또는 인버터 수에 조절될 수 있다. 만약, 공유 지연 회로(SDC)만으로 타이밍 제약 조건을 보장할 수 있는 경우에 비공유 지연 회로(NSDC)는 생략될 수 있다. In one embodiment, the delay of the timing path in pipeline stage (i) is combined with a shared delay circuit (SDC) to ensure a timing constraint that a request signal must not be accepted before receiving valid data in pipeline stage (i). It can be adjusted by the number of buffers or inverters of the non-shared delay circuit (NSDC). If only the shared delay circuit SDC can ensure the timing constraint, the non-shared delay circuit NSDC may be omitted.

일 실시예에서, 전술한 도 6의 비동기식 파이프라인 제어기의 구체적인 타이밍 제약 조건은 다음과 같이, 타이밍 제약 조건 1과 타이밍 제약 조건 2를 만족한다. 후술할 타이밍 제약 조건 1과 2는 각각 하기 <수학식 1>과 <수학식 2>로 정의될 수 있다. In an embodiment, the specific timing constraint of the asynchronous pipeline controller of FIG. 6 satisfies the timing constraint 1 and the timing constraint 2 as follows. Timing constraint conditions 1 and 2 to be described later may be defined by the following <Equation 1> and <Equation 2>, respectively.

타이밍 제약 조건 1: 파이프 라인 단계 i에서 제 1 래치 소자(D1)의 입력으로 유입되는 요청 신호 req(i-1)의 논리 값이 변경되기 시작하면, 파이프라인 단계 i의 비동기식 파이프라인 제어기가 일시 중단(안정) 상태가 될 때까지 확인 신호 ack(i+1)가 파이프라인 단계 i과 연관된 논리 값을 변경해서는 안 된다. Timing constraint 1: When the logical value of the request signal req (i-1) flowing into the input of the first latch element D1 in pipeline stage i starts to change, the asynchronous pipeline controller of pipeline stage i temporarily The acknowledgment signal ack (i+1) MUST NOT change the logical value associated with pipeline stage i until it is in the aborted (steady) state.

본 발명의 실시예에서, (1) 제 1 XOR 소자(XOR1)와 제 2 XOR 소자(XOR2)의 출력 신호들이 'high'이고 (2) NOR의 출력 신호가 'low'이며, (3) 제 1 래치 소자(D1)가 닫히면, 일시 중단 (안정) 상태에 있는 파이프라인 단계 i의 비동기식 파이프라인 제어기가 호출될 수 있다. 이러한 타이밍 제약 조건 1은 하기 <수학식 1>과 같이 정의될 수 있다. In the embodiment of the present invention, (1) the output signals of the first XOR element XOR1 and the second XOR element XOR2 are 'high', (2) the output signal of the NOR is 'low', and (3) the second 1 When the latch element D1 is closed, the asynchronous pipeline controller of pipeline stage i in the suspended (steady) state can be called. This timing constraint 1 may be defined as in Equation 1 below.

<수학식 1><Equation 1>

Figure 112020129485623-pat00001
Figure 112020129485623-pat00001

<수학식 1>의 좌측 항은 요청 신호 req(i-1)의 도착과 제 1 래치 소자(D1)의 닫힘 사이의 시간 경과를 나타내며, <수학식 1>의 우측 항은 확인 신호 ack(i+1)이 인에이블 신호(eni)에 영향을 미치는 순간까지의 시간 간격을 나타낸다. The left term of <Equation 1> represents the lapse of time between the arrival of the request signal req (i-1) and the closing of the first latch element D1, and the right term of <Equation 1> is the confirmation signal ack (i) +1) represents the time interval until the moment when this enable signal en i is affected.

타이밍 제약 조건 2: 파이프 라인 단계 i에서 제 1 래치 소자(D1)의 입력으로 유입되는 요청 신호 req(i-1)의 논리 값이 변경되기 시작하면, 파이프라인 단계 i의 비동기식 파이프라인 제어기가 일시 중단(안정) 상태가 될 때까지 요청 신호 req(i-1)의 논리 값은 유지되어야 한다. 이러한 타이밍 제약 조건 2는 하기 <수학식 2>과 같이 정의될 수 있다.Timing constraint 2: When the logical value of the request signal req (i-1) flowing into the input of the first latch element D1 in pipeline stage i starts to change, the asynchronous pipeline controller of pipeline stage i temporarily The logic value of the request signal req (i-1) must be maintained until the stop (steady) state is reached. This timing constraint 2 may be defined as in Equation 2 below.

<수학식 2><Equation 2>

Figure 112020129485623-pat00002
Figure 112020129485623-pat00002

<수학식 2>의 좌측 항은 <수학식 1>의 좌측 항과 동일하며, 반면 <수학식 2>의 우측 항은 요청 신호 req(i-1)의 2 개의 연속 트랜지션(transition) 사이의 시간 경과를 나타낸다. 타이밍 제약 조건 2가 충족될 때 유지되는 타이밍 경로에 의해 공유되는 영역에 위험이 없어야 한다. 게다가, 데이터 신호(qi f)는 요청 신호 req(i-1)의 유효하지 않은 전달을 방지하기 위해 제 2 래치 소자(D2)에 인에이블 신호 eni→(i+1)의 하강 이전에 도착하지 않아야 한다. 마찬가지로 데이터 신호(qi f) 또는 확인 신호(acki)는 eni→(i+1)가 제 2 래치 소자(D2)로 상승하기 전에 도착해야 한다. The left term of <Equation 2> is the same as the left term of <Equation 1>, whereas the right term of <Equation 2> is the time between two consecutive transitions of the request signal req (i-1) indicates the elapsed time. There must be no risk to the region shared by the timing path that is maintained when timing constraint 2 is met. Furthermore, the data signal q i f is transmitted to the second latch element D2 before the fall of the enable signal en i→(i+1) in order to prevent an invalid transfer of the request signal req (i-1) . should not arrive Similarly, the data signal q i f or the confirmation signal ack i must arrive before en i → (i+1) rises to the second latch element D2.

상기 <수학식 1>과 상기 <수학식 2>에서, req(i-1)는 파이프라인 단계 i-1로부터 유입되는 요청 신호이며, ack(i+1)는 파이프라인 단계 i+1로부터 유입되는 확인 신호이고, wi xoru는 파이프라인 단계 i의 제 1 XOR 소자(XOR1)의 출력 신호이고, wi xorl는 파이프라인 단계 i의 제 2 XOR 소자(XOR2)의 출력 신호이고, eni는 파이프라인 단계 i의 제 1 래치 소자(D1)를 enable 또는 disable 시키는 제어 신호이고, eni→(i+1)는 파이프라인 단계 i의 제 2 래치 소자(D2)를 enable 또는 disable 시키는 제어 신호이고, qni f는 제 1 래치 소자(D1)의 반전 출력 신호이고, qi f는 제 1 래치 소자(D1)의 출력 신호이고, qi r 는 제 2 래치 소자(D2)의 출력 신호이다. In <Equation 1> and <Equation 2>, req (i-1) is a request signal flowing from pipeline stage i-1, and ack (i+1) is input from pipeline stage i+1 , w i xoru is the output signal of the first XOR element (XOR1) of pipeline stage i, w i xorl is the output signal of the second XOR element (XOR2) of pipeline stage i, en i is is a control signal for enabling or disabling the first latch element D1 of pipeline stage i, en i→(i+1) is a control signal for enabling or disabling the second latch element D2 of pipeline stage i, and , qn i f is an inverted output signal of the first latch element D1 , q i f is an output signal of the first latch element D1 , and q i r is an output signal of the second latch element D2 .

또한, 본 발명의 실시예에서 비동기 파이프라인 회로에서 이용되는 비동기 파이프라인 제어기는 하기 <수학식 3>과 하기 <수학식 4>를 만족시켜야 한다. In addition, the asynchronous pipeline controller used in the asynchronous pipeline circuit in the embodiment of the present invention must satisfy Equation 3 and Equation 4 below.

<수학식 3><Equation 3>

Figure 112020129485623-pat00003
Figure 112020129485623-pat00003

<수학식 4><Equation 4>

Figure 112020129485623-pat00004
Figure 112020129485623-pat00004

상기 <수학식 3>과 상기 <수학식 4>에서, w(i+1) xoru는 파이프라인 단계 i+1의 제 1 XOR 소자(XOR1)의 출력 신호이고, en(i+1)→(i+2)는 파이프라인 단계 i+1의 제 2 래치 소자(D2)를 enable 또는 disable 시키는 제어 신호이고, en(i+1)는 파이프라인 단계 i+1의 제 1 래치 소자(D1)를 enable 또는 disable 시키는 제어 신호이고, DL (i+1)는 파이프라인 단계 i+1에서 하강하는 인에이블 신호의 전파 지연이고, Di L는 파이프라인 단계 i에서 하강하는 인에이블 신호의 전파 지연이고, Ti C는 파이프라인 단계 i에서 파이프라인 레지스터의 Enable-to-Q 지연이고, Di P는 파이프라인 단계 i에서 데이터경로의 지연이고, TS (i+1)는 파이프라인 단계 i+1에서 상기 파이프라인 레지스터의 셋업 시간이고, Th (i+1)는 파이프라인 단계 i+1에서 상기 파이프라인 레지스터의 홀드 시간이다. In <Equation 3> and <Equation 4>, w (i+1) xoru is the output signal of the first XOR element XOR1 of the pipeline stage i+1, and en (i+1)→( i+2) is a control signal for enabling or disabling the second latch element D2 of the pipeline stage i+1, and en (i+1) is the first latch element D1 of the pipeline stage i+1 a control signal to enable or disable, D L (i+1) is the propagation delay of the enable signal falling in the pipeline stage i+1, D i L is the propagation delay of the enable signal falling in the pipeline stage i , where T i C is the enable-to-Q delay of the pipeline register in pipeline stage i, D i P is the delay of the datapath in pipeline stage i, and T S (i+1) is the pipeline stage i is the setup time of the pipeline register at +1, and T h (i+1) is the hold time of the pipeline register at pipeline stage i+1.

도 7은 본 발명의 실시예에 따른 비동기 파이프라인 구조를 갖는 회로에서 제 i 파이프라인 단계의 제 i 타이밍 경로(PATH1, 빨간색 라인)와 제 i+1 파이프라인 단계의 제 i+1 타이밍 경로(PATH2, 파란색 라인)의 중첩 영역을 설명하는 도면이다. 7 is an i-th timing path (PATH1, red line) of an i-th pipeline stage and an i+1-th timing path ( ) of an i+1th pipeline stage in a circuit having an asynchronous pipeline structure according to an embodiment of the present invention; PATH2, blue line) is a diagram for explaining the overlapping area.

도 7을 참조하면, 제 i 파이프라인 단계의 타이밍 경로(PATH1)를 통해 요청 신호(req(i))가 제 i+1 파이프라인 단계로 전달될 수 있다. 구체적으로, 요청 신호(req(i))는 제 i 파이프라인 단계의 공유 지연 회로(SDC) 및 비공유 지연 회로(NSDC)를 통해 제 i+1 파이프라인 단계로 지연 전달될 수 있다. Referring to FIG. 7 , the request signal req (i) may be transmitted to the i+1th pipeline stage through the timing path PATH1 of the i-th pipeline stage. Specifically, the request signal req (i) may be delayed delivered to the i+1th pipeline stage through the shared delay circuit SDC and the non-shared delay circuit NSDC of the i-th pipeline stage.

또한, 요청 신호(req(i))는 타이밍 경로(PATH1)를 따라 제 i+1 파이프라인 단계의 공유 지연 회로(SDC)를 1회 통과하며, 이때 제 i+1 파이프라인 단계의 제 1 래치 소자(D1)가 'enable'되지만 제 1 래치 소자(D1)로부터 출력된 요청 신호(req(i))는 'disable' 상태의 제 2 래치 소자(D2)에 의해 제 i+1 파이프라인 단계의 비공유 지연 회로(NSDC)로 전달되지 않는다. 다만, 제 1 래치 소자(D1)의 반전 신호에 의해 요청 신호(req(i))가 제 i+1 파이프라인 단계의 공유 지연 회로(SDC)를 2회 통과하게 된다. Further, the request signal req (i) passes once through the shared delay circuit SDC of the i+1th pipeline stage along the timing path PATH1 , where the first latch of the i+1th pipeline stage Although the device D1 is 'enable', the request signal req (i) output from the first latch device D1 is generated by the second latch device D2 in the 'disable' state in the i+1th pipeline stage. It is not passed to the shared non-delay circuit (NSDC). However, the request signal req (i) passes through the shared delay circuit SDC of the i+1th pipeline stage twice by the inverted signal of the first latch element D1.

일 실시예에서, 제 i 타이밍 경로(빨간색 라인)와 제 i+1 타이밍 경로(파란색 라인)의 중첩 영역은 제 i+1 파이프라인 단계의 공유 지연 회로(SDC) 및 공유 지연 회로(SDC)와 연결된 XOR 소자로 정의될 수 있다. 이러한 중첩 영역에서 적어도 2회 이상 요청 신호(req(i))가 통과하게 되므로, 종래의 타이밍 제한을 보장하기 위한 비공유 지연 회로(NSDC)의 지연을 어느 정도 대체할 수 있으며, 이로 인해, 비공유 지연 회로(NSDC)의 지연 버퍼의 개수를 줄일 수 있다. In one embodiment, the overlap region of the i-th timing path (red line) and the i+1-th timing path (blue line) is the shared delay circuit (SDC) and the shared delay circuit (SDC) of the i+1th pipeline stage and It can be defined as a connected XOR element. Since the request signal req (i) passes at least two times or more in this overlapping region, it is possible to replace the delay of the conventional non-shared delay circuit (NSDC) for ensuring the timing limitation to some extent, and thereby, the non-shared delay The number of delay buffers of the circuit NSDC may be reduced.

도 8은 본 발명의 실시예에 따른 비동기 파이프라인 제어기의 타이밍을 나타내는 파형이다. 여기서, 비동기 파이프라인 제어기는 도 6의 비동기 파이프라인 제어기로 예로 설명한다. 8 is a waveform showing the timing of an asynchronous pipeline controller according to an embodiment of the present invention. Here, the asynchronous pipeline controller will be described as the asynchronous pipeline controller of FIG. 6 as an example.

도 8을 참조하면, 제 i 비동기 파이프라인 제어기는 제 i+1 비동기 파이프라인 제어기로부터 확인 신호(ack(i+1))를 수신하고, 제 i-1 비동기 파이프라인 제어기로부터 요청 신호(req(i-1))를 수신할 수 있다. 여기서, 확인 신호(ack(i+1))와 요청 신호(req(i-1)) 중 어느 하나가 순서에 상관없이 먼저 제 i 비동기 파이프라인 제어기로 전달되거나 동시에 전달될 수 있다. 도 8에서는 확인 신호(ack(i+1))가 제 i 비동기 파이프라인 제어기로 전달되고 이후 요청 신호(req(i-1))가 제 i 비동기 파이프라인 제어기로 전달된 경우이다. Referring to FIG. 8 , the i-th asynchronous pipeline controller receives an acknowledgment signal ack (i+1) from the i+1-th asynchronous pipeline controller, and a request signal req (req ( i-1) ) can be received. Here, any one of the acknowledgment signal ack (i+1) and the request signal req (i-1) may first be transmitted to the i-th asynchronous pipeline controller or may be simultaneously transmitted regardless of the order. In FIG. 8 , the acknowledgment signal ack (i+1) is transmitted to the i-th asynchronous pipeline controller and then the request signal req (i-1) is transmitted to the i-th asynchronous pipeline controller.

먼저, 제 i+1 비동기 파이프라인 제어기로부터 전달된 확인 신호(ack(i+1))가 '1'에서 '0'으로 천이될 때, 제 i 비동기 파이프라인 제어기의 제 2 XOR 소자(XOR2)의 출력 신호(wi xorl)는 '1'에서 '0'으로 천이된다. 또한, 제 i-1 비동기 파이프라인 제어기로부터 전달된 요청 신호(req(i-1))가 '0'에서 '1'으로 천이될 때, 제 i 비동기 파이프라인 제어기의 제 1 XOR 소자(XOR1)의 출력 신호(wi xoru)는 '1'에서 '0'으로 천이된다. 이때, 제 i 비동기 파이프라인 제어기의 제 1 래치 소자(D1)는 '1'로 천이되며, 이에 따라 제 1 XOR 소자(XOR1)의 출력 신호(wi xoru)는 '0'에서 '1'로 천이된다. 여기서, 제 1 XOR 소자(XOR1)의 출력 신호(wi xoru)는 제 i 비동기 파이프라인 제어기의 제 2 래치 소자(D2)를 enable 또는 disable로 전환시키는 제어 신호(eni→(i+1))로 제공될 수 있으며, 제 i 비동기 파이프라인 제어기의 공유 지연 회로(SDC)를 통해 소정 시간만큼 지연되어, 도 8과 같이 출력 신호(wi xoru)가 지연 시프트되어 제어 신호(eni→(i+1))가 나타날 수 있다. First, when the acknowledgment signal ack (i+1) transmitted from the i+1th asynchronous pipeline controller transitions from '1' to '0', the second XOR element (XOR2) of the i-th asynchronous pipeline controller The output signal w i xorl of is transitioned from '1' to '0'. In addition, when the request signal req (i-1) transmitted from the i-1th asynchronous pipeline controller transitions from '0' to '1', the first XOR element XOR1 of the i-1th asynchronous pipeline controller The output signal w i xoru of is transitioned from '1' to '0'. At this time, the first latch element D1 of the i-th asynchronous pipeline controller transitions to '1', and accordingly, the output signal w i xoru of the first XOR element XOR1 changes from '0' to '1'. become a cloth Here, the output signal w i xoru of the first XOR element XOR1 is a control signal en i→(i+1) for switching the second latch element D2 of the i-th asynchronous pipeline controller to enable or disable. ), and is delayed by a predetermined time through the shared delay circuit (SDC) of the i-th asynchronous pipeline controller, so that the output signal w i xoru is delay-shifted as shown in FIG. 8 and the control signal en i→( i+1) ) may appear.

더하여, 제 1 XOR 소자(XOR1)의 출력 신호(wi xoru)는 '0'에서 '1'로 지연되어 천이됨에 따라, 제어 신호(eni→(i+1))의 '1'에서 '0'로 천이되는 시점 이전에 도 8과 같이 제 1 래치 소자(D1)의 제어 신호(eni)가 '1'로 천이될 수 있다. 그리고 제 1 래치 소자(D1)의 제어 신호(eni)에 의해 제 2 XOR 소자(XOR2)의 출력 신호(wi xorl)는 '0'에서 '1'로 천이된다. 이때, 제 2 XOR 소자(XOR2)의 출력 신호(wi xorl)는 '0'에서 '1'로 천이 시점에 정렬되어 제 1 XOR 소자(XOR1)의 출력 신호(wi xoru)는 '0'에서 '1'로 천이된다. 이때, 제 1 XOR 소자(XOR1)의 출력 신호(wi xoru)는 '0'에서 '1'로 그리고 제 2 XOR 소자(XOR2)의 출력 신호(wi xorl)는 '0'에서 '1'로 천이되는 시점에 될 때 제 1 래치 소자(D1)의 제어 신호(eni)가 '1'에서 '0'로 트리거되며, 소정 시간 지연(Delay of SDC) 후에 제어 신호(eni→(i+1))는 '0'에서 '1'로 천이된다.In addition, as the output signal w i xoru of the first XOR element XOR1 is delayed from '0' to '1' and transitioned, the control signal en i → (i+1) ' from '1' to ' Before the transition to 0', the control signal en i of the first latch element D1 may transition to '1' as shown in FIG. 8 . In addition, the output signal w i xorl of the second XOR element XOR2 transitions from '0' to '1' by the control signal en i of the first latch element D1 . At this time, the output signal w i xorl of the second XOR element XOR2 is aligned at the transition point from '0' to '1', and the output signal w i xoru of the first XOR element XOR1 is '0' transitions from '1' to '1'. At this time, the output signal w i xoru of the first XOR element XOR1 changes from '0' to '1', and the output signal w i xorl of the second XOR element XOR2 changes from '0' to '1' At the time of transition to , the control signal en i of the first latch element D1 is triggered from '1' to '0', and after a predetermined time delay (Delay of SDC), the control signal en i → (i +1) ) transitions from '0' to '1'.

또한, 제 1 래치 소자(D1)의 제어 신호(eni)가 '1'로 천이된 시점에 제 i 비동기 파이프라인 제어기로부터의 확인 신호(ack(i))가 출력되고, 제어 신호(eni→(i+1))의 '0'에서 '1'로 천이되는 시점에 정렬되어 제 i 비동기 파이프라인 제어기로부터의 요청 신호(req(i))가 출력될 수 있다. 여기서, 요청 신호(req(i))는 제 2 래치 소자(D2)의 출력 신호의 지연으로 소정 시간 지연(enable-to-Q-delay)될 수 있다. 또한, 요청 신호(req(i))는 제 i 비동기 파이프라인 제어기의 비공유 지연 회로(NSDC)를 통해 제 i+1 비동기 파이프라인 제어기로 전달될 수 있다. req(i) Before NSDC는 제어 신호(eni→(i+1))의 '0'에서 '1'로 천이되는 시점에 정렬되어 제 i 비동기 파이프라인 제어기로부터의 출력되는 요청 신호(req(i))이고, req(i) after NSDC는 요청 신호(req(i))가 제 i 비동기 파이프라인 제어기의 비공유 지연 회로(NSDC)를 통해 출력되는 신호이다. In addition, when the control signal en i of the first latch element D1 is transitioned to '1', an acknowledgment signal ack (i) from the i-th asynchronous pipeline controller is output, and the control signal en i →(i+1) ), the request signal req (i) from the i-th asynchronous pipeline controller may be output by being aligned at the transition point from '0' to '1'. Here, the request signal req (i) may be enabled-to-Q-delayed by a delay of the output signal of the second latch element D2 by a predetermined time. Also, the request signal req (i) may be transmitted to the i+1th asynchronous pipeline controller through the non-shared delay circuit NSDC of the i-th asynchronous pipeline controller. req (i) Before NSDC is aligned at the time of transition from '0' to '1' of the control signal (en i→(i+1) ), and the request signal (req (i ) output from the i-th asynchronous pipeline controller) ) ), and req (i) after NSDC is a signal that the request signal req (i) is output through the non-shared delay circuit (NSDC) of the i-th asynchronous pipeline controller.

도 9는 본 발명의 실시예에 따른 비동기 파이프라인 제어기의 논리 동작 설명을 위한 도면이다. 여기서, 비동기 파이프라인 제어기는 도 6의 비동기 파이프라인 제어기로 예로 설명한다. 9 is a diagram for explaining a logical operation of an asynchronous pipeline controller according to an embodiment of the present invention. Here, the asynchronous pipeline controller will be described as the asynchronous pipeline controller of FIG. 6 as an example.

도 9을 참조하면, 비동기 파이프라인 제어기는 논리 상태 A(state A)와 논리 상태 B(state B)를 포함하며, 논리 상태 A와 논리 상태 B 사이의 천이는 요청 신호 및 확인 신호의 입력에 의해 동작할 수 있다. req(i-1), ack(i), req(i), ack(i+1)의 초기 값은 각각 0, 0, 0, 1이라 가정한다. req(i-1)은 이전 비동기 파이프라인 제어기로부터 전달되는 요청 신호이고, ack(i)와, req(i)는 각각 현재 비동기 파이프라인 제어기에서 출력되는 확인 신호 및 요청 신호이며, ack(i+1)는 다음 비동기 파이프라인 제어기로부터 전달되는 확인 신호이다. Referring to FIG. 9 , the asynchronous pipeline controller includes a logic state A (state A) and a logic state B (state B), and the transition between the logic state A and the logic state B is performed by input of a request signal and a confirmation signal. can work It is assumed that the initial values of req (i-1) , ack (i) , req (i) , and ack (i+1) are 0, 0, 0, and 1, respectively. req (i-1) is the request signal transmitted from the previous asynchronous pipeline controller, ack (i) and req (i) are the acknowledgment and request signals output from the current asynchronous pipeline controller, respectively, and ack (i+) 1) is the confirmation signal from the next asynchronous pipeline controller.

비동기 파이프라인 제어기의 논리 동작을 살펴보면, 논리 상태 A에서 req(i-1)가 '1'로 천이된 후 ack(i+1)가 '0'으로 천이되거나 ack(i+1)가 '0'으로 천이된 후 req(i-1)가 '1'로 천이될 수 있다. 먼저, req(i-1)가 '1'로 입력되면 제 1 XOR 소자(XOR1)로 전달되어 제 1 XOR 소자(XOR1)의 출력 값은 '0'으로 변경되고, 제 1 XOR 소자(XOR1)의 출력 값은 NOR 소자 및 제 2 래치 소자(D2)로 전달될 수 있다(100). 이때, req(i-1)의 '1' 입력에 관계없이, NOR 소자(NOR), 제 2 XOR 소자(XOR2) 및 제 1 래치 소자(D1) 및 제 2 래치 소자(D2)는 현재 상태를 유지하다. 이후, ack(i+1)가 '0'으로 입력되면, 제 2 XOR 소자(XOR2)의 출력 값은 '1'에서 '0'으로 변경된다(110).Looking at the logic operation of the asynchronous pipeline controller, after req (i-1) transitions to '1' in logic state A, ack (i+1) transitions to '0' or ack (i+1) becomes '0'', req (i-1) may transition to '1'. First, when req (i-1) is input as '1', it is transmitted to the first XOR element XOR1 and the output value of the first XOR element XOR1 is changed to '0', and the first XOR element XOR1 An output value of may be transmitted to the NOR element and the second latch element D2 ( 100 ). At this time, regardless of the '1' input of req (i-1) , the NOR element NOR, the second XOR element XOR2, and the first latch element D1 and the second latch element D2 display the current state. maintain. Thereafter, when ack (i+1) is input as '0', the output value of the second XOR element XOR2 is changed from '1' to '0' (110).

반면, 먼저 ack(i+1)가 '0'으로 입력되면 제 2 XOR 소자(XOR2)로 전달되어 제 2 XOR 소자(XOR2)의 출력 값은 '0'으로 변경되고, 제 2 XOR 소자(XOR2)의 출력 값은 NOR 소자로 전달될 수 있다(105). 이때, ack(i+1)의 '0' 입력에 관계없이, NOR 소자(NOR), 제 1 XOR 소자(XOR1) 및 제 1 래치 소자(D1) 및 제 2 래치 소자(D2)는 현재 상태를 유지하다. 이후, req(i-1)가 '1' 로 입력되면, 제 1 XOR 소자(XOR1)로 전달되어 제 1 XOR 소자(XOR1)의 출력 값은 '0'으로 변경되고, 제 1 XOR 소자(XOR1)의 출력 값은 NOR 소자 및 제 2 래치 소자(D2)로 전달될 수 있다(115). 110과 115의 상태를 고려할 때, 요청 신호와 확인 신호 간의 충돌에서도 오동작 없이 동작될 수 있는 것을 확인할 수 있다. On the other hand, when ack (i+1) is first input as '0', it is transmitted to the second XOR element XOR2, and the output value of the second XOR element XOR2 is changed to '0', and the second XOR element XOR2 ) may be transmitted to the NOR element ( 105 ). At this time, regardless of the '0' input of ack (i+1) , the NOR element NOR, the first XOR element XOR1, and the first latch element D1 and the second latch element D2 display the current state. maintain. Thereafter, when req (i-1) is input as '1', it is transmitted to the first XOR element XOR1 and the output value of the first XOR element XOR1 is changed to '0', and the first XOR element XOR1 ) may be transmitted to the NOR element and the second latch element D2 ( 115 ). Considering the states of 110 and 115, it can be confirmed that the operation can be performed without malfunction even in a collision between the request signal and the confirmation signal.

일 실시예에서, 110 또는 115 단계에서, NOR 소자(NOR)의 입력 값은 모두 '0'이 되어 NOR 소자(NOR)의 출력 값은 '1'로 천이되며, NOR 소자(NOR)의 출력 값은 제 1 래치 소자(D1)를 동작(enable)시킨다. 이때, 120 단계와 같이, 제 1 래치 소자(D1)는 '1'를 출력할 수 있으며, , 제 1 래치 소자(D1)의 출력 값 '1'은 확인 신호(ack(i))로서 출력되며 동시에 제 2 XOR 소자(XOR2)의 입력단으로 전달된다. 또한, 제 1 래치 소자(D1)의 반전된 출력 값 '0'은 제 1 XOR 소자(XOR1)의 입력단으로 전달된다. In an embodiment, in step 110 or 115, all input values of the NOR element NOR become '0', so that the output value of the NOR element NOR transitions to '1', and the output value of the NOR element NOR becomes '1'. enables the first latch element D1. At this time, as in step 120, the first latch element D1 may output '1', and the output value '1' of the first latch element D1 is output as a confirmation signal ack (i) At the same time, it is transmitted to the input terminal of the second XOR element XOR2. In addition, the inverted output value '0' of the first latch element D1 is transmitted to the input terminal of the first XOR element XOR1.

이후, 130 단계와 같이, 제 1 XOR 소자(XOR1)는 req(i-1)의 '1'과 제 1 래치 소자(D1)의 반전된 출력 값 '0'에 의해서, '1'를 NOR 소자(NOR)로 출력한다. 이때, 제 1 XOR 소자(XOR1)의 출력 값 '1'은 지연되어 NOR 소자(NOR) 및 제 2 래치 소자(D2)로 전달된다. 동시에 제 2 XOR 소자(XOR2)는 확인 신호(ack(i)) '1'과 확인 신호(ack(i+1)) '0'에 의해서, '1'를 NOR 소자(NOR)로 출력한다. 이때, NOR 소자(NOR)는 제 1 XOR 소자(XOR1)의 출력 값 '1'과 제 2 XOR 소자(XOR2)의 출력 값 '1'에 의해서 '0'을 출력하고, NOR 소자(NOR)의 출력 값 '0'에 의해 제 1 래치 소자(D1)는 동작 상태에서 비동작 상태로 천이될 수 있으며, 제 1 XOR 소자(XOR1)의 출력 값 '1'은 제 2 래치 소자(D2)를 비동작 상태에서 동작 상태로 천이 시킴으로써, 제 2 래치 소자(D2)는 '1'을 출력할 수 있다. 130 단계의 상태는 논리 상태 B로 칭한다. Thereafter, as in step 130, the first XOR element XOR1 converts '1' to the NOR element by the '1' of req (i-1) and the inverted output value '0' of the first latch element D1. Output as (NOR). At this time, the output value '1' of the first XOR element XOR1 is delayed and transferred to the NOR element NOR and the second latch element D2. At the same time, the second XOR element XOR2 outputs '1' to the NOR element NOR by the confirmation signal ack (i ) '1' and the confirmation signal ack (i+1) '0'. At this time, the NOR element NOR outputs '0' by the output value '1' of the first XOR element XOR1 and the output value '1' of the second XOR element XOR2, and By the output value '0', the first latch element D1 may transition from the operating state to the non-operating state, and the output value '1' of the first XOR element XOR1 does not equal the second latch element D2. By transitioning from the operating state to the operating state, the second latch element D2 may output '1'. The state of step 130 is referred to as logic state B.

논리 상태 B에서, req(i-1)가 '0'으로 천이된 후 ack(i+1)가 '1'로 천이되거나(200, 210) ack(i+1)가 '1'으로 천이된 후 req(i-1)가 '0'으로 천이될 수 있다(205, 215). 먼저, req(i-1)가 '0'로 입력되면 제 1 XOR 소자(XOR1)로 전달되어 제 1 XOR 소자(XOR1)의 출력 값은 '0'으로 변경되고, 제 1 XOR 소자(XOR1)의 출력 값은 NOR 소자 및 제 2 래치 소자(D2)로 전달될 수 있다(200). 이때, req(i-1)의 '0' 입력에 관계없이, NOR 소자(NOR), 제 2 XOR 소자(XOR2) 및 제 1 래치 소자(D1) 및 제 2 래치 소자(D2)는 현재 상태를 유지하다. 이후, ack(i+1)가 '1'로 입력되면, 제 2 XOR 소자(XOR2)의 출력 값은 '1'에서 '0'으로 변경된다(210).In logical state B, after req (i-1) transitions to '0', ack (i+1) transitions to '1' (200, 210) or ack (i+1) transitions to '1' After req (i-1) may be transitioned to '0' (205, 215). First, when req (i-1) is input as '0', it is transmitted to the first XOR element XOR1 and the output value of the first XOR element XOR1 is changed to '0', and the first XOR element XOR1 The output value of may be transmitted to the NOR element and the second latch element D2 ( 200 ). At this time, regardless of the '0' input of req (i-1) , the NOR element NOR, the second XOR element XOR2, and the first latch element D1 and the second latch element D2 display the current state. maintain. Thereafter, when ack (i+1) is input as '1', the output value of the second XOR element XOR2 is changed from '1' to '0' ( 210 ).

반면, 먼저 ack(i+1)가 '1'으로 입력되면 제 2 XOR 소자(XOR2)로 전달되어 제 2 XOR 소자(XOR2)의 출력 값은 '0'으로 변경되고, 제 2 XOR 소자(XOR2)의 출력 값은 NOR 소자로 전달될 수 있다(205). 이때, ack(i+1)의 '1' 입력에 관계없이, NOR 소자(NOR), 제 1 XOR 소자(XOR1) 및 제 1 래치 소자(D1) 및 제 2 래치 소자(D2)는 현재 상태를 유지하다. 이후, req(i-1)가 '0' 로 입력되면, 제 1 XOR 소자(XOR1)로 전달되어 제 1 XOR 소자(XOR1)의 출력 값은 '0'으로 변경되고, 제 1 XOR 소자(XOR1)의 출력 값은 NOR 소자 및 제 2 래치 소자(D2)로 전달될 수 있다(215). 210과 215의 상태를 고려할 때, 요청 신호와 확인 신호 간의 충돌에서도 오동작 없이 동작될 수 있는 것을 확인할 수 있다. On the other hand, when ack (i+1) is first input as '1', it is transmitted to the second XOR element XOR2, and the output value of the second XOR element XOR2 is changed to '0', and the second XOR element XOR2 ) may be transferred to the NOR element ( 205 ). At this time, regardless of the '1' input of ack (i+1) , the NOR element NOR, the first XOR element XOR1, and the first latch element D1 and the second latch element D2 display the current state. maintain. Thereafter, when req (i-1) is input as '0', it is transmitted to the first XOR element XOR1 and the output value of the first XOR element XOR1 is changed to '0', and the first XOR element XOR1 ) may be transmitted to the NOR element and the second latch element D2 ( 215 ). Considering the states of 210 and 215, it can be confirmed that operation can be performed without malfunction even in a collision between the request signal and the confirmation signal.

일 실시예에서, 210 또는 215 단계에서, NOR 소자(NOR)의 입력 값은 모두 '0'이 되어 NOR 소자(NOR)의 출력 값은 '1'로 천이되며, NOR 소자(NOR)의 출력 값은 제 1 래치 소자(D1)를 동작(enable)시킨다. 이때, 220 단계와 같이, 제 1 래치 소자(D1)는 '0'를 출력할 수 있으며, 제 1 래치 소자(D1)의 출력 값 '0'은 확인 신호(ack(i))로서 출력되며 동시에 제 2 XOR 소자(XOR2)의 입력단으로 전달된다. 또한, 제 1 래치 소자(D1)의 반전된 출력 값 '1'은 제 1 XOR 소자(XOR1)의 입력단으로 전달된다. In an embodiment, in step 210 or 215, all input values of the NOR element NOR become '0', so that the output value of the NOR element NOR transitions to '1', and the output value of the NOR element NOR becomes '1'. enables the first latch element D1. At this time, as in step 220, the first latch element D1 may output '0', and the output value '0' of the first latch element D1 is output as a confirmation signal ack (i) and at the same time It is transmitted to the input terminal of the second XOR element XOR2. In addition, the inverted output value '1' of the first latch element D1 is transmitted to the input terminal of the first XOR element XOR1.

이후, 230 단계와 같이, 제 1 XOR 소자(XOR1)는 req(i-1)의 '0'과 제 1 래치 소자(D1)의 반전된 출력 값 '1'에 의해서, '1'를 NOR 소자(NOR)로 출력한다. 이때, 제 1 XOR 소자(XOR1)의 출력 값 '1'은 지연되어 NOR 소자(NOR) 및 제 2 래치 소자(D2)로 전달된다. 동시에 제 2 XOR 소자(XOR2)는 확인 신호(ack(i)) '0'과 확인 신호(ack(i+1)) '1'에 의해서, '1'를 NOR 소자(NOR)로 출력한다. 이때, NOR 소자(NOR)는 제 1 XOR 소자(XOR1)의 출력 값 '1'과 제 2 XOR 소자(XOR2)의 출력 값 '1'에 의해서 '0'을 출력하고, NOR 소자(NOR)의 출력 값 '0'에 의해 제 1 래치 소자(D1)는 동작 상태에서 비동작 상태로 천이될 수 있으며, 제 1 XOR 소자(XOR1)의 출력 값 '1'은 제 2 래치 소자(D2)를 비동작 상태에서 동작 상태로 천이 시킴으로써, 제 2 래치 소자(D2)는 '0'을 출력할 수 있다. 230 단계의 상태는 논리 상태 A로 칭한다. Thereafter, as in step 230, the first XOR element XOR1 converts '1' to the NOR element by '0' of req (i-1) and the inverted output value '1' of the first latch element D1. Output as (NOR). At this time, the output value '1' of the first XOR element XOR1 is delayed and transferred to the NOR element NOR and the second latch element D2. At the same time, the second XOR element XOR2 outputs '1' to the NOR element NOR by the confirmation signal ack (i ) '0' and the confirmation signal ack (i+1) '1'. At this time, the NOR element NOR outputs '0' by the output value '1' of the first XOR element XOR1 and the output value '1' of the second XOR element XOR2, and By the output value '0', the first latch element D1 may transition from the operating state to the non-operating state, and the output value '1' of the first XOR element XOR1 does not equal the second latch element D2. By transitioning from the operating state to the operating state, the second latch element D2 may output '0'. The state of step 230 is referred to as a logic state A.

120, 130, 220, 230 단계에 해당하는 동작은 타이밍 경로에서 요청 신호 및 확인 신호의 '1' 상태 및 '0' 상태를 각각 전송하기 위해 오류 없이 작동함을 할 수 있다. Operations corresponding to steps 120, 130, 220, and 230 may be performed without an error in order to transmit a '1' state and a '0' state of the request signal and the confirmation signal, respectively, in the timing path.

본 발명의 다른 실시예에서, 전술한 도 6의 비동기식 파이프라인 제어기의 공유 지연 회로(SDC)와 비공유 지연 회로(NSDC)는 하기 도 10과 같이 설계될 수 있다. In another embodiment of the present invention, the shared delay circuit (SDC) and the non-shared delay circuit (NSDC) of the asynchronous pipeline controller of FIG. 6 described above may be designed as shown in FIG. 10 below.

도 10은 본 발명의 일 실시예에 따른 비동기 파이프라인 구조의 비동기식 파이프라인 제어기의 공유 지연 회로(SDC)와 비공유 지연 회로(NSDC)를 설계하는 방법을 설명하는 순서도이다. 10 is a flowchart illustrating a method of designing a shared delay circuit (SDC) and a non-shared delay circuit (NSDC) of an asynchronous pipeline controller having an asynchronous pipeline structure according to an embodiment of the present invention.

도 10을 참조하면, 설계 순서는 각 파이프라인 단계에서 요구되는 타이밍 정보를 분석하는 단계(S100), 각 파이프라인 단계의 타이밍 분석 결과를 바탕으로 각 단계의 사이클 타임(cycle time) 특성을 분석하는 단계(S110), S110 단계의 분석 결과를 고려하여 각 단계에서 구현할 지연에 따른 지연 회로의 최소 예상 면적을 모델링하는 단계(S120), 상기 모델링을 활용하여 전체 비동기 파이프라인 제어기 면적을 최소화할 수 있도록 각 지연 회로로 구현할 지연 값을 결정하는 단계(S130) 및 상기 결정한 딜레이 값을 바탕으로 지연 회로 구조 및 지연 버퍼 수량을 결정하는 단계(S140)를 포함할 수 있다. 이로써 최종적으로 최소 면적을 갖는 2상 묶음 데이터 프로토콜 기반 비동기 파이프라인 제어기의 로직 합성(logic synthesis)이 완료될 수 있다. Referring to FIG. 10 , the design sequence is a step of analyzing timing information required for each pipeline step ( S100 ), and analyzing the cycle time characteristics of each step based on the timing analysis result of each pipeline step. In consideration of the analysis results of steps S110 and S110, modeling the minimum expected area of the delay circuit according to the delay to be implemented in each step (S120), using the modeling to minimize the total area of the asynchronous pipeline controller It may include determining a delay value to be implemented with each delay circuit ( S130 ) and determining a delay circuit structure and the number of delay buffers based on the determined delay value ( S140 ). As a result, the logic synthesis of the asynchronous pipeline controller based on the two-phase bundled data protocol having a minimum area can finally be completed.

일 실시예에서, 단계(S110)에서, 각 파이프라인 단계에 대해 로직 합성 완료 후 해당 데이터 경로의 타이밍 분석에서 계산된 타깃 지연으로부터 각 파이프라인 단계의 사이클 타임(cycle time)이 추정될 수 있다.In an embodiment, in operation S110 , a cycle time of each pipeline stage may be estimated from a target delay calculated in timing analysis of a corresponding data path after logic synthesis is completed for each pipeline stage.

단계(S120)에서, 각 타깃 전파 지연 샘플에 대해, 타깃 지연과 면적 최소(area-minimal) 지연 회로 구현 사이에 부분적 선형 모델링으로부터 가능한 모든 지연 회로를 생성할 수 있다. 공유 지연 회로(SDC) 및 비공유 지연 회로(NSDC)의 최소 보유 시간이 다르기 때문에 전체 파이프라인 단계에서 SDC 및 NSDC에 대한 부분 선형 모델을 구성할 수 있다. 단순한 지연 버퍼 체인을 구현하는 것을 제외하고, 지연 회로를 합성하기 위해 전술한 타이밍 제약 조건들이 충족되어야 한다. 따라서, 주어진 최소 보유 시간 0 및 타깃 지연 dtarget에 대한 복수의 지연 회로들을 합성하기 위해 모든 제약 조건을 충족하면서 지연 회로의 각 계층에서 최소로 필요한 지연 버퍼 수를 하기 <수학식 5>을 이용하여 계산할 수 있다. In step S120, for each target propagation delay sample, all possible delay circuits may be generated from partial linear modeling between the target delay and the area-minimal delay circuit implementation. Because the minimum retention times of the shared delay circuit (SDC) and non-shared delay circuit (NSDC) are different, it is possible to construct a partial linear model for SDC and NSDC in the entire pipeline stage. Except for implementing a simple delay buffer chain, the above-mentioned timing constraints must be satisfied to synthesize the delay circuit. Therefore, the minimum number of delay buffers required in each layer of the delay circuit while satisfying all constraints to synthesize a plurality of delay circuits for a given minimum retention time 0 and target delay d target is calculated using Equation 5 below can be calculated

<수학식 5><Equation 5>

Figure 112020129485623-pat00005
Figure 112020129485623-pat00005

여기서, nl은 L 레이어의 지연 버퍼의 수를 나타내고 dmargin은 모델링 마진을 나타낸다. Here, n l represents the number of delay buffers in the L layer and d margin represents the modeling margin.

ΔL는 L-레이어의 최소 보유 시간이고, dtarget는 타깃 지연이고, wDPU l-xoru는 파이프라인 단계 L의 제 1 XOR 소자(XOR1)의 출력 신호이고, enDPU l-r은 파이프라인 단계 L의 제 2 래치 소자(D2)를 enable 또는 disable 시키는 제어 신호이고, enDPU l-f는 파이프라인 단계 L의 제 1 래치 소자(D1)를 enable 또는 disable 시키는 제어 신호이고, qnDPU l-f는 제 1 래치 소자(D1)의 반전 출력 신호이고, 파이프라인 단계의 signa in은 입력 신호이고, signalout은 파이프라인 단계의 출력 신호이다. Δ L is the minimum retention time of the L-layer, d target is the target delay, w DPU l-xoru is the output signal of the first XOR element (XOR1) of pipeline stage L, en DPU lr is pipeline stage L is a control signal for enabling or disabling the second latch element D2 of The inverted output signal of (D1), signa in of the pipeline stage is the input signal, and signal out is the output signal of the pipeline stage.

일 실시예에서, 단계(S130)에서, 부분 선형 모델을 참조하여 지연 회로에 대한 지연 할당은 하기 <수학식 6>로 결정될 수 있다. In an embodiment, in step S130 , the delay allocation for the delay circuit may be determined by Equation 6 below with reference to the partial linear model.

<수학식 6><Equation 6>

Figure 112020129485623-pat00006
Figure 112020129485623-pat00006

여기서, Areai S 및 Areai NS는 각각 SDC 및 NSDC에 대한 파이프라인 단계 i의 최소 영역 지연 회로의 매핑 함수이다. ε은 게이트 지연 모델의 불일치를 방지하기 위한 값이고, Delayi는 파이프라인 단계 i의 지연이며, Cyclei.는 파이프라인 단계 i의 사이클 타임이다. wi xoru는 파이프라인 단계 i의 제 1 XOR 소자(XOR1)의 출력 신호이고, wi xorl는 파이프라인 단계 i의 제 2 XOR 소자(XOR2)의 출력 신호이고, eni는 파이프라인 단계 i의 제 1 래치 소자(D1)를 enable 또는 disable 시키는 제어 신호이고, eni→(i+1)는 파이프라인 단계 i의 제 2 래치 소자(D2)를 enable 또는 disable 시키는 제어 신호이고, qni f는 제 1 래치 소자(D1)의 반전 출력 신호이고, qi f는 제 1 래치 소자(D1)의 출력 신호이고, qi r는 제 2 래치 소자(D2)의 출력 신호이다. Here, Area i S and Area i NS are mapping functions of the minimum area delay circuit of pipeline stage i for SDC and NSDC, respectively. ε is a value to prevent inconsistency of the gate delay model, Delay i is the delay of pipeline stage i, Cycle i. is the cycle time of pipeline stage i. w i xoru is the output signal of the first XOR element (XOR1) of pipeline stage i, w i xorl is the output signal of the second XOR element (XOR2) of pipeline stage i, en i is the output signal of pipeline stage i is a control signal for enabling or disabling the first latch element D1, en i→(i+1) is a control signal for enabling or disabling the second latch element D2 of pipeline stage i, qn i f is an inverted output signal of the first latch element D1 , q i f is an output signal of the first latch element D1 , and q i r is an output signal of the second latch element D2 .

일 실시예에서, 단계(S140)에서, <수학식 5>의 해에 의해 생성된 모든 지연 회로에 할당된 지연 값으로 다시 한번 <수학식 6>의 해를 구하여, 최소 총 면적의 파이프라인 제어기의 합성을 완료할 수 있다. In one embodiment, in step S140, the solution of <Equation 6> is once again obtained with the delay values assigned to all delay circuits generated by the solution of <Equation 5>, and the pipeline controller of the minimum total area synthesis can be completed.

이상에서 설명한 본 발명이 전술한 실시예 및 첨부된 도면에 한정되지 않으며, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러가지 치환, 변형 및 변경이 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.It is common in the art to which the present invention pertains that the present invention described above is not limited to the above-described embodiments and the accompanying drawings, and that various substitutions, modifications and changes are possible within the scope without departing from the technical spirit of the present invention. It will be clear to those who have knowledge.

Claims (27)

입력 신호를 지연 전달시키는 지연 회로로서,
상기 지연 회로는,
지연 경로를 제공하는 적어도 하나 이상의 지연부; 및
상기 적어도 하나 이상의 지연부와 연결되는 적어도 하나 이상의 논리 소자를 포함하며,
상기 논리 소자는 상기 입력 신호의 트랜지션(transition)이 발생하는 경우, 상기 입력 신호가 상기 지연 경로를 재사용하도록 적어도 2회 이상 반복 통과시키는 논리 연산(logical operation)을 수행하는 지연 회로.
A delay circuit for delaying an input signal, comprising:
The delay circuit is
at least one delay unit providing a delay path; and
at least one logic element connected to the at least one delay unit,
When a transition of the input signal occurs, the logic element performs a logical operation for repeatedly passing the input signal through at least two times to reuse the delay path.
제 1 항에 있어서,
상기 논리 소자는,
상기 입력 신호를 수신하는 제 1 입력단, 상기 입력 신호를 출력하는 제 1 출력단 및 상기 입력 신호를 반전시켜 출력하는 제 2 출력단을 갖는 제 1 래치 소자;
상기 제 1 래치 소자의 상기 제 1 출력단과 연결되어 상기 제 1 래치 소자를 통과한 상기 입력 신호를 수신하는 제 1 입력단과 상기 입력 신호를 출력하는 출력단을 갖는 제 2 래치 소자; 및
상기 제 1 래치 소자를 제 1 시점에 인에이블시키는 동안 상기 제 2 래치 소자를 디스에이블시키고, 상기 제 1 시점보다 늦은 제 2 시점에 상기 제 1 래치 소자를 디스에이블시키는 동안 상기 제 2 래치 소자를 인에이블시켜 상기 입력 신호가 상기 적어도 하나 이상의 지연부를 적어도 2회 이상 충돌 없이 통과되도록 제어하는 제어부를 포함하는 지연 회로.
The method of claim 1,
The logic element is
a first latch element having a first input terminal for receiving the input signal, a first output terminal for outputting the input signal, and a second output terminal for inverting and outputting the input signal;
a second latch element connected to the first output terminal of the first latch element and having a first input terminal for receiving the input signal passing through the first latch element and an output terminal for outputting the input signal; and
disabling the second latch element while enabling the first latch element at a first time point, and disabling the second latch element while disabling the first latch element at a second time point later than the first time point and a control unit enabling the input signal to pass through the at least one delay unit at least two times without collision.
제 2 항에 있어서,
상기 제어부는,
상기 입력 신호와 상기 제 1 래치 소자의 제 2 출력단으로부터의 반전 입력 신호를 입력으로 0 또는 1를 출력하는 제 1 XOR 소자;
상기 제 1 래치 소자의 제 1 출력단으로부터 출력되는 입력 신호와 상기 제 2 래치 소자의 출력단으로부터 출력되는 입력 신호를 입력으로 0 또는 1를 출력하는 제 2 XOR 소자; 및
상기 제 1 XOR 소자의 출력 신호와 상기 제 2 XOR 소자의 출력 신호를 입력으로 0 또는 1를 출력하여 상기 제 1 래치 소자를 인에이블 또는 디스에이블시키는 NOR 소자를 포함하며,
상기 지연부는 상기 제 1 XOR 소자의 출력단과 상기 NOR 소자의 제 1 입력단 사이에 배치되며, 상기 제 1 XOR 소자의 출력 신호를 지연시켜 상기 NOR 소자의 제 1 입력단과 상기 제 2 래치 소자의 제 2 입력단으로 전달하는 지연 회로.
3. The method of claim 2,
The control unit is
a first XOR element that outputs 0 or 1 to the input signal and an inverted input signal from a second output terminal of the first latch element;
a second XOR element configured to output 0 or 1 to an input signal output from a first output terminal of the first latch element and an input signal outputted from an output terminal of the second latch element; and
and a NOR element for enabling or disabling the first latch element by outputting 0 or 1 to the output signal of the first XOR element and the output signal of the second XOR element as inputs;
The delay unit is disposed between the output terminal of the first XOR element and the first input terminal of the NOR element, and delays the output signal of the first XOR element, the first input terminal of the NOR element and the second input terminal of the second latch element A delay circuit that passes to the input stage.
제 3 항에 있어서,
상기 제 1 XOR 소자의 입력단과 상기 제 1 래치 소자의 상기 제 2 출력단은 연결되며,
상기 제 2 XOR 소자의 제 1 입력단과 상기 제 1 래치 소자의 제 1 출력단과 연결되고, 상기 제 2 XOR 소자의 제 2 입력단과 상기 제 2 래치 소자의 출력단과 연결되고,
상기 NOR 소자의 출력단과 상기 제 1 래치 소자의 제 2 입력단과 연결되는 지연 회로.
4. The method of claim 3,
an input terminal of the first XOR element and the second output terminal of the first latch element are connected;
connected to a first input terminal of the second XOR element and a first output terminal of the first latch element, and connected to a second input terminal of the second XOR element and an output terminal of the second latch element;
A delay circuit connected to an output terminal of the NOR element and a second input terminal of the first latch element.
제 3 항에 있어서,
상기 제 1 XOR 소자의 출력단은 상기 지연부의 입력단과 연결되며 상기 지연부의 출력단은 상기 NOR 소자의 제 1 입력단 및 상기 제 2 래치 소자의 제 2 입력단과 연결되고,
상기 NOR 소자의 제 2 입력단과 상기 제 2 XOR 소자의 출력단이 연결되는 지연 회로.
4. The method of claim 3,
An output terminal of the first XOR element is connected to an input terminal of the delay unit, and an output terminal of the delay unit is connected to a first input terminal of the NOR element and a second input terminal of the second latch element;
A delay circuit in which a second input terminal of the NOR element and an output terminal of the second XOR element are connected.
제 1 항에 있어서,
상기 지연부는 체인 형태로 적어도 하나의 버퍼 또는 인버터가 직렬 연결되거나 버퍼 또는 인버터 없이 연결되는 지연 회로.
The method of claim 1,
The delay unit is a delay circuit in which at least one buffer or inverter is connected in series or without a buffer or inverter in a chain form.
제 1 항에 있어서,
상기 적어도 하나의 지연부가 m 개인 경우, m 개의 지연부들은 상기 논리 소자를 통해 서로 전기적으로 연결되어, 상기 입력 신호를 2m, 2m-1,.., 21 회수만큼 통과시켜 다음 제 1 지연부로 순차적으로 전달하며,
m 번째 지연부는 2 회 상기 입력 신호를 통과시켜서 m-1 번째 지연부로 전달하고, 상기 m-1 지연부는 2 회 상기 입력 신호를 통과시켜서 m-2 지연부로 전달하고, 상기 m-2 번째 지연부는 2 회 상기 입력 신호를 통과시켜서 m-3 번째 지연부로 전달하는 지연 회로.
The method of claim 1,
When the number of the at least one delay unit is m, the m delay units are electrically connected to each other through the logic element, pass the input signal 2 m , 2 m-1 ,.., 2 1 times to pass the next first Delivered sequentially to the delay unit,
The m-th delay unit passes the input signal twice and transmits it to the m-1 th delay unit, and the m-1 delay unit passes the input signal 2 times. A delay circuit for passing the input signal twice and transferring it to an m-2 delay unit, and passing the input signal through the m-2 delay unit twice and transferring the input signal to an m-3 delay unit.
제 1 비동기 파이프라인 제어기에 의해 제어되는 제 1 타이밍 경로로부터 유입되는 제 1 요청 신호를 기반으로 상기 제 1 타이밍 경로와 적어도 부분적으로 중첩되는 영역을 갖는 제 2 타이밍 경로를 제어하는 제 2 비동기 파이프라인 제어기로서,
상기 제 2 비동기 파이프라인 제어기는 상기 제 1 요청 신호가 상기 중첩되는 영역을 적어도 2회 이상 통과되도록 상기 제 2 타이밍 경로를 제공하는 지연 경로 유닛을 포함하는 상기 제 2 비동기 파이프라인 제어기.
A second asynchronous pipeline controlling a second timing path having a region at least partially overlapping with the first timing path based on a first request signal coming from a first timing path controlled by the first asynchronous pipeline controller As a controller,
and the second asynchronous pipeline controller includes a delay path unit that provides the second timing path so that the first request signal passes through the overlapping region at least twice or more.
제 8 항에 있어서,
상기 지연 경로 유닛은,
상기 제 1 요청 신호를 수신하는 제 1 입력단, 상기 제 1 요청 신호에 응답하여 제 2 확인 신호를 출력하는 제 1 출력단 및 상기 제 2 확인 신호를 반전시켜 출력하는 제 2 출력단을 갖는 제 1 래치 소자;
상기 제 1 래치 소자의 제 1 출력단과 연결된 제 1 입력단과 제 3 확인 신호에 응답하여 제 2 요청 신호를 출력하는 출력단을 갖는 제 2 래치 소자; 및
상기 제 1 래치 소자를 제 1 시점에 동작시키는 동안 상기 제 2 래치 소자를 비동작시키고, 상기 제 1 시점보다 늦은 제 2 시점에 상기 제 1 래치 소자를 비동작시키는 동안 상기 제 2 래치 소자를 동작시켜 상기 제 2 요청 신호를 제 3 비동기 파이프라인 제어기로 출력시키도록 제어하는 논리 회로를 포함하는 제 2 비동기 파이프라인 제어기.
9. The method of claim 8,
The delay path unit,
A first latch element having a first input terminal for receiving the first request signal, a first output terminal for outputting a second confirmation signal in response to the first request signal, and a second output terminal for inverting and outputting the second confirmation signal ;
a second latch element having a first input terminal connected to a first output terminal of the first latch element and an output terminal outputting a second request signal in response to a third confirmation signal; and
The second latch element is deactivated while the first latch element is operated at a first time point, and the second latch element is operated while the first latch element is deactivated at a second time point later than the first time point. and a logic circuit for controlling to output the second request signal to a third asynchronous pipeline controller.
제 9 항에 있어서,
상기 논리 회로는,
상기 제 1 요청 신호와 상기 반전된 제 2 확인 신호를 입력으로 0 또는 1를 출력하는 제 1 XOR 소자;
상기 제 2 확인 신호 및 상기 제 3 비동기 파이프라인 제어기로부터 피드백되는 제 3 확인 신호를 입력으로 0 또는 1를 출력하는 제 2 XOR 소자;
상기 제 1 XOR 소자의 출력 신호와 상기 제 2 XOR 소자의 출력 신호를 입력으로 0 또는 1를 출력하여 상기 제 1 래치 소자를 동작 또는 비동작시키는 NOR 소자; 및
상기 제 1 XOR 소자의 출력단과 상기 NOR 소자의 제 1 입력단 사이에 배치되며 상기 제 1 XOR 소자의 출력 신호를 지연시켜 상기 NOR 소자의 제 1 입력단으로 제공하는 공유 지연 회로를 포함하는 제 2 비동기 파이프라인 제어기.
10. The method of claim 9,
The logic circuit is
a first XOR element outputting 0 or 1 to the first request signal and the inverted second confirmation signal as inputs;
a second XOR element that outputs 0 or 1 to the second acknowledgment signal and a third acknowledgment signal fed back from the third asynchronous pipeline controller as inputs;
a NOR element that operates or deactivates the first latch element by outputting 0 or 1 to the output signal of the first XOR element and the output signal of the second XOR element; and
a second asynchronous pipe disposed between an output terminal of the first XOR element and a first input terminal of the NOR element, the second asynchronous pipe including a shared delay circuit delaying the output signal of the first XOR element and providing it to a first input terminal of the NOR element line controller.
제 10 항에 있어서,
상기 공유 지연 회로는, 체인 형태로 적어도 하나의 버퍼 또는 인버터가 직렬 연결되거나 버퍼 또는 인버터 없이 연결되는 제 2 비동기 파이프라인 제어기.
11. The method of claim 10,
The shared delay circuit is a second asynchronous pipeline controller in which at least one buffer or inverter is connected in series or without a buffer or inverter in a chain form.
제 10 항에 있어서,
상기 제 1 XOR 소자의 입력단과 상기 제 1 래치 소자의 제 2 출력단은 연결되고,
상기 제 2 XOR 소자의 제 1 입력단과 상기 제 1 래치 소자의 제 1 출력단과 연결되고, 상기 제 2 XOR 소자의 제 2 입력단과 제 3 타이밍 경로와 연결되며,
상기 NOR 소자의 출력단과 상기 제 1 래치 소자의 제 2 입력단과 연결되는 제 2 비동기 파이프라인 제어기.
11. The method of claim 10,
an input terminal of the first XOR element and a second output terminal of the first latch element are connected;
connected to a first input terminal of the second XOR element and a first output terminal of the first latch element, and connected to a second input terminal and a third timing path of the second XOR element;
a second asynchronous pipeline controller connected to an output terminal of the NOR element and a second input terminal of the first latch element.
제 10 항에 있어서,
상기 제 1 XOR 소자의 출력단은 상기 공유 지연 회로의 입력단과 연결되며 상기 공유 지연 회로의 출력단은 상기 NOR 소자의 제 1 입력단 및 상기 제 2 래치 소자의 제 2 입력단과 연결되며,
상기 NOR 소자의 제 2 입력단과 상기 제 2 XOR 소자의 출력단이 연결되는 제 2 비동기 파이프라인 제어기.
11. The method of claim 10,
an output terminal of the first XOR element is connected to an input terminal of the shared delay circuit, and an output terminal of the shared delay circuit is connected to a first input terminal of the NOR element and a second input terminal of the second latch element;
A second asynchronous pipeline controller in which a second input terminal of the NOR element and an output terminal of the second XOR element are connected.
제 9 항에 있어서,
상기 제 2 래치 소자의 출력단과 연결되는 비공유 지연 회로를 더 포함하며,
상기 비공유 지연 회로는, 체인 형태로 적어도 하나의 버퍼 또는 인버터가 직렬 연결되거나 버퍼 또는 인버터 없이 연결되는 제 2 비동기 파이프라인 제어기.
10. The method of claim 9,
Further comprising a non-shared delay circuit connected to the output terminal of the second latch element,
The non-shared delay circuit is a second asynchronous pipeline controller in which at least one buffer or inverter is connected in series or without a buffer or inverter in a chain form.
제 10 항 또는 제 14 항에 있어서,
상기 제 2 타이밍 경로의 지연은 상기 공유 지연 회로 또는 상기 비공유 지연 회로의 버퍼 또는 인버터 수에 조절되는 제 2 비동기 파이프라인 제어기.
15. The method of claim 10 or 14,
a second asynchronous pipeline controller wherein the delay of the second timing path is adjusted to a number of buffers or inverters in the shared delay circuit or the non-shared delay circuit.
제 9 항에 있어서,
상기 제 1 요청 신호의 도착과 상기 제 1 래치 소자의 비동작하는 시점 사이의 시간 간격은 상기 제 3 확인 신호에 의해 상기 제 1 래치 소자가 동작되는 시간 간격보다 작거나 같고,
상기 제 3 확인 신호는 상기 제 2 타이밍 경로와 연결된 제 3 타이밍 경로를 제어하는 제 3 비동기 파이프라인 제어기로부터 수신되는 제 2 비동기 파이프라인 제어기.
10. The method of claim 9,
The time interval between the arrival of the first request signal and the non-operation time of the first latch element is less than or equal to the time interval during which the first latch element is operated by the third confirmation signal,
a second asynchronous pipeline controller, wherein the third acknowledgment signal is received from a third asynchronous pipeline controller that controls a third timing path coupled to the second timing path.
제 9 항에 있어서,
상기 제 1 요청 신호의 도착과 상기 제 1 래치 소자의 비동작하는 시점 사이의 시간 간격은 상기 제 1 타이밍 경로로부터 제공되는 제 1 요청 신호들 사이의 간격보다 작거나 같은 제 2 비동기 파이프라인 제어기.
10. The method of claim 9,
a second asynchronous pipeline controller, wherein a time interval between the arrival of the first request signal and an inactive time of the first latch element is less than or equal to an interval between first request signals provided from the first timing path.
제 10 항에 있어서,
상기 중첩되는 영역은 상기 제 1 XOR 소자 및 상기 공유 지연 회로를 포함하는 제 2 비동기 파이프라인 제어기.
11. The method of claim 10,
and the overlapping region includes the first XOR element and the shared delay circuit.
제 8 항에 있어서,
상기 지연 경로 유닛이 m 개의 지연 회로를 포함하는 경우, m 개의 지연 회로들은 서로 전기적으로 연결되어, 상기 제 1 요청 신호를 각각 2m, 2m-1,.., 21 회수만큼 통과시키되,
제 m 지연 회로는 2 회 상기 제 1 요청 신호를 통과시켜서 m-1 지연 회로로 전달하고, 상기 제 m-1 지연 회로는 2 회 상기 제 1 요청 신호를 통과시켜서 m-2 지연 회로로 전달하고, 제 m-2 지연 회로는 2 회 상기 제 1 요청 신호를 통과시켜서 m-3 지연 회로로 전달하는 제 2 비동기 파이프라인 제어기.
9. The method of claim 8,
When the delay path unit includes m delay circuits, the m delay circuits are electrically connected to each other to pass the first request signal 2 m , 2 m-1 ,.., 2 1 times, respectively,
The mth delay circuit is 2 time passing the first request signal to an m-1 delay circuit, and the m-1 delay circuit times the first request signal is passed to the m-2 delay circuit, and the m-2 delay circuit is a second asynchronous pipeline controller passing the first request signal to an m-3 delay circuit.
제 1 비동기 파이프라인 제어기에 의해 제어되는 제 1 타이밍 경로와 적어도 부분적으로 중첩되는 제 2 타이밍 경로를 제어하며, 상기 제 1 타이밍 경로와 연결된 제 1 래치 소자, 상기 제 1 래치 소자와 연결된 제 2 래치 소자 및 상기 제 1 래치 소자와 제 2 래치 소자를 제어하며, 상기 제 1 래치 소자의 제 1 출력단과 연결된 제 2 XOR 소자, 상기 제 1 래치 소자의 제 2 출력단과 연결된 제 1 XOR 소자, 상기 제 1 XOR 소자와 상기 제 2 XOR 소자의 출력단과 연결되며 상기 제 1 래치 소자의 입력단과 연결된 NOR 소자 및 상기 제 1 XOR 소자의 출력단과 NOR 소자의 입력단 사이에 배치되는 공유 지연 회로를 포함하는 논리 소자로 구성된 제 2 비동기 파이프라인 제어기의 제어 방법에 있어서,
상기 제 1 타이밍 경로를 통해 제 1 요청 신호를 수신하는 단계;
상기 제 1 요청 신호에 응답하여 상기 제 1 래치 소자를 인에이블 상태로 천이시키는 단계;
상기 인에이블 상태의 상기 제 1 래치 소자의 반전 출력 신호에 응답하여, 상기 제 1 래치 소자를 상기 인에이블 상태에서 디스에이블 상태로 천이시키고 상기 제 2 래치 소자를 인에이블 상태로 천이시키는 단계; 및
상기 제 2 래치 소자를 통해 제 2 요청 신호를 출력하는 단계를 포함하는 제 2 비동기 파이프라인 제어기의 제어 방법.
a first latch element coupled with the first timing path, a second latch coupled with the first latch element, controlling a second timing path that at least partially overlaps a first timing path controlled by the first asynchronous pipeline controller a second XOR element connected to a first output terminal of the first latch element, a second XOR element connected to a second output terminal of the first latch element, the first XOR element controlling the first latch element and the second latch element; A logic element comprising: a NOR element connected to one XOR element and an output terminal of the second XOR element and connected to an input terminal of the first latch element; and a shared delay circuit disposed between an output terminal of the first XOR element and an input terminal of the NOR element; In the control method of the second asynchronous pipeline controller consisting of:
receiving a first request signal via the first timing path;
transitioning the first latch element to an enabled state in response to the first request signal;
transitioning the first latch element from the enabled state to the disabled state and transitioning the second latch element to the enabled state in response to an inverted output signal of the first latch element in the enabled state; and
and outputting a second request signal through the second latch element.
제 20 항에 있어서,
상기 제 2 타이밍 경로와 적어도 부분적으로 중첩되며 제 3 비동기 파이프라인 제어기에 의해 제어되는 제 3 타이밍 경로로부터 제 3 확인 신호를 수신하는 단계를 더 포함하는 제 2 비동기 파이프라인 제어기의 제어 방법.
21. The method of claim 20,
and receiving a third acknowledgment signal from a third timing path that at least partially overlaps the second timing path and is controlled by a third asynchronous pipeline controller.
제 20 항에 있어서,
상기 제 1 요청 신호에 응답하여 상기 제 1 래치 소자를 인에이블 상태로 천이시키는 단계는,
상기 제 1 요청 신호와 상기 제 1 래치 소자의 제 2 출력단으로부터의 반전 신호에 기반하여 상기 제 1 XOR 소자를 제 1 활성화시키는 단계;
상기 제 1 래치 소자의 제 1 출력단으로부터의 출력 신호와 제 3 타이밍 경로로부터 전달되는 제 3 확인 신호에 기반하여 상기 제 2 XOR 소자를 제 1 활성화시키는 단계;
상기 제 1 XOR 소자와 상기 제 2 XOR 소자의 출력 신호에 기반하여 NOR 소자를 제 1 활성화시키는 단계; 및
상기 NOR 소자의 출력 신호에 의해 상기 제 1 래치 소자를 인에이블시키는 단계를 포함하는 제 2 비동기 파이프라인 제어기의 제어 방법.
21. The method of claim 20,
Transitioning the first latch element to an enabled state in response to the first request signal includes:
first activating the first XOR element based on the first request signal and an inverted signal from a second output terminal of the first latch element;
first activating the second XOR element based on an output signal from a first output terminal of the first latch element and a third confirmation signal transmitted from a third timing path;
first activating a NOR element based on output signals of the first XOR element and the second XOR element; and
and enabling the first latch element by an output signal of the NOR element.
제 20 항에 있어서,
상기 인에이블 상태의 상기 제 1 래치 소자의 반전 출력 신호에 응답하여, 상기 제 1 래치 소자를 상기 인에이블 상태에서 디스에이블 상태로 천이시키고 상기 제 2 래치 소자를 인에이블 상태로 천이시키는 단계는,
상기 인에이블 상태의 상기 제 1 래치 소자의 반전 출력 신호와 상기 제 1 요청 신호에 기반하여 상기 제 1 XOR 소자를 제 2 활성화시키는 단계; 및
상기 제 1 XOR 소자의 출력 신호에 의해 상기 제 2 래치 소자를 인에이블시키는 단계를 포함하는 제 2 비동기 파이프라인 제어기의 제어 방법.
21. The method of claim 20,
Transitioning the first latch element from the enabled state to the disabled state and transitioning the second latch element to the enabled state in response to an inverted output signal of the first latch element in the enabled state;
second activating the first XOR element based on an inverted output signal of the first latch element in the enabled state and the first request signal; and
and enabling the second latch element by an output signal of the first XOR element.
제 23 항에 있어서,
상기 제 1 래치 소자의 출력 신호와 제 3 타이밍 경로로부터 전달되는 제 3 확인 신호에 기반하여 상기 제 2 XOR 소자를 제 2 활성화시키는 단계;
상기 제 1 XOR 소자와 상기 제 2 XOR 소자의 출력 신호에 기반하여 NOR 소자를 제 2 활성화시키는 단계; 및
상기 NOR 소자의 출력 신호에 의해 상기 제 1 래치 소자를 디스에이블시키는 단계를 더 포함하는 제 2 비동기 파이프라인 제어기의 제어 방법.
24. The method of claim 23,
second activating the second XOR element based on an output signal of the first latch element and a third confirmation signal transmitted from a third timing path;
activating a second NOR element based on output signals of the first XOR element and the second XOR element; and
and disabling the first latch element by an output signal of the NOR element.
제 23 항에 있어서,
상기 제 1 XOR 소자의 출력 신호는 상기 공유 지연 회로를 통해 상기 NOR 소자의 입력단 및 상기 제 2 래치 소자의 입력단으로 지연 전달되는 제 2 비동기 파이프라인 제어기의 제어 방법.
24. The method of claim 23,
The output signal of the first XOR element is delayed and transferred to the input terminal of the NOR element and the input terminal of the second latch element through the shared delay circuit.
제 23 항에 있어서,
상기 제 2 요청 신호에 대응하는 제 2 확인 신호는 상기 제 1 요청 신호의 비정상적 전달을 방지하도록 상기 제 2 래치 소자(D2)로 제공되는 인에이블 신호가 하강하기 전에 상기 제 2 래치 소자(D2)의 제 1 입력단에 도착하지 않으며, 상기 인에이블 신호가 상승하기 전에 상기 제 2 래치 소자(D2)의 제 1 입력단에 도착하는 제 2 비동기 파이프라인 제어기의 제어 방법.
24. The method of claim 23,
A second confirmation signal corresponding to the second request signal is provided to the second latch element D2 before the enable signal provided to the second latch element D2 falls so as to prevent abnormal transmission of the first request signal. A method of controlling a second asynchronous pipeline controller that does not arrive at the first input of the second asynchronous pipeline controller, but arrives at the first input of the second latch element (D2) before the enable signal rises.
n 개의 파이프라인 단계(pipeline stage)로 구성된 비동기 파이프라인 회로서,
각각의 파이프라인 단계(pipeline stage)는
데이터경로를 제공하는 데이터 래치; 및
상기 데이터 래치를 동작 또는 비동작시키는 청구항 제 8 항의 비동기 파이프라인 제어기를 포함하는 비동기 파이프라인 회로.
An asynchronous pipeline circuit consisting of n pipeline stages,
Each pipeline stage is
a data latch providing a data path; and
9. An asynchronous pipeline circuit comprising the asynchronous pipeline controller of claim 8 to activate or deactivate the data latch.
KR1020200165121A 2020-11-30 2020-11-30 Delay circuit, controller for asynchronous pipeline, method of controlling the same, and circuit having the same KR102415074B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200165121A KR102415074B1 (en) 2020-11-30 2020-11-30 Delay circuit, controller for asynchronous pipeline, method of controlling the same, and circuit having the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200165121A KR102415074B1 (en) 2020-11-30 2020-11-30 Delay circuit, controller for asynchronous pipeline, method of controlling the same, and circuit having the same

Publications (2)

Publication Number Publication Date
KR20220076197A KR20220076197A (en) 2022-06-08
KR102415074B1 true KR102415074B1 (en) 2022-06-29

Family

ID=81981061

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200165121A KR102415074B1 (en) 2020-11-30 2020-11-30 Delay circuit, controller for asynchronous pipeline, method of controlling the same, and circuit having the same

Country Status (1)

Country Link
KR (1) KR102415074B1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1222869C (en) * 2000-04-25 2005-10-12 纽约市哥伦比亚大学托管会 Circuits and methods for high-capacity asynchronous pipeline processing
AU2001292980A1 (en) * 2000-10-23 2002-05-06 The Trustees Of Columbia University In The City Of New York Asynchronous pipeline with latch controllers
KR101621760B1 (en) * 2014-08-11 2016-05-17 한림대학교 산학협력단 A pipeline circuit apparatus having asynchronous clock

Also Published As

Publication number Publication date
KR20220076197A (en) 2022-06-08

Similar Documents

Publication Publication Date Title
US8352774B2 (en) Inter-clock domain data transfer FIFO circuit
US20140376569A1 (en) Multiple clock domains in noc
US6522170B1 (en) Self-timed CMOS static logic circuit
KR100758983B1 (en) Gals based network on chip and data transfer method thereof
US8872544B2 (en) Systems, pipeline stages, and computer readable media for advanced asynchronous pipeline circuits
JP2002523857A (en) FIFO using asynchronous logic
US20080215786A1 (en) Electronic Device And A Method For Arbitrating Shared Resources
US20020083298A1 (en) Asynchronous pipeline control interface
WO2016057567A1 (en) Methods and systems for synchronization between multiple clock domains
US7426632B2 (en) Clock distribution for interconnect structures
US6711089B2 (en) Method and apparatus for performing signal synchronization
JP4748896B2 (en) Synchronous data transfer processing device
JP2002524790A (en) Synchronous polyphase clock distribution system
KR102415074B1 (en) Delay circuit, controller for asynchronous pipeline, method of controlling the same, and circuit having the same
US20080136445A1 (en) Synchronous elastic designs with early evaluation
US7096375B2 (en) Data transfer circuit between different clock regions
US7382847B2 (en) Programmable sync pulse generator
JP2001159970A (en) Interdevice coupling device
WO2009110588A1 (en) Data transfer apparatus and method, and semiconductor circuit
US11226790B2 (en) Arithmetic processing apparatus with delay-and-swap processing circuit
JP2002141922A (en) Loop type path system
Nyathi et al. Multiple clock domain synchronization for network on chip architectures
US6552590B2 (en) Clocking scheme for ASIC
EP2515443A1 (en) Data serializer
Chaturvedi et al. Design of Asynchronous Circular FIFO Buffer for Asynchronous Network on Chips

Legal Events

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