KR970003979B1 - Multiplexer - Google Patents

Multiplexer Download PDF

Info

Publication number
KR970003979B1
KR970003979B1 KR1019940012524A KR19940012524A KR970003979B1 KR 970003979 B1 KR970003979 B1 KR 970003979B1 KR 1019940012524 A KR1019940012524 A KR 1019940012524A KR 19940012524 A KR19940012524 A KR 19940012524A KR 970003979 B1 KR970003979 B1 KR 970003979B1
Authority
KR
South Korea
Prior art keywords
multiplier
data
bits
multiplication
bit
Prior art date
Application number
KR1019940012524A
Other languages
Korean (ko)
Other versions
KR950016069A (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 삼성전자 주식회사
Publication of KR950016069A publication Critical patent/KR950016069A/en
Application granted granted Critical
Publication of KR970003979B1 publication Critical patent/KR970003979B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7209Calculation via subfield, i.e. the subfield being GF(q) with q a prime power, e.g. GF ((2**m)**n) via GF(2**m)

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Error Detection And Correction (AREA)
  • Complex Calculations (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

There is provided a multiplier on Galoid field for high speed computing, which multiplies a multiplicand data(A) by a multiplier data(B) both of which pertain to Galoid field consisting of M bits data of 2M which is generated by using a primitive polynomial(P(X)). The multiplier includes: plural multipliers means for executing a logic product of a bit of M/N, M being a bit of the multiplier data and N being a constant, and the multiplier data bit by a unit of bit according to a multiplying rule of MX(M/N); and an adding means for adding respective outputs of the plural multipliers means to each other to output a multiplying value.

Description

갈로이스 필드상의 승산기Multiplier on Galois Field

제1도는 본 발명에 따른 일실시예의 갈로이스 필드상의 승산기의 블럭도이다.1 is a block diagram of a multiplier on a galloise field in one embodiment according to the present invention.

제2도는 본 발명에 따른 다른 실시예의 갈로이스 필드상의 승산기의 블럭도이다.2 is a block diagram of a multiplier on a galloise field in another embodiment according to the present invention.

제3도는 본 발명에 따른 또 다른 실시예의 갈로이스 필드상의 승산기의 블럭도이다.3 is a block diagram of a multiplier on a galloise field of another embodiment according to the present invention.

제4도는 본 발명에 따른 바람직한 실시예의 갈로이스 필드상의 승산기의 블록도이다.4 is a block diagram of a multiplier on a gallois field in a preferred embodiment according to the present invention.

본 발명은 승산기에 관할 것으로, 특히 갈로이드 필드상의 승산기에 관한 것이다.The present invention relates to multipliers, and more particularly to multipliers on a galoid field.

유한체의 연산은 오류 정정 부호(Error correction code), 스위칭 이론(Switching Theory), 및 암호이론(Cryptography)등 많은 분야에 적용되고 있다. 예를 들어 오류정정부호인 BCH 부호나 리드-솔로몬(Reed-Solomon)부호의 복호과정에서는 GF(2M)상의 연산을 이용하여 관련 알고리즘을 수행한다.Finite field operations have been applied to many fields such as error correction code, switching theory, and cryptography. For example, in the decoding process of an error correcting code, a BCH code or a Reed-Solomon code, a related algorithm is performed using an operation on GF ( 2M ).

특히, 디지탈 통신 시스템은 송수신 데이타간의 신뢰성을 향상시키기 위하여 송신하기에 앞서 데이타를 소정 오류정정 부호를 사용하여 부호화하며, 수신단에서는 이와같은 데이타를 원래의 데이타로 복원하기 위하여 오류정정부호를 사용하게 된다. 이와같은 부호화 및 복호화과정은 실질적으로 갈로이스 필드상에서의 연산을 수행하는 형태로 이루어지며, 대개의 경우 매우 많은 숫자의 가산 및 승산을 수행하여야 하므로, 갈로이스 필드상에서의 가산 및 승산은 매우 빠르게 이루어져야 한다. 그러나, 종래의 갈로이스 필드상에서의 승산기는 1심볼(symbol)클럭단위로 인가되는 소정 비트의 피승수 데이타 및 승수 데이타의 승산을 수행하고 1심볼 클럭뒤에 승산된 결과를 출력하게 되므로 고속연산에 어려움이 있었다.In particular, the digital communication system encodes the data using a predetermined error correction code prior to transmission in order to improve the reliability between the transmitted and received data, and the receiving end uses the error correction code to restore such data to the original data. . This encoding and decoding process is substantially performed in the form of arithmetic operations on the galloise field, and in most cases, a very large number of additions and multiplications must be performed. Therefore, the addition and multiplication on the galloise field must be performed very quickly. do. However, the multiplier in the conventional Gallois field performs multiplication of the multiplicative data and the multiplier data of a predetermined bit applied in one symbol clock unit, and outputs the multiplied result after one symbol clock. there was.

이를 해결하기 위하여 1심볼 클럭 대신에 1비트 클럭신호를 이용하여 인가되는 피승수 데이탄 및 승수 데이타의 각 비트별로 연산을 수행하는 승산기가 등장하였으나 각 비트에 대하여 승산을 수행하여야 하므로 회로가 복잡하여 하드웨어 구현시 칩사이즈가 증가한다는 문제점이 있었다.To solve this problem, a multiplier that performs operations for each bit of the multiplier data and the multiplier data applied by using a 1-bit clock signal instead of a 1-symbol clock has appeared, but the circuit is complicated because the multiplication must be performed for each bit. There was a problem that the chip size increases in the implementation.

따라서, 본 발명의 목적은 고속 연산을 수행할 수 있는 갈로이스 필드상의 승산기를 제공하는데 있다.Accordingly, it is an object of the present invention to provide a multiplier on a gallois field capable of performing high speed operations.

본 발명의 다른 목적은 회로구성이 간단한 갈로이스 필드상의 승산기를 제공하는데 있다.Another object of the present invention is to provide a multiplier on a gallois field with a simple circuit configuration.

상기 목적을 달성하기 위한 본 발명의 갈로이스 필드상의 승산기는 소정 원시 다항식(P(X))을 이용하여 발생시킨 2M개의 M비트 데이타로 이루어진 갈로이스 필드에 속하는 피승수 데이타 및 승수 데이타를 승산하는 장치에 있어서, 상기 승수 데이타의 비트(M)를 일정 비율로 나눈 비트(M/N)와 상기 피승수 데이타의 비트(M)를 M×(M/N)의 승산규칙에 따라 비트별로 논리곱을 수행하는 복수의 논리수단, 상기 복수의 논리 수단의 각 출력값을 가산하여 승산 결과값을 출력하는 가산수단을 구비한 것을 특징으로 하는 것과, 원시 다항식(P(X))을 이용하여 발생시킨 2M개의 M비트 데이타로 이루어진 갈로이스 필드상에 속하는 피승수 데이타(A) 및 승수 데이타(B)를 승산하는 승산기에 있어서, 상기 승수 데이타(B)의 비트(M)를 2등분하여 등분별 각 소정수의 비트에 대하여 상기 피승수 데이타(A)의 전비트(M)를 승산규칙에 따라 승산하기 위한 곱셈수단, 2비트 클럭신호의 첫번째 클럭에 응답하여 상기 곱셈수단의 출력 데이타의 전비트(M)를 저장하기 위한 저장수단, 2비트 클럭신호의 두번째 클럭에 응답하여 상기 곱셈수단의 출력 데이타의 전비트(M)와 상기 저장수단으로부터 출력되는 출력데이타의 전비트(M)를 입력하여 M+NX2의 가산규칙에 따라 가산하기 위한 가산수단을 구비하는 것을 특징으로 한다.The multiplier on the gallois field of the present invention for achieving the above object multiplies the multiplier data and the multiplier data belonging to the gallois field of 2M M-bit data generated using a predetermined raw polynomial (P (X)). A logical multiplication of bits M / N obtained by dividing bits M of the multiplier data by a predetermined ratio and bits M of the multiplier data according to a multiplication rule of M × (M / N) is performed. A plurality of logic means, and an addition means for adding up respective output values of the plurality of logic means and outputting a multiplication result value; and 2M M bits generated by using a primitive polynomial (P (X)). In the multiplier for multiplying multiplier data (A) and multiplier data (B) belonging to a gallois field consisting of data, the bits (M) of the multiplier data (B) are divided into two and each bit is divided into a predetermined number of bits. Multiplication means for multiplying all bits M of the multiplicative data A according to a multiplication rule, and storing for storing all bits M of output data of the multiplication means in response to a first clock of a 2-bit clock signal Means, inputting all bits M of the output data of the multiplication means and all bits M of the output data output from the storage means in response to the second clock of the 2-bit clock signal to the addition rule of M + NX 2 . And an adding means for adding accordingly.

첨부된 도면을 참고로 하여 본 발명의 갈로이스 필드상의 승산기를 설명하면 다음과 같다.Referring to the accompanying drawings, a multiplier on a gallois field according to the present invention will be described.

본 발명은 원시 다항식 P(X)=1+X2+X3+X4+X8을 갖는 갈로이스 필드(GF(28))상에서의 승산기를 예로 들어 설명하기로 한다. 여기에서, 원시 다항식 P(X)는 갈로이스 필드상의 원시원(primitive polynomial)으로 P(a)=0의 값을 가지므로 상술한 원시 다항식은 a8+1+a2+a3+a4과 같이 표현될 수 있다.The present invention will be described taking as an example a multiplier on a gallois field (GF (2 8 )) having the primitive polynomial P (X) = 1 + X 2 + X 3 + X 4 + X 8 . Here, the primitive polynomial P (X) is a primitive polynomial on the Galois field and has a value of P (a) = 0. Thus, the primitive polynomial described above is a 8 + 1 + a 2 + a 3 + a 4. It can be expressed as

제1도는 본 발명에 따른 일실시예의 갈로이스 필드상의 승산기의 블럭도이다.1 is a block diagram of a multiplier on a galloise field in one embodiment according to the present invention.

제1도에 있어서, M튜플(tuple, 또는 M비트)의 A백터를 피승수 데이타로 하고 M튜플(또는 M비트)의 8벡터를 승수 데이타로 하여, 승수 데이타인 B벡터를 4로 나눈 승수 데이타(M/4)와 피승수 데이타를 입력신호로 하여 M×(M/4)의 승산규칙에 의하여 승산하는 제1,제2,제3,제4곱셈기(10,20,30,40), 곱셈기(10,20)(Q1,Q2)에서 출력되는 M튜플벡터와 N튜플벡터를 M×NX2의 가산규칙에 의하여 가산하는 가산기(50)(H1), 곱셈기(30,40)(Q3,Q4)에서 출력되는 M튜플벡터와 N튜플벡터를 가산기(50)(H1)에서와 같은 가산규칙에 의하여 가산하는 가산기(60)(H2), 가산기(50,60)(H1,H2)에서 출력되는 M튜플벡터와 N튜플벡터를 상술한 가산기(50,60)(H1,H2)에서와 같은 가산 규칙에 의하여 가산하는 가산기(70)(H3)로 구성되어 있다.In FIG. 1, multiplier data obtained by dividing B vector, which is multiplier data, by using A vector of M tuple (or M bit) as multiplicative data and 8 vectors of M tuple (or M bit) as multiplier data. First, second, third, and fourth multipliers (10, 20, 30, 40) and multipliers multiplying (M / 4) and multiplicative data as input signals by a multiplication rule of M × (M / 4) An adder 50 (H 1 ) and a multiplier (30,40) (10, 20) which adds the M tuple vector and the N tuple vector output from (10,20) (Q 1 , Q 2 ) according to the addition rule of M × NX 2 ; Adder 60 (H 2 ), adder 50, 60 (adding M tuple vector and N tuple vector output from Q 3 , Q 4 ) by the same addition rule as in adder 50 (H 1 ) ( It consists of an adder 70 (H 3 ) which adds M tuple vectors and N tuple vectors output from H 1 , H 2 ) by the same addition rule as in adders 50, 60 (H 1 , H 2 ). It is.

M튜플을 8비트로 한 경우의 동작을 설명하면 다음과 같다.The operation when the M tuple is 8 bits will be described as follows.

곱셈기(10)(Q1)는 8비트의 A벡터와 8/4=2비트의 B벡터를 입력신호로 하여 아래의 식(1)과 같은 승산을 수행하여 M비트의 데이타를 출력한다.The multiplier 10 (Q 1 ) outputs M-bit data by multiplying an 8-bit A vector and an 8/4 = 2-bit B vector as input signals as shown in Equation (1) below.

여기에서, 승산 대상이 되는 승수 데이타는 상기 식(1)에서 보인 바와 같이 최하위 비트(B0)와 그 다음 순위의 비트(B1)이 된다.Here, the multiplier data to be multiplied is the least significant bit (B 0 ) and the next order bit (B 1 ), as shown in Equation (1) above.

곱셈기(20)(Q2)는 곱셈기(10)(Q1)로 인가되는 8비트의 A벡터와 곱셈기(10)(H10)로 인가되는 2비트의 다음 순위에 해당되는 2비트데이타를 입력신호로 하여 아래의 식(2)와 같이 승산을 수행하여 N비트의 데이타를 출력한다. 여기에서, M과 N비트는 동일한 비트이나 승산 대상이 되는 승수 데이타가 다르므로 다르게 표기하였다. 곱셈기(20)(Q2)의 승산기 대상이 되는 승수 데이타는 곱셈기(10)(Q1)로 인가된 데이타의 그 다음 순위의 비트 데이타(B)와 그 다음 순위의 비트 데이타(B3)가 된다.The multiplier 20 (Q 2 ) inputs 8-bit A vector applied to the multiplier 10 (Q 1 ) and 2-bit data corresponding to the next rank of 2 bits applied to the multiplier 10 (H 10 ). As a signal, multiplication is performed as shown in Equation (2) below to output N bits of data. Here, the M and N bits are expressed differently because the same bits or multiplier data to be multiplied are different. The multiplier data subject to the multiplier of the multiplier 20 (Q 2 ) is the bit data B of the next rank of the data applied to the multiplier 10 (Q 1 ) and the bit data B 3 of the next rank. do.

곱셈기(30)(Q3)는 곱셈기(20)(Q2)로 인가되는 8비트의 A벡터와 곱셈기(20)(Q2)로 인가된 2비트의 다음 순위에 해당하는 2비트 데이타(B4,B5)를 입력신호로 하여 아래의 식(3)과 같이 승산을 수행하여 M비트의 데이타를 출력한다.A multiplier (30) (Q 3) is 2-bit data corresponding to the next order of the two bits applied to the multiplier (20) (Q 2) A vector of eight bits is applied to a multiplier (20) (Q 2) ( B 4 , B 5 ) is multiplied by the following equation (3) to output M-bit data.

곱셈기(40)(Q4)는 곱셈기(30)(Q3)로 인가되는 8비트의 A벡터와 곱셈기(30)(Q)로 인가된 2비트의 다음 순위에 해당되는 2비트 데이타를 입력신호로 하여 아래의 식(4)과 같이 승산을 수행하여 N비트의 데이타를 출력한다.The multiplier 40 (Q 4 ) inputs an 8-bit A vector applied to the multiplier 30 (Q 3 ) and 2-bit data corresponding to the next rank of 2 bits applied to the multiplier 30 (Q). Multiply as shown in Equation (4) below to output N bits of data.

곱셈기(10)(Q1)에서 출력되는 M튜플 데이타와 곱셈기(20)(Q)에서 출력되는 M튜플 데이타는 가산기(50)(H1)로 인가되어 아래의 식(5)와 같이 덧셈을 수행한다.The M tuple data output from the multiplier 10 (Q 1 ) and the M tuple data output from the multiplier 20 (Q) are applied to the adder 50 (H 1 ) and added as shown in Equation (5) below. Perform.

여기에서, 곱셈기(20)(Q2)에서 출력된 M튜플의 데이타의 계수가 X2인 것은 곱셈기(20)(Q2)에서 승산 수행시 인가된 2비트의 B벡터 데이타의 차수는 실질적으로 X2와 X3이나 수행된 차수는 X0와 X1으로 이루어져 있기 때문에 덧셈시 이의 계수의 차수를 감안하기 위한 것이다. 이와 같이 가산된 데이타는 M튜플의 벡터로 출력된다.Here, the coefficient of the data of the M tuple output from the multiplier 20 (Q 2 ) is X 2 , so that the order of the 2-bit B vector data applied upon multiplication in the multiplier 20 (Q 2 ) is substantially equal. Since X 2 and X 3 or the order performed consist of X 0 and X 1 , this is to take into account the order of its coefficient when adding. The added data is output as a vector of M tuples.

가산기(60)(H2)는 곱셈기(30)(Q3)에서 출력된 M튜플의 벡터값과 곱셈기(40)(Q4)에서 출력된 N튜플의 벡터값을 아래의 식(6)과 같이 가산을 수행한다.The adder 60 (H 2 ) calculates the vector value of the M tuple output from the multiplier 30 (Q 3 ) and the vector value of the N tuple output from the multiplier 40 (Q 4 ) with the following equation (6). Perform the addition together.

여기에서, 곱셈기(40)(Q4)에서 출력된 N튜플의 벡터값에 대한 계수의 차수를 X2로 하여 덧셈한 것은 가산기(50)(H1)에서와 같은 이유 때문이다. 가산기(50)(H1)및 가산기(60)(H2)에서 출력된 M튜플의 벡터값과 N튜플의 벡터값은 가산기(70)(H3)에서 가산기(50)(H1) 및 가산기(60)(H2)에서 수행된 방법과 동일하게[M+NX2]로 덧셈을 수행한다.The reason why the order of the coefficient with respect to the vector value of the N tuple output from the multiplier 40 (Q 4 ) is added as X 2 is for the same reason as in the adder 50 (H 1 ). The adder 50 (H 1) and an adder (60) (H 2) a vector value and a vector value of the N-tuple of M tuple adder 50 in the adder (70) (H 3) output from the (H 1) and The addition is performed with [M + NX 2] in the same manner as the method performed in the adder 60 (H 2 ).

이와같은 곱셈기(10,20,30,40)(Q1,Q2,Q3,Q4)는 상술한 식(1)-(4)에 나타낸 바와 같이 동일한 논리회로로 이루어지고, 가산기(50,60,70)(H1,H2,H3)역시 상술한 식(5),(6)에서도 알수 있는 바와 같이 동일한 논리회로로 이루어진다.Such multipliers 10 , 20 , 30 and 40 (Q 1 , Q 2 , Q 3 and Q 4 ) are made up of the same logic circuit as shown in equations (1) to (4) described above, and adder 50 (60, 70) (H 1 , H 2 , H 3 ) also constitute the same logic circuit as can be seen in the above formulas (5) and (6).

제2도는 본 발명의 갈로이스 필드의 승산기의 다른 실시예의 블럭도이다.2 is a block diagram of another embodiment of a multiplier of a gallois field of the present invention.

N튜플의 B벡터를 2로 나누어 승산처리를 하는 경우이다. 여기에서도, 제1도에서와 마찬가지로 M튜플을 8비트로 한 경우를 예를 들어 설명하기로 한다. 따라서, 인가되는 M튜플의 A벡터의 데이타와 N튜플의 B벡터의 데이타는 8비트가 되고, B벡터는 2로 나뉘어지므로 4비트의 데이타가 인가된다.This is the case of multiplying the B vector of an N tuple by two. Here, as in FIG. 1, the case where the M tuple is 8 bits will be described as an example. Therefore, the data of the A vector of the M tuple and the data of the B vector of the N tuple become 8 bits, and since the B vector is divided into two, four bits of data are applied.

곱셈기(80),Q5)는 인가되는 8비트의 A벡터와 4비트의 B벡터의 데이타를 아래의식(7)과 같은 승산 규칙에 의하여 승산하여 M튜플의 데이타를 출력한다.The multipliers 80 and Q 5 multiply the data of the applied 8-bit A vector and the 4-bit B vector by the multiplication rule as shown in Equation (7) below to output data of the M tuple.

곱셈기(90)(Q6)에 인가되는 8비트의 A벡터와 곱셈기(80)(Q5)에 인가되는 4비트의 B벡터의 다음 순위에 해당되는 4비트의 B벡터의 데이타를 입력신호로 하여 아래의 식(8)과 같은 승산 규칙에 따라 수행하여 N튜플의 데이타를 출력한다.Data of the 4-bit B vector corresponding to the next rank of the 8-bit A vector applied to the multiplier 90 (Q 6 ) and the 4-bit B vector applied to the multiplier 80 (Q 5 ) are input signals. The data of N tuples is output by performing the multiplication rule as shown in Equation (8) below.

가산기(100)(H4)는 곱셈기(80)(Q5)에서 출력된 M튜플의 벡터값과 곱셈기(90)(Q6)에서 출력된 N튜플의 벡터값을 아래의 식(9)의 가산규칙에 의하여 수행하여 M튜플의 데이타를 출력한다.The adder 100 (H 4 ) calculates the vector value of the M tuple output from the multiplier 80 (Q 5 ) and the vector value of the N tuple output from the multiplier 90 (Q 6 ). Performs the addition rule and outputs the data of M tuples.

제3도는 본 발명에 따른 갈로이스 필드에서의 승산기의 또 다른 실시예의 블럭도이다.3 is a block diagram of another embodiment of a multiplier in a gallois field according to the present invention.

제1도의 곱셈기(10,20,30,40)(Q1,Q2,Q3,Q4)에서와 같이 인가되는 A벡터와 B벡터신호에 대하여 각각 곱셈을 하기 위한 곱셈기(111,112,113,114)(Q7,Q8,Q9,Q10)를 구비하는 곱셈수단(110), 곱셈기(111,112,113,114)(Q7,Q8,Q9,Q10)에서 출력되는 4개의 출력신호(M,N,W,Y)를 입력신호로 하여 아래의 식(10)과 같이 가산규칙에 의하여 가산하기 위한 가산기(120)(H5)으로 구성되어 있다.Multipliers (111, 112, 113, 114) (Q, 1 , Q 2 , Q 3 , Q 4 ) for multiplying the A vector and B vector signals applied as shown in FIG. 7, Q 8, Q 9, Q 10), multiplying means (110), a multiplier (111,112,113,114) (Q 7, having a Q 8, Q 9, 4 of the output signal output from Q 10) (M, N, W And an adder 120 (H 5 ) for adding according to the addition rule as shown in Equation (10) below.

H5=M+NX2+WX4+YX6....................................................................(10)H 5 = M + NX 2 + WX 4 + YX 6 ..................... ............................... (10)

상술한 제1도에서 제3도에 나타낸 회로를 1비트 클럭을 사용하는 갈로이스 필드상의 승산기를 설명한 것인데 반해 후술되는 승산기는 2비트 클럭을 사용하는 갈로이스 필드상의 승산기를 설명하는 것이다. 2비트 클럭은 1비트 클럭의 두배의 주파수를 가지는 클럭을 사용한다는 것이다.While the circuits shown in FIG. 1 to FIG. 3 described above describe the multipliers on the galois field using a 1-bit clock, the multipliers described below describe the multipliers on the galois field using a 2-bit clock. The two-bit clock uses a clock that has twice the frequency of the one-bit clock.

제4도는 본 발명의 바람직한 실시예의 갈로이스 필드상의 승산기의 블럭도이다.4 is a block diagram of a multiplier on a gallois field in a preferred embodiment of the present invention.

제4도에 있어서, 갈로이스 필드상의 승산기는 곱셈기(200), 레지스터(210), 및 가산기(220)로 구성되어 있다.In Fig. 4, the multiplier on the gallois field is composed of a multiplier 200, a register 210, and an adder 220.

곱셈기(200)(Q11)는 M튜플의 A벡터와 M/2튜플의 B벡터의 곱셈을 갈로이스 필드상에서 수행하는 것이다. 곱셈을 수행하는 방법은 아래의 식(11)과 식(12)에 나타나 있다. 식(11)은 첫번째 클럭동안에 곱셈을 수행하는 방법이고, 식(12)는 두번째 클럭동안에 곱셈을 수행하는 방법이다.The multiplier 200 (Q 11 ) performs multiplication of the A vector of the M tuple and the B vector of the M / 2 tuple on the Galois field. The method of performing the multiplication is shown in equations (11) and (12) below. Equation (11) is a method of performing multiplication during the first clock, and Equation (12) is a method of performing multiplication during the second clock.

레지스터(210)는 첫번째 클럭동안에 계산된 결과를 두번째 클럭동안의 곱셈이 끝날 때까지 저장한다. 레지스터(210)으로 입력되는 2비트 클럭신호는 1비트 클럭신호의 주파수의 2배의 주파수를 가지는 클럭신호로, 그 첫번째 클럭은 2비트 클럭신호의 첫번째 주기에 발생되는 클럭신호이고, 그 두번째 클럭은 2비트 클럭신호의 두번째 주기에 발생되는 클럭신호를 말한다.The register 210 stores the result calculated during the first clock until the multiplication for the second clock is completed. The 2-bit clock signal input to the register 210 is a clock signal having a frequency twice the frequency of the 1-bit clock signal. The first clock is a clock signal generated in the first period of the 2-bit clock signal, and the second clock signal. Is a clock signal generated in the second period of the 2-bit clock signal.

가산기(220)(H6)는 레지스터(210)으로 부터 출력되는 M튜플의 데이타와 2비트 클럭신호의 2번째 클럭에서 계산된 곱셈기(200)의 계산된 N튜플의 출력 데이타를 입력하여 M+NX2의 가산규칙에 따라 갈로이스 필드상에서 계산하여 아래의 식(13)에 나타낸 것과 같은 M튜플의 데이타를 출력한다.The adder 220 (H 6 ) inputs the data of the M tuple output from the register 210 and the output data of the calculated N tuple of the multiplier 200 calculated at the second clock of the 2-bit clock signal. According to the addition rule of NX 2 , calculation is performed on the gallois field and data of M tuple as shown in Equation (13) below is output.

제4도에 나타낸 2비트 클럭을 사용하는 갈로이스 필드상의 승산기는 1비트 클럭을 사용하는 승산기보다 하드웨어의 크기를 줄일 수 있다는 단점이 있다. 따라서, 1비트 클럭을 사용하는 제1,2,3도에 나타낸 승산기보다 간단한 회로 구성으로 승산기를 수행할 수 있는 더 바람직한 실시예의 승산기이다.The multiplier on the galois field using the 2-bit clock shown in FIG. 4 has the disadvantage of reducing the size of hardware than the multiplier using the 1-bit clock. Therefore, it is a multiplier of a more preferred embodiment that can perform the multiplier with a simple circuit configuration than the multiplier shown in Figs. 1, 2, 3 using a 1-bit clock.

따라서, 본 발명은 인가되는 2가지 벡터신호중 승수 데이타를 소정 비율로 나누어 피승수 데이타와 1비트 또는 2비트 클럭단위로 승산하고 승산된 데이타를 가산하도록 함으로써 곱셈기와 덧셈기의 2가지 모듈을 사용하여 회로를 구성하므로 하드웨어 제작이 용이하고, 1비트 또는 2비트 클럭단위로 승산이 이루어지므로 승산속도 역시 고속처리가 가능하다.Accordingly, the present invention divides the multiplier data of two applied vector signals by a predetermined ratio to multiply the multiplicative data by one or two bit clock units and adds the multiplied data so that the circuit can be implemented using two modules, a multiplier and an adder. The hardware makes it easy to manufacture hardware, and multiplication is performed in units of 1-bit or 2-bit clocks, so the multiplication speed can also be processed quickly.

Claims (8)

원시 다항식(P(X))을 이용하여 발생시킨 2M개의 M비트 데이타로 이루어진 갈로이스 필드에 속하는 피승수 데이타(A) 및 승수 데이타(B)를 승산하기 위한 갈로이스 필드상의 승산기에 있어서, 상기 승수 데이타(B)의 비트(M)을 일정 비율로 나눈 비트(M/N)와 상기 피승수 데이타(A)의 비트(M)를 M×(M/N)의 승산 규칙에 따라 비트별로 논리곱을 수행하기 위한 복수개의 승산수단; 상기 복수개의 승산수단의 각 출력값을 가산하여 승산 결과값을 출력하기 위한 가산수단을 구비한 것을 특징으로 하는 갈로이스 필드상의 승산기.In the multiplier on the galois field for multiplying the multiplicative data (A) and multiplier data (B) belonging to the gallois field consisting of 2M M-bit data generated using the raw polynomial (P (X)), the multiplier A bitwise multiplication of bits M / N obtained by dividing bits M of data B by a predetermined ratio and bits M of the multiplicative data A is performed by bit by bit according to a multiplication rule of M × (M / N). A plurality of multiplication means for performing; And multiplication means for adding each output value of said plurality of multiplication means to output a multiplication result value. 제1항에 있어서, 상기 가산수단은 상기 복수개의 승산수단에서 출력되는 값의 계수의 차수를 조절하여 상기 가산을 수행함을 특징으로 하는 갈로이스 필드상의 승산기.2. A multiplier on a galois field according to claim 1, wherein said adding means performs said addition by adjusting the order of coefficients of values output from said plurality of multiplication means. 원시 다항식(P(X))을 이용하여 발생시킨 2M개의 M비트 데이타로 이루어진 갈로이드 필드에 속하는 피승수 데이타(A) 및 승수 데이타(B)를 승산하기 위한 갈로이스 필드상의 승산기에 있어서, 상기 승수 데이타(B)의 비트(M)를 4등분함에 따른 최하위 1등분에 해당되는 소정수의 비트(B0,B1)와 상기 피승수 데이타(A)의 전비트(M)를 입력신호로 하여 상기 피승수 데이타에 A×(B0+B1X)의 승산 규칙에 의하여 곱셈하는 제1곱셈수단; 상기 승수 데이타(B)의 비트(M)중 상기 제1곱셈수단으로 인가된 다음 순위의 1등분에 해당하는 소정수의 비트(B2,B3)와 상기 피승수 데이타(A)의 전비트(M)를 입력신호로 하여 A×(B2+B3X)의 승산규칙에 의하여 곱셈하는 제2곱셈수단; 상기 승수 데이타(B)의 비트(M)중 상기 제2곱셈수단으로 인가된 비트의 다음 순위의 1등분에 해당되는 소정수의 비트(B4,B5)와, 상기 피승수 데이타(A)의 전비트(M)을 입력신호로 하여 A×(B4+B5X)의 승산규칙에 의하여 곱셈하는 제3곱셈수단; 상기 승수 데이타(B)의 비트(M)중 상기 제3곱셈수단으로 인가된 비트의 다음 순위의 1등분에 해당하는 소정수의 비트(B6,B7)와, 상기 피승수 데이타(A)의 전비트(M)를 입력신호로 하여 A×(B6+B7X)의 승산규칙에 의하여 곱셈하는 제4곱셈수단; 상기 제1곱셈수단에서 출력되는 M튜플 데이타와 제2곱셈수단에서 출력되는 N튜플 데이타를 M+NX2의 가산규칙에 의하여 가산하는 제1가산수단; 상기 제3곱셈수단에서 출력되는 M튜플 데이타와 제4곱셈수단에서 출력되는 N튜플 데이타를 M+NX2의 가산규칙에 의하여 가산하는 제2가산수단; 및 상기 제1가산수단에서 출력되는 M튜플 데이타와 제2가산수단에서 출력되는 N튜플 데이타를 M+NX2의 가산 규칙에 의하여 가산하는 제3가산수단을 구비한 것을 특징으로 하는 갈로이스 필드상의 승산기.In the multiplier on the galois field for multiplying the multiplicative data (A) and the multiplier data (B) belonging to the colloidal field consisting of 2M M-bit data generated using the raw polynomial (P (X)), the multiplier The predetermined number of bits (B 0 , B 1 ) corresponding to the least significant one by dividing the bit (M) of the data (B) into four equal parts and all the bits (M) of the multiplicative data (A) are input signals. First multiplication means for multiplying the multiplicative data by the multiplication rule of A × (B 0 + B 1 X); Of the bits M of the multiplier data B, a predetermined number of bits B 2 and B 3 corresponding to one-third of the next rank applied to the first multiplication means and all bits of the multiplier data A ( Second multiplication means for multiplying M by the multiplication rule of A × (B 2 + B 3 X); A predetermined number of bits B 4 and B 5 corresponding to one-quarters of the next rank of the bit applied to the second multiplication means among the bits M of the multiplier data B, and the multiplier data A Third multiplication means for multiplying all bits M as an input signal according to a multiplication rule of A × (B 4 + B 5 X); A predetermined number of bits B 6 and B 7 corresponding to one-quarters of the next rank of the bit applied to the third multiplication means among the bits M of the multiplier data B, and the multiplier data A Fourth multiplication means for multiplying all bits M as an input signal according to a multiplication rule of A × (B 6 + B 7 X); First adding means for adding M tuple data output from the first multiplication means and N tuple data output from the second multiplication means according to an addition rule of M + NX 2 ; Second adding means for adding M tuple data output from the third multiplication means and N tuple data output from the fourth multiplication means by an addition rule of M + NX 2 ; And third adding means for adding M tuple data output from said first adding means and N tuple data output from said second adding means by means of an addition rule of M + NX 2 . Multiplier. 원시 다항식(P(X))을 이용하여 발생시킨 2M개의 M비트 데이타로 이루어진 갈로이스 필드상에 속하는 피승수 데이타(A) 및 승수 데이타(B)를 승산하는 승산기에 있어서, 상기 승수 데이타(B)의 비트(M)를 2등분하고 하위 1등분에 해당되는 비트(B0,B1,B2,B3)와 상기 피승수 데이타(A)의 전비터(M)를 입력신호로 하여 A×(B0+B1X+B2X2+B3X3)의 승산규칙에 의하여 곱셈하는 제1곱셈수단; 상기 승수 데이타(B)의 비트(M)중 나머지 상위 1등분에 해당되는 비트(B4,B5,B6,B7)와 상기 피승수 데이타(A)의 전비트(M)을 입력신호로 하여 A×(B4+B5X+B6X2+B7X3)의 승산규칙에 의하여 곱셈하는 제2곱셈수단; 상기 제1곱셈수단에서 출력되는 M튜플 데이타와 제2곱셈수단에서 출력되는 N튜플 데이타를 M+NX2의 가산규칙에 의하여 가산하는 가산수단을 구비하는 것을 특징으로 하는 갈로이스 필스상의 승산기.A multiplier for multiplying multiplier data (A) and multiplier data (B) belonging to a gallois field consisting of 2M M-bit data generated using a raw polynomial (P (X)), wherein the multiplier data (B) The bit M is divided into two and the bits B 0 , B 1 , B 2 , and B 3 corresponding to the lower first portion and all bitters M of the multiplicand data A are input signals A × (B First multiplication means for multiplying according to a multiplication rule of 0 + B 1 X + B 2 X 2 + B 3 X 3 ; The bits B 4 , B 5 , B 6 , and B 7 , which correspond to the remaining upper ones of the bits M of the multiplier data B, and all bits M of the multiplier data A as input signals. Second multiplication means for multiplying according to a multiplication rule of A × (B 4 + B 5 X + B 6 X 2 + B 7 X 3 ); And multiplication means for adding M tuple data output from said first multiplication means and N tuple data output from said second multiplication means by an addition rule of M + NX 2 . 원시 다항식(P(X))을 이용하여 발생시킨 2M개의 M비트 데이타로 이루어진 갈로이스 필드상에 속하는 피승수 데이타(A) 및 승수 데이타(B)를 승산하는 승산기에 있어서, 상기 승수 데이타(B)의 비트(M)를 4등분하여 등분별 각 소정수의 비트에 대하여 상기 피승수 데이타(A)의 전비트(M)를 승산규칙에 따라 승산하기 위한 곱셈수단; 상기 곱셈수단에서 4등분된 상기 승수 데이타(B)에 대응하는 4개의 승산 결과값(M,N,W,Y)를 M+NX2+WX4+YX6의 가산규칙에 따라 가산하기 위한 가산수단을 구비하는 것을 특징으로 하는 갈로이스 필스상의 승산기.A multiplier for multiplying multiplier data (A) and multiplier data (B) belonging to a gallois field consisting of 2M M-bit data generated using a raw polynomial (P (X)), wherein the multiplier data (B) Multiplication means for multiplying the bits M by four and multiplying all the bits M of the multiplicand data A according to a multiplication rule by a predetermined number of bits for each equal division; An addition for adding four multiplication result values (M, N, W, Y) corresponding to the multiplier data B divided by the multiplication means according to the addition rule of M + NX 2 + WX 4 + YX 6 A multiplier on a gallois-pils, comprising means. 제5항에 있어서, 상기 곱셈수단은 상기 승수 데이타(B)의 비트(M)를 4등분함에 따른 최하위의 1등분에 해당되는 소정수의 비트(B0,B1)와 상기 피승수 데이타(A)의 전비트(M)를 입력신호로 하여 A×(B0+B1X)의 승산 규칙에 의하여 곱셈하는 제1곱셈기; 상기 승수 데이타(B)의 비트(M)중 상기 제1곱셈기로 인가된 다음 순위의 1등분에 해당하는 소정수의 비트(B2,B3)와 상기 피승수 데이타의 전비트(M)을 입력신호로 하여 A×(B2+B3X)의 승산규칙에 의하여 곱셈하는 제2곱셈기; 상기 승수 데이타(B)의 비트(M)중 상기 제2곱셈기로 인가된 비트의 다음 순위의 1등분에 해당되는 소정수의 비트(B4,B5)와 상기 피승수 데이타(A)의 전비트(M)를 입력신호로 하여 A×(B4+B5X)의 승산규칙에 의하여 곱셈하는 제3곱셈기; 상기 승수 데이타(B)의 비트(M)중 상기 제3곱셈기로 인가된 비트의 다음 순위의 1등분에 해당되는 소정수의 비트(B6,B7)와 상기 피승수 데이타(A)의 전비트(M)를 입력신호로 하여 A×(B6+B7X)의 승산규칙에 의하여 곱셈하는 제4곱셈기로 이루어지는 것을 특징으로 하는 갈로이스 필드상의 승산기.6. The multiplication means according to claim 5, wherein the multiplication means comprises a predetermined number of bits (B 0 , B 1 ) and the multiplicative data (A) corresponding to the lowest one equal parts of the bits (M) of the multiplier data (B). A first multiplier for multiplying by a multiplication rule of A × (B 0 + B 1 X) using all bits M of?) As input signals; Among the bits M of the multiplier data B, a predetermined number of bits B 2 and B 3 corresponding to one second of the next rank applied to the first multiplier and all bits M of the multiplier data are input. A second multiplier for multiplying by a multiplication rule of A × (B 2 + B 3 X) as a signal; Of the bits M of the multiplier data B, a predetermined number of bits B 4 and B 5 corresponding to the first rank of the next rank of the bit applied to the second multiplier and all bits of the multiplier data A A third multiplier for multiplying (M) by the multiplication rule of A × (B 4 + B 5 X); Of the bits M of the multiplier data B, a predetermined number of bits B 6 and B 7 corresponding to the first rank of the next rank of the bit applied to the third multiplier and all bits of the multiplier data A A multiplier on a galois field, characterized by comprising a fourth multiplier multiplying according to a multiplication rule of A × (B 6 + B 7 X) with (M) as the input signal. 원시 다항식(P(X))을 이용하여 발생시킨 2M개의 M비트 데이타로 이루어진 갈로이스 필드상에 속하는 피승수 데이타(A) 및 승수 데이타(B)를 승산하는 승산기에 있어서, 상기 승수 데이타(B)의 비트(M)를 2등분하여 등분별 각 소정수의 비트에 대하여 상기 피승수 데이타(A)의 전비트(M)를 승산규칙에 따라 승산하기 위한 곱셈수단; 2비트 클럭신호의 첫번째 클럭에 응답하여 상기 곱셈수단의 출력 데이타의 전비트(M)를 저장하기 위한 저장수단; 2비트 클럭신호의 두번째 클럭에 응답하여 상기 곱셈수단의 출력 데이타의 전비트(M)와 상기 저장수단으로 부터 출력되는 출력데이타의 전비트(M)를 입력하여 M+NX2의 가산규칙에 따라 가산하기 위한 가산수단을 구비하는 것을 특징으로 하는 갈로이스 필스상의 승산기.A multiplier for multiplying multiplier data (A) and multiplier data (B) belonging to a gallois field consisting of 2M M-bit data generated using a raw polynomial (P (X)), wherein the multiplier data (B) Multiplication means for dividing the bits M into two and multiplying all the bits M of the multiplicand data A according to a multiplication rule by a predetermined number of bits for each equal division; Storage means for storing all bits M of the output data of the multiplication means in response to a first clock of a 2-bit clock signal; In response to the second clock of the 2-bit clock signal, all bits M of the output data of the multiplication means and all bits M of the output data output from the storage means are input according to the addition rule of M + NX 2 . A multiplier on a galois-fils comprising a adding means for adding. 제7항에 있어서, 상기 2비트 클럭신호는 1비트 클럭신호의 주파수의 2배의 주파수를 가지는 클럭신호로, 그 첫번째 클럭은 2비트 클럭신호의 첫번째 주기에 발생되는 클럭신호이고, 그 두번째의 클럭은 2비트 클럭신호의 두번째 주기에 발생되는 클럭신호인 것을 특징으로 하는 갈로이스 필스상의 승산기.8. The clock signal according to claim 7, wherein the 2-bit clock signal is a clock signal having a frequency twice the frequency of the 1-bit clock signal, and the first clock is a clock signal generated in the first period of the 2-bit clock signal. And a clock is a clock signal generated in a second period of the 2-bit clock signal.
KR1019940012524A 1993-11-29 1994-06-03 Multiplexer KR970003979B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR930025689 1993-11-29
KR93-25689 1993-11-29

Publications (2)

Publication Number Publication Date
KR950016069A KR950016069A (en) 1995-06-17
KR970003979B1 true KR970003979B1 (en) 1997-03-24

Family

ID=19369247

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940012524A KR970003979B1 (en) 1993-11-29 1994-06-03 Multiplexer

Country Status (3)

Country Link
JP (1) JPH07200332A (en)
KR (1) KR970003979B1 (en)
FR (1) FR2713794B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2796736B1 (en) * 1999-07-20 2001-11-30 St Microelectronics Sa METHOD FOR PERFORMING ACCUMULATION MULTIPLICATION IN A GALOIS BODY
JP5127241B2 (en) * 2007-01-19 2013-01-23 三菱電機株式会社 Residue calculation device and residue calculation method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58219852A (en) * 1982-06-15 1983-12-21 Toshiba Corp Correcting circuit of error
FR2605769B1 (en) * 1986-10-22 1988-12-09 Thomson Csf POLYNOMIAL OPERATOR IN THE GALOIS BODIES AND DIGITAL SIGNAL PROCESSING PROCESSOR COMPRISING SUCH AN OPERATOR
US4833678A (en) * 1987-07-22 1989-05-23 Cyclotomics, Inc. Hard-wired serial Galois field decoder

Also Published As

Publication number Publication date
FR2713794A1 (en) 1995-06-16
KR950016069A (en) 1995-06-17
FR2713794B1 (en) 1996-04-19
JPH07200332A (en) 1995-08-04

Similar Documents

Publication Publication Date Title
EP1449063B1 (en) Galois field multiplier system
EP2283417B1 (en) Implementation of arbitrary galois field arithmetic on a programmable processor
US4797848A (en) Pipelined bit-serial Galois Field multiplier
US20030110196A1 (en) Galois field multiply/ multiply-add/multiply accumulate
US6467063B1 (en) Reed Solomon coding apparatus and Reed Solomon coding method
EP2831999B1 (en) Parallel encoding for non-binary linear block code
US5272661A (en) Finite field parallel multiplier
Ji et al. Fast parallel CRC algorithm and implementation on a configurable processor
CN114063973B (en) Galois field multiplier and erasure coding and decoding system
US11012094B2 (en) Encoder with mask based galois multipliers
US4216531A (en) Finite field multiplier
KR970003979B1 (en) Multiplexer
GB2262637A (en) Padding scheme for optimized multiplication.
US5964826A (en) Division circuits based on power-sum circuit for finite field GF(2m)
US7539719B2 (en) Method and apparatus for performing multiplication in finite field GF(2n)
CN113485751B (en) Method for performing Galois field multiplication, arithmetic unit and electronic device
US20020042804A1 (en) Parallel processing syndrome calculating circuit and reed-solomon decoding circuit
JPH10187471A (en) Combinational polynomial multiplier for galois area 256 operation
CN112631546A (en) KO-8 algorithm-based high-performance modular multiplier
JPH06276106A (en) Error correcting/decoding device
JP3129525B2 (en) Multiplication circuit over integers
JP2797569B2 (en) Euclidean circuit
KR100386979B1 (en) Method of paralleling bit serial multiplier for Galois field and a bit serial-parallel multipiler using thereof
WO2004059851A1 (en) An encoder for high rate parallel encoding
Vun et al. Sum of products: Computation using modular thermometer codes

Legal Events

Date Code Title Description
A201 Request for examination
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20080303

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee