KR20240061851A - Logic circuit, encoder including the same, and method for generating control signal using the same - Google Patents

Logic circuit, encoder including the same, and method for generating control signal using the same Download PDF

Info

Publication number
KR20240061851A
KR20240061851A KR1020220143686A KR20220143686A KR20240061851A KR 20240061851 A KR20240061851 A KR 20240061851A KR 1020220143686 A KR1020220143686 A KR 1020220143686A KR 20220143686 A KR20220143686 A KR 20220143686A KR 20240061851 A KR20240061851 A KR 20240061851A
Authority
KR
South Korea
Prior art keywords
gate
values
input
logic
gates
Prior art date
Application number
KR1020220143686A
Other languages
Korean (ko)
Other versions
KR102684403B1 (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 KR1020220143686A priority Critical patent/KR102684403B1/en
Publication of KR20240061851A publication Critical patent/KR20240061851A/en
Application granted granted Critical
Publication of KR102684403B1 publication Critical patent/KR102684403B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/20Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Logic Circuits (AREA)

Abstract

논리 회로는, 연속된 n비트의 입력 데이터에 기초한 n+1개의 입력 값에 기초하여 n/2 개의 출력 값을 생성하는 제1 논리 레벨, 및 상기 n/2 개의 출력 값에 기초하여 상기 입력 데이터 중 하이 레벨 값을 카운트하고, 카운트 결과가 상기 n/2를 초과하는지를 지시하는 제어 신호를 출력하는 제2 논리 레벨을 포함하고, 상기 n은 8 이상의 자연수이다.The logic circuit includes a first logic level that generates n/2 output values based on n+1 input values based on consecutive n bits of input data, and the input data based on the n/2 output values. and a second logic level that counts a middle high level value and outputs a control signal indicating whether the count result exceeds n/2, where n is a natural number of 8 or more.

Description

논리 회로, 이를 포함하는 인코더, 및 이를 이용한 제어 신호 생성 방법{LOGIC CIRCUIT, ENCODER INCLUDING THE SAME, AND METHOD FOR GENERATING CONTROL SIGNAL USING THE SAME}Logic circuit, encoder including the same, and method for generating control signals using the same {LOGIC CIRCUIT, ENCODER INCLUDING THE SAME, AND METHOD FOR GENERATING CONTROL SIGNAL USING THE SAME}

본 개시는 논리 회로, 이를 포함하는 인코더, 및 이를 이용한 제어 신호 생성 방법에 관한 것이다. The present disclosure relates to a logic circuit, an encoder including the same, and a method of generating a control signal using the same.

컴퓨팅 시스템에서, 동적 메모리 디바이스들은, 동작 중 많은 양의 데이터를 데이터 저장에 사용한다. 메모리 버스를 통해 메모리 디바이스와 컴퓨팅 디바이스 간에 데이터가 전송된다. In computing systems, dynamic memory devices use large amounts of data for data storage during operation. Data is transferred between memory devices and computing devices through the memory bus.

연속적인 데이터를 전송하기 위해서는, 전송 에너지가 소요된다. 이러한 전송 에너지를 감소시키기 위하여 다양한 데이터 인코딩 기법이 연구되고 있다. To transmit continuous data, transmission energy is required. In order to reduce this transmission energy, various data encoding techniques are being studied.

데이터 버스 반전(DBI, Data Bus Inversion)은, 데이터 이동에서 전력을 절약하기 위하여 데이터 버스를 선택적으로 반전시키는 기법이다. DBI 기술에서는, 데이터 버스를 선택적으로 반전시키기 위하여 다수결 판정 회로를 사용할 수 있다. 이러한 DBI 기술에서 데이터의 효율적인 전송을 위하여 다양한 방식의 다수결 판정 회로가 논의되고 있다.Data Bus Inversion (DBI) is a technique that selectively inverts the data bus to save power during data movement. In DBI technology, a majority decision circuit can be used to selectively invert the data bus. In this DBI technology, various types of majority decision circuits are being discussed for efficient data transmission.

본 발명의 목적은 상기와 같은 문제점을 해결하기 위한 것으로, 데이터 전송에 있어서 정확도가 크게 감소되지 않는 범위에서 다수결 판정 회로의 지연 시간을 줄여 동작 속도가 빠른 논리 회로, 이를 포함하는 인코더, 및 이를 이용한 제어 신호 생성 방법을 제공하는 것이다.The purpose of the present invention is to solve the above problems, and provides a logic circuit with a high operating speed by reducing the delay time of the majority decision circuit within a range that does not significantly reduce accuracy in data transmission, an encoder including the same, and an encoder using the same. It provides a method for generating control signals.

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술 분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the description below.

상기와 같은 목적을 달성하기 위하여 본 발명의 실시예에 따르면, 논리 회로는, 연속된 n비트의 입력 데이터에 기초한 n+1개의 입력 값에 기초하여 n/2 개의 출력 값을 생성하는 제1 논리 레벨, 및 상기 n/2 개의 출력 값에 기초하여 상기 입력 데이터 중 하이 레벨 값을 카운트하고, 카운트 결과가 상기 n/2를 초과하는지를 지시하는 제어 신호를 출력하는 제2 논리 레벨을 포함하고, 상기 n은 8 이상의 자연수이다.In order to achieve the above object, according to an embodiment of the present invention, the logic circuit includes a first logic that generates n/2 output values based on n+1 input values based on continuous n bits of input data. a level, and a second logic level that counts high level values among the input data based on the n/2 output values and outputs a control signal indicating whether the count result exceeds the n/2, n is a natural number of 8 or more.

상기 n은 8이고, 상기 제1 논리 레벨은, 상기 n+1개의 입력 값으로부터 4개의 값을 출력하는 4개의 AOI(AND-OR-INVERTER) 게이트를 포함하며, 상기 제2 논리 레벨은, 상기 4개의 값으로부터 하나의 상기 제어 신호를 출력하는 하나의 OAI(OR-AND-INVERTER) 게이트를 포함할 수 있다. The n is 8, the first logic level includes four AOI (AND-OR-INVERTER) gates that output 4 values from the n+1 input values, and the second logic level includes the It may include one OAI (OR-AND-INVERTER) gate that outputs one control signal from four values.

상기 n은 8이고, 상기 제1 논리 레벨은, 상기 n+1개의 입력 값으로부터 4개의 값을 출력하는 4개의 OAI(OR-AND-INVERTER) 게이트를 포함하고, 상기 제2 논리 레벨은, 상기 4개의 값으로부터 하나의 상기 제어 신호를 출력하는 하나의 AOI(AND-OR-INVERTER) 게이트를 포함할 수 있다. The n is 8, the first logic level includes four OAI (OR-AND-INVERTER) gates that output 4 values from the n+1 input values, and the second logic level includes the It may include one AOI (AND-OR-INVERTER) gate that outputs one control signal from four values.

본 발명의 다른 실시예에 따르면, 인코더는, 제1 시점에서의 연속된 n비트의 입력 데이터 및 상기 제1 시점 직전의 제2 시점의 인코딩 신호를 각 비트 별로 XOR 연산하는 n+1개의 제1 XOR 게이트-상기 n은 8 이상인 자연수임-, 상기 n+1개의 제1 XOR 게이트의 출력 값에 기초하여 n/2 개의 출력 값을 생성하는 제1 논리 레벨 및 상기 n/2 개의 출력 값에 기초하여 상기 입력 데이터 중 하이 레벨 값을 카운트하고, 카운트 결과가 상기 n/2를 초과하는지를 지시하는 제어 신호를 출력하는 제2 논리 레벨을 포함하는 논리 회로, 상기 제어 신호와 상기 n비트의 입력 데이터에 기초하여 상기 제1 시점의 인코딩 신호를 생성하는 출력부를 포함하고, 상기 출력부는, 상기 제어 신호와 상기 n비트의 입력 데이터를 각 비트 별로 XOR 연산하여 상기 제1 시점의 인코딩 신호 중 n개를 생성하는 n개의 제2 XOR 게이트를 포함한다. According to another embodiment of the present invention, the encoder performs an XOR gate - where n is a natural number greater than or equal to 8 - a first logic level that generates n/2 output values based on the output values of the n+1 first A logic circuit including a second logic level that counts a high level value among the input data and outputs a control signal indicating whether the count result exceeds n/2, the control signal and the n bits of input data and an output unit that generates an encoding signal of the first time based on the output unit, wherein the output unit performs an It includes n second XOR gates.

상기 n은 8이고, 상기 제1 논리 레벨은, 상기 n+1개의 입력 값으로부터 4개의 값을 출력하는 4개의 AOI(AND-OR-INVERTER) 게이트를 포함하며, 상기 제2 논리 레벨은, 상기 4개의 값으로부터 하나의 상기 제어 신호를 출력하는 하나의 OAI(OR-AND-INVERTER) 게이트를 포함할 수 있다. The n is 8, the first logic level includes four AOI (AND-OR-INVERTER) gates that output 4 values from the n+1 input values, and the second logic level includes the It may include one OAI (OR-AND-INVERTER) gate that outputs one control signal from four values.

상기 n은 8이고, 상기 제1 논리 레벨은, 상기 n+1개의 입력 값으로부터 4개의 값을 출력하는 4개의 OAI(OR-AND-INVERTER) 게이트를 포함하며, 상기 제2 논리 레벨은, 상기 4개의 값으로부터 하나의 상기 제어 신호를 출력하는 하나의 AOI(AND-OR-INVERTER) 게이트를 포함할 수 있다. The n is 8, the first logic level includes four OAI (OR-AND-INVERTER) gates that output 4 values from the n+1 input values, and the second logic level is the It may include one AOI (AND-OR-INVERTER) gate that outputs one control signal from four values.

상기 n은 8이고, 상기 논리 회로의 출력에 기초하여 3개의 중간 제어 신호를 도출하는 3개의 제1 NAND 게이트, 및 상기 3개의 중간 제어 신호에 기초하여 하나의 최종 제어 신호를 도출하는 제2 NAND 게이트를 더 포함할 수 있다. The n is 8, three first NAND gates for deriving three intermediate control signals based on the output of the logic circuit, and a second NAND gate for deriving one final control signal based on the three intermediate control signals. Additional gates may be included.

상기 제1 논리 레벨은, 상기 n+1개의 입력 값으로부터 4개의 값을 출력하는 4개의 AOI(AND-OR-INVERTER) 게이트를 포함하고, 상기 제2 논리 레벨은, 상기 4개의 값으로부터 하나의 상기 제어 신호를 출력하는 하나의 OAI(OR-AND-INVERTER) 게이트를 포함할 수 있다. The first logic level includes four AOI (AND-OR-INVERTER) gates that output four values from the n+1 input values, and the second logic level includes one AOI gate from the four values. It may include one OAI (OR-AND-INVERTER) gate that outputs the control signal.

상기 제1 논리 레벨은, 상기 n+1개의 입력 값으로부터 4개의 값을 출력하는 4개의 OAI(OR-AND-INVERTER) 게이트를 포함하고, 상기 제2 논리 레벨은, 상기 4개의 값으로부터 하나의 상기 제어 신호를 출력하는 하나의 AOI(AND-OR-INVERTER) 게이트를 포함할 수 있다. The first logic level includes four OAI (OR-AND-INVERTER) gates that output four values from the n+1 input values, and the second logic level includes one OAI (OR-AND-INVERTER) gate from the four values. It may include one AOI (AND-OR-INVERTER) gate that outputs the control signal.

본 발명의 또 다른 실시예에 따르면, 제어 신호 생성 방법은, 인코더가, 제1 논리 회로에 연속된 n비트의 입력 데이터에 기초한 n+1개의 입력 값을 입력하여 제1 중간 제어 신호를 생성하는 단계 -상기 n은 8임-, 상기 인코더가, 상기 제1 논리 회로에 상기 n+1개의 입력 값을 조합한 제1 값을 입력하여 제2 중간 제어 신호를 생성하는 단계, 상기 인코더가, 상기 제1 논리 회로에 상기 n+1개의 입력 값을 조합한 제2 값을 입력하여 제2 중간 제어 신호를 생성하는 단계, 3개의 제1 NAND 게이트가, 상기 제1 내지 제3 중간 제어 신호에 기초하여 NAND 연산하여 3개의 NAND 연산 결과 값을 생성하는 단계, 및 제2 NAND 게이트가, 상기 3개의 NAND 연산 결과 값을 NAND 연산하여 하나의 제어 신호를 생성하는 단계를 포함한다. According to another embodiment of the present invention, the control signal generation method includes the encoder generating a first intermediate control signal by inputting n+1 input values based on n consecutive n bits of input data to the first logic circuit. Step - n is 8 - the encoder generates a second intermediate control signal by inputting a first value combining the n + 1 input values to the first logic circuit, the encoder, Generating a second intermediate control signal by inputting a second value combining the n+1 input values into a first logic circuit, three first NAND gates based on the first to third intermediate control signals A step of performing a NAND operation to generate three NAND operation result values, and generating, by a second NAND gate, one control signal by performing a NAND operation on the three NAND operation result values.

상기 제1 논리 회로는, 상기 n+1개의 입력 값으로부터 4개의 값을 출력하는 4개의 AOI(AND-OR-INVERTER) 게이트를 포함하는 제1 논리 레벨, 및 상기 4개의 값으로부터 하나의 상기 제어 신호를 출력하는 하나의 OAI(OR-AND-INVERTER) 게이트를 포함하는 제2 논리 레벨을 포함할 수 있다. The first logic circuit includes a first logic level including four AND-OR-INVERTER (AOI) gates that output four values from the n+1 input values, and one control level from the four values. It may include a second logic level including one OR-AND-INVERTER (OAI) gate that outputs a signal.

상기 제1 논리 회로는, 상기 n+1개의 입력 값으로부터 4개의 값을 출력하는 4개의 OAI(OR-AND-INVERTER) 게이트를 포함하는 제1 논리 레벨, 및 상기 4개의 값으로부터 하나의 상기 제어 신호를 출력하는 하나의 AOI(AND-OR-INVERTER) 포함하는 제2 논리 레벨을 포함할 수 있다. The first logic circuit includes a first logic level including four OAI (OR-AND-INVERTER) gates that output four values from the n+1 input values, and one of the control gates from the four values. It may include a second logic level including one AOI (AND-OR-INVERTER) that outputs a signal.

상기 3개의 NAND 연산 결과 값을 생성하는 단계는, 상기 3개의 제1 NAND 게이트 각각이, 상기 제1 내지 제3 중간 제어 신호 중 두 개의 신호를 NAND 연산하는 단계를 포함할 수 있다.Generating the three NAND operation result values may include performing a NAND operation on two of the first to third intermediate control signals by each of the three first NAND gates.

본 발명은, 2개의 논리 레벨을 포함하는 다수결 판정 회로를 이용하여 지연 속도를 감소시킬 수 있다. The present invention can reduce the delay rate by using a majority decision circuit including two logic levels.

또한 본 발명은 다양한 논리 게이트를 조합함으로써 데이터 전송의 정확도가 크게 저하되지 않도록 할 수 있다. Additionally, the present invention can prevent the accuracy of data transmission from being significantly reduced by combining various logic gates.

본 발명의 효과들은 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 본 발명의 기술 분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description below.

도 1은 본 발명의 일 실시예에 따른 인코더를 도식적으로 도시한 도면이다.
도 2는 도 1의 인코더를 설명하기 위한 예시도이다.
도 3은 4개의 논리 레벨을 포함하는 논리 회로의 예시도이다.
도 4는 논리 게이트가 모두 NAND 게이트인 논리 회로의 예시도이다.
도 5는 논리 게이트가 AND 및 OR 게이트로 조합된 논리 회로의 예시도이다.
도 6은 일 실시예에 따른 2개의 논리 레벨을 포함하는 논리 회로의 예시도이다.
도 7은 논리 게이트가 AOI 및 OAI 게이트로 조합된 논리 회로의 예시도이다.
도 8은 논리 게이트가 OAI 및 AOI 게이트로 조합된 논리 회로의 예시도이다.
도 9는 일 실시예에 따른 NAND 게이트, AOI 게이트, 및 OAI 게이트를 설명하기 위한 예시도이다.
도 10은 입력 신호의 순서를 조합하여 논리 회로에 입력하는 일 실시예를 설명하기 위한 블록도이다.
도 11은 도 10의 논리 회로를 이용한 제어 신호 생성 방법의 순서도이다.
도 12는 도 7의 논리 회로, 도 8의 논리 회로, 및 도 10의 논리 회로의 지연 시간 및 정확도를 비교하기 위한 테이블이다.
1 is a diagram schematically showing an encoder according to an embodiment of the present invention.
FIG. 2 is an example diagram for explaining the encoder of FIG. 1.
Figure 3 is an exemplary diagram of a logic circuit including four logic levels.
Figure 4 is an example diagram of a logic circuit in which all logic gates are NAND gates.
Figure 5 is an example diagram of a logic circuit in which logic gates are combined with AND and OR gates.
6 is an exemplary diagram of a logic circuit including two logic levels according to one embodiment.
Figure 7 is an example diagram of a logic circuit in which logic gates are combined with AOI and OAI gates.
Figure 8 is an example diagram of a logic circuit in which logic gates are combined into OAI and AOI gates.
Figure 9 is an example diagram for explaining a NAND gate, AOI gate, and OAI gate according to an embodiment.
Figure 10 is a block diagram for explaining an embodiment of combining the order of input signals and inputting them to a logic circuit.
FIG. 11 is a flowchart of a method for generating a control signal using the logic circuit of FIG. 10.
FIG. 12 is a table for comparing the delay time and accuracy of the logic circuit of FIG. 7, the logic circuit of FIG. 8, and the logic circuit of FIG. 10.

본 발명은 취지를 벗어나지 않는 한도에서 다양하게 변경하여 실시할 수 있고, 하나 이상의 실시 예를 가질 수 있다. 그리고 본 발명에서 “발명을 실시하기 위한 구체적인 내용” 및 “도면” 등에 기재한 실시 예는, 본 발명을 구체적으로 설명하기 위한 예시이며, 본 발명의 권리 범위를 제한하거나 한정하는 것은 아니다.The present invention can be implemented with various changes without departing from the spirit, and can have one or more embodiments. In addition, in the present invention, the examples described in “specific details for carrying out the invention” and “drawings” are examples for specifically explaining the present invention, and do not limit or limit the scope of the present invention.

따라서, 본 발명이 속하는 기술 분야의 통상의 지식을 가진 자가, 본 발명의 “발명을 실시하기 위한 구체적인 내용” 및 “도면” 등으로부터 용이하게 유추할 수 있는 것은, 본 발명의 범위에 속하는 것으로 해석할 수 있다.Accordingly, what a person skilled in the art of the present invention can easily infer from the “specific details for carrying out the invention” and “drawings” of the present invention shall be interpreted as falling within the scope of the present invention. can do.

또한, 도면에 표시한 각 구성 요소들의 크기와 형태는, 실시 예의 설명을 위해 과장되어 표현한 것 일 수 있으며, 실제로 실시되는 발명의 크기와 형태를 한정하는 것은 아니다.In addition, the size and shape of each component shown in the drawings may be exaggerated for description of the embodiment, and do not limit the size and shape of the invention in actual practice.

본 발명의 명세서에서 사용되는 용어를 특별히 정의하지 않는 이상, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 일반적으로 이해하는 것과 동일한 의미를 가질 수 있다.Unless the terms used in the specification of the present invention are specifically defined, they may have the same meaning as those generally understood by those skilled in the art to which the present invention pertains.

본 명세서에 기재된 "포함하다", "구성하다", "가지다" 등의 용어는 특별히 반대되는 기재가 없는 한 해당 구성요소가 내재될 수 있음을 의미하는 것이므로 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. Terms such as “include,” “comprise,” and “have” used in this specification mean that the corresponding component may be included unless specifically stated to the contrary, and therefore do not exclude other components but rather constitute other components. This means that more elements can be included.

또한, 본 명세서에 기재된 "??부", "??기", "모듈" 등의 용어는 적 어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트 웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, "일", "하나" 및 "그" 등의 관사는 본 발명을 기술하는 문맥에 있어서 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다. In addition, terms such as "unit", "unit", and "module" used in this specification refer to a unit that processes at least one function or operation, which is hardware or software or a unit of hardware and software. It can be implemented by combining. In addition, articles such as "one", "one", and "the" in the context of describing the present invention are meant to include both singular and plural, unless otherwise indicated in the specification or clearly contradicted by the context. can be used

어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요 소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성 요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다. 명세에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합 한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도 록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것 만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 부 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다. 명세의 다양한 실시 예들에 따른 전자 장치는, 적어도 하나의 서버로 구현될 수 있으나, 이는 일 실시 예에 불과할 뿐, 사용자 단말 장치 또는 가전 제품으로 구현될 수 있다. 이하, 도면을 참조하여 본 발명의 실시 예를 상세하게 설명한다.A component (e.g., a first component) is “(operatively or communicatively) coupled with/to” another component (e.g., a second component). When referred to as “connected to,” it should be understood that any component may be directly connected to the other component or may be connected through another component (e.g., a third component). On the other hand, when a component (e.g., a first component) is said to be “directly connected” or “directly connected” to another component (e.g., a second component), It may be understood that no other component (e.g., a third component) exists between other components. The expression "configured to" used in the specification may be used depending on the context, for example, "suitable for," "having the capacity to." ," can be used interchangeably with "designed to," "adapted to," "made to," or "capable of." . The term “configured (or set to)” may not necessarily mean “specifically designed to” in hardware. Instead, in some contexts, the expression “a device configured to” may mean that the device is “capable of” working with other devices or components. For example, the phrase "subprocessor configured (or set) to perform A, B, and C" refers to a processor dedicated to performing those operations (e.g., an embedded processor), or executing one or more software programs stored on a memory device. By doing so, it may mean a general-purpose processor (eg, CPU or application processor) capable of performing the corresponding operations. Electronic devices according to various embodiments of the specification may be implemented as at least one server, but this is only an example and may be implemented as a user terminal device or a home appliance. Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

도 1은 본 발명의 일 실시예에 따른 인코더를 도식적으로 도시한 도면이다. 1 is a diagram schematically showing an encoder according to an embodiment of the present invention.

인코더(1)는, 연속된 n비트(n은 8 이상의 자연수) 데이터를 이동에 있어 대기 시간 최적화를 위한 다수결 판정 회로를 이용하는 데이터 버스 반전(DBI, Data Bus Inversion)을 수행할 수 있다. 인코더(1)는, 연속된 n비트를 포함하는 입력 데이터(u)를 수신하고, 하나 이상의 논리 레벨을 통하여 입력 데이터 중 과반수를 판정하며, 과반수 판정 결과에 따라 제어되는 인코딩 신호(v)를 출력할 수 있다. The encoder 1 can perform data bus inversion (DBI) using a majority decision circuit to optimize waiting time when moving consecutive n bits (n is a natural number of 8 or more) data. The encoder 1 receives input data (u) containing consecutive n bits, determines the majority of the input data through one or more logic levels, and outputs an encoding signal (v) controlled according to the majority determination result. can do.

인코더(1)는, 데이터 버스를 통해 연속된 n비트를 포함하는 입력 데이터를 수신하고, 데이터 버스를 통해 전송된 이전 데이터를 저장할 수 있다. 인코더(1)는 메모리 디바이스, 메모리 디바이스에 결합된 프로세서, 및 프로세서에 결합된 네트워크 카드를 포함하는 컴퓨팅 시스템의 일부일 수 있다. 네트워크 카드는 프리-드라이버 회로(예를 들어, 인코더(1))및 프리-드라이버 회로에 결합된 드라이버 회로를 포함할 수 있다. 전치 드라이버 회로(예를 들어, 인코더(1))는 데이터 버스 상에서 송신될 현재 시점(t 시점)의 데이터(u(t), v(t) 등)를 수신하고, 데이터 버스 상에서 송신된 이전 시점(t-1 시점)의 데이터(u(t-1), v(t-1) 등)를 저장하며, 이전 시점의 데이터와 현재 시점의 데이터를 비교한 결과를 결정할 수 있다.The encoder 1 may receive input data containing n consecutive bits through a data bus and store previous data transmitted through the data bus. Encoder 1 may be part of a computing system that includes a memory device, a processor coupled to the memory device, and a network card coupled to the processor. The network card may include a pre-driver circuit (e.g., encoder 1) and a driver circuit coupled to the pre-driver circuit. The pre-driver circuit (e.g., encoder 1) receives data (u(t), v(t), etc.) of the current time point (time t) to be transmitted on the data bus, and the data (u(t), v(t), etc.) of the current time point to be transmitted on the data bus. The data (u(t-1), v(t-1), etc.) at (at time t-1) is stored, and the result of comparing the data at the previous time and the data at the current time can be determined.

입력 데이터(u)는 시간에 따라 달라질 수 있다. 예를 들어, 입력 데이터의 n비트 값 각각은 로(low) 레벨(예를 들어, "0")에서 하이(high) 레벨(예를 들어, "1")로 또는 하이 레벨에서 로우 레벨으로 전환되거나, 또는 로우 레벨에서 로우 레벨으로 또는 하이 레벨에서 하이 레벨로 유지될 수 있다. Input data (u) may vary depending on time. For example, each n-bit value of input data transitions from a low level (e.g., “0”) to a high level (e.g., “1”) or from a high level to a low level. or may be maintained from low level to low level or from high level to high level.

인코딩 신호(v)는 시간이 흐름에 따른 입력 데이터를 기초로 생성될 수 있다. 인코더(1)는 임의의 t 시점 이전의 t-1 시점에서의 인코딩 신호(v(t-1)) 및 t 시점에서의 입력 데이터(u(t))에 기초하여 임의의 t 시점에서의 인코딩 신호(v(t))를 생성할 수 있다. The encoding signal (v) can be generated based on input data over time. The encoder 1 encodes at a random time t based on the encoding signal at time t-1 before a random t time point (v(t-1)) and the input data at time t (u(t)). A signal (v(t)) can be generated.

도 1을 참조하면, 인코더(1)는 입력부(100), 논리 회로(200) 및 출력부(300)를 포함할 수 있다. Referring to FIG. 1, the encoder 1 may include an input unit 100, a logic circuit 200, and an output unit 300.

입력부(100)는, 입력 데이터(u)를 포함할 수 있다. 입력부(100)는, 입력 데이터(u)를 논리 회로(200)에 공급할 수 있다. 입력 데이터(u)는 n개의 입력 비트(111a-111h)를 포함할 수 있다. 입력 비트(111a-111h)는 이진수 8비트 값을 각 비트 별로 나타낸 것일 수 있다. 도 1에서는 입력 값의 비트 수를 8개로 도시하였으나, 발명이 이에 한정되지 않으며, 입력 데이터(u)는 8 이상의 입력 비트를 포함할 수 있다. The input unit 100 may include input data (u). The input unit 100 may supply input data (u) to the logic circuit 200. Input data (u) may include n input bits (111a-111h). The input bits 111a-111h may represent an 8-bit binary value for each bit. In Figure 1, the number of bits of the input value is shown as 8, but the invention is not limited to this, and the input data (u) may include 8 or more input bits.

이하, 설명의 편의를 위해 n은 8인 것으로 한다.Hereinafter, for convenience of explanation, n is assumed to be 8.

일 실시예에서, 인코더(1)가 연속된 n비트의 데이터를 인코딩함에 있어서 이전 데이터와 기존 데이터 간의 비트 단위 차이를 좁히기 위하여 다수결 판정을 통해 데이터를 효율적으로 전송할 수 있는 논리 회로(200)를 제공한다. 논리 회로(200)는, 다수결 판정 회로(majority voter circuit)일 수 있다. 인코더(1)는, 논리 회로(200)의 다수결 판정 결과에 따라 데이터 버스를 선택적으로 반전시킬 수 있다. 논리 회로(200)는, 입력 데이터(u)를 입력 받아 제어 신호(CS)를 출력할 수 있다. 입력 데이터(u)는 연속된 n개의 입력 비트를 포함할 수 있다. In one embodiment, the encoder 1 provides a logic circuit 200 that can efficiently transmit data through majority voting to narrow the bit-by-bit difference between previous data and existing data when encoding consecutive n-bit data. do. The logic circuit 200 may be a majority voter circuit. The encoder 1 can selectively invert the data bus according to the majority decision result of the logic circuit 200. The logic circuit 200 may receive input data (u) and output a control signal (CS). Input data (u) may include n consecutive input bits.

논리 회로(200)는, 입력 데이터(u)의 입력 비트 중 하이 레벨 값의 개수를 카운트하고, 카운트 결과에 기초하여 카운트 결과가 과반수인지를 판단하여 과반수인 경우 하이 레벨의 제어 신호(CS)를 출력하고, 과반수가 아닌 경우 로 레벨의 제어 신호(CS)를 출력할 수 있다. 다시 말하면, 제어 신호(CS)는, n비트의 입력 데이터 중 하이 레벨 값을 카운트한 결과가 n/2를 초과하는지를 지시할 수 있다. n비트의 입력 비트 중 하이 레벨 값을 갖는 입력 비트의 수가 n/2를 초과하는 경우에는 제어 신호(CS)가 하이 레벨의 신호이고, 초과하지 않는 경우에는 로 레벨의 신호일 수 있다. The logic circuit 200 counts the number of high level values among the input bits of the input data (u), determines whether the count result is a majority based on the count result, and if the count result is a majority, sends a high level control signal CS. output, and if it is not the majority, a low level control signal (CS) can be output. In other words, the control signal CS may indicate whether the result of counting the high level value among n bits of input data exceeds n/2. If the number of input bits with a high level value among n bits of input bits exceeds n/2, the control signal CS may be a high level signal, and if it does not exceed n/2, it may be a low level signal.

출력부(300)는 반전 논리 회로(inverting logic circuit)(310)를 포함할 수 있다. 반전 논리 회로(310)는, 제어 신호(CS)를 입력 받고, 인코딩 신호(v)를 출력할 수 있다. The output unit 300 may include an inverting logic circuit 310. The inversion logic circuit 310 may receive a control signal CS and output an encoding signal v.

반전 논리 회로(310)는, 제어 신호(CS)에 따라 입력 데이터를 반전시키거나, 또는 입력 데이터를 그대로 통과시킬 수 있다. 예를 들어, 제어 신호(CS)가 하이 레벨인 경우, 반전 논리 회로(310)는 입력 데이터를 반전시키고, 제어 신호(CS)가 로 레벨인 경우, 반전 논리 회로(310)는 입력 데이터를 반전시키지 않고 그대로 통과시킬 수 있다.The inversion logic circuit 310 may invert the input data or pass the input data as is, according to the control signal CS. For example, when the control signal CS is at a high level, the inversion logic circuit 310 inverts the input data, and when the control signal CS is at a low level, the inversion logic circuit 310 inverts the input data. You can pass it as is without asking.

도 2는 도 1의 인코더를 설명하기 위한 예시도이다.FIG. 2 is an example diagram for explaining the encoder of FIG. 1.

인코더(1)는, 입력부(100), 논리 회로(200), 및 출력부(300)를 포함할 수 있다. 도 2를 참조하면, 입력부(100)는, 임의의 시점(t)에서의 입력 데이터(u(t)), 시점(t)의 직전 시점(t-1)에서의 인코딩 신호(v(t-1)), 및 n+1개의 XOR 게이트(G_11-G_19)를 포함할 수 있다. The encoder 1 may include an input unit 100, a logic circuit 200, and an output unit 300. Referring to FIG. 2, the input unit 100 inputs input data (u(t)) at a certain time point (t) and an encoding signal (v(t-) at a time point (t-1) immediately before the time point (t). 1)), and n+1 XOR gates (G_11-G_19).

