part iii logic emulation. what is a logic emulation system? 1. 1. a programmable hardware built with...
Post on 22-Dec-2015
240 views
TRANSCRIPT
![Page 1: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/1.jpg)
Part IIIPart III
Logic Logic EmulationEmulation
![Page 2: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/2.jpg)
What is a Logic What is a Logic Emulation System?Emulation System?
1.1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect devices (PID).
2.2. A software which automatically programs the hardware according to the circuit under design
3.3. Control HW/SW to support operation of the emulated design as a hardware component operating in real time.
![Page 3: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/3.jpg)
Target System
Typical Logic Emulation Typical Logic Emulation EnvironmentEnvironment
Workstation
Logic Emulator
Logic Module
Probe Module
In-circuitInterface
Compiler, runtime software
Stimulus generator, logic analyzer
![Page 4: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/4.jpg)
Why we need Logic Why we need Logic Emulation?Emulation?
Design verification issues.
Real-time operation.
System-level testing.
Rapid prototyping.
![Page 5: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/5.jpg)
Design Verification Design Verification IssuesIssues
Simulation-based verification methods have run out of steam when chip complexity grows.
Emulation is a verification technology that grows along with design size.
![Page 6: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/6.jpg)
Real-Time OperationReal-Time OperationSimulation requires test vector development which is costly and difficult.
Verification depends on test vector correctness.
Certain applications must be verified in real time - human perception: audio and video.
Emulation connected to actual hardware can run: real diagnostic code, operating systems, and applications.
![Page 7: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/7.jpg)
System-Level TestingSystem-Level TestingOften the chip meets its specifications but it fails in the system.
We have to verify the system-level interactions between the chip and other components. They are hard to formalize.
Internal probing is impossible when the chip is fabbed and placed in a systemBut it is possible using emulation.
![Page 8: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/8.jpg)
Rapid PrototypingRapid Prototyping
Once emulated design is debugged it is available for immediate use by software developers for software debugging.
Emulated design is available for demo and experiments with architecture on real applications and data.
![Page 9: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/9.jpg)
Programmable Hardware includes Programmable Hardware includes programmable interconnectprogrammable interconnect
Programmable interconnect
Memoryelement
VLSI core
Interface Logicelement
Logicelement
![Page 10: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/10.jpg)
Considerations for Considerations for programmable interconnectprogrammable interconnectThe capacity of logic and interconnection depends on package constraints.
This forces a hierarchical system. Chips => boards => boxes => system
The interconnect structure must: 1. Provide successful connectivity, 2. Maximize FPGA utilization, and 3. Minimize delay and skew.
Rent’s rule applies to predict the interconnect needs.
![Page 11: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/11.jpg)
Structures of Multi-FPGA Structures of Multi-FPGA SystemsSystems
Topologies: - Mesh - nearest neighboring. - Crossbar - full and partial.
Interconnect scheme: - Circuit switched. - Time multiplexed.
![Page 12: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/12.jpg)
Nearest Neighbor Nearest Neighbor InterconnectionInterconnection
FPGA FPGA FPGA
FPGA FPGA FPGA
FPGA FPGA FPGA
![Page 13: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/13.jpg)
Advantages and Disadvantages of Advantages and Disadvantages of Nearest Neighbor InterconnectionNearest 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.
![Page 14: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/14.jpg)
Nearest Neighbor ExtensionsNearest Neighbor Extensions
FPGA FPGA FPGA
FPGA FPGA FPGA
FPGA FPGA FPGA
Add more neighbors
Connect to non-neighbors
![Page 15: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/15.jpg)
Advantages and Disadvantages of Advantages and Disadvantages of nearest-neighbor extended architecturesnearest-neighbor extended architectures
Advantages: More choices for router by adding diagonal lines & skip lines.
Disadvantages: More complex PCB.
More complex routing software.
![Page 16: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/16.jpg)
Partial Crossbar InterconnectPartial 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
![Page 17: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/17.jpg)
Partial Crossbar InterconnectPartial Crossbar Interconnect
Partial crossbar consists of a set of small full crossbars,
connected to logic blocks but not to each other.
I/O pins of each FPGA are divided into subsets. Each subset is connected by a full crossbar circuit switch.
Partial crossbar is a potentially blocking network.
![Page 18: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/18.jpg)
Characteristics of “Partial Characteristics of “Partial Crossbar Architecture”Crossbar Architecture”
Partial crossbar’s size is proportional to the number of FPGA pins.
All interconnections go through one/three crossbar chips for a one-level/two-level partial crossbar interconnect –
delays are uniform and bounded.
![Page 19: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/19.jpg)
Mixed Full and Partial Mixed Full and Partial CrossbarCrossbar
FPGA
LocalFPIC
Global FPIC
Global FPIC
LocalFPIC
LocalFPIC
FPGA FPGAFPGAFPGA FPGA
Externalconnections
Partialcrossbar
Full crossbar
![Page 20: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/20.jpg)
Circuit Switched versus Circuit Switched versus Time Time MultiplexedMultiplexed Interconnect Schemes Interconnect Schemes
Trade-offs between the operating speed and the hardware cost.Time-multiplexing methodTime-multiplexing method:
can greatly expand available interconnect. allows lower cost IC package and PCB. makes partitioning easier.
BUT System power increases due to frequent signal switching (higher hardware cost). Complex scheduling software. Slow operating speed.
![Page 21: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/21.jpg)
Virtual WiresVirtual Wires
FPGA FPGAPhysical wires
Logicaloutputs
Logical inputs
FPGA FPGA
Mux
DeM
uxI change space to time
![Page 22: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/22.jpg)
Logic Emulation Systems Logic Emulation Systems and their and their interconnection schemesinterconnection schemes
System with mesh topology - Quickturn’s RPM and Virtual Machine Works (IKOS).
System with partial crossbar - Quickturn’s Enterprise, Mars, and System Realizer.
System with mixed full and partial crossbar - Aptix Prototyping System.
System using time-multiplexed interconnect - Virtual Machine Works (IKOS) , CoBALT and Arkos (Quickturn).
![Page 23: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/23.jpg)
Memory Solutions in Emulators and Memory Solutions in Emulators and future devices/systemsfuture devices/systems
Goal: programmable memories with different 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.
SRAMs with dedicated or programmable controllers.
![Page 24: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/24.jpg)
Logic Emulation Design FlowLogic Emulation Design Flow
Pre-configuration preparation
Full-chipconfiguration
In-circuitemulation
HDL synthesis
Synthesis
Partitioning
System mapping
P & R
Design downloading
Emulators
![Page 25: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/25.jpg)
Logic Emulation Design Logic Emulation Design Compiler Compiler and its componentsand its components
Logic emulation design compiler is a large and complex EDA tool which includes:
Front-end design importer.
HDL-based synthesizer.
Clock and timing analyzer.
Partitioner.
System-level placer and router.
FPGA-based placer and router.
![Page 26: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/26.jpg)
Objectives of logic emulation Objectives of logic emulation compilercompiler
Fast compilation time.
Fast emulation clock.
Timing correctness.
Easy (ECO ENGINEERING Change Order).
Minimize circuit size.
![Page 27: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/27.jpg)
Design Considerations for Logic Design Considerations for Logic EmulatorsEmulators
HDL synthesis: Trade-off run-time and quality. CLB-based vs. gate-based designs.
Clock and timing analysis: Timing correctness, hold-time violation free. Clock skew minimization.
Partitioning: Run time. - Timing and area.
![Page 28: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/28.jpg)
System placement and routing: Timing. Completeness of routing.
FPGA-based placement and routing: Fast run time. Parallel compilation.
Design Considerations for Logic Design Considerations for Logic EmulatorsEmulators
Remember you emulate not the same logic as your design
![Page 29: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/29.jpg)
Hold-Time ViolationHold-Time Violation
Hold-time violation occurs when Routing delay > LUT delay!!!
D Q
CK
D Q
CK
LUT
CLB
Routing delay
Clock distribution problem (Skew)!!!
![Page 30: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/30.jpg)
Timing CorrectnessTiming Correctness
D Q
CK
D Q
CK
LUT
CLB
Routing delay
Delayelement
Delay insertion
![Page 31: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/31.jpg)
Timing CorrectnessTiming Correctness
D Q
CK
D Q
CK
LUT
CLB
Clock path
CE
Primary clock Low-skew net
Use clock enables for gated clocks
![Page 32: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/32.jpg)
Methodology Methodology and components of Logic and components of Logic Emulator SystemEmulator System
Pre-configuration preparation - prepare netlists and control files for configuration.
Testbed preparation - prepare emulation-based operation environment.
Full-chip configuration - download design to the emulator.
In-circuit emulation - test the design.
![Page 33: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/33.jpg)
Pre-Configuration in Emulator Pre-Configuration in Emulator SystemSystem
Translate the leaf-cell libraries into emulation primitives.
Translated libraries must be verified for functional equivalence to original.
Modify and redesign some components to attain compatibility with emulation techniques, such as precharge logic circuits.
Assemble all the gate-level netlists for the entire design.
![Page 34: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/34.jpg)
Testbed in Logic EmulatorTestbed in Logic Emulator
Design and implement the target ICE board combining the emulated design with real hardware.
Slowdown testbed to emulation speed.
Assemble the testbed and emulation equipment.
![Page 35: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/35.jpg)
Full-Chip Configuration & In-Full-Chip Configuration & In-Circuit EmulationCircuit Emulation
Full-chip configuration: Prepare control files.
Partition the design to fit into the emulation system.
Download design into the system.
Verify that the emulation model faithfully implements the design as specified by RTL.
In-circuit emulation
![Page 36: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/36.jpg)
Part IVPart IV
Reconfigurable Reconfigurable Computing and Computing and
SystemsSystems
![Page 37: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/37.jpg)
General-Purpose Computing General-Purpose Computing vs. Custom Computingvs. Custom Computing
General-purpose computing - applying applications on a general-purpose computer.
Custom computing - applying applications on a custom-made application-specific hardware.
Field-programmable devices make this into a reality.
![Page 38: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/38.jpg)
Goals of Reconfigurable Goals of Reconfigurable ComputingComputing
Tailor the architecture to the application.
Minimize or eliminate instruction interpretation.
Exploit fine grained parallelism.
Map software to hardware.
![Page 39: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/39.jpg)
Applications of reconfigurable Applications of reconfigurable computingcomputing
Database search and analysis.Image processing and machine vision.Data compression.Signal processing.Neural networks.Biology computing.Medical computing.Design Automation (PSU)Many more.
![Page 40: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/40.jpg)
ROM
Application 1
Multi-Mode Systems Multi-Mode Systems map map various applications to a reconfigurable various applications to a reconfigurable
systemsystem
Reconfigurable system
• Different configurations for read & write operations of a tape driver (Honeywell).
• Different configurations for different printer controllers (Tektronix).
Application 2
![Page 41: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/41.jpg)
Run-Time Reconfiguration Run-Time Reconfiguration in in military image recognition systemmilitary image recognition system
Jeep?
Tank?
I/O
Truck?Image data
?
• Break single computation into multiple pieces.
• Page in components as needed (virtual hardware), ex., automatic target recognition.
![Page 42: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/42.jpg)
Custom ComputingCustom ComputingApplication-specific systems.
Numerous applications for similar reconfigurable systems.
Offers hardware performance, flexibility to handle numerous algorithms.
Multi-FPGA systems can be viewed as hardware supercomputers.
Tell about DEC Perle
![Page 43: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/43.jpg)
Reconfigurable Co-processorsReconfigurable Co-processors
Processor
Coprocessor
Program 1
Inst1
Program 2
Inst2- Provide custom instructions on a per-application basis.
![Page 44: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/44.jpg)
Types of Reprogrammable Types of Reprogrammable SystemsSystems
Coprocessor
CPU
Attachedprocessing unit
Memory caches
I/Ointerface
Standalone PU
PU = processing Unit
Three ways to attach custom computing units
![Page 45: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/45.jpg)
Types of Reprogrammable Types of Reprogrammable SystemsSystems
Attached and standalone standalone processing units are reprogrammable systems on computer add-on cards and separate reprogrammable cabinets.
Considerations: large communication overhead may over-shadow the speed gain.
Application-specific coprocessors can achieve significant improvement over a wide range of applications.
![Page 46: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/46.jpg)
Types of Reprogrammable Types of Reprogrammable SystemsSystems
Integrate the reprogrammable logic into the processor itself.
A reprogrammable functional unit can be configured on a per-algorithm basis.
Providing some special-purpose instructions tailored to the needs of a given application.
![Page 47: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/47.jpg)
Architectures of Multi-FPGA Architectures of Multi-FPGA (Reconfigurable) Systems(Reconfigurable) Systems
The most commonly used topologies: Mesh: 1D (linear array), 2D, and 3D.
Crossbar: full, partial, mixed, and hierarchical.
Hybrid between mesh and crossbar.
Application-specific architecture.
![Page 48: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/48.jpg)
Hybrid Topology of a reconfigurable Hybrid Topology of a reconfigurable systemsystem
Splash 2: augments a linear array of FPGAs with a crossbar switch.Goal: Supporting systolic circuits.
RAM
FPGA
RAM
FPGA
RAM
FPGA
RAM
FPGA
FPGA
16 FPGAs
Ext. InterfaceExt. Interface
![Page 49: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/49.jpg)
Hybrid TopologyHybrid Topology
FPGA
RAM
FPGA
RAM
FPGA
RAM
FPGA
Hostinterface
Anyboard: A linear array of FPGAs augmented by global buses.
![Page 50: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/50.jpg)
Hybrid TopologyHybrid 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.
![Page 51: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/51.jpg)
Application-Specific Topology of Application-Specific Topology of MARC-1, MARC-1, one subsystemone subsystem
FPGA
FPGA
FPGA
FPGA
FPGA
FPGA
FPGA
FPGA
FPGA
FPU
Memory
11
1
1
4 5 2 3
4 5 2 3
4 5 2 3
The Marc-1: subsystem 1.
Connections to other FPGAs
![Page 52: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/52.jpg)
Application-Specific Application-Specific Topology of Marc-1, cont.Topology 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 aper-run basis.
• This is done for values constant within that run, • but which may vary from dataset to dataset.
![Page 53: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/53.jpg)
Application-Specific TopologyApplication-Specific Topology
FPGA
RAM
FPGA
RAM
FPGA
RAM
FPGA
RAM
FPGA
RAM
FPGA
RAM
FPGA
RAM
FPGA
RAM
FPGA
RAMThe RM-nc system: neural network.
![Page 54: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/54.jpg)
Architecture for Computer Architecture for Computer PrototypingPrototyping
FPGA
FPGA
FPGA
FPGAFPGA
FPGAFPGACache memory
Register file
ALU FPU
VME bus
The Mushroom processorprototyping system.
![Page 55: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/55.jpg)
Expandable TopologiesExpandable 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).
![Page 56: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/56.jpg)
Topology for Adapting Topology for Adapting Other Other ComponentsComponents
Many multi-FPGA systems include non-FPGA resources to provide more general purpose solutions.
The MORRPH system - sockets next to FPGAs which allow to add arbitrary devices to the array.
The G800 board - contains two FPGAs and four sockets.
![Page 57: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/57.jpg)
Topology for Adapting Other Topology for Adapting Other ComponentsComponents
The COBRA systemContains:
based modules (expanding to 2D mesh), RAM modules, I/O modules, and bus modules.
The Springbok systema pre-made daughter board which is able to contain an arbitrary device (on the top) and an FPGA (on the bottom). Daughter boards are mounted on a baseplate.
![Page 58: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/58.jpg)
Topology for Adapting Other Topology for Adapting Other ComponentsComponents
The Quickturn systems - external component adapters.
The Aptix FPCB - a reprogrammable PCB.
![Page 59: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/59.jpg)
Design Methodology Design Methodology for general-for general-purpose configurable systemspurpose configurable systems
Applications
Hostcomputer
Reprogrammable system
Mapping
![Page 60: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/60.jpg)
Typical Software Methodology Typical Software Methodology for for general-purpose configurable systemsgeneral-purpose configurable systems
Application spec.
Analysis System-level synthesis
Software spec.
Codegeneration
Object codeHardware synthesis
Hardware spec.
![Page 61: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/61.jpg)
Typical Software Methodology Typical Software Methodology for for general-purpose configurable systemsgeneral-purpose configurable systems
Hardware spec.
Synthesis
Partitioning & placement
Pin assignment & routing
FPGA P & R
Bit-stream files
![Page 62: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/62.jpg)
Considerations for such Considerations for such complex software systemscomplex software systems
Architectural-specific design tasks.
Design automation process.
The mapping time dominates the setup time for operating the system.
Run-time reconfigurability.
![Page 63: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/63.jpg)
Design Specification and Languages for Design Specification and Languages for reconfigurable software systemsreconfigurable software systems
Standard software programming languages, e.g., C, C++, FORTRAN, and assembly language, vs. HDLs.
Standard software programming languages - a sequential execution model.
HDLs - a parallel execution model.
Who will use it and which one is more suitable for system description???
![Page 64: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/64.jpg)
Compilation IssuesCompilation IssuesTranslate code from software languages into hardware without losing the inherent concurrency of hardware.
Compiler techniques for parallelizing code.
Straight-line code, control flow, and loops.
Transmogrifier C compiler.
![Page 65: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/65.jpg)
System-level and High-System-level and High-level Synthesislevel Synthesis
System-level design evaluation and analysis.
Design estimation.
Hardware-software partitioning.
Interface synthesis.
RTL synthesis.
Logic synthesis and technology mapping.
![Page 66: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/66.jpg)
Partitioning and Partitioning and PlacementPlacement
Topology-aware partitioning methods.
Partitioning onto a multi-FPGA system is equivalent to a placement problem.
Logic utilization and timing.
![Page 67: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/67.jpg)
Pin Assignment and Pin Assignment and RoutingRouting
Pin-assignment - the process of determining which I/O pins to be used for each inter-FPGA signal.
Pin-assignment for a pre-fabricated multi-FPGA system is equivalent to the global routing problem.
Pin-assignment will greatly affect the quality of FPGA’s logic utilization and routability.
![Page 68: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/68.jpg)
Run-Time ReconfigurabilityRun-Time Reconfigurability
Virtual hardware <=> virtual memory. What are their relations? Artificial Intelligence, robotics. Vision.
Hardware on demand.
What is the Initial Un-configured structure?What are the reconfiguring methods.
Software supporting time-varying mapping.
Many open problems need to be solved in the forth coming years.
This is a new issue in system design: how much of the processor is virtual, when to reconfigure?
![Page 69: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/69.jpg)
Applications: Applications: Splash 2Splash 2Stream oriented systolic and SIMDSIMD applications.
Scalable linear array of 16 to 256 processing elements (1 XC4010 with 1/2 Mbyte).
VHDL based.
Sequence comparison - 2300M:0.75M cell updates/sec (Splash 2:Sparc 10).
Edge detection - 10M:242K pixels/sec (Splash 2:Sparc 10).
![Page 70: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/70.jpg)
Applications: PAM (DEC)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.
![Page 71: Part III Logic Emulation. What is a Logic Emulation System? 1. 1. A programmable hardware built with programmable logic (FPGA) and programmable interconnect](https://reader035.vdocuments.mx/reader035/viewer/2022062516/56649d785503460f94a5bc49/html5/thumbnails/71.jpg)
Sources of some slidesPeter AlfkeXilinx, [email protected]