Major Finaldoc With Correction
-
Upload
yasarakshit -
Category
Documents
-
view
217 -
download
0
Transcript of Major Finaldoc With Correction
-
8/19/2019 Major Finaldoc With Correction
1/82
`
1. INTRODUCTION
1.1 INTRODUCTION:
In the VLSI design timing, power, area are the three major constraints.
Optimizations in VLSI have been done on three factors: Area, Power and iming
!Speed". Area optimization means red#cing the space of $ogic which occ#p% on the
die. his is done in both front&end and bac'&end of design. In front&end design, proper
description of simp$ified (oo$ean e)pression and removing #n#sed states wi$$ $ead to
minimize the gate*transistor #ti$ization. Partition, +$oor p$anning, P$acement, and
ro#ting are perform in bac'&end of the design which is done b% A- too$. he A-
too$ have a specific a$gorithm for each process to prod#ce an area efficient design
simi$ar to Power optimization. Power optimization is to red#ce the power dissipation
of the design which s#ffers b% operating vo$tage, operating fre#enc%, and switching
activit%. he first two factors are mere$% specified in design constraints b#t switching
activit% is a parameter which varies d%namica$$%, based on the wa% which designs the
$ogic and inp#t vectors. iming optimization refers to meeting the #ser constraints in
efficient manner witho#t an% vio$ation otherwise, improving performance of the
design. /igh performance designs are achieved b% proper p$acement, ro#ting andsizing the e$ement. he word optimization is approached in different wa%s b%
merging, instead of sizing the memor% e$ement.
0#$tip$ication in hardware can be imp$emented in two wa%s either b% #sing more
hardware for achieving fast e)ec#tion or b% #sing $ess hardware and end #p with s$ow
e)ec#tion. he area and speed of the m#$tip$ier is an important iss#e, increment in
speed res#$ts in $arge area cons#mption and vice versa. 0#$tip$iers p$a% vita$ ro$e in
most of the high performance s%stems. Performance of a s%stem depend to a great
e)tent on the performance of m#$tip$ier th#s m#$tip$iers sho#$d be fast and cons#me
$ess area and hardware. his idea forced #s to st#d% and review abo#t the m#$tip$iers
speed, power cons#mption and Area occ#pied. (e$ow are three famo#s 0#$tip$iers
And their drawbac's name$%
• 1a$$ace ree 0#$tip$ier
• Arra% 0#$tip$ier
• (ooth 0#$tip$ier
1
-
8/19/2019 Major Finaldoc With Correction
2/82
`
1. Wallace tree multiplier:
A Wallace tree is an efficient hardware imp$ementation of a digita$ circ#it that
m#$tip$ies two integers, devised b% A#stra$ian omp#ter Scientist hris 1a$$ace in
2345.
he 1a$$ace tree has three steps:
2. 0#$tip$% !that is & A6-" each bit of one of the arg#ments, b% each bit of the
other, %ie$ding res#$ts. -epending on position of the m#$tip$ied bits, the wires
carr% different weights, for e)amp$e wire of bit carr%ing res#$t of is 78 !see
e)p$anation of weights be$ow".
8. 9ed#ce the n#mber of partia$ prod#cts to two b% $a%ers of f#$$ and ha$f adders.
7. ro#p the wires in two n#mbers, and add them with a conventiona$ adder .
he second phase wor's as fo$$ows. As $ong as there are three or more wires with the
same weight add a fo$$owing $a%er:
• a'e an% three wires with the same weights and inp#t them into a f#$$ adder . he
res#$t wi$$ be an o#tp#t wire of the same weight and an o#tp#t wire with a higher
weight for each three inp#t wires.
• If there are two wires of the same weight $eft, inp#t them into a ha$f adder .
• If there is j#st one wire $eft, connect it to the ne)t $a%er.
he benefit of the 1a$$ace tree is that there are on$% red#ction $a%ers, and
each $a%er has propagation de$a%. As ma'ing the partia$ prod#cts is and
the fina$ addition is , the m#$tip$ication is on$% , not m#ch
s$ower than addition !however, m#ch more e)pensive in the gate co#nt". 6aive$%
adding partia$ prod#cts with reg#$ar adders wo#$d re#ire time. +rom
a comp$e)it% theoretic perspective, the 1a$$ace tree a$gorithm p#ts m#$tip$ication in
the c$ass .
2
http://en.wikipedia.org/wiki/Computational_complexity_theoryhttp://en.wikipedia.org/wiki/Computer_hardwarehttp://en.wikipedia.org/wiki/Computer_hardwarehttp://en.wikipedia.org/wiki/Computer_hardwarehttp://en.wikipedia.org/wiki/Chris_Wallace_(computer_scientist)http://en.wikipedia.org/wiki/Adder_(electronics)http://en.wikipedia.org/wiki/Full_adderhttp://en.wikipedia.org/wiki/Half_adderhttp://en.wikipedia.org/wiki/Computational_complexity_theoryhttp://en.wikipedia.org/wiki/Computational_complexity_theoryhttp://en.wikipedia.org/wiki/Computer_hardwarehttp://en.wikipedia.org/wiki/Chris_Wallace_(computer_scientist)http://en.wikipedia.org/wiki/Adder_(electronics)http://en.wikipedia.org/wiki/Full_adderhttp://en.wikipedia.org/wiki/Half_adderhttp://en.wikipedia.org/wiki/Computational_complexity_theoryhttp://en.wikipedia.org/wiki/Computational_complexity_theory
-
8/19/2019 Major Finaldoc With Correction
3/82
`
hese comp#tations on$% consider gate de$a%s and don;t dea$ with wire de$a%s, which
can a$so be ver% s#bstantia$.
he 1a$$ace tree can be a$so represented b% a tree of 7*8 or 5*8 adders.
It is sometimes combined with (ooth encoding.
Fig 1.1 Weights
he weight of a wire is the radi) !to base 8" of the digit that the wire carries. In
genera$, < have inde)es of and = and since the weight
of is .
Fig: 1.2 Pattern
>)amp$e:
, m#$tip$%ing b% :
3
http://en.wikipedia.org/wiki/Gate_delayhttp://en.wikipedia.org/wiki/Gate_delayhttp://en.wikipedia.org/wiki/Booth_encodinghttp://en.wikipedia.org/wiki/Radixhttp://en.wikipedia.org/wiki/Gate_delayhttp://en.wikipedia.org/wiki/Booth_encodinghttp://en.wikipedia.org/wiki/Radix
-
8/19/2019 Major Finaldoc With Correction
4/82
`
2. +irst we m#$tip$% ever% bit b% ever% bit:
• weight 2 &
• weight 8 & ,
• weight 5 & , ,
• weight ? & , , ,
• weight 24 & , ,
• weight 78 & ,
• weight 45 &
8. 9ed#ction $a%er 2:
• Pass the on$% weight&2 wire thro#gh, o#tp#t: 2 weight&2 wire
• Add a ha$f adder for weight 8, o#tp#ts: 2 weight&8 wire, 2 weight&5 wire
• Add a f#$$ adder for weight 5, o#tp#ts: 2 weight&5 wire, 2 weight&? wire
• Add a f#$$ adder for weight ?, and pass the remaining wire thro#gh, o#tp#ts: 8 weight&
? wires, 2 weight&24 wire
• Add a f#$$ adder for weight 24, o#tp#ts: 2 weight&24 wire, 2 weight&78 wire
• Add a ha$f adder for weight 78, o#tp#ts: 2 weight&78 wire, 2 weight&45 wire
• Pass the on$% weight&45 wire thro#gh, o#tp#t: 2 weight&45 wire
7. 1ires at the o#tp#t of red#ction $a%er 2:
• weight 2 & 2
4
-
8/19/2019 Major Finaldoc With Correction
5/82
`
• weight 8 & 2
• weight 5 & 8
• weight ? & 7
• weight 24 & 8
• weight 78 & 8
• weight 45 & 8
5. 9ed#ction $a%er 8:
• Add a f#$$ adder for weight ?, and ha$f adders for weights 5, 24, 78, 45
@. O#tp#ts:
• weight 2 & 2
• weight 8 & 2
• weight 5 & 2
• weight ? & 8
• weight 24 & 8
• weight 78 & 8
• weight 45 & 8
• weight 28? & 2
4. ro#p the wires into a pair integers and an adder to add them.
Drawac!:
5
-
8/19/2019 Major Finaldoc With Correction
6/82
`
annot be imp$emented effective$% on +PA
Power cons#mption is /igh
omp$e)it% is /igh
"rra# $ultiplier:
-igita$ m#$tip$ication entai$s a se#ence of additions carried o#t on partia$ prod#cts.
Fig: 1.%
In Arra% m#$tip$ier partia$ prod#cts are independent$% comp#ted in para$$e$.Let #s
consider two binar% n#mbers A and ( of m and n bits respective$%,
6
-
8/19/2019 Major Finaldoc With Correction
7/82
`
Fig: 1.&
here are mn s#mmands that are prod#ced in para$$e$ b% a set of mn n#mbers of
A6-gates.
If m ' n hen it wi$$ re#ire n(n)2* f#$$ adders, n ha$f&adders and n+n A6- gates and
worst case de$a% wo#$d be (2n,1*t- .where td is the time de$a% of gates
asic cell /0 a parallel arra# multiplier:
Fig: 1.
"rra# structure /0 parallel multiplier:
7
-
8/19/2019 Major Finaldoc With Correction
8/82
`
Fig: 1.
onsider comp#ting the prod#ct of two 5&bit integer n#mbers given b% A7A8A2AB
!m#$tip$icand" and (7(8(2(B !m#$tip$ier". he prod#ct of these two n#mbers can be
formed as shown be$ow.
8
-
8/19/2019 Major Finaldoc With Correction
9/82
`
Fig: 1.3
>ach of the A6-ed terms is referred to as a partia$ prod#ct. he fina$ prod#ct !the
res#$t" is formed b% acc#m#$ating !s#mming" down each co$#mn of partia$ prod#cts.
An% carries m#st be propagated from the right to the $eft across the co$#mns.
Since we are dea$ing with binar% n#mbers, the partia$ prod#cts red#ce to simp$e A6-
operations between the corresponding bits in the m#$tip$ier and m#$tip$icand. he
s#ms down each co$#mn can be imp$emented #sing one or more 2&bit binar% adders.
An% adder that ma% need to accept a carr% from the right m#st be a f#$$ adder. If there
is no possibi$it% of a carr% propagating in from the right, then a ha$f adder can be #sed
instead, if desired !a f#$$ adder can a$wa%s be #sed to imp$ement a ha$f adder if the
carr%&in is tied $ow". he diagram be$ow i$$#strates a combinationa$ circ#it for
performing the 5)5 binar%m#$tip$ication.
he initia$ $a%er of A6- gates forms the si)teen partia$ prod#cts that res#$t from
A6-ing a$$ combinations of the fo#r m#$tip$ier bits with the fo#r m#$tip$icand bits.
he co$#mn s#ms are formed #sing a combination of ha$f and f#$$ adders. Loo' again
at the first two i$$#strations of the binar% m#$tip$ication process above, and ma'e a
caref#$ comparison with the fig#re be$ow.
9
-
8/19/2019 Major Finaldoc With Correction
10/82
`
Fig: 1.4
he adder b$oc's !indicated b% +A and /A" in the fig#re above are drawn in s#ch a
wa% that the two bits to be added enter from the top, an% carr% in from the right enters
from the right, and an% carr% o#t e)its from the $eft of each b$oc'. he o#tp#t from the
bottom of a b$oc' is the s#m.
he $east significant o#tp#t bit, SB !the first co$#mn", invo$ves on$% two inp#t bits and
is comp#ted as the simp$e o#tp#t of an A6- gate.
he ne)t o#tp#t bit, S2, invo$ves the s#m of two partia$ prod#cts. A ha$f adder is #sed
to form the s#m since there can be no carr% in from the first co$#mn.
he third o#tp#t bit, S8, is formed from the s#m of three !2&bit" partia$ prod#cts p$#s a
possib$e carr% in from the previo#s bit. his operation re#ires two cascaded adders
!one ha$f adder and one f#$$ adder" to s#m the fo#r possib$e inp#t bits !three partia$
prod#cts and one possib$e carr% in from the right".
he remaining o#tp#t bits are formed simi$ar$%. (eca#se in some co$#mns we m#st
add more than two binar% n#mbers, there ma% be more than one carr% o#t generated to
the $eft.
Drawac!s:
Low speed
0ore Area
0ore power
10
-
8/19/2019 Major Finaldoc With Correction
11/82
`
//th5s $ultiplier:
(oothCs A$gorithm is a smart move for m#$tip$%ing signed n#mbers. It initiate with the
abi$it% to both add and s#btract there are m#$tip$e wa%s to comp#te a prod#ct .
(oothCs a$gorithm is a m#$tip$ication a$gorithm that #ti$izes twoCs comp$ement
notation of signed binar% n#mbers for m#$tip$ication . >ar$ier m#$tip$ication was in
genera$ imp$emented via se#ence of addition then s#btraction, and then shift
operations. 0#$tip$ication can be we$$ tho#ght&o#t as a series of repeated additions.
he n#mber which is to be added is 'nown as the m#$tip$icand, and the n#mber of
times it is added is 'nown as the m#$tip$ier, and the res#$t we get is the m#$tip$ication
res#$t. After >ach step of addition a partia$ prod#ct is generated. 1hen the operands
are integers, the prod#ct in genera$ is twice the $ength of operands in order to protect
the information content. his repetitive addition method that is recommended b% the
arithmetic definition is s$ow as it is a$wa%s rep$aced b% an a$gorithm that ma'es #se of
positiona$ depiction. 1e can decompose m#$tip$iers into two parts. he first part is
committed to the generation of partia$ prod#cts, and the second part co$$ects and then
adds them. he f#ndamenta$ m#$tip$ication princip$e is twofo$d i.e. eva$#ation of
partia$ prod#cts and gathering of the shifted partia$ prod#cts. It is performed b% the
consec#tive additions of the co$#mns of the shifted partia$ prod#ct matri).
he de$a%ed, gated case of the m#$tip$icand m#st a$$ be in the same co$#mn of the
shifted partia$ prod#ct matri). hen the% are added to form the prod#ct bit for the
partic#$ar form. 0#$tip$ication is th#s a m#$ti operand operation. o e)pand the
m#$tip$ication to both signed and #nsigned n#mbers, a s#itab$e n#mber s%stem wo#$d
be the depiction of n#mbers in twoCs comp$ement format.
$U6TIP6IC"TION "67ORIT8$:
A circ#it that m#$tip$ies two #nsigned n bit binar% n#mbers, #ses a 8 dimensiona$
arra% of identica$ s#bcirc#its. >ach of which contains a f#$$ adder and an Dand gate.‖
+or $arge n#mber of bits this approach ma% not be appropriate beca#se of the $arge
n#mber of gates needed. Another approach is to #se shift register in combination with
an adder to imp$ement the traditiona$ method of m#$tip$ication.
PEB= +or iEB to n&2 do If biE2 then
11
-
8/19/2019 Major Finaldoc With Correction
12/82
`
PEPFA= >nd if= Left shift A=
>nd for=
Fig:1.9
Signed m#$tip$ication is a vigi$ant process. hro#gh #nsigned m#$tip$ication there is
no need to ta'e the sign of the n#mber into consideration. >ven tho#gh in signed
m#$tip$ication the same proced#re cannot be app$ied for the reason that the signed
n#mber is in a 8Cs comp$iment form which wo#$d give in an inacc#rate res#$t if
m#$tip$ied in an ana$ogo#s manner to #nsigned m#$tip$ication . h#s here (oothCs
a$gorithm comes in. (oothCs a$gorithm conserves the sign of the end res#$t. 1hi$e
doing m#$tip$ication, strings of Bs in the m#$tip$ier ca$$ for on$% shifting. 1hi$e doing
m#$tip$ication, strings of 2s in the m#$tip$ier need an operation on$% at each end. 1e
re#ire to add or s#btract mere$% at positions in the m#$tip$ier where there is a switch
from B to 2 or from 2 to B. In the fo$$owing f$ow chart we have, bE0#$tip$ier,
aE0#$tip$icand, mE Prod#ct . 6ow here we wi$$ re#ire twice as man% bits in o#r prod#ct as we a$read% have in o#r two operands. he $eftmost bit of o#r operands of
12
-
8/19/2019 Major Finaldoc With Correction
13/82
`
both the m#$tip$icand and the m#$tip$ier is a$wa%s a sign bit, and canCt be #sed as part
of the va$#e. hen choose which operand wi$$ be m#$tip$ier and which wi$$ be
m#$tip$icand. If one operand and both are negative then the% are represented in two;s
comp$ement form. Start in on with a prod#ct that consists of the m#$tip$ier in the
compan% of an additiona$ G $eading zero bits. 6ow chec' the LS( and the previo#s
LS( of prod#ct to find o#t the arithmetic action. Add B as the previo#s LS( if it is the
+I9S pass. Probab$e arithmetic actions are if: BB:& no arithmetic operation is
performed on$% shifting is done. B2:& add m#$tip$icand to $eft ha$f part of prod#ct and
then shifting is done. 2B:& s#btract m#$tip$icand from $eft ha$f part of prod#ct and then
shifting is performed 22:& no arithmetic operation is performed on$% shifting is
;ample :
0#$tip$% 2B b% &H #sing @&bit n#mbers !2B&bit res#$t". 2B in binar% is B2B2B &2B in
binar% is 2B22B !th#s now we can add 2B22B when we need to s#btract m#$tip$icand"
&H in binar% is 22BB2 O#r e)pected res#$t sho#$d be !&HB" in binar% !222B2 22B2B".
Steps of a$gorithm are:
Step2:
!BBBBB 22BB2 B" now as $ast two bits are 2B so here BBBBBF2B22BE2B22B. 6ow we
get !2B22B 22BB2 B" now b% A9S !arithmetic right shift" we get !22B22 B22BB 2".
Step8:
as $ast two bits are B2 so, 22B22FB2B2BEBB2B2!carr% is ignored as beca#se addition
Fve and
-
8/19/2019 Major Finaldoc With Correction
14/82
`
as $ast two bits are 22, there is no change on$% A9S wi$$ ta'e p$ace, now we wi$$ get
!222B2 22B2B 2".
Step 4:
now ignoring the $ast bit we wi$$ get o#r prod#ct that is !222B2 22B2B" E &HB
Drawac!s:
0ost omp$e) A$gorithm
rade off (etween Speed and Area
Parameter "rra# multiplier Wallace tree
multiplier
//th multiplier
Operati/n spee- Less /igh /ighest
Time -ela# 0ore 0edi#m Less
"rea 0ore area 0edi#m 0inim#m
C/mple;it# $ess 0ore 0ost
P/wer c/nsumpti/n 0ost 0ore Less
These Drawac!s can e /
-
8/19/2019 Major Finaldoc With Correction
15/82
`
a$gorithm , the #adratic resid#e n#mber s%stem!96S" , and recent$%, the red#ndant
comp$e) n#mber s%stem !96S" .($ah#t etc. A$$ proposed a techni#e for comp$e)
n#mber m#$tip$ication, where the a$gebraictransformation was #sed. his a$gebraic
transformationsaves one rea$ m#$tip$ication, at the e)pense of three additions as
compared to the direct method imp$ementation. A $eft to right arra% for the fast
m#$tip$ication has been reported in 8BB@, and the method is not f#rther e)tended
forcomp$e) m#$tip$ication. (#t, a$$ the above techni#esre#ire either $arge overhead
for pre*post processing or$ong $atenc%. +#rther man% design iss#es $i'e as
speed,acc#rac%, design overhead, power cons#mption etc., sho#$dnot be addressed for
fast m#$tip$ication .In a$gorithmicand str#ct#ra$ $eve$s, a $ot of m#$tip$ication
techni#es hadbeen deve$oped to enhance the efficienc% of the m#$tip$ier=which
enco#nters the red#ction of the partia$ Prod#ctsand*or the methods for their partia$
prod#cts addition ,b#tthe princip$e behind m#$tip$ication was same in a$$ cases. Vedic
0athematics is the ancient s%stem of Indianmathematics which has a #ni#e
techni#e of ca$c#$ationsbased on 24 S#tras !+orm#$ae". JKrdhva&tir%a'b%hamJ is a
Sans'rit word means vertica$$% and crosswise form#$a is#sed for fast 0#$tip$ication
A$$ these form#$as are adopted from ancient Indian Vedic 0athematics. In this wor'
we form#$ate this mathematics for designing the comp$e) m#$tip$ier architect#re in
transistor $eve$ with two c$ear goa$s in mind s#ch as: i" Simp$icit% and
mod#$arit%m#$tip$ications for VLSI imp$ementations and ii" hee$imination of carr%
propagation for rapid additions and s#btractions. 0ehta et a$.have been proposed a
m#$tip$ier design #sing JKrdhva&tir%a'b%hamJ s#tras, which was adopted from the
Vedas. he form#$ation #singthis s#tra is simi$ar to the modern arra% m#$tip$ication,
which a$so indicating the carr% propagation iss#es. 0#$tip$ier imp$ementation in the
gate $eve$!+PA" #sing Vedic 0athematics has a$read% been
reported b#t to the best of o#r 'now$edge ti$$ date there isno report on transistor
$eve$!ASI" imp$ementation of s#chcomp$e) m#$tip$ier. (% emp$o%ing the Vedic
mathematics, an 6 bit comp$e) n#mber m#$tip$ication was transformedinto fo#r
m#$tip$ications for rea$ and imaginar% terms of the fina$ prod#ct. In this paper we
report on a nove$ high speed comp$e) m#$tip$ier design #sing ancient Indian
Vedicmathematics.
The sutras of vedic mathematics with their meanings are listed inthe tale elow!
15
-
8/19/2019 Major Finaldoc With Correction
16/82
`
"#$o "%T&' $'() ()'$*$+
1 ,An#r#p%e"&Sh#n%aman%ath# *f one value is in ratio- other is.ero
2 /halanaalanaham ierences and similarities
3 )adhiina)anunenaurvena
one more or less than therevious
one4 +unaasamuchhah actors of the sum is e:ual to
sum5 +uniitasamuchhah The roduct of the sum is
e:ual to sum6 $iilam$avatashcaramam (an from 9- efore 10
7 aravarta;oTiraham =erticall crosswise
14 =ashtisamanstih art and ?hole
15 ;aavadunam ?hatever the e@tent of its
deAcienc
Tale1! sutras of vedic mathematics
1.3 MATHEMATICAL FORMULATION OF VEDIC MATHS
he gifts of the ancient Indian mathematics in the wor$d histor% of mathematica$
science are not we$$ recognized.he contrib#tions of saint and mathematician in the
fie$d of n#mber theor%, ;Sri (haratirsnahirthaji 0aharaja;, in the form of Vedic
S#tras !form#$as" are significant forca$c#$ations. /e had e)p$ored the mathematica$
potentia$sfrom Vedic primers and showed that the mathematica$operations can be
carried o#t menta$$% to prod#ce fastanswers #sing the S#tras. Vedic 0athematics is
the ancient s%stem ofIndian mathematics which has a #ni#e techni#e of ca$c#$ations
based on 24 S#tras !+orm#$ae". JKrdhvatir%a'b%hamJ is a Sans'rit word means
vertica$$% andcrosswise form#$a is #sed for sma$$er n#mber m#$tip$ication. form#$a is
16
-
8/19/2019 Major Finaldoc With Correction
17/82
`
#sed for $arge n#mber m#$tip$ication ands#btraction. A$$ these form#$as are adopted
from ancient Indian Vedic 0athematics.
1.& PROPO>D $U6TIP6IR "RC8ITC8UR D>I7N -esign +actors of 0#$tip$ication:
Latenc%, thro#ghp#t, area, and design comp$e)it% are the important factors to choose a
s#itab$e design for the re#irement. Latenc% is a meas#re of how $ong the inp#ts to a
device are stab$e #nti$ the fina$ res#$t avai$ab$e on o#tp#ts. hro#ghp#t is the meas#re
of how man% m#$tip$ications can be performed in a given period of time.
Krdhva ir%a'bh%am S#tra he basic S#tras and Krdhva ir%a'bh%am S#tra in the
Vedic 0athematics he$ps to do a$most a$$ the n#meric comp#tations in eas% and fast
manner. he S#tra which we emp$o% in this project is Krdhva ir%a'bh%am
!0#$tip$ication"
Descripti/n /0 >utra:
his is the genera$ form#$a app$icab$e to a$$ cases of m#$tip$ication . Krdhva
ir%a'bh%am means MVertica$$% and rosswiseN, which is the method of
m#$tip$ication fo$$owed.
I$$#stration:
Fig: 1.1? 2 it multiplicati/n # Ur-h
-
8/19/2019 Major Finaldoc With Correction
18/82
`
Fig: 1.11 % it multiplicati/n # using Ur-h
-
8/19/2019 Major Finaldoc With Correction
19/82
`
Design /0 &@& l/c! :
he design of 55 b$oc' is a simp$e arrangement of 88 b$oc's in an optimized
manner. he first step in the design of 55 b$oc' wi$$ be gro#ping the 8 bit of each 5
bit inp#t. hese pair terms wi$$ form vertica$ and crosswise prod#ct terms. >ach inp#t
bit&pair is hand$ed b% a separate 88 Vedic the schematic of a 55 b$oc' designed
#sing 88 b$oc's. he partia$ prod#cts represent the Krdhva vertica$ and cross prod#ct
terms. hen first two bits of right most 8)8 vedic m#$tip$ier o#tp#t wi$$ be send
direct$% to o#tp#t first two bits. 9emaining partia$ prod#cts wi$$ be hand$ed b% 5 (it
and 4 (it Adders as shown in the fig#re.
Fig:1.1% &;& =e-ic $ultiplier
19
-
8/19/2019 Major Finaldoc With Correction
20/82
`
Design /0 4;4 =e-ic $ultiplier:
he design of ?? b$oc' is a simi$ar arrangement of 55 b$oc's in an optimized
manner . he first step in the design of ?? b$oc' wi$$ be gro#ping the 5 bit !nibb$e"
of each ? bit inp#t. hese #adr#p$e terms wi$$ form vertica$ and crosswise prod#ct
terms. >ach inp#t bit&#adr#p$e is hand$ed b% a separate 55 Vedic m#$tip$ier to
prod#ce partia$ prod#ct rows. hen first fo#r bits of right most 5)5 vedic m#$tip$ier
wi$$ be send to o#tp#t direct$% other bits are hand$ed with ?(it and 28 (it adders
respective$% as shown. he fig#re shows the schematic of an ?? b$oc' designed
#sing 55 b$oc's. he partia$ prod#cts represent the Krdhva vertica$ and cross prod#ct
terms.
Fig 1.1& 4;4 =e-ic $ultiplier
Design /0 a 1@1 $ultiplier
he design of 2424 b$oc' is a simi$ar arrangement of ?? b$oc's in an optimized
manner as in fig#re. he first step in the design of 2424 b$oc' wi$$ be gro#ping the ?
bit !b%te" of each 24 bit inp#t. hese $ower and #pper b%tes pairs of two inp#ts wi$$
form vertica$ and crosswise prod#ct terms. >ach inp#t b%te is hand$ed b% a separate
?? Vedic m#$tip$ier to prod#ce si)teen partia$ prod#ct rows. hen first ? (its of right
most m#$tip$ier o#tp#t are direct$% send to the o#tp#t then other bits are hand$ed b%
20
-
8/19/2019 Major Finaldoc With Correction
21/82
`
85 (it and 24 (it Adders.
Fig: 1.1 1 it $ultiplier
2. >OFTW"R RAUIR$NT>
2.1 BI6INB:
Gi$in), Inc. is an American techno$og% compan%, primari$% a s#pp$ier of
programmab$e $ogic devices. It is 'nown for inventing the fie$d programmab$e gate
arra%!+PA" and as the first semicond#ctorcompan% with a fab$essman#fact#ring
mode$.
Gi$in) designs, deve$ops and mar'ets programmab$e $ogic prod#cts, inc$#ding
integrated circ#its !Is", software design too$s, predefined s%stem f#nctions de$ivered
as inte$$ect#a$ propert% !IP" cores, design services, c#stomer training, fie$d
engineering and technica$ s#pport. Gi$in) se$$s both +PAs and PL-s for e$ectronic
e#ipment man#fact#rers in end mar'ets s#ch as comm#nications, ind#stria$,
cons#mer , a#tomotive and data processing.
2.2BI6INB)I>:
Bilin; I> !Integrated >oftware nvironment" is a software too$ prod#ced b%
Gi$in) for s%nthesis and ana$%sis of /-L designs, enab$ing the deve$oper to
s%nthesize !Jcompi$eJ" their designs, perform timing ana$%sis, e)amine 9L
diagrams, sim#$ate a design;s reaction to different stim#$i, and config#re the target
device with the programmer .
21
http://en.wikipedia.org/wiki/Programmable_logic_devicehttp://en.wikipedia.org/wiki/Field_programmable_gate_arrayhttp://en.wikipedia.org/wiki/Field_programmable_gate_arrayhttp://en.wikipedia.org/wiki/Semiconductorhttp://en.wikipedia.org/wiki/Companyhttp://en.wikipedia.org/wiki/Fablesshttp://en.wikipedia.org/wiki/Manufacturinghttp://en.wikipedia.org/wiki/Communicationshttp://en.wikipedia.org/wiki/Industryhttp://en.wikipedia.org/wiki/Consumerhttp://en.wikipedia.org/wiki/Automotivehttp://en.wikipedia.org/wiki/Data_processinghttp://en.wikipedia.org/wiki/Xilinxhttp://en.wikipedia.org/wiki/Hardware_description_languagehttp://en.wikipedia.org/wiki/Logic_synthesishttp://en.wikipedia.org/wiki/Static_timing_analysishttp://en.wikipedia.org/wiki/Register_transfer_levelhttp://en.wikipedia.org/wiki/Programmer_(hardware)http://en.wikipedia.org/wiki/Programmable_logic_devicehttp://en.wikipedia.org/wiki/Field_programmable_gate_arrayhttp://en.wikipedia.org/wiki/Field_programmable_gate_arrayhttp://en.wikipedia.org/wiki/Semiconductorhttp://en.wikipedia.org/wiki/Companyhttp://en.wikipedia.org/wiki/Fablesshttp://en.wikipedia.org/wiki/Manufacturinghttp://en.wikipedia.org/wiki/Communicationshttp://en.wikipedia.org/wiki/Industryhttp://en.wikipedia.org/wiki/Consumerhttp://en.wikipedia.org/wiki/Automotivehttp://en.wikipedia.org/wiki/Data_processinghttp://en.wikipedia.org/wiki/Xilinxhttp://en.wikipedia.org/wiki/Hardware_description_languagehttp://en.wikipedia.org/wiki/Logic_synthesishttp://en.wikipedia.org/wiki/Static_timing_analysishttp://en.wikipedia.org/wiki/Register_transfer_levelhttp://en.wikipedia.org/wiki/Programmer_(hardware)
-
8/19/2019 Major Finaldoc With Correction
22/82
`
ISim provides a comp$ete, f#$$&feat#red /-L sim#$ator integrated within IS>.
/-L sim#$ation now can be an even more f#ndamenta$ step within %o#r design f$ow
with the tight integration of the ISim within %o#r design environment.
I>im e# Features:
• 0i)ed $ang#age s#pport
• S#pports V/-L&37 and Veri$og 8BB2
• 6o specia$ $icense re#irements
• 0#$ti&hreaded compi$ation
• Post&Processing capabi$ities
• Standa$one 1aveform viewing capabi$ities
• -eb#g capabi$ities
• 1aveform tracing, waveform viewing, /-L so#rce deb#gging
• 0emor% >ditor for viewing and deb#gging memor% e$ements
• Sing$e c$ic' re&compi$e and re&$a#nch of sim#$ation
• Integrated with IS> -esign S#ite and P$anAhead app$ication
• >as% to #se & One&c$ic' compi$ation and sim#$ation
• Additiona$ mapping or compi$ation not re#ired.
22
-
8/19/2019 Major Finaldoc With Correction
23/82
`
%. 8"RDW"R RAUIR$NT>
%.1 >P"RT"N %:
he Spartan&7 fami$% of +ie$d&Programmab$e ate Arra%s is specifica$$%
designed to meet the needs of high vo$#me, cost&sensitive cons#mer e$ectronic
app$ications. he eight&member fami$% offers densities ranging from @B,BBB to
@,BBB,BBB s%stem gates. he Spartan&7 fami$% is a s#perior a$ternative to mas'
programmed ASIs. +PAs avoid the high initia$ cost, the $ength% deve$opment
c%c$es, and the inherent inf$e)ibi$it% of conventiona$ ASIs. A$so, +PA
programmabi$it% permits design #pgrades in the fie$d with no hardware rep$acement
necessar%, an impossibi$it% with ASIs.
23
-
8/19/2019 Major Finaldoc With Correction
24/82
`
%.1.1 "rchitectural Oach IO( s#pports bidirectiona$ data f$ow p$#s
7&state operation. went%&si) different signa$ standards, inc$#ding eight high&
performance differentia$ standards, are avai$ab$e as shown in ab$e 8. -o#b$e
-ata&9ate !--9" registers are inc$#ded. he -igita$$% ontro$$ed Impedance
!-I" feat#re provides a#tomatic on&chip terminations, simp$if%ing board
designs.
($oc' 9A0 provides data storage in the form of 2?&bit d#a$&port b$oc's.
0#$tip$ier b$oc's accept two 2?&bit binar% n#mbers as inp#ts and ca$c#$ate the
prod#ct.
-igita$ $oc' 0anager !-0" b$oc's provide se$f&ca$ibrating, f#$$% digita$
so$#tions for distrib#ting, de$a%ing, m#$tip$%ing, dividing, and phase shifting
c$oc' signa$s.
hese e$ements are organized as shown in +ig#re 2. A ring of IO(s s#rro#nds
a reg#$ar arra% of L(s. he G7S@B has a sing$e co$#mn of b$oc' 9A0
embedded in the arra%. hose devices ranging from the G7S8BB to the
G7S8BBB have two co$#mns of b$oc' 9A0. he G7S5BBB and G7S@BBB
devices have fo#r 9A0 co$#mns. >ach co$#mn is made #p of severa$ 2?&bit
9A0 b$oc's= each b$oc' is associated with a dedicated m#$tip$ier. he -0s
are positioned at the ends of the o#ter b$oc' 9A0 co$#mns.
he Spartan&7 fami$% feat#res a rich networ' of traces and switches that
interconnect a$$ five f#nctiona$ e$ements, transmitting signa$s among them.
>ach f#nctiona$ e$ement has an associated switch matri) that permits m#$tip$e
connections to the ro#ting.
24
-
8/19/2019 Major Finaldoc With Correction
25/82
`
Fig %.1>partan)% Famil# "rchitecture
%.1.2 C/n0igurati/n:
Spartan&7 +PAs are programmed b% $oading config#ration data into rob#st
reprogrammab$e static 0OS config#ration $atches !Ls" that co$$ective$% contro$
a$$ f#nctiona$ e$ements and ro#ting reso#rces. (efore powering on the +PA,
config#ration data is stored e)terna$$% in a P9O0 or some other nonvo$ati$e medi#m
either on or off the board. After app$%ing power, the config#ration data is written tothe +PA #sing an% of five different modes: 0aster Para$$e$, S$ave Para$$e$, 0aster
Seria$, S$ave Seria$, and (o#ndar% Scan !QA". he 0aster and S$ave Para$$e$
modes #se an ?&bit&wide Se$ect0AP port.
he recommended memor% for storing the config#ration data is the $ow&cost Gi$in)
P$atform +$ash P9O0 fami$%, which inc$#des the G+BBS P9O0s for seria$
config#ration and the higher densit% G+BBP P9O0s for para$$e$ or seria$
config#ration.
%.2 P"C"7 $"RIN7:
+ig#re 5.8 shows the top mar'ing for Spartan&7 +PAs in the #ad&f$at
pac'ages.he M@N and M5IN part combinations ma% be d#a$ mar'ed as M@*5IN.
-evices with the d#a$ mar' can be #sed as either &@ or &5I devices. -evices with a
sing$e mar' are on$% g#aranteed for the mar'ed speed grade and temperat#re range.
25
-
8/19/2019 Major Finaldoc With Correction
26/82
-
8/19/2019 Major Finaldoc With Correction
27/82
`
&. "PP6IC"TION>
&.1The Implementati/n /0 =e-ic "lg/rithms in Digital >ignal
Pr/cessing
Digital signal pr/cessing !-SP" is the techno$og% that is omnipresent in a$most ever%
>ngineering discip$ine. It is a$so the fastest growing techno$og% this cent#r% and,
therefore, it poses tremendo#s cha$$enges to the engineering comm#nit%. +aster
additions and m#$tip$ications are of e)treme importance in -SP for convo$#tion,
discrete +o#rier transforms digita$ fi$ters, etc. he core comp#ting process is a$wa%s a
m#$tip$ication ro#tine= therefore, -SP engineers are constant$% $oo'ing for new
27
-
8/19/2019 Major Finaldoc With Correction
28/82
`
a$gorithms and hardware to imp$ement them. Vedic mathematics is the name given to
the ancient s%stem of mathematics, which was rediscovered, from the Vedas between
2322 and 232? b% Sri (harati rishna irthaji. he who$e of Vedic mathematics is
based on 24 s#tras !word form#$ae" and manifests a #nified str#ct#re of mathematics.
As s#ch, the methods are comp$ementar%, direct and eas%. he a#thors high$ight the
#se of m#$tip$ication process based on Vedic a$gorithms and its imp$ementations on
?B?@ and ?B?4 microprocessors, res#$ting in appreciab$e savings in processing time.
he e)p$oration of Vedic a$gorithms in the -SP domain ma% prove to be e)treme$%
advantageo#s. >ngineering instit#tions now see' to incorporate research&based st#dies
in Vedic mathematics for its app$ications in vario#s engineering processes. +#rther
research prospects ma% inc$#de the design and deve$opment of a Vedic -SP chip
#sing VLSI techno$og%.
&.2Discrete F/urier Trans0/rm (DFT* # using =e-ic $athematics
he Vedic mathematica$ methods s#ggested b% Shan'arachar%a Sri. (harti rishna
irthaji thro#gh his boo' offer efficient a$ternatives. he present seminar ana$%ses and
compares the imp$ementation of -+ a$gorithm b% e)isting and b% Vedic
mathematica$ techni#e . It is s#ggested that architect#ra$ $eve$ changes in the entire
comp#tation s%stem to accommodate the Vedic mathematica$ method sha$$ increase
the overa$$ efficienc% of -+ proced#re.
. R>U6T>
.1 1;1 =e-ic $ultiplier:
-evice Kti$ization S#mmar%:
28
-
8/19/2019 Major Finaldoc With Correction
29/82
`
Fig:.? Dechematic
Sim#$ation res#$t of 24 bit m#$tip$ier:
29
-
8/19/2019 Major Finaldoc With Correction
30/82
`
Fig.2 sh/ws the simulati/n result /0 a 1 it multiplier.
+rom the fig#re we can infer that the inp#t is given when enab$e is high and e)ponent
va$#e is determined.
.2 4;4 =e-ic $ultiplier:
Fig.%: RT6 >chematic /0 4;4 =e-ic $ultiplier
[email protected] shows the schematic diagram of ?)? 0#$tip$ier.
30
-
8/19/2019 Major Finaldoc With Correction
31/82
`
Fig .&: >imulati/n result /0 4;4 multiplier
.% &;& =e-ic $ultiplier:
9L schematic of 5)5 Vedic 0#$tip$ier
Fig.: RT6 >chematic /0 &;& $ultiplier
+ig @.@ shows the schematic diagram of 5)5 0#$tip$ier
31
-
8/19/2019 Major Finaldoc With Correction
32/82
`
Fig.: >imulati/n Result /0 &;& $ultiplier l/c!
+ig @.4 shows the sim#$ation res#$ts of a 5)5 m#$tip$ier b$oc'
.& 2;2 =e-ic $ultiplier:
9L Schematic of 8)8 Vedic 0#$tip$ier
Fig.3: RT6 >chematic /0 2;2 $ultiplicati/n l/c!
32
-
8/19/2019 Major Finaldoc With Correction
33/82
`
Fig.4: >imulati/n result 0/r a 2;2 chematic
33
-
8/19/2019 Major Finaldoc With Correction
34/82
`
Sim#$ation 9es#$t of 85 (it +#$$ Adder:
Fig: .1? >imulati/n Result
..2 1 it Full "--er:
9L Schematic of 24 (it +#$$ Adder:
Fig:.11 RT6 >chematic
34
-
8/19/2019 Major Finaldoc With Correction
35/82
`
Sim#$ation 9es#$t of 24 (it +#$$ Adder:
Fig:.12 >imulati/n Result
..% 12 it Full "--er
9L Schematic of 28 (it +#$$ Adder:
Fig: .1% RT6 >chematic
35
-
8/19/2019 Major Finaldoc With Correction
36/82
`
Sim#$ation 9es#$t of 28 (it +#$$ Adder
Fig: .1& >imulati/n Result
..& 4 it Full "--er:
9L Schematic of ? (it +#$$ Adder:
Fig:.1 RT6 >chematic
36
-
8/19/2019 Major Finaldoc With Correction
37/82
`
Sim#$ation 9es#$t of ?bit +#$$ adder:
Fig: .1 >imulati/n Result
.. it Full "--er:
9L Schematic of 4 (it +#$$ Adder
Fig: .13 RT6 >chematic
37
-
8/19/2019 Major Finaldoc With Correction
38/82
`
Sim#$ation 9es#$t of 4 (it +#$$ Adder:
Fig:.14 >imulati/n Result
.. & it Full "--er:
9L Schematic of 5 (it +#$$ Adder:
Fig: .19 RT6 >chematic
38
-
8/19/2019 Major Finaldoc With Correction
39/82
`
Sim#$ation 9es#$t of 5 (it +#$$ Adder:
Fig .2? >imulati/n Result
..3 1 it Full "--er:
9L Schematic of 2 (it +#$$ Adder
Fig: .21 RT6 >chematic
39
-
8/19/2019 Major Finaldoc With Correction
40/82
`
Sim#$ation 9es#$t of 2 (it +#$$ Adder
Fig: .22 >imulati/n Result
..4 8al0 "--er:
9L Schematic of /a$f Adder:
Fig: .2% RT6 >chematic
40
-
8/19/2019 Major Finaldoc With Correction
41/82
`
Sim#$ation 9es#$t of /a$f Adder:
Fig: .2& >imulati/n Result
. FP7" I$P6$NT"TION:
Fig .2: >partan % /ar-
+ig @.8@ shows the snapshot of Spartan 7 board.A,( are the inp#ts and c is the
o#tp#t.
41
-
8/19/2019 Major Finaldoc With Correction
42/82
`
+ig @.2B:O#tp#t cE 2BH737?57H!B2BBBBBBBBBBBBBBB22BBBBBBBBBBBBB2B2" when
aE78H43!2BBBBBBBBBBBBBB2"and bE78HH7!2BBBBBBBBBBBB2B2"
. Timing Rep/rt:
6O>: />S> I0I6 6K0(>9S A9> O6L A S6/>SIS >SI0A>.
+O9 AK9A> I0I6 I6+O90AIO6 PL>AS> 9>+>9 O /> 9A> 9>PO9
>6>9A>- A+>9 PLA>&and&9OK>.
$oc' Information:
&&&&&&&&&&&&&&&&&&
6o c$oc' signa$s fo#nd in this design
As%nchrono#s ontro$ Signa$s Information:
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
6o as%nchrono#s contro$ signa$s fo#nd in this design
Timing >ummar#:
&&&&&&&&&&&&&&&
Speed rade: &@
0inim#m period: 6o path fo#nd
42
-
8/19/2019 Major Finaldoc With Correction
43/82
`
0inim#m inp#t arriva$ time before c$oc': 6o path fo#nd
0a)im#m o#tp#t re#ired time after c$oc': 6o path fo#nd
0a)im#m combinationa$ path de$a%: 83.284ns
Timing Detail:
&&&&&&&&&&&&&&
A$$ va$#es disp$a%ed in nanoseconds !ns"
EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
iming constraint: -efa#$t path ana$%sis
ota$ n#mber of paths * destination ports: 7B2H7 * 24
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
-e$a%: 83.284ns !Leve$s of Logic E 2?"
So#rce: aT2U !PA-"
-estination: cT2@U !PA-"
-ata Path: aT2U to cT2@U
ate 6et
e$$:in&Uo#t fano#t -e$a% -e$a% Logica$ 6ame !6et 6ame"
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&&&&&&&&&&&
I(K+:I&UO 85 B.H2@ 2.?88 a2I(K+ !a2I(K+"
LK8:IB&UO 5 B.5H3 B.?B8 z2*z@*fa2*0)ors#m9es#$t722 !635"
LK5:I7&UO 2 B.5H3 B.3H4 z2*z@*fa2*0)ors#m9es#$t84!z2*z@*fa2*0)ors#m9es#$t84"
LK7:IB&UO 8 B.5H3 B.H5@ z2*z@*fa2*0)ors#m9es#$t8? !z2*5T2U"
0KG+@:S&UO 7 B.@5B B.352 z2*zH*fa2*co#tf@ !z2*zH*c8"
LK7:I2&UO 8 B.5H3 B.?B5 z2*zH*fa7*0)ors#m9es#$t22 !63"
LK7:I8&UO 8 B.5H3 2.B5B z2*zH*fa7*co#t2 !z2*zH*c5"
LK5:IB&UO 8 B.5H3 2.B5B z2*zH*fa5*0)ors#m9es#$t4@ !BT4U"
LK7:IB&UO 8 B.5H3 B.32@ z@*fa8*co#t2 !z@*c7"
LK5:I2&UO 8 B.5H3 B.?B5 z@*fa7*0)ors#m9es#$t2 !5T7U"
LK7:I8&UO 8 B.5H3 B.H4? zH*fa7*co#t2 !zH*c5"
43
-
8/19/2019 Major Finaldoc With Correction
44/82
`
LK5:I7&UO 8 B.5H3 B.32@ zH*fa5*co#t2 !zH*c@"
LK7:I2&UO 8 B.5H3 B.32@ zH*fa@*co#t2 !zH*c4"
LK7:I2&UO 5 B.5H3 B.353 zH*fa4*co#t2 !zH*cH"
LK7:I2&UO 8 B.5H3 B.?B5 zH*faH*co#t2 !zH*c?"
LK7:I8&UO 2 B.5H3 B.?@2 zH*fa3*co#t2 !zH*c2B"
LK5:I2&UO 2 B.5H3 B.4?2 zH*fa22*0)ors#m9es#$t2 !c2@O(K+"
O(K+:I&UO 5.3B3 c2@O(K+ !cT2@U"
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
T/tal 29.12ns !27.753ns $ogic, [email protected] ro#te"
!5@.?W $ogic, @5.8W ro#teB
44
-
8/19/2019 Major Finaldoc With Correction
45/82
`
. CONC6U>ION "ND FUTUR >COP
0#$tip$ier design based on the form#$as of the ancient Indian Vedic 0athematics,
high$% s#itab$e for high speedcomp$e) arithmetic circ#its which are having wide
app$ication in VLSI signa$ processing. he imp$ementation was done on +PA
SPA9A6&7 and compared with the most$% #sed architect#re $i'e distrib#ted
arithmetic, para$$e$ adderbased imp$ementation, and a$gebraic transformation based
imp$ementation. his nove$ architect#re combines the advantages of the Vedic
mathematics for m#$tip$ication which enco#nters the stages and partia$ prod#ct
red#ction.he proposed comp$e) n#mber m#$tip$ier offered a de$a% of 83.28ns which
is2B percent faster than booths m#$tip$ier and improvement in terms of propagation
de$a% and power cons#mption respective$%.
he project can be f#rther e)tended b% increasing the bit size and f#rther e)tensions
can be done for signed n#mbers and comp$e) n#mbers a$so.
45
-
8/19/2019 Major Finaldoc With Correction
46/82
`
3. RFRNC>
X2Y P. . Saha, A. (anerjee, and A. -andapat, J/igh SpeedLow Poweromp$e)
0#$tip$ier -esign Ksing Para$$e$Adders and S#btractorsNInternationa$ Qo#rna$ on
>$ectronic and >$ectrica$ >ngineering,!*Q>>>".
X8Y . S. 1a$$ace, JA s#ggestion for a fast m#$tip$ier,J$>>rans.>$ectronicomp#t.,
vo$. >&Z7, pp. 25&2H, -ec.2345.
X7Y .PrabirSaha, Arindam (anerjee, Partha (hattachar%%a, An#p-andapat, M/igh
speed ASI design of comp$e) m#$tip$ier#sing vedic mathematicsN , Proceeding of
the 8B22 I>>>St#dents; echno$og% S%mposi#m 25&24 Qan#ar%, 8B22, $Iharagp#r,
pp. 87H&852.
X5Y https:**$earn.digi$entinc.com*-oc#ments*8@3
X@Y http:**www.)i$in).com*s#pport*doc#mentation
X4Y http:**e$ectronicsfor#.com
XHY http:**en.wi'ipedia.org*wi'i*
46
-
8/19/2019 Major Finaldoc With Correction
47/82
`
"PPNDIB
". INTRODUCTION TO =RI6O7
".1 O=R=IW:
/ardware description $ang#ages s#ch as Veri$og differ from software
programming $ang#ages beca#se the% inc$#de wa%s of describing the propagation time
and signa$ strengths !sensitivit%". here are two t%pes of assignment operators= a
b$oc'ing assignment !E", and a non&b$oc'ing !TE" assignment. he non&b$oc'ing
assignment a$$ows designers to describe a state&machine #pdate witho#t needing to
dec$are and #se temporar% storage variab$es. Since these concepts are part of Veri$og;s
$ang#age semantics, designers co#$d #ic'$% write descriptions of $arge circ#its in a
re$ative$% compact and concise form. At the time of Veri$og;s introd#ction !23?5",
Veri$og represented a tremendo#s prod#ctivit% improvement for circ#it designers who
were a$read% #sing graphica$ schematic capt#re software and specia$$% written
software programs to doc#ment and sim#$ate e$ectronic circ#its.
he designers of Veri$og wanted a $ang#age with s%nta) simi$ar to the
programming $ang#age, which was a$read% wide$% #sed in engineering softwaredeve$opment. Li'e , Veri$og is case&sensitive and has a basic preprocessor !tho#gh
$ess sophisticated than that of A6SI *FF". Its contro$ f$ow 'e%words !if*e$se, for,
whi$e, case, etc." are e#iva$ent, and its operator precedence is compatib$e with .
S%ntactic differences inc$#de: re#ired bit&widths for variab$e dec$arations,
demarcation of proced#ra$ b$oc's !Veri$og #ses begin*end instead of c#r$% braces [\",
and man% other minor differences. Veri$og re#ires that variab$es be given a definite
size. In these sizes are ass#med from the ;t%pe; of the variab$e !for instance aninteger t%pe ma% be ? bits".
A Veri$og design consists of a hierarch% of mod#$es. 0od#$es encaps#$ate
design hierarch%, and comm#nicate with other mod#$es thro#gh a set of dec$ared
inp#t, o#tp#t, and bidirectiona$ ports. Interna$$%, a mod#$e can contain an%
combination of the fo$$owing: net*variab$e dec$arations !wire, reg, integer, etc.",
conc#rrent and se#entia$ statement b$oc's, and instances of other mod#$es !s#b&
hierarchies". Se#entia$ statements are p$aced inside a begin*end b$oc' and e)ec#ted
47
-
8/19/2019 Major Finaldoc With Correction
48/82
`
in se#entia$ order within the b$oc'. /owever, the b$oc's themse$ves are e)ec#ted
conc#rrent$%, ma'ing Veri$og a dataf$ow $ang#age.
Veri$og;s concept of ;wire; consists of both signa$ va$#es !5&state: J2, B, f$oating,
#ndefinedJ" and signa$ strengths !strong, wea', etc.". his s%stem a$$ows abstract
mode$ing of shared signa$ $ines, where m#$tip$e so#rces drive a common net. 1hen a
wire has m#$tip$e drivers, the wire;s !readab$e" va$#e is reso$ved b% a f#nction of the
so#rce drivers and their strengths.
A s#bset of statements in the Veri$og $ang#age are s%nthesizab$e. Veri$og mod#$es that
conform to a s%nthesizab$e coding st%$e, 'nown as 9L !register&transfer $eve$", can
be ph%sica$$% rea$ized b% s%nthesis software. S%nthesis software a$gorithmica$$%
transforms the !abstract" Veri$og so#rce into a net$ist, a $ogica$$% e#iva$ent
description consisting on$% of e$ementar% $ogic primitives !A6-, O9, 6O, f$ip&
f$ops, etc." that are avai$ab$e in a specific +PA or VLSI techno$og%. +#rther
manip#$ations to the net$ist #$timate$% $ead to a circ#it fabrication b$#eprint !s#ch as a
photo mas' set for an ASI or a bitstream fi$e for an +PA".
".1.1 eginning:
Veri$og was one of the first modernXc$arification neededY hardware description
$ang#ages to be invented.Xcitation neededY It was created b% Prabh#oe$ and Phi$
0oorb% d#ring the winter of 23?7*23?5. he wording for this process was
JA#tomated Integrated -esign S%stemsJ !$ater renamed to atewa% -esign
A#tomation in 23?@" as a hardware mode$ing $ang#age. atewa% -esign A#tomation
was p#rchased b% adence -esign S%stems in 233B. adence now has f#$$ proprietar%
rights to atewa%;s Veri$og and the Veri$og&GL, the /-L&sim#$ator that wo#$d
become the de facto standard !of Veri$og $ogic sim#$ators" for the ne)t decade.
Origina$$%, Veri$og was intended to describe and a$$ow sim#$ation= on$% afterwards
was s#pport for s%nthesis added.
".1.2 =eril/g)9:
1ith the increasing s#ccess of V/-L at the time, adence decided to ma'e the
$ang#age avai$ab$e for open standardization. adence transferred Veri$og into the
p#b$ic domain #nder the Open Veri$og Internationa$ !OVI" !now 'nown as Acce$$era"
48
-
8/19/2019 Major Finaldoc With Correction
49/82
`
organization. Veri$og was $ater s#bmitted to I>>> and became I>>> Standard 2745&
233@, common$% referred to as Veri$og&3@.
".1.% =eril/g 2??1:
>)tensions to Veri$og&3@ were s#bmitted bac' to I>>> to cover the deficiencies that
#sers had fo#nd in the origina$ Veri$og standard. hese e)tensions became I>>>
Standard 2745&8BB2 'nown as Veri$og&8BB2.
Veri$og&8BB2 is a significant #pgrade from Veri$og&3@. +irst, it adds e)p$icit s#pport
for !8;s comp$ement" signed nets and variab$es. Previo#s$%, code a#thors had to
perform signed operations #sing aw'ward bit&$eve$ manip#$ations !for e)amp$e, the
carr%&o#t bit of a simp$e ?&bit addition re#ired an e)p$icit description of the (oo$ean
a$gebra to determine its correct va$#e". he same f#nction #nder Veri$og&8BB2 can be
more s#ccinct$% described b% one of the b#i$t&in operators: F, &, *, , UUU. A
generate*endgenerate constr#ct !simi$ar to V/-L;s generate*endgenerate" a$$ows
Veri$og&8BB2 to contro$ instance and statement instantiation thro#gh norma$ decision
operators !case*if*e$se". Ksing generate*endgenerate, Veri$og&8BB2 can instantiate an
arra% of instances, with contro$ over the connectivit% of the individ#a$ instances. +i$e
I*O has been improved b% severa$ new s%stem tas's. And fina$$%, a few s%nta)additions were introd#ced to improve code readabi$it% !e.g. a$wa%s ], named
parameter override, &st%$e f#nction*tas'*mod#$e header dec$aration".
Veri$og&8BB2 is the dominant f$avor of Veri$og s#pported b% the majorit% of
commercia$ >-A software pac'ages.
".1.& =eril/g 2??:
6ot to be conf#sed with S%stemVeri$og, Veri$og 8BB@ !I>>> Standard 2745&8BB@"
consists of minor corrections, spec c$arifications, and a few new $ang#age feat#res
!s#ch as the #wire 'e%word".
A separate part of the Veri$og standard, Veri$og&A0S, attempts to integrate ana$og and
mi)ed signa$ mode$ing with traditiona$ Veri$og.
49
-
8/19/2019 Major Finaldoc With Correction
50/82
`
".1. >#stem =eril/g:
S%stem Veri$og is a s#perset of Veri$og&8BB@, with man% new feat#res and capabi$ities
to aid design verification and design mode$ing. As of 8BB3, the S%stem Veri$og and
Veri$og $ang#age standards were merged into S%stem Veri$og 8BB3 !I>>> Standard
2?BB&8BB3".
he advent of hardware verification $ang#ages s#ch as OpenVera, and Verisit%;s e
$ang#age enco#raged the deve$opment of S#per$og b% o&-esign A#tomation Inc.
o&-esign A#tomation Inc was $ater p#rchased b% S%nops%s. he fo#ndations of
S#per$og and Vera were donated to Acce$$era, which $ater became the I>>> standard
P2?BB&8BB@: S%stemVeri$og.
;ample:
A he$$o wor$d program $oo's $i'e this:
mod#$e main=
initia$
begin
^disp$a%!J/e$$o wor$d_J"=
^finish=
end
endmod#$e
A simp$e e)amp$e of two f$ip&f$ops fo$$ows:
mod#$etop$eve$!c$oc',reset"=
inp#t c$oc'=
inp#t reset=
reg f$op2=
reg f$op8=
50
-
8/19/2019 Major Finaldoc With Correction
51/82
`
a$wa%s ] !posedge reset or posedge c$oc'"
if !reset"
begin
f$op2 TE B=
f$op8 TE 2=
end
e$se
begin
f$op2 TE f$op8=
f$op8 TE f$op2=
end
endmod#$e
he JTEJ operator in Veri$og is another aspect of its being a hardware description
$ang#age as opposed to a norma$ proced#ra$ $ang#age. his is 'nown as a Jnon&
b$oc'ingJ assignment. Its action doesn;t register #nti$ the ne)t c$oc' c%c$e. his means
that the order of the assignments is irre$evant and wi$$ prod#ce the same res#$t: f$op2
and f$op8 wi$$ swap va$#es ever% c$oc'.
he other assignment operator, JEJ, is referred to as a b$oc'ing assignment. 1hen JEJ
assignment is #sed, for the p#rposes of $ogic, the target variab$e is #pdated
immediate$%. In the above e)amp$e, had the statements #sed the JEJ b$oc'ing operator
instead of JTEJ, f$op2 and f$op8 wo#$d not have been swapped. Instead, as in
traditiona$ programming, the compi$er wo#$d #nderstand to simp$% set f$op2 e#a$ to
f$op8 !and s#bse#ent$% ignore the red#ndant $ogic to set f$op8 e#a$ to f$op2".
An e)amp$e co#nter circ#it fo$$ows:
mod#$e -iv8B) !rst, c$', cet, cep, co#nt, tc"=
parameter size E @=
51
-
8/19/2019 Major Finaldoc With Correction
52/82
`
parameter $ength E 8B=
inp#trst= ** hese inp#ts*o#tp#ts represent
inp#tc$'= ** connections to the mod#$e.
inp#tcet=
inp#tcep=
o#tp#t Xsize&2:BY co#nt=
o#tp#ttc=
reg Xsize&2:BY co#nt= ** Signa$s assigned within an a$wa%s !or initia$"b$oc' m#st be of** t%pe reg
wiretc= ** Other signa$s are of t%pe wire
** he a$wa%s statement be$ow is a para$$e$
** e)ec#tion statement that
** e)ec#tes an% time the signa$s
** rst or c$' transition from $ow to high
a$wa%s ] !posedgec$' or posedgerst"
if !rst" ** his ca#ses reset of the cntr
co#ntTE [size[2;bB\\=
e$se
if !cet``cep" ** >nab$es both tr#e
begin
if !co#nt EE $ength&2"
co#ntTE [size[2;bB\\=
e$se
52
-
8/19/2019 Major Finaldoc With Correction
53/82
`
co#ntTE co#nt F 2;b2=
end
** the va$#e of tc is contin#o#s$% assigned
** the va$#e of the e)pression
assigntc E !cet`` !co#nt EE $ength&2""=
endmod#$e
"n e;ample /0 -ela#s:
reg a, b, c, d=
wire e=
a$wa%s ]!b or e"
begin
a E b ` e=
b E a b=
@ c E b=
d E 4 c e=
end
he a$wa%s c$a#se above i$$#strates the other t%pe of method of #se, i.e. it e)ec#tes
whenever an% of the entities in the $ist !the b or e" changes. 1hen one of thesechanges, a is immediate$% assigned a new va$#e, and d#e to the b$oc'ing assignment,
b is assigned a new va$#e afterward !ta'ing into acco#nt the new va$#e of a". After a
de$a% of @ time #nits, c is assigned the va$#e of b and the va$#e of c e is t#c'ed awa%
in an invisib$e store. hen after 4 more time #nits, d is assigned the va$#e that was
t#c'ed awa%.
53
-
8/19/2019 Major Finaldoc With Correction
54/82
`
Signa$s that are driven from within a process !an initia$ or a$wa%s b$oc'" m#st be of
t%pe reg. Signa$s that are driven from o#tside a process m#st be of t%pe wire. he
'e%word reg does not necessari$% imp$% a hardware register.
".2 DFINITION OF CON>T"NT>:
he definition of constants in Veri$og s#pports the addition of a width parameter. he
basic s%nta) is:
T1idth in bitsU;Tbase $etterUTn#mberU
>)amp$es:
28;h287 & /e)adecima$ 287 !#sing 28 bits"
8B;d55 & -ecima$ 55 !#sing 8B bits & B e)tension is a#tomatic"
5;b2B2B & (inar% 2B2B !#sing 5 bits"
4;oHH & Octa$ HH !#sing 4 bits"
>#nthesieale c/nstructs:
here are severa$ statements in Veri$og that have no ana$og in rea$ hardware, e.g.
^disp$a%. onse#ent$%, m#ch of the $ang#age can not be #sed to describe hardware.
he e)amp$es presented here are the c$assic s#bset of the $ang#age that has a direct
mapping to rea$ gates.
** 0#) e)amp$es & hree wa%s to do the same thing.
** he first e)amp$e #ses contin#o#s assignment
wire o#t=
assign o#t E se$ a : b= ** the second e)amp$e #ses a proced#re to accomp$ish the
**same thing.
reg o#t=
a$wa%s ]!a or b or se$"
begin
54
-
8/19/2019 Major Finaldoc With Correction
55/82
`
case!se$"
2;bB: o#t E b=
2;b2: o#t E a=
endcase
end
** +ina$$% & %o# can #se if*e$se in a proced#ra$ str#ct#re.
reg o#t=
a$wa%s ]!a or b or se$"
if !se$"
o#t E a=
e$se
o#t E b=
he ne)t interesting str#ct#re is a transparent $atch= it wi$$ pass the inp#t to the o#tp#t
when the gate signa$ is set for Jpass&thro#ghJ, and capt#res the inp#t and stores it
#pon transition of the gate signa$ to Jho$dJ. he o#tp#t wi$$ remain stab$e regard$ess
of the inp#t signa$ whi$e the gate is set to Jho$dJ. In the e)amp$e be$ow the Jpass&
thro#ghJ $eve$ of the gate wo#$d be when the va$#e of the if c$a#se is tr#e, i.e. gate E
2. his is read Jif gate is tr#e, the din is fed to $atcho#t contin#o#s$%.J Once the if
c$a#se is fa$se, the $ast va$#e at $atcho#t wi$$ remain and is independent of the va$#e
of din.
** ransparent $atch e)amp$e
reg$atcho#t=
a$wa%s ]!gate or din"
if!gate"
$atcho#t E din= ** Pass thro#gh state
55
-
8/19/2019 Major Finaldoc With Correction
56/82
`
** 6ote that the e$se isn;t re#ired here. he variab$e
** $atcho#t wi$$ fo$$ow the va$#e of din whi$e gate is
** high. 1hen gate goes $ow, $atcho#t wi$$ remain constant.
he f$ip&f$op is the ne)t significant temp$ate= in Veri$og, the -&f$op is the simp$est,
and it can be mode$ed as:
reg =
a$wa%s ]!posedgec$'"
TE d=
he significant thing to notice in the e)amp$e is the #se of the non&b$oc'ing
assignment. A basic r#$e of th#mb is to #se TE when there is a posedge or negedge
statement within the a$wa%s c$a#se.
A variant of the -&f$op is one with an as%nchrono#s reset= there is a convention that
the reset state wi$$ be the first if c$a#se within the statement.
reg =
a$wa%s ]!posedgec$' or posedge reset"
if!reset"
TE B=
e$se
TE d=
he ne)t variant is inc$#ding both an as%nchrono#s reset and as%nchrono#s set
condition= again the convention comes into p$a%, i.e. the reset term is fo$$owed b% the
set term.
reg =
a$wa%s ]!posedgec$' or posedge reset or posedge set"
if!reset"
56
-
8/19/2019 Major Finaldoc With Correction
57/82
`
TE B=
e$se
if!set"
TE 2=
e$se
TE d=
6ote: If this mode$ is #sed to mode$ a Set*9eset f$ip f$op then sim#$ation errors can
res#$t. onsider the fo$$owing test se#ence of events. 2" reset goes high 8" c$' goes
high 7" set goes high 5" c$' goes high again @" reset goes $ow fo$$owed b% 4" set going
$ow. Ass#me no set#p and ho$d vio$ations.
In this e)amp$e the a$wa%s ] statement wo#$d first e)ec#te when the rising edge of
reset occ#rs which wo#$d p$ace to a va$#e of B. he ne)t time the a$wa%s b$oc'
e)ec#tes wo#$d be the rising edge of c$' which again wo#$d 'eep at a va$#e of B.
he a$wa%s b$oc' then e)ec#tes when set goes high which beca#se reset is high forces
to remain at B. his condition ma% or ma% not be correct depending on the act#a$
f$ip f$op. /owever, this is not the main prob$em with this mode$. 6otice that when
reset goes $ow, that set is sti$$ high. In a rea$ f$ip f$op this wi$$ ca#se the o#tp#t to go to
a 2. /owever, in this mode$ it wi$$ not occ#r beca#se the a$wa%s b$oc' is triggered b%
rising edges of set and reset & not $eve$s. A different approach ma% be necessar% for
set*reset f$ip f$ops.
he fina$ basic variant is one that imp$ements a -&f$op with a m#) feeding its inp#t.
he m#) has a d&inp#t and feedbac' from the f$op itse$f. his a$$ows a gated $oad
f#nction.
** (asic str#ct#re with an >GPLII feedbac' path
a$wa%s ]!posedgec$'"
if!gate"
TE d=
57
-
8/19/2019 Major Finaldoc With Correction
58/82
`
e$se
TE = ** e)p$icit feedbac' path
** he more common str#ct#re ASSK0>S the feedbac' is present
** his is a safe ass#mption since this is how the
** hardware compi$er wi$$ interpret it. his str#ct#re
** $oo's m#ch $i'e a $atch. he differences are the
** ;;;]!posedgec$'";;; and the non&b$oc'ing ;;;TE;;;
a$wa%s ]!posedgec$'"
if!gate"
TE d= ** the Je$seJ m#) is Jimp$iedJ
6ote that there are no Jinitia$J b$oc's mentioned in this description. here is a sp$it
between +PA and ASI s%nthesis too$s on this str#ct#re. +PA too$s a$$ow initia$
b$oc's where reg va$#es are estab$ished instead of #sing a JresetJ signa$. ASI
s%nthesis too$s don;t s#pport s#ch a statement. he reason is that an +PA;s initia$
state is something that is down$oaded into the memor% tab$es of the +PA. An ASI
is an act#a$ hardware imp$ementation.
".% INITI"6 "ND "6W"E>:
here are two separate wa%s of dec$aring a Veri$og process. hese are the a$wa%s and
the initia$ 'e%words. he a$wa%s 'e%word indicates a free&r#nning process. he initia$
'e%word indicates a process e)ec#tes e)act$% once. (oth constr#cts begin e)ec#tion at
sim#$ator time B, and both e)ec#te #nti$ the end of the b$oc'. Once an a$wa%s b$oc'
has reached its end, it is resched#$ed !again". It is a common misconception to be$ieve
that an initia$ b$oc' wi$$ e)ec#te before an a$wa%s b$oc'. In fact, it is better to thin' of
the initia$&b$oc' as a specia$&case of the a$wa%s&b$oc', one which terminates after it
comp$etes for the first time.
;amples
initia$
58
-
8/19/2019 Major Finaldoc With Correction
59/82
`
begin
a E 2= ** Assign a va$#e to reg a at time B
2= ** 1ait 2 time #nit
b E a= ** Assign the va$#e of reg a to reg b
end
a$wa%s ]!a or b" ** An% time a or b /A6>, r#n the process
begin
if !a"
c E b=
e$se
d E b=
end ** -one with this b$oc', now ret#rn to the top !i.e. the ] event&contro$"
a$wa%s ]!posedge a"** 9#n whenever reg a has a $ow to high change
a TE b=
hese are the c$assic #ses for these two 'e%words, b#t there are two significant
additiona$ #ses. he most common of these is an a$wa%s 'e%word witho#t the ]!..."
sensitivit% $ist. It is possib$e to #se a$wa%s as shown be$ow:
a$wa%s
begin ** A$wa%s begins e)ec#ting at time B and 6>V>9 stops
c$' E B= ** Set c$' to B
2= ** 1ait for 2 time #nit
c$' E 2= ** Set c$' to 2
2= ** 1ait 2 time #nit
59
-
8/19/2019 Major Finaldoc With Correction
60/82
`
end ** eeps e)ec#ting & so contin#e bac' at the top of the begin
he a$wa%s 'e%word acts simi$ar to the JJ constr#ct whi$e!2" [..\ in the sense that it
wi$$ e)ec#te forever.
he other interesting e)ception is the #se of the initia$ 'e%word with the addition of
the forever 'e%word.
he e)amp$e be$ow is f#nctiona$$% identica$ to the a$wa%s e)amp$e above.
initia$ forever ** Start at time B and repeat the begin*end forever
begin
c$' E B= ** Set c$' to B
2= ** 1ait for 2 time #nit
c$' E 2= ** Set c$' to 2
2= ** 1ait 2 time #nit
end
F/r!G/in:
he for'*join pair are #sed b% Veri$og to create para$$e$ processes. A$$ statements !or
b$oc's" between a for'*join pair begin e)ec#tion sim#$taneo#s$% #pon e)ec#tion f$ow
hitting the for'. >)ec#tion contin#es after the join #pon comp$etion of the $ongest
r#nning statement or b$oc' between the for' and join.
initia$
for'
^write!JAJ"= ** Print har A
^write!J(J"= ** Print har (
begin
2= ** 1ait 2 time #nit
60
-
8/19/2019 Major Finaldoc With Correction
61/82
`
^write!JJ"=** Print har
end
join
he wa% the above is written, it is possib$e to have either the se#ences JA(J or
J(AJ print o#t. he order of sim#$ation between the first ^write and the second
^write depends on the sim#$ator imp$ementation, and ma% p#rposef#$$% be
randomized b% the sim#$ator. his a$$ows the sim#$ation to contain both accidenta$
race conditions as we$$ as intentiona$ non&deterministic behavior.
6otice that V/-L cannot d%namica$$% spawn m#$tip$e processes $i'e Veri$og.
Race c/n-iti/ns
he order of e)ec#tion isn;t a$wa%s g#aranteed within Veri$og. his can best be
i$$#strated b% a c$assic e)amp$e. onsider the code snippet be$ow:
initia$
a E B=
initia$
b E a=
initia$
begin
2=
^disp$a%!JVa$#e aEWa Va$#e of bEWbJ,a,b"=
end
1hat wi$$ be printed o#t for the va$#es of a and b -epending on the order of
e)ec#tion of the initia$ b$oc's, it co#$d be zero and zero, or a$ternate$% zero and some
other arbitrar% #ninitia$ized va$#e. he ^disp$a% statement wi$$ a$wa%s e)ec#te after
both assignment b$oc's have comp$eted, d#e to the 2 de$a%
61
-
8/19/2019 Major Finaldoc With Correction
62/82
`
. INTRODUCTION TO =6>I
Ver%&$arge&sca$e integration !VLSI" is the process of creating integrated
circ#its b% combining tho#sands of transistor&based circ#its into a sing$e chip. VLSI
began in the 23HBs when comp$e) semicond#ctor and comm#nication techno$ogies
were being deve$oped. he microprocessor is a VLSI device. he term is no $onger as
common as it once was, as chips have increased in comp$e)it% into the h#ndreds of
mi$$ions of transistors.
.1 O=R=IW:
he first semicond#ctor chips he$d one transistor each. S#bse#ent advancesadded more and more transistors, and, as a conse#ence, more individ#a$ f#nctions or
s%stems were integrated over time. he first integrated circ#its he$d on$% a few
devices, perhaps as man% as ten diodes, transistors, resistors and capacitors, ma'ing it
possib$e to fabricate one or more $ogic gates on a sing$e device. 6ow 'nown
retrospective$% as Jsma$$&sca$e integrationJ !SSI", improvements in techni#e $ed to
devices with h#ndreds of $ogic gates, 'nown as $arge&sca$e integration !LSI", i.e.
s%stems with at $east a tho#sand $ogic gates. #rrent techno$og% has moved far past
this mar' and toda%;s microprocessors have man% mi$$ions of gates and h#ndreds of
mi$$ions of individ#a$ transistors.
At one time, there was an effort to name and ca$ibrate vario#s $eve$s of $arge&
sca$e integration above VLSI. erms $i'e K$tra&$arge&sca$e Integration !KLSI" were
#sed. (#t the h#ge n#mber of gates and transistors avai$ab$e on common devices has
rendered s#ch fine distinctions moot. erms s#ggesting greater than VLSI $eve$s of
integration are no $onger in widespread #se. >ven VLSI is now somewhat #aint,
given the common ass#mption that a$$ microprocessors are VLSI or better.
As of ear$% 8BB?, bi$$ion&transistor processors are commercia$$% avai$ab$e, an
e)amp$e of which is Inte$;s 0ontecito Itani#m chip. his is e)pected to become more
commonp$ace as semicond#ctor fabrication moves from the c#rrent generation of 4@
nm processes to the ne)t 5@ nm generations !whi$e e)periencing new cha$$enges s#ch
as increased variation across process corners". Another notab$e e)amp$e is 6VI-IARs
8?B series PK.
62
-
8/19/2019 Major Finaldoc With Correction
63/82
`
his microprocessor is #ni#e in the fact that its 2.5 (i$$ion transistor co#nt,
capab$e of a teraf$op of performance, is a$most entire$% dedicated to $ogic !Itani#m;s
transistor co#nt is $arge$% d#e to the 850( L7 cache". #rrent designs, as opposed to
the ear$iest devices, #se e)tensive design a#tomation and a#tomated $ogic s%nthesis to
$a% o#t the transistors, enab$ing higher $eve$s of comp$e)it% in the res#$ting $ogic
f#nctiona$it%. ertain high&performance $ogic b$oc's $i'e the S9A0 ce$$, however,
are sti$$ designed b% hand to ens#re the highest efficienc% !sometimes b% bending or
brea'ing estab$ished design r#$es to obtain the $ast bit of performance b% trading
stabi$it%".
.2 =6>I:
VLSI stands for JVer% Large Sca$e IntegrationJ. his is the fie$d
whichInvo$ves pac'ing more and more $ogic devices into sma$$er and sma$$er areas.
2. Simp$% we sa% Integrated circ#it is man% transistors on one chip.
8. -esign*man#fact#ring of e)treme$% sma$$, comp$e) circ#itr% #sing modified
semicond#ctor materia$.
7. Integrated circ#it !I" ma% contain mi$$ions of transistors, each a few mm in
size.5. App$ications wide ranging: most e$ectronic $ogic devices.
.% =6>I D>I7N F6OW:
.%.1 Digital Circuit:
-igita$ Is of SSI and 0SI t%pes have become #niversa$$% standardized and
have been accepted for #se. 1henever a designer has to rea$ize a digita$ f#nction, he
#ses a standard set of Is a$ong with a minima$ set of additiona$ discrete circ#itr%.
onsider a simp$e e)amp$e of rea$izing a f#nction as
Q nF2 E Q n F ! A B"
/ere on, A, and B are (oo$ean variab$es, with Q n being the va$#e of Q at the
nth time step. /ere A B signifies the $ogica$ A6- of A and B= the CFR s%mbo$ signifies
the $ogica$ O9 of the $ogic variab$es on either side. A circ#it to rea$ize the f#nction is
63
-
8/19/2019 Major Finaldoc With Correction
64/82
$'
On
(
`
shown in +ig#re. he circ#it can be rea$ized in terms of two Is < an A&O&I gate and a
f$ip&f$op. It can be direct$% wired #p, tested, and #sed.
Fig .1: >imple -igital circuit
1ith comparative$% $arger circ#its, the tas' most$% red#ces to one of
identif%ing the set of Is necessar% for the job and interconnecting= rare$% does one
have to resort to a micro $eve$ design. he accepted approach to digita$ design here is
a mi) of the top&down and bottomp approaches as fo$$ows.
-ecide the re#irements at the s%stem $eve$ and trans$ate them to circ#it re#irements.
Identif% the major f#nctiona$ b$oc's re#ired $i'e timer, -0A #nit, register fi$e etc.,
sa% as in the design of a processor.
1henever a f#nction can be rea$ized #sing a standard I, #se the same
-
8/19/2019 Major Finaldoc With Correction
65/82
S%stem re#irements
irc#it re#irements
IsOther components
P( $a%o#t
1iring ` testing
+ina$ circ#it
`
Kse additiona$ components $i'e transistor, diode, resistor, capacitor, etc.,
wherever essentia$.
Fig .2: Pr/cess 0l/wchart
Once the above steps are gone thro#gh, a paper design is read%. Starting with
the paper design, one has to do a circ#it $a%o#t. he ph%sica$ $ocation of a$$ the
components is tentative$% decided= the% are interconnected and the Ccirc#it&onpaperR is
made read%. Once a paper design is done, a $a%o#t is carried o#t and a net&$ist
prepared. (ased on this, the P( is fabricated and pop#$ated and a$$ the pop#$ated
cards tested and deb#gged.
At the deb#gging stage one ma% enco#nter three t%pes of prob$ems:
65
-
8/19/2019 Major Finaldoc With Correction
66/82
`
+#nctiona$ mismatch: he rea$ized and e)pected f#nctions are different. One
ma% have to go thro#gh the re$evant f#nctiona$ b$oc' caref#$$% and $ocate an%
error $ogica$$%. +ina$$% the necessar% correction has to be carried o#t in
hardware.
iming mismatch: he prob$em can manifest in different forms. One
possibi$it% is d#e to the signa$ going thro#gh different propagation de$a%s in
two paths and arriving at a point with a timing mismatch. his can ca#se
fa#$t% operation. Another possibi$it% is a race condition in a circ#it invo$ving
as%nchrono#s feedbac'. his 'ind of prob$em ma% ca$$ for e$aborate
deb#gging. he preferred practice is to do deb#gging at sma$$er mod#$e stages
and ens#ring that feedbac' thro#gh $arger $oops is avoided: It becomes
essentia$ to chec' for the e)istence of $ong as%nchrono#s $oops.
Over$oad: Some signa$s ma% be over$oaded to s#ch an e)tent that the signa$
transition ma% be #nd#$% de$a%ed or even s#ppressed. he prob$em manifests
as ref$ections and erratic behavior in some cases !he signa$ has to be s#itab$%
b#ffered here.". In fact, over$oad on a signa$ can $ead to timing mismatches.
he above have to be carried o#t after comp$etion of the protot%pe P(
man#fact#ring= it invo$ves cost, time, and a$so a redesigning process to deve$op a b#g
free design.
8ist/r# /0 >cale Integrati/n:
Late 5Bs ransistor invented at (e$$ Labs
Late @Bs +irst I !Q&++ b% Qac' i$b% at I"
>ar$% 4Bs Sma$$ Sca$e Integration !SSI"
2Bs of transistors on a chip
Late 4Bs 0edi#m Sca$e Integration !0SI"
2BBs of transistors on a chip
66
-
8/19/2019 Major Finaldoc With Correction
67/82
`
>ar$% HBs Large Sca$e Integration !LSI"
2BBBs of transistor on a chip
>ar$% ?Bs VLSI 2B,BBBs of transistors on a
chip !$ater 2BB,BBBs ` now 2,BBB,BBBs"
K$tra LSI is sometimes #sed for 2,BBB,BBBs
SSI & Sma$$&Sca$e Integration !B&2B8"
0SI & 0edi#m&Sca$e Integration !2B8&2B7"
LSI & Large&Sca$e Integration !2B7&2B@"
VLSI & Ver% Large&Sca$e Integration !2B@&2BH"
KLSI & K$tra Large&Sca$e Integration !UE2BH"
.%.2 =6>I Design:
he comp$e)it% of VLSIs being designed and #sed toda% ma'es the man#a$
approach to design impractica$. -esign a#tomation is the order of the da%. 1ith the
rapid techno$ogica$ deve$opments in the $ast two decades, the stat#s of VLSI
techno$og% is characterized b% the fo$$owing:
A stead% increase in the size and hence the f#nctiona$it% of the Is.
A stead% red#ction in feat#re size and hence increase in the speed of operation
as we$$ as gate or transistor densit%.
A stead% improvement in the predictabi$it% of circ#it behavior.
A stead% increase in the variet% and size of software too$s for VLSI design.
he above deve$opments have res#$ted in a pro$iferation of approaches toVLSI design. 1e brief$% describe the proced#re of a#tomated design f$ow. he aim is
67
-
8/19/2019 Major Finaldoc With Correction
68/82
`
more to bring o#t the ro$e of a /ardware -escription Lang#age !/-L" in the design
process. An abstraction based mode$ is the basis of the a#tomated design.
.%.% "stracti/n $/-el:
he mode$ divides the who$e design c%c$e into vario#s domains. 1ith s#ch an
abstraction thro#gh a division process the design is carried o#t in different $a%ers. he
designer at one $a%er can f#nction witho#t bothering abo#t the $a%ers above or be$ow.
he thic' horizonta$ $ines separating the $a%ers in the fig#re signif% the
compartmenta$ization. As an e)amp$e, $et #s consider design at the gate $eve$. he
circ#it to be designed wo#$d be described in terms of tr#th tab$es and state tab$es.
1ith these as avai$ab$e inp#ts, he has to e)press them as (oo$ean $ogic e#ations andrea$ize them in terms of gates and f$ip&f$ops. In t#rn, these form the inp#ts to the $a%er
immediate$% be$ow. ompartmenta$ization of the approach to design in the manner
described here is the essence of abstraction= it is the basis for deve$opment and #se of
A- too$s in VLSI design at vario#s $eve$s.
he design methods at different $eve$s #se the respective aids s#ch as (oo$ean
e#ations, tr#th tab$es, state transition tab$e, etc. (#t the aids p$a% on$% a sma$$ ro$e in
the process. o comp$ete a design, one ma% have to switch from one too$ to another,
raising the iss#es of too$ compatibi$it% and $earning new environments.
.& ">IC D>I7N F6OW:
As with an% other technica$ activit%, deve$opment of an ASI starts with an
idea and ta'es tangib$e shape thro#gh the stages of deve$opment. he first step in the
process is to e)pand the idea in terms of behavior of the target circ#it. hro#gh stages
of programming, the same is f#$$% deve$oped into a design description < in terms of
we$$&defined standard constr#cts and conventions.
68
-
8/19/2019 Major Finaldoc With Correction
69/82
Idea
-esign description
S%nthesisSim#$ation
Ph%sica$ design
`
Fig .%: Design -/main an- le
-
8/19/2019 Major Finaldoc With Correction
70/82
`
dedicated too$s. 1ith ever% sim#$ation r#n, the sim#$ation res#$ts are st#died to
identif% errors in the design description. he errors are corrected and another
sim#$ation r#n carried o#t. Sim#$ation and changes to design description together
form a c%c$ic iterative process, repeated #nti$ an error&free design is evo$ved.
-esign description is an activit% independent of the target techno$og% or
man#fact#rer. It res#$ts in a description of the digita$ circ#it. o trans$ate it into a
tangib$e circ#it, one goes thro#gh the ph%sica$ design process. he same constit#tes a
set of activities c$ose$% $in'ed to the man#fact#rer and the target techno$og%.
.&.1 Design Descripti/n:
he design is carried o#t in stages. he process of transforming the idea into a
detai$ed circ#it description in terms of the e$ementar% circ#it components constit#tes
design description. he fina$ circ#it of s#ch an I can have #p to a bi$$ion s#ch
components= it is arrived at in a step&b%&step manner. he first step in evo$ving the
design description is to describe the circ#it in terms of its behavior. he description
$oo's $i'e a program in a high $eve$ $ang#age $i'e . Once the behaviora$ $eve$ design
description is read%, it is tested e)tensive$% with the he$p of a sim#$ation too$= it
chec's and confirms that a$$ the e)pected f#nctions are carried o#t satisfactori$%. If necessar%, this behaviora$ $eve$ ro#tine is edited, modified, and rer#n < a$$ done
man#a$$%. +ina$$%, one has a design for the e)pected s%stem < described at the
behaviora$ $eve$. he behaviora$ design forms the inp#t to the s%nthesis too$s, for
circ#it s%nthesis. he behaviora$ constr#cts not s#pported b% the s%nthesis too$s are
rep$aced b% data f$ow and gate $eve$ constr#cts. o s#rmise, the designer has to
deve$op s%nthesizab$e codes for his design. he design at the behaviora$ $eve$ is to be
e$aborated in terms of 'nown and ac'now$edged f#nctiona$ b$oc's. It forms the ne)t
detai$ed $eve$ of design description
Once again the design is to be tested thro#gh sim#$ation and iterative$%
corrected for errors. he e$aboration can be contin#ed one or two steps f#rther. It
$eads to a detai$ed design description in terms of $ogic gates and transistor switches.
.&.2 Optimiati/n:
70
-
8/19/2019 Major Finaldoc With Correction
71/82
`
he circ#it at the gate $eve$ < in terms of the gates and f$ip&f$ops < can be
red#ndant in nat#re. he same can be minimized with the he$p of minimization too$s.
he step is not shown separate$% in the fig#re. he minimized $ogica$ design is
converted to a circ#it in terms of the switch $eve$ ce$$s from standard $ibraries
provided b% the fo#ndries. he ce$$ based design generated b% the too$ is the $ast step
in the $ogica$ design process= it forms the inp#t to the first $eve$ of ph%sica$ design.
.&.% >imulati/n:
he design descriptions are tested for their f#nctiona$it% at ever% $eve$
-
8/19/2019 Major Finaldoc With Correction
72/82
`
Fig .: ">IC Design an- De
-
8/19/2019 Major Finaldoc With Correction
73/82
`
.&.& >#nthesis:
1ith the avai$abi$it% of design at the gate !switch" $eve$, the $ogica$ design is
comp$ete. he corresponding circ#it hardware rea$ization is carried o#t b% a s%nthesis
too$.
wo common approaches are as fo$$ows:
he circ#it is rea$ized thro#gh an +PA. he gate $eve$ design description is the
starting point for the s%nthesis here. he +PA vendors provide an interface to the
s%nthesis too$. hro#gh the interface the gate $eve$ design is rea$ized as a fina$
circ#it. 1ith man% s%nthesis too$s, one can direct$% #se the design description at
the data f$ow $eve$ itse$f to rea$ize the fina$ circ#it thro#gh an +PA. he +PA
ro#te is attractive for $imited vo$#me prod#ction or a fast deve$opment c%c$e.
he circ#it is rea$ized as an ASI. A t%pica$ ASI vendor wi$$ have his own
$ibrar% of basic components $i'e e$ementar% gates and f$ip&f$ops. >vent#a$$% the
circ#it is to be rea$ized b% se$ecting s#ch components and interconnecting them
conforming to the re#ired design. his constit#tes the ph%sica$ design. (eing an
e$aborate and cost$% process, a ph%sica$ design ma% ca$$ for an intermediate
f#nctiona$ verification thro#gh the +PA ro#te. he circ#it rea$ized thro#gh the
+PA is tested as a protot%pe. It provides another opport#nit% for testing the
design c$oser to the fina$ circ#it.
.&. Ph#sical Design:
A f#$$% tested and error&free design at the switch $eve$ can be the starting point
for a ph%sica$ design. It is to be rea$ized as the fina$ circ#it #sing !t%pica$$%" a mi$$ion
components in the fo#ndr%Rs $ibrar%. he step&b%&step activities in the process are
described brief$% as fo$$ows:
S%stem partitioning: he design is partitioned into convenient compartments or
f#nctiona$ b$oc's. Often it wo#$d have been done at an ear$ier stage itse$f and the
software design prepared in terms of s#ch b$oc's. Interconnection of the b$oc's is
part of the partition process.
73
-
8/19/2019 Major Finaldoc With Correction
74/82
`
+$oor p$anning: he positions of the partitioned b$oc's are p$anned and the b$oc's
are arranged according$%. he proced#re is ana$ogo#s to the p$anning and
arrangement of domestic f#rnit#re in a residence. ($oc's with I*O pins are 'ept
c$ose to the peripher%= those which interact fre#ent$% or thro#gh a $arge n#mber of interconnections are 'ept c$ose together, and so on. Partitioning and f$oor
p$anning ma% have to be carried o#t and refined iterative$% to %ie$d best res#$ts.
P$acement: he se$ected components from the ASI $ibrar% are p$aced in position
on the MSi$icon f$oor.N It is done with each of the b$oc's above.
9o#ting: he components p$aced as described above are to be interconnected to
the rest of the b$oc': It is done with each of the b$oc's b% s#itab$% ro#ting the
interconnects. Once the ro#ting is comp$ete, the ph%sica$ design cam is ta'en as
comp$ete. he fina$ mas' for the design can be made at this stage and the ASI
man#fact#red in the fo#ndr%.
.&. P/st 6a#/ut >imulati/n:
Once the p$acement and ro#ting are comp$eted, the performance specifications
$i'e si$icon area, power cons#med, path de$a%s, etc., can be comp#ted. >#iva$ent
circ#it can be e)tracted at the component $eve$ and performance ana$%sis carried o#t.
his constit#tes the fina$ stage ca$$ed Mverification.N One ma% have to go thro#gh the
p$acement and ro#ting activit% once again to improve performance.
.&.3 Critical >us#stems:
he design ma% have critica$ s#bs%stems. heir performance ma% be cr#cia$ to
the overa$$ performance= in other words, to improve the s%stem performance
s#bstantia$$%, one ma% have to design s#ch s#bs%stems afresh. he design here ma%
imp$% redefinition of the basic feat#re size of the component, component design,
p$acement of components, or ro#ting done separate$% and specifica$$% for the
s#bs%stem. A set of mas's #sed in the fo#ndr% ma% have to be done afresh for the
p#rpose.
74
-
8/19/2019 Major Finaldoc With Correction
75/82
`
C. FI6D PRO7R"$$"6 7"T "RR"E
C.1 INTRODUCTION:
+PA contains a two dimensiona$ arra%s of $ogic b$oc's and interconnections
between $ogic b$oc's. (oth the $ogic b$oc's and interconnects are programmab$e.
Logic b$oc's are programmed to imp$ement a desired f#nction and the interconnects
are programmed #sing the switch bo)es to connect the $ogic b$oc's.
o be more c$ear, if we want to imp$ement a comp$e) design !PK for instance", then
the design is divided into sma$$ s#b f#nctions and each s#b f#nction is imp$emented
#sing one $ogic b$oc'. 6ow, to get o#r desired design !PK", a$$ the s#b f#nctions
imp$emented in $ogic b$oc's m#st be connected and this is done b% programming the
interconnects. .
Interna$ str#ct#re of an +PA is depicted in the fo$$owing fig#re .2.
75
-
8/19/2019 Major Finaldoc With Correction
76/82
`
Fig C.1: FP7" "rchitecture
+PAs, a$ternative to the c#stom Is, can be #sed to imp$ement an entire