입력 데이터(u(t))는, n개의 입력 비트를 포함하고, 인코딩 신호(v(t-1))는 n+1비트의 인코딩 값을 포함할 수 있다. n=8인 경우, 입력 데이터(u(t))는, 8개의 입력 비트를 포함하고, 인코딩 신호(v(t-1))는 9비트의 인코딩 값을 포함할 수 있다. The input data (u(t)) may include n input bits, and the encoding signal (v(t-1)) may include an encoding value of n+1 bits. When n=8, the input data (u(t)) may include 8 input bits, and the encoding signal (v(t-1)) may include an encoding value of 9 bits.

n+1개의 XOR 게이트(G_11-G_19) 중 n개(G_12-G_19) 각각은, 각 비트에서의 입력 데이터(u(t)) 및 인코딩 신호(v(t-1)) 중 첫 번째 비트를 제외한 나머지 비트를 입력 받아, 하나의 값을 출력할 수 있다. XOR 게이트(G_11)는, 인코딩 신호(v(t-1)) 중 첫 번째 비트 및 "0" 값(또는, 로 레벨의 신호)을 입력 받아, 하나의 값을 출력할 수 있다. Each of n (G_12-G_19) among n+1 You can receive the remaining bits as input and output one value. The XOR gate (G_11) can receive the first bit of the encoding signal (v(t-1)) and a “0” value (or a low level signal) and output one value.

예를 들어, XOR 게이트(G_11)는, "0" 값 및 인코딩 신호(v(t-1)) 중 제1 비트를 입력 받아 XOR 연산 결과를 출력할 수 있다. XOR 게이트(G_12)는, 입력 데이터(u(t)) 중 제2 비트 및 인코딩 신호(v(t-1)) 중 제2 비트를 입력 받아 XOR 연산 결과를 출력할 수 있다. XOR 게이트(G_13)는, 입력 데이터(u(t)) 중 제3 비트 및 인코딩 신호(v(t-1)) 중 제3 비트를 입력 받아 XOR 연산 결과를 출력할 수 있다. XOR 게이트(G_14)는, 입력 데이터(u(t)) 중 제4 비트 및 인코딩 신호(v(t-1)) 중 제4 비트를 입력 받아 XOR 연산 결과를 출력할 수 있다. XOR 게이트(G_15)는, 입력 데이터(u(t)) 중 제5 비트 및 인코딩 신호(v(t-1)) 중 제5 비트를 입력 받아 XOR 연산 결과를 출력할 수 있다. XOR 게이트(G_16)는, 입력 데이터(u(t)) 중 제6 비트 및 인코딩 신호(v(t-1)) 중 제6 비트를 입력 받아 XOR 연산 결과를 출력할 수 있다. XOR 게이트(G_17)는, 입력 데이터(u(t)) 중 제7 비트 및 인코딩 신호(v(t-1)) 중 제7 비트를 입력 받아 XOR 연산 결과를 출력할 수 있다. XOR 게이트(G_18)는, 입력 데이터(u(t)) 중 제8 비트 및 인코딩 신호(v(t-1)) 중 제8 비트를 입력 받아 XOR 연산 결과를 출력할 수 있다. XOR 게이트(G_19)는, 입력 데이터(u(t)) 중 제9 비트 및 인코딩 신호(v(t-1)) 중 제9 비트를 입력 받아 XOR 연산 결과를 출력할 수 있다.For example, the XOR gate (G_11) may receive the “0” value and the first bit of the encoding signal (v(t-1)) and output the XOR operation result. The XOR gate (G_12) may receive the second bit of the input data (u(t)) and the second bit of the encoding signal (v(t-1)) and output the result of the XOR operation. The XOR gate (G_13) may receive the third bit of the input data (u(t)) and the third bit of the encoding signal (v(t-1)) and output the result of the XOR operation. The XOR gate (G_14) may receive the fourth bit of the input data (u(t)) and the fourth bit of the encoding signal (v(t-1)) and output the result of the XOR operation. The XOR gate (G_15) may receive the fifth bit of the input data (u(t)) and the fifth bit of the encoding signal (v(t-1)) and output the result of the XOR operation. The XOR gate (G_16) may receive the 6th bit of the input data (u(t)) and the 6th bit of the encoding signal (v(t-1)) and output the result of the XOR operation. The XOR gate (G_17) may receive the seventh bit of the input data (u(t)) and the seventh bit of the encoding signal (v(t-1)) and output the result of the XOR operation. The XOR gate (G_18) may receive the 8th bit of the input data (u(t)) and the 8th bit of the encoding signal (v(t-1)) and output the result of the XOR operation. The XOR gate (G_19) may receive the 9th bit of the input data (u(t)) and the 9th bit of the encoding signal (v(t-1)) and output the result of the XOR operation.

논리 회로(200)는, 인구수 카운터(population counter)(201) 및 비교기(comparator)(202)를 포함할 수 있다. 인구수 카운터(201)는, XOR 연산 결과에 기초하여 입력 데이터(u(t)) 중 하이 레벨 값을 갖는 입력 비트의 수를 카운트할 수 있다. 비교기(202)는, 인구수 카운터(201)로부터 수신한 카운트 결과를 소정의 임계 값과 비교하여 카운트 결과가 과반수인지를 판단할 수 있다.The logic circuit 200 may include a population counter 201 and a comparator 202. The population counter 201 may count the number of input bits with a high level value among the input data (u(t)) based on the result of the XOR operation. The comparator 202 may compare the count result received from the population counter 201 with a predetermined threshold value to determine whether the count result is a majority.

도 2를 참조하면, n=8인 경우 소정의 임계 값은 n/2=4이므로, 비교기(202)는 카운트 결과가 4를 초과하는지를 판단할 수 있다. Referring to FIG. 2, when n=8, the predetermined threshold is n/2=4, so the comparator 202 can determine whether the count result exceeds 4.

도 1의 제어 신호(CS)는 도 2의 컨트롤 비트(Control bit)를 포함할 수 있다. 비교기(202)는, 입력 데이터(u(t))인 8비트의 입력 비트 중 하이 레벨 값을 갖는 입력 비트의 수에 따라 하이 레벨 또는 로 레벨인 컨트롤 비트를 가질 수 있다. 컨트롤 비트는, 입력 데이터(u(t))인 8비트의 입력 비트 중 하이 레벨 값을 갖는 입력 비트의 수가 가 4개를 초과하는 경우에는 하이 레벨이고, 8비트의 입력 비트 중 하이 레벨 값을 갖는 입력 비트의 수가 4개를 초과하지 않는 경우에는 로 레벨일 수 있다. The control signal CS of FIG. 1 may include the control bit of FIG. 2. The comparator 202 may have control bits that are high level or low level depending on the number of input bits having a high level value among the 8 bits of input data (u(t)). The control bit is high level if the number of input bits with a high level value among the 8 bits of input data (u(t)) exceeds 4, and the control bit has a high level value among the 8 bits of input bits. If the number of input bits does not exceed 4, it may be at a low level.

도 2를 참조하면, 출력부(300)는, 임의의 시점(t)에서의 입력 데이터(u(t)), 컨트롤 비트, n개의 XOR 게이트(G_31-G_38)에 기초하여 시점(t)에서의 인코딩 신호(v(t))를 생성할 수 있다. Referring to FIG. 2, the output unit 300 outputs data at a certain point in time (t) based on input data (u(t)), control bits, and n XOR gates (G_31-G_38). An encoding signal (v(t)) can be generated.

인코딩 신호(v(t))는, n+1비트의 인코딩 값을 포함할 수 있다. The encoding signal (v(t)) may include an encoding value of n+1 bits.

n개의 XOR 게이트(G_31-G_38) 각각은, 각 비트에서의 입력 데이터(u(t)) 및 컨트롤 비트를 입력 받아, 각각의 인코딩 값을 출력할 수 있다. 인코딩 신호(v(t)) 중 제1 값은 컨트롤 비트 값을 그대로 출력할 수 있다. Each of the n XOR gates (G_31-G_38) can receive input data (u(t)) and control bits from each bit and output each encoding value. The first value of the encoding signal (v(t)) may output the control bit value as is.

예를 들어, 컨트롤 비트가 "1"인 경우, n개의 XOR 게이트(G_31-G_38)는 입력 데이터(u(t))의 각 비트를 반전한 n개의 인코딩 값을 출력할 수 있다. 이 경우 인코딩 신호(v(t)) 중 제1 값은 컨트롤 비트인 "1"이고, 제2 내지 제n+1 값은 입력 데이터(u(t))의 각 비트가 반전된 값이다. For example, when the control bit is “1”, n XOR gates (G_31-G_38) can output n encoded values obtained by inverting each bit of the input data (u(t)). In this case, the first value of the encoding signal (v(t)) is the control bit “1”, and the second to n+1 values are the inverted values of each bit of the input data (u(t)).

예를 들어, 컨트롤 비트가 "0"인 경우, n개의 XOR 게이트(G_31-G_38)는 입력 데이터(u(t))의 각 비트 그대로를 n개의 인코딩 값으로 출력할 수 있다. 이 경우 인코딩 신호(v(t)) 중 제1 값은 컨트롤 비트인 "0"이이고, 제2 내지 제n+1 값은 입력 데이터(u(t))의 각 비트 값이다. For example, when the control bit is “0”, n XOR gates (G_31-G_38) can output each bit of the input data (u(t)) as n encoding values. In this case, the first value of the encoding signal (v(t)) is the control bit “0”, and the second to n+1 values are the values of each bit of the input data (u(t)).

따라서 n+1비트의 인코딩 신호(v(t))의 첫 번째 비트가 "1"이면, 1 내지 n비트의 인코딩 신호(v(t))는 입력 데이터(u(t))로부터 반전된 값이고, 첫 번째 비트가 "0"이면, 1 내지 n비트의 인코딩 신호(v(t))는 입력 데이터(u(t)) 값인 것으로 판단될 수 있다. Therefore, if the first bit of the n+1 bit encoding signal (v(t)) is "1", the 1 to n bit encoding signal (v(t)) is the inverted value from the input data (u(t)). , and if the first bit is “0”, the 1 to n bits of the encoded signal (v(t)) may be determined to be the input data (u(t)) value.

이하에서는, 논리 회로(200)가 복수의 논리 레벨을 포함하여 인구수 카운터 및 비교기 없이도 과반수를 판정하고 판정 결과에 따라 하이 레벨 또는 로 레벨의 제어 신호(CS)를 생성하는 일 실시예를 설명한다. 이하의 도 3 내지 도 8의 논리 회로(200_1-200_6) 및 도 10의 논리 회로(200_7)은 도 1 및/또는 도 2의 논리 회로(200)의 예시이고, 도 3 내지 도 8의 제어 신호(CS_01-CS_06) 및 도 10의 제어 신호(CS_07)은 도 1의 제어 신호(CS)의 예시이다.Below, an embodiment in which the logic circuit 200 includes a plurality of logic levels to determine the majority without a population counter and comparator and generates a high-level or low-level control signal CS according to the determination result will be described. The logic circuits 200_1-200_6 of FIGS. 3 to 8 and the logic circuit 200_7 of FIG. 10 below are examples of the logic circuit 200 of FIGS. 1 and/or 2, and the control signals of FIGS. 3 to 8 (CS_01-CS_06) and the control signal (CS_07) in FIG. 10 are examples of the control signal (CS) in FIG. 1.

도 3은 4개의 논리 레벨을 포함하는 논리 회로의 예시도이다. Figure 3 is an exemplary diagram of a logic circuit including four logic levels.

도 3을 참조하면, 논리 회로(200_1)는, 제1 논리 레벨(211a), 제2 논리 레벨(211b), 제3 논리 레벨(211c), 및 제4 논리 레벨(211d)을 포함할 수 있다.Referring to FIG. 3, the logic circuit 200_1 may include a first logic level 211a, a second logic level 211b, a third logic level 211c, and a fourth logic level 211d. .

제1 논리 레벨(211a)는, 8개의 논리 게이트(g1-g8)를 포함할 수 있다. 제2 논리 레벨(211b)는, 4개의 논리 게이트(g9-g12)를 포함할 수 있다. 제3 논리 레벨(211c)는, 2개의 논리 게이트(g13, g14)를 포함할 수 있다. 제4 논리 레벨(211d)는, 하나의 논리 게이트(g15)를 포함할 수 있다. The first logic level 211a may include eight logic gates (g1-g8). The second logic level 211b may include four logic gates (g9-g12). The third logic level 211c may include two logic gates g13 and g14. The fourth logic level 211d may include one logic gate (g15).

도 2에서 n+1개의 XOR 게이트(G_11-G_19) 각각의 출력은, 도 3 내지 도 8 및 도 10의 x0 내지 x8로 표현될 수 있다.In FIG. 2, the output of each of the n+1 XOR gates (G_11-G_19) can be expressed as x0 to x8 in FIGS. 3 to 8 and FIG. 10.

논리 게이트(g1)에는, x0 및 x1이 입력될 수 있다. 논리 게이트(g2)에는, x2 및 x3이 입력될 수 있다. 논리 게이트(g3)에는, x4 및 x5가 입력될 수 있다. 논리 게이트(g4)에는, x6 및 x7이 입력될 수 있다. 논리 게이트(g5)에는, x1 및 x2가 입력될 수 있다. 논리 게이트(g6)에는, x3 및 x4가 입력될 수 있다. 논리 게이트(g7)에는, x5 및 x6이 입력될 수 있다. 논리 게이트(g8)에는, x7 및 x8이 입력될 수 있다.x0 and x1 may be input to the logic gate g1. x2 and x3 may be input to the logic gate g2. x4 and x5 may be input to the logic gate g3. To the logic gate g4, x6 and x7 can be input. x1 and x2 may be input to the logic gate g5. x3 and x4 may be input to the logic gate g6. To the logic gate g7, x5 and x6 can be input. To the logic gate g8, x7 and x8 can be input.

논리 게이트(g9)에는, 논리 게이트(g1)의 출력 신호 및 논리 게이트(g2)의 출력 신호가 입력될 수 있다. 논리 게이트(g10)에는, 논리 게이트(g5)의 출력 신호 및 논리 게이트(g6)의 출력 신호가 입력될 수 있다. 논리 게이트(g11)에는, 논리 게이트(g3)의 출력 신호 및 논리 게이트(g4)의 출력 신호가 입력될 수 있다. 논리 게이트(g12)에는, 논리 게이트(g7)의 출력 신호 및 논리 게이트(g8)의 출력 신호가 입력될 수 있다. The output signal of the logic gate g1 and the output signal of the logic gate g2 may be input to the logic gate g9. The output signal of the logic gate g5 and the output signal of the logic gate g6 may be input to the logic gate g10. The output signal of the logic gate g3 and the output signal of the logic gate g4 may be input to the logic gate g11. The output signal of the logic gate g7 and the output signal of the logic gate g8 may be input to the logic gate g12.

논리 게이트(g13)에는, 논리 게이트(g9)의 출력 신호 및 논리 게이트(g10)의 출력 신호가 입력될 수 있다. 논리 게이트(g14)에는, 논리 게이트(g11)의 출력 신호 및 논리 게이트(g12)의 출력 신호가 입력될 수 있다. The output signal of the logic gate g9 and the output signal of the logic gate g10 may be input to the logic gate g13. The output signal of the logic gate g11 and the output signal of the logic gate g12 may be input to the logic gate g14.

논리 게이트(g15)에는, 논리 게이트(g13)의 출력 신호 및 논리 게이트(g14)의 출력 신호가 입력될 수 있다. 논리 게이트(g15)는, 제어 신호(CS_01)를 출력할 수 있다. The output signal of the logic gate g13 and the output signal of the logic gate g14 may be input to the logic gate g15. The logic gate (g15) can output a control signal (CS_01).

복수의 논리 게이트(g1-g15)는, 모두 NAND 게이트이거나, 모두 NOR 게이트일 수 있다. 이하, 도 4, 도 5, 및 도 7은, 복수의 논리 게이트(g1-g15) 각각이 NAND 게이트인 논리 회로와 등가 회로이고, 이하 도 8은, 복수의 논리 게이트(g1-g15) 각각이 NOR 게이트인 논리 회로와 등가 회로일 수 있다.The plurality of logic gates (g1-g15) may all be NAND gates or all may be NOR gates. Hereinafter, Figures 4, 5, and 7 are equivalent circuits to a logic circuit in which each of the plurality of logic gates g1-g15 is a NAND gate, and Figure 8 below shows an equivalent circuit in which each of the plurality of logic gates g1-g15 is a NAND gate. It may be an equivalent circuit to a logic circuit that is a NOR gate.

이하, 도 4 및 도 5를 참조하여 도 3의 4개의 논리 레벨을 가지는 논리 회로를 설명한다. Hereinafter, the logic circuit having four logic levels in FIG. 3 will be described with reference to FIGS. 4 and 5.

도 4는 논리 게이트가 모두 NAND 게이트인 논리 회로의 예시도이다. Figure 4 is an example diagram of a logic circuit in which all logic gates are NAND gates.

도 4를 참조하면, 논리 게이트가 모두 NAND 게이트인 논리 회로(200_2)는, 도 3에서의 복수의 논리 게이트(g1-g15)가 도 4의 복수의 NAND 게이트(g1_1-g1_15)인 것으로 구현될 수 있다. 즉, 제1 내지 제4 논리 레벨(211a-211d) 각각은 모두 NAND 게이트를 포함할 수 있다.Referring to FIG. 4, the logic circuit 200_2 in which all logic gates are NAND gates may be implemented in that the plurality of logic gates (g1-g15) in FIG. 3 are the plurality of NAND gates (g1_1-g1_15) in FIG. 4. You can. That is, each of the first to fourth logic levels 211a-211d may include a NAND gate.

