Sei sulla pagina 1di 11

A compact dot notation for designing multi operand parallel adders,

multipliers and products adders


Luigi Dadda
Politecnico di Milano, Italy
ALaRI, University of Italian Switzerland at Lugano
Abstract - After having recalled the introduction of the "dot-notation" for an easy study of
parallel binary adders and multipliers, a modified compact dot-notation is given, obtaining an
easier application to arithmetic problems involving large numbers and many operands. This
new notation, and some of its possible variations, is shown for the design of multi-operand
parallel adders, multipliers and of adders of products. It is shown that a spreadsheet can be
programmed as a design tool for obtaining dot schemes of comple arithmetic systems. This
spreadsheet program gives also the total number of full and half adders and the number of
stages of the compression process. The spreadsheet tools can be downloaded from the !eb.
Keywords" parallel adders, parallel multipliers, dot notation, arithmetic arrays, spreadsheet as
design tool in arithmetic.
Introduction
In [2,5 we !ave introduced a notation for re"resenting an array of #inary nu$#ers for
allowing an easy way in t!e design of "arallel adders and $ulti"liers% &ig% 'A re"resents a
si$"le e(a$"le for adders% In t!e notation a dot re"resents an uns"ecified #inary digit, i%e% a #it%
)!e colu$n i #$%& i % n' in w!ic! it is "laced is c!aracterized #y a weig!t 2
i
since eac! row of
an array in intended to re"resent a #inary integer *fractional or $i(ed integer+fractional nu$#ers
can also #e treated,%

13 13 13 13
4 4 4 4
2
3 3 3
2 2
2
13 13 13 13
B
A
1
2
3
3
4
44
5
5
6
6
2
2


