KR970003979B1 - Multiplexer - Google Patents
Multiplexer Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods 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/72—Methods 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/724—Finite field arithmetic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/52—Multiplying; Dividing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/544—Methods 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/5443—Sum of products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/72—Indexing scheme relating to groups G06F7/72 - G06F7/729
- G06F2207/7209—Calculation 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
Description
제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)
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)
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)
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 |
-
1994
- 1994-06-03 KR KR1019940012524A patent/KR970003979B1/en not_active IP Right Cessation
- 1994-11-24 JP JP6290114A patent/JPH07200332A/en active Pending
- 1994-11-25 FR FR9414156A patent/FR2713794B1/en not_active Expired - Fee Related
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 |