lecture xilinx iseand fpgas
TRANSCRIPT
-
8/2/2019 Lecture Xilinx Iseand FPGAs
1/57
XilinxISE
Xilinxtutorial
Examples
UCF
Synthesis,Mapping
Translation
ProgrammingFile
Downloading
SynthesisOptions
RTLSchematic
-
8/2/2019 Lecture Xilinx Iseand FPGAs
2/57
OriginofFPGAs
-
8/2/2019 Lecture Xilinx Iseand FPGAs
3/57
Typesof
Programmable
Logic
Devices
-
8/2/2019 Lecture Xilinx Iseand FPGAs
4/57
-
8/2/2019 Lecture Xilinx Iseand FPGAs
5/57
-
8/2/2019 Lecture Xilinx Iseand FPGAs
6/57
-
8/2/2019 Lecture Xilinx Iseand FPGAs
7/57
TypesofASICs
-
8/2/2019 Lecture Xilinx Iseand FPGAs
8/57
TypesofChanneledGateArrays
-
8/2/2019 Lecture Xilinx Iseand FPGAs
9/57
ExamplesofStructuredASICTiles
-
8/2/2019 Lecture Xilinx Iseand FPGAs
10/57
GenericStructuredASICs
-
8/2/2019 Lecture Xilinx Iseand FPGAs
11/57
-
8/2/2019 Lecture Xilinx Iseand FPGAs
12/57
ASICsEnd
-
8/2/2019 Lecture Xilinx Iseand FPGAs
13/57
-
8/2/2019 Lecture Xilinx Iseand FPGAs
14/57
KeyElements
Forming
Simple
ProgrammingLogicBlocks
-
8/2/2019 Lecture Xilinx Iseand FPGAs
15/57
ConfiguringaLUT
-
8/2/2019 Lecture Xilinx Iseand FPGAs
16/57
TopDown
View
of
FPGA
Architecture
-
8/2/2019 Lecture Xilinx Iseand FPGAs
17/57
FPGAASICHybrid
-
8/2/2019 Lecture Xilinx Iseand FPGAs
18/57
FPGAandFPAAVendors
-
8/2/2019 Lecture Xilinx Iseand FPGAs
19/57
FulltimeEDAVendors
-
8/2/2019 Lecture Xilinx Iseand FPGAs
20/57
GeneralTypesofFPGAs
Anti
fuse
based
FPGAs SRAMbasedFPGAs
-
8/2/2019 Lecture Xilinx Iseand FPGAs
21/57
AntifuseBasedFPGAs
In
the
case
of
antifuse
based
FPGAs,
the
antifuse
cells
canbevisualizedasscatteredacrossthefaceofthedeviceatstrategiclocations.
Thedeviceisplacedinaspecialdeviceprogrammer,the
configuration
(bit)
file
is
uploaded
into
the
device
programmerfromthehostcomputer,andthedeviceprogrammerusesthisfiletoguideitinapplying
pulsesof
relatively
high
voltage
and
current
to
selectedpinstogroweachantifuseinturn.
-
8/2/2019 Lecture Xilinx Iseand FPGAs
22/57
Once
all
of
the
fuses
have
been
grown,
the
FPGA
is removedfromthedeviceprogrammerandattachedto
acircuitboard.
Antifuse
based
devices
are,
of
course,
one
time
programmable(OTP)
-
8/2/2019 Lecture Xilinx Iseand FPGAs
23/57
SRAMbasedFPGAs
Remember
that
these
devices
are
volatile,
which
meansthattheyhavetobeprogrammedinsystem(onthecircuitboard),andtheyalwaysneedtobereprogrammedwhenpowerisfirstappliedtothe
system. Fromtheoutsideworld,wecanvisualizeallofthe
SRAMconfigurationcellsascomprisingasingle
(long)shift
register.
-
8/2/2019 Lecture Xilinx Iseand FPGAs
24/57
VisualizingSRAM
Based
FPGAs
as
alongchainofshiftregisters
-
8/2/2019 Lecture Xilinx Iseand FPGAs
25/57
-
8/2/2019 Lecture Xilinx Iseand FPGAs
26/57
FPGAConfigurationModes
-
8/2/2019 Lecture Xilinx Iseand FPGAs
27/57
SerialLoadWithFPGAasMaster
-
8/2/2019 Lecture Xilinx Iseand FPGAs
28/57
DaisyChainingFPGAs
-
8/2/2019 Lecture Xilinx Iseand FPGAs
29/57
ParallelLoadwithFPGAasMaster
-
8/2/2019 Lecture Xilinx Iseand FPGAs
30/57
JTAGBoundaryScan
-
8/2/2019 Lecture Xilinx Iseand FPGAs
31/57
JTAGFPGAs Likemanyothermoderndevices,todaysFPGAsare
equippedwithaJTAGport.StandingfortheJointTestActionGroupandofficiallyknowntoengineersbyitsIEEE1149.1specificationdesignator
JTAGwas
originally
designed
to
implement
the
boundaryscantechniquefortestingcircuit
boardsandICs.
-
8/2/2019 Lecture Xilinx Iseand FPGAs
32/57
JTAGContinued FPGAhasanumberofpinsthatareusedasaJTAG
port.
OneofthesepinsisusedtoinputJTAGdata,andanotherisusedtooutputthatdata.
EachoftheFPGAsremainingI/OpinshasanassociatedJTAGregister(aflipflop),wheretheseregistersaredaisychained
together
-
8/2/2019 Lecture Xilinx Iseand FPGAs
33/57
JTAG
-
8/2/2019 Lecture Xilinx Iseand FPGAs
34/57
XilinxLogicCell
-
8/2/2019 Lecture Xilinx Iseand FPGAs
35/57
Slice
-
8/2/2019 Lecture Xilinx Iseand FPGAs
36/57
CLBsandLABs
-
8/2/2019 Lecture Xilinx Iseand FPGAs
37/57
EmbeddedRAMs
-
8/2/2019 Lecture Xilinx Iseand FPGAs
38/57
EmbeddedMACs
-
8/2/2019 Lecture Xilinx Iseand FPGAs
39/57
EmbeddedMAC
-
8/2/2019 Lecture Xilinx Iseand FPGAs
40/57
EmbeddedMACs
Similarly,
some
FPGAs
offer
dedicated
adder
blocks.
OneoperationthatisverycommoninDSPtypeapplicationsiscalledamultiplyandaccumulate
-
8/2/2019 Lecture Xilinx Iseand FPGAs
41/57
Logic
Partitioning
in
terms
of
Speed Picosecondandnanosecondlogic:
Thishas
to
run
insanely
fast,
which
mandates
that
it
be
implemented
inhardware(intheFPGAfabric). Microsecondlogic: Thisisreasonablyfastandcanbeimplementedeitherinhardwareor
software(thistypeoflogiciswhereyouspendthebulkofyour time
decidingwhich
way
to
go).
Millisecondlogic: Thisisthelogicusedtoimplementinterfacessuchasreadingswitch
positionsandflashinglightemittingdiodes(LEDs).Itsapainslowingthehardwaredowntoimplementthissortoffunction(usinghuge
countersto
generate
delays,
for
example).
Thus,itsoftenbettertoimplementthesetasksasmicroprocessor
code(becauseprocessorsgiveyoulousyspeedcomparedtodedicated
hardwarebutfantasticcomplexity).
-
8/2/2019 Lecture Xilinx Iseand FPGAs
42/57
Untilrecentlytheseslowspeedlogicappearedonseparate
devices
(discrete
chips
)on
PCBs
-
8/2/2019 Lecture Xilinx Iseand FPGAs
43/57
HardMicroprocessorCore
HardmicroprocessorcoresAhardmicroprocessorcoreisimplementedasadedicated,predefinedblock.
-
8/2/2019 Lecture Xilinx Iseand FPGAs
44/57
HardIParrangementasStripe
-
8/2/2019 Lecture Xilinx Iseand FPGAs
45/57
Chips
Embedded
in
the
main
FPGA
Fabric
-
8/2/2019 Lecture Xilinx Iseand FPGAs
46/57
SoftProcessorCores Asopposedtoembeddingamicroprocessorphysically
intothe
fabric
of
the
chip,
it
is
possible
to
configure
a
groupofprogrammable logicblockstoactasamicroprocessor.
Theseare
typically
called
soft
cores,
but
they
may
be
morepreciselycategorizedaseithersoft orfirmdependingonthewayinwhichthemicroprocessors
functionality
is
mapped
onto
the
logic
blocks
-
8/2/2019 Lecture Xilinx Iseand FPGAs
47/57
AdvantagesofSoftCores Softcoresaresimpler(moreprimitive)andslower
thantheir
hard
core
counterparts.
However,theyhavetheadvantage thatyouonlyneedtoimplementacoreifyouneeditandalsothatyou
caninstantiate
as
many
cores
as
you
require
until
you
runoutofresourcesintheformofprogrammablelogicblocks.
-
8/2/2019 Lecture Xilinx Iseand FPGAs
48/57
ClockTrees
-
8/2/2019 Lecture Xilinx Iseand FPGAs
49/57
NeedforClockTrees AllofthesynchronouselementsinsideanFPGAfor
example,the
registers
configured
to
act
as
flip
flops
insidetheprogrammablelogicblocksneedtobedrivenbyaclocksignal.
Suchaclock
signal
typically
originates
in
the
outside
world,comesintotheFPGAviaaspecialclockinputpin,andisthenroutedthroughthedeviceand
connected
to
the
appropriate
registers.
-
8/2/2019 Lecture Xilinx Iseand FPGAs
50/57
ClockTreesFunctionality Thisiscalledaclocktree becausethemainclocksignalbranchesagainand
again(theflipflopscanbeconsider,tobetheleaves ontheendofthebranches).
Thisstructureisusedtoensurethatalloftheflipflopsseetheirversionsoftheclock
signalasclosetogetheraspossible. Iftheclockweredistributedasasinglelongtrackdrivingall oftheflipflops
oneafter
another,thentheflipflopclosesttotheclockpinwouldseetheclocksignalmuchsoonerthantheoneattheendofthechain.Thisisreferredtoasskew,anditcancauseallsortsofproblems(evenwhenusingaclocktree,therewillbeacertainamountofskewbetweentheregistersonabranchandalsobetweenbranches).
Theclock
tree
is
implemented
using
special
tracks
and
is
separate
from
the
generalpurposeprogrammableinterconnect. Inreality,multipleclockpinsareavailable(unusedclockpins canbe
employedasgeneralpurposeI/Opins),andtherearemultipleclockdomains(clocktrees)insidethedevice.
-
8/2/2019 Lecture Xilinx Iseand FPGAs
51/57
ClockManagers Insteadofconfiguringaclockpintoconnectdirectly
intoan
internal
clock
tree,
that
pin
can
be
used
to
driveaspecialhardwiredfunction(block)calledaclockmanagerthatgeneratesanumberofdaughter
clocks
-
8/2/2019 Lecture Xilinx Iseand FPGAs
52/57
JittersinClock
-
8/2/2019 Lecture Xilinx Iseand FPGAs
53/57
ClockManagersasJitterRemovers
-
8/2/2019 Lecture Xilinx Iseand FPGAs
54/57
Clock
Managers
as
Frequency
Synthesizers
-
8/2/2019 Lecture Xilinx Iseand FPGAs
55/57
GPI/Os Theproblemisthatthereisawidevarietyofsuch
standards,and
it
would
be
painful
to
have
to
create
specialFPGAstoaccommodateeachvariation.
Forthisreason,anFPGAsgeneralpurposeI/Ocanbe
configuredto
accept
and
generate
signals
conforming
towhicheverstandardisrequired.
ThesegeneralpurposeI/Osignalswillbesplitintoa
numberof
bankswell
assume
eight
such
banks
numberedfrom0to7
-
8/2/2019 Lecture Xilinx Iseand FPGAs
56/57
-
8/2/2019 Lecture Xilinx Iseand FPGAs
57/57
SupplyVoltagesversusTechnology