NAND 게이트(g1_1)에는, x0 및 x1이 입력될 수 있다. NAND 게이트(g1_2)에는, x2 및 x3이 입력될 수 있다. NAND 게이트(g1_3)에는, x4 및 x5가 입력될 수 있다. NAND 게이트(g1_4)에는, x6 및 x7이 입력될 수 있다. NAND 게이트(g1_5)에는, x1 및 x2가 입력될 수 있다. NAND 게이트(g1_6)에는, x3 및 x4가 입력될 수 있다. NAND 게이트(g1_7)에는, x5 및 x6이 입력될 수 있다. NAND 게이트(g1_8)에는, x7 및 x8이 입력될 수 있다.To the NAND gate (g1_1), x0 and x1 can be input. x2 and x3 can be input to the NAND gate (g1_2). To the NAND gate (g1_3), x4 and x5 can be input. To the NAND gate (g1_4), x6 and x7 can be input. x1 and x2 can be input to the NAND gate (g1_5). To the NAND gate (g1_6), x3 and x4 can be input. To the NAND gate (g1_7), x5 and x6 can be input. To the NAND gate (g1_8), x7 and x8 can be input.

NAND 게이트(g1_9)에는, NAND 게이트(g1_1)의 출력 신호 및 NAND 게이트(g1_2)의 출력 신호가 입력될 수 있다. NAND 게이트(g1_10)에는, NAND 게이트(g1_5)의 출력 신호 및 NAND 게이트(g1_6)의 출력 신호가 입력될 수 있다. NAND 게이트(g1_11)에는, NAND 게이트(g1_3)의 출력 신호 및 NAND 게이트(g1_4)의 출력 신호가 입력될 수 있다. NAND 게이트(g1_12)에는, NAND 게이트(g1_7)의 출력 신호 및 NAND 게이트(g1_8)의 출력 신호가 입력될 수 있다. The output signal of the NAND gate (g1_1) and the output signal of the NAND gate (g1_2) may be input to the NAND gate (g1_9). The output signal of the NAND gate (g1_5) and the output signal of the NAND gate (g1_6) may be input to the NAND gate (g1_10). The output signal of the NAND gate (g1_3) and the output signal of the NAND gate (g1_4) may be input to the NAND gate (g1_11). The output signal of the NAND gate (g1_7) and the output signal of the NAND gate (g1_8) may be input to the NAND gate (g1_12).

NAND 게이트(g1_13)에는, NAND 게이트(g1_9)의 출력 신호 및 NAND 게이트(g1_10)의 출력 신호가 입력될 수 있다. NAND 게이트(g1_14)에는, NAND 게이트(g1_11)의 출력 신호 및 NAND 게이트(g1_12)의 출력 신호가 입력될 수 있다. The output signal of the NAND gate (g1_9) and the output signal of the NAND gate (g1_10) may be input to the NAND gate (g1_13). The output signal of the NAND gate (g1_11) and the output signal of the NAND gate (g1_12) may be input to the NAND gate (g1_14).

NAND 게이트(g1_15)에는, NAND 게이트(g1_13)의 출력 신호 및 NAND 게이트(g1_14)의 출력 신호가 입력될 수 있다. NAND 게이트(g1_15)는, 제어 신호(CS_02)를 출력할 수 있다.The output signal of the NAND gate (g1_13) and the output signal of the NAND gate (g1_14) may be input to the NAND gate (g1_15). The NAND gate (g1_15) can output a control signal (CS_02).

예를 들어, x0-x8의 데이터가 [0, 0, 1, 0, 0, 1, 1, 0, 1]인 경우를 가정한다. 제1 논리 레벨(211a)에서, NAND 게이트(g1_1)는 1을 출력하고, NAND 게이트(g1_5)는 1을 출력하며, NAND 게이트(g1_2)는 1을 출력하고, NAND 게이트(g1_6)는 1을 출력한다. NAND 게이트(g1_3)는 1을 출력하고, NAND 게이트(g1_7)는 0을 출력하며, NAND 게이트(g1_4)는 1을 출력하고, NAND 게이트(g1_8)는 1을 출력한다. 제2 논리 레벨(211b)에서, NAND 게이트(g1_9)는 0을 출력하고, NAND 게이트(g1_10)는 0을 출력하며, NAND 게이트(g1_11)는 0을 출력하고, NAND 게이트(g1_12)는 1을 출력한다. 제3 논리 레벨(211c)에서, NAND 게이트(g1_13)는 1을 출력하고, NAND 게이트(g1_14)는 1을 출력한다. 제4 논리 레벨(211d)에서, NAND 게이트(g1_15)는 0을 출력한다. 이처럼 논리 회로(200_2)에서, x0-x8의 데이터 중 하이 레벨을 갖는 값의 개수가 4개로 과반수가 아니므로, NAND 게이트(g1_15)는 로 레벨의 제어 신호(CS_02) 출력할 수 있다. For example, assume that the data in x0-x8 is [0, 0, 1, 0, 0, 1, 1, 0, 1]. At the first logic level 211a, the NAND gate (g1_1) outputs 1, the NAND gate (g1_5) outputs 1, the NAND gate (g1_2) outputs 1, and the NAND gate (g1_6) outputs 1. Print out. The NAND gate (g1_3) outputs 1, the NAND gate (g1_7) outputs 0, the NAND gate (g1_4) outputs 1, and the NAND gate (g1_8) outputs 1. At the second logic level 211b, the NAND gate (g1_9) outputs 0, the NAND gate (g1_10) outputs 0, the NAND gate (g1_11) outputs 0, and the NAND gate (g1_12) outputs 1. Print out. At the third logic level 211c, the NAND gate (g1_13) outputs 1 and the NAND gate (g1_14) outputs 1. At the fourth logic level 211d, the NAND gate (g1_15) outputs 0. As such, in the logic circuit 200_2, since the number of values having a high level among the data x0-x8 is 4, which is not the majority, the NAND gate g1_15 can output the low level control signal CS_02.

이하, AOI(AND-OR-INVERTER) 게이트 또는 OAI(OR-AND-INVERTER) 게이트를 이용하여 논리 회로(200)를 구성하는 방법을 설명한다. AOI 게이트는, 2 개의 AND 게이트(또는 NAND 게이트)와 하나의 OR 게이트(또는 NOR 게이트)가 결합된 게이트이다. AOI 게이트에서, 2 개의 AND 게이트(또는 NAND 게이트) 각각의 출력은 하나의 OR 게이트(또는 NOR 게이트)의 입력이 된다. OAI 게이트는 2 개의 OR 게이트(또는 NOR 게이트)와 하나의 AND 게이트(또는 NAND 게이트)가 결합된 게이트이다. OAI 게이트에서, 2 개의 OR 게이트(또는 NOR 게이트) 각각의 출력은 하나의 AND 게이트(또는 NAND 게이트)의 입력이 된다. Hereinafter, a method of configuring the logic circuit 200 using an AND-OR-INVERTER (AOI) gate or an OR-AND-INVERTER (OAI) gate will be described. The AOI gate is a gate that combines two AND gates (or NAND gates) and one OR gate (or NOR gate). In an AOI gate, the output of each of two AND gates (or NAND gates) becomes the input of one OR gate (or NOR gate). The OAI gate is a gate that combines two OR gates (or NOR gates) and one AND gate (or NAND gate). In the OAI gate, the output of each of two OR gates (or NOR gates) becomes the input of one AND gate (or NAND gate).

도 5는 논리 게이트가 AND 및 OR 게이트로 조합된 논리 회로의 예시도이다. Figure 5 is an example diagram of a logic circuit in which logic gates are combined with AND and OR gates.

도 5를 참조하면, 논리 게이트가 AND 및 OR 게이트로 조합된 논리 회로(200_3)는, 도 3에서의 복수의 논리 게이트(g1-g15)가 도 5의 복수의 AND 게이트(g2_1-g2_8, g2_13-g2_14) 및 복수의 OR 게이트(g2_9-g2_12, g2_15)인 것으로 구현될 수 있다. 즉, 제1 논리 레벨(211a) 및 제3 논리 레벨(211c)은 AND 게이트(g2_1-g2_8, g2_13-g2_14)를 포함하고, 제2 논리 레벨(211b) 및 제4 논리 레벨(211c)은 OR 게이트(g2_9-g2_12, g2_15)를 포함할 수 있다. Referring to FIG. 5, the logic circuit 200_3 in which logic gates are combined with AND and OR gates includes a plurality of logic gates (g1-g15) in FIG. 3 and a plurality of AND gates (g2_1-g2_8, g2_13) in FIG. 5. -g2_14) and multiple OR gates (g2_9-g2_12, g2_15). That is, the first logic level 211a and the third logic level 211c include AND gates (g2_1-g2_8, g2_13-g2_14), and the second logic level 211b and the fourth logic level 211c are OR gates. It may include gates (g2_9-g2_12, g2_15).

논리 회로(200_2)에서는, 제2 논리 레벨(211b) 및 제3 논리 레벨(211c)을 연결하는 각 와이어에서 2 개의 버블(bubble)이 추가된다. OR 게이트(g2_9-g2_12) 각각의 출력단 및 AND 게이트(g2_13, g2_14) 각각의 입력단에는 버블이 포함될 수 있다. 따라서 OR 게이트(g2_9-g2_12) 각각의 출력이 반전되고, AND 게이트(g2_13, g2_14) 각각의 입력이 반전될 수 있다. In the logic circuit 200_2, two bubbles are added to each wire connecting the second logic level 211b and the third logic level 211c. A bubble may be included in the output terminal of each OR gate (g2_9-g2_12) and the input terminal of each AND gate (g2_13, g2_14). Therefore, the output of each OR gate (g2_9-g2_12) can be inverted, and the input of each AND gate (g2_13, g2_14) can be inverted.

논리 회로(200_2)는 2 개의 버블로 구분될 수 있다. 제1 논리 레벨(211a) 및 제2 논리 레벨(211b)은 2 개의 AND 게이트와 하나의 OR 게이트가 결합된 4개의 AOI 게이트로 표현될 수 있다. 제3 논리 레벨(211e) 및 제4 논리 레벨(211d)은 2 개의 AND 게이트와 하나의 OR 게이트가 결합된 하나의 AOI 게이트로 표현될 수 있다. The logic circuit 200_2 can be divided into two bubbles. The first logic level 211a and the second logic level 211b can be expressed as four AOI gates in which two AND gates and one OR gate are combined. The third logic level 211e and the fourth logic level 211d may be expressed as one AOI gate in which two AND gates and one OR gate are combined.

예를 들어, AND 게이트(g2_1), AND 게이트(g2_2), 및 OR 게이트(g2_9)는 하나의 AOI 게이트이고, AND 게이트(g2_5), AND 게이트(g2_6), 및 OR 게이트(g2_10)는 하나의 AOI 게이트이며, AND 게이트(g2_3), AND 게이트(g2_4), 및 OR 게이트(g2_11)는 하나의 AOI 게이트이고, AND 게이트(g2_7), AND 게이트(g2_8), 및 OR 게이트(g2_12)는 하나의 AOI 게이트이다. 또한 AND 게이트(g2_13), AND 게이트(g2_14), 및 OR 게이트(g2_15)는 하나의 AOI 게이트이다. For example, AND gate (g2_1), AND gate (g2_2), and OR gate (g2_9) are one AOI gate, and AND gate (g2_5), AND gate (g2_6), and OR gate (g2_10) are one AOI gate. It is an AOI gate, AND gate (g2_3), AND gate (g2_4), and OR gate (g2_11) are one AOI gate, and AND gate (g2_7), AND gate (g2_8), and OR gate (g2_12) are one AOI gate. It is an AOI gate. Additionally, the AND gate (g2_13), AND gate (g2_14), and OR gate (g2_15) are one AOI gate.

AND 게이트(g2_1)에는, x0 및 x1이 입력될 수 있다. AND 게이트(g2_2)에는, x2 및 x3이 입력될 수 있다. AND 게이트(g2_3)에는, x4 및 x5가 입력될 수 있다. AND 게이트(g2_4)에는, x6 및 x7이 입력될 수 있다. AND 게이트(g2_5)에는, x1 및 x2가 입력될 수 있다. AND 게이트(g2_6)에는, x3 및 x4가 입력될 수 있다. AND 게이트(g2_7)에는, x5 및 x6이 입력될 수 있다. AND 게이트(g2_8)에는, x7 및 x8이 입력될 수 있다.In the AND gate (g2_1), x0 and x1 can be input. In the AND gate (g2_2), x2 and x3 can be input. In the AND gate (g2_3), x4 and x5 can be input. In the AND gate (g2_4), x6 and x7 can be input. In the AND gate (g2_5), x1 and x2 can be input. In the AND gate (g2_6), x3 and x4 can be input. In the AND gate (g2_7), x5 and x6 can be input. In the AND gate (g2_8), x7 and x8 can be input.

OR 게이트(g2_9)에는, AND 게이트(g2_1)의 출력 신호 및 AND 게이트(g2_2)의 출력 신호가 입력될 수 있다. OR 게이트(g2_10)에는, AND 게이트(g2_5)의 출력 신호 및 AND 게이트(g2_6)의 출력 신호가 입력될 수 있다. OR 게이트(g2_11)에는, AND 게이트(g2_3)의 출력 신호 및 AND 게이트(g2_4)의 출력 신호가 입력될 수 있다. OR 게이트(g2_12)에는, AND 게이트(g2_7)의 출력 신호 및 AND 게이트(g2_8)의 출력 신호가 입력될 수 있다. The output signal of the AND gate (g2_1) and the output signal of the AND gate (g2_2) may be input to the OR gate (g2_9). The output signal of the AND gate (g2_5) and the output signal of the AND gate (g2_6) may be input to the OR gate (g2_10). The output signal of the AND gate (g2_3) and the output signal of the AND gate (g2_4) may be input to the OR gate (g2_11). The output signal of the AND gate (g2_7) and the output signal of the AND gate (g2_8) may be input to the OR gate (g2_12).

AND 게이트(g2_13)에는, OR 게이트(g2_9)의 출력 신호가 반전되고, 다시 반전된 신호 및 OR 게이트(g2_10)의 출력 신호가 반전되고, 다시 반전된 신호가 입력될 수 있다. AND 게이트(g2_14)에는, OR 게이트(g2_11)의 출력 신호가 반전되고, 다시 반전된 신호 및 OR 게이트(g2_12)의 출력 신호가 반전되고, 다시 반전된 신호가 입력될 수 있다. To the AND gate (g2_13), the output signal of the OR gate (g2_9) is inverted, the inverted signal and the output signal of the OR gate (g2_10) are inverted, and the inverted signal can be input. The output signal of the OR gate (g2_11) is inverted, the inverted signal and the output signal of the OR gate (g2_12) are inverted, and the inverted signal can be input to the AND gate (g2_14).

OR 게이트(g2_15)에는, AND 게이트(g2_13)의 출력 신호 및 AND 게이트(g2_14)의 출력 신호가 입력될 수 있다. OR 게이트(g2_15)는, 제어 신호(CS_03)를 출력할 수 있다.The output signal of the AND gate (g2_13) and the output signal of the AND gate (g2_14) may be input to the OR gate (g2_15). The OR gate (g2_15) can output a control signal (CS_03).

논리 회로(200_3)을 AOI 게이트의 측면으로 보면 제1 논리 레벨(211a) 및 제2 논리 레벨(211b)을 하나의 논리 레벨로, 제3 논리 레벨(211c) 및 제4 논리 레벨(211d)을 하나의 논리 레벨로 볼 수 있다. 다시 말하면, 논리 회로(200_3)는 제1 논리 레벨(211a) 및 제2 논리 레벨(211b)이 결합되고, 제3 논리 레벨(211c) 및 제4 논리 레벨(211d)이 결합된 2개의 논리 레벨(211a 및 211b, 211c 및 211d)로 볼 수 있다. When looking at the logic circuit 200_3 from the side of the AOI gate, the first logic level 211a and the second logic level 211b are one logic level, and the third logic level 211c and the fourth logic level 211d are one logic level. It can be viewed as one logic level. In other words, the logic circuit 200_3 has two logic levels in which the first logic level 211a and the second logic level 211b are combined, and the third logic level 211c and the fourth logic level 211d are combined. It can be seen as (211a and 211b, 211c and 211d).

