KR960032231A - 승산기 및 곱합 연산 장치 - Google Patents
승산기 및 곱합 연산 장치 Download PDFInfo
- Publication number
- KR960032231A KR960032231A KR1019960003559A KR19960003559A KR960032231A KR 960032231 A KR960032231 A KR 960032231A KR 1019960003559 A KR1019960003559 A KR 1019960003559A KR 19960003559 A KR19960003559 A KR 19960003559A KR 960032231 A KR960032231 A KR 960032231A
- Authority
- KR
- South Korea
- Prior art keywords
- circuit
- output
- stage
- holding
- selector
- 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/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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/53—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
- G06F7/5324—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel partitioned, i.e. using repetitively a smaller parallel parallel multiplier or using an array of such smaller multipliers
-
- 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
- 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
- G06F7/523—Multiplying only
- G06F7/533—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even
- G06F7/5334—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product
- G06F7/5336—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm
- G06F7/5338—Reduction of the number of iteration steps or stages, e.g. using the Booth algorithm, log-sum, odd-even by using multiple bit scanning, i.e. by decoding groups of successive multiplier bits in order to select an appropriate precalculated multiple of the multiplicand as a partial product overlapped, i.e. with successive bitgroups sharing one or more bits being recoded into signed digit representation, e.g. using the Modified Booth Algorithm each bitgroup having two new bits, e.g. 2nd order MBA
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
본 발명은 회로 면적의 감소 연산 시간을 그다지 증가시키지 않고, 하드웨어량의 감소를 가능하게 하는 승산기를 제공하는 것을 목적으로 한다.
본 발명에 있어서, 글록 CLK의 전반의 ①에서 승산 에러이(6)를 16단 통과하여, 필요한 승산의 반의 연산을 행하며, 그 중간 결과를 래치회로(3)에 보존한다. 또, 클럭 CLK의 후반 ②에서는 보존된 중간 결과와 나머지 승산 어레이(6)의 16단의 통과분과의 연산을 행한다. 그리고, 다음의 클록 CLK의 전반 ③에서는 승산 어레이(6)로부터의 출력 결과를 가산하여 출력한다.
〔선택도〕제3도
Description
본 내용은 요부공개 건이므로 전문내용을 수록하지 않았음
제1도는 본 발명의 제1실시예를 도시한 승산기의 전체 구성도
제2도는 제1실시예의 승산 어레이의 각 단의 구성을 도시한 도면
제3도는 제1실시예의 승산기의 승상 동작을 도시한 도면
Claims (6)
- 피승수 데이타를 유지하는 피승수 유지회로(1)와, 승수 데이타의 상위로부터 소정 비트를 유지하는 승수유지회로(2)와, 클록의 전반 또는 후반에 의해 상기 승수 데이타의 하위로부터 소정 비트와 상기 승수 유지회로의 출력을 전환시키는 제1선택기(4)와, 중간합 데이타를 유지하는 중간합 유지회로(3)와, 상기 클록의 전반 또는 후반에 의해 초기치와 상기 중간합 유지회로의 출력을 전환시키는 제2선택기(5)와, 상기 제1선택기의 출력과 상기 피승수 유지회로의 출력에 기초하여 부분곱을 생성하는 복수단의 부분곱 생성회로(6a)와, 상기 제2선택기의 출력 또는 전단의 누적 가산회로의 출력과 상기각 단의 부분곱 생성회로의 출력에 기초하여 누적가산을 행하여 승산의 중간결과인 상기 중간합 데이타를 생성하는 복수단의 누적 가산회로(6b)와, 상기 누적 가산회로의 소정단의 출력과 상기 각 단의 누적 가산회로의 출력의 일부를 유지하는 누적 가산결과 유지회로(9)와, 상기 각 단의 누적 가산회로의 출력의 1부를 격납하는 출력 유지회로(7,8)를 갖는 승산기에 있어서, 상기 클록의 전반 또는 후반의 제1타이밍시에는, 상기 제1선택기에 의해 상기 승수 데이타의 하위로부터 소정 비트를 선택하고, 상기 제2선택기에 의해 상기 초기치를 선택하며, 상기 각단의 부분곱 생성회로는 상기 제1선택기의 출력 1비트와 상기 피승수 유지회로의 각 비트의 출력으로부터 부분곱을 생성하는 동시에, 상기 각 단의 누적 가산회로는 상기 제2선택기의 출력 또는 전단의 누적 가산회로의 출력과 상기 부분곱 생성회로의 출력과의 가산을 행하고, 그 소정단의 누적 가산회로의 출력을 상기 중간합 데이타로서 중간합 유지회로에 기록하고, 상기 각 단의 누적 가산회로의 출력의 소정 비트수를 상기 출력 유지회로의 소정의 비트 위치에 기록하며, 상기 클록이 전환된 클록 후반 또는 전반의 제2타이밍시에는, 상기 제1선택기에 의해 상기 승수 유지회로의 출력을 선택하고, 상기 제2선택기에 의해 상기 중간합 유지회로의 출력을 선택하며, 상기 각 단의 부분곱 생성회로는 상기 제1선택기의 출력 1비트와 상기 피승수 유지회로의 각 비트의 출력으로부터 부분곱을 생성하는 동시에, 상기 각 단의 누적 가산회로는 상기 제2선택기의 출력 또는 전단의 누적 가산회로의 출력과 상기 부분곱 생성회로의 출력의 가산을 행하고, 그 소정단의 누적 가산회로의 출력과 상기 각 단의 누적 가산회로의 출력의 소정 비트수를 상기 누적 가산결과 유지회로에 기록하는 것을 특징으로 하는 승산기.
- 피승수 데이타를 유지한 피승수 유지회로(21)와, 승수 데이타의 상위로부터 소정 비트를 유지하는 승수 유지회로(22)와, 클록의 전반 또는 후반에 의해 상기 승수 데이타의 하위로부터 소정 비트와 상기 승수 유지회로의 출력을 전환시키는 제1선택기(24)와, 상기 제1선택기의 출력을 부호화하는 부호화 회로(26), 중간합 데이타를 유지하는 중간합 유지회로(23)와, 상기 클록의 전반 또는 후반에 의해 초기치와 상기 중간합 유지회로의 출력을 전환시키는 제2선택기(25)와, 상기 부호화 회로의 출력과 상기 피승수 유지회로의 출력에 기초하여 부분곱을 생성하는 복수단의 부분곱 생성회로(28a)와, 상기 제2선택기의 출력 또는 전단의 누적 가산회로의 출력과 상기 각 단의 부분곱 생성회로의 출력에 기초하여 누적 가산을 행하여 승산의 중간 결과인 상기 중간합 데이타를 생성하는 복수단의 누적 가산회로(27b)와, 상기 누적 가산회로의 소정단의 출력과 상기 각 단의 누적 가산회로의 출력의 일부를 유지하는 누적 가산결과 유지회로(31)와, 상기 각 단의 누적 가산회로의 출력의 1부를 격납하는 출력 유지회로(29,30)를 갖는 승산기에 있어서, 상기 클록의 전반 또는 후반의 제1타이밍시에는, 상기 제1선택기에 의해 상기 승수 데이타의 하위로부터 소정 비트를 선택하고, 상기 제2선택기에 의해 상기 초기치를 선택하며, 상기 각 단의 부분곱 생성회로는 상기 부호화 회로의 부호화 결과와 상기 피승수 유지회로의 출력으로부터 부분곱을 생성하는 동시에, 상기 각 단의 누적 가산회로는 상기 제2선택기의 출력 또는 전단의 누적 가산회로의 출력과 상기 부분곱 생성회로의 출력과의 가산을 행하며, 그 소정단의 누적 가산회로의 출력을 상기 중간합 데이타로서 중간합 유지회로에 기록하고, 상기 각 단의 누적 가산회로의 출력의 소정 비트수를 상기 출력 유지회로의 소정의 비트위치에 기록하며; 상기 클록이 전환된 클록 후반 또는 전반의 제2타이밍시에는, 상기 제1선택기에 의해 상기 승수 유지회로의 출력을 선택하고, 상기 제2선택기에 의해 상기 중간합 유지회로의 출력을 선택하며, 상기 각 단의 부분곱 생성회로는 상기 부호화 회로의 출력과 상기 피승수 유지회로의 출력으로부터 부분곱을 생성하는 동시에, 상기 각 단의 누적 가산회로는 상기 제2선택기의 출력 또는 전단의 누적 가산회로의 출력과 상기 부분곱 생성회로의 출력과의 가산을 행하며, 그 소정단의 누적 가산회로의 출력과 상기 각 단의 누적 가산회로의 출력의 소정 비트수를 상기 누적 가산결과 유지회로에 기록하는 것을 특징으로 하는 승산기.
- 피승수 데이타를 유지하는 피승수 유지회로(21)와, 승수 데이타의 상위로부터 소정 비트를 유지하는 승수 유지회로(22)와, 클록의 전반 또는 후반에 의해 상기 승수 데이타의 하위로부터 소정 비트와 상기 승수 유지회로의 출력을 전환시키는 제1선택기(24)와, 상기 제1선택기의 출력을 부호화하는 부호화 회로(26)와, 상기 부호화 회로의 부호화 결과를 상기 클록의 논리치가 변화할 때에 유지하여 출력하는 부호화 결과 유지회로(41)와, 중간합 데이타를 유지하는 중간합 유지회로(23a)와, 상기 클록의 후반 또는 전반에 의해 초기치와 상기 중간합 유지회로의 출력을 전환시키는 제2선택기(25a)와, 상기 부호화 결과 유지회로의 출력과 상기 피승수 유지회로의 출력에 기초하여 부분곱을 생성하는 복수단의 부분곱 생성회로(27a)와, 상기 제2선택기의 출력 또는 전단의 누적 가산회로의 출력과 상기 각 단의 부분곱 생성회로의 출력에 기초하여 누적 가산을 행하여 승산의 중간결과인 상기 중간합 데이타를 생성하는 복수단의 누적 가산회로(27b)와, 상기 누적 가산회로의 소정단의 출력과 상기 각 단의 누적 가산회로의 출력의 일부를 유지하는 누적 가산결과 유지회로(31a)와, 상기 각 단의 누적 가산회로의 출력의 1부를 격납하는 출력 유지회로(29a, 39a)를 갖는 승산기에 있어서, 상기 클록의 전반 또는 후반의 제1타이밍시에는 , 상기 제1선택기에 의해 상기 승수 데이타의 하위로부터 소정 비트를 선택하고, 상기 부호화 회로는 상기 제1선택기의 출력의 부호화를 행하여 그 부호화 결과를 상기 부호화 결과 유지회로에 기록하며; 상기 클록이 전환된 클록 후반 또는 전반의 제2타이밍시에는, 상기 제2선택기에 의해 상기 초기치를 선택하고, 상기 각 단의 부분곱 생성회로는 상기 부호화 결과 유지회로의 출력과 상기 피승수 유지회로의 출력으로부터 부분곱을 생성하는 동시에, 상기 각 단의 누적 가산회로는 상기 제2선택기의 출력 또는 전단의 누적 가산회로의 출력과 상기 부분곱 생성회로의 출력과의 가산을 행하며, 그 소정단의 누적 가산회로의 출력을 상기 중간합 데이타로서 중간합 유지회로에 기록하고, 상기 각 단의 누적 가산회로의 출력의 소정 비트수를 상기 출력 유지회로의 소정의 비트 위치에 기록하며, 상기 제1선택기에 의해 상기 승수 유지회로의 출력을 선택하고, 상기 부호화 회로는 상기 제1선택기의 출력의 부호화를 행하여 그 부호화 결과를 상기 부호화 결과 유지회로에 기록하며; 상기 클록이 전환된 클록 전반 또는 후반의 제3타이밍시에는, 상기 제2선택기에 의해 상기 중간합 유지회로의 출력을 선택하고, 상기 각 단의 부분곱 생성회로는 상기 부호화 결과 유지회로의 출력과 상기 피승수 유지회로의 출력으로부터 부분솝을 생성하는 동시에, 상기 각 단의 누적 가산회로는 상기 제2선택기의 출력 또는 전단의 누적 가산회로의 출력과 상기 부분곱 생성회로의 출력과의 가산을 행아며, 그 소정단의 누적 가산회로의 출력과 상기 각 단의 누적 가산회로의 소정 비트수를 상기 누적 가산결과 유지회로에 기록하는 것을 특징으로 하는 승산기.
- 제1항에 따른 승산기의 상기 누적 가산결과 유지회로의 출력측에, 자리올림 보존 가산기(51)를 통하여 자리올림 전파 가산기(32a)를 설치한 곱합 연산장치에 있어서, 상기 제2타이밍후에 상기 클록이 전환된 클록 전반 또는 후반의 제3타이밍시에, 상기 자리올림 보존 가산기에 의해서 상기 누적 가산결과 유지회로의 출력과 곱합 연산 데이타와의 가산을 행하고, 그 가산 결과를 다시 상기 자리올림 전파 가산기에 의해서 가산하여 곱합 연산 결과를 출력하는 것을 특징으로 하는 곱합 연산 장치.
- 제2항에 따른 승산기의 상기 누적 가산 결과 유지회로 및 상기 출력 유지회로의 출력측에 자리올림 보존 가산기(51)를 통하여 자리올림 전파 가산기(32a)를 설치한 곱합 연산 장치에 있어서, 상기 제2타이밍후에 상기 클록이 전환된 클록 전반 또는 후반의 제3타이밍시에, 상기 자리올림 보존 가산기에 의하여 상기 누적 가산 결과 유지회로의 출력 및 상기 출력 유지회로의 출력과 곱합 연산 데이타와의 가산을 행하고, 그 가산 결과를 다시 상기 자리올림 전파 가산기에 의하여 가산하여 곱합 연산 결과를 출력하는 것을 특징으로 하는 곱합 연산 장치.
- 제3항에 따른 승산기의 상기 누적 가산 결과 유지회로 및 상기 출력 유지회로의 출력측에 자리올림 보존 가산기(51)를 통하여 자리올림 전파 가산기(32a)를 설치한 곱합 연산 장치에 있어서, 상기 제3타이밍후에 상기 클록이 전환된 클록 후반 또는 전반의 제4타이밍시에, 상기 자리올림 보존 가산기에 의하여 상기 누적 가산 결과 유지회로의 출력 및 상기 출력 유지회로의 출력과 곱합 연산 데이타와의 가산을 행하며, 그 가산 결과를 다시 상기 자리올림 전파 가산기에 의하여 가산하여 곱합 연산 결과를 출력하는 것을 특징으로 하는 곱합 연산 장치.※참고사항 : 최초출원 내용에 의하여 공개하는 것임.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP95-025039 | 1995-02-14 | ||
JP02503995A JP3277089B2 (ja) | 1995-02-14 | 1995-02-14 | 乗算器及び積和演算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR960032231A true KR960032231A (ko) | 1996-09-17 |
KR100218825B1 KR100218825B1 (ko) | 1999-09-01 |
Family
ID=12154777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960003559A KR100218825B1 (ko) | 1995-02-14 | 1996-02-14 | 승산기 및 곱합 연산 장치 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5675527A (ko) |
JP (1) | JP3277089B2 (ko) |
KR (1) | KR100218825B1 (ko) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3451579B2 (ja) * | 1997-03-03 | 2003-09-29 | 日本電信電話株式会社 | 自己同期型パイプラインデータパス回路 |
KR100265355B1 (ko) * | 1997-05-22 | 2000-09-15 | 김영환 | 마이크로프로세서에서 2사이클 파이프라인방식으로 부동소수점 데이터를 곱셈 연산하는 장치 |
JP3529622B2 (ja) | 1998-05-08 | 2004-05-24 | 株式会社東芝 | 演算回路 |
US6182104B1 (en) * | 1998-07-22 | 2001-01-30 | Motorola, Inc. | Circuit and method of modulo multiplication |
CA2294554A1 (en) * | 1999-12-30 | 2001-06-30 | Mosaid Technologies Incorporated | Method and circuit for multiplication using booth encoding and iterative addition techniques |
KR100478974B1 (ko) * | 2002-12-03 | 2005-03-25 | 한국전자통신연구원 | 직렬 유한체 승산기 |
US7028068B1 (en) * | 2003-02-04 | 2006-04-11 | Advanced Micro Devices, Inc. | Alternate phase dual compression-tree multiplier |
US7269616B2 (en) * | 2003-03-21 | 2007-09-11 | Stretch, Inc. | Transitive processing unit for performing complex operations |
US8019805B1 (en) * | 2003-12-09 | 2011-09-13 | Globalfoundries Inc. | Apparatus and method for multiple pass extended precision floating point multiplication |
US9710228B2 (en) | 2014-12-29 | 2017-07-18 | Imagination Technologies Limited | Unified multiply unit |
CN112988111B (zh) * | 2021-03-05 | 2022-02-11 | 唐山恒鼎科技有限公司 | 一种单比特乘法器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6284335A (ja) * | 1985-10-09 | 1987-04-17 | Hitachi Ltd | 乗算回路 |
-
1995
- 1995-02-14 JP JP02503995A patent/JP3277089B2/ja not_active Expired - Fee Related
-
1996
- 1996-02-14 US US08/599,966 patent/US5675527A/en not_active Expired - Lifetime
- 1996-02-14 KR KR1019960003559A patent/KR100218825B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
US5675527A (en) | 1997-10-07 |
JPH08221256A (ja) | 1996-08-30 |
JP3277089B2 (ja) | 2002-04-22 |
KR100218825B1 (ko) | 1999-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5448639A (en) | Digital signature device | |
US4754421A (en) | Multiple precision multiplication device | |
EA002183B1 (ru) | Арифметическое устройство для работы с целыми числами с многократно увеличенной точностью | |
KR960032231A (ko) | 승산기 및 곱합 연산 장치 | |
KR970007613A (ko) | 클럭 사이클당 복수의 몫 디지트를 발생하는 srt 하드웨어 및 제곱근 유닛 | |
JPH0727458B2 (ja) | 乗算器 | |
US7849125B2 (en) | Efficient computation of the modulo operation based on divisor (2n-1) | |
KR920003151A (ko) | 고속승산기 | |
KR20040060445A (ko) | 4-2 컴프레서를 이용한 몽고메리 모듈러 승산기 및 그승산 방법 | |
KR960020022A (ko) | 오류 위치 및 추정 다항식의 계산회로 및 이를 이용한 리드-솔로몬 복호기 | |
US7296049B2 (en) | Fast multiplication circuits | |
KR100431576B1 (ko) | 갈로아필드다항식승산/제산회로및그것을통합하는디지탈신호프로세서 | |
KR960018874A (ko) | 승산기 및 디지탈필터 | |
KR930006539A (ko) | 가산기 | |
Lim et al. | A modular approach to the computation of convolution sum using distributed arithmetic principles | |
JPH0832416A (ja) | 疑似ランダムパターン発生回路 | |
JP3913921B2 (ja) | 有限フィールドでの任意要素の逆数具現回路 | |
US20040225861A1 (en) | Method and circuit for generating memory addresses for a memory buffer | |
KR20040055523A (ko) | GF(p)와 GF(2^m)의 유한체 곱셈 연산 장치 | |
US6275837B1 (en) | Method for the implementation of an elementary modular operation according to the Montgomery method | |
JP2778478B2 (ja) | 相関演算プロセッサ | |
KR930006540A (ko) | 승산 회로의 부분 승수 선택 회로 | |
GB2254754A (en) | Time switch speech-store module | |
SU744564A1 (ru) | Устройство дл делени | |
KR960002013A (ko) | 비트단위의 파이프라인을 이용한 웨이브렛 변환 프로세서 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20030530 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |