EE141 1 Electronic Design Automation [ Adopted from Jan M. Rabaey, Alessandra Nardi, Abhay Dixit, Meeta Bhate, Kedar Rajpathak, Tulika Mitra]

Slides:



Advertisements
Similar presentations
Digital Systems Verification Lecture 13 Alessandra Nardi.
Advertisements

FPGA (Field Programmable Gate Array)
Introduction to Programmable Logic John Coughlan RAL Technology Department Electronics Division.
Lecture 15 Finite State Machine Implementation
Logic Synthesis – 3 Optimization Ahmed Hemani Sources: Synopsys Documentation.
A reconfigurable system featuring dynamically extensible embedded microprocessor, FPGA, and customizable I/O Borgatti, M. Lertora, F. Foret, B. Cali, L.
EELE 367 – Logic Design Module 2 – Modern Digital Design Flow Agenda 1.History of Digital Design Approach 2.HDLs 3.Design Abstraction 4.Modern Design Steps.
Ch.3 Overview of Standard Cell Design
EECE579: Digital Design Flows
CMPT150, Ch 3, Tariq Nuruddin, Fall 06, SFU 1 Ch3. Combinatorial Logic Design Modern digital design involves a number of techniques and tools essential.
Extensible Processors. 2 ASIP Gain performance by:  Specialized hardware for the whole application (ASIC). −  Almost no flexibility. −High cost.  Use.
Copyright 2001, Agrawal & BushnellDay-1 PM Lecture 4a1 Design for Testability Theory and Practice Lecture 4a: Simulation n What is simulation? n Design.
The Design Process Outline Goal Reading Design Domain Design Flow
1 HW/SW Partitioning Embedded Systems Design. 2 Hardware/Software Codesign “Exploration of the system design space formed by combinations of hardware.
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
Evolution of implementation technologies
Programmable logic and FPGA
State Machines Timing Computer Bus Computer Performance Instruction Set Architectures RISC / CISC Machines.
Multiplexers, Decoders, and Programmable Logic Devices
Foundation and XACTstepTM Software
EDA TOOLS. Why EDA? Imagine a Intel based micro processor having 1.5 million transistors. Would it be feasible to design such a complex system with help.
EE 261 – Introduction to Logic Circuits Module #8 Page 1 EE 261 – Introduction to Logic Circuits Module #8 – Programmable Logic & Memory Topics A.Programmable.
CMOS Design Methodologies
Lecture 2: Field Programmable Gate Arrays September 13, 2004 ECE 697F Reconfigurable Computing Lecture 2 Field Programmable Gate Arrays.
ISE. Tatjana Petrovic 249/982/22 ISE software tools ISE is Xilinx software design tools that concentrate on delivering you the most productivity available.
EE4OI4 Engineering Design Programmable Logic Technology.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Lecture 12 – Design Procedure.
Chap. 1 Overview of Digital Design with Verilog. 2 Overview of Digital Design with Verilog HDL Evolution of computer aided digital circuit design Emergence.
CAD for Physical Design of VLSI Circuits
Ch.9 CPLD/FPGA Design TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of Technology.
Open Discussion of Design Flow Today’s task: Design an ASIC that will drive a TV cell phone Exercise objective: Importance of codesign.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
Synthesis Presented by: Ms. Sangeeta L. Mahaddalkar ME(Microelectronics) Sem II Subject: Subject:ASIC Design and FPGA.
ASIC Design Flow – An Overview Ing. Pullini Antonio
System Arch 2008 (Fire Tom Wada) /10/9 Field Programmable Gate Array.
Automated Design of Custom Architecture Tulika Mitra
Design Verification An Overview. Powerful HDL Verification Solutions for the Industry’s Highest Density Devices  What is driving the FPGA Verification.
Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.
1 5. Application Examples 5.1. Programmable compensation for analog circuits (Optimal tuning) 5.2. Programmable delays in high-speed digital circuits (Clock.
1 Moore’s Law in Microprocessors Pentium® proc P Year Transistors.
CSE 494: Electronic Design Automation Lecture 2 VLSI Design, Physical Design Automation, Design Styles.
J. Christiansen, CERN - EP/MIC
COE 405 Design and Modeling of Digital Systems
1 Towards Optimal Custom Instruction Processors Wayne Luk Kubilay Atasu, Rob Dimond and Oskar Mencer Department of Computing Imperial College London HOT.
Chonnam national university VLSI Lab 8.4 Block Integration for Hard Macros The process of integrating the subblocks into the macro.
Programmable Logic Devices
ESL and High-level Design: Who Cares? Anmol Mathur CTO and co-founder, Calypto Design Systems.
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
Field Programmable Gate Arrays (FPGAs) An Enabling Technology.
Basic Sequential Components CT101 – Computing Systems Organization.
UNIT 1 Introduction. 1-2 OutlineOutline n Course Topics n Microelectronics n Design Styles n Design Domains and Levels of Abstractions n Digital System.
Standard Cell Libraries
EE 466/586 VLSI Design Partha Pande School of EECS Washington State University
EE3A1 Computer Hardware and Digital Design
Classification of Simulators Logic Simulators Emulator-basedSchematic-basedHDL-based Event-drivenCycle-basedGateSystem.
CHAPTER 8 Developing Hard Macros The topics are: Overview Hard macro design issues Hard macro design process Physical design for hard macros Block integration.
IMPLEMENTATION OF MIPS 64 WITH VERILOG HARDWARE DESIGN LANGUAGE BY PRAMOD MENON CET520 S’03.
EE 5900 Advanced Algorithms for Robust VLSI CAD, Spring 2009 Combinational Circuits.
Survey of multicore architectures Marko Bertogna Scuola Superiore S.Anna, ReTiS Lab, Pisa, Italy.
Integrated Microsystems Lab. EE372 VLSI SYSTEM DESIGNE. Yoon 1-1 Panorama of VLSI Design Fabrication (Chem, physics) Technology (EE) Systems (CS) Matel.
TOPIC : Types of Simulation UNIT 1 : Modeling Module 1.5 Simulation.
Classification of Simulators Logic Simulators Emulator-basedSchematic-basedHDL-based Event-drivenCycle-basedGateSystem.
-1- Soft Core Viterbi Decoder EECS 290A Project Dave Chinnery, Rhett Davis, Chris Taylor, Ning Zhang.
EECE 320 L8: Combinational Logic design Principles 1Chehab, AUB, 2003 EECE 320 Digital Systems Design Lecture 8: Combinational Logic Design Principles.
Programmable Logic Devices
EMT 351/4 DIGITAL IC DESIGN Week # 1 EDA & HDL.
Introduction to ASICs ASIC - Application Specific Integrated Circuit
ASIC Design Methodology
VLSI Testing Lecture 5: Logic Simulation
Timing Analysis 11/21/2018.
Presentation transcript:

EE141 1 Electronic Design Automation [ Adopted from Jan M. Rabaey, Alessandra Nardi, Abhay Dixit, Meeta Bhate, Kedar Rajpathak, Tulika Mitra]

EE141 2 Electronic Design Automation  Design Analysis  Structural and Behavioral Modeling in HDL  Design Verification  Cell Based Design  Programmable Logic Devices and FPGA  Design Synthesis

EE141 3 Design methodologies  analysis and verification - simulation is input dependent - verification requires understanding of circuit operation  implementation and synthesis  testability tools and techniques

EE141 4 Terminology  HDL: Hardware Description Language  E.g.: Verilog, VHDL  RTL: Register Transfer Level. It is HDL written for logic synthesis: clock cycle to clock cycle operations and events are explicitly defined  architecture of the design is implicit in RTL code  Behavioral HDL It is HDL written for behavioral synthesis: it describes the intent and the algorithm behind the design  Behavioral synthesis It tries to optimize the design at architectural level with constraints for clock, latency and throughput. The output is RTL level design with clocks, registers and buses.  Logic synthesis It automatically converts RTL code into gates without modifying the implied architecture. It tries to optimize the gate-level implementation to meet performance (timing, area….) goals

EE141 5 Verification at different levels of abstraction Goal: Goal: Ensure the design meets its functional and timing requirements at each of these levels of abstraction In general this process consists of the following conceptual steps: 1. Creating the design at a higher level of abstraction 2. Verifying the design at that level of abstraction 3. Translating the design to a lower level of abstraction 4. Verifying the consistency between steps 1 and 3 5. Steps 2, 3, and 4 are repeated until tapeout

EE141 6 Verification at different levels of abstraction Behavior al HDL System Simulators HDL Simulators Code Coverage Gate-level Simulators Static Timing Analysis Layout vs Schematic (LVS) RTLGate- level Physical Domain Verification

EE141 7 Verification Techniques functionaltiming  Simulation (functional and timing)  Behavioral  RTL  Gate-level (pre-layout and post-layout)  Switch-level  Transistor-level functional  Formal Verification (functional) timing  Static Timing Analysis (timing) Goal: Goal: Ensure the design meets its functional and timing requirements at each of these levels of abstraction

EE141 8 Classification of Simulators Logic Simulators Emulator-basedSchematic-basedHDL-based Event-drivenCycle-basedGateSystem

EE141 9 Classification of Simulators  HDL-based  HDL-based: Design and testbench described using HDL  Event-driven  Cycle-based  Schematic-based  Schematic-based: Design is entered graphically using a schematic editor  Emulators  Emulators: Design is mapped into FPGA hardware for prototype simulation. Used to perform hardware/software co-simulation.

EE Instruction Set Architecture Design (Microarchitecture Design-I) System-Level Design RTL Level Design (Microarchitecture Design II) Compiler Design Code Optimizer Hardware Design Switch Level Design Circuit Level design ISA Simulator System Level Simulator RTL Level Simulator Switch Level Simulator Circuit Level Simulator Arch./Compiler Design Toolset Processor Architecture Simulation and Design Flow Diagram HDL (VHDL or Verilog) Code Generator

EE (Some) EDA Tools and Vendors  Behavioral synthesis  Behavioral compiler  Synopsys  Logic Synthesis  Design Compiler  Synopsys  BuildGates  Ambit Design Systems  Galileo (FPGA)  Examplar (Mentor Graphics)  FPGAExpress (FPGA)  Synopsys  Synplify (FPGA)  Synplicity

EE (Some) EDA Tools and Vendors  Logic Simulation  Scirocco (VHDL)  Synopsys  Verilog-XL (Verilog)  Cadence Design Systems  Leapfrog (VHDL)  Cadence Design Systems  VCS (Verilog)  Chronologic (Synopsys)  Cycle-based simulation  SpeedSim (VHDL)  Quickturn  PureSpeed (Verilog)  Viewlogic (Synopsys)  Cobra  Cadence Design Systems  Cyclone  Synopsys

EE Circuit Simulation  Formulation of circuit equations  STA, MNA  Solution of linear equations  LU factorization, QR factorization, Krylov Methods  Solution of nonlinear equations  Newton’s method  Solution of ordinary differential equations  One-step and Multi-step methods  AC Analysis and Noise  Simulation Techniques for RF  Shooting-Newton  Harmonic-Balance

EE Analog Circuits – A World Apart  Analog circuits’ behavior specified in terms of complex functions: time-domain, frequency-domain, distortion, noise, power spectra….  Required accuracy of models much higher than digital  …emerging paradigm: Field Programmable Analog Array for prototyping (and more)

EE Design analysis and simulation  Spice - exact but time consuming  discrete time steps  circuit models  timing simulation with partitioning and relaxation method

EE Timing Simulation

EE Switch-Level Simulation  Linear Switch-Level Simulation  RSIM (Terman), nRSIM (Chu), IRSIM (Horowitz)  Model transistor as switched, linear resistor  Ternary (0, 1, X) node states  Elmore (RC product) model of circuit delay a a  1 X 0 Voltage Logic Value

EE Switch-Level Simulation Switch level model of inverter

EE Event-driven Simulation  Event: change in logic value at a node, at a certain instant of time  (V,T)  Event-driven: only considers active nodes  Efficient  Performs both timing and functional verification  All nodes are visible  Glitches are detected  Most heavily used and well-suited for all types of designs

EE Event-driven Simulation Event: change in logic value, at a certain instant of time  (V,T) D=2 a b c Events: Input: b(1)=1 Output: none D=2 a b c Events: Input: b(1)=1 Output: c(3)=0 3

EE Event-driven Simulation  Uses a timewheel to manage the relationship between components  Timewheel  Timewheel = list of all events not processed yet, sorted in time (complete ordering)  When event is generated, it is put in the appropriate point in the timewheel to ensure causality

EE Event-driven Simulation d b(1)=1 d(5)=1 D= D=2 a b c e c(3)=0 d(5)= e(4)=0 6 e(6)=1

EE Cycle-based Simulation  Take advantage of the fact that most digital designs are largely synchronous  Synchronous circuit: state elements change value on active edge of clock  Only boundary nodes are evaluated Internal Node Boundary Node LatchesLatches LatchesLatches

EE Cycle-based Simulation  Compute steady-state response of the circuit  at each clock cycle  at each boundary node LatchesLatches LatchesLatches Internal Node

EE Cycle-based versus Event-driven  Cycle-based:  Only boundary nodes  No delay information  Event-driven:  Each internal node  Need scheduling and functions may be evaluated multiple times  Cycle-based is 10x-100x faster than event-driven (and less memory usage)  Cycle-based does not detect glitches and setup/hold time violations, while event-driven does

EE Simulation: Perfomance vs Abstraction.001x SPICE Event-driven Simulator Cycle-based Simulator 1x10x Performance and Capacity Abstraction Timing Simulator

EE Perspective on accuracy and speed

EE Gate level simulation  faster than switch level  functional simulation  VHDL description used

EE Epics PowerMill *** Current information is calculated from 5.00 ns to ns *** average current on VDD : mA peak current on VDD : mA at ns rms current on VDD : mA average current on GND : mA peak current on GND : mA at ns rms current on GND : mA

EE PowerMill Performance

EE Avant!s STAR-ADM (previously Anagram)  Mixed analog/digital simulation  Claims to be more accurate for deep sub-micron design than switch-level simulation

EE Performance Benchmarks

EE Structural model in VHDL

EE Behavioral model in VHDL

EE High level behavioral VHDL

EE141 36

EE Digital Systems Verification  Overview  Cycle-based and event-driven simulation  Formal methods  Timing Analysis  Hardware Description Languages (Verilog- VHDL)  System C

EE Verification - Simulation Consistency: same testbench at each level of abstraction Behavioral Gate-level Design (Post-layout) Gate-level Design (Pre-layout) RTL Design TestbenchSimulation

EE Formal Verification  Can be used to verify a design against a reference design as it progresses through the different levels of abstraction  Verifies functionality without test vectors  Three main categories:  Model Checking: compare a design to an existing set of logical properties (that are a direct representation of the specifications of the design). Properties have to be specified by the user (far from a “push-button” methodology)  Theorem Proving: requires that the design is represented using a “formal” specification language. Present-day HDL are not suitable for this purpose.  Equivalence Checking: it is the most widely used. It performs an exhaustive check on the two designs to ensure they behave identically under all possible conditions.

EE Digital Systems Verification Timing Analysis  Not only has the design to “function properly”….it also has always tighter timing constraints  Design timing properties have to be verified  Static Timing Analysis is the main method

EE Static Timing Analysis  Suitable for synchronous design  Verify timing without testvectors  Conservative with respect to dynamic timing analysis Latches Combinational Logic

EE Static Timing Analysis  Inputs:  Netlist, library models of the cells and constraints (clock period, skew, setup and hold time…)  Outputs:  Delay through the combinational logic  Basic concepts:  Look for the longest topological path  Discard it if it is false

EE Conventional Simulation Methodology Limitations  Increase in size of design significantly impact the verification methodology in general  Simulation requires a very large number of test vectors for reasonable coverage of functionality  Test vector generation is a significant effort  Simulation run-time starts becoming a bottleneck  New techniques:  Static Timing Analysis  Cycle-based simulation  Formal Verification

EE New Verification Paradigm  Functional: cycle-based simulation and/or formal verification  Timing: Static Timing Analysis Gate-level netlist RTL Testbench Logic Synthesis Cycle-based Sim. Event-driven Sim. Static Timing Analysis Formal Verification

EE More issues  System Level Simulation (Hardware/Software Codesign)  CoCentric System Studio  Synopsys  Virtual Component Co-Design (VCC)  Cadence Design Syst.  Mixed-Signal Simulation  Verilog-AMS

EE Design verification  checking number of inversions between two C 2 MOS gates  checking pull-up and pull down ratio in pseudo-NMOS gates  checking minimum driver size to maintain rise and fall times  checking charge sharing to satisfy noise- margins Electrical verification

EE Design verification  Spice too long simulation time  RC delay estimated using Penfield- Rubinstein-Horowitz method  identification of critical path (avoid false paths) Timing verification

EE Design verification  components described behaviorally  circuit model obtained from component models  resulting circuit behavior computed with design specifications  no generally acceptable verifier exists Formal verification

EE Physical issues verification (DSM)  Interconnects  Signal Integrity  P/G integrity  Substrate coupling  Crosstalk  Parasitic Extraction  Reduced Order Modeling  Manufacturability and Reliability  Power Estimation

EE (Some) EDA Tools and Vendors  Formal Verification  Formality  Synopsys  FormalCheck  Cadence Design Systems  DesignVerifyer  Chrysalis  Static Timing Analysis  PrimeTime  Synopsys (gate-level)  PathMill  Synopsys (transistor-level)  Pearl  Cadence Design Systems

EE Summary  Conventional design and verification flow review  Verification Techniques  Simulation –Behavioral, RTL, Gate-level, Switch-level, Transistor- level  Formal Verification  Static Timing Analysis  Emerging verification paradigm  Functional: cycle-based, formal verification  Timing: Static Timing Analysis

EE “Prototyping” Techniques in Design Stages time HardwareDesignChanges SoftwareSimulation Emulation PrototypeReplication Flexibility Performance Cost

EE Implementation approaches

EE Custom circuit design  labor intensive  high time-to-market  cost amortized over a large volume  reuse as a library cell  was popular in early designs  layout editor, DRC, circuit extraction

EE Layout editor  transistor symbols  relative positioning  compaction  stick diagram description  design rules automatically satisfied  automatic pitch matching 1. Polygon based (Magic) 2. Symbolic layout

EE Automatic pitch matching

EE Design rule checking  on-line DRC - rules checked and errors flagged during layout  batch DRC - post design verification

EE Circuit extraction  Circuit schematic derived from layout  Transistors are build with proper geometry  Parasitic capacitances and resistances evaluated  Extraction of inductance requires 3D analysis

EE141 59

EE Cell-based design  reduced cost  reduced time  reduced integration density  reduced performance  standard cell  compiled cells  module generators  macro cell place and route

EE Standard cell  library contains basic logic cells - inverter, AND/NAND, OR/NOR, XOR/NXOR, flip-flop, AOI, MUX, adder, compactor, counter, decoder, encoder,  fan-in and fan-out specified  schematic uses cells from library  layout automatically generated

EE Standard cell  cells have equal heights  cell rows separated by routing channels

EE Standard cell design

EE Standard cell layout and description

EE An Example Cell  A 2-input dynamic C with a clearing input and an inverting output (C_dic2)

EE Single vs Double Height Cells  arbiter

EE Single vs Double Height Cells…  arbiter_dblht

EE Existing Design Flow Synopsys Synthesis Cadence Silicon Ensemble Cadence Composer Schematic Cadence Virtuoso Layout Existing Datapath Layout Behavioral Verilog Code Your Libraries LVS Verilog-XL Behavioral Verilog Structural Verilog Circuit Layout

EE New Design Flow Cadence to Synopsys Interface Cadence Silicon Ensemble Cadence Composer Schematic Cadence Virtuoso Layout Existing Datapath Layout Standard Cell Libraries LVS Verilog-XL Structural Verilog Circuit Layout

EE Placed and Routed

EE What are Standard Cell Libraries  Standard-cell libraries are fixed set of well-characterized logic blocks.  Basic logic functions are used several times on the same integrated circuit.  It will have leaf cells ranging from simple gates to latches and flip-flops. These can then be used to build arithmetic blocks like adders and multipliers.  ASIC designers commonly employ the use of standard cell libraries due to their robustness and flexibility resulting in quick turnaround times.

EE Advantages of standard cell libraries  Designers save time and money by reducing the product development cycle time.  Reduce risk by using predesigned, pretested and precharacterised standard cell libraries.  Optimisation is possible.

EE Disadvantages of standard cell libraries  Time and expenses of designing or buying the standard cell library.  Time needed to fabricate all layers of ASIC for each new design  when the standard cell library must be ported to a new fabrication process, the physical layout of all the cells need to be changed.  There are no naming conventions  There are no standards for cell behavior

EE Standard cell  large design cost amortized over a large number of designs  large number of different cells with different fan-ins  large fan-out for cells to be used in different designs  synthesis tools made standard cell design popular  standard cell design outperform PLA in area and speed  standard cell benefit from multi level logic synthesis

EE Classification of standard cell libraries  Classical Libraries: --- Theses are the most common logic elements like gates, flip-flops, multiplexers, PAL, memories etc.  IP (Intellectual Property) offerings: --- These include products like gate arrays and CPLDs which are IP offerings by many companies. Each one providing its own features and facilities in the product.

EE Fragment of an ASIC Library

EE  MOSIS compatible cell libraries are provided by many organisations, commercial and non-commercial both  Commercial organisations are: Mentor Graphics, Cadence, Artisan, Avant, Barcelona Design, Tanner Research, LEDA systems etc.  Non Commercial Organisations are:MSU’s SCMOS Library, LASI, Ballistic, Magic etc. MOSIS compatible design tools and cell libraries

EE Standard Cells Provided by Mentor Graphics  There are over 200 standard cells available for the 2.0 um, 1.2 um, and 0.8 um technology. -- 2, 3, and 4-input AND, NAND, OR, NOR, AO -- 2-input XOR and XNOR gates MUX gate -- multiple drive strength buffers, inverters and tri-state buffers -- four D-type flip-flops: dff, dffs, dffr, and dffsr -- four D-type latches: latch, latchs, latchr, latchsr  All of these cells have quickpart models with timing for full, backannotated simulation after layout

EE MGC Digital Libraries

EE MGC Digital Libraries (Contd..)

EE MGC Digital Libraries (Contd..)

EE MGC Digital Libraries (Contd..)

EE MGC Digital Libraries (Contd..)

EE New Trends in Standard Cell Libraries  In a bid to improve the performance of standard-cell designs, vendors of place-and-route and synthesis tools and cell libraries are teaming up to develop a technique that is likely to lead to the death of the standard cell itself.  Prolific Inc. (Newark, Calif.) has launched a tool called Liquid Libraries that will create tuned cells on the fly and insert them into the libraries used by place and route tools  Hot on the heels of Prolific's launch, Cadabra Design Automation (Santa Clara, Calif.) is working on a new flow that would ultimately move library generation as far forward as the synthesis phase, giving logic designers the ability to tune parts of a design for low power consumption or speed

EE New Trends Contd..  Prolific is working with Cadence Design Systems, Magma Design Automation, Monterey Design Systems and Sapphire Design Automation..  Cadabra is working with Avanti, Cadence, Synopsis and Magma.  The first fruit of the Cadabra project will be the power and performance optimization (PPO) flow.

EE Important Links to Standard Cell Libraries a) Tanner Inc. b) Prolific Inc. www. prolificinc.com c) MOSIS organisation MOSIS/Tech Support/MOSIS Compatible Design Tools d) Cadabra Design Automation Inc. e) Cadence Design Systems Inc.

EE Compiled cell  cell layout generated on the fly  transistor or gate level netlist used with transistor size specified  layout densities approach that of human designers Circuit schematics with transistor sizing

EE Compiled cell Generated layout

EE Module generators  logic level cells not efficient for subcircuit design - shifters, adders, multipliers, data paths, PLAs, counters, memories  Macrocell generators - use design parameters like number of bits  data path compilers - use bit slice modules and repeat them N times - generate interconnections between modules

EE Datapath compilers Feedtroughs used to improve routing

EE Datapath compilers Datapath compiler results

EE Macrocell place and route  channel routing - metal 2 horizontal segments metal 1 vertical segments  over the block routing (3-6 metal layers used)

EE141 93

EE Array-based design implementation  mask programmable arrays  fuse based FPGAs  nonvolatile FPGAs  RAM based FPGAs To avoid slow fabrication process which takes 3-4 weeks :

EE Mask programmable arrays  gate-array - similar to standard cell  sea-of-gate - routed over the cells (high density) - wires added to make logic gates  challenge in design is to utilize the maximum cell capacity  utilization < 75% for random logic design

EE Fuse-based PLD’s

EE Fuse-based FPGA’s Actel sea-of-gate and standard cell approach

EE Fuse-based FPGA’s Example : XOR gate obtained by setting : A=1, B=0, C=0, D=1, SA=SB=In1, S0=S1=In2

EE Fuse-based FPGA’s Anti-fuse provides short (low resistance) when blown out

EE Nonvolatile FPGA’s  programming similar to PROM  erasable programmable logic devices - EPLD  electrically erasable - EEPLD  design partitioned into macrocells  flip-flops used to make sequential circuits  software used to program interconnections to optimize use of hardware  input specified from schematics, truth tables, state graphs, VHDL code

EE

EE RAM based (volatile) FPGA’s  programming is fast and can be repeated many times  no high voltage needed  integration density is high  information lost when the power goes off

EE XILINX FPGA’s  configurable logic blocks CLBs used  five input two output combinational blocks  two D flip flops are edge or level triggered  functionality and multiplexers controlled by RAM  RAM can be used as look-up table or a register file

EE XILINX FPGA’s

EE XILINX FPGA’s  each cell connected to 4 neighbors  routing channels provide local or global connections  switching matrices(RAM controlled) are used for switching between channels

EE XILINX FPGA’s

EE XILINX FPGA’s (XC4025)  32 × 32 CLBs  gates  422 k bites of RAM  operates at 250 MHz  32 kbit adder uses 62 CLBs

EE XILINX FPGA’s (XC4025)

EE Universal Nanoscale Architecture  Beyond lithographic limits  Crossed Wire nanoarrays  Implement PLAs, memory, and xbars NSC’02: to appear IEEE TR Nano

EE Design synthesis

EE Circuit synthesis  derivation of the transistors schematics from logic functions - complementary CMOS - pass transistor - dynamic - DCVSL (differential cascode voltage switch logic)  transistor sizing - performance modeling using RC equivalent circuits- layout generation  synthesis not popular due to designers reluctance

EE Logic synthesis  state transition diagrams, FSM, schematics, Boolean equations, truth tables, and HDL used  synthesis - combinational or sequential - multi level, PLA, or FPGA  logic optimization for - area, speed, power - technology mapping

EE Logic optimization  Expresso - two level minimization tool (UCB)  state minimization and state encoding  MIS - multilevel logic synthesis (UCB) Example : S = (A  B) C i C o = AB + AC i + BC i

EE Architecture synthesis  behavioral or high level synthesis  optimizing translation e.g. pipelining  Cathedral and HYPER tools  HYPER tutorial and synthesis example:

EE Architecture Synthesis Automatic Tool Application Customized Architecture Power Size Performance Timing

EE Architecture synthesis example

EE Architecture synthesis

EE Tensilica: Xtensa Architecture Copyright: Tensilica

EE Design Framework Copyright: Tensilica

EE Silicon Choices  ASIC implementation of Processor  Fast but not flexible  Time intensive design process  Example: Tensilica, HP-STMicroelectronics  Processor core in ASIC but instruction set extensions in reconfigurable logic  Medium speed but flexible  Fast design process  Example: Triscend Configurable System-on-Chip

EE Triscend Configurable SoC Copyright: Triscend

EE Reconfigurable Computing 101  Higher performance than software with higher level of flexibility than hardware  e.g. Field Programmable Gate Arrays (FPGA)  Logic Blocks –Array of computational elements whose functionality is determined through multiple SRAM configuration bits  Interconnection –Logic blocks are connected using programmable routing resources  Any custom circuit can be mapped to FPGA by computing logic functions within logic blocks and using configurable routing to connect the logic blocks together  Dynamically reconfigurable Logic  Logic reconfiguration during application execution  Temporal partitioning of software reduces logic area  Overhead for reconfiguration

EE Use of Reconfigurable Computing  Two choices  Map both control and datapath to RC  Map only datapath to RC  Granularity of reconfigurable logic  Bit  Multiple bits  ALU

EE RC Coupled to I/O System Bus  Most common form of commercial RC  Overhead of data transfer between CPU and RC  Requires large granularity of computation on RC CPU RC I/O Memory Local Bus PCI Bus Local Bus

EE RC Coupled to Local Bus  Pilchard from Chinese University of Hong Kong  Still requires large granularity of computation CPU RC I/O Memory Local Bus PCI Bus Local Bus

EE RC Coupled to CPU as Coprocessor  Tight coupling between CPU and RC  RC can execute ISA extensions  CPU and RC cannot share register file CPU RC I/O Memory Local Bus PCI Bus Local Bus

EE PICO Architecture Copyright: Bob Rau et. al.

EE Design Framework Copyright: Bob Rau et. al.

EE Design Flow Copyright: Bob Rau et. al.

EE Hardware/software Co-design  Well studied problem. Then what’s new?  High Level Synthesis (HLS)  Time-to-market constraint forces automated generation of reconfigurable bitstream from high level specification or software  Automated generation of interface  Spatial and temporal partitioning  Partitioning among multiple configurable devices  Map a function that exceeds the available space of reconfigurable device using time sharing  Requires new compilation techniques

EE High Level Synthesis-1  High level hardware description language  Start from software programming language and add support for  Parallelism via threads  Message passing  Examples: Handel-C, SystemC  Make current HDL more abstract  Superlog, System Verilog  Still requires user to find parallelism

EE High Level Synthesis-2 High Level Synthesis-2  Combine research in two different fields: compiler and design automation  Traditional HLS techniques target ASIC implementation  RC does not have the layout freedom  Objective of RC is to minimize execution time  Temporal partitioning if insufficient area  Hardware library of operators or structures commonly used by software programs

EE High Level Synthesis-3  Concentrate on loops  Leverage parallelizing compiler technology combined with high level synthesis  Parallelize computation  Optimize external memory access  Loop transformation: Area versus Performance –Unroll and Jam –Loop unrolling –Software pipelining –Loop-invariant code motion –Data layout  Hardware specific optimizations  Bitwidth reduction