예를 들어, x0-x8의 데이터가 [0, 0, 1, 0, 0, 1, 1, 0, 1]인 경우를 가정한다. 제1 논리 레벨(211a)에서, AND 게이트(g2_1)는 0을 출력하고, AND 게이트(g2_5)는 0을 출력하며, AND 게이트(g2_2)는 0을 출력하고, AND 게이트(g2_6)는 0을 출력한다. AND 게이트(g2_3)는 0을 출력하고, AND 게이트(g2_7)는 1을 출력하며, AND 게이트(g2_4)는 0을 출력하고, AND 게이트(g2_8)는 0을 출력한다. 제2 논리 레벨(211b)에서, OR 게이트(g2_9)는 0을 출력하고, OR 게이트(g2_10)는 0을 출력하며, OR 게이트(g2_11)는 0을 출력하고, OR 게이트(g2_12)는 1을 출력한다. 제3 논리 레벨(211c)에서, AND 게이트(g2_13)는 0을 출력하고, AND 게이트(g2_14)는 0을 출력한다. 제4 논리 레벨(211d)에서, OR 게이트(g2_15)는 0을 출력한다. 이처럼 논리 회로(200_3)에서, x0-x8의 데이터 중 하이 레벨을 갖는 값의 개수가 4개로 과반수가 아니므로, OR 게이트(g2_15)는 로 레벨의 제어 신호(CS_03) 출력할 수 있다. For example, assume that the data in x0-x8 is [0, 0, 1, 0, 0, 1, 1, 0, 1]. At the first logic level 211a, the AND gate (g2_1) outputs 0, the AND gate (g2_5) outputs 0, the AND gate (g2_2) outputs 0, and the AND gate (g2_6) outputs 0. Print out. The AND gate (g2_3) outputs 0, the AND gate (g2_7) outputs 1, the AND gate (g2_4) outputs 0, and the AND gate (g2_8) outputs 0. In the second logic level 211b, the OR gate (g2_9) outputs 0, the OR gate (g2_10) outputs 0, the OR gate (g2_11) outputs 0, and the OR gate (g2_12) outputs 1. Print out. At the third logic level 211c, the AND gate (g2_13) outputs 0 and the AND gate (g2_14) outputs 0. At the fourth logic level 211d, the OR gate (g2_15) outputs 0. As such, in the logic circuit 200_3, since the number of values having a high level among the data x0-x8 is 4, which is not the majority, the OR gate (g2_15) can output a low-level control signal (CS_03).

이하, AOI 게이트 및 OAI 게이트를 이용하여 논리 회로(200)를 2 개의 논리 레벨로 구현하는 방법을 설명한다. Hereinafter, a method of implementing the logic circuit 200 with two logic levels using an AOI gate and an OAI gate will be described.

도 6은 일 실시예에 따른 2개의 논리 레벨을 포함하는 논리 회로의 예시도이다. Figure 6 is an exemplary diagram of a logic circuit including two logic levels according to one embodiment.

도 6을 참조하면, 논리 회로(200_4)는, 제1 논리 레벨(213a) 및 제2 논리 레벨(213b)를 포함할 수 있다.Referring to FIG. 6, the logic circuit 200_4 may include a first logic level 213a and a second logic level 213b.

제1 논리 레벨(213a)는 연속된 n비트의 입력 데이터에 기초한 n+1개의 입력 값(x0-x8)에 기초하여 n/2개의 출력 값을 생성하고, 제2 논리 레벨(213b)는 n/2개의 출력 값을 입력 받아 연속된 n비트의 입력 데이터 중 하이 레벨을 카운트한 결과가 n/2를 초과하는지를 지시하는 제어 신호(CS_04)를 출력할 수 있다. 연속된 n비트의 입력 데이터에 기초한 n+1개의 입력 값은, 도 2에서 n+1개의 XOR 게이트(G_11-G_19) 각각의 출력일 수 있다. 즉, 연속된 n비트의 입력 데이터에 기초한 n+1개의 입력 값(x0-x8)은, 입력 데이터(u(t)) 및 인코딩 신호(v(t-1)) 중 첫 번째 비트를 제외한 나머지 비트를 입력 받아 비트 별로 XOR 연산한 값과, 그리고 인코딩 신호(v(t-1)) 중 첫 번째 비트 및 "0" 값(또는, 로 레벨의 신호)을 입력 받아 XOR 연산한 값을 포함할 수 있다. The first logic level 213a generates n/2 output values based on n+1 input values (x0-x8) based on n consecutive n bits of input data, and the second logic level 213b generates n/2 output values. /2 output values can be input and a control signal (CS_04) indicating whether the result of counting the high level among the continuous n bits of input data exceeds n/2 can be output. n+1 input values based on n consecutive n bits of input data may be the output of each of the n+1 XOR gates (G_11-G_19) in FIG. 2. In other words, n+1 input values (x0-x8) based on n consecutive n bits of input data are the remaining bits excluding the first bit of the input data (u(t)) and the encoding signal (v(t-1)). It can include a value obtained by receiving bits and performing an XOR operation for each bit, and a value obtained by receiving an You can.

이하, 도 7 및 도 8을 참조하여 도 6의 2개의 논리 레벨을 가지는 논리 회로를 설명한다. Hereinafter, the logic circuit having two logic levels in FIG. 6 will be described with reference to FIGS. 7 and 8.

도 7은 논리 게이트가 AOI 및 OAI 게이트로 조합된 논리 회로의 예시도이다. Figure 7 is an example diagram of a logic circuit in which logic gates are combined with AOI and OAI gates.

제1 논리 레벨(213a)은 n+1개의 입력 값으로부터 n/2개의 값을 생성하는 4개의 AOI 게이트를 포함하고, 제2 논리 레벨(213b)는, 제1 논리 레벨(213a)으로부터 생성된 n/2개의 값으로부터 하나의 값(제어 신호)을 생성하는 하나의 OAI 게이트를 포함할 수 있다. The first logic level 213a includes four AOI gates that generate n/2 values from n+1 input values, and the second logic level 213b includes the gates generated from the first logic level 213a. It may include one OAI gate that generates one value (control signal) from n/2 values.

도 7을 참조하면, 논리 게이트가 AOI 및 OAI 게이트로 조합된 논리 회로(200_5)는, 도 3에서의 복수의 논리 게이트(g1-g15)가 도 7의 8개의 AND 게이트(g3_1-g3_8), 4개의 NOR 게이트(g3_9-g3_12), 2개의 OR 게이트(g3_13, g3_14), 및 하나의 NAND 게이트(g3_15)인 것으로 구현될 수 있다. Referring to FIG. 7, the logic circuit 200_5 in which logic gates are combined with AOI and OAI gates includes a plurality of logic gates (g1-g15) in FIG. 3, eight AND gates (g3_1-g3_8) in FIG. It can be implemented as four NOR gates (g3_9-g3_12), two OR gates (g3_13, g3_14), and one NAND gate (g3_15).

제1 논리 레벨(213a)은, 2 개의 AND 게이트와 하나의 NOR 게이트가 결합된 4개의 AOI 게이트로 표현될 수 있고, 제2 논리 레벨(213b)는, 2 개의 OR 게이트와 하나의 NAND 게이트가 결합된 하나의 OAI 게이트로 표현될 수 있다. The first logic level 213a can be expressed as four AOI gates combined with two AND gates and one NOR gate, and the second logic level 213b can be expressed as two OR gates and one NAND gate. It can be expressed as one combined OAI gate.

예를 들어, AND 게이트(g3_1), AND 게이트(g3_2), 및 NOR 게이트(g3_9)는 하나의 AOI 게이트이고, AND 게이트(g3_5), AND 게이트(g3_6), 및 NOR 게이트(g3_10)는 하나의 AOI 게이트이며, AND 게이트(g3_3), AND 게이트(g3_4), 및 NOR 게이트(g3_11)는 하나의 AOI 게이트이고, AND 게이트(g3_7), AND 게이트(g3_8), 및 NOR 게이트(g3_12)는 하나의 AOI 게이트이다. 또한 OR 게이트(g3_13), OR 게이트(g3_14), 및 NAND 게이트(g3_15)는 하나의 OAI 게이트이다. For example, AND gate (g3_1), AND gate (g3_2), and NOR gate (g3_9) are one AOI gate, and AND gate (g3_5), AND gate (g3_6), and NOR gate (g3_10) are one AOI gate. It is an AOI gate, and AND gate (g3_3), AND gate (g3_4), and NOR gate (g3_11) are one AOI gate, and AND gate (g3_7), AND gate (g3_8), and NOR gate (g3_12) are one AOI gate. It is an AOI gate. Also, the OR gate (g3_13), OR gate (g3_14), and NAND gate (g3_15) are one OAI gate.

AND 게이트(g3_1)에는, x0 및 x1이 입력될 수 있다. AND 게이트(g3_2)에는, x2 및 x3이 입력될 수 있다. AND 게이트(g3_3)에는, x4 및 x5가 입력될 수 있다. AND 게이트(g3_4)에는, x6 및 x7이 입력될 수 있다. AND 게이트(g3_5)에는, x1 및 x2가 입력될 수 있다. AND 게이트(g3_6)에는, x3 및 x4가 입력될 수 있다. AND 게이트(g3_7)에는, x5 및 x6이 입력될 수 있다. AND 게이트(g3_8)에는, x7 및 x8이 입력될 수 있다.In the AND gate (g3_1), x0 and x1 can be input. In the AND gate (g3_2), x2 and x3 can be input. In the AND gate (g3_3), x4 and x5 can be input. In the AND gate (g3_4), x6 and x7 can be input. In the AND gate (g3_5), x1 and x2 can be input. In the AND gate (g3_6), x3 and x4 can be input. In the AND gate (g3_7), x5 and x6 can be input. In the AND gate (g3_8), x7 and x8 can be input.

NOR 게이트(g3_9)에는, AND 게이트(g3_1)의 출력 신호 및 AND 게이트(g3_2)의 출력 신호가 입력될 수 있다. NOR 게이트(g3_10)에는, AND 게이트(g3_5)의 출력 신호 및 AND 게이트(g3_6)의 출력 신호가 입력될 수 있다. NOR 게이트(g3_11)에는, AND 게이트(g3_3)의 출력 신호 및 AND 게이트(g3_4)의 출력 신호가 입력될 수 있다. NOR 게이트(g3_12)에는, AND 게이트(g3_7)의 출력 신호 및 AND 게이트(g3_8)의 출력 신호가 입력될 수 있다. The output signal of the AND gate (g3_1) and the output signal of the AND gate (g3_2) may be input to the NOR gate (g3_9). The output signal of the AND gate (g3_5) and the output signal of the AND gate (g3_6) may be input to the NOR gate (g3_10). The output signal of the AND gate (g3_3) and the output signal of the AND gate (g3_4) may be input to the NOR gate (g3_11). The output signal of the AND gate (g3_7) and the output signal of the AND gate (g3_8) may be input to the NOR gate (g3_12).

OR 게이트(g3_13)에는, NOR 게이트(g3_9)의 출력 신호 및 NOR 게이트(g3_10)의 출력 신호가 입력될 수 있다. OR 게이트(g3_14)에는, NOR 게이트(g3_11)의 출력 신호 및 NOR 게이트(g3_12)의 출력 신호가 입력될 수 있다. The output signal of the NOR gate (g3_9) and the output signal of the NOR gate (g3_10) may be input to the OR gate (g3_13). The output signal of the NOR gate (g3_11) and the output signal of the NOR gate (g3_12) may be input to the OR gate (g3_14).

NAND 게이트(g3_15)에는, OR 게이트(g3_13)의 출력 신호 및 OR 게이트(g3_14)의 출력 신호가 입력될 수 있다. NAND 게이트(g3_15)는, 제어 신호(CS_05)를 출력할 수 있다.The output signal of the OR gate (g3_13) and the output signal of the OR gate (g3_14) may be input to the NAND gate (g3_15). The NAND gate (g3_15) can output a control signal (CS_05).

예를 들어, x0-x8의 데이터가 [0, 0, 1, 0, 0, 1, 1, 0, 1]인 경우를 가정한다. 제1 논리 레벨(213a)에서, AND 게이트(g3_1)는 0을 출력하고, AND 게이트(g3_5)는 0을 출력하며, AND 게이트(g3_2)는 0을 출력하고, AND 게이트(g3_6)는 0을 출력한다. AND 게이트(g3_3)는 0을 출력하고, AND 게이트(g3_7)는 1을 출력하며, AND 게이트(g3_4)는 0을 출력하고, AND 게이트(g3_8)는 0을 출력한다. 또한 NOR 게이트(g3_9)는 1을 출력하고, NOR 게이트(g3_10)는 1을 출력하며, NOR 게이트(g3_11)는 1을 출력하고, NOR 게이트(g3_12)는 0을 출력한다. 제2 논리 레벨(213b)에서, OR 게이트(g3_13)는 1을 출력하고, OR 게이트(g3_14)는 1을 출력한다. 또한 NAND 게이트(g3_15)는 0을 출력한다. 이처럼 논리 회로(200_5)에서, x0-x8의 데이터 중 하이 레벨을 갖는 값의 개수가 4개로 과반수가 아니므로, NAND 게이트(g3_15)는 로 레벨의 제어 신호(CS_05) 출력할 수 있다. For example, assume that the data in x0-x8 is [0, 0, 1, 0, 0, 1, 1, 0, 1]. At the first logic level 213a, the AND gate (g3_1) outputs 0, the AND gate (g3_5) outputs 0, the AND gate (g3_2) outputs 0, and the AND gate (g3_6) outputs 0. Print out. The AND gate (g3_3) outputs 0, the AND gate (g3_7) outputs 1, the AND gate (g3_4) outputs 0, and the AND gate (g3_8) outputs 0. Additionally, the NOR gate (g3_9) outputs 1, the NOR gate (g3_10) outputs 1, the NOR gate (g3_11) outputs 1, and the NOR gate (g3_12) outputs 0. At the second logic level 213b, the OR gate (g3_13) outputs 1, and the OR gate (g3_14) outputs 1. Additionally, the NAND gate (g3_15) outputs 0. As such, in the logic circuit 200_5, since the number of values having a high level among the data x0-x8 is 4, which is not the majority, the NAND gate g3_15 can output the low level control signal CS_05.

도 8은 논리 게이트가 OAI 및 AOI 게이트로 조합된 논리 회로의 예시도이다. Figure 8 is an example diagram of a logic circuit in which logic gates are combined into OAI and AOI gates.

제1 논리 레벨(213a)은 n+1개의 입력 값으로부터 n/2개의 값을 생성하는 4개의 OAI 게이트를 포함하고, 제2 논리 레벨(213b)는, 제1 논리 레벨(213a)으로부터 생성된 n/2개의 값으로부터 하나의 값(제어 신호)을 생성하는 하나의 AOI 게이트를 포함할 수 있다. The first logic level 213a includes four OAI gates that generate n/2 values from n+1 input values, and the second logic level 213b includes the gates generated from the first logic level 213a. It may include one AOI gate that generates one value (control signal) from n/2 values.

도 8을 참조하면, 논리 게이트가 OAI 및 AOI 게이트로 조합된 논리 회로(200_6)는, 도 3에서의 복수의 논리 게이트(g1-g15)가 도 8의 8개의 OR 게이트(g4_1-g4_8), 4개의 NAND 게이트(g4_9-g4_12), 2개의 AND 게이트(g4_13, g4_14), 및 하나의 NOR 게이트(g4_15)인 것으로 구현될 수 있다. Referring to FIG. 8, the logic circuit 200_6 in which logic gates are combined with OAI and AOI gates includes a plurality of logic gates (g1-g15) in FIG. 3, eight OR gates (g4_1-g4_8) in FIG. It can be implemented as four NAND gates (g4_9-g4_12), two AND gates (g4_13, g4_14), and one NOR gate (g4_15).

제1 논리 레벨(213a)은, 2 개의 OR 게이트와 하나의 NAND 게이트가 결합된 4개의 OAI 게이트로 표현될 수 있고, 제2 논리 레벨(213b)는, 2 개의 AND 게이트와 하나의 NOR 게이트가 결합된 하나의 AOI 게이트로 표현될 수 있다. The first logic level 213a can be expressed as four OAI gates combined with two OR gates and one NAND gate, and the second logic level 213b can be expressed as two AND gates and one NOR gate. It can be expressed as one combined AOI gate.

예를 들어, OR 게이트(g4_1), OR 게이트(g4_2), 및 NAND 게이트(g4_9)는 하나의 OAI 게이트이고, OR 게이트(g4_5), OR 게이트(g4_6), 및 NAND 게이트(g4_10)는 하나의 OAI 게이트이며, OR 게이트(g4_3), OR 게이트(g4_4), 및 NAND 게이트(g4_11)는 하나의 OAI 게이트이고, OR 게이트(g4_7), OR 게이트(g4_8), 및 NAND 게이트(g4_12)는 하나의 OAI 게이트이다. 또한 AND 게이트(g4_13), AND 게이트(g4_14), 및 NOR 게이트(g4_15)는 하나의 AOI 게이트이다. For example, OR gate (g4_1), OR gate (g4_2), and NAND gate (g4_9) are one OAI gate, and OR gate (g4_5), OR gate (g4_6), and NAND gate (g4_10) are one OAI gate. It is an OAI gate, and OR gate (g4_3), OR gate (g4_4), and NAND gate (g4_11) are one OAI gate, and OR gate (g4_7), OR gate (g4_8), and NAND gate (g4_12) are one OAI gate. This is the OAI gate. Additionally, the AND gate (g4_13), AND gate (g4_14), and NOR gate (g4_15) are one AOI gate.