'
Fig.1: A:a parallel Adder of 13, 4 bits numbers, using the standard dot notation.
: the same Adder, using the compact dot notation
)!e "arallel $ulti+o"erands #inary addition leads naturally to t!e conce"t of -"arallel
counters- if t!e addition algorit!$ in conceived in t!e way in w!ic! it is taug!t in "ri$ary
sc!ools, i%e% adding t!e digits of t!e left$ost colu$n and writing t!e least significant digit in t!e
sa$e colu$n, t!e ot!ers digits #eing written in t!e ad.acent colu$ns as carries, according to
t!eir weig!ts%
It is "ossi#le to ado"t t!e algorit!$ #ased on t!e addition of rows, i%e% of t!e single nu$#ers
to #e added% )!is is o#viously $ore tiring in !and addition% In "arallel addition it leads to a
#inary tree of carry save adders for rows, as "ro"osed #y /allace in ['
)!e e("erience !as s!own t!at t!e easiest and faster counters are t!e full adders or &A0s *i%e%
t!e -1,2- "arallel counters,, due also to t!e fact t!at t!ey !ave #een well o"ti$ized, #ot! in
s"eed and area, in t!e design tools in co$$on use today% Parallel counters wit! a !ig!er nu$#er
of in"uts *e%g% *2,1, "arallel counters, or co$"osite counters, called also co$"ressors, wit!
in"uts fro$ two or $ore colu$ns, are usually co$"le( and relatively slow [5,2%
)!e re"resentation of a &A in a dot array can #e as si$"le as a seg$ent .oining t!e two
out"ut dots% )!e t!ree in"uts in t!e u""er in"ut level don3t need to #e e("licitly $ar4ed5 it is
i$"licitly assu$ed t!at t!ey #elong to t!e sa$e colu$n of t!e Su$ out"ut% It is i$"ortant to
stress t!at t!e dot sc!e$e is not a wiring diagra$, #ut an inter$ediate ste" in t!e design
"rocess, at a relatively !ig! level of a#straction% 6ote t!at t!e e7uations or t!e trut! ta#les of t!e
&A are never used in t!is level%
The compact dot notation
)!e co$"act dot notation will #e e("lained using as wor4ing e(a$"les &ig%' and t!e &ig%2
sc!e$es% &ig%'A is drawn according to t!e traditional $et!od% &ig%'8 is o#tained using t!e new
co$"act notation% 8ot! figures re"resent t!e addition of '1 #inary nu$#ers of 9 digits eac!% )!e
initial array of '1:9 dots is not s!own for s"ace reason; instead t!e nu$#er of digits *'1, in eac!
colu$n is s!own%
In &ig%'8 we start e%g% fro$ t!e rig!t$ost 2
<
colu$n dividing #y 1 t!e nu$#er of dots in t!e
initial array and "lacing a single &A in t!e second array wit! t!e 7uotient =9= close to it5 t!is for
signifying t!at, in t!e traditional sc!e$e we !ave 9 distinct &A3s% )!e re$ainder, ' , is
re"resented in t!e t!ird row #y a dot% )!e sa$e result is o#tained for t!e re$aining colu$ns
6ote t!at t!e 9 written close to eac! &A $eans t!at in t!e Su$ and >arry colu$ns t!ere will
#e *see t!e traditional sc!e$e, a corres"onding nu$#er of dots%
>onsider now t!e ne(t $a""ing *o#taining t!e second array,% In t!e first colu$n of t!e first
array we found 5 dots5 t!ree of t!e$ will enter a &A, t!e fourt! and t!e fift! will not #e
"rocessed, #ut si$"ly transferred in t!e sa$e first colu$n in t!e second array, re"resented #y a
dot wit! a 2 close to it%
In t!e second colu$n of first array we find ? dots5 t!ey will enter t!ree &A0s re"resented #y a
single &A wit! a 1 close to it% )!e sa$e is done for colu$n 1 and 9%
In colu$n 5 we find 9 dots5 t!ree of t!e$ will enter a full adder, t!e fourt! will #e re"resented
#y a dot in t!e 1
rd
row of colu$n 5%
)!e a#ove #asic rules i$"le$ent t!e co$"act array transfor$s%
It can #e seen in &ig%'8 t!at eac! stage is re"resented wit! only t!ree dot rows, t!e first two
#eing co$"osed #y a linear array of $ulti"le &A or @A, w!ile t!e t!ird row is co$"osed #y
single or dou#le dots%
)!e two e7uivalent sc!e$es of &ig%' o#tain t!e final 2+rows redundant su$ wit! twodots for
eac! colu$n%
Additional rules can #e added in order to o#tain s"ecific results, ta4ing for instance into
account t!e c!oice in using @A5 we can decide to "rocess a cou"le of dots in a colu$n
2
*o#taining two #its in ad.acent colu$ns,, or transfer t!e dots in t!e ne(t array wit!out any
"rocessing%
A strategy can #e to use a @A w!en in a colu$n we !ave only two #its, all t!e colu$ns at its
rig!t containing one #it only% )!is will o#tain t!e final array co$"osed #y a nu$#er of t!e
rig!t$ost colu$ns wit! a single dot, w!ile t!ose at t!e left !ave two #its% )!is will re7uire a
s!orter "arallel adder *often, for s"eed reasons, a carry loo4 a!ead adder,%
In certain a""lication we 4now in advance t!e lengt! in #it of t!e final su$% As an e(a$"le
consider t!e case of adding deci$al digits encoded as #inary integers *8>A code,% In adding,
say '1 deci$al 8>A digits, t!e $a(i$u$ value of t!e su$ will #e ''2
'<
% In case we add '1
#inary nu$#ers of four #it t!e su$ will #e '1:'5B'?5
'<
% Since ''2C2
2
C'?5 C2
D
, 2 #its will
suffice for deci$al 8>A digits, w!ile D #it will #e needed for 9 #it #inary nu$#ers% In fig%'
e(a$"le t!e case of 8>A digits re7uires si$"ly to cut out t!e last stage of t!e final "arallel
adder% In ot!er cases it $ig!t #eco$e necessary to -cut- in one or $ore of t!e last reduction
stages% )!e cut can #e done since we 4now t!at a carry will never #e "roduced in a colu$n% In
case of cutting, only t!e su$ out"ut of a &A will #e used% A $ore rational way is to use, in suc!
a case, a two or t!ree in"ut EFR unit, as done in ['<, for designing integer3s $ulti"liers for
"roduct lengt! s$aller or e7ual to n%

2
2 2
2
2 2
2 2
2
2 2 2
3 2 2 2 2 2 2 2
2 2 2 2 2 2
4 3 3 3 3 3 3 2 2 2 2 2 2
9 10 11 5 6 7 8 1 2 3 4 9 101112 5 6 7 8 1 2 3 4
B A
2 2
4 3 2 1 8 7 6 5 12 11 10 9 4 3 2 1 8 7 6 5 1110 9
2 2 2 2 2 2 3 3 3 3 3 3 4
2 2 2 2 2 2
2 2 2 2 2 2 2 3
2 2 2
2
2 2
2 2
2
2 2
2

Fig! : A: a 1!"1! multiplier using only Full Adders in the compression stage .
: a 1!"1! multiplier generating # single l.s. bits in the last compression stage.
)wo $ore e(a$"les of co$"act dot notation are given in &ig% 2, re"resenting a #inary
$ulti"lier for factors of '2 #its, o#tained #y ado"ting two different strategies% In t!e first
sc!e$e A we decide to use only &A, adding new stages until a stage is o#tained containing no
$ulti"le &A% )!e last reduction stage, generating two rows, is o#tained #y ado"ting &A only in
in"ut colu$ns wit! t!ree dots% In colu$ns containing 2 or ', no "rocessing is needed, unless
re7uired for s"ecific reasons% )!is can certainly #e done for a se7uence of 23s and '3s in t!e
left$ost least significant colu$ns% Proceeding fro$ t!e rig!t we will reac! a colu$n valued 15 it
will re7uire a &A% )!e sa$e will #e done for t!e ne(t colu$n if valued 1% If a 2 in found instead,
we will #e o#liged to a""ly a @A% &or a se7uence of 1 or 2 we will use a full or !alf adder
res"ectively, until we find a '5 t!is will #e left unc!anged and will #e associated wit! t!e carry
of t!e &A, or @A, at its rig!t% And so on u" to t!e left$ost colu$n% )!e algorit!$ leads to a
$ini$al use of &A or @A in t!e last stage% )!e algorit!$ !as #een a""lied in constructing
&ig%2A sc!e$e
It is i$"ortant to note t!at in all t!e "receding stages, w!ere no @A is used, t!ere is also a
$ini$al use of &A% )!is can #e seen #y noting t!at a &A is a Gsaturated= "arallel counter *in
suc! counters t!e two out"ut are #ot! G'= w!en all t!e t!ree in"uts are G'=,% )!is is not t!e case
1
for a @A, w!ere only one of t!e two out"uts can #e G'=% )!e dots used as in"uts to &A3s are
reduced in t!e following stage #y t!e factor 2H1% 6ote t!at t!e in case of a non+zero re$ainder
even in a single colu$n, t!e corres"onding dots reduction factor will #e s$aller t!en 2H1%
)!e strategy descri#ed #efore for o#taining a final result of t!e reduction "rocess wit!
so$e least significant #its fully co$"uted !as #een used, o#taining 2 of t!e 29 "roduct3s #its
already 4nown #efore entering t!e final "arallel adder *w!ic! will #e used for t!e re$aining '2
#its,% It can #e verified t!at t!e first stage can "roduce two Gfinal= '3s using a @A in colu$n 2
'
%
It can also #e verified, see &ig%2A, t!at in eac! of t!e successive stages it is "ossi#le to Gi$"ose=
a final @A% As s!own in t!e figure, in t!e '<
t!
stage a &A instead is necessary%
It $ust #e stressed, !owever, t!at w!ile we can "roduce a Gfinal= new #it, t!e lengt! of t!e
"roducts in eac! stage increases faster wit! n, so t!at t!e relative i$"ortance of t!e final #its of
t!e "roducts is di$inis!ing% In )a#le A *o#tained #y using a $ulti"lier synt!esizer #y $eans of a
tool using a s"reads!eet, see ne(t c!a"ter, are s!own t!e results for $ulti"liers of u" to ID #it
factors%
Using spreadsheets
A variant of t!e co$"act dot notation is s!own in &ig%1, re"resenting t!e co$"act dot
sc!e$e for an Adder of 5, 9(9 "roducts5 it consists si$"ly in "lacing t!e nu$#er attac!ed to
eac! &A to #ot! of its two out"uts% )!is is not only consistent wit! t!e intrinsic $ulti"licity of
t!e out"ut dots, #ut !as #een suggested in order to o#tain an easier and syste$atic $anual
drawing "rocedure% As a $atter of fact, drawing #y !and a large dot array, and its various
co$"ression stages, is a very tedious tas4, "rone to errors%

5 10 15 20 10 5 15
1
1 3
3
5
5
6
6
5
5
3
3
1
1
2 1 1 2 1 2
1 1 2
1
1
2
2
4
4
3
3
3
3 2
2
2
1
1
1
2
1
1 2
2
3
3
2
2
1
1
1
1
1 2
2 1
1 1
1
1
1
1
1
1
1 1
1
1
1
1 1
1
1
1 1 1
1 1
1
1
1
1
1 1 1
1
1
1
1
1
1
1
1
1
1 1
1
1
1 1
1
1
1
1
1 1 1
1
1
Fig. 3 -Adder of $, 4"4 product. %he multiplicity factors are written both at the &um and 'arry of the
multiple Full Adders
Moreover, we could add to eac! stage a fourt! line, for storing t!e su$ of eac! colu$n% )!is
also contri#utes to an orderly "rocedure, avoiding t!e use of our G"attern recognition= ca"acity,
t!e $ain source of errors%
)!is suggests naturally to searc! an auto$atic tool for o#taining t!e co$"ression of a dot
array% Suc! a tool !as #een envisioned in t!e spreadsheet, availa#le in all "ersonal co$"uters
and $ostly used for ad$inistrative tas4s%
9
It is i$"ortant to underline t!at dot sc!e$es are a first !ig! level a#straction of t!e syste$s
to #e designed, re7uiring, as a ne(t ste", t!eir translation into J@AL *or ot!er si$ilar
languages, "rogra$s%
/e are going to descri#e #riefly t!e structure of so$e s"reads!eet "rogra$s%
All t!e s"reads!eet "rogra$s t!at we develo"ed will #e seen in t!e following t!roug!
s"ecific !y"erlin4s%
%he design of (ulti-)perand parallel Adders
It is t!e first s"reads!eet "rogra$ Multi F"era#d Parallel Adders% It is a syste$ o#taining
t!e su$ of ( of n% #it lengt!, ( and n #eing given #y t!e user%
/e can note in suc! s"reads!eet *i$"le$ented wit! Microsoft K(cel, t!e following "oints5
+ Row ' contains a se7uence of integers increasing fro$ ' in AM' to n, t!e integer "laced
in cell AM2 to e("ress t!e lengt! in #its of t!e addends% 6ulls are in all cells at t!e left of
t!e last nu$#er in row '%
+ In A6' we can "lace t!e addend3s nu$#er ( , t!at $ust #e s$aller t!an t!e nu$#er in
AF'% In suc! a case a LKS a""ears in t!e alert cell AM2%
+ )!e value of ( a""ears in n cells starting fro$ AM15 t!ey re"resent t!e ( rows array, to
#e co$"ressed in t!e e7uivalent 2+rows to #e added in a carry "ro"agating "arallel adder%
+ )!e co$"ression "rocess is carried out #y a se7uence of stages, eac! re"resented #y a
grou" of 9 rows%
)!e first stage is co$"osed #y rows 9 to 2, wit! t!e following roles5
+ Row 9 cells contain co$$ands of t!e ty"e GBRFU6AAF/6*N1H1,<,= o#taining t!e
integer "art of t!e 7uotient of N1H1, i%e% t!e nu$#er of &A necessary to "rocess '2 in"ut
varia#les *or dots, of colu$n N% In order to fully re"resent t!e &A3s in t!e sa$e colu$n,
t!e nu$#er in cell N9 is written in cell I5 *in t!e colu$n ad.acent to colu$n N at its left,%
)!is is o#tained #y t!e co$$and GBN9= in I5%
+ In Row3s I cells we "lace co$$ands of t!e ty"e GBMFA*N1,1,=, giving t!e re$ainder of
t!e division N1H1% /e could, instead, write in cell NI5BN1+1:N9% Row I contains t!e dots
of t!e in"ut array t!at are transferred in t!e out"ut array of t!e stage wit! no "rocessing%
+ Row 2 is co$"osed #y t!e su$s of t!e nu$#ers in eac! colu$n in t!e "receding t!ree
rows%
Row 2 is "rocessed e(actly in sa$e way for "roducing t!e t!ird array, e7uivalent to t!e
original one, in row ''% In tsa$e way are o#tained t!e following '5, '?, 21, 22, 1', 15,1?, 91 rows%
6ote also t!at in t!e "ro"osed s"reads!eet only full adders are used%
In t!e said S"reads!eet *)ultiAdd*.ls' ten suc! stages !ave #een "rovided%
)roug! t!e first stage ( will #e reduced #y a factor t!at *for a large ( , is slig!tly s$aller
t!an 2H1% Precisely, it will #e 2H1 in case ( is $ulti"le of 1, s$aller t!at 2H1 if t!e re$ainder of t!e
division #y 1 is ' or 2 in so$e colu$ns% )!e re$ainder is transferred to t!e following stage wit! no
"rocessing
'
%
&or ( & +$, all t!e availa#le '< stages will #e used5 t!e out"ut row of t!e '<
t!
stage will
contain nu$#ers e7ual or s$aller t!an 1 and conse7uently stage '< will #e $ar4ed wit! )RUK in
colu$n AF% &or s$aller ( a nu$#er of stages s$aller t!an t!e '< availa#le are needed5 in suc! a
case, t!e stage "roducing in its out"ut row nu$#ers e7ual or s$aller t!an t!ree will #e $ar4ed wit!
)RUK in colu$n AF% )!e syste$ will in any case o"erate wit! all t!e "rovided stages% &or not too
large ( a nu$#er of stages a$ong t!e last will "roduce e7ual out"uts lines, usually co$"osed #y '3s
and 23s% )!e content of suc! lines could #e used as t!e final result, to #e fed to a "arallel adder% )!is
'
In case of a re$ainder B 2 we could "rocess it t!roug! an @alf Adder5 it will "roduce in t!e following stage two
varia#les "laced in t!e sa$e colu$n of t!e two in"uts *t!e Su$, and in t!e ne(t to t!e left *t!e >arry, wit! no reduction
in t!e nu$#er of varia#les treated% /e c!oose in t!e case illustrated not to use @alf Adders% In a successive case we will
use it for o#taining s"ecific effects%
5
is not an acce"ta#le solution, due #ot! to a nu$#er of co$"onents not "roviding any useful tas4 and
to t!e delay caused #y t!e not useful stages%
)!e "ro#le$ can #e solved #y c!oosing t!e out"ut line of t!e first stage t!at generates an
out"ut row co$"osed #y 13s, 23s or'3s, re"resenting an array of t!ree rows only%
)!e c!osen stage out"ut is auto$atically transferred in t!e first row of t!e &I6AL stage, at
t!e #otto$ of t!e s"reads!eet, w!ose out"ut row is co$"osed #y 23s, '3s or <3s, to #e fed into a
"arallel adder%
)!e &I6AL stage structure is different fro$ t!e ot!er stages% It is co$"osed #y &ull Adders
and @alf Adders, and it wor4s in suc! a way t!at a se7uence of 23s and '3s is not "rocessed, w!ile
se7uences of 13s and 23s are "rocessed #y &ull or @alf adders% Processing a 2 following a 1 in
needed in order to $a4e roo$ for t!e carry fro$ t!e full adder fed #y t!e 1, in order to o#tain a
final result co$"osed only #y 2 rows% )!e a#ove se7uences are recognized #y corres"onding
se7uences of '3s and of 13s in t!e row 99 "laced at t!e #otto$ of t!e co$"ression stages%
It is i$"ortant to underline t!e $ost i$"ortant ca"a#ility of t!e "ro"osed s"reads!eet, i%e%
t!e "ossi#ility of designing Multi F"erand Adders for assigned n and ( *s$aller t!en t!e
$a(i$u$s i$"le$ented,% )!is can #e done #y loading t!e desira#le n and ( and e(tracting t!e
*co$"act, dot sc!e$e fro$ t!e non+e$"ty cells%
*imits for n and ( of a gi+en spreadsheet program
It !as #een found difficult and i$"ractical to e("ress in $at!e$atical for$ulas t!ose li$its5
no $atter of t!eir co$"lication, t!ey could in any case #e co$"uted #y suita#le "rogra$s% %
/e t!erefore decided to o#tain t!e necessary controls #y acce"ting t!e li$it on t!e nu$#er
of co$"ression levels *it is an easy tas4 to increase t!eir nu$#er,% Moreover we i$"le$ented a
control on t!e lengt! of t!e final result, i%e% t!e $a(i$u$ nu$#er of out"ut dots%
)!ese c!ec4s are as a Les or a 6F in AM2 and AN2 cells, res"ectively for ( and for t!e
overflow%
)!e ter$ overflow is not to #e intended in t!e usual nu$erical $eaning% )!e descri#ed
syste$ does not si$ulate an addition5 we o#tain t!e sc!e$e of an adder, w!ere a dot re"resents an
electrical ter$inal *t!e su$ or t!e carry of a full or !alf adder,% If t!e nu$#er of dots needed to
re"resent t!e Su$ is larger t!at t!e nu$#er of cells allotted in t!e s"reads!eet, so$e $ost
significant dots cannot #e re"resented5 we $ust t!en $odify t!e s"reads!eet "rogra$% )!is event
could #e called $ore correctly a -dot+overflow-%
2
Anot!er way to e("ress t!e "ossi#ilities and t!e li$its of t!is s"reads!eet "rogra$ is to say
t!at it is not a si$ulation "rogra$, e(ce"t in t!e case of o"erands co$"osed #y '0s and if only full
adder are used% /e can rat!er say t!at we si$ulate t!e design of an Adder% )!e real design of suc!
syste$s can #e o#tained only #y writing a corres"onding "rogra$ in a design language, suc! as
J@AL, Jerilog or Syste$>%
%he design of binary ,arallel (ultipliers
In relation to t!e two sc!e$es of &ig%2 we !ave o#tained two corres"onding s"reads!eets5
Parallel Multi"liers for nCID *only &A, and Parallel Multi"liers for nOID *@A,% 8ot! can #e used
for $ulti"liers for u" to I2 #it factors%
8ot! s"reads!eet differs fro$ t!e one .ust illustrated for $ulti+o"erand addition only for t!e
initial row containing t!e se7uence of dot nu$#ers in eac! colu$n% Row 9 contains t!e se7uence of
integers fro$ < *in colu$n KK9, corres"onding to t!e least significant #its *weig!t 2
<
, to'19
*corres"onding to t!e $ost significant #its of t!e 2+rows redundant "roduct of a ID factors #its,%
2
)!e li$it given in MultiAdd2%(sl,, AF'B-C'<5- is conservative% It !olds for n - +$, ten #eing t!e nu$#er of
co$"ression stages i$"le$ented% &or n % +$ t!e li$it for ( is largest% &or n & 5 it can #e found, #y -e("eri$enting-
wit! t!e said s"reads!eet, t!at ( can #e u" to '<?% It can #e seen fro$ t!e s"reads!eet t!at t!e $a(i$u$ values in t!e
stages out"uts is drifting to t!e left% 6ote t!at two ALKR) are given in row25 )!e left alert is 6F w!en ( is too large;
t!e rig!t alert is 6F w!en t!e lengt! of t!e final out"ut in row5< cannot #e acco$$odated in t!e sa$e row%
I
In row 5 we !ave t!e se7uence5 ',2,P%n+',n,n+',P%2,',<,<,P%< of n+' integers, re"resenting t!e
in"ut array% Suc! se7uence is generated auto$atically fro$ t!e content of cell KA', filled #y t!e
user wit! n% )!e following stages reduce t!e $a(i$u$ nu$#er of t!e successive array, until t!e
value 1 is reac!ed% )!e stage "roducing suc! result is identified #y t!e value )RUK in colu$n KM
and #y a LAS) in colu$n K&%
)!e out"ut of suc! LAS) stage in transferred to t!e final stage at t!e #otto$ of t!e s"reads!eet,
as done as in t!e )ultiAdd s"reads!eet descri#ed "reviously%
In K@2 we found t!e total nu$#er of full and !alf adders *in K@' t!e nu$#er of !alf adders,%
In AL2 we get t!e nu$#er of t!e co$"ression stages used%
)!e co$"osition of eac! stage can #e co$"ared, for n & +* wit! &ig%2A sc!e$e%
)!e second S"reads!eet gives $ulti"liers w!ose final 2+rows out"ut gives a nu$#er of least
significant dots in non+redundant '+dot for$, i%e% #its of t!e "roduct% It !as #een s!own in &ig% 28
t!e case of a '2 #its $ulti"lier%
)!is s"reads!eet o#tains t!e result #y introducing in eac! stage a !alf adder at its rig!t$ost
"lace%
In A""endi( A is s!own a ta#le, o#tained fro$ t!e two a#ove s"reads!eets, s!owing for n fro$
1 to ID, t!e total nu$#er of co$"ression stages, t!e total nu$#er of full and !alf adders and, fro$
t!e second S"reads!eet, t!e -single dots- in t!e final result%
)!ese data allow, for a "rescri#ed tec!nology giving t!e area and t!e delays of a full adder , of a
!alf adder and of a carry+loo4+a!ead final adder of "rescri#ed lengt!, an evaluation of t!e total
$ulti"lier area and delay% )!ese are .ust -first evaluations-, to #e confir$ed #y a J@AL "rogra$ of
t!e sa$e $ulti"lier% It is i$"ortant to note t!at in suc! a "rogra$ t!e internal connections would #e
declared as local%
Asymmetric (ultipliers
In a""lication+s"ecific syste$s we $ig!t !ave t!e "ro#le$ of $ulti"lying nu$#er wit! a
different nu$#ers of #its, i%e% an asy$$etric $ulti"lier% It is o#viously "ossi#le to use a sy$$etric
$ulti"lier for factors of e7ual lengt!, #ut it is $ore convenient *#ot! in area and delay, to ado"t a
$ulti"lier for factors $atc!ing in lengt! t!e values re7uired #y t!e a""lication%
A dot sc!e$e for asy$$etric $ulti"liers can #e easily o#tained wit! t!e s"reads!eet
Asy$$etric Multi"liers% In t!is "rogra$ it is assu$ed t!at t!e $ulti"licand lengt! is t!e largest of
t!e two lengt!s, n and m%& n, m #eing t!e lengt! of t!e $ulti"lier% 8ot! "ara$eters can #e of u" to
12 #its%
)!is "rogra$ differs fro$ t!e ones "reviously descri#ed essentially in t!e creation of t!e in"ut
line re"resenting t!e $ulti"lier array%
)btaining Adders of ,roducts
)!e addition of "roducts is an ele$entary fre7uent o"eration in linear alge#ra and also in signal
"rocessing a""lication *e%g% convolution,%
In relation to t!e two sc!e$es of &ig%2 we !ave o#tained two corres"onding s"reads!eets, to #e
downloaded as Products Adders and Asy$$etric Product Adders 8ot! can #e used for $ulti"liers
for u" to I2 #it factors%
)!e first S"reads!eet differs fro$ t!e $ulti+o"erand addition only for t!e initial row containing
t!e se7uence of dot nu$#er in eac! colu$n% Row 9 contains t!e se7uence of integers fro$ ' *in
colu$n KL, corres"onding to t!e least significant #its *weig!t 2
<
,%
In row 2 we !ave t!e se7uence5 ',2,P%n+',n,n+',P%2,',<,<,P%< of n+' integers, re"resenting t!e
in"ut array of a single "roduct% Suc! se7uence is generated auto$atically fro$ t!e content of cell
86', filled #y t!e user% )!e nu$#er of "roduct, p, is filed in 8M2% Row9 is o#tained fro$ Row 2
#y $ulti"lication wit! p, and it is t!e in"ut array of t!e co$"ression stages%
2
)!e "rocessing done #y t!e co$"ression stages reduces t!e $a(i$u$ nu$#er of t!e successive
arrays, until t!e MAE value 1 is reac!ed% )!e stage "roducing suc! result is identified #y t!e value
)RUK in colu$n 86%
)!e final stage o#tains t!e result%
)!e second S"reads!eet !andles asy$$etric "roducts% )!e in"ut "ara$eters are n, m and p5 t!e
first two for defining t!e "roducts, t!e t!ird t!eir nu$#er%
A more compact version
)!e s"reads!eets "resented "reviously are Gi$ages= of t!e gra"!ical sc!e$es i$"le$enting
t!e co$"act version of dots sc!e$es, see e%g% &ig% 1% Kac! stage of t!e sc!e$es is t!en re"resented
*if so$e restrictions are acce"ted, #y four rows5 t!e first two for re"resenting t!e Su$ and t!e >arry
out"uts of an array of full adders, t!e t!ird t!e re$ainder of t!e division #y 1 of t!e "receding stage,
t!e fourt! t!e out"uts of t!e array% )!e second row in eac! stage is clearly redundant, t!e e7uations
of eac! cells of it #eing of t!e ty"e5 85B>95 t!e second row is o#tained fro$ t!e first co"ying it
wit! a dis"lace$ent of one colu$n to t!e left%
It is easy to !ide t!e second row, #y t!e co$$and -!ide-, wit!out erasing it
If we wis! to o$it entirely t!e second row we can do it "rovided t!at in t!e Su$s row we
re"lace t!e original e7uations, of t!e ty"e5 )2BSUM*) I5)9,, or 5 )2B)9Q)5Q)I, wit! t!e
e7uation5 )5B)9Q)1QU1%
/e could in "rinci"le o$it also t!e Su$ row, reducing to two rows eac! co$"ression stage, #ut,
#esides t!e difficulties to o#tain it, we t!in4 t!at for a designer it is desira#le to $onitor t!e
co$"ression "rocess #y loo4ing to t!e Su$s rows%

