Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
Power Estimation of HighSpeed Bit-Parallel Adders
Examensarbete utfort i Elektroniksystemvid Tekniska Hogskolan i Linkoping
av
Anders Aslund
Reg nr: LiTH-ISY-EX-3534-2004Linkoping 2004
Power Estimation of HighSpeed Bit-Parallel Adders
Examensarbete utfort i Elektroniksystemvid Tekniska Hogskolan i Linkoping
av
Anders Aslund
Reg nr: LiTH-ISY-EX-3534-2004
Supervisor: Oscar Gustafsson
Examiner: Oscar Gustafsson
Linkoping 4th June 2004.
Avdelning, Institution Division, Department
Institutionen för systemteknik 581 83 LINKÖPING
Datum Date 2004-06-04
Språk Language
Rapporttyp Report category
ISBN
Svenska/Swedish X Engelska/English
Licentiatavhandling X Examensarbete
ISRN LITH-ISY-EX-3534-2004
C-uppsats D-uppsats
Serietitel och serienummer Title of series, numbering
ISSN
Övrig rapport ____
URL för elektronisk version http://www.ep.liu.se/exjobb/isy/2004/3534/
Titel Title
Effektestimering av snabba bitparallella adderare Power Estimation of High Speed Bit-Parallel Adders
Författare Author
Anders Åslund
Sammanfattning Abstract Fast addition is essential in many DSP algorithms. Various structures have been introduced to speed up the time critical carry propagation. For high throughput applications, however, it may be necessary to introduce pipelining. In this report the power consumption of four different adder structures, with varying word length and different number of pipeline cuts, is compared. Out of the four adder structures compared, the Kogge-Stone parallel prefix adder proves to be the best choice most of the time. The Brent-Kung parallel prefix adder is also a good choice, but the maximal throughput does not reach as high as the maximal throughput of the Kogge-Stone parallel prefix adder.
Nyckelord Keyword Power simulations, Pipelining, Adder, Ripple carry, Conditional sum, Brent-Kung, Kogge-Stone, Parallel prefix, VHDL, DSP
Abstract
Fast addition is essential in many DSP algorithms. Various structures have beenintroduced to speed up the time critical carry propagation. For high throughputapplications, however, it may be necessary to introduce pipelining. In this reportthe power consumption of four different adder structures, with varying word lengthand different number of pipeline cuts, is compared.
Out of the four adder structures compared, the Kogge-Stone parallel prefix adderproves to be the best choice most of the time. The Brent-Kung parallel prefix adderis also a good choice, but the maximal throughput does not reach as high as themaximal throughput of the Kogge-Stone parallel prefix adder.
i
Preface
This is the report of a Master of Science project carried out at the Department ofElectrical Engineering at Linkoping University. This project is the final part of theeducation to attain a M.Sc. in Electronics Design Engineering.
The work was carried out under supervision of Ph.D. Oscar Gustafsson, whom Iwant to thank for his guidance and support.
I finally want to thank Helene for her everlasting patience in the final stage ofthis project.
Linkoping June 2004
Anders Aslund
iii
Contents
1 Introduction 11.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.3 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.4 Scope and demarcations . . . . . . . . . . . . . . . . . . . . . . . . . 21.5 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 High throughput addition 32.1 Theoretical background . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.1 Number representation . . . . . . . . . . . . . . . . . . . . . . 32.1.2 Binary addition . . . . . . . . . . . . . . . . . . . . . . . . . . 32.1.3 Pipelining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.1.4 Boolean algebra . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Adder structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2.1 Ripple carry . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2.2 Conditional sum . . . . . . . . . . . . . . . . . . . . . . . . . 72.2.3 Parallel prefix . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3 Project progress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.3.1 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . 142.3.2 Hardships . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.3.3 Alternative approach . . . . . . . . . . . . . . . . . . . . . . . 16
3 Results 173.1 Numerical values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.2 PT-product . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.3 Power dissipation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.4 Power – Throughput . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.5 Limitations and benefits . . . . . . . . . . . . . . . . . . . . . . . . . 19
4 Conclusions 21
Glossary 23
Bibliography 27
A Simulation result tables 29
v
vi Contents
B PT-product graphs 43
C Pie charts of power dissipation 45
D Power – Throughput graphs 49
List of Tables
2.1 Unsigned binary number representation. . . . . . . . . . . . . . . . . 32.2 Symbols used for Boolean operations. . . . . . . . . . . . . . . . . . 5
A.1 Simulation results for RCA:s of word lengths from 3 to 15 bits. . . . 29A.2 Simulation results for RCA:s of word lengths from 16 to 31 bits. . . 30A.3 Simulation results for RCA:s of word lengths from 32 to 42 bits. . . 31A.4 Simulation results for RCA:s of word lengths from 43 to 53 bits. . . 32A.5 Simulation results for RCA:s of word lengths from 54 to 64 bits. . . 33A.6 Simulation results for COSA:s of word lengths from 3 to 22 bits. . . 34A.7 Simulation results for COSA:s of word lengths from 23 to 43 bits. . 35A.8 Simulation results for COSA:s of word lengths from 44 to 64 bits. . 36A.9 Simulation results for BK:s of word lengths from 3 to 22 bits. . . . . 37A.10 Simulation results for BK:s of word lengths from 23 to 43 bits. . . . 38A.11 Simulation results for BK:s of word lengths from 44 to 64 bits. . . . 39A.12 Simulation results for KS:s of word lengths from 3 to 22 bits. . . . . 40A.13 Simulation results for KS:s of word lengths from 23 to 43 bits. . . . 41A.14 Simulation results for KS:s of word lengths from 44 to 64 bits. . . . 42
List of Figures
2.1 An unpipelined operation. . . . . . . . . . . . . . . . . . . . . . . . . 42.2 A pipelined operation. . . . . . . . . . . . . . . . . . . . . . . . . . . 42.3 Schematic view of a full adder (FA). . . . . . . . . . . . . . . . . . . 62.4 A seven bit RCA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.5 Schematic view of a condHA-block. . . . . . . . . . . . . . . . . . . . 72.6 A seven bit COSA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.7 Schematic view of a PG-block. . . . . . . . . . . . . . . . . . . . . . 92.8 Schematic view of an FCO-block. . . . . . . . . . . . . . . . . . . . . 102.9 Schematic view of a ppC -block. . . . . . . . . . . . . . . . . . . . . . 102.10 Schematic view of a ppS -block. . . . . . . . . . . . . . . . . . . . . . 112.11 A seven bit BK. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.12 A seven bit KS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.13 Project outline. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
B.1 PT-product simulations of RCA:s. . . . . . . . . . . . . . . . . . . . 43B.2 PT-product simulations of COSA:s. . . . . . . . . . . . . . . . . . . 43
Contents vii
B.3 PT-product simulations of BK:s. . . . . . . . . . . . . . . . . . . . . 44B.4 PT-product simulations of KS:s. . . . . . . . . . . . . . . . . . . . . 44
C.1 Power dissipation for an unpipelined RCA. . . . . . . . . . . . . . . 45C.2 Power dissipation for an unpipelined COSA. . . . . . . . . . . . . . . 45C.3 Power dissipation for an unpipelined BK. . . . . . . . . . . . . . . . 46C.4 Power dissipation for an unpipelined KS. . . . . . . . . . . . . . . . . 46C.5 Power dissipation for a maximally pipelined RCA. . . . . . . . . . . 47C.6 Power dissipation for a maximally pipelined COSA. . . . . . . . . . . 47C.7 Power dissipation for a maximally pipelined BK. . . . . . . . . . . . 48C.8 Power dissipation for a maximally pipelined KS. . . . . . . . . . . . 48
D.1 Power consumption as a function of throughput for 3 bit-adders. . . 49D.2 Power consumption as a function of throughput for 4 bit-adders. . . 49D.3 Power consumption as a function of throughput for 5 bit-adders. . . 50D.4 Power consumption as a function of throughput for 6 bit-adders. . . 50D.5 Power consumption as a function of throughput for 7 bit-adders. . . 51D.6 Power consumption as a function of throughput for 8 bit-adders. . . 51D.7 Power consumption as a function of throughput for 9 bit-adders. . . 52D.8 Power consumption as a function of throughput for 10 bit-adders. . . 52D.9 Power consumption as a function of throughput for 11 bit-adders. . . 53D.10 Power consumption as a function of throughput for 12 bit-adders. . . 53D.11 Power consumption as a function of throughput for 13 bit-adders. . . 54D.12 Power consumption as a function of throughput for 14 bit-adders. . . 54D.13 Power consumption as a function of throughput for 15 bit-adders. . . 55D.14 Power consumption as a function of throughput for 16 bit-adders. . . 55D.15 Power consumption as a function of throughput for 17 bit-adders. . . 56D.16 Power consumption as a function of throughput for 18 bit-adders. . . 56D.17 Power consumption as a function of throughput for 19 bit-adders. . . 57D.18 Power consumption as a function of throughput for 20 bit-adders. . . 57D.19 Power consumption as a function of throughput for 21 bit-adders. . . 58D.20 Power consumption as a function of throughput for 22 bit-adders. . . 58D.21 Power consumption as a function of throughput for 23 bit-adders. . . 59D.22 Power consumption as a function of throughput for 24 bit-adders. . . 59D.23 Power consumption as a function of throughput for 25 bit-adders. . . 60D.24 Power consumption as a function of throughput for 26 bit-adders. . . 60D.25 Power consumption as a function of throughput for 27 bit-adders. . . 61D.26 Power consumption as a function of throughput for 28 bit-adders. . . 61D.27 Power consumption as a function of throughput for 29 bit-adders. . . 62D.28 Power consumption as a function of throughput for 30 bit-adders. . . 62D.29 Power consumption as a function of throughput for 31 bit-adders. . . 63D.30 Power consumption as a function of throughput for 32 bit-adders. . . 63D.31 Power consumption as a function of throughput for 33 bit-adders. . . 64D.32 Power consumption as a function of throughput for 34 bit-adders. . . 64D.33 Power consumption as a function of throughput for 35 bit-adders. . . 65
viii Contents
D.34 Power consumption as a function of throughput for 36 bit-adders. . . 65D.35 Power consumption as a function of throughput for 37 bit-adders. . . 66D.36 Power consumption as a function of throughput for 38 bit-adders. . . 66D.37 Power consumption as a function of throughput for 39 bit-adders. . . 67D.38 Power consumption as a function of throughput for 40 bit-adders. . . 67D.39 Power consumption as a function of throughput for 41 bit-adders. . . 68D.40 Power consumption as a function of throughput for 42 bit-adders. . . 68D.41 Power consumption as a function of throughput for 43 bit-adders. . . 69D.42 Power consumption as a function of throughput for 44 bit-adders. . . 69D.43 Power consumption as a function of throughput for 45 bit-adders. . . 70D.44 Power consumption as a function of throughput for 46 bit-adders. . . 70D.45 Power consumption as a function of throughput for 47 bit-adders. . . 71D.46 Power consumption as a function of throughput for 48 bit-adders. . . 71D.47 Power consumption as a function of throughput for 49 bit-adders. . . 72D.48 Power consumption as a function of throughput for 50 bit-adders. . . 72D.49 Power consumption as a function of throughput for 51 bit-adders. . . 73D.50 Power consumption as a function of throughput for 52 bit-adders. . . 73D.51 Power consumption as a function of throughput for 53 bit-adders. . . 74D.52 Power consumption as a function of throughput for 54 bit-adders. . . 74D.53 Power consumption as a function of throughput for 55 bit-adders. . . 75D.54 Power consumption as a function of throughput for 56 bit-adders. . . 75D.55 Power consumption as a function of throughput for 57 bit-adders. . . 76D.56 Power consumption as a function of throughput for 58 bit-adders. . . 76D.57 Power consumption as a function of throughput for 59 bit-adders. . . 77D.58 Power consumption as a function of throughput for 60 bit-adders. . . 77D.59 Power consumption as a function of throughput for 61 bit-adders. . . 78D.60 Power consumption as a function of throughput for 62 bit-adders. . . 78D.61 Power consumption as a function of throughput for 63 bit-adders. . . 79D.62 Power consumption as a function of throughput for 64 bit-adders. . . 79
1 Introduction
In every piece of hardware that is built, one has to consider whether die area, powerdissipation and/or operation speed is the most important to take into consideration.Most of the time there’s probably a mix of all of these aspects that has to be takeninto account. Ideally one aims at achieving the minimum die area and the minimumpower dissipation at a tolerable operation speed (i.e. throughput).
1.1 Motivation
Binary addition is by far the most important arithmetic operation. This statementis backed by the fact that adders are used in many different operations; suchas addition (obviously), subtraction, multiplication, division, incrementation andmagnitude comparisons, amongst others. With this in mind, it is easy to see theneed for cost efficient, fast adders. [5, 8]
1.2 Background
There are numerous ways to implement bit-parallel addition with different areaand speed requirements. The power consumption of different adder structures isnot well studied, nor is the effect of pipelining adders to increase the throughput.
Addition in hardware requires that, in some way, a carry signal is propagatedfrom the least significant bit of the input words to the most significant bit of theoutput word. Many are the different adder structures that, over the years, havebeen proposed to speed up the carry propagation. For high throughput appli-cations, these structures may not suffice, but pipelining has to be introduced toachieve the required throughput.
Previous work [3, 6, 8] has compared different adder structures in terms of area,delay and power consumption, with little concern about pipelining and almost nostudies have concerned word lengths other than exponentials of two.
1.3 Objective
The aim of this M.Sc. project is to compare the power consumption for differentadders when the throughput requires pipelining. The adder structures will demanddifferent number of pipelining stages for the same throughput requirements, as wellas different widths of the pipelining registers.
1
2 Introduction
1.4 Scope and demarcations
The main application for this work is digital signal processing (DSP). Thereforeall possible word lengths will be considered, not only powers of two.
Many time consuming computer simulations are needed to get the results for thecomparisons. Therefore this project is limited to four different adder structureswith all possible word lengths from three to 64 bits. Pipelining will be introducedat regular intervals. No ”unnecessary” pipeline stages will be examined; that is ifseveral pipeline possibilities result in the same number of pipeline cuts for a givenadder structure and a given word length, only one of them will be examined.
Some common adder structures have been left out, such as the carry look-ahead,carry select and carry increment adders. This was due to pipelining irregularities,and the amount of time needed if more than four adder structures were to bethoroughly investigated.
Another restriction is that pipelining is introduced in a given adder structure.The addition is never divided into sub-additions with pipelining between the sub-additions. In other words all the adders have a block size of 1.
The main result from this work, will be a guide on which adder structure givesminimum power consumption for a given throughput.
1.5 Outline
You are now at the end of the introductory chapter of this report. In chapter 2you will first get the necessary background information in section 2.1. Section 2.2describes the different adder structures implemented in the project and in section2.3 you will be guided through the project from start to finish.
In chapter 3 the results (which can be found in the appendixes) are discussed.You will see some easily accessible comparisons of the different adder structures,and in section 3.5 the limitations and benefits of this work is discussed.
Chapter 4 summarize the conclusions of the project.For the interested reader that wants to do a bit of hard-core analyzing, the
simulation results are listed in appendix A.Appendixes B – D finally, contains graphical illustrations of the simulation re-
sults, and will be of help when reading the results chapter.
2 High throughput addition
This work compares the power consumption of different adder structures with arbi-trary word lengths and arbitrary pipelining for DSP algorithms, implemented witha 0.35µm standard cell CMOS library.
2.1 Theoretical background
Addition of two numbers is a fairly simple operation. In hardware, integers andfloating point numbers, are represented as binary numbers. There are severaldifferent binary representations of numbers, however the addition is performed inthe same way for all conventional representations. It is up to the hardware designerto decide whether to use unsigned, sign and magnitude, one’s complement, two’scomplement or some other representation.
2.1.1 Number representation
Throughout this report the unsigned binary representation is used, with the leastsignificant bit (lsb) in the rightmost position and the most significant bit (msb) inthe leftmost position.
Table 2.1 Unsigned binary number representation, with the word length of four bits.Binary notation Decimal notation Binary notation Decimal notation
00002 010 10002 810
00012 110 10012 910
00102 210 10102 1010
00112 310 10112 1110
01002 410 11002 1210
01012 510 11012 1310
01102 610 11102 1410
01112 710 11112 1510
2.1.2 Binary addition
Binary addition is performed in the same way as decimal addition. The followingexample shows the addition of two operands both in binary and in decimal form.
3
4 High throughput addition
Example 2.1Adding the decimal numbers 1110 and 910 results in the sum of 2010. The equivalentin binary notation, would be adding the numbers 10112 and 10012 resulting in thesum 101002. Note that the same carry rules apply in both decimal and binaryaddition.
1 1 11 0 1 1
+ 1 0 0 11 0 1 0 0
← carries →← operand x →← operand y →← sum →
111
+ 920
2.1.3 Pipelining
Pipelining is a way of speeding up the throughput in a circuit. The initial delay isthe same or greater than for an unpipelined circuit, but for successive operationsthe delay between the outputs is shortened. If pipelining is introduced in a circuitwith ` number of pipeline cuts (levels of registers), ` + 1 successive operations canbe performed at the same time. This results in a latency (initial delay before thefirst result is clocked out) of ` clock periods. But on the other hand a higherclock frequency can be used, reducing the total time needed for all the successiveoperations. The figures 2.1 and 2.2 show the differences between an unpipelinedand a pipelined circuit.
X → r → re o p e r a t i o n → e → Z
Y → g → f(X, Y ) gt=0 T=3τ
Figure 2.1 An unpipelined operation with registers on in- and outputs, is here clockedwith a clock period T = 3τ time units.
X → r → sub- → r → sub- → r → sub- re operation e operation e operation → e → Z
Y → g → f1(X, Y ) → g → f2(f1) → g → f3(f2) gt=0 T=τ 2T=2τ 3T=3τ
Figure 2.2 An operation divided into three sub-operations with two pipeline cuts andregisters on in- and outputs, is here clocked with a clock period T = τ time units.
Every level of registers, stores partial results for one clock period each. To storepartial results for more than one clock period, several registers are placed in series.
2.2 Adder structures 5
Every path through the circuit has to pass exactly ` registers. On a bit levelthis means that every operand bit is clocked through ` flip-flops on its path to thecorresponding result bit(s).
When pipelining is introduced, the operation is divided into sub-operations withpipeline cuts in between, along the critical path. In an adder, the critical path, isthe path by which a carry signal is propagated from the lsb of the input words tothe msb of the output word.
2.1.4 Boolean algebra
It is assumed the reader is familiar with Boolean algebra. If this is not the case,there are many textbooks available dealing with logic expressions, where one cangrasp the fundamentals of Boolean algebra.
In this report the symbols in table 2.2 are used to represent the basic Booleanoperations. In section 2.2.3 this table will be extended by a new Boolean operator.
Table 2.2 Symbols used for Boolean operations.
Boolean operation Symbol ExampleAND · a · bOR + a + b
EXCLUSIVE OR ⊕ a⊕ b
NOT a + b, q
2.2 Adder structures
The four adder structures considered in this project are the ripple carry adder,the conditional sum adder, and the Brent-Kung and Kogge-Stone parallel prefixadders.
2.2.1 Ripple carry
The ripple carry adder (RCA) is the most straightforward implementation of acarry-propagation adder. It performs exactly the same steps as is done by hand insection 2.1.2. Starting with the lsb, progressing to the msb every bit-pair is addedby cascaded logical circuits called full adders (FA). Each FA accepts two operandbits, xi and yi, and an incoming carry bit ci. It then produces the correspondingsum bit si and the outgoing carry bit ci+1. The outgoing carry bit from one FAis the incoming carry bit to the next one. The Boolean equations (2.1) and (2.2)shows how si and ci+1 are produced. [2, 5]
si = xi ⊕ yi ⊕ ci (2.1)
ci+1 = (xi · yi) + (ci · xi) + (ci · yi) (2.2)
6 High throughput addition
In figure 2.3 there is a schematic view of the FA-block, which in this project isused to construct ripple carry adders.
pp
pppp
ci+1 ci
yi
si
xi
FA
� � � ������
� ����
�� �?
??
� �
Figure 2.3 Schematic view of a full adder (FA).
An illustration of an RCA with the word length of seven bits is shown in figure2.4. The dotted lines show where it is possible to insert levels of registers to pipelinethe adder.
s4 s2 s1 s0s5
FA FA FAFA FA FA FA
...................................................................................................................................................
...................................................................................................................................................
...................................................................................................................................................
....................................................................................................................................................
s6
y2 y1 y0 x0x1x2y3 x3y4 x4y5 x5y6 x6
cincout
s3
...................................................................................................................................................
...................................................................................................................................................
?
?
??
�
?
�
?
��
? ?
?
?
?
??
?
�
?
??
�
?
??
�
?
�
Figure 2.4 Ripple carry adder (RCA), with the word length of seven bits.
The maximum number of pipeline cuts in an RCA of word length n is given by
` = n− 1.
2.2 Adder structures 7
2.2.2 Conditional sum
The conditional sum adder (COSA) was proposed by Sklansky in 1960. In previousresearch of unpipelined adder structures, the COSA has performed very well interms of throughput. A COSA is actually a carry select adder with a maximumnumber of levels, or in other words with the block size of 1.
The initial level of the COSA is comprised of conditional half adder (condHA)blocks. Every condHA block, accepts two operand bits xi and yi; generating twoconditional sum bits sci=0
i and sci=1i ; and two conditional outgoing carry bits cci=0
i+1
and cci=1i+1 . The conditions ci=0 and ci=1 mean: ”if the incoming carry bit equals 0”
and ”if the incoming carry bit equals 1” respectively. Equations (2.3) – (2.6) givethe Boolean expressions for the conditional sum and carry bits. Figure 2.5 showsa schematic view of a condHA-block.
sci=0i = xi ⊕ yi (2.3)
sci=1i = xi ⊕ yi (2.4)
cci=0i+1 = xi · yi (2.5)
cci=1i+1 = xi + yi (2.6)
q qq qqcondHA
yi xi
cci=0i+1 cci=1
i+1 sci=0i sci=1
i
q
d� ���
� ���� �� �
���
�� � �
�? ?
??
? ?
��� �
Figure 2.5 Schematic view of a condHA-block.
The rest of the levels in the adder structure are made up of a network of 2-to-1-multiplexers (mux:es). Depending on the actual level-carry-in, the correctconditional carry-sum pair is multiplexed to the next level. The complete structureof a seven bit COSA can be viewed in figure 2.6, where the dotted lines indicatepossible pipeline cuts. [7, 8]
The maximum number of pipeline cuts in an COSA of word length n is given by
` = ceil(log 2(n)) + 1.
8 High throughput addition
...........................................................................................................................................................................................................................................................
...........................................................................................................................................................................................................................................................
...........................................................................................................................................................................................................................................................
...........................................................................................................................................................................................................................................................
y5
x5
y4
x4
y3
x3
y2
x2
y1
x1
y0
x0
condH
Aco
ndH
Aco
ndH
Aco
ndH
Aco
ndH
Aco
ndH
A
mux
01
pppp
p pp p x
6
c2
cc3=
14
c4
c4
cc4=
15
cc4=
05
sc4=
04
sc5=
15
cc5=
16
sc2=
12
sc2=
02
cc4=
16
cc4=
06
sc6=
16
cc3=
04
sc5=
05
cc5=
06
sc6=
06
cc6=
07
sc4=
14
sc4=
15
sc4=
16
cc4=
17
cc4=
07
sc4=
06
c4
c4
cc6=
17
c2
y6co
ndH
A
cin
s6
s4
s3
s2
s1
s0
co
ut
s5
sc0=
00
cc0=
01
cc0=
11
c2
c1
sc3=
03
sc3=
13
cc2=
13
cc2=
03
cc1=
02
cc1=
12
sc1=
01
sc1=
11
c1
c0
c0
sc0=
10
��C C
10m
ux
��C C
10m
ux
��C C
1
01
��C C
mux
p pp
��C C
��C C
0mux
��C C
01
��C C
mux
10m
ux
��C C
10m
ux
01
��C C
mux
��C C
10m
ux
��C C
10m
ux
pm
ux
��C C
10m
ux
��C C
01
��C C
mux
10m
ux
��C C
��C C
10m
ux
��C C
10
mux
mux
��C C
10
01
mux
mux
0
10
1
��C C
1
��C C
mux
10
01
mux
��C C
mux
��C C
0
�?
?
??
?�
?
�
��
?
?
��
??
??
��
?
�
??
??
?
??
??
??
??
??
???
?
��
??
�?
?�
??
??
??
??
?
�
??
?
��
?
??
??
?
�?
?�
?
??
?
?
??
??
��
��
?�
?
Fig
ure
2.6
Conditio
nalsu
madder
(CO
SA
),w
ithth
ew
ord
length
ofsev
enbits.
2.2 Adder structures 9
2.2.3 Parallel prefix
Carry look-ahead addition uses the parallel prefix scheme. A regular carry look-ahead adder is not pipelineable, because some carry signals are in a feedback loop.However there are parallel prefix designs which are pipelineable. One being theadder structure suggested by Brent and Kung in 1982.
Brent-Kung
As in a regular carry look-ahead adder, the initial level of the Brent-Kung parallelprefix adder (BK), produces a generate signal (Gm:m) and a propagate signal(Pm:m). These signals are partial results and sometimes the first-level blocks arereferred to as partial full adders, in this report they are named PG.
The PG-blocks differs from the partial full adders normally used in regular carrylook-ahead adders. In order to make the structure pipelineable, and eliminateany feedback loops, PG-blocks have to be used instead of the partial full addersnormally used.
The Boolean equations (2.7) and (2.8) shows how Gm:m and Pm:m are produced.A schematic view of the PG-block is shown in figure 2.7.
Gm:m = xm · ym (2.7)
Pm:m = xm ⊕ ym (2.8)
Gm:m Pm:m
ym xm
PG??
??
qq���
� �� ����
�Figure 2.7 Schematic view of a PG-block.
All levels, following the initial and prior to the final levels, either produce carrysignals or partial results of carry signals, which are needed in the final level toproduce the sum bits.
The partial carry signals are produced as shown in the Boolean equations (2.9)and (2.10).
Gi:j = Gi:m + (Pi:m ·Gv:j) (2.9)
Pi:j = Pi:m · Pv:j , (2.10)
where i ≥ m, v ≥ j and v ≥ m− 1.
10 High throughput addition
Brent and Kung introduced a new Boolean operator, the fundamental carryoperator (◦), such that the two equations (2.9) and (2.10), can be rewritten as thesingle equation (2.11).
(Pi:j , Gi:j) = (Pi:m, Gi:m) ◦ (Pv:j , Gv:j), (2.11)
where i ≥ m, v ≥ j and v ≥ m− 1.Thus table 2.2, of Boolean operators, can be extended by the ◦-operator. The
fundamental carry operator is realized in the FCO-block shown in figure 2.8.
�
??
q? ?
�
Gi:jPi:j
Pv:j
Gv:j
FCO
Pi:mGi:m
� �� � ��
�� �
Figure 2.8 Schematic view of an FCO-block.
The carry signals are then produced as shown in the Boolean equation (2.12).The ppC -blocks that perform this operation are depicted in figure 2.9.
ci+1 = Gi:m + (Pi:m · cm) (2.12)
Pi:mGi:m
ci+1
cm
ppC
�
??
?
����
���
�� �
Figure 2.9 Schematic view of a ppC -block.
Finally all the sum bits are produced in the last level of the adder structure,where the Boolean equation (2.13) is performed. The final level consists of ppS -blocks as shown in figure 2.10. [1, 5]
2.2 Adder structures 11
sm = Pm:m ⊕ cm (2.13)
Pm:m
sm
cm
ppS?
�
?
���
�� �� �
Figure 2.10 Schematic view of a ppS -block.
The whole structure, of a seven bit BK , is shown in figure 2.11. Every level ofthe structure is separated by dotted lines. These lines also indicate where registerscan be inserted to pipeline the adder.
�� � �
? ?
�
?
�
?
ppC
ppC
PG PG PG PG PG PG
? ?
�
?
�
��
??
..............................................................................................................................
..............................................................................................................................
?�
?�
��
..............................................................................................................................
ppC
ppSppSppS ppS ppS ppS
G4:3
G2:1 P2:1
P1:1
P0:0G0:0G2:2
G1:1
ppS
ppC
P1:1P2:2P3:3P4:4 P0:0
cin
c0
s0s1s3s4s5s6 s2
P3:3
c1c3c4c5c6
c3
ppC
ppC
ppC
c1P4:3
G6:5
P2:2
PG
P6:6
c0
G3:3P4:4
G4:4
P5:3G5:3
P6:5
P6:3G6:3
P5:5
P5:5
G5:5
G6:6
P6:6
coutc2
q
qqqqq
q qqqq???
? ?? ?? ??
q
y1x2y2x3x4y4x5y5x6y6
FCO
FCO
FCOFCOFCO
x1
qqqq q qq q qq q q
y3 x0y0
?
??��??
��?
��
��
??
??�
?
?? ?? ?? ?? ?? ???
��
..............................................................................................................................
???
??
?
?
Figure 2.11 Brent-Kung parallel prefix adder (BK), with the word length of seven bits.
The maximum number of pipeline cuts in an BK of word length n is given by
` = floor(log 2(n)) + 2.
12 High throughput addition
Kogge-Stone
Long word lengths yield a high fan-out count for the BK . With this in mind, itcan be modified so that it, if pipelined at every level, gets a maximum fan-out oftwo. This is achieved at the cost of more ◦-blocks, resulting in a larger die area.
P6:6G5:5
G6:6
ppC
?
?
�
?
�
?
��
?
P5:5
y6
PG PG PG PG PG PG PG
P0:0
G0:0
G1:1P1:1
G2:2P2:2
G3:3P3:3
P4:4
G4:4
�
...............................................................................................................................
��
��
��
��
��
...............................................................................................................................
�
�
? ?
�
?
�
...............................................................................................................................
...............................................................................................................................
��
�
ppC
P5:5 P3:3 P2:2 P1:1 P0:0
c1c2
P6:6
c6 c5 c4 c3
c3
cout
s6 s5 s3 s2
P4:4
c0
c0
c0
c0
cin
x6 x5y5 x4y4 x3y3 x2y2 x1y1 x0y0
s1
ppC
P5:2G5:2
P6:3
P5:4G5:4
G6:5 P6:5
P3:2
P4:3
G3:2
G4:3
P2:1
G2:1
G1:0P1:0
c1
ppC
ppC
s0s4
ppS ppSppSppS ppS ppS ppS
c1
c2
G3:0 P3:0P4:1G4:1
G6:3
ppC
ppC
??
?? ??
q
q
qqqq
??
??
??
? ?
�
q
qq q qq q qq
FCO
FCO
FCO
FCO
FCO
FCO
FCO
FCO
FCO
FCO
q
q qqqqqqq
q q qq q qq q qq
?
?
?
? ???
????
?
??? ?? ?? ?? ?? ??
?
�
??
??��
??��
?
�
?��
??��
??��
??
Figure 2.12 Kogge-Stone parallel prefix adder (KS), with the word length of seven bits.
2.3 Project progress 13
This modified adder structure, is the structure that Kogge and Stone introducedin 1973 [4, 8]. For the remainder of this report this adder structure will be referredto as a Kogge-Stone parallel prefix adder (KS).
The KS structure is composed of the same building blocks as the BK , equations(2.7) – (2.13) and figures 2.7 – 2.10. The whole adder structure is depicted in figure2.12. At the locations of the dotted lines, registers can be inserted to pipeline theadder.
The maximum number of pipeline cuts in an KS of word length n is given by
` = floor(log 2(n)) + 2.
2.3 Project progress
At different stages of the project, different tools are used and different results aregathered. The project outline is illustrated in figure 2.13.
Study available adder structures
↓
Write a VHDL generator in C
↓
Verify VHDL functionality using ModelSim
↓
Generate Verilog HDL netlists using LeonardoSpectrum
↓
Verify Verilog HDL functionality using ModelSim
↓
Generate clock trees using Silicon Ensemble
↓
Verify Verilog HDL functionality using ModelSim
↓
Run power simulations in NanoSim
Figure 2.13 Project outline.
14 High throughput addition
The studying of available adder structures and previous research results in thechoice of four promising candidates for the project:
• The ripple carry adder has a poor throughput, however it is interesting tosee how it performs when it is pipelined.
• The conditional sum adder is a very fast adder structure for unpipelinedadders, but it also has a high power dissipation.
• The Brent-Kung parallel prefix adder has proved to be a cost efficient adderstructure for unpipelined adder structures in previous research.
• The Kogge-Stone parallel prefix adder finally, is a structure that is especiallyinteresting to compare to the Brent-Kung parallel prefix adder at large wordlengths with a large number of pipeline cuts.
All the programming and simulation tools used in this project run on a UNIXworkstation.
2.3.1 Implementation
A program (VHDL generator) that can generate synthesizable VHDL for any of thefour adder types with arbitrary word length and an arbitrary degree of pipelining,is implemented in C.
On all the inputs and outputs, registers are placed. They are to act as loads inthe simulations. The power dissipation of these registers are included in the totalpower consumption in the presented with the results.
Pipelining is introduced after every P levels, counting from the registers on theinputs. The range of P varies between the adder structures. The structure of aripple carry adder (RCA) allows the most pipeline cuts, while the structure of aconditional sum adder (COSA) allows the least.
The VHDL models are named after their structure (rca, cosa, bk, ks), word length(3 to 64), and how often pipeline stages occur (pipP ). The following examplesshows how the different adders are named. All the names of all the different addermodels, are to be found in appendix A.
Example 2.2An unpipelined Brent-Kung parallel prefix adder with the word length of five bits,is named bk5pip0.
Example 2.3A ripple carry adder with the word length of seven bits, pipelined after every threefull adder blocks, is achieved by inserting two levels of registers in figure 2.4; at thethird and sixth dotted lines, counting from the top. This results in three successive
2.3 Project progress 15
operations, the first two consisting of three full adders each, and the last consistingof a single full adder. The adder is named rca7pip3.
Example 2.4A conditional sum adder with the word length of seven bits, pipelined after everylevel of the adder structure, is achieved by inserting four levels of registers at everydotted line in figure 2.6. This results in five successive operations, and the adderis named cosa7pip1.
After verifying the functionality of the adders in ModelSim, the VHDL netlistsare optimized and mapped with a 0.35µm standard cell library into Verilog HDLnetlists with LeonardoSpectrum. Apart from this, LeonardoSpectrum also reportsan estimation of the throughput in MHz and the required area µm2. These esti-mations are found in appendix A and discussed in section 3.
The functionality of the adders, is verified again in ModelSim, to see that thesynthesis tool has not altered the models.
Clock trees are inserted in each adder model using Silicon Ensemble, to take theextra number of flip-flops more accurately into account.
The final power simulations are conducted by NanoSim. But before these simu-lations can be run, all the standard cells from the chosen CMOS technology, thatare used in the designs have to be converted into SPICE netlists. To accomplishthis, transistor level simulations are performed in Cadence, and the SPICE netlistsare saved in a library directory where NanoSim can access them.
The simulations are performed without including routing as no layout is suppliedfor the standard cell library, only transistor netlists. This may give some advantageto the KS where the implementation results in long wires.
The adders are simulated, with 3.3 V power supply, using random input data for1000 ns at the maximal data rate estimated from the synthesis tool.
The total power dissipation in µW (including clock trees and register on in- andoutputs) is presented in appendix A and discussed in section 3. NanoSim alsoprovides information about how much of the power is consumed in the differentcircuit blocks. The total power dissipation is broken down in the power consumedby the actual adder kernel, the clock trees and the load registers on the in- andoutputs for some adders in appendix C. This is further discussed in section 3.
2.3.2 Hardships
During the project some problems are encountered. A major hassle is that thesynthesis tool has a tendency to simplify the fast adder structures (COSA, BKand KS ) if unpipelined, and change them into RCA:s. Luckily it is possible towork around this problem, but a lot of extra simulation time is needed.
16 High throughput addition
Another problem is that the tool (Vtran) that is supposed to generate the inputdata (stimuli files) for the NanoSim simulations, does not work with the installationon the UNIX system used. Hence, the stimuli files have to be generated in someother way. A function for this is included in the VHDL generator.
The mentioned problems are possible to work around, but what is the mostdifficult, is to know how much time that is needed to get the work done.
2.3.3 Alternative approach
Reducing the number of tools used would reduce the amount of work required toreach the final presentation of the results. The synthesis and simulation tools areexcellent. A better way to implement the VHDL generator however, would be towrite a MATLAB program for it.
MATLAB is used to produce the tables and the graphs in all the appendixes inthis report. All the result values are saved in numerical form and can easily beaccessed in MATLAB. Since the power simulations are performed at the maximalthroughput reported by the synthesis tool for each adder model, a simple MATLABfunction could produce the stimuli files for NanoSim. That MATLAB functionwould use the stored values for the maximal throughput, for every specific addermodel, to generate the appropriate stimuli file.
The VHDL models could just as well be generated with a MATLAB programinstead of the C program implemented in this project. A lot of the mathematicalcalculations that are performed in the C program, are actually more straightfor-ward to implement in MATLAB.
3 Results
The focus of this project, is to determine which adder structure, with possiblepipelining, that has the minimal power dissipation given a required throughput.The synthesis and simulation tools provides additional information though, fromwhich more than that can be seen.
All the simulation results are presented in the tables in appendix A. The power-time or power-delay product (PT-product), is presented in the graphs in appendixB. Furthermore, in appendix C the total power dissipation is broken down and illus-trated in pie charts for a few adders. Finally, the main results are presented in thegraphs in appendix D, where power consumption as a function of the throughput,of the different adder structures can be compared for different levels of pipelining.
In the graphs, the pipelining is expressed by the pipeline complexity. This is dif-ferent from introducing pipelining after every P levels as discussed in section 2.3.1,but renders more readable figures. The pipeline complexity equals the number ofpipeline stages for a conditional sum adder (COSA), a Brent-Kung parallel prefixadder (BK) and a Kogge-Stone parallel prefix adder (KS), but differs from thatfor a ripple carry adder (RCA). All adders of different word lengths, that are to befound in the same column in the tables in appendix A, are considered to have thesame pipeline complexity.
3.1 Numerical values
The estimated throughput and area requirements that is provided by Leonardo-Spectrum, and the total power consumption simulated in NanoSim, is summarizedin tables A.1 – A.14 along with the number of pipeline cuts for each of the adders.A lot of information is presented in these tables, but to make this information moreaccessible, the appendixes B – D presents some of this information graphically.
The maximal throughput ranges from just over 20 MHz for an unpipelined RCAwith the maximal word length investigated of 64 bits, to over 900 MHz for amaximally pipelined BK with the word length of up to six bits.
Every adder model is simulated in NanoSim at the maximal throughput of eachparticular model and the resulting total power dissipation (including clock treesand register on in- and outputs) ranges from 3 mW for an unpipelined RCA withthe word length of 13 bits, to 2.5 W for a maximally pipelined RCA with the wordlength of 62 bits.
The area aspect is not taken into account when evaluating these results, but ismerely presented for the interested reader since the synthesis tool with such easereports it.
17
18 Results
3.2 PT-product
The PT-product can be regarded as the amount of energy used per computation.In figures B.1 – B.4, the PT-products as functions of word lengths and pipelinecomplexities, can be compared for the different adder structures. Note that thePT-axis is scaled differently in figure B.1 than it is in figures B.2 – B.4.
The graphs in appendix B show that the Kogge-Stone parallel prefix adder gen-erally has the smallest PT-product. It is also clear that the PT-product increaseswith increased pipelining. Thus, it is not enough with the savings in reducedglitches to decrease the PT-products.
Figures B.1 – B.4 also shows some discontinuities, where a longer word lengthactually have a lower PT-product than the previous shorter word length. This isbecause the pipeline cuts in the COSA, BK and KS have different properties. Asthe word length passes a power of two, pipeline cuts placed differently may result indifferent loads at the outputs of the registers, and thereby a different throughput.
It may, to some people, look like some values are missing in figures B.1 – B.4.However this is how they are supposed to look. The reason is that adders of shorterword lengths does not have the same amount of possible pipelining complexities asadders of larger word lengths.
3.3 Power dissipation
In appendix C the total power dissipation of unpipelined and maximally pipelined32-bit adders, is broken down into the power consumed by the actual adder kernel,the power consumed by the clock tree and the power consumed by the registers onthe in- and outputs. The 32-bit adders are representative for all the different wordlengths of the adder structures in this project.
The adder kernel consists of the different adder blocks introduced in section 2.2and internal registers if pipelining is introduced.
As mentioned in section 3.2, the PT-product increases with a higher pipelinecomplexity. From figures C.1 – C.8 it’s obvious that the flip-flops used, contributesto a large portion of the total power dissipation. Standard cell flip-flops are howevergenerally characterized by robustness rather than low power consumption, so usinglow power flip-flops may change the results.
3.4 Power – Throughput
The power consumption as a function of the throughput is shown in figures D.1 –D.62 for all the different word lengths at different degrees of pipelining.
Here, it is again clear that the KS yields the best results most of the time. TheBK yields almost as good results, although the maximal throughput of the BK islower.
Furthermore the attentive reader has noticed that, for instance in figure D.3the cosa5pip2 with two pipeline cuts have a lower maximal throughput than the
3.5 Limitations and benefits 19
cosa5pip3 with only one pipeline cut. The reason for this is that the pipeline cutshaven’t been optimally placed for this word length. The same problem occurs forthe BK and the KS at different word lengths.
3.5 Limitations and benefits
Using a standard cell library saves a lot of time when performing power simulations,yet the characteristics of the standard cells limit the usefulness of the results. In thisproject, the use of low power flip-flops and mux:es, would quite possibly bring thepower consumption for COSA:s and for RCA:s closer to the other two structures.
A smarter way of selecting where the pipeline cuts are to be placed, would notresult in lower throughputs for more complex pipelining, as discussed in section3.4. Instead of inserting pipeline cuts at certain intervals, a certain number ofpipeline cuts could be inserted at optimal places along the critical path. Howeverto find the best possible cuts, a large number of timing simulations are required atan early stage in the project.
A great benefit from this work, is that it’s easy to see which adder structure thatis best to use when the required throughput is known. Even if the implementationsare not optimal, all the structures have similar prerequisites. After selecting whichadder structure to use, a better implementation of it could result in an even lowerpower consumption.
A web page will be set up, where the VHDL models for every word length and ofevery pipelining complexity examined in this project, will be available for anyoneto use.
4 Conclusions
This project investigates the power consumption of pipelined carry-propagationadders for high throughput applications. Such applications can be high speed FIRfilters based on carry-save arithmetic, or heavily pipelined multipliers, where acarry propagation adder is used at the output of the filter.
Four different adder structures are included in the project, the ripple carry adder(RCA), the conditional sum adder (COSA), the Brent-Kung parallel prefix adder(BK) and the Kogge-Stone parallel prefix adder (KS). Out of these adder structuresthe KS proves to be the best choice most of the time. The simulations show thatthe BK gives similar results, but with a lower throughput.
The implementation is performed with a 0.35µm standard cell CMOS library.For highly pipelined adders a high power dissipation is experienced, which probablycan be substantially reduced by using low power flip-flops instead of the standardcell flip-flops. The performance of the RCA is likely to gain most by replacingthe flip-flops, but whether it would perform as well as the other structures is notknown.
Furthermore replacing the standard cell mux:es by low power mux:es, in theCOSA would improve it’s performance, but probably not by so much that it wouldperform better than the KS and the BK .
21
Glossary
2
2-to-1-multiplexers (mux:es) Circuit with two input signals w0 and w1, one se-lect signal sel, and one output signal f . If sel = 0 the output signal isset to f = w0, and if sel = 1 the output signal is set to f = w1, p. 7.
B
Brent-Kung parallel prefix adder (BK) A parallel adder suggested by Brent andKung in 1982, p. 9.
C
complementary metal oxide semiconductor (CMOS) A transistor technology thatuses both NMOS (negative polarity) and PMOS (positive polarity)transistors. It’s great advantage is that it has almost no static powerdissipation, but dissipates power only when switched, p. 3.
conditional half adder (condHA) A circuit that accepts two operand bits xi andyi; generating two conditional sum bits sci=0
i and sci=1i ; and two con-
ditional outgoing carry bits cci=0i+1 and cci=1
i+1 . The conditions ci=0 andci=1 mean: ”if the incoming carry bit equals 0” and ”if the incomingcarry bit equals 1” respectively, p. 7.
conditional sum adder (COSA) A parallel adder proposed by Sklansky in 1960,p. 7.
D
digital signal processing (DSP) The processing of any inforamtion stream, rep-resented as a digital (electrical) signal, p. 2.
F
fan-in The number of inputs to a logic gate.
fan-out The number of other gates that a specific gate drives, p. 12.
23
floating point numbers Numbers are represented by a mantissa comprising thesignificant digits and an exponent of the radix,i.e. mantissa · radixexponent, p. 3.
full adder (FA) A circuit that accepts two operand bits and an incoming carrybit, generating the corresponding sum bit and the outgoing carry bit,p. 5.
fundamental carry operator (◦) Boolean operator defined as(Pi:j , Gi:j) = (Pi:m, Gi:m) ◦ (Pv:j , Gv:j),where i ≥ m, v ≥ j and v ≥ m− 1, p. 10.
G
generate signal (Gm:m) If set (Gm:m = 1), the outgoing carry is one (ci+1 = 1),independent of the incoming carry (ci), p. 9.
H
Hardware Description Language (HDL) Similar to a computer programming lan-guage, but is used to describe hardware rather than a program to beexecuted on a computer, p. 24.
I
Institute of Electrical and Electronics Engineers (IEEE) A worldwide organiza-tion, promoting technical activities to benefit the society, p. 25.
K
Kogge-Stone parallel prefix adder (KS) A parallel adder structure presented byKogge and Stone in 1973, p. 13.
L
least significant bit (lsb) The rightmost bit position of an unsigned binary num-ber, that has the lowest power of 2 associated with it, p. 3.
LeonardoSpectrum A suite of high level design tools, from Mentor Graphics, forvarious hardware architectures, p. 13.
M
MATLAB A high-performance language for technical computing from Math-Works, p. 16.
ModelSim A HDL simulator from Model Technology (Mentor Graphics), p. 13.
24
most significant bit (msb) The leftmost bit position of an unsigned binary num-ber, that has the highest power of 2 associated with it, p. 3.
N
NanoSim A transistor-level circuit simulation and analysis tool, from Synopsys,for analog, digital and mixed-signal design verification, p. 13.
P
propagate signal (Pm:m) If set (Pm:m = 1), the incoming carry (ci) is propagatedto the outgoing carry (ci+1), i.e. ci+1 = ci, p. 9.
R
registers (flip-flops) A flip-flop stores one bit of information. A set of n flip-flops,that together stores n bits of information, is referred to as a register,p. 4.
ripple carry adder (RCA) A parallel adder composed of a number of cascadedfull adders, p. 5.
S
Silicon Ensemble A place-and-route software, form Cadence Design Systems, thatcan place standard cells and blocks, and route an integrated circuit,p. 13.
Simulation Program with Integrated Circuit Emphasis (SPICE) A computer pro-gram that simulates the behavior of electronic circuits, p. 15.
V
Verilog Hardware Description Language (Verilog HDL) IEEE HDL standards1364-1995 and 1364-2001, p. 13.
Very high speed integrated circuit Hardware Description Language (VHDL)IEEE HDL standards 1076-1987 and 1164-1993, p. 13.
25
Bibliography
[1] R. P. Brent and H. T. Kung. A regular layout for parallel adders. IEEETransactions on computers, C–31:260 – 264, March 1982.
[2] S. Brown and Z. Vranesic. Fundamentals of digital logic with VHDL design.McGraw-Hill Higher Education, 2000. ISBN 0-07-012591-0.
[3] T. K. Callaway and E. E. Swartzlander Jr. Estimating the power consumptionof cmos adders. In IEEE Symposium on Computer Arithmetic, pages 210 – 216,1993.
[4] P. M. Kogge and H. S. Stone. A parallel algorithm for the efficient solutionof a general class of recurrence equations. IEEE Transactions on computers,C–22(8):260 – 264, Aug 1973.
[5] I. Koren. Computer arithmetic algorithms. A K Peters Ltd., Natick, 2nd edition,2002. ISBN 1-56881-160-8.
[6] C. Nagendra, M. J. Irwin, and R. M. Owens. Area-time-power tradeoffs inparallel adder. IEEE Transactions on circuits and systems – II: analog anddigital signal processing, 43(10):689 – 702, October 1996.
[7] J. Sklansky. Conditional-sum addition logic. IRE Transactions on electroniccomputers, 9:226 – 231, June 1960.
[8] R. Zimmermann. Binary adder architectures for cell-based VLSI and their syn-thesis. PhD thesis, Swiss Federal Institute of Technology, Zurich, 1997. Diss.ETH No. 12480.
27
A Simulation result tables
Table A.1 Simulation results for RCA:s of word lengths from 3 to 15 bits.0 cuts pipeline complexity maximal number of cuts
name rca3pip0 rca3pip2 rca3pip1cuts 0 1 2MHz 459.3 459.3 682.7µW 3822 6739 1.063e+04µm2 4404 5642 7790name rca4pip0 rca4pip2 rca4pip1cuts 0 1 3MHz 385.6 531.3 682.7µW 4717 8178 1.552e+04µm2 5678 7881 1.214e+04name rca5pip0 rca5pip3 rca5pip2 rca5pip1cuts 0 1 2 4MHz 246 383.1 459.3 682.7µW 3692 7323 1.037e+04 2.425e+04µm2 7116 9500 1.161e+04 1.742e+04name rca6pip0 rca6pip3 rca6pip2 rca6pip1cuts 0 1 2 5MHz 208.6 383.1 531.3 682.7µW 3597 8482 1.557e+04 3.057e+04µm2 8427 1.138e+04 1.443e+04 2.362e+04name rca7pip0 rca7pip4 rca7pip3 rca7pip2 rca7pip1cuts 0 1 2 3 6MHz 181.1 299.6 383.1 459.3 682.7µW 3541 7611 1.115e+04 1.657e+04 3.844e+04µm2 9737 1.3e+04 1.574e+04 1.94e+04 3.076e+04name rca8pip0 rca8pip4 rca8pip3 rca8pip2 rca8pip1cuts 0 1 2 3 7MHz 160 299.6 383.1 531.3 682.7µW 3226 8621 1.317e+04 2.769e+04 4.915e+04µm2 1.105e+04 1.489e+04 1.855e+04 2.284e+04 3.882e+04name rca9pip0 rca9pip5 rca9pip3 rca9pip2 rca9pip1cuts 0 1 2 4 8MHz 143.3 246 383.1 459.3 682.7µW 3330 7511 1.515e+04 2.53e+04 5.981e+04µm2 1.236e+04 1.651e+04 2.104e+04 2.905e+04 4.781e+04name rca10pip0 rca10pip5 rca10pip4 rca10pip3 rca10pip2 rca10pip1cuts 0 1 2 3 4 9MHz 129.8 246 299.6 383.1 531.3 682.7µW 3368 8742 1.324e+04 1.942e+04 3.229e+04 7.242e+04µm2 1.367e+04 1.838e+04 2.268e+04 2.695e+04 3.311e+04 5.773e+04name rca11pip0 rca11pip6 rca11pip4 rca11pip3 rca11pip2 rca11pip1cuts 0 1 2 3 5 10MHz 118.6 208.6 299.6 383.1 459.3 682.7µW 3455 7632 1.385e+04 2.163e+04 3.575e+04 8.721e+04µm2 1.498e+04 2e+04 2.517e+04 3.038e+04 4.055e+04 6.858e+04name rca12pip0 rca12pip6 rca12pip4 rca12pip3 rca12pip2 rca12pip1cuts 0 1 2 3 5 11MHz 109.2 208.6 299.6 383.1 531.3 682.7µW 3514 8522 1.505e+04 2.313e+04 4.617e+04 1.005e+05µm2 1.629e+04 2.19e+04 2.768e+04 3.349e+04 4.523e+04 8.035e+04name rca13pip0 rca13pip7 rca13pip5 rca13pip4 rca13pip3 rca13pip2 rca13pip1cuts 0 1 2 3 4 6 12MHz 101.1 181.1 246 299.6 383.1 459.3 682.7µW 3001 8145 1.332e+04 2.052e+04 2.984e+04 4.764e+04 1.159e+05µm2 1.76e+04 2.351e+04 2.928e+04 3.451e+04 4.095e+04 5.391e+04 9.306e+04name rca14pip0 rca14pip7 rca14pip5 rca14pip4 rca14pip3 rca14pip2 rca14pip1cuts 0 1 2 3 4 6 13MHz 94.2 181.1 246 299.6 383.1 531.3 682.7µW 3309 8632 1.465e+04 2.142e+04 3.262e+04 5.851e+04 1.348e+05µm2 1.891e+04 2.539e+04 3.18e+04 3.795e+04 4.499e+04 5.92e+04 1.067e+05name rca15pip0 rca15pip8 rca15pip5 rca15pip4 rca15pip3 rca15pip2 rca15pip1cuts 0 1 2 3 4 7 14MHz 88.1 160 246 299.6 383.1 459.3 682.7µW 3161 7761 1.601e+04 2.419e+04 3.453e+04 5.838e+04 1.565e+05µm2 2.022e+04 2.701e+04 3.429e+04 4.106e+04 4.872e+04 6.912e+04 1.212e+05
29
Table A.2 Simulation results for RCA:s of word lengths from 16 to 31 bits.0 cuts pipeline complexity maximal number of cuts
name rca16pip0 rca16pip8 rca16pip6 rca16pip4 rca16pip3 rca16pip2 rca16pip1cuts 0 1 2 3 5 7 15MHz 82.8 160 208.6 299.6 383.1 531.3 682.7µW 3296 8343 1.464e+04 2.47e+04 4.1e+04 7.28e+04 1.764e+05µm2 2.153e+04 2.89e+04 3.593e+04 4.419e+04 5.773e+04 7.504e+04 1.367e+05name rca17pip0 rca17pip9 rca17pip6 rca17pip5 rca17pip4 rca17pip3 rca17pip2 rca17pip1cuts 0 1 2 3 4 5 8 16MHz 78.1 143.3 208.6 246 299.6 383.1 459.3 682.7µW 3165 8125 1.452e+04 2.112e+04 2.902e+04 4.384e+04 7.281e+04 1.927e+05µm2 2.284e+04 3.052e+04 3.842e+04 4.548e+04 5.287e+04 6.239e+04 8.62e+04 1.532e+05name rca18pip0 rca18pip9 rca18pip6 rca18pip5 rca18pip4 rca18pip3 rca18pip2 rca18pip1cuts 0 1 2 3 4 5 8 17MHz 73.9 143.3 208.6 246 299.6 383.1 531.3 682.7µW 3305 8418 1.646e+04 2.266e+04 3.179e+04 4.72e+04 9.105e+04 2.172e+05µm2 2.415e+04 3.24e+04 4.093e+04 4.859e+04 5.693e+04 6.674e+04 9.273e+04 1.705e+05name rca19pip0 rca19pip10 rca19pip7 rca19pip5 rca19pip4 rca19pip3 rca19pip2 rca19pip1cuts 0 1 2 3 4 6 9 18MHz 70.1 129.8 181.1 246 299.6 383.1 459.3 682.7µW 3143 7844 1.432e+04 2.39e+04 3.341e+04 5.413e+04 9.27e+04 2.421e+05µm2 2.546e+04 3.402e+04 4.253e+04 5.172e+04 6.066e+04 7.73e+04 1.051e+05 1.888e+05name rca20pip0 rca20pip10 rca20pip7 rca20pip5 rca20pip4 rca20pip3 rca20pip2 rca20pip1cuts 0 1 2 3 4 6 9 19MHz 66.7 129.8 181.1 246 299.6 383.1 531.3 682.7µW 3835 8504 1.506e+04 2.515e+04 3.554e+04 5.776e+04 1.135e+05 2.649e+05µm2 2.677e+04 3.591e+04 4.504e+04 5.484e+04 6.441e+04 8.257e+04 1.123e+05 2.08e+05name rca21pip0 rca21pip11 rca21pip7 rca21pip6 rca21pip5 rca21pip4 rca21pip3 rca21pip2 rca21pip1cuts 0 1 2 3 4 5 6 10 20MHz 63.6 118.6 181.1 208.6 246 299.6 383.1 459.3 682.7µW 3209 8137 1.606e+04 2.126e+04 2.917e+04 4.258e+04 6.038e+04 1.082e+05 2.931e+05µm2 2.808e+04 3.753e+04 4.754e+04 5.616e+04 6.477e+04 7.495e+04 8.754e+04 1.259e+05 2.281e+05name rca22pip0 rca22pip11 rca22pip8 rca22pip6 rca22pip5 rca22pip4 rca22pip3 rca22pip2 rca22pip1cuts 0 1 2 3 4 5 7 10 21MHz 60.8 118.6 160 208.6 246 299.6 383.1 531.3 682.7µW 3208 8492 1.468e+04 2.407e+04 3.112e+04 4.556e+04 7.241e+04 1.345e+05 3.167e+05µm2 2.939e+04 3.94e+04 4.918e+04 5.93e+04 6.881e+04 7.962e+04 9.964e+04 1.337e+05 2.492e+05name rca23pip0 rca23pip12 rca23pip8 rca23pip6 rca23pip5 rca23pip4 rca23pip3 rca23pip2 rca23pip1cuts 0 1 2 3 4 5 7 11 22MHz 58.3 109.2 160 208.6 246 299.6 383.1 459.3 682.7µW 3240 8177 1.488e+04 2.307e+04 3.34e+04 4.658e+04 7.64e+04 1.26e+05 3.419e+05µm2 3.07e+04 4.102e+04 5.167e+04 6.241e+04 7.254e+04 8.398e+04 1.055e+05 1.485e+05 2.711e+05name rca24pip0 rca24pip12 rca24pip8 rca24pip6 rca24pip5 rca24pip4 rca24pip3 rca24pip2 rca24pip1cuts 0 1 2 3 4 5 7 11 23MHz 55.9 109.2 160 208.6 246 299.6 383.1 531.3 682.7µW 3158 8662 1.544e+04 2.411e+04 3.436e+04 4.945e+04 8.087e+04 1.524e+05 3.969e+05µm2 3.201e+04 4.292e+04 5.418e+04 6.554e+04 7.629e+04 8.834e+04 1.111e+05 1.569e+05 2.941e+05name rca25pip0 rca25pip13 rca25pip9 rca25pip7 rca25pip5 rca25pip4 rca25pip3 rca25pip2 rca25pip1cuts 0 1 2 3 4 6 8 12 24MHz 53.7 101.1 143.3 181.1 246 299.6 383.1 459.3 682.7µW 3303 8266 1.436e+04 2.165e+04 3.628e+04 5.665e+04 8.943e+04 1.484e+05 4.28e+05µm2 3.332e+04 4.454e+04 5.578e+04 6.683e+04 8.002e+04 1.007e+05 1.248e+05 1.73e+05 3.179e+05name rca26pip0 rca26pip13 rca26pip9 rca26pip7 rca26pip6 rca26pip5 rca26pip4 rca26pip3 rca26pip2 rca26pip1cuts 0 1 2 3 4 5 6 8 12 25MHz 51.7 101.1 143.3 181.1 208.6 246 299.6 383.1 531.3 682.7µW 3224 8261 1.515e+04 2.332e+04 3.017e+04 4.159e+04 6.021e+04 9.417e+04 1.768e+05 4.533e+05µm2 3.464e+04 4.641e+04 5.83e+04 6.994e+04 8.075e+04 9.213e+04 1.06e+05 1.313e+05 1.821e+05 3.427e+05name rca27pip0 rca27pip14 rca27pip9 rca27pip7 rca27pip6 rca27pip5 rca27pip4 rca27pip3 rca27pip2 rca27pip1cuts 0 1 2 3 4 5 6 8 13 26MHz 49.8 94.2 143.3 181.1 208.6 246 299.6 383.1 459.3 682.7µW 3219 8290 1.584e+04 2.466e+04 3.182e+04 4.474e+04 6.229e+04 9.881e+04 1.756e+05 4.702e+05µm2 3.594e+04 4.803e+04 6.079e+04 7.307e+04 8.448e+04 9.679e+04 1.11e+05 1.375e+05 1.994e+05 3.684e+05name rca28pip0 rca28pip14 rca28pip10 rca28pip7 rca28pip6 rca28pip5 rca28pip4 rca28pip3 rca28pip2 rca28pip1cuts 0 1 2 3 4 5 6 9 13 27MHz 48.1 94.2 129.8 181.1 208.6 246 299.6 383.1 531.3 682.7µW 3373 8449 1.471e+04 2.579e+04 3.462e+04 4.653e+04 6.748e+04 1.082e+05 2.113e+05 4.887e+05µm2 3.726e+04 4.992e+04 6.243e+04 7.618e+04 8.823e+04 1.011e+05 1.16e+05 1.527e+05 2.09e+05 3.95e+05name rca29pip0 rca29pip15 rca29pip10 rca29pip8 rca29pip6 rca29pip5 rca29pip4 rca29pip3 rca29pip2 rca29pip1cuts 0 1 2 3 4 5 7 9 14 28MHz 46.4 88.1 129.8 160 208.6 246 299.6 383.1 459.3 682.7µW 3104 8360 1.531e+04 2.341e+04 3.378e+04 4.892e+04 7.203e+04 1.117e+05 1.963e+05 5.439e+05µm2 3.857e+04 5.154e+04 6.492e+04 7.751e+04 9.196e+04 1.055e+05 1.302e+05 1.598e+05 2.276e+05 4.225e+05name rca30pip0 rca30pip15 rca30pip10 rca30pip8 rca30pip6 rca30pip5 rca30pip4 rca30pip3 rca30pip2 rca30pip1cuts 0 1 2 3 4 5 7 9 14 29MHz 44.9 88.1 129.8 160 208.6 246 299.6 383.1 531.3 682.7µW 3129 8627 1.589e+04 2.338e+04 3.477e+04 4.903e+04 7.663e+04 1.171e+05 2.406e+05 4.724e+05µm2 3.988e+04 5.342e+04 6.743e+04 8.064e+04 9.571e+04 1.099e+05 1.362e+05 1.667e+05 2.379e+05 4.51e+05name rca31pip0 rca31pip16 rca31pip11 rca31pip8 rca31pip7 rca31pip6 rca31pip5 rca31pip4 rca31pip3 rca31pip2 rca31pip1cuts 0 1 2 3 4 5 6 7 10 15 30MHz 43.5 82.8 118.6 160 181.1 208.6 246 299.6 383.1 459.3 682.7µW 3135 8235 1.484e+04 2.457e+04 3.225e+04 3.982e+04 5.684e+04 7.609e+04 1.313e+05 2.191e+05 6.154e+05µm2 4.119e+04 5.504e+04 6.903e+04 8.376e+04 9.637e+04 1.093e+05 1.241e+05 1.417e+05 1.834e+05 2.577e+05 4.804e+05
30
Table
A.3
Sim
ula
tion
resu
lts
for
RC
A:s
ofw
ord
length
sfr
om
32
to42
bit
s.0
cuts
pip
eline
com
ple
xity
maxim
alnum
ber
ofcuts
nam
erc
a32pip
0rc
a32pip
16
rca32pip
11
rca32pip
8rc
a32pip
7rc
a32pip
6rc
a32pip
5rc
a32pip
4rc
a32pip
3rc
a32pip
2rc
a32pip
1cuts
01
23
45
67
10
15
31
MH
z42.2
82.8
118.6
160
181.1
208.6
246
299.6
383.1
531.3
682.7
µW
3145
8367
1.5
57e+
04
2.4
99e+
04
3.2
54e+
04
4.4
51e+
04
6.0
03e+
04
8.6
22e+
04
1.3
7e+
05
2.7
46e+
05
6.6
44e+
05
µm
24.2
5e+
04
5.6
93e+
04
7.1
54e+
04
8.6
89e+
04
1.0
01e+
05
1.1
4e+
05
1.2
94e+
05
1.4
73e+
05
1.9
12e+
05
2.6
85e+
05
5.1
08e+
05
nam
erc
a33pip
0rc
a33pip
17
rca33pip
11
rca33pip
9rc
a33pip
7rc
a33pip
6rc
a33pip
5rc
a33pip
4rc
a33pip
3rc
a33pip
2rc
a33pip
1cuts
01
23
45
68
10
16
32
MH
z40.9
78.1
118.6
143.3
181.1
208.6
246
299.6
383.1
459.3
682.7
µW
3195
8228
1.5
59e+
04
2.2
5e+
04
3.4
97e+
04
4.7
73e+
04
6.0
3e+
04
8.9
38e+
04
1.4
28e+
05
2.6
38e+
05
7.2
54e+
05
µm
24.3
81e+
04
5.8
55e+
04
7.4
04e+
04
8.8
18e+
04
1.0
38e+
05
1.1
84e+
05
1.3
44e+
05
1.6
35e+
05
1.9
86e+
05
2.8
96e+
05
5.4
21e+
05
nam
erc
a34pip
0rc
a34pip
17
rca34pip
12
rca34pip
9rc
a34pip
7rc
a34pip
6rc
a34pip
5rc
a34pip
4rc
a34pip
3rc
a34pip
2rc
a34pip
1cuts
01
23
45
68
11
16
33
MH
z39.7
78.1
109.2
143.3
181.1
208.6
246
299.6
383.1
531.3
682.7
µW
3173
8949
1.4
98e+
04
2.4
22e+
04
3.6
18e+
04
4.6
07e+
04
6.3
87e+
04
9.3
6e+
04
1.6
02e+
05
3.0
56e+
05
5.9
86e+
05
µm
24.5
12e+
04
6.0
42e+
04
7.5
68e+
04
9.1
29e+
04
1.0
76e+
05
1.2
27e+
05
1.3
94e+
05
1.7
e+
05
2.1
69e+
05
3.0
11e+
05
5.7
42e+
05
nam
erc
a35pip
0rc
a35pip
18
rca35pip
12
rca35pip
9rc
a35pip
7rc
a35pip
6rc
a35pip
5rc
a35pip
4rc
a35pip
3rc
a35pip
2rc
a35pip
1cuts
01
23
45
68
11
17
34
MH
z38.6
73.9
109.2
143.3
181.1
208.6
246
299.6
383.1
459.3
682.7
µW
3232
8230
1.5
69e+
04
2.4
44e+
04
3.7
09e+
04
3.0
88e+
04
6.5
44e+
04
1.0
11e+
05
1.6
69e+
05
2.8
46e+
05
7.9
28e+
05
µm
24.6
43e+
04
6.2
04e+
04
7.8
17e+
04
9.4
42e+
04
1.1
13e+
05
1.2
71e+
05
1.4
43e+
05
1.7
62e+
05
2.2
53e+
05
3.2
34e+
05
6.0
74e+
05
nam
erc
a36pip
0rc
a36pip
18
rca36pip
12
rca36pip
9rc
a36pip
8rc
a36pip
6rc
a36pip
5rc
a36pip
4rc
a36pip
3rc
a36pip
2rc
a36pip
1cuts
01
23
45
78
11
17
35
MH
z37.6
73.9
109.2
143.3
160
208.6
246
299.6
383.1
531.3
682.7
µW
3264
8506
1.6
07e+
04
2.5
58e+
04
3.2
26e+
04
4.7
23e+
04
7.3
54e+
04
1.0
52e+
05
1.7
05e+
05
3.5
17e+
05
8.3
74e+
05
µm
24.7
74e+
04
6.3
94e+
04
8.0
68e+
04
9.7
53e+
04
1.1
21e+
05
1.3
15e+
05
1.6
08e+
05
1.8
24e+
05
2.3
33e+
05
3.3
55e+
05
6.4
14e+
05
nam
erc
a37pip
0rc
a37pip
19
rca37pip
13
rca37pip
10
rca37pip
8rc
a37pip
7rc
a37pip
6rc
a37pip
5rc
a37pip
4rc
a37pip
3rc
a37pip
2rc
a37pip
1cuts
01
23
45
67
912
18
36
MH
z36.6
70.1
101.1
129.8
160
181.1
208.6
246
299.6
383.1
459.3
682.7
µW
3281
8246
1.4
78e+
04
2.3
53e+
04
3.4
92e+
04
4.2
14e+
04
5.6
8e+
04
7.6
9e+
04
1.1
55e+
05
1.8
79e+
05
3.1
79e+
05
7.4
62e+
05
µm
24.9
05e+
04
6.5
56e+
04
8.2
28e+
04
9.8
86e+
04
1.1
58e+
05
1.3
12e+
05
1.4
76e+
05
1.6
67e+
05
2.0
04e+
05
2.5
32e+
05
3.5
9e+
05
6.7
64e+
05
nam
erc
a38pip
0rc
a38pip
19
rca38pip
13
rca38pip
10
rca38pip
8rc
a38pip
7rc
a38pip
6rc
a38pip
5rc
a38pip
4rc
a38pip
3rc
a38pip
2rc
a38pip
1cuts
01
23
45
67
912
18
37
MH
z35.6
70.1
101.1
129.8
160
181.1
208.6
246
299.6
383.1
531.3
682.7
µW
3247
8594
1.5
91e+
04
2.3
85e+
04
3.7
29e+
04
4.5
e+
04
6.1
56e+
04
7.8
66e+
04
1.1
91e+
05
1.8
56e+
05
3.8
08e+
05
7.6
82e+
05
µm
25.0
36e+
04
6.7
43e+
04
8.4
79e+
04
1.0
2e+
05
1.1
95e+
05
1.3
55e+
05
1.5
29e+
05
1.7
22e+
05
2.0
75e+
05
2.6
22e+
05
3.7
17e+
05
7.1
23e+
05
nam
erc
a39pip
0rc
a39pip
20
rca39pip
13
rca39pip
10
rca39pip
8rc
a39pip
7rc
a39pip
6rc
a39pip
5rc
a39pip
4rc
a39pip
3rc
a39pip
2rc
a39pip
1cuts
01
23
45
67
912
19
38
MH
z34.7
66.7
101.1
129.8
160
181.1
208.6
246
299.6
383.1
459.3
682.7
µW
3284
8232
1.5
99e+
04
2.4
89e+
04
3.5
57e+
04
4.5
99e+
04
6.1
8e+
04
8.2
59e+
04
1.2
04e+
05
1.9
96e+
05
3.4
81e+
05
9.7
83e+
05
µm
25.1
67e+
04
6.9
05e+
04
8.7
29e+
04
1.0
51e+
05
1.2
33e+
05
1.3
99e+
05
1.5
78e+
05
1.7
78e+
05
2.1
44e+
05
2.7
08e+
05
3.9
65e+
05
7.4
91e+
05
nam
erc
a40pip
0rc
a40pip
20
rca40pip
14
rca40pip
10
rca40pip
8rc
a40pip
7rc
a40pip
6rc
a40pip
5rc
a40pip
4rc
a40pip
3rc
a40pip
2rc
a40pip
1cuts
01
23
45
67
913
19
39
MH
z33.9
66.7
94.2
129.8
160
181.1
208.6
246
299.6
383.1
531.3
682.7
µW
3233
8475
1.5
36e+
04
2.5
96e+
04
3.9
07e+
04
4.8
72e+
04
6.4
71e+
04
8.4
86e+
04
1.2
7e+
05
2.1
49e+
05
3.9
77e+
05
8.1
3e+
05
µm
25.2
98e+
04
7.0
94e+
04
8.8
92e+
04
1.0
82e+
05
1.2
7e+
05
1.4
43e+
05
1.6
28e+
05
1.8
34e+
05
2.2
12e+
05
2.9
22e+
05
4.0
98e+
05
7.8
69e+
05
nam
erc
a41pip
0rc
a41pip
21
rca41pip
14
rca41pip
11
rca41pip
9rc
a41pip
7rc
a41pip
6rc
a41pip
5rc
a41pip
4rc
a41pip
3rc
a41pip
2rc
a41pip
1cuts
01
23
45
68
10
13
20
40
MH
z33
63.6
94.2
118.6
143.3
181.1
208.6
246
299.6
383.1
459.3
682.7
µW
3204
8248
1.5
08e+
04
2.3
97e+
04
3.2
86e+
04
5.1
19e+
04
6.4
51e+
04
9.7
54e+
04
1.3
33e+
05
2.2
28e+
05
3.8
88e+
05
1.0
73e+
06
µm
25.4
29e+
04
7.2
56e+
04
9.1
42e+
04
1.0
95e+
05
1.2
77e+
05
1.4
86e+
05
1.6
78e+
05
2.0
2e+
05
2.4
1e+
05
3.0
18e+
05
4.3
59e+
05
8.2
56e+
05
nam
erc
a42pip
0rc
a42pip
21
rca42pip
14
rca42pip
11
rca42pip
9rc
a42pip
7rc
a42pip
6rc
a42pip
5rc
a42pip
4rc
a42pip
3rc
a42pip
2rc
a42pip
1cuts
01
23
45
68
10
13
20
41
MH
z32.3
63.6
94.2
118.6
143.3
181.1
208.6
246
299.6
383.1
531.3
682.7
µW
3202
8576
1.6
06e+
04
2.5
26e+
04
3.3
18e+
04
5.1
15e+
04
6.5
41e+
04
9.5
3e+
04
1.3
55e+
05
2.2
73e+
05
4.7
17e+
05
9.6
31e+
05
µm
25.5
6e+
04
7.4
44e+
04
9.3
93e+
04
1.1
26e+
05
1.3
14e+
05
1.5
3e+
05
1.7
28e+
05
2.0
86e+
05
2.4
88e+
05
3.1
11e+
05
4.4
98e+
05
8.6
52e+
05
31
Table
A.4
Sim
ula
tion
results
for
RC
A:s
ofw
ord
length
sfro
m43
to53
bits.
0cuts
pip
elin
ecom
ple
xity
maxim
alnum
ber
ofcuts
nam
erca
43pip
0rca
43pip
22
rca43pip
15
rca43pip
11
rca43pip
9rca
43pip
8rca
43pip
7rca
43pip
6rca
43pip
5rca
43pip
4rca
43pip
3rca
43pip
2rca
43pip
1cuts
01
23
45
67
810
14
21
42
MH
z31.5
60.8
88.1
118.6
143.3
160
181.1
208.6
246
299.6
383.1
459.3
682.7
µW
3223
8416
1.5
09e+
04
2.5
52e+
04
3.7
34e+
04
4.5
25e+
04
5.6
63e+
04
7.7
52e+
04
9.8
1e+
04
1.3
97e+
05
2.4
47e+
05
4.1
33e+
05
9.9
85e+
05
µm
25.6
91e+
04
7.6
06e+
04
9.5
53e+
04
1.1
58e+
05
1.3
52e+
05
1.5
28e+
05
1.7
1e+
05
1.9
14e+
05
2.1
48e+
05
2.5
62e+
05
3.3
41e+
05
4.7
71e+
05
9.0
58e+
05
nam
erca
44pip
0rca
44pip
22
rca44pip
15
rca44pip
11
rca44pip
9rca
44pip
8rca
44pip
7rca
44pip
6rca
44pip
5rca
44pip
4rca
44pip
3rca
44pip
2rca
44pip
1cuts
01
23
45
67
810
14
21
43
MH
z30.8
60.8
88.1
118.6
143.3
160
181.1
208.6
246
299.6
383.1
531.3
682.7
µW
3141
8558
1.5
45e+
04
2.7
07e+
04
3.6
32e+
04
4.7
23e+
04
5.9
49e+
04
7.4
05e+
04
1.0
15e+
05
1.4
51e+
05
2.5
28e+
05
4.9
26e+
05
1.0
28e+
06
µm
25.8
22e+
04
7.7
95e+
04
9.8
04e+
04
1.1
89e+
05
1.3
89e+
05
1.5
71e+
05
1.7
62e+
05
1.9
73e+
05
2.2
1e+
05
2.6
37e+
05
3.4
43e+
05
4.9
16e+
05
9.4
73e+
05
nam
erca
45pip
0rca
45pip
23
rca45pip
15
rca45pip
12
rca45pip
9rca
45pip
8rca
45pip
7rca
45pip
6rca
45pip
5rca
45pip
4rca
45pip
3rca
45pip
2rca
45pip
1cuts
01
23
45
67
811
14
22
44
MH
z30.1
58.3
88.1
109.2
143.3
160
181.1
208.6
246
299.6
383.1
459.3
682.7
µW
3070
8196
1.6
12e+
04
2.4
9e+
04
3.7
92e+
04
4.7
85e+
04
6.1
79e+
04
7.8
98e+
04
1.0
87e+
05
1.6
42e+
05
2.6
36e+
05
4.3
62e+
05
1.0
64e+
06
µm
25.9
53e+
04
7.9
57e+
04
1.0
05e+
05
1.2
02e+
05
1.4
26e+
05
1.6
15e+
05
1.8
12e+
05
2.0
29e+
05
2.2
72e+
05
2.8
54e+
05
3.5
42e+
05
5.2
01e+
05
9.8
97e+
05
nam
erca
46pip
0rca
46pip
23
rca46pip
16
rca46pip
12
rca46pip
10
rca46pip
8rca
46pip
7rca
46pip
6rca
46pip
5rca
46pip
4rca
46pip
3rca
46pip
2rca
46pip
1cuts
01
23
45
67
911
15
22
45
MH
z29.5
58.3
82.8
109.2
129.8
160
181.1
208.6
246
299.6
383.1
531.3
682.7
µW
3074
8532
1.5
59e+
04
2.3
99e+
04
3.4
28e+
04
4.9
72e+
04
6.4
01e+
04
8.9
99e+
04
1.1
34e+
05
1.7
11e+
05
2.8
53e+
05
5.3
2e+
05
1.3
11e+
06
µm
26.0
84e+
04
8.1
44e+
04
1.0
22e+
05
1.2
33e+
05
1.4
34e+
05
1.6
59e+
05
1.8
62e+
05
2.0
85e+
05
2.4
8e+
05
2.9
38e+
05
3.7
87e+
05
5.3
53e+
05
1.0
33e+
06
nam
erca
47pip
0rca
47pip
24
rca47pip
16
rca47pip
12
rca47pip
10
rca47pip
8rca
47pip
7rca
47pip
6rca
47pip
5rca
47pip
4rca
47pip
3rca
47pip
2rca
47pip
1cuts
01
23
45
67
911
15
23
46
MH
z28.9
55.9
82.8
109.2
129.8
160
181.1
208.6
246
299.6
383.1
459.3
682.7
µW
3194
7954
1.5
85e+
04
2.4
42e+
04
3.5
65e+
04
4.9
91e+
04
6.5
29e+
04
8.3
8e+
04
1.1
76e+
05
1.7
4e+
05
2.7
95e+
05
5.0
23e+
05
1.1
44e+
06
µm
26.2
15e+
04
8.3
06e+
04
1.0
47e+
05
1.2
65e+
05
1.4
71e+
05
1.7
02e+
05
1.9
12e+
05
2.1
4e+
05
2.5
51e+
05
3.0
18e+
05
3.8
95e+
05
5.6
5e+
05
1.0
77e+
06
nam
erca
48pip
0rca
48pip
24
rca48pip
16
rca48pip
12
rca48pip
10
rca48pip
8rca
48pip
7rca
48pip
6rca
48pip
5rca
48pip
4rca
48pip
3rca
48pip
2rca
48pip
1cuts
01
23
45
67
911
15
23
47
MH
z28.3
55.9
82.8
109.2
129.8
160
181.1
208.6
246
299.6
383.1
531.3
682.7
µW
3137
8376
1.5
96e+
04
2.5
03e+
04
3.6
19e+
04
5.2
36e+
04
6.7
81e+
04
8.9
15e+
04
1.2
16e+
05
1.7
67e+
05
3.0
28e+
05
5.7
64e+
05
1.4
34e+
06
µm
26.3
46e+
04
8.4
96e+
04
1.0
72e+
05
1.2
96e+
05
1.5
08e+
05
1.7
46e+
05
1.9
61e+
05
2.1
97e+
05
2.6
19e+
05
3.0
99e+
05
4.0
01e+
05
5.8
09e+
05
1.1
22e+
06
nam
erca
49pip
0rca
49pip
25
rca49pip
17
rca49pip
13
rca49pip
10
rca49pip
9rca
49pip
7rca
49pip
6rca
49pip
5rca
49pip
4rca
49pip
3rca
49pip
2rca
49pip
1cuts
01
23
45
68
912
16
24
48
MH
z27.7
53.7
78.1
101.1
129.8
143.3
181.1
208.6
246
299.6
383.1
459.3
682.7
µW
3177
8274
1.6
2e+
04
2.2
69e+
04
3.7
08e+
04
4.5
55e+
04
6.8
76e+
04
9.9
85e+
04
1.2
41e+
05
1.9
03e+
05
3.1
71e+
05
5.2
21e+
05
1.5
34e+
06
µm
26.4
77e+
04
8.6
58e+
04
1.0
88e+
05
1.3
09e+
05
1.5
46e+
05
1.7
43e+
05
2.0
11e+
05
2.4
07e+
05
2.6
88e+
05
3.3
34e+
05
4.2
61e+
05
6.1
18e+
05
1.1
69e+
06
nam
erca
50pip
0rca
50pip
25
rca50pip
17
rca50pip
13
rca50pip
10
rca50pip
9rca
50pip
8rca
50pip
7rca
50pip
6rca
50pip
5rca
50pip
4rca
50pip
3rca
50pip
2rca
50pip
1cuts
01
23
45
67
89
12
16
24
49
MH
z27.2
53.7
78.1
101.1
129.8
143.3
160
181.1
208.6
246
299.6
383.1
531.3
682.7
µW
3158
8435
1.5
92e+
04
2.4
21e+
04
3.7
7e+
04
4.7
56e+
04
6.0
68e+
04
7.5
51e+
04
1.0
34e+
05
1.3
38e+
05
1.9
41e+
05
3.1
23e+
05
6.0
93e+
05
1.4
97e+
06
µm
26.6
08e+
04
8.8
45e+
04
1.1
13e+
05
1.3
4e+
05
1.5
83e+
05
1.7
87e+
05
1.9
97e+
05
2.2
19e+
05
2.4
72e+
05
2.7
56e+
05
3.4
25e+
05
4.3
76e+
05
6.2
82e+
05
1.2
16e+
06
nam
erca
51pip
0rca
51pip
26
rca51pip
17
rca51pip
13
rca51pip
11
rca51pip
9rca
51pip
8rca
51pip
7rca
51pip
6rca
51pip
5rca
51pip
4rca
51pip
3rca
51pip
2rca
51pip
1cuts
01
23
45
67
810
12
16
25
50
MH
z26.6
51.7
78.1
101.1
118.6
143.3
160
181.1
208.6
246
299.6
383.1
459.3
682.7
µW
3166
8431
1.6
28e+
04
2.3
9e+
04
3.4
56e+
04
4.9
72e+
04
6.1
76e+
04
7.8
8e+
04
9.8
39e+
04
1.4
56e+
05
1.9
67e+
05
3.3
24e+
05
5.6
35e+
05
1.6
24e+
06
µm
26.7
4e+
04
9.0
07e+
04
1.1
38e+
05
1.3
71e+
05
1.5
9e+
05
1.8
3e+
05
2.0
47e+
05
2.2
78e+
05
2.5
35e+
05
2.9
85e+
05
3.5
11e+
05
4.4
87e+
05
6.6
04e+
05
1.2
64e+
06
nam
erca
52pip
0rca
52pip
26
rca52pip
18
rca52pip
13
rca52pip
11
rca52pip
9rca
52pip
8rca
52pip
7rca
52pip
6rca
52pip
5rca
52pip
4rca
52pip
3rca
52pip
2rca
52pip
1cuts
01
23
45
67
810
12
17
25
51
MH
z26.1
51.7
73.9
101.1
118.6
143.3
160
181.1
208.6
246
299.6
383.1
531.3
682.7
µW
3136
8481
1.5
69e+
04
2.5
41e+
04
3.7
56e+
04
5.0
28e+
04
6.5
1e+
04
7.8
95e+
04
1.1
32e+
05
1.4
88e+
05
2.1
1e+
05
3.5
36e+
05
6.8
72e+
05
1.4
08e+
06
µm
26.8
7e+
04
9.1
96e+
04
1.1
54e+
05
1.4
02e+
05
1.6
27e+
05
1.8
74e+
05
2.0
96e+
05
2.3
34e+
05
2.5
97e+
05
3.0
63e+
05
3.5
98e+
05
4.7
63e+
05
6.7
75e+
05
1.3
12e+
06
nam
erca
53pip
0rca
53pip
27
rca53pip
18
rca53pip
14
rca53pip
11
rca53pip
9rca
53pip
8rca
53pip
7rca
53pip
6rca
53pip
5rca
53pip
4rca
53pip
3rca
53pip
2rca
53pip
1cuts
01
23
45
67
810
13
17
26
52
MH
z25.6
49.8
73.9
94.2
118.6
143.3
160
181.1
208.6
246
299.6
383.1
459.3
682.7
µW
3118
8415
1.5
83e+
04
2.4
48e+
04
3.6
94e+
04
5.1
95e+
04
6.6
48e+
04
8.0
54e+
04
1.0
63e+
05
1.4
7e+
05
2.1
54e+
05
3.5
87e+
05
6.2
03e+
05
1.8
18e+
06
µm
27.0
02e+
04
9.3
58e+
04
1.1
79e+
05
1.4
16e+
05
1.6
65e+
05
1.9
17e+
05
2.1
46e+
05
2.3
9e+
05
2.6
59e+
05
3.1
37e+
05
3.8
52e+
05
4.8
84e+
05
7.1
09e+
05
1.3
62e+
06
32
Table
A.5
Sim
ula
tion
resu
lts
for
RC
A:s
ofw
ord
length
sfr
om
54
to64
bit
s.0
cuts
pip
eline
com
ple
xity
maxim
alnum
ber
ofcuts
nam
erc
a54pip
0rc
a54pip
27
rca54pip
18
rca54pip
14
rca54pip
11
rca54pip
9rc
a54pip
8rc
a54pip
7rc
a54pip
6rc
a54pip
5rc
a54pip
4rc
a54pip
3rc
a54pip
2rc
a54pip
1cuts
01
23
45
67
810
13
17
26
53
MH
z25.2
49.8
73.9
94.2
118.6
143.3
160
181.1
208.6
246
299.6
383.1
531.3
682.7
µW
3108
8372
1.6
35e+
04
2.4
58e+
04
3.6
63e+
04
5.2
27e+
04
6.7
61e+
04
8.1
93e+
04
1.0
71e+
05
1.5
17e+
05
2.2
17e+
05
3.6
13e+
05
7.1
77e+
05
1.8
12e+
06
µm
27.1
33e+
04
9.5
46e+
04
1.2
04e+
05
1.4
47e+
05
1.7
02e+
05
1.9
61e+
05
2.1
96e+
05
2.4
46e+
05
2.7
21e+
05
3.2
12e+
05
3.9
48e+
05
5.0
02e+
05
7.2
86e+
05
1.4
13e+
06
nam
erc
a55pip
0rc
a55pip
28
rca55pip
19
rca55pip
14
rca55pip
11
rca55pip
10
rca55pip
8rc
a55pip
7rc
a55pip
6rc
a55pip
5rc
a55pip
4rc
a55pip
3rc
a55pip
2rc
a55pip
1cuts
01
23
45
67
910
13
18
27
54
MH
z24.7
48.1
70.1
94.2
118.6
129.8
160
181.1
208.6
246
299.6
383.1
459.3
682.7
µW
3128
8169
1.5
97e+
04
2.5
44e+
04
3.7
64e+
04
4.6
49e+
04
6.8
97e+
04
8.4
13e+
04
1.2
23e+
05
1.5
57e+
05
2.2
71e+
05
3.8
47e+
05
6.7
71e+
05
1.4
68e+
06
µm
27.2
64e+
04
9.7
08e+
04
1.2
2e+
05
1.4
78e+
05
1.7
39e+
05
1.9
59e+
05
2.2
46e+
05
2.5
02e+
05
2.9
56e+
05
3.2
86e+
05
4.0
41e+
05
5.2
93e+
05
7.6
33e+
05
1.4
65e+
06
nam
erc
a56pip
0rc
a56pip
28
rca56pip
19
rca56pip
14
rca56pip
12
rca56pip
10
rca56pip
8rc
a56pip
7rc
a56pip
6rc
a56pip
5rc
a56pip
4rc
a56pip
3rc
a56pip
2rc
a56pip
1cuts
01
23
45
67
911
13
18
27
55
MH
z24.3
48.1
70.1
94.2
109.2
129.8
160
181.1
208.6
246
299.6
383.1
531.3
682.7
µW
3132
8505
1.6
61e+
04
2.5
89e+
04
3.5
32e+
04
4.9
01e+
04
6.9
88e+
04
8.5
87e+
04
1.2
29e+
05
1.6
57e+
05
2.3
09e+
05
3.8
75e+
05
6.7
78e+
05
1.5
28e+
06
µm
27.3
95e+
04
9.8
97e+
04
1.2
45e+
05
1.5
09e+
05
1.7
47e+
05
2.0
03e+
05
2.2
96e+
05
2.5
57e+
05
3.0
28e+
05
3.5
37e+
05
4.1
35e+
05
5.4
2e+
05
7.8
16e+
05
1.5
17e+
06
nam
erc
a57pip
0rc
a57pip
29
rca57pip
19
rca57pip
15
rca57pip
12
rca57pip
10
rca57pip
9rc
a57pip
8rc
a57pip
7rc
a57pip
6rc
a57pip
5rc
a57pip
4rc
a57pip
3rc
a57pip
2rc
a57pip
1cuts
01
23
45
67
89
11
14
18
28
56
MH
z23.9
46.4
70.1
88.1
109.2
129.8
143.3
160
181.1
208.6
246
299.6
383.1
459.3
682.7
µW
3180
8458
1.7
08e+
04
2.4
17e+
04
3.5
41e+
04
4.8
43e+
04
6.5
05e+
04
7.4
37e+
04
9.8
31e+
04
1.2
53e+
05
1.7
16e+
05
2.5
41e+
05
3.8
88e+
05
6.9
86e+
05
1.6
9e+
06
µm
27.5
26e+
04
1.0
06e+
05
1.2
7e+
05
1.5
22e+
05
1.7
84e+
05
2.0
46e+
05
2.2
8e+
05
2.5
25e+
05
2.7
93e+
05
3.0
96e+
05
3.6
21e+
05
4.4
07e+
05
5.5
44e+
05
8.1
75e+
05
1.5
71e+
06
nam
erc
a58pip
0rc
a58pip
29
rca58pip
20
rca58pip
15
rca58pip
12
rca58pip
10
rca58pip
9rc
a58pip
8rc
a58pip
7rc
a58pip
6rc
a58pip
5rc
a58pip
4rc
a58pip
3rc
a58pip
2rc
a58pip
1cuts
01
23
45
67
89
11
14
19
28
57
MH
z23.5
46.4
66.7
88.1
109.2
129.8
143.3
160
181.1
208.6
246
299.6
383.1
531.3
682.7
µW
3093
8368
1.6
41e+
04
2.4
69e+
04
3.7
e+
04
5.2
29e+
04
6.0
89e+
04
8.0
64e+
04
9.9
85e+
04
1.1
97e+
05
1.7
41e+
05
2.4
64e+
05
4.3
91e+
05
8.3
33e+
05
2.0
27e+
06
µm
27.6
57e+
04
1.0
25e+
05
1.2
87e+
05
1.5
53e+
05
1.8
21e+
05
2.0
9e+
05
2.3
3e+
05
2.5
84e+
05
2.8
58e+
05
3.1
65e+
05
3.7
02e+
05
4.5
1e+
05
5.8
5e+
05
8.3
64e+
05
1.6
25e+
06
nam
erc
a59pip
0rc
a59pip
30
rca59pip
20
rca59pip
15
rca59pip
12
rca59pip
10
rca59pip
9rc
a59pip
8rc
a59pip
7rc
a59pip
6rc
a59pip
5rc
a59pip
4rc
a59pip
3rc
a59pip
2rc
a59pip
1cuts
01
23
45
67
89
11
14
19
29
58
MH
z23.1
44.9
66.7
88.1
109.2
129.8
143.3
160
181.1
208.6
246
299.6
383.1
459.3
682.7
µW
3157
8428
1.6
47e+
04
2.5
02e+
04
3.8
47e+
04
5e+
04
6.3
15e+
04
8.2
46e+
04
9.9
89e+
04
1.2
07e+
05
1.7
82e+
05
2.5
53e+
05
4.4
99e+
05
7.3
79e+
05
2.1
38e+
06
µm
27.7
88e+
04
1.0
41e+
05
1.3
12e+
05
1.5
85e+
05
1.8
59e+
05
2.1
33e+
05
2.3
8e+
05
2.6
4e+
05
2.9
2e+
05
3.2
33e+
05
3.7
82e+
05
4.6
09e+
05
5.9
84e+
05
8.7
35e+
05
1.6
81e+
06
nam
erc
a60pip
0rc
a60pip
30
rca60pip
20
rca60pip
15
rca60pip
12
rca60pip
10
rca60pip
9rc
a60pip
8rc
a60pip
7rc
a60pip
6rc
a60pip
5rc
a60pip
4rc
a60pip
3rc
a60pip
2rc
a60pip
1cuts
01
23
45
67
89
11
14
19
29
59
MH
z22.7
44.9
66.7
88.1
109.2
129.8
143.3
160
181.1
208.6
246
299.6
383.1
531.3
682.7
µW
3201
8668
1.5
9e+
04
2.5
55e+
04
3.8
79e+
04
5.4
48e+
04
6.4
32e+
04
7.9
59e+
04
1.0
36e+
05
1.3
04e+
05
1.8
48e+
05
2.6
4e+
05
4.3
98e+
05
9.1
74e+
05
2.3
17e+
06
µm
27.9
19e+
04
1.0
6e+
05
1.3
37e+
05
1.6
16e+
05
1.8
96e+
05
2.1
77e+
05
2.4
3e+
05
2.6
96e+
05
2.9
82e+
05
3.3
01e+
05
3.8
63e+
05
4.7
08e+
05
6.1
14e+
05
8.9
31e+
05
1.7
37e+
06
nam
erc
a61pip
0rc
a61pip
31
rca61pip
21
rca61pip
16
rca61pip
13
rca61pip
11
rca61pip
9rc
a61pip
8rc
a61pip
7rc
a61pip
6rc
a61pip
5rc
a61pip
4rc
a61pip
3rc
a61pip
2rc
a61pip
1cuts
01
23
45
67
810
12
15
20
30
60
MH
z22.3
43.5
63.6
82.8
101.1
118.6
143.3
160
181.1
208.6
246
299.6
383.1
459.3
682.7
µW
3090
7985
1.5
05e+
04
2.4
55e+
04
3.7
01e+
04
4.8
29e+
04
6.7
18e+
04
8.5
92e+
04
1.0
64e+
05
1.3
22e+
05
1.9
65e+
05
2.7
74e+
05
4.7
82e+
05
8.1
12e+
05
2.3
62e+
06
µm
28.0
5e+
04
1.0
76e+
05
1.3
53e+
05
1.6
29e+
05
1.9
03e+
05
2.1
74e+
05
2.4
79e+
05
2.7
52e+
05
3.0
44e+
05
3.5
61e+
05
4.1
36e+
05
4.9
99e+
05
6.4
36e+
05
9.3
14e+
05
1.7
94e+
06
nam
erc
a62pip
0rc
a62pip
31
rca62pip
21
rca62pip
16
rca62pip
13
rca62pip
11
rca62pip
9rc
a62pip
8rc
a62pip
7rc
a62pip
6rc
a62pip
5rc
a62pip
4rc
a62pip
3rc
a62pip
2rc
a62pip
1cuts
01
23
45
67
810
12
15
20
30
61
MH
z22
43.5
63.6
82.8
101.1
118.6
143.3
160
181.1
208.6
246
299.6
383.1
531.3
682.7
µW
3147
8662
1.5
9e+
04
2.5
96e+
04
3.5
26e+
04
5.2
21e+
04
6.6
62e+
04
8.7
63e+
04
1.0
69e+
05
1.5
24e+
05
2.0
08e+
05
2.8
38e+
05
4.6
57e+
05
9.8
3e+
05
2.5
43e+
06
µm
28.1
81e+
04
1.0
95e+
05
1.3
78e+
05
1.6
6e+
05
1.9
4e+
05
2.2
18e+
05
2.5
29e+
05
2.8
08e+
05
3.1
07e+
05
3.6
39e+
05
4.2
25e+
05
5.1
08e+
05
6.5
75e+
05
9.5
16e+
05
1.8
53e+
06
nam
erc
a63pip
0rc
a63pip
32
rca63pip
21
rca63pip
16
rca63pip
13
rca63pip
11
rca63pip
9rc
a63pip
8rc
a63pip
7rc
a63pip
6rc
a63pip
5rc
a63pip
4rc
a63pip
3rc
a63pip
2rc
a63pip
1cuts
01
23
45
67
810
12
15
20
31
62
MH
z21.6
42.2
63.6
82.8
101.1
118.6
143.3
160
181.1
208.6
246
299.6
383.1
459.3
682.7
µW
3003
8335
1.6
84e+
04
2.6
29e+
04
3.7
25e+
04
5.3
29e+
04
6.8
38e+
04
8.9
15e+
04
1.0
98e+
05
1.5
44e+
05
2.0
43e+
05
2.8
02e+
05
4.9
51e+
05
8.9
13e+
05
1.9
5e+
06
µm
28.3
12e+
04
1.1
11e+
05
1.4
03e+
05
1.6
92e+
05
1.9
78e+
05
2.2
61e+
05
2.5
79e+
05
2.8
64e+
05
3.1
69e+
05
3.7
14e+
05
4.3
12e+
05
5.2
13e+
05
6.7
12e+
05
9.9
12e+
05
1.9
12e+
06
nam
erc
a64pip
0rc
a64pip
32
rca64pip
22
rca64pip
16
rca64pip
13
rca64pip
11
rca64pip
10
rca64pip
8rc
a64pip
7rc
a64pip
6rc
a64pip
5rc
a64pip
4rc
a64pip
3rc
a64pip
2rc
a64pip
1cuts
01
23
45
67
910
12
15
21
31
63
MH
z21.3
42.2
60.8
82.8
101.1
118.6
129.8
160
181.1
208.6
246
296.6
383.1
531.3
682.7
µW
3107
8609
1.6
25e+
04
2.5
92e+
04
3.8
07e+
04
5.1
45e+
04
6.1
45e+
04
9.0
93e+
04
1.1
82e+
05
1.5
78e+
05
2.0
16e+
05
2.9
93e+
05
5.2
06e+
05
9.9
62e+
05
2.0
51e+
06
µm
28.4
43e+
04
1.1
3e+
05
1.4
19e+
05
1.7
23e+
05
2.0
15e+
05
2.3
05e+
05
2.5
65e+
05
2.9
2e+
05
3.4
32e+
05
3.7
88e+
05
4.3
99e+
05
5.3
19e+
05
7.0
49e+
05
1.0
12e+
06
1.9
72e+
06
33
Table A.6 Simulation results for COSA:s of word lengths from 3 to 22 bits.no pipline 1 cut 2 cuts 3 cuts 4 cuts
name cosa3pip0 cosa3pip2 cosa3pip1MHz 516.5 653.4 704.6µW 5701 1.043e+04 1.971e+04µm2 4878 7753 1.403e+04name cosa4pip0 cosa4pip2 cosa4pip1MHz 427.7 506.7 704.6µW 7079 1.043e+04 2.398e+04µm2 6625 1.041e+04 1.873e+04name cosa5pip0 cosa5pip3 cosa5pip2 cosa5pip1MHz 427.7 558.3 522.4 704.6µW 7391 1.284e+04 1.545e+04 3.267e+04µm2 8044 1.159e+04 1.582e+04 2.657e+04name cosa6pip0 cosa6pip3 cosa6pip2 cosa6pip1MHz 427.7 558.3 522.4 704.6µW 8542 1.533e+04 1.853e+04 3.946e+04µm2 9792 1.38e+04 1.927e+04 3.189e+04name cosa7pip0 cosa7pip3 cosa7pip2 cosa7pip1MHz 427.7 478.3 522.4 704.6µW 1.039e+04 1.573e+04 2.32e+04 4.791e+04µm2 1.154e+04 1.753e+04 2.284e+04 3.782e+04name cosa8pip0 cosa8pip3 cosa8pip2 cosa8pip1MHz 380.2 478.3 522.4 704.6µW 1.044e+04 1.904e+04 2.5e+04 5.543e+04µm2 1.35e+04 2.011e+04 2.652e+04 4.328e+04name cosa9pip0 cosa9pip3 cosa9pip2 cosa9pip1MHz 377.6 478.3 522.4 674.7µW 1.138e+04 2.093e+04 2.919e+04 6.616e+04µm2 1.492e+04 2.277e+04 3.039e+04 5.356e+04name cosa10pip0 cosa10pip3 cosa10pip2 cosa10pip1MHz 371.3 478.3 522.4 674.7µW 1.284e+04 2.333e+04 3.312e+04 7.403e+04µm2 1.667e+04 2.513e+04 3.385e+04 5.95e+04name cosa11pip0 cosa11pip3 cosa11pip2 cosa11pip1MHz 365.1 478.3 504.5 674.7µW 1.364e+04 2.527e+04 3.427e+04 8.402e+04µm2 1.842e+04 2.812e+04 3.742e+04 6.605e+04name cosa12pip0 cosa12pip3 cosa12pip2 cosa12pip1MHz 359.4 478.3 486.8 674.7µW 1.393e+04 2.848e+04 3.632e+04 9.109e+04µm2 2.038e+04 3.07e+04 4.11e+04 7.213e+04name cosa13pip0 cosa13pip3 cosa13pip2 cosa13pip1MHz 353.9 478.3 553.4 674.5µW 1.548e+04 3.091e+04 4.985e+04 9.576e+04µm2 2.213e+04 3.369e+04 4.668e+04 7.93e+04name cosa14pip0 cosa14pip3 cosa14pip2 cosa14pip1MHz 348.7 478.3 553.4 636.3µW 1.678e+04 3.2e+04 5.202e+04 9.529e+04µm2 2.41e+04 3.627e+04 5.05e+04 8.538e+04name cosa15pip0 cosa15pip3 cosa15pip2 cosa15pip1MHz 343.6 478.3 553.4 602.3µW 1.763e+04 3.67e+04 5.655e+04 9.719e+04µm2 2.606e+04 3.948e+04 5.433e+04 9.207e+04name cosa16pip0 cosa16pip3 cosa16pip2 cosa16pip1MHz 338.8 478.3 544.9 571.7µW 1.967e+04 3.914e+04 6.103e+04 9.968e+04µm2 2.825e+04 4.228e+04 5.837e+04 9.83e+04name cosa17pip0 cosa17pip4 cosa17pip3 cosa17pip2 cosa17pip1MHz 310.6 419.6 478.3 544.9 627.5µW 1.86e+04 3.295e+04 4.841e+04 7.112e+04 1.308e+05µm2 2.967e+04 4.184e+04 5.143e+04 6.876e+04 1.149e+05name cosa18pip0 cosa18pip4 cosa18pip3 cosa18pip2 cosa18pip1MHz 306.4 419.6 478.3 544.9 627.5µW 1.944e+04 3.585e+04 4.947e+04 7.391e+04 1.429e+05µm2 3.141e+04 4.421e+04 5.442e+04 7.298e+04 1.217e+05name cosa19pip0 cosa19pip4 cosa19pip3 cosa19pip2 cosa19pip1MHz 302.1 419.6 478.3 544.9 627.5µW 2.106e+04 3.792e+04 5.364e+04 7.965e+04 1.476e+05µm2 3.316e+04 4.657e+04 5.802e+04 7.72e+04 1.29e+05name cosa20pip0 cosa20pip4 cosa20pip3 cosa20pip2 cosa20pip1MHz 298.2 419.6 478.3 544.9 627.5µW 2.011e+04 4.08e+04 5.673e+04 8.314e+04 1.572e+05µm2 3.513e+04 4.916e+04 6.122e+04 8.164e+04 1.359e+05name cosa21pip0 cosa21pip4 cosa21pip3 cosa21pip2 cosa21pip1MHz 294.4 419.6 478.3 544.9 627.5µW 2.206e+04 4.26e+04 6.077e+04 8.882e+04 1.657e+05µm2 3.687e+04 5.214e+04 6.483e+04 8.649e+04 1.439e+05name cosa22pip0 cosa22pip4 cosa22pip3 cosa22pip2 cosa22pip1MHz 290.7 419.6 478.3 544.9 627.5µW 2.257e+04 4.512e+04 6.246e+04 9.042e+04 1.758e+05µm2 3.884e+04 5.473e+04 6.803e+04 9.093e+04 1.508e+05
34
Table A.7 Simulation results for COSA:s of word lengths from 23 to 43 bits.no pipline 1 cut 2 cuts 3 cuts 4 cuts
name cosa23pip0 cosa23pip4 cosa23pip3 cosa23pip2 cosa23pip1MHz 287.2 419.6 478.3 544.9 627.5µW 2.319e+04 4.577e+04 6.523e+04 9.497e+04 1.86e+05µm2 4.08e+04 5.731e+04 7.185e+04 9.537e+04 1.583e+05name cosa24pip0 cosa24pip4 cosa24pip3 cosa24pip2 cosa24pip1MHz 283.8 415.5 478.3 544.9 627.5µW 2.431e+04 4.89e+04 6.915e+04 1.001e+05 1.983e+05µm2 4.299e+04 6.012e+04 7.528e+04 1e+05 1.655e+05name cosa25pip0 cosa25pip4 cosa25pip3 cosa25pip2 cosa25pip1MHz 280.4 408.3 478.3 544.9 595µW 2.593e+04 4.967e+04 7.199e+04 1.055e+05 1.896e+05µm2 4.474e+04 6.31e+04 7.888e+04 1.049e+05 1.74e+05name cosa26pip0 cosa26pip4 cosa26pip3 cosa26pip2 cosa26pip1MHz 277.3 401.6 478.3 544.9 567.1µW 2.691e+04 5.128e+04 7.613e+04 1.1e+05 1.912e+05µm2 4.67e+04 6.568e+04 8.208e+04 1.093e+05 1.809e+05name cosa27pip0 cosa27pip4 cosa27pip3 cosa27pip2 cosa27pip1MHz 274.2 395.2 478.3 541.7 541.7µW 2.693e+04 5.209e+04 7.972e+04 1.148e+05 1.865e+05µm2 4.867e+04 6.827e+04 8.59e+04 1.138e+05 1.885e+05name cosa28pip0 cosa28pip4 cosa28pip3 cosa28pip2 cosa28pip1MHz 271.2 389 478.3 518.4 518.4µW 2.77e+04 5.329e+04 8.301e+04 1.177e+05 1.922e+05µm2 5.085e+04 7.107e+04 8.933e+04 1.184e+05 1.956e+05name cosa29pip0 cosa29pip4 cosa29pip3 cosa29pip2 cosa29pip1MHz 268.3 383 478.3 497.1 497.1µW 2.842e+04 5.437e+04 8.736e+04 1.157e+05 1.902e+05µm2 5.282e+04 7.427e+04 9.315e+04 1.235e+05 2.037e+05name cosa30pip0 cosa30pip4 cosa30pip3 cosa30pip2 cosa30pip1MHz 265.4 377.1 478.3 478.3 478.3µW 2.911e+04 5.623e+04 9.014e+04 1.186e+05 1.922e+05µm2 5.5e+04 7.708e+04 9.657e+04 1.281e+05 2.109e+05name cosa31pip0 cosa31pip4 cosa31pip3 cosa31pip2 cosa31pip1MHz 262.4 371.2 459.9 459.9 459.9µW 3.034e+04 5.878e+04 8.967e+04 1.147e+05 1.919e+05µm2 5.718e+04 7.988e+04 1.006e+05 1.328e+05 2.186e+05name cosa32pip0 cosa32pip4 cosa32pip3 cosa32pip2 cosa32pip1MHz 259.7 365.7 478.3 544.9 627.5µW 3.178e+04 5.859e+04 9.75e+04 1.389e+05 2.59e+05µm2 5.959e+04 8.29e+04 1.042e+05 1.377e+05 2.26e+05name cosa33pip0 cosa33pip4 cosa33pip3 cosa33pip2 cosa33pip1MHz 242.6 332.6 478.3 544.9 627.5µW 2.971e+04 5.419e+04 9.891e+04 1.509e+05 2.9e+05µm2 6.101e+04 8.556e+04 1.081e+05 1.428e+05 2.463e+05name cosa34pip0 cosa34pip4 cosa34pip3 cosa34pip2 cosa34pip1MHz 239.9 327.7 478.3 544.9 627.5µW 3.088e+04 5.603e+04 1.009e+05 1.533e+05 2.995e+05µm2 6.275e+04 8.792e+04 1.112e+05 1.471e+05 2.537e+05name cosa35pip0 cosa35pip4 cosa35pip3 cosa35pip2 cosa35pip1MHz 237.3 322.8 478.3 544.9 627.5µW 3.133e+04 5.681e+04 1.06e+05 1.599e+05 3.082e+05µm2 6.45e+04 9.029e+04 1.148e+05 1.513e+05 2.616e+05name cosa36pip0 cosa36pip4 cosa36pip3 cosa36pip2 cosa36pip1MHz 234.9 318.3 478.3 544.9 627.5µW 3.184e+04 5.709e+04 1.091e+05 1.626e+05 3.165e+05µm2 6.647e+04 9.288e+04 1.18e+05 1.558e+05 2.691e+05name cosa37pip0 cosa37pip4 cosa37pip3 cosa37pip2 cosa37pip1MHz 232.5 313.9 478.3 544.9 627.5µW 3.136e+04 5.88e+04 1.133e+05 1.675e+05 3.344e+05µm2 6.821e+04 9.586e+04 1.216e+05 1.606e+05 2.777e+05name cosa38pip0 cosa38pip4 cosa38pip3 cosa38pip2 cosa38pip1MHz 230.2 309.8 478.3 537.2 627.5µW 3.25e+04 5.926e+04 1.156e+05 1.657e+05 3.345e+05µm2 7.018e+04 9.844e+04 1.248e+05 1.65e+05 2.852e+05name cosa39pip0 cosa39pip4 cosa39pip3 cosa39pip2 cosa39pip1MHz 228 305.8 478.3 525.2 627.5µW 3.332e+04 5.991e+04 1.202e+05 1.687e+05 3.462e+05µm2 7.214e+04 1.01e+05 1.286e+05 1.695e+05 2.934e+05name cosa40pip0 cosa40pip4 cosa40pip3 cosa40pip2 cosa40pip1MHz 225.8 302 478.3 514.1 627.5µW 3.414e+04 6.1e+04 1.236e+05 1.674e+05 3.582e+05µm2 7.433e+04 1.038e+05 1.321e+05 1.741e+05 3.011e+05name cosa41pip0 cosa41pip4 cosa41pip3 cosa41pip2 cosa41pip1MHz 223.7 298.1 478.3 503.1 627.5µW 3.355e+04 6.254e+04 1.249e+05 1.701e+05 3.679e+05µm2 7.608e+04 1.068e+05 1.357e+05 1.79e+05 3.103e+05name cosa42pip0 cosa42pip4 cosa42pip3 cosa42pip2 cosa42pip1MHz 221.7 294.6 478.3 493 627.5µW 3.483e+04 6.267e+04 1.317e+05 1.718e+05 3.775e+05µm2 7.804e+04 1.094e+05 1.389e+05 1.834e+05 3.178e+05name cosa43pip0 cosa43pip4 cosa43pip3 cosa43pip2 cosa43pip1MHz 219.7 291.1 478.3 483.4 627.5µW 3.55e+04 6.331e+04 1.355e+05 1.71e+05 3.87e+05µm2 8.001e+04 1.12e+05 1.427e+05 1.879e+05 3.26e+05
35
Table A.8 Simulation results for COSA:s of word lengths from 44 to 64 bits.no pipline 1 cut 2 cuts 3 cuts 4 cuts
name cosa44pip0 cosa44pip4 cosa44pip3 cosa44pip2 cosa44pip1MHz 217.8 287.7 474.1 474.1 627.5µW 3.63e+04 6.402e+04 1.379e+05 1.737e+05 3.971e+05µm2 8.219e+04 1.148e+05 1.461e+05 1.925e+05 3.338e+05name cosa45pip0 cosa45pip4 cosa45pip3 cosa45pip2 cosa45pip1MHz 215.9 284.4 465.2 465.2 627.5µW 3.649e+04 6.492e+04 1.361e+05 1.72e+05 4.137e+05µm2 8.416e+04 1.18e+05 1.499e+05 1.976e+05 3.425e+05name cosa46pip0 cosa46pip4 cosa46pip3 cosa46pip2 cosa46pip1MHz 214 281.2 456.6 456.6 627.5µW 3.742e+04 6.678e+04 1.36e+05 1.746e+05 4.167e+05µm2 8.634e+04 1.208e+05 1.534e+05 2.022e+05 3.503e+05name cosa47pip0 cosa47pip4 cosa47pip3 cosa47pip2 cosa47pip1MHz 212.1 277.8 447.9 447.9 627.5µW 3.799e+04 6.329e+04 1.396e+05 1.774e+05 4.321e+05µm2 8.852e+04 1.236e+05 1.574e+05 2.069e+05 3.586e+05name cosa48pip0 cosa48pip4 cosa48pip3 cosa48pip2 cosa48pip1MHz 210.3 274.7 439.9 439.9 627.5µW 3.861e+04 6.804e+04 1.376e+05 1.781e+05 4.427e+05µm2 9.093e+04 1.266e+05 1.61e+05 2.118e+05 3.666e+05name cosa49pip0 cosa49pip4 cosa49pip3 cosa49pip2 cosa49pip1MHz 208.5 271.7 432.2 432.2 627.5µW 3.922e+04 6.84e+04 1.378e+05 1.823e+05 4.552e+05µm2 9.267e+04 1.296e+05 1.653e+05 2.172e+05 3.764e+05name cosa50pip0 cosa50pip4 cosa50pip3 cosa50pip2 cosa50pip1MHz 206.7 268.8 424.8 424.8 627.5µW 3.948e+04 6.879e+04 1.383e+05 1.782e+05 4.568e+05µm2 9.464e+04 1.322e+05 1.685e+05 2.217e+05 3.839e+05name cosa51pip0 cosa51pip4 cosa51pip3 cosa51pip2 cosa51pip1MHz 205 265.9 417.6 417.6 627.5µW 3.957e+04 7.051e+04 1.442e+05 1.808e+05 4.862e+05µm2 9.661e+04 1.348e+05 1.723e+05 2.261e+05 3.921e+05name cosa52pip0 cosa52pip4 cosa52pip3 cosa52pip2 cosa52pip1MHz 203.3 263 410.7 410.7 627.5µW 4.106e+04 7.233e+04 1.456e+05 1.813e+05 4.927e+05µm2 9.879e+04 1.376e+05 1.757e+05 2.308e+05 3.999e+05name cosa53pip0 cosa53pip4 cosa53pip3 cosa53pip2 cosa53pip1MHz 201.6 260.1 403.6 403.6 627.5µW 4.158e+04 7.279e+04 1.424e+05 1.806e+05 5.02e+05µm2 1.008e+05 1.408e+05 1.795e+05 2.358e+05 4.086e+05name cosa54pip0 cosa54pip4 cosa54pip3 cosa54pip2 cosa54pip1MHz 200 257.4 397.1 397.1 627.5µW 4.095e+04 7.296e+04 1.431e+05 1.844e+05 4.846e+05µm2 1.029e+05 1.436e+05 1.829e+05 2.405e+05 4.164e+05name cosa55pip0 cosa55pip4 cosa55pip3 cosa55pip2 cosa55pip1MHz 198.3 254.8 390.8 390.8 627.5µW 4.282e+04 7.326e+04 1.445e+05 1.836e+05 5.251e+05µm2 1.051e+05 1.464e+05 1.87e+05 2.452e+05 4.248e+05name cosa56pip0 cosa56pip4 cosa56pip3 cosa56pip2 cosa56pip1MHz 196.8 252.2 384.8 384.8 627.5µW 4.361e+04 7.501e+04 1.441e+05 1.861e+05 5.358e+05µm2 1.075e+05 1.494e+05 1.906e+05 2.5e+05 4.327e+05name cosa57pip0 cosa57pip4 cosa57pip3 cosa57pip2 cosa57pip1MHz 195.2 249.6 378.9 378.9 595µW 4.402e+04 7.36e+04 1.436e+05 1.906e+05 4.88e+05µm2 1.095e+05 1.526e+05 1.944e+05 2.551e+05 4.421e+05name cosa58pip0 cosa58pip4 cosa58pip3 cosa58pip2 cosa58pip1MHz 193.7 247.1 373.1 373.1 567.1µW 4.393e+04 7.487e+04 1.436e+05 1.847e+05 4.981e+05µm2 1.117e+05 1.554e+05 1.979e+05 2.598e+05 4.499e+05name cosa59pip0 cosa59pip4 cosa59pip3 cosa59pip2 cosa59pip1MHz 192.1 244.5 367.3 367.3 541.7µW 4.406e+04 7.763e+04 1.442e+05 1.888e+05 4.611e+05µm2 1.139e+05 1.582e+05 2.019e+05 2.644e+05 4.582e+05name cosa60pip0 cosa60pip4 cosa60pip3 cosa60pip2 cosa60pip1MHz 190.6 242.2 362 362 518.4µW 4.57e+04 7.667e+04 1.451e+05 1.842e+05 4.75e+05µm2 1.163e+05 1.612e+05 2.056e+05 2.693e+05 4.662e+05name cosa61pip0 cosa61pip4 cosa61pip3 cosa61pip2 cosa61pip1MHz 189.2 239.9 357 357 497.1µW 4.587e+04 7.722e+04 1.45e+05 1.883e+05 4.507e+05µm2 1.184e+05 1.647e+05 2.096e+05 2.746e+05 4.752e+05name cosa62pip0 cosa62pip4 cosa62pip3 cosa62pip2 cosa62pip1MHz 187.9 237.7 352.2 352.2 478.3µW 4.608e+04 7.99e+04 1.45e+05 1.87e+05 4.345e+05µm2 1.208e+05 1.677e+05 2.132e+05 2.794e+05 4.832e+05name cosa63pip0 cosa63pip4 cosa63pip3 cosa63pip2 cosa63pip1MHz 186.5 235.5 347.4 347.4 459.9µW 4.836e+04 8.173e+04 1.456e+05 1.896e+05 4.386e+05µm2 1.232e+05 1.707e+05 2.175e+05 2.843e+05 4.918e+05name cosa64pip0 cosa64pip4 cosa64pip3 cosa64pip2 cosa64pip1MHz 185.2 233.2 342.8 342.8 553µW 4.687e+04 7.958e+04 1.474e+05 1.875e+05 5.49e+05µm2 1.259e+05 1.739e+05 2.213e+05 2.894e+05 5e+05
36
Table A.9 Simulation results for BK:s of word lengths from 3 to 22 bits.no pipline 1 cut 2 cuts 3 cuts 4 cuts
name bk3pip0 bk3pip2 bk3pip1MHz 383.6 694.3 902.3µW 4055 9960 1.927e+04µm2 4914 7080 1.165e+04name bk4pip0 bk4pip3 bk4pip2 bk4pip1MHz 369.9 539.3 651.2 902.3µW 6089 9561 1.319e+04 2.919e+04µm2 6279 8609 1.066e+04 1.765e+04name bk5pip0 bk5pip3 bk5pip2 bk5pip1MHz 320.7 539.3 651.2 902.3µW 5011 1.139e+04 1.683e+04 3.586e+04µm2 7844 1.088e+04 1.327e+04 2.224e+04name bk6pip0 bk6pip3 bk6pip2 bk6pip1MHz 311.3 527.8 651.2 902.3µW 5252 1.307e+04 1.865e+04 4.313e+04µm2 9409 1.327e+04 1.56e+04 2.652e+04name bk7pip0 bk7pip3 bk7pip2 bk7pip1MHz 302.9 480.5 614 845.5µW 6432 1.429e+04 2.088e+04 4.553e+04µm2 1.118e+04 1.558e+04 1.82e+04 3.123e+04name bk8pip0 bk8pip3 bk8pip2 bk8pip1MHz 294.4 480.5 614 845.5µW 6492 1.577e+04 2.52e+04 6.075e+04µm2 1.254e+04 1.756e+04 2.299e+04 4.033e+04name bk9pip0 bk9pip3 bk9pip2 bk9pip1MHz 262.4 480.5 614 845.5µW 6671 1.824e+04 2.896e+04 6.73e+04µm2 1.41e+04 1.986e+04 2.619e+04 4.585e+04name bk10pip0 bk10pip3 bk10pip2 bk10pip1MHz 256.1 480.5 614 845.5µW 7643 2.006e+04 3.221e+04 7.347e+04µm2 1.567e+04 2.224e+04 2.923e+04 5.105e+04name bk11pip0 bk11pip3 bk11pip2 bk11pip1MHz 250.5 480.5 614 845.5µW 7825 2.246e+04 3.614e+04 8.272e+04µm2 1.744e+04 2.455e+04 3.258e+04 5.669e+04name bk12pip0 bk12pip3 bk12pip2 bk12pip1MHz 244.9 471.1 614 789µW 8728 2.186e+04 4.09e+04 8.086e+04µm2 1.9e+04 2.657e+04 3.567e+04 6.159e+04name bk13pip0 bk13pip3 bk13pip2 bk13pip1MHz 239.7 430.2 614 739.9µW 8481 2.168e+04 4.149e+04 8.509e+04µm2 2.077e+04 2.886e+04 3.904e+04 6.723e+04name bk14pip0 bk14pip3 bk14pip2 bk14pip1MHz 234.7 412.7 614 696.5µW 9238 2.272e+04 4.515e+04 8.381e+04µm2 2.253e+04 3.125e+04 4.213e+04 7.256e+04name bk15pip0 bk15pip3 bk15pip2 bk15pip1MHz 229.9 397.3 613.8 658µW 9735 2.313e+04 4.912e+04 8.902e+04µm2 2.45e+04 3.356e+04 4.55e+04 7.833e+04name bk16pip0 bk16pip4 bk16pip3 bk16pip2 bk16pip1MHz 225 284.3 480.5 613.8 658µW 9997 1.65e+04 3.722e+04 5.68e+04 1.037e+05µm2 2.586e+04 3.46e+04 4.088e+04 5.34e+04 9.3e+04name bk17pip0 bk17pip4 bk17pip3 bk17pip2 bk17pip1MHz 205.7 284.3 480.5 613.8 658µW 9400 1.846e+04 3.914e+04 6.015e+04 1.111e+05µm2 2.743e+04 3.689e+04 4.348e+04 5.693e+04 9.944e+04name bk18pip0 bk18pip4 bk18pip3 bk18pip2 bk18pip1MHz 201.8 284.3 480.5 613.8 658µW 1.032e+04 1.933e+04 4.068e+04 6.322e+04 1.156e+05µm2 2.899e+04 3.928e+04 4.617e+04 6.028e+04 1.056e+05name bk19pip0 bk19pip4 bk19pip3 bk19pip2 bk19pip1MHz 198.2 284.3 468.2 613.8 658µW 1.144e+04 2.195e+04 4.162e+04 6.725e+04 1.231e+05µm2 3.076e+04 4.159e+04 4.879e+04 6.394e+04 1.121e+05name bk20pip0 bk20pip4 bk20pip3 bk20pip2 bk20pip1MHz 194.7 284.3 413.3 613.8 658µW 1.05e+04 2.37e+04 3.658e+04 7.187e+04 1.342e+05µm2 3.232e+04 4.401e+04 5.112e+04 6.734e+04 1.18e+05name bk21pip0 bk21pip4 bk21pip3 bk21pip2 bk21pip1MHz 191.4 284.3 396.3 613.8 658µW 1.108e+04 2.483e+04 3.733e+04 7.328e+04 1.416e+05µm2 3.409e+04 4.632e+04 5.373e+04 7.102e+04 1.245e+05name bk22pip0 bk22pip4 bk22pip3 bk22pip2 bk22pip1MHz 188.2 284.3 381.4 602.3 658µW 1.103e+04 2.599e+04 3.665e+04 7.681e+04 1.536e+05µm2 3.585e+04 4.87e+04 5.642e+04 7.442e+04 1.308e+05
37
Table A.10 Simulation results for BK:s of word lengths from 23 to 43 bits.no pipline 1 cut 2 cuts 3 cuts 4 cuts
name bk23pip0 bk23pip4 bk23pip3 bk23pip2 bk23pip1MHz 185.1 284.3 366.9 573 658µW 1.195e+04 2.654e+04 3.716e+04 7.966e+04 1.601e+05µm2 3.782e+04 5.105e+04 5.904e+04 7.81e+04 1.375e+05name bk24pip0 bk24pip4 bk24pip3 bk24pip2 bk24pip1MHz 182.2 284.3 365.8 507.1 625.5µW 1.194e+04 2.755e+04 3.824e+04 7.329e+04 1.502e+05µm2 3.938e+04 5.307e+04 6.137e+04 8.104e+04 1.43e+05name bk25pip0 bk25pip4 bk25pip3 bk25pip2 bk25pip1MHz 179.5 284.3 365.8 485.3 594.9µW 1.265e+04 2.871e+04 4.072e+04 7.055e+04 1.532e+05µm2 4.115e+04 5.536e+04 6.397e+04 8.458e+04 1.496e+05name bk26pip0 bk26pip4 bk26pip3 bk26pip2 bk26pip1MHz 176.9 284.3 359 464.9 568.5µW 1.303e+04 2.887e+04 4.126e+04 6.954e+04 1.53e+05µm2 4.292e+04 5.775e+04 6.667e+04 8.792e+04 1.558e+05name bk27pip0 bk27pip4 bk27pip3 bk27pip2 bk27pip1MHz 174.4 284.3 348.4 443.1 544.4µW 1.28e+04 3.061e+04 4.202e+04 6.803e+04 1.494e+05µm2 4.488e+04 6.006e+04 6.929e+04 9.158e+04 1.625e+05name bk28pip0 bk28pip4 bk28pip3 bk28pip2 bk28pip1MHz 172 284.3 315.4 424.4 522.3µW 1.3e+04 3.205e+04 3.889e+04 6.846e+04 1.497e+05µm2 4.665e+04 6.248e+04 7.162e+04 9.499e+04 1.685e+05name bk29pip0 bk29pip4 bk29pip3 bk29pip2 bk29pip1MHz 169.6 284.3 305.4 407.4 501.8µW 1.322e+04 3.436e+04 5.631e+04 6.844e+04 1.502e+05µm2 4.861e+04 6.479e+04 7.422e+04 9.866e+04 1.752e+05name bk30pip0 bk30pip4 bk30pip3 bk30pip2 bk30pip1MHz 167.2 284.3 266.6 358.3 483µW 1.331e+04 3.306e+04 3.811e+04 6.126e+04 1.489e+05µm2 5.058e+04 6.718e+04 8.74e+04 1.021e+05 1.816e+05name bk31pip0 bk31pip4 bk31pip3 bk31pip2 bk31pip1MHz 164.9 281.7 261 347.8 464.5µW 1.389e+04 3.298e+04 3.934e+04 6.392e+04 1.547e+05µm2 5.274e+04 6.952e+04 9.08e+04 1.057e+05 1.884e+05name bk32pip0 bk32pip4 bk32pip3 bk32pip2 bk32pip1MHz 162.4 273.2 261 347.8 464.5µW 1.422e+04 3.311e+04 4.398e+04 7.904e+04 1.836e+05µm2 5.411e+04 7.147e+04 1.036e+05 1.262e+05 2.245e+05name bk33pip0 bk33pip4 bk33pip3 bk33pip2 bk33pip1MHz 152 255.7 261 347.8 464.5µW 1.397e+04 3.197e+04 4.597e+04 8.027e+04 1.906e+05µm2 5.567e+04 7.376e+04 1.07e+05 1.304e+05 2.319e+05name bk34pip0 bk34pip4 bk34pip3 bk34pip2 bk34pip1MHz 149.7 249.9 261 347.8 464.5µW 1.404e+04 3.226e+04 4.872e+04 8.26e+04 1.977e+05µm2 5.724e+04 7.615e+04 1.105e+05 1.348e+05 2.405e+05name bk35pip0 bk35pip4 bk35pip3 bk35pip2 bk35pip1MHz 147.7 245.5 261 347.8 464.5µW 1.443e+04 3.332e+04 4.962e+04 8.198e+04 2.057e+05µm2 5.9e+04 7.846e+04 1.141e+05 1.392e+05 2.481e+05name bk36pip0 bk36pip4 bk36pip3 bk36pip2 bk36pip1MHz 145.7 241.7 261 347.8 464.5µW 1.462e+04 3.364e+04 5.172e+04 8.482e+04 2.009e+05µm2 6.057e+04 8.088e+04 1.175e+05 1.435e+05 2.555e+05name bk37pip0 bk37pip4 bk37pip3 bk37pip2 bk37pip1MHz 143.9 238 261 347.8 464.5µW 1.462e+04 3.359e+04 5.397e+04 8.767e+04 2.06e+05µm2 6.234e+04 8.319e+04 1.211e+05 1.479e+05 2.632e+05name bk38pip0 bk38pip4 bk38pip3 bk38pip2 bk38pip1MHz 142.1 187.5 261 258.3 464.5µW 1.501e+04 2.762e+04 5.497e+04 6.753e+04 2.251e+05µm2 6.41e+04 8.751e+04 1.247e+05 1.529e+05 2.717e+05name bk39pip0 bk39pip4 bk39pip3 bk39pip2 bk39pip1MHz 140.4 184.2 261 258.3 464.5µW 1.518e+04 2.781e+04 5.726e+04 7.023e+04 2.35e+05µm2 6.607e+04 8.989e+04 1.286e+05 1.573e+05 2.795e+05name bk40pip0 bk40pip4 bk40pip3 bk40pip2 bk40pip1MHz 138.7 173.9 261 258.3 464.5µW 1.513e+04 2.711e+04 5.824e+04 7.178e+04 2.241e+05µm2 6.763e+04 9.216e+04 1.32e+05 1.616e+05 2.869e+05name bk41pip0 bk41pip4 bk41pip3 bk41pip2 bk41pip1MHz 137.1 165.7 176.6 258.3 464.5µW 1.515e+04 2.643e+04 3.982e+04 7.335e+04 2.444e+05µm2 6.94e+04 9.451e+04 1.265e+05 1.66e+05 2.946e+05name bk42pip0 bk42pip4 bk42pip3 bk42pip2 bk42pip1MHz 135.6 162.9 176.6 258.3 464.5µW 1.544e+04 2.663e+04 3.914e+04 7.542e+04 2.498e+05µm2 7.116e+04 9.69e+04 1.3e+05 1.706e+05 3.022e+05name bk43pip0 bk43pip4 bk43pip3 bk43pip2 bk43pip1MHz 134.2 160.1 176.6 258.3 464.5µW 1.576e+04 2.669e+04 4.23e+04 7.683e+04 2.594e+05µm2 7.313e+04 9.928e+04 1.335e+05 1.752e+05 3.1e+05
38
Table A.11 Simulation results for BK:s of word lengths from 44 to 64 bits.no pipline 1 cut 2 cuts 3 cuts 4 cuts 5 cuts
name bk44pip0 bk44pip4 bk44pip3 bk44pip2 bk44pip1MHz 132.7 157.7 176.6 258.3 464.5µW 1.584e+04 2.717e+04 4.038e+04 7.893e+04 2.636e+05µm2 7.489e+04 1.017e+05 1.369e+05 1.797e+05 3.176e+05name bk45pip0 bk45pip4 bk45pip3 bk45pip2 bk45pip1MHz 131.3 155.3 176.6 258.3 449.9µW 1.61e+04 2.76e+04 4.102e+04 8.087e+04 2.695e+05µm2 7.686e+04 1.04e+05 1.403e+05 1.843e+05 3.255e+05name bk46pip0 bk46pip4 bk46pip3 bk46pip2 bk46pip1MHz 129.9 153 176.6 258.3 431.7µW 1.569e+04 2.738e+04 4.389e+04 8.225e+04 2.595e+05µm2 7.882e+04 1.064e+05 1.439e+05 1.888e+05 3.339e+05name bk47pip0 bk47pip4 bk47pip3 bk47pip2 bk47pip1MHz 128.5 150.8 176.6 258.3 414µW 1.624e+04 2.744e+04 4.489e+04 8.577e+04 2.488e+05µm2 8.099e+04 1.088e+05 1.474e+05 1.934e+05 3.419e+05name bk48pip0 bk48pip4 bk48pip3 bk48pip2 bk48pip1MHz 127.2 144 176.6 258.3 398.6µW 1.663e+04 2.714e+04 4.469e+04 8.885e+04 2.45e+05µm2 8.256e+04 1.111e+05 1.507e+05 1.977e+05 3.493e+05name bk49pip0 bk49pip4 bk49pip3 bk49pip2 bk49pip1MHz 125.9 138.3 176.6 258.3 446µW 1.686e+04 2.704e+04 4.582e+04 9.057e+04 2.824e+05µm2 8.432e+04 1.134e+05 1.542e+05 2.021e+05 3.57e+05name bk50pip0 bk50pip4 bk50pip3 bk50pip2 bk50pip1MHz 124.7 136.4 176.6 258.3 446µW 1.664e+04 2.676e+04 4.785e+04 9.155e+04 2.92e+05µm2 8.609e+04 1.158e+05 1.577e+05 2.066e+05 3.646e+05name bk51pip0 bk51pip4 bk51pip3 bk51pip2 bk51pip1MHz 184.6 288.7 261 314.4 446µW 2.607e+04 6.296e+04 7.38e+04 1.154e+05 2.958e+05µm2 8.805e+04 1.335e+05 1.728e+05 2.189e+05 3.724e+05name bk52pip0 bk52pip4 bk52pip3 bk52pip2 bk52pip1MHz 183.7 259.4 261 314.4 446µW 2.637e+04 6.372e+04 7.546e+04 1.168e+05 2.987e+05µm2 8.982e+04 1.362e+05 1.764e+05 2.235e+05 3.8e+05name bk53pip0 bk53pip4 bk53pip3 bk53pip2 bk53pip1MHz 182.8 284.3 261 314.4 446µW 2.721e+04 6.41e+04 7.658e+04 1.207e+05 3.096e+05µm2 9.178e+04 1.391e+05 1.803e+05 2.282e+05 3.879e+05name bk54pip0 bk54pip4 bk54pip3 bk54pip2 bk54pip1MHz 181.7 282.2 261 314.4 446µW 2.643e+04 6.587e+04 7.843e+04 1.237e+05 3.082e+05µm2 9.375e+04 1.42e+05 1.841e+05 2.33e+05 3.957e+05name bk55pip0 bk55pip4 bk55pip3 bk55pip2 bk55pip1MHz 178.7 280.1 261 314.4 446µW 2.727e+04 6.722e+04 7.984e+04 1.249e+05 3.184e+05µm2 9.591e+04 1.451e+05 1.881e+05 2.379e+05 4.037e+05name bk56pip0 bk56pip4 bk56pip3 bk56pip2 bk56pip1MHz 175.8 277.6 261 314.4 446µW 2.705e+04 6.422e+04 8.099e+04 1.233e+05 3.272e+05µm2 9.768e+04 1.478e+05 1.917e+05 2.425e+05 4.113e+05name bk57pip0 bk57pip4 bk57pip3 bk57pip2 bk57pip1MHz 173.3 275.2 261 314.4 446µW 2.751e+04 6.864e+04 8.261e+04 1.316e+05 3.274e+05µm2 9.964e+04 1.507e+05 1.956e+05 2.472e+05 4.192e+05name bk58pip0 bk58pip4 bk58pip3 bk58pip2 bk58pip1MHz 170.8 272.7 261 314.4 446µW 2.774e+04 6.827e+04 8.373e+04 1.317e+05 3.237e+05µm2 1.016e+05 1.536e+05 1.994e+05 2.52e+05 4.27e+05name bk59pip0 bk59pip4 bk59pip3 bk59pip2 bk59pip1MHz 168.5 270.4 261 314.4 446µW 2.762e+04 6.635e+04 8.447e+04 1.381e+05 3.254e+05µm2 1.038e+05 1.567e+05 2.034e+05 2.569e+05 4.35e+05name bk60pip0 bk60pip4 bk60pip3 bk60pip2 bk60pip1MHz 166.1 268.1 261 314.4 446µW 2.778e+04 6.798e+04 8.668e+04 1.338e+05 3.371e+05µm2 1.057e+05 1.596e+05 2.072e+05 2.617e+05 4.428e+05name bk61pip0 bk61pip4 bk61pip3 bk61pip2 bk61pip1MHz 163.9 265.9 261 314.4 446µW 2.83e+04 7.034e+04 8.885e+04 1.343e+05 3.372e+05µm2 1.079e+05 1.627e+05 2.112e+05 2.666e+05 4.509e+05name bk62pip0 bk62pip4 bk62pip3 bk62pip2 bk62pip1MHz 161.6 263.9 261 314.4 433.3µW 2.854e+04 6.951e+04 9.126e+04 1.389e+05 3.329e+05µm2 1.101e+05 1.658e+05 2.153e+05 2.716e+05 4.6e+05name bk63pip0 bk63pip4 bk63pip3 bk63pip2 bk63pip1MHz 159.4 259.4 261 314.4 416.4µW 2.776e+04 6.867e+04 9.34e+04 1.399e+05 3.384e+05µm2 1.124e+05 1.691e+05 2.195e+05 2.767e+05 4.682e+05name bk64pip0 bk64pip5 bk64pip4 bk64pip3 bk64pip2 bk64pip1MHz 158.4 258.4 261.9 261 314.4 461.4µW 2.922e+04 6.911e+04 8.083e+04 9.555e+04 1.616e+05 4.033e+05µm2 1.138e+05 1.689e+05 1.915e+05 2.227e+05 3.01e+05 5.148e+05
39
Table A.12 Simulation results for KS:s of word lengths from 3 to 22 bits.no pipline 1 cut 2 cuts 3 cuts 4 cuts
name ks3pip0 ks3pip2 ks3pip1MHz 384.1 639.6 876.3µW 4178 9757 2.046e+04µm2 5114 7662 1.208e+04name ks4pip0 ks4pip3 ks4pip2 ks4pip1MHz 368 470.2 667.7 876.3µW 5006 8700 1.472e+04 2.863e+04µm2 6880 9519 1.174e+04 1.896e+04name ks5pip0 ks5pip3 ks5pip2 ks5pip1MHz 333.1 470.2 667.7 876.3µW 5221 1.06e+04 1.862e+04 3.782e+04µm2 8645 1.218e+04 1.452e+04 2.368e+04name ks6pip0 ks6pip3 ks6pip2 ks6pip1MHz 328 468.3 667.7 876.3µW 6217 1.28e+04 1.962e+04 4.364e+04µm2 1.041e+04 1.48e+04 1.731e+04 2.839e+04name ks7pip0 ks7pip3 ks7pip2 ks7pip1MHz 318.5 468.3 667.7 876.3µW 6954 1.453e+04 2.32e+04 4.718e+04µm2 1.218e+04 1.745e+04 2.009e+04 3.311e+04name ks8pip0 ks8pip3 ks8pip2 ks8pip1MHz 315 468.3 667.7 876.3µW 7602 1.67e+04 2.941e+04 6.872e+04µm2 1.414e+04 2.008e+04 2.599e+04 4.352e+04name ks9pip0 ks9pip3 ks9pip2 ks9pip1MHz 290.1 468.3 667.7 876.3µW 7435 1.842e+04 3.35e+04 7.373e+04µm2 1.611e+04 2.271e+04 2.97e+04 4.929e+04name ks10pip0 ks10pip3 ks10pip2 ks10pip1MHz 287.4 468.3 652.3 876.3µW 9076 2.057e+04 3.682e+04 8.192e+04µm2 1.807e+04 2.535e+04 3.342e+04 5.506e+04name ks11pip0 ks11pip3 ks11pip2 ks11pip1MHz 287.3 468.3 652.3 876.3µW 9632 2.254e+04 4.151e+04 8.914e+04µm2 2.004e+04 2.799e+04 3.711e+04 6.082e+04name ks12pip0 ks12pip3 ks12pip2 ks12pip1MHz 281 468.3 652.3 876.3µW 9768 2.36e+04 4.41e+04 9.643e+04µm2 2.2e+04 3.067e+04 4.073e+04 6.659e+04name ks13pip0 ks13pip3 ks13pip2 ks13pip1MHz 280.9 468.3 652.3 876.3µW 1.128e+04 2.574e+04 5.047e+04 1.081e+05µm2 2.397e+04 3.332e+04 4.434e+04 7.236e+04name ks14pip0 ks14pip3 ks14pip2 ks14pip1MHz 280.9 468.3 652.2 876.3µW 1.181e+04 2.844e+04 5.339e+04 1.128e+05µm2 2.594e+04 3.598e+04 4.798e+04 7.813e+04name ks15pip0 ks15pip3 ks15pip2 ks15pip1MHz 273.2 468.3 652.2 876.3µW 1.216e+04 3.008e+04 5.623e+04 1.167e+05µm2 2.79e+04 3.864e+04 5.162e+04 8.39e+04name ks16pip0 ks16pip4 ks16pip3 ks16pip2 ks16pip1MHz 264 375.7 468.3 652.2 876.3µW 1.241e+04 2.467e+04 3.72e+04 6.481e+04 1.438e+05µm2 3.007e+04 4.044e+04 4.674e+04 6.053e+04 1.003e+05name ks17pip0 ks17pip4 ks17pip3 ks17pip2 ks17pip1MHz 252.5 375.7 468.3 652.2 876.3µW 1.265e+04 2.719e+04 3.948e+04 6.877e+04 1.543e+05µm2 3.223e+04 4.313e+04 4.969e+04 6.452e+04 1.071e+05name ks18pip0 ks18pip4 ks18pip3 ks18pip2 ks18pip1MHz 252.5 375.7 468.3 652.2 876.3µW 1.357e+04 2.881e+04 4.174e+04 7.394e+04 1.697e+05µm2 3.44e+04 4.583e+04 5.263e+04 6.85e+04 1.14e+05name ks19pip0 ks19pip4 ks19pip3 ks19pip2 ks19pip1MHz 252 375.7 468.3 652.2 876.3µW 1.413e+04 3.05e+04 4.356e+04 7.739e+04 1.819e+05µm2 3.656e+04 4.852e+04 5.558e+04 7.249e+04 1.208e+05name ks20pip0 ks20pip4 ks20pip3 ks20pip2 ks20pip1MHz 250.5 375.7 468.3 652.2 876.3µW 1.597e+04 3.17e+04 4.598e+04 8.32e+04 1.911e+05µm2 3.873e+04 5.122e+04 5.857e+04 7.648e+04 1.276e+05name ks21pip0 ks21pip4 ks21pip3 ks21pip2 ks21pip1MHz 250.4 375.7 468.3 652.2 876.3µW 1.594e+04 3.41e+04 4.74e+04 8.642e+04 1.989e+05µm2 4.09e+04 5.391e+04 6.155e+04 8.046e+04 1.344e+05name ks22pip0 ks22pip4 ks22pip3 ks22pip2 ks22pip1MHz 250.4 375.7 468.3 652.2 876.3µW 1.697e+04 3.41e+04 4.989e+04 8.97e+04 2.168e+05µm2 4.306e+04 5.66e+04 6.454e+04 8.445e+04 1.413e+05
40
Table A.13 Simulation results for KS:s of word lengths from 23 to 43 bits.no pipline 1 cut 2 cuts 3 cuts 4 cuts
name ks23pip0 ks23pip4 ks23pip3 ks23pip2 ks23pip1MHz 246.6 375.7 468.3 652.2 876.3µW 1.698e+04 3.594e+04 5.125e+04 9.624e+04 2.172e+05µm2 4.523e+04 5.93e+04 6.752e+04 8.843e+04 1.481e+05name ks24pip0 ks24pip4 ks24pip3 ks24pip2 ks24pip1MHz 245.6 375.7 468.3 652.2 876.3µW 2.099e+04 3.726e+04 5.317e+04 9.939e+04 2.242e+05µm2 4.739e+04 6.203e+04 7.047e+04 9.242e+04 1.549e+05name ks25pip0 ks25pip4 ks25pip3 ks25pip2 ks25pip1MHz 245.5 375.7 468.3 652.2 876.3µW 1.8e+04 3.913e+04 5.606e+04 1.031e+05 2.308e+05µm2 4.956e+04 6.474e+04 7.342e+04 9.64e+04 1.617e+05name ks26pip0 ks26pip4 ks26pip3 ks26pip2 ks26pip1MHz 245.5 375.7 468.3 652.2 876.3µW 1.922e+04 4.138e+04 5.796e+04 1.061e+05 2.424e+05µm2 5.172e+04 6.745e+04 7.637e+04 1.004e+05 1.686e+05name ks27pip0 ks27pip4 ks27pip3 ks27pip2 ks27pip1MHz 245.5 375.7 468.3 652.2 876.3µW 1.955e+04 4.236e+04 6.083e+04 1.099e+05 2.484e+05µm2 5.389e+04 7.016e+04 7.932e+04 1.044e+05 1.754e+05name ks28pip0 ks28pip4 ks28pip3 ks28pip2 ks28pip1MHz 245.5 375.7 412.2 652.2 876.3µW 2.169e+04 4.334e+04 5.714e+04 1.139e+05 2.622e+05µm2 5.606e+04 7.287e+04 8.23e+04 1.084e+05 1.822e+05name ks29pip0 ks29pip4 ks29pip3 ks29pip2 ks29pip1MHz 245.5 375.7 412.2 652.2 876.3µW 2.084e+04 4.51e+04 5.877e+04 1.221e+05 2.741e+05µm2 5.822e+04 7.558e+04 8.528e+04 1.123e+05 1.89e+05name ks30pip0 ks30pip4 ks30pip3 ks30pip2 ks30pip1MHz 245.5 375.7 306 640.3 876.3µW 2.174e+04 4.753e+04 4.479e+04 1.199e+05 2.808e+05µm2 6.039e+04 7.83e+04 8.856e+04 1.163e+05 1.959e+05name ks31pip0 ks31pip4 ks31pip3 ks31pip2 ks31pip1MHz 234 375.7 306 640.3 754.4µW 2.169e+04 4.754e+04 4.556e+04 1.24e+05 2.608e+05µm2 6.255e+04 8.101e+04 9.155e+04 1.203e+05 2.033e+05name ks32pip0 ks32pip4 ks32pip3 ks32pip2 ks32pip1MHz 222.8 375.7 306 634.1 754.4µW 2.149e+04 4.998e+04 5.257e+04 1.422e+05 3.035e+05µm2 6.492e+04 8.366e+04 1.057e+05 1.351e+05 2.329e+05name ks33pip0 ks33pip4 ks33pip3 ks33pip2 ks33pip1MHz 218.4 375.7 306 634.1 754.4µW 2.152e+04 5.123e+04 5.567e+04 1.451e+05 3.221e+05µm2 6.728e+04 8.634e+04 1.103e+05 1.4e+05 2.41e+05name ks34pip0 ks34pip4 ks34pip3 ks34pip2 ks34pip1MHz 218.4 375.7 275.3 634.1 754.4µW 2.201e+04 5.348e+04 5.176e+04 1.504e+05 3.376e+05µm2 6.965e+04 8.902e+04 1.158e+05 1.449e+05 2.512e+05name ks35pip0 ks35pip4 ks35pip3 ks35pip2 ks35pip1MHz 214.4 375.7 439.2 634.1 754.4µW 2.299e+04 5.409e+04 8.62e+04 1.545e+05 3.22e+05µm2 7.202e+04 9.169e+04 1.207e+05 1.498e+05 2.593e+05name ks36pip0 ks36pip4 ks36pip3 ks36pip2 ks36pip1MHz 214.4 375.7 439.2 634.1 754.4µW 2.309e+04 5.705e+04 8.866e+04 1.616e+05 3.582e+05µm2 7.438e+04 9.437e+04 1.249e+05 1.546e+05 2.674e+05name ks37pip0 ks37pip4 ks37pip3 ks37pip2 ks37pip1MHz 214.4 375.7 439.2 634.1 754.4µW 2.345e+04 5.858e+04 9.177e+04 1.643e+05 3.495e+05µm2 7.675e+04 9.704e+04 1.291e+05 1.595e+05 2.755e+05name ks38pip0 ks38pip4 ks38pip3 ks38pip2 ks38pip1MHz 214.4 363.2 439.2 519.2 754.4µW 2.438e+04 5.761e+04 9.403e+04 1.405e+05 3.312e+05µm2 7.912e+04 1.006e+05 1.332e+05 1.66e+05 2.858e+05name ks39pip0 ks39pip4 ks39pip3 ks39pip2 ks39pip1MHz 210.2 363.2 461.2 634.1 754.4µW 2.48e+04 5.987e+04 1.035e+05 1.763e+05 3.83e+05µm2 8.148e+04 1.033e+05 1.374e+05 1.711e+05 2.939e+05name ks40pip0 ks40pip4 ks40pip3 ks40pip2 ks40pip1MHz 210.2 356.6 447.2 634.1 754.4µW 2.477e+04 6.286e+04 1.03e+05 1.813e+05 3.686e+05µm2 8.385e+04 1.191e+05 1.414e+05 1.759e+05 3.021e+05name ks41pip0 ks41pip4 ks41pip3 ks41pip2 ks41pip1MHz 210.2 356.6 447.2 634.1 754.4µW 2.613e+04 6.113e+04 1.057e+05 1.908e+05 3.985e+05µm2 8.621e+04 1.224e+05 1.454e+05 1.808e+05 3.103e+05name ks42pip0 ks42pip4 ks42pip3 ks42pip2 ks42pip1MHz 210.2 356.6 447.2 634.1 754.4µW 2.653e+04 6.61e+04 1.049e+05 1.953e+05 3.992e+05µm2 8.858e+04 1.257e+05 1.494e+05 1.857e+05 3.184e+05name ks43pip0 ks43pip4 ks43pip3 ks43pip2 ks43pip1MHz 210.2 356.6 447.2 634.1 754.4µW 2.665e+04 6.293e+04 1.131e+05 1.957e+05 4.121e+05µm2 9.094e+04 1.29e+05 1.534e+05 1.906e+05 3.266e+05
41
Table A.14 Simulation results for KS:s of word lengths from 44 to 64 bits.no pipline 1 cut 2 cuts 3 cuts 4 cuts 5 cuts
name ks44pip0 ks44pip4 ks44pip3 ks44pip2 ks44pip1MHz 210.2 356.6 445.2 634.1 754.4µW 2.706e+04 6.794e+04 1.125e+05 2.005e+05 4.085e+05µm2 9.331e+04 1.323e+05 1.574e+05 1.954e+05 3.347e+05name ks45pip0 ks45pip4 ks45pip3 ks45pip2 ks45pip1MHz 210.2 356.6 445.2 634.1 754.4µW 2.856e+04 6.674e+04 1.146e+05 2.042e+05 4.355e+05µm2 9.568e+04 1.356e+05 1.615e+05 2.003e+05 3.429e+05name ks46pip0 ks46pip4 ks46pip3 ks46pip2 ks46pip1MHz 210.2 356.6 445.2 634.1 754.4µW 2.881e+04 6.949e+04 1.19e+05 2.076e+05 4.372e+05µm2 9.804e+04 1.389e+05 1.655e+05 2.052e+05 3.532e+05name ks47pip0 ks47pip4 ks47pip3 ks47pip2 ks47pip1MHz 206.4 356.6 445.2 634.1 754.4µW 2.931e+04 7.047e+04 1.249e+05 2.117e+05 4.531e+05µm2 1.004e+05 1.422e+05 1.695e+05 2.101e+05 3.615e+05name ks48pip0 ks48pip4 ks48pip3 ks48pip2 ks48pip1MHz 206.4 356.6 445.2 634.1 754.4µW 2.987e+04 7.716e+04 1.252e+05 2.183e+05 4.654e+05µm2 1.028e+05 1.455e+05 1.735e+05 2.149e+05 3.697e+05name ks49pip0 ks49pip4 ks49pip3 ks49pip2 ks49pip1MHz 206.4 356.6 445.2 634.1 754.4µW 3.109e+04 7.727e+04 1.244e+05 2.211e+05 4.626e+05µm2 1.051e+05 1.488e+05 1.776e+05 2.197e+05 3.78e+05name ks50pip0 ks50pip4 ks50pip3 ks50pip2 ks50pip1MHz 206.4 356.6 445.2 634.1 754.4µW 3.147e+04 7.531e+04 1.262e+05 2.231e+05 5e+05µm2 1.075e+05 1.521e+05 1.816e+05 2.245e+05 3.862e+05name ks51pip0 ks51pip4 ks51pip3 ks51pip2 ks51pip1MHz 206.4 356.6 446.7 634.1 754.4µW 3.12e+04 7.826e+04 1.289e+05 2.249e+05 4.812e+05µm2 1.099e+05 1.554e+05 1.857e+05 2.293e+05 3.944e+05name ks52pip0 ks52pip4 ks52pip3 ks52pip2 ks52pip1MHz 206.4 356.6 446.7 634.1 754.4µW 3.272e+04 7.934e+04 1.315e+05 2.32e+05 4.958e+05µm2 1.122e+05 1.586e+05 1.897e+05 2.341e+05 4.026e+05name ks53pip0 ks53pip4 ks53pip3 ks53pip2 ks53pip1MHz 206.4 356.6 446.7 634.1 754.4µW 3.261e+04 8.062e+04 1.356e+05 2.381e+05 4.991e+05µm2 1.146e+05 1.619e+05 1.937e+05 2.389e+05 4.109e+05name ks54pip0 ks54pip4 ks54pip3 ks54pip2 ks54pip1MHz 206.4 356.6 446.7 634.1 754.4µW 3.406e+04 8.385e+04 1.373e+05 2.401e+05 5.119e+05µm2 1.17e+05 1.652e+05 1.978e+05 2.437e+05 4.191e+05name ks55pip0 ks55pip4 ks55pip3 ks55pip2 ks55pip1MHz 206.4 356.6 460.9 634.1 754.4µW 3.478e+04 9.219e+04 1.483e+05 2.552e+05 5.375e+05µm2 1.193e+05 1.685e+05 2.018e+05 2.485e+05 4.273e+05name ks56pip0 ks56pip4 ks56pip3 ks56pip2 ks56pip1MHz 206.4 356.6 449.5 634.1 754.4µW 3.533e+04 9.311e+04 1.436e+05 2.568e+05 5.483e+05µm2 1.217e+05 1.718e+05 2.058e+05 2.534e+05 4.355e+05name ks57pip0 ks57pip4 ks57pip3 ks57pip2 ks57pip1MHz 206.4 356.6 449.5 634.1 754.4µW 3.538e+04 8.354e+04 1.533e+05 2.647e+05 4.535e+05µm2 1.241e+05 1.751e+05 2.098e+05 2.583e+05 4.438e+05name ks58pip0 ks58pip4 ks58pip3 ks58pip2 ks58pip1MHz 206.4 356.6 449.5 634.1 754.4µW 3.727e+04 8.497e+04 1.483e+05 2.628e+05 4.201e+05µm2 1.264e+05 1.784e+05 2.138e+05 2.631e+05 4.52e+05name ks59pip0 ks59pip4 ks59pip3 ks59pip2 ks59pip1MHz 206.4 356.6 449.5 634.1 754.4µW 3.663e+04 9.86e+04 1.505e+05 2.737e+05 4.348e+05µm2 1.288e+05 1.817e+05 2.178e+05 2.68e+05 4.602e+05name ks60pip0 ks60pip4 ks60pip3 ks60pip2 ks60pip1MHz 206.4 356.6 449.5 634.1 754.4µW 3.757e+04 9.925e+04 1.525e+05 2.676e+05 4.82e+05µm2 1.312e+05 1.85e+05 2.218e+05 2.728e+05 4.684e+05name ks61pip0 ks61pip4 ks61pip3 ks61pip2 ks61pip1MHz 206.4 356.6 449.5 634.1 754.4µW 3.935e+04 1.009e+05 1.577e+05 2.784e+05 5.721e+05µm2 1.335e+05 1.883e+05 2.258e+05 2.777e+05 4.767e+05name ks62pip0 ks62pip4 ks62pip3 ks62pip2 ks62pip1MHz 206.4 356.6 449.5 634.1 754.4µW 3.907e+04 9.323e+04 1.608e+05 2.837e+05 4.901e+05µm2 1.359e+05 1.916e+05 2.298e+05 2.826e+05 4.849e+05name ks63pip0 ks63pip4 ks63pip3 ks63pip2 ks63pip1MHz 201 356.6 449.5 634.1 754.4µW 3.879e+04 1.031e+05 1.64e+05 3.018e+05 4.965e+05µm2 1.383e+05 1.949e+05 2.338e+05 2.874e+05 4.931e+05name ks64pip0 ks64pip5 ks64pip4 ks64pip3 ks64pip2 ks64pip1MHz 189.4 334.6 356.6 449.5 634.1 754.4µW 3.709e+04 9.109e+04 7.821e+04 1.726e+05 3.26e+05 5.713e+05µm2 1.408e+05 1.785e+05 2.185e+05 2.379e+05 3.135e+05 5.418e+05
42
B PT-product graphs
01
102030405060
0
500
1000
1500
2000
2500
3000
3500
Word LengthPipeline Complexity
PT
−pr
oduc
t [µW
/MH
z]
Figure B.1 PT-product simulations of RCA:s.
0
1
2
3
4
102030405060
0
100
200
300
400
500
600
700
800
900
Word LengthPipeline Complexity
PT
−pr
oduc
t [µW
/MH
z]
Figure B.2 PT-product simulations of COSA:s.
43
0
1
2
3
4
5
102030405060
0
100
200
300
400
500
600
700
800
900
Word LengthPipeline Complexity
PT
−pr
oduc
t [µW
/MH
z]
Figure B.3 PT-product simulations of BK:s.
0
1
2
3
4
5
102030405060
0
100
200
300
400
500
600
700
800
900
Word LengthPipeline Complexity
PT
−pr
oduc
t [µW
/MH
z]
Figure B.4 PT-product simulations of KS:s.
44
C Pie charts of power dissipation
rca32pip0: 19%
Clock Tree: 9%
Load Registers: 72%
Figure C.1 Power dissipation for an unpipelined RCA.
cosa32pip0: 49%
Clock Tree: 5%
Load Registers: 46%
Figure C.2 Power dissipation for an unpipelined COSA.
45
bk32pip0: 31%
Clock Tree: 7%
Load Registers: 62%
Figure C.3 Power dissipation for an unpipelined BK.
ks32pip0: 36%
Clock Tree: 7%
Load Registers: 57%
Figure C.4 Power dissipation for an unpipelined KS.
46
rca32pip1: 87%
Clock Tree: 7%
Load Registers: 6%
Figure C.5 Power dissipation for a maximally pipelined RCA.
cosa32pip1: 80%
Clock Tree: 7%
Load Registers: 13%
Figure C.6 Power dissipation for a maximally pipelined COSA.
47
bk32pip1: 77%
Clock Tree: 10%
Load Registers: 13%
Figure C.7 Power dissipation for a maximally pipelined BK.
ks32pip1: 74%
Clock Tree: 13%
Load Registers: 13%
Figure C.8 Power dissipation for a maximally pipelined KS.
48
D Power – Throughput graphs
0 100 200 300 400 500 600 700 800 9000
5
10
15
20
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca3pip0 ↓
rca3pip2 ↓
rca3pip1 ↓
ks3pip1 ↓
bk3pip1 ↓
cosa3pip1 ↓
rca3cosa3bk3ks3
Figure D.1 Power consumption as a function of throughput for 3 bit-adders.
0 100 200 300 400 500 600 700 800 9000
5
10
15
20
25
30
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca4pip0 ↓
rca4pip2 ↓
rca4pip1 ↓
ks4pip1 ↓
bk4pip1 ↓
cosa4pip1 ↓
rca4cosa4bk4ks4
Figure D.2 Power consumption as a function of throughput for 4 bit-adders.
49
0 100 200 300 400 500 600 700 800 9000
5
10
15
20
25
30
35
40
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca5pip0 ↓
rca5pip3 ↓
rca5pip2 ↓
rca5pip1 ↓
ks5pip1 ↓
bk5pip1 ↓
cosa5pip1 ↓
rca5cosa5bk5ks5
Figure D.3 Power consumption as a function of throughput for 5 bit-adders.
0 100 200 300 400 500 600 700 800 9000
5
10
15
20
25
30
35
40
45
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca6pip0 ↓
rca6pip3 ↓
rca6pip2 ↓
rca6pip1 ↓
ks6pip1 ↓
bk6pip1 ↓
cosa6pip1 ↓
rca6cosa6bk6ks6
Figure D.4 Power consumption as a function of throughput for 6 bit-adders.
50
0 100 200 300 400 500 600 700 800 9000
5
10
15
20
25
30
35
40
45
50
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca7pip0 ↓
rca7pip4 ↓
rca7pip3 ↓
rca7pip2 ↓
rca7pip1 ↓
ks7pip1 ↓bk7pip1
↓
cosa7pip1 ↓
rca7cosa7bk7ks7
Figure D.5 Power consumption as a function of throughput for 7 bit-adders.
0 100 200 300 400 500 600 700 800 9000
10
20
30
40
50
60
70
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca8pip0 ↓
rca8pip4 ↓
rca8pip3 ↓
rca8pip2 ↓
rca8pip1 ↓
ks8pip1 ↓
bk8pip1 ↓
cosa8pip1 ↓
rca8cosa8bk8ks8
Figure D.6 Power consumption as a function of throughput for 8 bit-adders.
51
0 100 200 300 400 500 600 700 800 9000
10
20
30
40
50
60
70
80
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca9pip0 ↓
rca9pip3 ↓
rca9pip2 ↓
rca9pip1 ↓
ks9pip1 ↓
bk9pip1 ↓
cosa9pip1 ↓
rca9cosa9bk9ks9
Figure D.7 Power consumption as a function of throughput for 9 bit-adders.
0 100 200 300 400 500 600 700 800 9000
10
20
30
40
50
60
70
80
90
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca10pip0 ↓
rca10pip4 ↓
rca10pip3 ↓
rca10pip2 ↓
rca10pip1 ↓
ks10pip1 ↓
bk10pip1 ↓
cosa10pip1 ↓
rca10cosa10bk10ks10
Figure D.8 Power consumption as a function of throughput for 10 bit-adders.
52
0 100 200 300 400 500 600 700 800 9000
10
20
30
40
50
60
70
80
90
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca11pip0 ↓
rca11pip4 ↓
rca11pip3 ↓
rca11pip2 ↓
rca11pip1 ↓
ks11pip1 ↓
bk11pip1 ↓
cosa11pip1 ↓
rca11cosa11bk11ks11
Figure D.9 Power consumption as a function of throughput for 11 bit-adders.
0 100 200 300 400 500 600 700 800 9000
20
40
60
80
100
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca12pip0 ↓
rca12pip4 ↓
rca12pip3 ↓
rca12pip2 ↓
rca12pip1 ↓ ks12pip1
↓
bk12pip1 ↓
cosa12pip1 ↓
rca12cosa12bk12ks12
Figure D.10 Power consumption as a function of throughput for 12 bit-adders.
53
0 100 200 300 400 500 600 700 800 9000
20
40
60
80
100
120
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca13pip0 ↓
rca13pip4 ↓
rca13pip3 ↓
rca13pip2 ↓
rca13pip1 ↓
ks13pip1 ↓
bk13pip1 ↓
cosa13pip1 ↓
rca13cosa13bk13ks13
Figure D.11 Power consumption as a function of throughput for 13 bit-adders.
0 100 200 300 400 500 600 700 800 9000
20
40
60
80
100
120
140
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca14pip0 ↓
rca14pip4 ↓
rca14pip3 ↓
rca14pip2 ↓
rca14pip1 ↓
ks14pip1 ↓
bk14pip1 ↓
cosa14pip1 ↓
rca14cosa14bk14ks14
Figure D.12 Power consumption as a function of throughput for 14 bit-adders.
54
0 100 200 300 400 500 600 700 800 9000
20
40
60
80
100
120
140
160
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca15pip0 ↓
rca15pip4 ↓
rca15pip3 ↓
rca15pip2 ↓
rca15pip1 ↓
ks15pip1 ↓
bk15pip1 ↓
cosa15pip1 ↓
rca15cosa15bk15ks15
Figure D.13 Power consumption as a function of throughput for 15 bit-adders.
0 100 200 300 400 500 600 700 800 9000
20
40
60
80
100
120
140
160
180
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca16pip0 ↓
rca16pip4 ↓
rca16pip3 ↓
rca16pip2 ↓
rca16pip1 ↓
ks16pip1 ↓
bk16pip1 ↓cosa16pip1
↓
rca16cosa16bk16ks16
Figure D.14 Power consumption as a function of throughput for 16 bit-adders.
55
0 100 200 300 400 500 600 700 800 9000
20
40
60
80
100
120
140
160
180
200
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca17pip0 ↓
rca17pip4 ↓
rca17pip3 ↓
rca17pip2 ↓
rca17pip1 ↓
ks17pip1 ↓
bk17pip1 ↓
cosa17pip1 ↓
rca17cosa17bk17ks17
Figure D.15 Power consumption as a function of throughput for 17 bit-adders.
0 100 200 300 400 500 600 700 800 9000
50
100
150
200
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca18pip0 ↓
rca18pip4 ↓
rca18pip3 ↓
rca18pip2 ↓
rca18pip1 ↓
ks18pip1 ↓
bk18pip1 ↓
cosa18pip1 ↓
rca18cosa18bk18ks18
Figure D.16 Power consumption as a function of throughput for 18 bit-adders.
56
0 100 200 300 400 500 600 700 800 9000
50
100
150
200
250
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca19pip0 ↓
rca19pip4 ↓
rca19pip3 ↓
rca19pip2 ↓
rca19pip1 ↓
ks19pip1 ↓
bk19pip1 ↓
cosa19pip1 ↓
rca19cosa19bk19ks19
Figure D.17 Power consumption as a function of throughput for 19 bit-adders.
0 100 200 300 400 500 600 700 800 9000
50
100
150
200
250
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca20pip0 ↓
rca20pip4 ↓
rca20pip3 ↓
rca20pip2 ↓
rca20pip1 ↓
ks20pip1 ↓
bk20pip1 ↓
cosa20pip1 ↓
rca20cosa20bk20ks20
Figure D.18 Power consumption as a function of throughput for 20 bit-adders.
57
0 100 200 300 400 500 600 700 800 9000
50
100
150
200
250
300
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca21pip0 ↓
rca21pip4 ↓
rca21pip3 ↓
rca21pip2 ↓
rca21pip1 ↓
ks21pip1 ↓
bk21pip1 ↓
cosa21pip1 ↓
rca21cosa21bk21ks21
Figure D.19 Power consumption as a function of throughput for 21 bit-adders.
0 100 200 300 400 500 600 700 800 9000
50
100
150
200
250
300
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca22pip0 ↓
rca22pip4 ↓
rca22pip3 ↓
rca22pip2 ↓
rca22pip1 ↓
ks22pip1 ↓
bk22pip1 ↓
cosa22pip1 ↓
rca22cosa22bk22ks22
Figure D.20 Power consumption as a function of throughput for 22 bit-adders.
58
0 100 200 300 400 500 600 700 800 9000
50
100
150
200
250
300
350
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca23pip0 ↓
rca23pip4 ↓
rca23pip3 ↓
rca23pip2 ↓
rca23pip1 ↓
ks23pip1 ↓
bk23pip1 ↓
cosa23pip1 ↓
rca23cosa23bk23ks23
Figure D.21 Power consumption as a function of throughput for 23 bit-adders.
0 100 200 300 400 500 600 700 800 9000
50
100
150
200
250
300
350
400
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca24pip0 ↓
rca24pip4 ↓
rca24pip3 ↓
rca24pip2 ↓
rca24pip1 ↓
ks24pip1 ↓
bk24pip1 ↓
cosa24pip1 ↓
rca24cosa24bk24ks24
Figure D.22 Power consumption as a function of throughput for 24 bit-adders.
59
0 100 200 300 400 500 600 700 800 9000
50
100
150
200
250
300
350
400
450
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca25pip0 ↓
rca25pip4 ↓
rca25pip3 ↓
rca25pip2 ↓
rca25pip1 ↓
ks25pip1 ↓
bk25pip1 ↓
cosa25pip1 ↓
rca25cosa25bk25ks25
Figure D.23 Power consumption as a function of throughput for 25 bit-adders.
0 100 200 300 400 500 600 700 800 9000
50
100
150
200
250
300
350
400
450
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca26pip0 ↓
rca26pip4 ↓
rca26pip3 ↓
rca26pip2 ↓
rca26pip1 ↓
ks26pip1 ↓
bk26pip1 ↓
cosa26pip1 ↓
rca26cosa26bk26ks26
Figure D.24 Power consumption as a function of throughput for 26 bit-adders.
60
0 100 200 300 400 500 600 700 800 9000
50
100
150
200
250
300
350
400
450
500
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca27pip0 ↓
rca27pip4 ↓
rca27pip3 ↓
rca27pip2 ↓
rca27pip1 ↓
ks27pip1 ↓
bk27pip1 ↓
cosa27pip1 ↓
rca27cosa27bk27ks27
Figure D.25 Power consumption as a function of throughput for 27 bit-adders.
0 100 200 300 400 500 600 700 800 9000
50
100
150
200
250
300
350
400
450
500
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca28pip0 ↓
rca28pip4 ↓
rca28pip3 ↓
rca28pip2 ↓
rca28pip1 ↓
ks28pip1 ↓
bk28pip1 ↓
cosa28pip1 ↓
rca28cosa28bk28ks28
Figure D.26 Power consumption as a function of throughput for 28 bit-adders.
61
0 100 200 300 400 500 600 700 800 9000
100
200
300
400
500
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca29pip0 ↓
rca29pip4 ↓
rca29pip3 ↓
rca29pip2 ↓
rca29pip1 ↓
ks29pip1 ↓
bk29pip1 ↓
cosa29pip1 ↓
rca29cosa29bk29ks29
Figure D.27 Power consumption as a function of throughput for 29 bit-adders.
0 100 200 300 400 500 600 700 800 9000
50
100
150
200
250
300
350
400
450
500
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca30pip0 ↓
rca30pip4 ↓
rca30pip3 ↓
rca30pip2 ↓
rca30pip1 ↓
ks30pip1 ↓
bk30pip1 ↓
cosa30pip1 ↓
rca30cosa30bk30ks30
Figure D.28 Power consumption as a function of throughput for 30 bit-adders.
62
0 100 200 300 400 500 600 700 8000
100
200
300
400
500
600
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca31pip0 ↓
rca31pip4 ↓
rca31pip3 ↓
rca31pip2 ↓
rca31pip1 ↓
ks31pip1 ↓
bk31pip1 ↓
cosa31pip1 ↓
rca31cosa31bk31ks31
Figure D.29 Power consumption as a function of throughput for 31 bit-adders.
0 100 200 300 400 500 600 700 8000
100
200
300
400
500
600
700
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca32pip0 ↓
rca32pip4 ↓
rca32pip3 ↓
rca32pip2 ↓
rca32pip1 ↓
ks32pip1 ↓
bk32pip1 ↓
cosa32pip1 ↓
rca32cosa32bk32ks32
Figure D.30 Power consumption as a function of throughput for 32 bit-adders.
63
0 100 200 300 400 500 600 700 8000
100
200
300
400
500
600
700
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca33pip0 ↓
rca33pip4 ↓
rca33pip3 ↓
rca33pip2 ↓
rca33pip1 ↓
ks33pip1 ↓
bk33pip1 ↓
cosa33pip1 ↓
rca33cosa33bk33ks33
Figure D.31 Power consumption as a function of throughput for 33 bit-adders.
0 100 200 300 400 500 600 700 8000
100
200
300
400
500
600
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca34pip0 ↓
rca34pip4 ↓
rca34pip3 ↓
rca34pip2 ↓
rca34pip1 ↓
ks34pip1 ↓
bk34pip1 ↓
cosa34pip1 ↓
rca34cosa34bk34ks34
Figure D.32 Power consumption as a function of throughput for 34 bit-adders.
64
0 100 200 300 400 500 600 700 8000
100
200
300
400
500
600
700
800
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca35pip0 ↓
rca35pip4 ↓
rca35pip3 ↓
rca35pip2 ↓
rca35pip1 ↓
ks35pip1 ↓
bk35pip1 ↓
cosa35pip1 ↓
rca35cosa35bk35ks35
Figure D.33 Power consumption as a function of throughput for 35 bit-adders.
0 100 200 300 400 500 600 700 8000
100
200
300
400
500
600
700
800
900
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca36pip0 ↓
rca36pip4 ↓
rca36pip3 ↓
rca36pip2 ↓
rca36pip1 ↓
ks36pip1 ↓
bk36pip1 ↓
cosa36pip1 ↓
rca36cosa36bk36ks36
Figure D.34 Power consumption as a function of throughput for 36 bit-adders.
65
0 100 200 300 400 500 600 700 8000
100
200
300
400
500
600
700
800
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca37pip0 ↓
rca37pip4 ↓
rca37pip3 ↓
rca37pip2 ↓
rca37pip1 ↓
ks37pip1 ↓
bk37pip1 ↓
cosa37pip1 ↓
rca37cosa37bk37ks37
Figure D.35 Power consumption as a function of throughput for 37 bit-adders.
0 100 200 300 400 500 600 700 8000
100
200
300
400
500
600
700
800
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca38pip0 ↓
rca38pip4 ↓
rca38pip3 ↓
rca38pip2 ↓
rca38pip1 ↓
ks38pip1 ↓
bk38pip1 ↓
cosa38pip1 ↓
rca38cosa38bk38ks38
Figure D.36 Power consumption as a function of throughput for 38 bit-adders.
66
0 100 200 300 400 500 600 700 8000
100
200
300
400
500
600
700
800
900
1000
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca39pip0 ↓
rca39pip4 ↓
rca39pip3 ↓
rca39pip2 ↓
rca39pip1 ↓
ks39pip1 ↓
bk39pip1 ↓
cosa39pip1 ↓
rca39cosa39bk39ks39
Figure D.37 Power consumption as a function of throughput for 39 bit-adders.
0 100 200 300 400 500 600 700 8000
100
200
300
400
500
600
700
800
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca40pip0 ↓
rca40pip4 ↓
rca40pip3 ↓
rca40pip2 ↓
rca40pip1 ↓
ks40pip1 ↓
bk40pip1 ↓
cosa40pip1 ↓
rca40cosa40bk40ks40
Figure D.38 Power consumption as a function of throughput for 40 bit-adders.
67
0 100 200 300 400 500 600 700 8000
200
400
600
800
1000
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca41pip0 ↓
rca41pip4 ↓
rca41pip3 ↓
rca41pip2 ↓
rca41pip1 ↓
ks41pip1 ↓
bk41pip1 ↓
cosa41pip1 ↓
rca41cosa41bk41ks41
Figure D.39 Power consumption as a function of throughput for 41 bit-adders.
0 100 200 300 400 500 600 700 8000
100
200
300
400
500
600
700
800
900
1000
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca42pip0 ↓
rca42pip4 ↓
rca42pip3 ↓
rca42pip2 ↓
rca42pip1 ↓
ks42pip1 ↓
bk42pip1 ↓
cosa42pip1 ↓
rca42cosa42bk42ks42
Figure D.40 Power consumption as a function of throughput for 42 bit-adders.
68
0 100 200 300 400 500 600 700 8000
100
200
300
400
500
600
700
800
900
1000
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca43pip0 ↓
rca43pip4 ↓
rca43pip3 ↓
rca43pip2 ↓
rca43pip1 ↓
ks43pip1 ↓
bk43pip1 ↓
cosa43pip1 ↓
rca43cosa43bk43ks43
Figure D.41 Power consumption as a function of throughput for 43 bit-adders.
0 100 200 300 400 500 600 700 8000
200
400
600
800
1000
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca44pip0 ↓
rca44pip4 ↓
rca44pip3 ↓
rca44pip2 ↓
rca44pip1 ↓
ks44pip1 ↓
bk44pip1 ↓
cosa44pip1 ↓
rca44cosa44bk44ks44
Figure D.42 Power consumption as a function of throughput for 44 bit-adders.
69
0 100 200 300 400 500 600 700 8000
200
400
600
800
1000
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca45pip0 ↓
rca45pip4 ↓
rca45pip3 ↓
rca45pip2 ↓
rca45pip1 ↓
ks45pip1 ↓
bk45pip1 ↓
cosa45pip1 ↓
rca45cosa45bk45ks45
Figure D.43 Power consumption as a function of throughput for 45 bit-adders.
0 100 200 300 400 500 600 700 8000
200
400
600
800
1000
1200
1400
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca46pip0 ↓
rca46pip4 ↓
rca46pip3 ↓
rca46pip2 ↓
rca46pip1 ↓
ks46pip1 ↓
bk46pip1 ↓
cosa46pip1 ↓
rca46cosa46bk46ks46
Figure D.44 Power consumption as a function of throughput for 46 bit-adders.
70
0 100 200 300 400 500 600 700 8000
200
400
600
800
1000
1200
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca47pip0 ↓
rca47pip4 ↓
rca47pip3 ↓
rca47pip2 ↓
rca47pip1 ↓
ks47pip1 ↓
bk47pip1 ↓
cosa47pip1 ↓
rca47cosa47bk47ks47
Figure D.45 Power consumption as a function of throughput for 47 bit-adders.
0 100 200 300 400 500 600 700 8000
500
1000
1500
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca48pip0 ↓
rca48pip4 ↓
rca48pip3 ↓
rca48pip2 ↓
rca48pip1 ↓
ks48pip1 ↓
bk48pip1 ↓
cosa48pip1 ↓
rca48cosa48bk48ks48
Figure D.46 Power consumption as a function of throughput for 48 bit-adders.
71
0 100 200 300 400 500 600 700 8000
200
400
600
800
1000
1200
1400
1600
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca49pip0 ↓
rca49pip4 ↓
rca49pip3 ↓
rca49pip2 ↓
rca49pip1 ↓
ks49pip1 ↓
bk49pip1 ↓
cosa49pip1 ↓
rca49cosa49bk49ks49
Figure D.47 Power consumption as a function of throughput for 49 bit-adders.
0 100 200 300 400 500 600 700 8000
200
400
600
800
1000
1200
1400
1600
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca50pip0 ↓
rca50pip4 ↓
rca50pip3 ↓
rca50pip2 ↓
rca50pip1 ↓
ks50pip1 ↓
bk50pip1 ↓
cosa50pip1 ↓
rca50cosa50bk50ks50
Figure D.48 Power consumption as a function of throughput for 50 bit-adders.
72
0 100 200 300 400 500 600 700 8000
200
400
600
800
1000
1200
1400
1600
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca51pip0 ↓
rca51pip4 ↓
rca51pip3 ↓
rca51pip2 ↓
rca51pip1 ↓
ks51pip1 ↓
bk51pip1 ↓
cosa51pip1 ↓
rca51cosa51bk51ks51
Figure D.49 Power consumption as a function of throughput for 51 bit-adders.
0 100 200 300 400 500 600 700 8000
500
1000
1500
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca52pip0 ↓
rca52pip4 ↓
rca52pip3 ↓
rca52pip2 ↓
rca52pip1 ↓
ks52pip1 ↓
bk52pip1 ↓
cosa52pip1 ↓
rca52cosa52bk52ks52
Figure D.50 Power consumption as a function of throughput for 52 bit-adders.
73
0 100 200 300 400 500 600 700 8000
200
400
600
800
1000
1200
1400
1600
1800
2000
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca53pip0 ↓
rca53pip4 ↓
rca53pip3 ↓
rca53pip2 ↓
rca53pip1 ↓
ks53pip1 ↓
bk53pip1 ↓
cosa53pip1 ↓
rca53cosa53bk53ks53
Figure D.51 Power consumption as a function of throughput for 53 bit-adders.
0 100 200 300 400 500 600 700 8000
200
400
600
800
1000
1200
1400
1600
1800
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca54pip0 ↓
rca54pip4 ↓
rca54pip3 ↓
rca54pip2 ↓
rca54pip1 ↓
ks54pip1 ↓
bk54pip1 ↓
cosa54pip1 ↓
rca54cosa54bk54ks54
Figure D.52 Power consumption as a function of throughput for 54 bit-adders.
74
0 100 200 300 400 500 600 700 8000
200
400
600
800
1000
1200
1400
1600
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca55pip0 ↓
rca55pip4 ↓
rca55pip3 ↓
rca55pip2 ↓
rca55pip1 ↓
ks55pip1 ↓
bk55pip1 ↓
cosa55pip1 ↓
rca55cosa55bk55ks55
Figure D.53 Power consumption as a function of throughput for 55 bit-adders.
0 100 200 300 400 500 600 700 8000
200
400
600
800
1000
1200
1400
1600
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca56pip0 ↓
rca56pip4 ↓
rca56pip3 ↓
rca56pip2 ↓
rca56pip1 ↓
ks56pip1 ↓
bk56pip1 ↓
cosa56pip1 ↓
rca56cosa56bk56ks56
Figure D.54 Power consumption as a function of throughput for 56 bit-adders.
75
0 100 200 300 400 500 600 700 8000
200
400
600
800
1000
1200
1400
1600
1800
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca57pip0 ↓
rca57pip4 ↓
rca57pip3 ↓
rca57pip2 ↓
rca57pip1 ↓
ks57pip1 ↓
bk57pip1 ↓
cosa57pip1 ↓
rca57cosa57bk57ks57
Figure D.55 Power consumption as a function of throughput for 57 bit-adders.
0 100 200 300 400 500 600 700 8000
500
1000
1500
2000
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca58pip0 ↓
rca58pip4 ↓
rca58pip3 ↓
rca58pip2 ↓
rca58pip1 ↓
ks58pip1 ↓bk58pip1
↓
cosa58pip1 ↓
rca58cosa58bk58ks58
Figure D.56 Power consumption as a function of throughput for 58 bit-adders.
76
0 100 200 300 400 500 600 700 8000
500
1000
1500
2000
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca59pip0 ↓
rca59pip4 ↓
rca59pip3 ↓
rca59pip2 ↓
rca59pip1 ↓
ks59pip1 ↓
bk59pip1 ↓
cosa59pip1 ↓
rca59cosa59bk59ks59
Figure D.57 Power consumption as a function of throughput for 59 bit-adders.
0 100 200 300 400 500 600 700 8000
500
1000
1500
2000
2500
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca60pip0 ↓
rca60pip4 ↓
rca60pip3 ↓
rca60pip2 ↓
rca60pip1 ↓
ks60pip1 ↓
bk60pip1 ↓
cosa60pip1 ↓
rca60cosa60bk60ks60
Figure D.58 Power consumption as a function of throughput for 60 bit-adders.
77
0 100 200 300 400 500 600 700 8000
500
1000
1500
2000
2500
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca61pip0 ↓
rca61pip4 ↓
rca61pip3 ↓
rca61pip2 ↓
rca61pip1 ↓
ks61pip1 ↓
bk61pip1 ↓
cosa61pip1 ↓
rca61cosa61bk61ks61
Figure D.59 Power consumption as a function of throughput for 61 bit-adders.
0 100 200 300 400 500 600 700 8000
500
1000
1500
2000
2500
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca62pip0 ↓
rca62pip4 ↓
rca62pip3 ↓
rca62pip2 ↓
rca62pip1 ↓
ks62pip1 ↓
bk62pip1 ↓
cosa62pip1 ↓
rca62cosa62bk62ks62
Figure D.60 Power consumption as a function of throughput for 62 bit-adders.
78
0 100 200 300 400 500 600 700 8000
200
400
600
800
1000
1200
1400
1600
1800
2000
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca63pip0 ↓
rca63pip4 ↓
rca63pip3 ↓
rca63pip2 ↓
rca63pip1 ↓
ks63pip1 ↓
bk63pip1 ↓
cosa63pip1 ↓
rca63cosa63bk63ks63
Figure D.61 Power consumption as a function of throughput for 63 bit-adders.
0 100 200 300 400 500 600 700 8000
500
1000
1500
2000
Clock frequency [MHz]
Pow
er C
onsu
mpt
ion
[mW
]
rca64pip0 ↓
rca64pip4 ↓
rca64pip3 ↓
rca64pip2 ↓
rca64pip1 ↓
ks64pip1 ↓
bk64pip1 ↓
cosa64pip1 ↓
rca64cosa64bk64ks64
Figure D.62 Power consumption as a function of throughput for 64 bit-adders.
79
På svenska Detta dokument hålls tillgängligt på Internet – eller dess framtida ersättare – under en längre tid från publiceringsdatum under förutsättning att inga extra-ordinära omständigheter uppstår.
Tillgång till dokumentet innebär tillstånd för var och en att läsa, ladda ner, skriva ut enstaka kopior för enskilt bruk och att använda det oförändrat för ickekommersiell forskning och för undervisning. Överföring av upphovsrätten vid en senare tidpunkt kan inte upphäva detta tillstånd. All annan användning av dokumentet kräver upphovsmannens medgivande. För att garantera äktheten, säkerheten och tillgängligheten finns det lösningar av teknisk och administrativ art.
Upphovsmannens ideella rätt innefattar rätt att bli nämnd som upphovsman i den omfattning som god sed kräver vid användning av dokumentet på ovan beskrivna sätt samt skydd mot att dokumentet ändras eller presenteras i sådan form eller i sådant sammanhang som är kränkande för upphovsmannens litterära eller konstnärliga anseende eller egenart.
För ytterligare information om Linköping University Electronic Press se förlagets hemsida http://www.ep.liu.se/ In English The publishers will keep this document online on the Internet - or its possible replacement - for a considerable time from the date of publication barring exceptional circumstances.
The online availability of the document implies a permanent permission for anyone to read, to download, to print out single copies for your own use and to use it unchanged for any non-commercial research and educational purpose. Subsequent transfers of copyright cannot revoke this permission. All other uses of the document are conditional on the consent of the copyright owner. The publisher has taken technical and administrative measures to assure authenticity, security and accessibility.
According to intellectual property law the author has the right to be mentioned when his/her work is accessed as described above and to be protected against infringement.
For additional information about the Linköping University Electronic Press and its procedures for publication and for assurance of document integrity, please refer to its WWW home page: http://www.ep.liu.se/ © Anders Åslund