OR 게이트(g4_1)에는, x0 및 x1이 입력될 수 있다. OR 게이트(g4_2)에는, x2 및 x3이 입력될 수 있다. OR 게이트(g4_3)에는, x4 및 x5가 입력될 수 있다. OR 게이트(g4_4)에는, x6 및 x7이 입력될 수 있다. OR 게이트(g4_5)에는, x1 및 x2가 입력될 수 있다. OR 게이트(g4_6)에는, x3 및 x4가 입력될 수 있다. OR 게이트(g4_7)에는, x5 및 x6이 입력될 수 있다. OR 게이트(g4_8)에는, x7 및 x8이 입력될 수 있다.To the OR gate (g4_1), x0 and x1 can be input. In the OR gate (g4_2), x2 and x3 can be input. In the OR gate (g4_3), x4 and x5 can be input. In the OR gate (g4_4), x6 and x7 can be input. To the OR gate (g4_5), x1 and x2 can be input. In the OR gate (g4_6), x3 and x4 can be input. In the OR gate (g4_7), x5 and x6 can be input. In the OR gate (g4_8), x7 and x8 can be input.

NAND 게이트(g4_9)에는, OR 게이트(g4_1)의 출력 신호 및 OR 게이트(g4_2)의 출력 신호가 입력될 수 있다. NAND 게이트(g4_10)에는, OR 게이트(g4_5)의 출력 신호 및 OR 게이트(g4_6)의 출력 신호가 입력될 수 있다. NAND 게이트(g4_11)에는, OR 게이트(g4_3)의 출력 신호 및 OR 게이트(g4_4)의 출력 신호가 입력될 수 있다. NAND 게이트(g4_12)에는, OR 게이트(g4_7)의 출력 신호 및 OR 게이트(g4_8)의 출력 신호가 입력될 수 있다. The output signal of the OR gate (g4_1) and the output signal of the OR gate (g4_2) may be input to the NAND gate (g4_9). The output signal of the OR gate (g4_5) and the output signal of the OR gate (g4_6) may be input to the NAND gate (g4_10). The output signal of the OR gate (g4_3) and the output signal of the OR gate (g4_4) may be input to the NAND gate (g4_11). The output signal of the OR gate (g4_7) and the output signal of the OR gate (g4_8) may be input to the NAND gate (g4_12).

AND 게이트(g4_13)에는, NAND 게이트(g4_9)의 출력 신호 및 NAND 게이트(g4_10)의 출력 신호가 입력될 수 있다. AND 게이트(g4_14)에는, NAND 게이트(g4_11)의 출력 신호 및 NAND 게이트(g4_12)의 출력 신호가 입력될 수 있다. The output signal of the NAND gate (g4_9) and the output signal of the NAND gate (g4_10) may be input to the AND gate (g4_13). The output signal of the NAND gate (g4_11) and the output signal of the NAND gate (g4_12) may be input to the AND gate (g4_14).

NOR 게이트(g4_15)에는, AND 게이트(g4_13)의 출력 신호 및 AND 게이트(g4_14)의 출력 신호가 입력될 수 있다. OR 게이트(g4_15)는, 제어 신호(CS_06)를 출력할 수 있다.The output signal of the AND gate (g4_13) and the output signal of the AND gate (g4_14) may be input to the NOR gate (g4_15). The OR gate (g4_15) can output a control signal (CS_06).

예를 들어, x0-x8의 데이터가 [0, 0, 1, 0, 0, 1, 1, 0, 1]인 경우를 가정한다. 제1 논리 레벨(213a)에서, OR 게이트(g4_1)는 0을 출력하고, OR 게이트(g4_5)는 1을 출력하며, OR 게이트(g4_2)는 1을 출력하고, OR 게이트(g4_6)는 0을 출력한다. OR 게이트(g4_3)는 1을 출력하고, OR 게이트(g4_7)는 1을 출력하며, OR 게이트(g4_4)는 1을 출력하고, OR 게이트(g4_8)는 1을 출력한다. 또한 NAND 게이트(g4_9)는 1을 출력하고, NAND 게이트(g4_10)는 1을 출력하며, NAND 게이트(g4_11)는 0을 출력하고, NAND 게이트(g4_12)는 0을 출력한다. 제2 논리 레벨(213b)에서, AND 게이트(g4_13)는 1을 출력하고, AND 게이트(g4_14)는 0을 출력한다. 또한 NOR 게이트(g4_15)는 0을 출력한다. 이처럼 논리 회로(200_6)에서, x0-x8의 데이터 중 하이 레벨을 갖는 값의 개수가 4개로 과반수가 아니므로, NOR 게이트(g4_15)는 로 레벨의 제어 신호(CS_06) 출력할 수 있다. For example, assume that the data in x0-x8 is [0, 0, 1, 0, 0, 1, 1, 0, 1]. At the first logic level 213a, the OR gate (g4_1) outputs 0, the OR gate (g4_5) outputs 1, the OR gate (g4_2) outputs 1, and the OR gate (g4_6) outputs 0. Print out. The OR gate (g4_3) outputs 1, the OR gate (g4_7) outputs 1, the OR gate (g4_4) outputs 1, and the OR gate (g4_8) outputs 1. Additionally, the NAND gate (g4_9) outputs 1, the NAND gate (g4_10) outputs 1, the NAND gate (g4_11) outputs 0, and the NAND gate (g4_12) outputs 0. At the second logic level 213b, the AND gate (g4_13) outputs 1 and the AND gate (g4_14) outputs 0. Also, the NOR gate (g4_15) outputs 0. As such, in the logic circuit 200_6, since the number of values having a high level among the data x0-x8 is 4, which is not the majority, the NOR gate (g4_15) can output a low-level control signal (CS_06).

이하, 도 9를 참조하여 일 실시예에 따른 논리 회로에 포함된 논리 게이트의 구체적인 구성을 설명한다. Hereinafter, a specific configuration of a logic gate included in a logic circuit according to an embodiment will be described with reference to FIG. 9.

도 9는 일 실시예에 따른 NAND 게이트, AOI 게이트, 및 OAI 게이트를 설명하기 위한 예시도이다. Figure 9 is an example diagram for explaining a NAND gate, an AOI gate, and an OAI gate according to an embodiment.

도 9를 참조하면, 일 실시예에서 논리 회로(200)에 포함된 NAND 게이트(NAND_A)는, 직렬 연결된 2 개의 트랜지스터(TRA1, TRA2) 및 병렬 연결된 2 개의 트랜지스터(TR3, TR4)를 포함한다. NAND 게이트(NAND_A)에는, 입력 신호(x1) 및 입력 신호(y1)가 입력되어 출력 신호(f1)를 생성할 수 있다.Referring to FIG. 9 , in one embodiment, the NAND gate (NAND_A) included in the logic circuit 200 includes two transistors (TRA1 and TRA2) connected in series and two transistors (TR3 and TR4) connected in parallel. An input signal (x1) and an input signal (y1) may be input to the NAND gate (NAND_A) to generate an output signal (f1).

병렬 연결된 2 개의 트랜지스터(TR3, TR4) 각각의 일단은 트랜지스터(TRA2)의 일단과 연결될 수 있다. 병렬 연결된 2 개의 트랜지스터(TR3, TR4) 각각의 게이트 단에는 버블이 포함되어, 입력 신호가 반전되어 병렬 연결된 2 개의 트랜지스터(TR3, TR4) 각각의 게이트 단에 입력될 수 있다. One end of each of the two transistors TR3 and TR4 connected in parallel may be connected to one end of the transistor TRA2. A bubble is included in the gate terminal of each of the two transistors (TR3, TR4) connected in parallel, so that the input signal can be inverted and input to the gate terminal of each of the two transistors (TR3, TR4) connected in parallel.

트랜지스터(TRA1)의 게이트 단에는 입력 신호(y1)가 입력되고, 트랜지스터(TRA1)의 일단에는 그라운드에 연결되고, 트랜지스터(TRA1)의 타단은 트랜지스터(TRA2)의 일단에 연결될 수 있다. 트랜지스터(TRA2)의 게이트 단에는 입력 신호(x1)가 입력되고, 트랜지스터(TRA2)의 타단은 트랜지스터(TRA3, TRA4) 각각의 일단에 연결될 수 있다. The input signal y1 may be input to the gate terminal of the transistor TRA1, one end of the transistor TRA1 may be connected to the ground, and the other end of the transistor TRA1 may be connected to one end of the transistor TRA2. The input signal x1 is input to the gate terminal of the transistor TRA2, and the other end of the transistor TRA2 may be connected to one end of each of the transistors TRA3 and TRA4.

트랜지스터(TRA3)의 게이트 단에는 입력 신호(x1)가 반전된 신호가 입력되고, 트랜지스터(TRA4)의 게이트 단에는 입력 신호(y1)가 반전된 신호가 입력되며, 트랜지스터(TRA3, TRA4)의 타단에는 드레인 전압(VDD)이 연결될 수 있다. An inverted signal of the input signal (x1) is input to the gate terminal of the transistor (TRA3), an inverted signal of the input signal (y1) is input to the gate terminal of the transistor (TRA4), and the other terminal of the transistors (TRA3, TRA4) A drain voltage (VDD) may be connected to .

출력 신호(f1)는, 병렬 연결된 2 개의 트랜지스터(TRA3, TRA4) 각각의 일단 및 트랜지스터(TRA2)의 타단이 연결된 노드의 신호일 수 있다. The output signal f1 may be a signal of a node where one end of each of two transistors TRA3 and TRA4 connected in parallel and the other end of the transistor TRA2 are connected.

도 9를 참조하면, 일 실시예에서 논리 회로(200)에 포함된 AOI 게이트(AOI_B)는, 복수의 트랜지스터(TRB1-TRB8)를 포함할 수 있다. AOI 게이트(AOI_B)에는, 입력 신호(x2), 입력 신호(y2), 입력 신호(z2), 및 입력 신호(w2)가 입력되어 출력 신호(f2)를 생성할 수 있다.Referring to FIG. 9, in one embodiment, the AOI gate (AOI_B) included in the logic circuit 200 may include a plurality of transistors (TRB1-TRB8). An input signal (x2), an input signal (y2), an input signal (z2), and an input signal (w2) may be input to the AOI gate (AOI_B) to generate an output signal (f2).

직렬 연결된 2 개의 트랜지스터(TRB1, TRB2) 및 직렬 연결된 2 개의 트랜지스터(TRB3, TRB4)가 병렬로 연결될 수 있다. 트랜지스터(TRB5) 및 트랜지스터(TRB7)이 병렬로 연결되고, 트랜지스터(TRB6) 및 트랜지스터(TRB8)이 병렬로 연결될 수 있다. 4개의 트랜지스터(TRB5-TRB8) 각각의 게이트 단에는 버블이 포함되어 입력 신호가 반전되어 4개의 트랜지스터(TRB5-TRB8) 각각의 게이트 단에 입력될 수 있다. Two transistors (TRB1, TRB2) connected in series and two transistors (TRB3, TRB4) connected in series may be connected in parallel. The transistor TRB5 and TRB7 may be connected in parallel, and the transistor TRB6 and TRB8 may be connected in parallel. The gate terminal of each of the four transistors (TRB5-TRB8) contains a bubble so that the input signal can be inverted and input to the gate terminal of each of the four transistors (TRB5-TRB8).

트랜지스터(TRB1)의 게이트 단에는 입력 신호(y2)가 입력되고, 트랜지스터(TRB1)의 일단에는 그라운드에 연결되고, 트랜지스터(TRB1)의 타단은 트랜지스터(TRB2)의 일단에 연결될 수 있다. 트랜지스터(TRB3)의 게이트 단에는 입력 신호(w2)가 입력되고, 트랜지스터(TRB3)의 일단에는 그라운드에 연결되고, 트랜지스터(TRB3)의 타단은 트랜지스터(TRB4)의 일단에 연결될 수 있다. 트랜지스터(TRB2)의 게이트 단에는 입력 신호(x2)가 입력되고, 트랜지스터(TRB2)의 타단은 트랜지스터(TRB4)의 타단 및 트랜지스터(TRB5, TRB7) 각각의 일단에 연결될 수 있다. 트랜지스터(TRB4)의 게이트 단에는 입력 신호(z2)가 입력되고, The input signal y2 may be input to the gate terminal of the transistor TRB1, one end of the transistor TRB1 may be connected to the ground, and the other end of the transistor TRB1 may be connected to one end of the transistor TRB2. The input signal w2 may be input to the gate terminal of the transistor TRB3, one end of the transistor TRB3 may be connected to the ground, and the other end of the transistor TRB3 may be connected to one end of the transistor TRB4. The input signal (x2) is input to the gate terminal of the transistor (TRB2), and the other end of the transistor (TRB2) may be connected to the other end of the transistor (TRB4) and one end of each of the transistors (TRB5 and TRB7). The input signal (z2) is input to the gate terminal of the transistor (TRB4),

트랜지스터(TRB5)의 게이트 단에는 입력 신호(z2)가 반전된 신호가 입력되고, 트랜지스터(TRB5)의 타단은 트랜지스터(TRB7)의 타단 및 트랜지스터(TRB6, TRB8) 각각의 일단에 연결될 수 있다. 트랜지스터(TRB7)의 게이트 단에는 입력 신호(w2)가 반전된 신호가 입력될 수 있다. 트랜지스터(TRB6)의 게이트 단에는 입력 신호(x2)가 반전된 신호가 입력되고, 트랜지스터(TRB6)의 타단에는, 트랜지스터(TRB8)의 타단이 연결되고, 드레인 전압(VDD)이 인가될 수 있다. 트랜지스터(TRB8)의 게이트 단에는 입력 신호(y2)가 반전된 신호가 입력될 수 있다. An inverted signal of the input signal z2 is input to the gate terminal of the transistor TRB5, and the other end of the transistor TRB5 may be connected to the other end of the transistor TRB7 and one end of each of the transistors TRB6 and TRB8. An inverted signal of the input signal w2 may be input to the gate terminal of the transistor TRB7. An inverted signal of the input signal x2 may be input to the gate terminal of the transistor TRB6, the other terminal of the transistor TRB8 may be connected to the other end of the transistor TRB6, and the drain voltage VDD may be applied. An inverted signal of the input signal y2 may be input to the gate terminal of the transistor TRB8.

출력 신호(f2)는, 2 개의 트랜지스터(TRB2, TRB4) 각각의 타단 및 2 개의 트랜지스터(TRB5, TRB7) 각각의 일단이 연결된 노드의 신호일 수 있다. The output signal f2 may be a signal of a node to which the other end of each of the two transistors TRB2 and TRB4 and one end of each of the two transistors TRB5 and TRB7 are connected.

도 9를 참조하면, 일 실시예에서 논리 회로(200)에 포함된 OAI 게이트(OAI_C)는, 복수의 트랜지스터(TRC1-TRC8)를 포함할 수 있다. OAI 게이트(OAI_C)에는, 입력 신호(x3), 입력 신호(y3), 입력 신호(z3), 및 입력 신호(w3)가 입력되어 출력 신호(f3)를 생성할 수 있다.Referring to FIG. 9, in one embodiment, the OAI gate (OAI_C) included in the logic circuit 200 may include a plurality of transistors (TRC1-TRC8). An input signal (x3), an input signal (y3), an input signal (z3), and an input signal (w3) may be input to the OAI gate (OAI_C) to generate an output signal (f3).

트랜지스터(TRC1) 및 트랜지스터(TRC3)이 병렬로 연결되고, 트랜지스터(TRC2) 및 트랜지스터(TRC4)이 병렬로 연결될 수 있다. 직렬 연결된 2 개의 트랜지스터(TRC5, TRC6) 및 직렬 연결된 2 개의 트랜지스터(TRC7, TRC8)가 병렬로 연결될 수 있다. 4개의 트랜지스터(TRC5-TRC8) 각각의 게이트 단에는 버블이 포함되어 입력 신호가 반전되어 4개의 트랜지스터(TRC5-TRC8) 각각의 게이트 단에 입력될 수 있다. The transistor TRC1 and TRC3 may be connected in parallel, and the transistor TRC2 and TRC4 may be connected in parallel. Two transistors (TRC5, TRC6) connected in series and two transistors (TRC7, TRC8) connected in series can be connected in parallel. The gate terminal of each of the four transistors (TRC5-TRC8) contains a bubble so that the input signal can be inverted and input to the gate terminal of each of the four transistors (TRC5-TRC8).

