View
230
Download
0
Category
Preview:
Citation preview
8/9/2019 Programmable Logic and Storage Devices(2)
1/63
Digital Systems Design 2
Programmable Logic and Storage DevicesChapter 8: “Advanced Digital Design with the Verilog DL!"#ichael D$ Ciletti$#emory" CPLDs and %P&AsChapter '(: “Digital Design Principles and Practices!" )ohn%$ *a+erly" Prentice all" 2(('" ,hird -dition
8/9/2019 Programmable Logic and Storage Devices(2)
2/63
Programmable Logic and StorageDevices
*ith advancement o. hardware technology: Density Comple/ity Si0e
1. .ieldprogrammable gate arrays 3%P&As4" it provides an
attractive and coste..icient alternative to semic5stomapplication speci.ic integrated circ5its 3AS6Cs4$
,he opport5nity to reali0e large circ5its in %P&As hascreated press5re .or a change in the method by whichcirc5its are designed .or %P&Abased applications: Schematic entry tools can be prod5ctive and e..icient when
designs are small$ ,rend is toward larger and larger designs targeted .or %P&As$
,h5s" lang5agebased design methodology has becomeessential to %P&Abased design .lows$
8/9/2019 Programmable Logic and Storage Devices(2)
3/63
Programmable Logic and StorageDevices
,echnologies available .or implementing digital circ5its range .rom: Standard 6ntegrated Circ5its 36Cs4 5sed in lowdensity7lowper.ormance
applications" ,o Cellbased and .5llc5stom 6Cs .or highdensity7highper.ormance circ5its$
Standard 6Cs: Can be man5.act5red cheaply"
6mplement very limited" basic .5nctionality at low levels o. integration$ C5stomi0ed 6Cs 6mplement speciali0ed .5nctionality with a high level o. integration ave a small mar+et Creates inventory ris+ beca5se the 5antities that co5ld be sold do not warrant the
e/pense o. their development and prod5ction$ Programmable Logic Devices:
9etween two e/tremes o. density and per.ormance that characteri0e standardparts and .5llc5stom circ5its$
9orn o5t o. necessity created by two con.licting realities: Large" dense" highper.ormance circ5its cannot be b5ild practically or economically
.rom discrete devices Dedicated 6CS cannot be prod5ces economically to satis.y a diversity o. lowvol5me
applciations$
8/9/2019 Programmable Logic and Storage Devices(2)
4/63
8/9/2019 Programmable Logic and Storage Devices(2)
5/63
Programmable Logic Devices
%or most 5ptodate PLDs see:www$einsite$net7ednmag
PLDs have a .i/ed architect5re
%5nctionality is programmed .or a speci.ic application Programming is done by:
#an5.act5rer mas+programmable logic devices3#PLD4
-nd
8/9/2019 Programmable Logic and Storage Devices(2)
6/63
Programmable Logic Devices ,he .irst type o. PLDs considered has the A?D1 plane str5ct5re shown in
the .ig5re$ ,his type o. architect5re is 5sed to implement 1#s" PLAs" and PALs$ 6t implements 9oolean e/pressions in S5m o. Prod5cts 3S1P4 .orm:
A?D plane .orms prod5ct terms selectively .rom the inp5ts" and 1 plane .orms o5tp5ts .rom s5ms o. selected prod5ct terms$
A programmable interconnect .abric @oins the two planes" so that the o5tp5tsimplement s5mo.prod5ct e/pressions o. the inp5ts$
*hether and how a plane can be programmed determines the partic5lartype o. PLD that is implemented by the overall str5ct5re$
A?D Plane 1 Plane6np5ts 15tp5ts
Prod5ct ,erms
A?D1 plane str5ct5re o. a programmable logic device
8/9/2019 Programmable Logic and Storage Devices(2)
7/63
Storage Devices
,he architect5re 5sed to implement PLDs lends itsel.to implementation o. storage devices$
Storage Devices can be: ead1nly" or
andom Accessdepending on whether the contents o. a memory cellcan be written d5ring normal operation o. the device$
1# 3readonly memory4 is a device programmed tohold certain contents" which remain 5nchanged d5ringoperation and a.ter power is removed .rom the
device$ A# 3randomaccess memory4 in contrast its contents
can be changed d5ring operation" and they vanishwhen the power is removed$
8/9/2019 Programmable Logic and Storage Devices(2)
8/63
ead1nly #emory 31#4
ead1nly #emory31#4 A 2n / b 1# consists o.
an addressable array o.semicond5ctor memory
cells organi0ed as 2n
words o. b bits each$ 1# 6nter.ace:
n = inp5ts de.iningaddress lines$
b = o5tp5ts called bitlines$
1# is non-volatilememory $ 6t;s content ispreserved even i. nopower is applied$
8/9/2019 Programmable Logic and Storage Devices(2)
9/63
ead1nly #emory 31#4
A?D1 planes .or a 1#:
Address
Decoder3?onprogrammable4
A?D Plane
1 Plane#emory Array
2n / b
b = 15tp5ts3bit lines4
2n #interms 3*ord lines4.ormed .rom inp5ts
A3(4A3'4
A3i4
A3n'4
D3b'4 D3i4 D3(4
8/9/2019 Programmable Logic and Storage Devices(2)
10/63
inp5t" o5tp5t combinational logic.5nction$
Inputs Outputs
A2 A' A( D> D2 D' D(
( ( ( ' ' ' (
( ( ' ' ' ( '
( ' ( ' ( ' '
( ' ' ( ' ' '
' ( ( ( ( ( '
' ( ' ( ( ' (
' ' ( ( ' ( (
' ' ' ' ( ( (
8/9/2019 Programmable Logic and Storage Devices(2)
11/63
8/9/2019 Programmable Logic and Storage Devices(2)
12/63
B4 to obtain one passm5ltiplier thro5gh a conventional PLD;s A?D1 array$
*ith 1# one can reali0e the .5nction with one passthro5gh a 28 / 8 32B84 1#$
Contents o. a 1# are normally speci.ied by a .ilethat contains one entry .or every address in the 1#$
,he nice thin+ abo5t 1#based design is that one
can 5s5ally write a simple program in a highlevellang5age to calc5late what sho5ld be stored in the1#$
8/9/2019 Programmable Logic and Storage Devices(2)
13/63
8/9/2019 Programmable Logic and Storage Devices(2)
14/63
8/9/2019 Programmable Logic and Storage Devices(2)
15/63
,wodimensional decoding
As can be seen" twodimensional decoding allows a '28/'1# to be b5ilt with a >to8 decoder and a 'Binp5tm5ltiple/er 3whose comple/ity is comparable to that o. a to'B decoder4$
A '#/' om co5ld be b5ilt with a '(to'(2 decoder and
'(2inp5t m5ltiple/er$ A lot simpler than the onedimensional alternative$ Additional bene.it to red5ction o. decoding comple/ity is
that twodimensional decoding has one other bene.it = itleads to a chip whose physical dimensions are close tos5are important .or chip .abrication and pac+aging$
6n 1#s with m5ltiple data o5tp5ts the storage arrayscorresponding to each data o5tp5t may be made narrowerin order to achieve an overall chip layo5t that is closer tos5are$ %or e/ample" the ne/t .ig5re shows the possiblelayo5t o. a >2F / 8 1#$
8/9/2019 Programmable Logic and Storage Devices(2)
16/63
Possible layo5t o. a >2F / 8 1#
8/9/2019 Programmable Logic and Storage Devices(2)
17/63
Commercial 1# ,ypes
A modern 1# is .abricated as a single 6C chipG one thatstores # bits with a price 5nder H$
Vario5s methods are 5sed to “program! the in.ormationstored in a 1#:
#as+ Programmable 1#s$ #an5.act5rer has to be provided with the 1# content in order
to create one or more c5stomi0ed mas+s to man5.act5re 1#swith the re5ired pattern$
1# man5.act5rers impose a mas+ charge o. several tho5sanddollars .or the c5stomi0ed aspects o. mas+1# prod5ction$9eca5se o. mas+ charges and the .o5rwee+ delay typically
re5ired to obtain programmed chips" mas+ 1#s are normally5sed today only in very highvol5me applications$
%or a lowvol5me applications there are more coste..ectivechoices" disc5ssed ne/t$
8/9/2019 Programmable Logic and Storage Devices(2)
18/63
Commercial 1# ,ypes
Programmable readonly memory 3P1#4 Similar to a mas+ 1#" e/cept that the c5stomer may store
data val5es 3program the P1#4 in @5st a .ew min5tes$ P1# is man5.act5red with all o. its diodes or transistors
“connected!$ ,his corresponds to having all desired bits at apartic5lar val5e 3typically “'!4$ ,he P1# programmer can be
5sed to set desired bits to the opposite val5e$ 6n bipolar P1#s this is done by vapori0ing tiny .5sible lin+s
inside the P1# corresponding to each bit$ A lin+ is vapori0ed by selecting it 5sing the P1#;s address
and data lines" and then applying a highvoltage p5lse 3'(>(V4 to the device thro5gh a special inp5t pin$
-arly reliability problems with vapori0ed lin+s technology were
solved and reliable .5siblelin+ technology is 5sed now days notonly in bipolar P1#s b5t also in the bipolar PLD circ5its$
8/9/2019 Programmable Logic and Storage Devices(2)
19/63
Commercial 1# ,ypes
-rasable programmable readonly memory 3-P1#4: -P1# is programmable @5st li+e P1#$ 6n addition it also can be “erased! to all 'sstate by e/posing it
to 5ltraviolet light$ -P1# 5ses a di..erent technology called “.loatinggate #1S!$ -P1# man5.act5rers g5arantee that a properly programmed
bit will retain E(I o. its charge .or at least '( years even i. thepart is stored at '2o C$
6ns5lating material s5rro5nding the .loating gate becomesslightly cond5ctive i. it is e/posed to 5ltraviolet light with acertain wavelength which provides .or the -P1# content to beerased$
#ost common application o. -P1#s is to store programs in
microprocessor systems$ -P1#s are typically 5sed d5ring development$ 1#s and
P1#s are 5sed once the program is .inali0ed beca5se 5s5allythey cost less than -P1#s o. similar capacity$
8/9/2019 Programmable Logic and Storage Devices(2)
20/63
Commercial 1# ,ypes
-lectrically -rasable Programmable ead1nly #emory3--P1#4$ 6t is li+e and -P1# e/cept that individ5al stored bits
may be erased electrically$
%loating gates in an --P1# are s5rro5nded by am5ch thinner ins5lating layer and can be erased byapplying a voltage o. the opposite polarity as thecharging voltage to the non.loating gate$
Large --P1#s 3'# bit and larger4 allow erasing onlyin .i/edsi0e bloc+s" typically '28'2 Fbits 3'BB
Fbytes4 at a time$ ,hese memories are typicallycalled .lash -P1#s or .lash memories$
--P1# can be reprogrammed only a limited n5mbero. times 36ns5lating layer wares o..4$
8/9/2019 Programmable Logic and Storage Devices(2)
21/63
Logic Symbols .or standard -P1#s in28pin d5al inline pac+ages$
8/9/2019 Programmable Logic and Storage Devices(2)
22/63
1# Applications
6n addition to the most common application o. 1#s.or program storage in microprocessor systems" thereare many other applications that can provide a lowcost reali0ation o. a comple/ or “random!
combinational logic .5nction$ -/ample o. Voice Signals:
*hen an analog voice signal enters a typicaltelephone systems" it is sampled 8"((( times persecond and converted into a se5ence o. 8bit bytesrepresenting the analog signal at each samplingpoint$
,his e/ample will show how 1#based circ5its caneasily deal with this highly encoded in.ormation$
8/9/2019 Programmable Logic and Storage Devices(2)
23/63
Coding Voice Samples
,he simplest 8bit encoding o. the sign andamplit5de o. an analog signal wo5ld be an8bit integer in the two;s complement orsignedmagnit5de system$
8bit linear encoding yields a dynamic rangeo. only 28 J 2B di..erent val5es$
,his corresponds to a dynamic range insignal power o. 2(Klog32B48d9$
9y comparison" compact a5dio dis+s 5se a'Bbit linear encoding with a theoreticaldynamic range o. 2(Klog32'B4MBd9
8/9/2019 Programmable Logic and Storage Devices(2)
24/63
Coding o. Voice Samples ?orth American telephone networ+ 5ses an 8bit compo5nded encoding
called N=law PC# 3p5lse code mod5lation4$ ,he ne/t .ig5re shows the .ormat o. an 8bit coded byte: a sort o. .loating
point representation containing sign 3S4" e/ponent 3-4 and mantissa 3#4.ields$
,he analog val5e V represented by a byte in this .ormat is given by the.orm5la: V J 3'2s4KO32-4K32#>>4>>Q
An analog signal represented in this .ormat can range .rom8'MK+ to 8'MK+" where + is arbitrary scale .actor$
,he range o. the signals is 2K8'M and the smallest di..erence that can berepresented is only 2 3when -J(4" so the dynamic range is 2(Klog38'M4E8d9$
sign e/ponent mantissa
E B > 2 ' (
S - #
8/9/2019 Programmable Logic and Storage Devices(2)
25/63
Coding o. Voice Samples
6n many types o. phone connections voice signal is p5rposelyatten5ated by a .ew decibels to ma+e things wor+ better$
&iven a N=law PC# byte" a digital atten5ator m5st prod5ce adi..erent PC# byte that represents the original analog signalm5ltiplied by a speci.ied atten5ation .actor$
1ne way to b5ild a digital atten5ator is shown in the ne/t.ig5re$ -ach bloc+ in the .ig5re can be b5ild with perhaps a do0en
#S6 chips or a CPLD or %P&A
Nlaw tolinear
decoder
8
'/'
m5ltiplier
'
'
linear toNlaw
encoder
8'
8/9/2019 Programmable Logic and Storage Devices(2)
26/63
Coding o. Voice Samples
Alternative reali0ation o. digitalatten5ator can be done 5sing a singleine/pensive 8+/8 1# instead$
,his 1# can apply any o. >2di..erent atten5ation .actors to a N=law inp5t byte$
igh orderaddress bits select a table"and the low order address bits selectan entry$
8/9/2019 Programmable Logic and Storage Devices(2)
27/63
Digital Con.erence Circ5it
6n the analog telephone networ+" it is easy to ma+e a con.erenceconnection between three or more parties: )5st connect the analog phone wires together and yo5 get an analog
s5mming @5nction$ 6n the digital networ+" digital con.erence circ5it m5st incl5de a
digital adder that prod5ces o5tp5t samples corresponding to the
s5ms o. the inp5t samples$ *e have seen how to create binary adders .or 8bit operands$
owever" binary adders cannot process N=law PC# bytes directly$ ,he 8bit N=law PC# bytes m5st be converted to 'bit linear .ormat" ,he signals then can be added" es5lting signal m5st then be converted to 8bit N=law PC# as in
previo5s e/ample$
Again" one co5ld create a comple/ adder or alternatively the same.5nction be per.ormed by a single BF / 8 1#$ ,he 1# has 'B address inp5ts accommodating two 8bit N=law PC#
operands$ %or each pair o. operand val5es" the corresponding 1# address
contains the precomp5ted 8bit N=law PC# s5m$
8/9/2019 Programmable Logic and Storage Devices(2)
28/63
1#based Designs 3Advantages4
Previo5s two e/amples ill5strate many advantages o. b5ilding comple/combinational .5nctions with 1#s$
#ost comple/ .5nctions: Are generally di..ic5lt to design with a c5stom digital logic 1# reali0ation o. those .5nctions is alternatively straight .orward$
%or a moderately comple/ .5nction" a 1#based circ5it is 5s5ally .asterthan a circ5it 5sing m5ltiple SS67#S6 devices and PLDs" and o.ten .asterthan an %P&A or c5stom LS6 chip in a comparable technology$
,he program that generates the 1# contents can easily be str5ct5red tohandle 5n5s5al or 5nde.ined cases that wo5ld re5ire additional hardware inany other designs$ %or e/ample adder .5nction o. the previo5s e/ample caneasily handle o5to.range s5ms$
A 1#;s .5nction is easily modi.ied @5st by changing the stored pattern"5s5ally witho5t changing any e/ternal connections$ %or e/ample" the PC#atten5ator and adder 1#;s in the previo5s e/ample can be changed to 5se8bit A=law PC#" the standard digital voice coding in -5rope$
,he prices o. 1#s and other str5ct5red logic devices are always dropping"ma+ing them more economical and their densities are always increasing"e/panding the scope o. problems that can be solved with a single chip$
8/9/2019 Programmable Logic and Storage Devices(2)
29/63
1#based Designs3Disadvantages4
%or a simple to moderately comple/.5nctions" a 1#based circ5it may cost more" cons5me more power" or r5n slower
then a circ5it 5sing a .ew SS67#S6 devices andPLDs or small %P&A$
%or .5nctions more than 2( inp5ts" a 1#based circ5it is impractical beca5se o. the
limit on 1# si0es that are available$ %ore/ample" one wo5ldn;t b5ild a 'Bbit adderin 1# = it wo5ld re5ire billions and billionso. bits$
8/9/2019 Programmable Logic and Storage Devices(2)
30/63
Comple/ Programmable LogicDevices
Since their inception years ago" programmable logicdevices have been very .le/ible wor+horses o. digitaldesign$
As 6C technology advanced" there was nat5rally greatinterest in creating larger PLD architect5res to ta+eadvantage o. increased chip density$ ,he 5estion iswhy didn;t man5.act5rers @5st scale the e/istingarchitect5resR
%or e/ample" i. DA# densities increased by a .actoro. B over the last '( years" why co5ldntman5.act5res scale the 'BV8 3'B inp5t signals and itscomplements" and a n5mber o. 'Bvariable prod5ctterms4 to create a “'28VB!R S5ch device wo5ld haveB 671 pins" and some n5mber 3say 84 o. '28variableprod5ct terms .or each o. its '28 logic macrocells$
8/9/2019 Programmable Logic and Storage Devices(2)
31/63
Comple/ Programmable LogicDevices
,his new chip “'28VB! co5ldcombine the .5nctions o. a largercollection o. 'BV8 and o..er terri.ic
per.ormance and .le/ibility 5sing anyinp5t in any o5tp5t .5nctionR
,his new chip wo5ld be very .le/ibleb5t it wo5ld not have a goodper.ormance$
8/9/2019 Programmable Logic and Storage Devices(2)
32/63
ow to e/pand PLD architect5reR
6ncrease T o. inp5ts and o5tp5ts in a conventionalPLDR -$g$" 'BV8 U 2(V8 U 22V'($ *hy not U >2V'B U '28VB R
Problems: n times the n5mber o. inp5ts and o5tp5ts re5ires n2
as m5ch chip area too costly logic gets slower as n5mber o. inp5ts to A?D array
increases
Sol5tion: m5ltiple PLDs with a relatively smallprogrammable interconnect$ Less general than a single large PLD" b5t can 5se
so.tware “.itter! to partition into smaller PLD bloc+s$
8/9/2019 Programmable Logic and Storage Devices(2)
33/63
CPLDs vs$ %P&As
CPLDarchitect5re:
Small n5mber o.largishPLDs 3e$g$" “>BV'8!4on a single chip
Programmableinterconnect betweenPLDs
8/9/2019 Programmable Logic and Storage Devices(2)
34/63
CPLDs vs$ %P&As
%P&Aarchitect5re
#5ch larger n5mber o.smaller programmablelogic bloc+s$
-mbedded in a sea o.lots and lotso. programmableinterconnect$
8/9/2019 Programmable Logic and Storage Devices(2)
35/63
CPLD .amilies
6dentical individ5al PLD bloc+s 3ilin/ “%9s!4replicated in di..erent .amily members$ Di..erent n5mber o. PLD bloc+s Di..erent n5mber o. 671 pins
#any CPLDs have .ewer 671 pins than macrocells “95ried! #acrocells provide needed logic terms
internally b5t these o5tp5ts are not connectede/ternally$
6C pac+age si0e dictates T o. 671 pins b5t not the
total T o. macrocells$ ,ypical CPLD .amilies have devices with di..ering
reso5rces in the same 6C pac+age$
8/9/2019 Programmable Logic and Storage Devices(2)
36/63
8/9/2019 Programmable Logic and Storage Devices(2)
37/63
ilin/ CPLDs
?otice overlap in reso5rce availability in a partic5lar pac+age$
8/9/2019 Programmable Logic and Storage Devices(2)
38/63
ilin/ CPLDs
Another .eat5re o. this .amily is that a given chip" s5ch asCCM'(8 is available in several di..erent pac+ages$ ,his isimportant not only to accommodate di..erent man5.act5ringpractices b5t also to provide some choice and potential savings inthe n5mber o. e/ternal 671 pins provided$ 6n most applications" itis not necessary .or all internal signal o. a state machine or
s5bsystem to be visible to and 5sed by the rest o. the system$ ,h5s" even tho5gh the CM'(8 has '(8 macrocells" the o5tp5tso. at most BM o. them can be connected e/ternally in the 8pinPLCC version o. the device$ 6n .act many o. the BM 671 pins wo5ld typically be 5sed .or inp5ts" in
which case even .ewer o5tp5ts wo5ld be visible e/ternally$ ?ote that the remaining macrocell o5tp5ts are still 5ite 5sable
internally" since they can be hoo+ed 5p internally thro5gh the CPLD;s
programmable interconnect$ #acrocells whose o5tp5ts are 5sable only internally are sometimes
called buried macrocells$
8/9/2019 Programmable Logic and Storage Devices(2)
39/63
8/9/2019 Programmable Logic and Storage Devices(2)
40/63
ilin/ M((.amily CPLDarchitect5re
671 pins can be 5sed as inp5t" o5tp5t or bidirectionalpins according to the device;s programming$
Special p5rpose pins: &SF = global cloc+
&S = global set7reset &,S = global threestate controlsG
one o. these signals can be selected in eachmacrocell to o5tp5t enable the corresponding o5tp5tdriver when the macrocell;s o5tp5t is hoo+ed 5p to ane/ternal 671 pin$
1nly %9;s are shown in the previo5s schematicdiagram" however" CM(( architect5re scales toaccommodate 'B %bs in th CM288$
8/9/2019 Programmable Logic and Storage Devices(2)
41/63
ilin/ M((.amily CPLDarchitect5re
egardless o. the speci.ic .amily member" each %9programmably receives >B signals .rom the switchmatri/$
,he inp5ts to the switch matri/ are the '8 macrocell
o5tp5ts .rom each o. the %9s and the e/ternal inp5ts.rom the 671 pins$ -ach %9 also has '8 o5tp5ts that r5n “5nder! the
switch matri/ as shown in the previo5s .ig5reconnecting to the 671 bloc+s$
,hese are merely the o5tp5tenable signals .or the671 bloc+ o5tp5t driversG ,hey are 5sed when the %9 macrocell;s o5tp5t is
hoo+ed 5p to an e/ternal 671 pin$
8/9/2019 Programmable Logic and Storage Devices(2)
42/63
M((.amily .5nction bloc+s 3%9s4architect5re
'8 macrocells per %9
>B inp5ts per %9 3partitioning challenge" b5t alsoreason .or relatively compact si0e o. %9s4
#acrocell o5tp5ts can go to 671 cells or bac+ intoswitch matri/ to be ro5ted to this or other %9s$
8/9/2019 Programmable Logic and Storage Devices(2)
43/63
M((.amily .5nction bloc+s 3%9s4architect5re
,he basic CM(( %9 programmableA?D array has @5st M( prod5ct terms$
owever" it also has product-term
allocation$ ,his mechanism allows a macrocell;s
5n5sed prod5ct terms to be 5sed byother nearby macrocells in the same %9$
?e/t slide depicts a logic diagram o. theCM(( prod5ctterm allocator andmacrocell$
8/9/2019 Programmable Logic and Storage Devices(2)
44/63
M((series macrocell 3'8 per %94
Up to 5 productterms
Programmableinversion or XORproduct term
Global clock or product-term clock
Set control
Reset control
OE control
8/9/2019 Programmable Logic and Storage Devices(2)
45/63
M((series prod5ctterm allocator
programmablesteeringelements
Share terms fromabove and below
8/9/2019 Programmable Logic and Storage Devices(2)
46/63
8/9/2019 Programmable Logic and Storage Devices(2)
47/63
Switch matri/ .or CM'(8 Co5ld be anything .rom a
limited set o. m5ltiple/ers to a.5ll crossbar$
#5ltiple/er small" .ast" b5tdi..ic5lt .itting
Crossbar easy .itting b5tlarge and slow
%inding a complete set o.connections thro5gh a sparseswitch matri/ is ?Pcompleteproblem$
%or each di..erent CPLDbaseddesign" a set o. switchmatri/connections m5st be .o5nd be
“.itter! so.tware$ ,ypically this so.tware
together with overall CPLDdesign are part o.man5.act5rers “secret sa5ce!
8/9/2019 Programmable Logic and Storage Devices(2)
48/63
%P&As
istorically" %P&A architect5res and companies began aro5nd thesame time as CPLDs$ ilin/ la5nched the world;s .irst commercial %P&A in 'M8" with the
vintage C2((( device .amily$ C>((( and C((( .amilies soon .ollowed" setting the stage .or
today;s Spartan and Virte/ device .amilies$
-ach evol5tion o. devices bro5ght improvements in density"per.ormance" voltage levels" pin co5nts" and .5nctionality$ ,h5s C(((" Spartan and Spartan7L devices have the same basic
architect5re$ %P&As are closer to “programmable AS6Cs! large emphasis on
interconnection ro5ting ,iming is di..ic5lt to predict m5ltiple hops vs$ the .i/ed delay o. a
CPLD;s switch matri/$ 95t more “scalable! to large si0es$
%P&A programmable logic bloc+s have only a .ew inp5ts and ' or 2.lip.lops" b5t there are a lot more o. them compared to then5mber o. macrocells in a CPLD$
8/9/2019 Programmable Logic and Storage Devices(2)
49/63
&eneral %P&A chip architect5re
a$+$a$ CL9 “con.ig5rable logicbloc+!
8/9/2019 Programmable Logic and Storage Devices(2)
50/63
ilin/ (((series %P&As
8/9/2019 Programmable Logic and Storage Devices(2)
51/63
%P&A specsmanship
,wo .lip.lops per CL9" pl5s two per671 cell$
2 “gates! per CL9 i. 5sed .or logic$
>2 bits o. A# per CL9 i. not 5sed .orlogic$
All o. this is valid only i. yo5r designhas a “per.ect .it!$
8/9/2019 Programmable Logic and Storage Devices(2)
52/63
Con.ig5rable Logic 9loc+ 3CL94
8/9/2019 Programmable Logic and Storage Devices(2)
53/63
CL9 .5nction generators 3%" &" 4
2' single port A#$ A# is loaded .rom an e/ternal P1# at system
initiali0ation$ 9road capability 5sing %" &" and :
Any 2 .5ncs o. vars" pl5s a .5nc o. > vars
Any .5nc o. vars Any .5nc o. vars" pl5s some .5ncs o. B vars Some .5ncs o. M vars" incl5ding parity and bit
cascadable e5ality chec+ing
8/9/2019 Programmable Logic and Storage Devices(2)
54/63
Dedicated %ast Carry and 9orrowLogic
,he % and & .5nction generators o. the C((( .amily have: separate dedicated logic .or .ast carry and borrow generation" with dedicated ro5ting to lin+ the e/tra signal to the .5nction
generator in the ad@acent CL9$ 1ne .5nction generator 3%4 can be 5sed to add a(b(" and
Second .5nction generator 3&4 can generate a'b'$ ,he .ast carry will .orward the carry to the ne/t CL9 above
or below$
%ast carry and borrow logic increases the e..iciencyper.ormance o. adders" s5btractors" acc5m5lators"
comparators" and co5nters$
8/9/2019 Programmable Logic and Storage Devices(2)
55/63
CL9 inp5t and o5tp5t connections b5ried in the sea o. interconnect
8/9/2019 Programmable Logic and Storage Devices(2)
56/63
8/9/2019 Programmable Logic and Storage Devices(2)
57/63
C((( 6nterconnect eso5rces
6n the C((( there is a rich set o. connections between singlelength lines and the CL9 inp5ts and o5tp5ts$ Capabilities .or nearestneighbor and acrossthechip connection
between CL9s$ ,wo “single! gro5ps are optimi0ed .or .le/ible connectivity between
ad@acent bloc+s witho5t the small n5mber o. 5nidirectional limitation o.wires in the “Direct Connect! gro5ps$
*ith “single! wires it is possible to connect a CL9 to another that;smore than one hop away" b5t they wo5ld have to go thro5gh aprogrammable switch .or each hop which adds delay$
*ires in the “Do5ble! gro5ps travel past two CL9s be.ore hitting aswitch" so they provide shorter delays .or longer connections$
,he “Long! gro5ps o. wires do not go thro5gh any programmableswitches at all: instead" they travel all the way across or down a row orcol5mn and are driven by threestate drivers near the CL9$
8/9/2019 Programmable Logic and Storage Devices(2)
58/63
Detail connections controlled byA# bits
8/9/2019 Programmable Logic and Storage Devices(2)
59/63
Programmable Switch #atri/ 3PS#4
-ach diamond in the shaded area indicating PS#: 6s a programmable switch element 3SP-4 that can
connect any line to any other as shown in the ne/tslide 5nder 3b4$
*hile the PS# is essential" 5sing it has a price =signals inc5r a small delay each time they hopthro5gh a PS-$
igh5ality %P&A .itter so.tware searches .or not @5st any CL9 placement and wire connections thatwor+$
,he “placement and ro5ting! tool spends a lot o. timetrying to optimi0e device per.ormance by .inding aplacement that allows short connections" and thenro5ting the connections themselves$
8/9/2019 Programmable Logic and Storage Devices(2)
60/63
8/9/2019 Programmable Logic and Storage Devices(2)
61/63
,he .itter;s @ob
Partition logic .5nctions into CL9s Arrange the CL9s 6nterconnect the CL9s
#inimi0e the n5mber o. CL9s 5sed #inimi0e the si0e and delay o. interconnect
5sed *or+ with constraints
“Loc+ed! 671 pins Criticalpath delays Set5p and hold times o. storage elements
8/9/2019 Programmable Logic and Storage Devices(2)
62/63
671 bloc+s
8/9/2019 Programmable Logic and Storage Devices(2)
63/63
Problems common to CPLDs and%P&As
Pin loc+ing Small changes" and certainly large ones" can
ca5se the .itter to pic+ a di..erent allocation o.671 bloc+s and pino5t$
Loc+ing too early may ma+e the res5lting circ5itslower or not .it at all$ 5nning o5t o. reso5rces
Design may “blow 5p! i. it doesn;t all .it on asingle device$
1nchip interconnect reso5rces are m5ch richerthan o..chipG e$g$" barrelshi.ter e/ample$ Larger devices are e/ponentially more
e/pensive$
Recommended