General comments and future work
)!e sc!e$es c!osen, "articularly for $ulti"liers, !ave #een suggested #ot! #y t!e "revious
e("erience and #y t!e ado"ted design $et!odology #ased on t!e co$"act dot notation% A general
c!aracteristic of t!e sc!e$es is very easy to verify5 t!e #ul4 of t!e needed full adders is
concentrated in t!e first co$"ression stages, t!e last ones re7uiring few full adders%
A 7uestion arises5 is a $ore evenly distri#ution of t!e full adders desira#le *e%g% for t!e
co$"le(ity of t!e necessary connections,R )!e answer to t!is 7uestion cannot #e derived fro$ t!e
dot sc!e$es, #ut rat!er fro$ t!e i$"le$entation sc!e$es o#tained via languages as J@AL and t!e
final tools for o#taining t!e $as4s% )!e latter are #eyond our reac!%
It is in any case i$"ortant to solve t!e "ro#le$ of converting t!e dot sc!e$es into languages
suc! as J@AL%
/e note also t!at t!e literature offers a large variety of co$"ression strategies and related
algorit!$s% It $ust #e noted t!at t!eir i$"le$entation wit! dot sc!e$es can #e, in "rinci"le, $ore
or less difficult%
)!e furt!er develo"$ent of t!e wor4 e("osed in t!is "a"er can #e seen along t!ree "arallel
lines5
a+ Identification of co$"uter intensive "ro#le$s for w!ic! new solutions could #e
"ro"osed% In signal "rocessing we will consider o"erations li4e convolution%
#+ I$"le$entation of an interface #etween s"reads!eet and J@AL or si$ilar languages
in order to dis"ose of a new efficient design tools%
c+ I$"roving t!e reada#ility of t!e s"reads!eets sc!e$es
References
[' /allace, >%S% A suggestion for a fast multiplier, IKKK )rans% n Klectronic >o$"uters, ""% '9+'2,
&e#r%, '?I9
[2 Aadda, L, .ome schemes for parallel multipliers, Alta &re7uenza, vol% '?, ""% 19?+15I, Marc!,
D
'?I5
[1 @a#i#i, A%, /intz, P%A%, /ast )ultipliers, IKKK )rans on >o$"uters, &e#r% '?2<
[9 0omputer Design Development 1rincipal 1apers, K%K% Swartzlander, Kditor, @ayden 8oo4 >o,
Roc!elle Par4, 6%N%, '?2I
[5 Aadda, L% 2n parallel multipliers% Alta &re7uenza, vol% 95 ""% 529+5D<, '?2I
[IKarl K% Swartzlander, Nr%, )erged Arithmetic for .ignal 1rocessing",, Proceedings of t!e 9
t!

Sy$"osiu$ on >o$"uter Arit!$etic, ""%21?+299, '?2D A revised version *)erged Arithmetic'
is in IKKK )ransaction on >o$"uter Arit!$etic, vol% >+2?, ?9I+?5<, '?D<
[2 Ma.s4i, A%A%, 1arallel 0ompressors, IKKK )rans% on >o$"uters, Jol% >+2?, $%5, May '?D<
[D Muller, Nean+Mic!el, Arithm3ti4ue des ordinateurs,, Kd% Masson, Paris, '?D?
[? Soren, Israel, 0omputer Arithmetic Algorithms, Prentice @all, Knglewood >liffs, '??1
['<TMo4,M%, Sc!ulte, M%N%, 8alzola% P% I%, 5fficient Integer )ultiplication 2verflow Detection
0ircuits, Proc%of t!e )!irty &ift! Asilo$ar >onference on Signal, Syste$s and >o$"uters,
""%'II'+'II5, 2<<'
Appendi-
In t!e following ta#le we s!ow so$e "ara$eters o#tained #y $eans of t!e files )ult67fa
and )ult67ha for t!e synt!esis of #inary $ulti"liers of u" to ID factors #its% &or s"ace reason
we s!ow an e(cer"t of t!e co$"lete ta#le5 t!e reader could o#tain t!e $issing values #y
o"erating t!e sa$e files, via t!e /e# "age Aot6otation%doc %
In t!e first four colu$n *fro$ )ul67fa, using only full adders in t!e co$"ression stages, we
!ave5 n, t!e factors #it nu$#er, stages, t!e nu$#er of t!e co$"ression stages re7uired *eac!
stage is c!aracterized #y t!e delay of a full adder,, fa,ha giving t!e total nu$#er of full adders
and !alf adders, ha, t!e nu$#er of !alf adders%
In t!e following four colu$ns *fro$ )ult67ha, using a !alf adder in eac! co$"ression
stages, t!e last colu$n single output dots gives t!e nu$#er of single dots *in t!e least
significant "art of t!e "roduct,%
It can #e noted t!at5
+ t!e nu$#er of re7uired co$"ression stages increases wit! n logarit!$ically%
+ t!e nu$#er of !alf adders is rat!er s$all
+ -single dots- in "ercentage of t!e "roduct lengt! 2:n decrease wit! n *due to t!e
logarit!$ic increase of t!e re7uired stages,%
Mult68fa Mult68ha
n stages faQ!a !a stages faQ!a !a single
out"ut dots
D 5 92 2 5 9I I I + 12%5U
? 5 5I 1 5 I< 2 I + 11%1U
'< 5 22 9 5 2I D I + 1<%<U
'' I ?< 9 I ?5 ? 2 + 1'%DU
'5 I 'D2 D I 'D2 '1 2 + 21%1U
'I 2 2'< D 2 2'I '9 D + 25%<U
21 D 9I2 '9 D 9I? 2' ? + '?%IU
22 D I5< 'D D I52 25 ? + 'I%2U
12 D 1< D D ?12 1< ? +'9%' U
11 ? ??2 21 ? '<<< 21 '< +'5%2U
I2 '< 92?< 5I '< 92?? I5 '' + D%2U
ID '' 9922 5I '' 9912 II '2 + D%D2U
?
'<
''

Potrebbero piacerti anche