트랜지스터(TRC1)의 게이트 단에는 입력 신호(z3)가 입력되고, 트랜지스터(TRC1)의 일단에는 그라운드에 연결될 수 있다. 트랜지스터(TRC3)의 게이트 단에는 입력 신호(w3)가 입력되고, 트랜지스터(TRC3)의 일단에는 그라운드에 연결될 수 있다. 트랜지스터(TRC1)의 타단은 트랜지스터(TRC3)의 타단, 트랜지스터(TRC2)의 일단, 및 트랜지스터(TRC4)의 일단에 연결될 수 있다.The input signal z3 is input to the gate terminal of the transistor TRC1, and one end of the transistor TRC1 may be connected to the ground. The input signal w3 is input to the gate terminal of the transistor TRC3, and one end of the transistor TRC3 may be connected to the ground. The other end of the transistor TRC1 may be connected to the other end of the transistor TRC3, one end of the transistor TRC2, and one end of the transistor TRC4.

트랜지스터(TRC2)의 게이트 단에는 입력 신호(x3)가 입력되고, 트랜지스터(TRC2)의 타단은 트랜지스터(TRC4)의 타단 및 트랜지스터(TRC5, TRC7) 각각의 일단에 연결될 수 있다. 트랜지스터(TRC4)의 게이트 단에는 입력 신호(y3)가 입력될 수 있다.An input signal (x3) is input to the gate terminal of the transistor (TRC2), and the other end of the transistor (TRC2) may be connected to the other end of the transistor (TRC4) and one end of each of the transistors (TRC5 and TRC7). An input signal (y3) may be input to the gate terminal of the transistor (TRC4).

트랜지스터(TRC5)의 게이트 단에는 입력 신호(y3)가 반전된 신호가 입력되고, 트랜지스터(TRC5)의 타단은 트랜지스터(TRC6)의 일단에 연결될 수 있다. 트랜지스터(TRC7)의 게이트 단에는 입력 신호(w3)가 반전된 신호가 입력되고, 트랜지스터(TRC7)의 타단은 트랜지스터(TRC8)의 일단에 연결될 수 있다. 트랜지스터(TRC6)의 게이트 단에는 입력 신호(x3)가 반전된 신호가 입력되고, 트랜지스터(TRC6)의 타단에는 트랜지스터(TRC8)의 타단이 연결되고, 드레인 전압(VDD)이 인가될 수 있다. 트랜지스터(TRC8)의 게이트 단에는 입력 신호(z3)가 반전된 신호가 입력될 수 있다. An inverted signal of the input signal y3 is input to the gate terminal of the transistor TRC5, and the other end of the transistor TRC5 may be connected to one end of the transistor TRC6. An inverted signal of the input signal w3 is input to the gate terminal of the transistor TRC7, and the other end of the transistor TRC7 may be connected to one end of the transistor TRC8. An inverted signal of the input signal x3 may be input to the gate terminal of the transistor TRC6, the other terminal of the transistor TRC8 may be connected to the other end of the transistor TRC6, and a drain voltage VDD may be applied. An inverted signal of the input signal z3 may be input to the gate terminal of the transistor TRC8.

출력 신호(f3)는, 2 개의 트랜지스터(TRC2, TRC4) 각각의 타단 및 2 개의 트랜지스터(TRC5, TRC7) 각각의 일단이 연결된 노드의 신호일 수 있다. The output signal f3 may be a signal of a node to which the other end of each of the two transistors TRC2 and TRC4 and one end of each of the two transistors TRC5 and TRC7 are connected.

도 10은 입력 신호의 순서를 조합하여 논리 회로에 입력하는 일 실시예를 설명하기 위한 블록도이다. Figure 10 is a block diagram for explaining an embodiment of combining the order of input signals and inputting them to a logic circuit.

도 10을 참조하면, 도 4의 논리 회로(200_2), 도 5의 논리 회로(200_3), 도 7의 논리 회로(200_5), 또는 도 8의 논리 회로(200_6) 중 하나에 순서를 조합(Permutation)한 입력 신호를 입력하여 정확도가 향상된 논리 회로(200_6)를 설명한다. Referring to FIG. 10, the order is combined (permutation) in one of the logic circuit 200_2 of FIG. 4, the logic circuit 200_3 of FIG. 5, the logic circuit 200_5 of FIG. 7, or the logic circuit 200_6 of FIG. 8. ) A logic circuit (200_6) with improved accuracy by inputting an input signal will be described.

도 10에서,"F0"는, 도 4의 논리 회로(200_2), 도 5의 논리 회로(200_3), 도 7의 논리 회로(200_5), 또는 도 8의 논리 회로(200_6) 중 하나일 수 있다. In Figure 10, "F 0 " may be one of the logic circuit 200_2 in Figure 4, the logic circuit 200_3 in Figure 5, the logic circuit 200_5 in Figure 7, or the logic circuit 200_6 in Figure 8. there is.

논리 회로(200_7)은, 논리 회로(F0(x)), 논리 회로(F01(x))), 및 논리 회로(F02(x)))를 포함하고, 4개의 NAND 게이트(g5_1-g5_4)를 포함할 수 있다. 논리 회로(F0(x)), 논리 회로(F01(x))), 및 논리 회로(F02(x))) 각각은, 논리 회로(F0)에 x, π1(x), 및 π2(x) 각각을 입력한 회로이다. π1(x) 및 π2(x) 각각은, 연속된 n비트의 입력 데이터에 기초한 n+1개의 입력 값(x)의 순서가 조합된 제1 값 및 제2 값일 수 있다. The logic circuit 200_7 includes a logic circuit F 0 (x), a logic circuit F 01 (x)), and a logic circuit F 02 (x)), 4 It may include NAND gates (g5_1-g5_4). Logic circuit (F 0 (x)), logic circuit (F 01 (x))), and logic circuit (F 02 (x))) each include x in the logic circuit (F 0 ), This is a circuit that inputs π 1 (x) and π 2 (x), respectively. Each of π 1 (x) and π 2 (x) may be a first value and a second value that are a combination of the order of n+1 input values (x) based on n consecutive n bits of input data.

이하, 설명의 편의를 위해 도 10에서, x, π1(x), 및 π2(x) 각각은 이하의 값인 것으로 한다.Hereinafter, for convenience of explanation, in FIG. 10, x, π 1 (x), and π 2 (x) are each assumed to be the following values.

논리 회로(F0)에 x를 입력한 경우, 논리 회로(F0)의 출력 신호를 중간 제어 신호(CS_11)이라 하고, 논리 회로(F0)에 π1(x)를 입력한 경우, 논리 회로(F0)의 출력 신호를 중간 제어 신호(CS_12)이라 하며, 논리 회로(F0)에 π2(x)를 입력한 경우, 논리 회로(F0)의 출력 신호를 중간 제어 신호(CS_13)이라 한다. When x is input into the logic circuit (F 0 ), the output signal of the logic circuit (F 0 ) is called the intermediate control signal (CS_11), and when π 1 (x) is input into the logic circuit (F 0 ), the logic The output signal of the circuit (F 0 ) is called the intermediate control signal (CS_12), and when π 2 (x) is input to the logic circuit (F 0 ), the output signal of the logic circuit (F 0 ) is called the intermediate control signal (CS_13). ).

3개의 NAND 게이트(g5_1-g5_3)는, 논리 회로(F0(x))의 출력에 기초하여 3개의 중간 제어 신호(CS_11-CS_13)를 출력할 수 있다. NAND 게이트(g5_4)는, 3개의 중간 제어 신호(CS_11-CS_13)에 기초하여 최종적인 제어 신호(CS_07)를 출력할 수 있다. The three NAND gates (g5_1-g5_3) can output three intermediate control signals (CS_11-CS_13) based on the output of the logic circuit (F 0 (x)). The NAND gate (g5_4) can output the final control signal (CS_07) based on the three intermediate control signals (CS_11-CS_13).

제어 신호(CS_11) 및 제어 신호(CS_12)는 NAND 게이트(g5_1)에 입력될 수 있다. 제어 신호(CS_12) 및 제어 신호(CS_13)는 NAND 게이트(g5_2)에 입력될 수 있다. 제어 신호(CS_11) 및 제어 신호(CS_13)는 NAND 게이트(g5_3)에 입력될 수 있다. NAND 게이트(g5_1)의 출력 신호, NAND 게이트(g5_2)의 출력 신호, 및 NAND 게이트(g5_3)의 출력 신호는 NAND 게이트(g5_4)에 입력될 수 있다. NAND 게이트(g5_4)는 제어 신호(CS_07)를 출력할 수 있다.The control signal CS_11 and CS_12 may be input to the NAND gate (g5_1). The control signal CS_12 and CS_13 may be input to the NAND gate (g5_2). The control signal CS_11 and CS_13 may be input to the NAND gate (g5_3). The output signal of the NAND gate (g5_1), the output signal of the NAND gate (g5_2), and the output signal of the NAND gate (g5_3) may be input to the NAND gate (g5_4). The NAND gate (g5_4) can output a control signal (CS_07).

도 11은 도 10의 논리 회로를 이용한 제어 신호 생성 방법의 순서도이다. 도 10 및 도 11을 참조하여 논리 회로(200_7)의 동작을 설명한다. 이하, 중복되는 설명은 생략될 수 있다. 논리 회로(200_7)는 인코더(1)의 구성 요소이므로, 이하 인코더(1)의 동작으로 설명한다. FIG. 11 is a flowchart of a method for generating a control signal using the logic circuit of FIG. 10. The operation of the logic circuit 200_7 will be described with reference to FIGS. 10 and 11 . Hereinafter, overlapping descriptions may be omitted. Since the logic circuit 200_7 is a component of the encoder 1, the operation of the encoder 1 will be described below.

인코더(1)는, 도 4의 논리 회로(200_2), 도 5의 논리 회로(200_3), 도 7의 논리 회로(200_5), 또는 도 8의 논리 회로(200_6) 중 하나에 n+1개의 입력 값(x)을 입력하여 제1 중간 제어 신호(CS_11)를 도출할 수 있다(S1). The encoder 1 has n+1 inputs to one of the logic circuit 200_2 in FIG. 4, the logic circuit 200_3 in FIG. 5, the logic circuit 200_5 in FIG. 7, or the logic circuit 200_6 in FIG. 8. The first intermediate control signal (CS_11) can be derived by inputting the value (x) (S1).

인코더(1)는, 도 4의 논리 회로(200_2), 도 5의 논리 회로(200_3), 및 도 7의 논리 회로(200_5) 중 하나에 n+1개의 입력 값(x)를 조합한 제1 값()을 입력하여 제2 중간 제어 신호(CS_12)를 도출할 수 있다(S2). The encoder 1 combines n+1 input values (x) with one of the logic circuit 200_2 of FIG. 4, the logic circuit 200_3 of FIG. 5, and the logic circuit 200_5 of FIG. 7. value( ) can be input to derive the second intermediate control signal (CS_12) (S2).

인코더(1)는, 도 4의 논리 회로(200_2), 도 5의 논리 회로(200_3), 및 도 7의 논리 회로(200_5) 중 하나에 n+1 개의 입력 값(x)를 조합한 제2 값()을 입력하여 제3 중간 제어 신호(CS_13)를 도출할 수 있다(S3). The encoder 1 combines n+1 input values (x) with one of the logic circuit 200_2 of FIG. 4, the logic circuit 200_3 of FIG. 5, and the logic circuit 200_5 of FIG. 7. value( ) can be input to derive the third intermediate control signal (CS_13) (S3).

3개의 NAND 게이트(g5_1-g5_3) 각각은, 제1 내지 제3 중간 제어 신호(CS_11-CS-13)에 기초하여 NAND 연산할 수 있다(S4). NAND 게이트(g5_1)는 제어 신호(CS_11) 및 제어 신호(CS_12)를 입력 받아 NAND 연산 결과를 생성할 수 있다. NAND 게이트(g5_2)는 제어 신호(CS_12) 및 제어 신호(CS_13)를 입력 받아 NAND 연산 결과를 생성할 수 있다. NAND 게이트(g5_3)는 제어 신호(CS_11) 및 제어 신호(CS_13)를 입력 받아 NAND 연산 결과를 생성할 수 있다.Each of the three NAND gates (g5_1-g5_3) can perform NAND operation based on the first to third intermediate control signals (CS_11-CS-13) (S4). The NAND gate (g5_1) can receive the control signal (CS_11) and the control signal (CS_12) and generate NAND operation results. The NAND gate (g5_2) can receive the control signal (CS_12) and the control signal (CS_13) and generate NAND operation results. The NAND gate (g5_3) can receive the control signal (CS_11) and the control signal (CS_13) and generate NAND operation results.

NAND 게이트(g5_4)는, 3개의 NAND 게이트(g5_1-g5_3) 각각의 출력을 NAND 연산하여 최종적으로 제어 신호(CS_07)를 생성할 수 있다(S5). NAND 게이트(g5_4)는, NAND 게이트(g5_1)의 NAND 연산 결과, NAND 게이트(g5_2)의 NAND 연산 결과, 및 NAND 게이트(g5_3)의 NAND 연산 결과를 입력 받아 NAND 연산한 결과를 제어 신호(CS_07)로 출력할 수 있다. The NAND gate (g5_4) can perform a NAND operation on the output of each of the three NAND gates (g5_1-g5_3) and finally generate a control signal (CS_07) (S5). The NAND gate (g5_4) receives the NAND operation result of the NAND gate (g5_1), the NAND operation result of the NAND gate (g5_2), and the NAND operation result of the NAND gate (g5_3), and sends the NAND operation result to a control signal (CS_07). It can be output as .

도 12는 도 7의 논리 회로, 도 8의 논리 회로, 및 도 10의 논리 회로의 지연 시간 및 정확도를 비교하기 위한 테이블이다.FIG. 12 is a table for comparing the delay time and accuracy of the logic circuit of FIG. 7, the logic circuit of FIG. 8, and the logic circuit of FIG. 10.

도 12에서, "SYN-ENC" 및 "MUX-ENC"는 기존 방식에 따른 과반수 판정 회로를 나타낸다. 도 12에서, "proposed F0"는 도 7의 논리 회로(200_5), "proposed F1"는 도 8의 논리 회로(200_6), "proposed FM"는 도 10의 논리 회로(200_7)를 나타낸다. In Figure 12, "SYN-ENC" and "MUX-ENC" represent a majority decision circuit according to the existing method. In FIG. 12, “proposed F 0 ” represents the logic circuit 200_5 of FIG. 7, “proposed F 1 ” represents the logic circuit 200_6 of FIG. 8, and “proposed F M ” represents the logic circuit 200_7 of FIG. 10. .

도 12에 따르면, 기존 방식에 따른 과반수 판정 회로는 0.95(ns) 또는 0.91(ns)의 지연 시간(latency)을 가지고, 정확도를 나타내는 "Savings in Total Switching Activity"는 18.3(%)로 높은 수준인 것으로 나타난다. According to Figure 12, the majority decision circuit according to the existing method has a latency of 0.95 (ns) or 0.91 (ns), and "Savings in Total Switching Activity", which indicates accuracy, is 18.3 (%), which is a high level. It appears that

일 실시예에 따른 도 7의 논리 회로(200_5)(proposed F0) 및 도 8의 논리 회로(200_9)(proposed F1)는, 지연 시간 0.35(ns)로 기존 방식에 비하여 시간이 크게 단축되었으며 정확도 또한 12.8(%)로 기존 방식보다 크게 저하되지 않은 것으로 나타난다. 도 10의 논리 회로(200_7)(proposed FM)는, 지연 시간 0.53(ns)로 기존 방식에 비하여 시간도 단축되었고, 정확도는 16.4(%)로 기존 방식에 가까운 것으로 나타난다. The logic circuit 200_5 (proposed F 0 ) of FIG. 7 and the logic circuit 200_9 (proposed F 1 ) of FIG. 8 according to one embodiment have a delay time of 0.35 (ns), which is significantly reduced compared to the existing method. The accuracy is also 12.8 (%), which does not appear to be significantly lower than the existing method. The logic circuit 200_7 (proposed F M ) of FIG. 10 has a delay time of 0.53 (ns), which is shortened compared to the existing method, and the accuracy is 16.4 (%), which appears to be close to the existing method.

따라서 일 실시예에 따른 논리 회로(200)를 활용하면, 기존 방식에 비하여 연산 속도가 향상될 수 있고, 정확도 또한 기존 방식에 가까운 결과를 도출할 수 있어 연산을 위한 에너지를 절약할 수 있다. Therefore, by using the logic circuit 200 according to an embodiment, the calculation speed can be improved compared to the existing method, and the accuracy can also produce results close to the existing method, thereby saving energy for calculation.

