Upload
robert-theivadas
View
227
Download
0
Embed Size (px)
Citation preview
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
1/71
Par t III
LogicEmulation
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
2/71
What is a LogicEmulation System?
1.A programmable hardwarebuilt withprogrammable logic (FPGA) andprogrammable interconnect devices (PID).
2.A software which automatically programs thehardware according to the circuit under design
3.Control HW/SW to support operation of theemulated designas a hardware componentoperating in real time.
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
3/71
Target System
Typical Logic EmulationEnvironment
Workstation
Logic Emulator
Logic Module
Probe Module
In-circuitInterface
Compiler, runtimesoftware
Stimulus generator, logic analyzer
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
4/71
Why we need Logic
Emulation?Design verificationissues.
Real-timeoperation.
System-level testing.
Rapid prototyping.
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
5/71
Design Verification
IssuesSimulation-based verification methods have
run out of steamwhen chip complexity
grows.
Emulation is a verification technologythat
grows along with design size.
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
6/71
Real-Time Operation
Simulationrequires test vector developmentwhich is costly and difficult.
Verification depends on test vector correctness.
Certain applications must be verified in real time -human perception: audioand video.
Emulation connected to actual hardwarecan run:real diagnostic code,
operating systems, and
applications.
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
7/71
System-Level Testing
Often the chip meets its specificationsbut it failsin the system.
We have to verify the system-level interactionsbetween the chip and other components. Theyare hard to formalize.
Internal probing is impossiblewhen the chip isfabbed and placed in a system
But it is possibleusing emulation.
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
8/71
Rapid Prototyping
Once emulated designis debuggedit isavailable for immediate use by software
developersfor software debugging.
Emulated design is available for demoand
experiments with architectureon realapplications and data.
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
9/71
Programmable Hardware includes
programmable interconnect
Programmableinterconnect
Memoryelement
VLSIcore
InterfaceLogic
element
Logicelement
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
10/71
Considerations for
programmable interconnect
The capacity of logic and interconnection depends onpackage constraints.
This forces a hierarchicalsystem.Chips => boards => boxes => system
The interconnect structuremust:1. Provide successful connectivity,
2. Maximize FPGA utilization, and3. Minimize delay and skew.
Rents ruleapplies to predict the interconnect needs.
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
11/71
Structures of Multi-FPGA
Systems
Topologies:
- Mesh- nearest neighboring.
- Crossbar- full and partial.
Interconnect scheme:
- Circuit switched.
- Time multiplexed.
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
12/71
Nearest Neighbor
Interconnection
FPGA FPGA FPGA
FPGA FPGA FPGA
FPGA FPGA FPGA
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
13/71
Advantages and Disadvantages of
Nearest Neighbor Interconnection
Advantages:
Uniform: all chips the same.
Easy to lay out on PCB.
Disadvantages:
Routing is easily blocked.
The through pins limit the logic utilization of FPGAs.Long and unpredictable delays.
No natural hierarchical extension.
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
14/71
Nearest Neighbor Extensions
FPGA FPGA FPGA
FPGA FPGA FPGA
FPGA FPGA FPGA
Add more
neighbors
Connect to
non-neighbors
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
15/71
Advantages and Disadvantages of
nearest-neighbor extended architectures
Advantages:
More choices for router by adding diagonal
lines & skip lines.
Disadvantages:
More complex PCB.
More complex routing software.
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
16/71
Partial Crossbar Interconnect
A B C D A B C D A B C D A B C D
A pins B pins C pins D pins
Logic blocks
Crossbars
Second-level crossbars
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
17/71
Partial Crossbar Interconnect
Partial crossbar consists of a set of small fullcrossbars,
connected to logic blocks
but not to each other.
I/O pins of each FPGA are divided into subsets.Each subsetis connected by a full crossbar circuitswitch.
Partial crossbar is a potentially blockingnetwork.
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
18/71
Characteristics of Partial
Crossbar Architecture
Partial crossbars size is proportional to thenumber of FPGA pins.
All interconnections go through one/threecrossbar chips for a one-level/two-level
partial crossbar interconnectdelays are uniform and bounded.
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
19/71
Mixed Full and Partial
Crossbar
FPGA
LocalFPIC
Global
FPIC
Global
FPIC
LocalFPIC
LocalFPIC
FPGA FPGAFPGAFPGA FPGA
Externalconnections
Partialcrossbar
Fullcrossbar
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
20/71
Circuit Switched versus TimeMultiplexedInterconnect Schemes
Trade-offsbetween the operating speedand thehardware cost.
Time-multiplexing method:
can greatly expandavailable interconnect.allows lower costIC package and PCB.
makes partitioning easier.
BUTSystem power increasesdue to frequent signalswitching (higher hardware cost).
Complex scheduling software.
Slow operating speed.
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
21/71
Virtual Wires
FPGA FPGA
Physicalwires
Logicaloutputs
Logicalinputs
FPGA FPGA
Mux
DeMu
x
I change space to time
L i E l ti S t
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
22/71
Logic Emulation Systems and theirinterconnection schemes
System with mesh topology- Quickturns RPM andVirtual Machine Works (IKOS).
System with partial crossbar- Quickturns Enterprise,
Mars, and System Realizer.
System with mixed full and partial crossbar-AptixPrototyping System.
System using time-multiplexed interconnect- VirtualMachine Works (IKOS) , CoBALT and Arkos (Quickturn).
M S l ti i E l t d
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
23/71
Memory Solutions in Emulators and
future devices/systems
Goal:programmable memories withdifferent width/depth/port combinations.
FPGA-based memories:inefficient of using logic resources.
timing correctness is difficult to be insured.
large or highly multi-ported memories must be
partitioned across several FPGAs.
SRAMswith dedicated or programmable
controllers.
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
24/71
Logic Emulation Design Flow
Pre-configurationpreparation
Full-chip
configuration
In-circuit
emulation
HDL synthesis
Synthesis
Partitioning
System mapping
P & R
Design downloading
Emulators
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
25/71
Logic Emulation DesignCompiler and its components
Logic emulation design compileris a large and complexEDA tool which includes:
Front-end design importer.
HDL-based synthesizer.
Clock and timing analyzer.
Partitioner.
System-level placer and router.
FPGA-basedplacer and router.
Obj i f l i l i
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
26/71
Objectives of logic emulation
compiler
Fast compilationtime.
Fast emulation clock.
Timing correctness.
Easy (ECO ENGINEERING Change Order).
Minimize circuit size.
Design Considerations for Logic
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
27/71
Design Considerations for Logic
Emulators
HDL synthesis:Trade-off run-time and quality.
CLB-basedvs. gate-baseddesigns.
Clock and timing analysis:
Timing correctness, hold-time violation free.
Clock skewminimization.
Partitioning:Run time. -
Timing and area.
D i C id ti f L i
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
28/71
System placement and routing:
Timing.
Completeness of routing.
FPGA-basedplacement and routing:
Fast run time.
Parallel compilation.
Design Considerations for Logic
Emulators
Remember you
emulate not the same
logic as your design
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
29/71
Hold-Time Violation
Hold-time violation occurswhen Routing delay > LUT delay!!!
D Q
CK
D Q
CKLUTCLB
Routing delay
Clock distribution problem (Skew)!!!
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
30/71
Timing Correctness
D Q
CK
D Q
CK
LUT
CLB
Routing delay
Delayelement
Delay insertion
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
31/71
Timing Correctness
D Q
CK
D Q
CK
LUT
CLB
Clock path
CE
Primary clock Low-skew net
Use clock enablesfor gated clocks
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
32/71
Methodology and components of LogicEmulator System
Pre-configuration preparation- prepare netlistsand control files for configuration.
Testbed preparation- prepare emulation-basedoperation environment.
Full-chip configuration- download design to the
emulator.
In-circuit emulation- test the design.
Pre Configuration in Emulator
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
33/71
Pre-Configuration in Emulator
System
Translate the leaf-cell librariesinto emulationprimitives.
Translated libraries must be verified for functional
equivalenceto original.
Modify and redesign some components to attaincompatibility with emulation techniques,such asprecharge logic circuits.
Assemble all the gate-level netlistsfor the entire
design.
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
34/71
Testbed in Logic Emulator
Design and implement the target ICE board
combining the emulated designwith real
hardware.
Slowdown testbedto emulation speed.
Assemblethe testbed and emulation
equipment.
Full Chip Configuration & In
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
35/71
Full-Chip Configuration & In-Circuit Emulation
Full-chipconfiguration:
Prepare control files.
Partition the design to fit into the emulationsystem.
Download design into the system.
Verify that the emulation model faithfullyimplements the design as specified by RTL.
In-circuit emulation
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
36/71
Part IV
Reconfigurable
Computing and
Systems
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
37/71
General-Purpose Computingvs. Custom Computing
General-purpose computing- applyingapplications on a general-purpose computer.
Custom computing- applying applicationson a custom-made application-specific
hardware.
Field-programmable devices make this into areality.
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
38/71
Goals of ReconfigurableComputing
Tailorthe architecture to the application.
Minimizeor eliminate instruction interpretation.
Exploit fine grainedparallelism.
Mapsoftware to hardware.
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
39/71
Applications of reconfigurable
computing
Database search and analysis.
Image processing and machine vision.
Data compression.Signal processing.
Neural networks.
Biology computing.
Medical computing.
Design Automation (PSU)
Many more.
Multi Mode Systems
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
40/71
ROM
Application 1
Multi-Mode Systems mapvarious applications to a reconfigurable
system
Reconfigurablesystem
Different configurations for read & writeoperations of a tape driver(Honeywell).
Different configurations for different
printer controllers(Tektronix).
Application 2
R Ti R fi ti
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
41/71
Run-Time Reconfiguration inmilitary image recognition system
Jeep?
Tank?
I/OTruck?
Image data
?
Breaksingle computation into multiple pieces.
Page incomponents as needed(virtual hardware),
ex., automatic target recognition.
C t C ti
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
42/71
Custom Computing
Application-specific systems.
Numerous applications for similarreconfigurable
systems.
Offers hardware performance, flexibilityto handlenumerous algorithms.
Multi-FPGA systems can be viewed as hardwaresupercomputers.
Tell about DEC Perle
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
43/71
Reconfigurable Co-processors
Processor
Coprocessor
Program 1
Inst1
Program 2
Inst2- Provide custom instructions
on aper-application basis.
Types of Reprogrammable
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
44/71
Types of ReprogrammableSystems
Coprocessor
CPU
Attachedprocessing
unit
Memorycaches
I/Ointerface
StandalonePU
PU = processing Unit
Three ways to attach
custom computing units
T f R bl
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
45/71
Types of ReprogrammableSystems
Attachedand standalone processing units arereprogrammable systems on computer add-oncards and separate reprogrammable cabinets.
Considerations:large communication overheadmayover-shadow the speed gain.
Application-specific coprocessorscan achievesignificant improvement over a wide range ofapplications.
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
46/71
Types o f Reprogrammab leSystems
Integratethe reprogrammable logic intothe processor itself.
A reprogrammable functional unit can beconfigured on a per-algorithmbasis.
Providing some special-purpose instructionstailored to the needs of a given application.
A hit t f M lti FPGA
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
47/71
Architectures of Multi-FPGA(Reconfigurable) Systems
The most commonly used topologies:
Mesh:1D (linear array), 2D, and 3D.
Crossbar:full, partial, mixed, andhierarchical.
Hybrid between mesh and crossbar.
Application-specificarchitecture.
Hybrid Topology of a reconfigurable
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
48/71
Hybrid Topology of a reconfigurable
system
Splash 2:augments a linear array of FPGAs witha crossbar switch.
Goal:Supportingsystolic circuits.
RAM
FPGA
RAM
FPGA
RAM
FPGA
RAM
FPGA
FPGA
16 FPGAs
Ext. InterfaceExt. Interface
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
49/71
Hyb r id Topology
FPGA
RAM
FPGA
RAM
FPGA
RAM
FPGA
Hostinterface
Anyboard: A linear array of FPGAs augmentedby global buses.
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
50/71
Hyb r id Topology
4 X 4 meshof FPGAs
RAM
RAM
RAM
RAM
Hostinterface
DECPeRLe-1: a 4 X 4 mesh of FPGAs augmented
with shred global buses.
Application-Specific Topology of
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
51/71
Application-Specific Topology of
MARC-1, one subsystem
FPGA
FPGA
FPGA
FPGA
FPGA
FPGA
FPGA
FPGA
FPGA
FPU
Memory
1
1
1
1
4 5 2 3
4 5 2 3
4 5 2 3
The Marc-1: subsystem 1.
Connections to otherFPGAs
Appl icat ion-Speci f ic
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
52/71
Appl icat ion Speci f ic
Topo logy of Marc-1, cont.
1
5
4
3
2Subsystem1
Subsystem1
The Marc-1
Application in circuit
simulation where the
program to be executed
can be optimized on a
per-run basis.
This is done for
values constant
within that run,
but which may varyfrom dataset to
dataset.
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
53/71
App l ication-Speci f ic Topo logy
FPGA
RAM
FPGA
RAM
FPGA
RAM
FPGA
RAM
FPGA
RAM
FPGA
RAM
FPGA
RAM
FPGA
RAM
FPGA
RAM
The RM-nc system: neural network.
A h i t t f C t
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
54/71
Arch i tectu re for Compu terPrototyp ing
FPGA
FPGA
FPGA
FPGAFPGA
FPGAFPGACache memory
Register file
ALU FPU
VME bus
The Mushroom processor
prototyping system.
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
55/71
Expandable Topologies
Hierarchical crossbar topology: can be
expanded by adding extra level.
- Quickturn systems.
Expandable mesh topology:can be
expanded by connecting individual boards
to form a large mesh.
The Virtual Wires Emulation System (IKOS).
Topology for Adapting Other
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
56/71
Topology for Adapting OtherComponents
Many multi-FPGA systems include non-FPGA resourcesto provide more generalpurpose solutions.
The MORRPHsystem - sockets next toFPGAs which allow to add arbitrary devices
to the array.
The G800board - contains two FPGAs and
four sockets.
Topology for Adapting Other
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
57/71
Topology for Adapting OtherComponents
The COBRA systemContains:based modules (expanding to 2D mesh),
RAM modules,
I/O modules,and bus modules.
The Springbok system
a pre-made daughter board which is able tocontain an arbitrary device(on the top) and anFPGA (on the bottom).
Daughter boards are mounted on a baseplate.
Topology for Adapting Other
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
58/71
Topology for Adapting OtherComponents
The Quickturnsystems - external
component adapters.
TheAptixFPCB - a reprogrammable PCB.
Design Methodology for
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
59/71
Design Methodology forgeneral-purpose configurable
systems
Applications
Hostcomputer
Reprogrammablesystem
Mapping
Typical Software Methodology f
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
60/71
Typical Software Methodology forgeneral-purpose configurable systems
Applicationspec.
Analysis System-levelsynthesis
Softwarespec.
Codegeneration
Object code
Hardwaresynthesis
Hardwarespec.
Typ ical Software Methodo logy for
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
61/71
yp gygeneral-purpose configurable systems
Hardware spec.
Synthesis
Partitioning & placement
Pin assignment & routing
FPGA P & R
Bit-stream files
Considerations for such
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
62/71
Considerations for such
complex software systems
Architectural-specificdesign tasks.
Design automationprocess.
The mapping timedominates the setuptimefor operating the system.
Run-time reconfigurability.
Design Specification and Languages for
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
63/71
Design Specification and Languages forreconfigurable software systems
Standard software programming languages,e.g., C, C++, FORTRAN, and assembly language, vs.HDLs.
Standard software programming languages - asequentialexecution model.
HDLs- a parallel execution model.
Who will use it and which one is more suitable forsystem description???
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
64/71
Compilation Issues
Translate code from software languagesinto hardware without losing the inherentconcurrencyof hardware.
Compiler techniques for parallelizing code.
Straight-line code, control flow, and loops.
Transmogrifier C compiler.
System-level and High-
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
65/71
System-level and High-level Synthesis
System-level design evaluation and analysis.
Design estimation.
Hardware-software partitioning.
Interfacesynthesis.
RTL synthesis.
Logic synthesis and technology mapping.
Partitioning and
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
66/71
Partitioning and
PlacementTopology-aware partitioningmethods.
Partitioning onto a multi-FPGA system is
equivalent toa placement problem.
Logic utilizationand timing.
Pin Assignment and
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
67/71
Pin Assignment and
RoutingPin-assignment- the process of determiningwhich I/O pins to be used for each inter-FPGAsignal.
Pin-assignment for a pre-fabricated multi-FPGAsystem is equivalent tothe global routingproblem.
Pin-assignment will greatly affectthe quality ofFPGAs logic utilization and routability.
Run-Time Reconfigurability
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
68/71
Run-Time Reconfigurability
Virtual hardware virtual memory. What are theirrelations? Artificial Intelligence, robotics. Vision.
Hardware on demand.
What is the Initial Un-configured structure?What are the reconfiguringmethods.
Software supporting time-varying mapping.
Many open problemsneed to be solved in the forthcoming years.
This is a new issue in system design: how much of the processor is
virtual, when to reconfigure?
Applications: Splash 2
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
69/71
Applications: Splash 2
Stream oriented systolicand SIMDapplications.
Scalable linear arrayof 16 to 256 processingelements (1 XC4010 with 1/2 Mbyte).
VHDL based.
Sequence comparison- 2300M:0.75M cellupdates/sec (Splash 2:Sparc 10).
Edge detection- 10M:242K pixels/sec (Splash
2:Sparc 10).
Applications: PAM (DEC)
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
70/71
Applications: PAM (DEC)
Programmable Active Memory (PAM).
C++ based and mesh arrays of XC3090(DECPeRLe-1).
Applications:Multiple precision arithmetic.
RSA encryption.
Video compression (JPEG, MPEG, DCT). -High energy physics.
Telecommunications.
8/11/2019 FPGA Logic Emulation and Reconfigurable Systems
71/71
Sources o f some sl idesPeter Alfke
Xilinx, Inc