상술한 본 발명의 실시예들은 다양한 수단을 통해 구현될 수 있다. 예를 들어, 본 발명의 실시예들은 독립적인 하드웨어 장치, 펌웨어(firmware), 소프트웨어 형태로 구현될 수 있으며, 또는 그것들의 결합 등에 의해 구현될 수 있다. Embodiments of the present invention described above can be implemented through various means. For example, embodiments of the present invention may be implemented in the form of independent hardware devices, firmware, software, or a combination thereof.

하드웨어에 의한 구현의 경우, 본 발명의 실시예들에 따른 방법은 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 프로세서(processor), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서, 범용 컴퓨터 시스템 등에 의해 구현될 수 있다. In the case of hardware implementation, the method according to embodiments of the present invention uses one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), and Programmable Logic Devices (PLDs). , FPGAs (Field Programmable Gate Arrays), processors, controllers, microcontrollers, microprocessors, general-purpose computer systems, etc.

펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 실시예들에 따른 방법은 이상에서 설명된 기능 또는 동작 들을 수행하는 모듈, 절차 또는 함수 등의 형태로 구현될 수 있다. 소프트웨어 코드는 메모리 유닛에 저장되어 프로세서에 의해 구동될 수 있다. 상기 메모리 유닛은 상기 프로세서 내부 또는 외부에 위치하여, 이미 공지된 다양한 수단에 의해 상기 프로세서와 데이터를 주고받을 수 있다.In the case of implementation by firmware or software, the method according to embodiments of the present invention may be implemented in the form of a module, procedure, or function that performs the functions or operations described above. Software code can be stored in a memory unit and run by a processor. The memory unit is located inside or outside the processor and can exchange data with the processor through various known means.

이상을 통해 본 발명의 실시 예에 대하여 설명하였지만, 본 발명은 상기 실시 예에 한정되지 않고, 본 발명의 취지를 벗어나지 않고 효과를 저해하지 않는 한, 발명의 상세한 설명 및 첨부한 도면의 범위 안에서 다양하게 변경하여 실시할 수 있다. 또한 그러한 실시 예가 본 발명의 범위에 속하는 것은 당연하다.Although the embodiments of the present invention have been described above, the present invention is not limited to the above embodiments, and may be varied within the scope of the detailed description and accompanying drawings, as long as it does not deviate from the spirit of the present invention and does not impair the effect. It can be implemented by changing it accordingly. It is also natural that such embodiments fall within the scope of the present invention.

1: 인버터
100: 입력부
200, 200_1, 200_2, 200_3, 200_4, 200_5, 200_6, 200_7: 논리 회로
211a, 213a: 제1 논리 레벨
211b, 213b: 제2 논리 레벨
211c: 제3 논리 레벨
211d: 제4 논리 레벨
201: 인구수 카운터
202: 비교기
1: inverter
100: input unit
200, 200_1, 200_2, 200_3, 200_4, 200_5, 200_6, 200_7: Logic circuit
211a, 213a: first logic level
211b, 213b: second logic level
211c: Third logic level
211d: fourth logic level
201: Population counter
202: comparator

Claims (13)

연속된 n비트의 입력 데이터에 기초한 n+1개의 입력 값에 기초하여 n/2 개의 출력 값을 생성하는 제1 논리 레벨; 및
상기 n/2 개의 출력 값에 기초하여 상기 입력 데이터 중 하이 레벨 값을 카운트하고, 카운트 결과가 상기 n/2를 초과하는지를 지시하는 제어 신호를 출력하는 제2 논리 레벨을 포함하고,
상기 n은 8 이상의 자연수인,
논리 회로.
a first logic level that generates n/2 output values based on n+1 input values based on n consecutive n bits of input data; and
A second logic level that counts high level values among the input data based on the n/2 output values and outputs a control signal indicating whether the count result exceeds n/2,
where n is a natural number of 8 or more,
logic circuit.
제1항에 있어서,
상기 n은 8이고,
상기 제1 논리 레벨은,
상기 n+1개의 입력 값으로부터 4개의 값을 출력하는 4개의 AOI(AND-OR-INVERTER) 게이트를 포함하며,
상기 제2 논리 레벨은,
상기 4개의 값으로부터 하나의 상기 제어 신호를 출력하는 하나의 OAI(OR-AND-INVERTER) 게이트를 포함하는,
논리 회로.
According to paragraph 1,
where n is 8,
The first logic level is,
It includes four AOI (AND-OR-INVERTER) gates that output 4 values from the n+1 input values,
The second logic level is,
Comprising one OAI (OR-AND-INVERTER) gate that outputs one of the control signals from the four values,
logic circuit.
제1항에 있어서,
상기 n은 8이고,
상기 제1 논리 레벨은,
상기 n+1개의 입력 값으로부터 4개의 값을 출력하는 4개의 OAI(OR-AND-INVERTER) 게이트를 포함하며,
상기 제2 논리 레벨은,
상기 4개의 값으로부터 하나의 상기 제어 신호를 출력하는 하나의 AOI(AND-OR-INVERTER) 게이트를 포함하는,
논리 회로.
According to paragraph 1,
where n is 8,
The first logic level is,
It includes four OAI (OR-AND-INVERTER) gates that output 4 values from the n+1 input values,
The second logic level is,
Comprising one AOI (AND-OR-INVERTER) gate that outputs one control signal from the four values,
logic circuit.
제1 시점에서의 연속된 n비트의 입력 데이터 및 상기 제1 시점 직전의 제2 시점의 인코딩 신호를 각 비트 별로 XOR 연산하는 n+1개의 제1 XOR 게이트-상기 n은 8 이상인 자연수임-;
상기 n+1개의 제1 XOR 게이트의 출력 값에 기초하여 n/2 개의 출력 값을 생성하는 제1 논리 레벨 및 상기 n/2 개의 출력 값에 기초하여 상기 입력 데이터 중 하이 레벨 값을 카운트하고, 카운트 결과가 상기 n/2를 초과하는지를 지시하는 제어 신호를 출력하는 제2 논리 레벨을 포함하는 논리 회로;
상기 제어 신호와 상기 n비트의 입력 데이터에 기초하여 상기 제1 시점의 인코딩 신호를 생성하는 출력부를 포함하고,
상기 출력부는,
상기 제어 신호와 상기 n비트의 입력 데이터를 각 비트 별로 XOR 연산하여 상기 제1 시점의 인코딩 신호 중 n개를 생성하는 n개의 제2 XOR 게이트를 포함하는,
인코더.
n+1 first XOR gates that perform an
Counting high level values among the input data based on a first logic level that generates n/2 output values based on the output values of the n+1 first XOR gates and the n/2 output values, a logic circuit including a second logic level that outputs a control signal indicating whether the count result exceeds n/2;
An output unit that generates an encoding signal of the first time based on the control signal and the n-bit input data,
The output unit,
Comprising n second XOR gates for generating n of the encoding signals at the first time by performing an
Encoder.
제4항에 있어서,
상기 n은 8이고,
상기 제1 논리 레벨은,
상기 n+1개의 입력 값으로부터 4개의 값을 출력하는 4개의 AOI(AND-OR-INVERTER) 게이트를 포함하며,
상기 제2 논리 레벨은,
상기 4개의 값으로부터 하나의 상기 제어 신호를 출력하는 하나의 OAI(OR-AND-INVERTER) 게이트를 포함하는, 인코더.
According to paragraph 4,
where n is 8,
The first logic level is,
It includes four AOI (AND-OR-INVERTER) gates that output 4 values from the n+1 input values,
The second logic level is,
An encoder comprising one OR-AND-INVERTER (OAI) gate that outputs one of the control signals from the four values.
제4항에 있어서,
상기 n은 8이고,
상기 제1 논리 레벨은,
상기 n+1개의 입력 값으로부터 4개의 값을 출력하는 4개의 OAI(OR-AND-INVERTER) 게이트를 포함하며,
상기 제2 논리 레벨은,
상기 4개의 값으로부터 하나의 상기 제어 신호를 출력하는 하나의 AOI(AND-OR-INVERTER) 게이트를 포함하는,
인코더.
According to paragraph 4,
where n is 8,
The first logic level is,
It includes four OAI (OR-AND-INVERTER) gates that output 4 values from the n+1 input values,
The second logic level is,
Comprising one AOI (AND-OR-INVERTER) gate that outputs one control signal from the four values,
Encoder.
제4항에 있어서,
상기 n은 8이고,
상기 논리 회로의 출력에 기초하여 3개의 중간 제어 신호를 도출하는 3개의 제1 NAND 게이트; 및
상기 3개의 중간 제어 신호에 기초하여 하나의 최종 제어 신호를 도출하는 제2 NAND 게이트
를 더 포함하는 인코더.
According to paragraph 4,
where n is 8,
three first NAND gates that derive three intermediate control signals based on the output of the logic circuit; and
A second NAND gate that derives one final control signal based on the three intermediate control signals
An encoder further comprising:
제7항에 있어서,
상기 제1 논리 레벨은,
상기 n+1개의 입력 값으로부터 4개의 값을 출력하는 4개의 AOI(AND-OR-INVERTER) 게이트를 포함하고,
상기 제2 논리 레벨은,
상기 4개의 값으로부터 하나의 상기 제어 신호를 출력하는 하나의 OAI(OR-AND-INVERTER) 게이트를 포함하는,
인코더.
In clause 7,
The first logic level is,
It includes four AOI (AND-OR-INVERTER) gates that output 4 values from the n+1 input values,
The second logic level is,
Comprising one OAI (OR-AND-INVERTER) gate that outputs one control signal from the four values,
Encoder.
제7항에 있어서,
상기 제1 논리 레벨은,
상기 n+1개의 입력 값으로부터 4개의 값을 출력하는 4개의 OAI(OR-AND-INVERTER) 게이트를 포함하고,
상기 제2 논리 레벨은,
상기 4개의 값으로부터 하나의 상기 제어 신호를 출력하는 하나의 AOI(AND-OR-INVERTER) 게이트를 포함하는,
인코더.
In clause 7,
The first logic level is,
It includes four OAI (OR-AND-INVERTER) gates that output 4 values from the n+1 input values,
The second logic level is,
Comprising one AOI (AND-OR-INVERTER) gate that outputs one control signal from the four values,
Encoder.
인코더가, 제1 논리 회로에 연속된 n비트의 입력 데이터에 기초한 n+1개의 입력 값을 입력하여 제1 중간 제어 신호를 생성하는 단계 -상기 n은 8임-;
상기 인코더가, 상기 제1 논리 회로에 상기 n+1개의 입력 값을 조합한 제1 값을 입력하여 제2 중간 제어 신호를 생성하는 단계;
상기 인코더가, 상기 제1 논리 회로에 상기 n+1개의 입력 값을 조합한 제2 값을 입력하여 제2 중간 제어 신호를 생성하는 단계;
3개의 제1 NAND 게이트가, 상기 제1 내지 제3 중간 제어 신호에 기초하여 NAND 연산하여 3개의 NAND 연산 결과 값을 생성하는 단계; 및
제2 NAND 게이트가, 상기 3개의 NAND 연산 결과 값을 NAND 연산하여 하나의 제어 신호를 생성하는 단계
를 포함하는 제어 신호 생성 방법.
An encoder generating a first intermediate control signal by inputting n+1 input values based on n consecutive bits of input data into a first logic circuit, where n is 8;
generating, by the encoder, a first value obtained by combining the n+1 input values into the first logic circuit to generate a second intermediate control signal;
generating, by the encoder, a second intermediate control signal by inputting a second value obtained by combining the n+1 input values into the first logic circuit;
generating three NAND operation result values by three first NAND gates performing a NAND operation based on the first to third intermediate control signals; and
A second NAND gate performing NAND operation on the three NAND operation result values to generate one control signal.
A method of generating a control signal comprising:
제10항에 있어서,
상기 제1 논리 회로는,
상기 n+1개의 입력 값으로부터 4개의 값을 출력하는 4개의 AOI(AND-OR-INVERTER) 게이트를 포함하는 제1 논리 레벨; 및
상기 4개의 값으로부터 하나의 상기 제어 신호를 출력하는 하나의 OAI(OR-AND-INVERTER) 게이트를 포함하는 제2 논리 레벨을 포함하는,
제어 신호 생성 방법.
According to clause 10,
The first logic circuit is,
A first logic level including four AND-OR-INVERTER (AOI) gates that output four values from the n+1 input values; and
Comprising a second logic level including one OR-AND-INVERTER (OAI) gate that outputs one of the control signals from the four values,
How to generate control signals.
제10항에 있어서,
상기 제1 논리 회로는,
상기 n+1개의 입력 값으로부터 4개의 값을 출력하는 4개의 OAI(OR-AND-INVERTER) 게이트를 포함하는 제1 논리 레벨; 및
상기 4개의 값으로부터 하나의 상기 제어 신호를 출력하는 하나의 AOI(AND-OR-INVERTER) 포함하는 제2 논리 레벨을 포함하는,
제어 신호 생성 방법.
According to clause 10,
The first logic circuit is,
A first logic level including four OR-AND-INVERTER (OAI) gates that output four values from the n+1 input values; and
Comprising a second logic level including one AOI (AND-OR-INVERTER) that outputs one control signal from the four values,
How to generate control signals.
제10항에 있어서,
상기 3개의 NAND 연산 결과 값을 생성하는 단계는,
상기 3개의 제1 NAND 게이트 각각이, 상기 제1 내지 제3 중간 제어 신호 중 두 개의 신호를 NAND 연산하는 단계
를 포함하는,
제어 신호 생성 방법.
According to clause 10,
The step of generating the three NAND operation result values is,
Each of the three first NAND gates performs a NAND operation on two of the first to third intermediate control signals.
Including,
How to generate control signals.
KR1020220143686A 2022-11-01 2022-11-01 Logic circuit, encoder including the same, and method for generating control signal using the same KR102684403B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220143686A KR102684403B1 (en) 2022-11-01 2022-11-01 Logic circuit, encoder including the same, and method for generating control signal using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220143686A KR102684403B1 (en) 2022-11-01 2022-11-01 Logic circuit, encoder including the same, and method for generating control signal using the same

Publications (2)

Publication Number Publication Date
KR20240061851A true KR20240061851A (en) 2024-05-08
KR102684403B1 KR102684403B1 (en) 2024-07-12

Family

ID=91074537

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220143686A KR102684403B1 (en) 2022-11-01 2022-11-01 Logic circuit, encoder including the same, and method for generating control signal using the same

Country Status (1)

Country Link
KR (1) KR102684403B1 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7397395B2 (en) * 2005-02-16 2008-07-08 Intel Corporation Representative majority voter for bus invert coding
US10853300B2 (en) * 2017-03-31 2020-12-01 Intel Corporation Low latency statistical data bus inversion for energy reduction

Also Published As

Publication number Publication date
KR102684403B1 (en) 2024-07-12

Similar Documents

Publication Publication Date Title
US7352299B1 (en) Method and system for improving memory interface data integrity
JP5575237B2 (en) Data encoding using combined data mask and data bus inversion
US8085172B2 (en) Bus encoding/decoding method and bus encoder/decoder
US7506146B2 (en) Fast and compact circuit for bus inversion
EP3072238B1 (en) Devices and methods for facilitating data inversion to limit both instantaneous current and signal transitions
Natesan et al. Shift invert coding (SINV) for low power VLSI
JP3683892B2 (en) Method and system for improved differential form transition coding
KR20160037740A (en) Electronic system and output method thereof
JPH09160785A (en) Apparatus and method for generation of interrupt
KR102684403B1 (en) Logic circuit, encoder including the same, and method for generating control signal using the same
US7397395B2 (en) Representative majority voter for bus invert coding
KR102582152B1 (en) Data inversion circuit using PAM 3 signal
KR101653468B1 (en) Data inversion coding apparatus and method
CN109842402B (en) Low-power-consumption isolation circuit and method and chip thereof
JP2002132492A (en) Adding circuit for digital data
US9310829B2 (en) System with feature of saving dynamic power of flip-flop banks
KR20150007081A (en) Full adder circuit
CN110688813A (en) Method and structure for reducing chip logic turnover rate
CN109391556B (en) Message scheduling method, device and storage medium
US20230352074A1 (en) Signal control circuit, signal control method and semiconductor memory
US9690350B2 (en) Method and apparatus for power reduction during lane divergence
Yoon et al. A novel low-power bus design for bus-invert coding
TWI549437B (en) Codec system and method
US20170141768A1 (en) Mixed threshold flip-flop element to mitigate hold time penalty due to clock distortion
Vithyalakshmi et al. A multi coding technique to reduce transition activity in VLSI circuits

Legal Events

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