FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Topics n Logic synthesis. n Placement and routing.

Slides:



Advertisements
Similar presentations
TOPIC : SYNTHESIS DESIGN FLOW Module 4.3 Verilog Synthesis.
Advertisements

ECE 551 Digital System Design & Synthesis Lecture 08 The Synthesis Process Constraints and Design Rules High-Level Synthesis Options.
ECE Synthesis & Verification - Lecture 8 1 ECE 697B (667) Spring 2006 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Circuits Introduction.
Modern VLSI Design 2e: Chapter4 Copyright  1998 Prentice Hall PTR.
ENGIN112 L38: Programmable Logic December 5, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 38 Programmable Logic.
Technology Mapping.
Logic Synthesis Outline –Logic Synthesis Problem –Logic Specification –Two-Level Logic Optimization Goal –Understand logic synthesis problem –Understand.
Logic Synthesis 1 Outline –Logic Synthesis Problem –Logic Specification –Two-Level Logic Optimization Goal –Understand logic synthesis problem –Understand.
Reconfigurable Computing (EN2911X, Fall07)
CS294-6 Reconfigurable Computing Day 15 October 13, 1998 LUT Mapping.
Topics Combinational logic functions.
Fuzzy Evolutionary Algorithm for VLSI Placement Sadiq M. SaitHabib YoussefJunaid A. Khan Department of Computer Engineering King Fahd University of Petroleum.
FPGA Technology Mapping. 2 Technology mapping:  Implements the optimized nodes of the Boolean network to the target device library.  For FPGA, library.
CS 151 Digital Systems Design Lecture 38 Programmable Logic.
ECE 506 Reconfigurable Computing Lecture 7 FPGA Placement.
Overview Part 2 – Circuit Optimization 2-4 Two-Level Optimization
Register-Transfer (RT) Synthesis Greg Stitt ECE Department University of Florida.
Introduction to Routing. The Routing Problem Apply after placement Input: –Netlist –Timing budget for, typically, critical nets –Locations of blocks and.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n Circuit design for FPGAs: –Logic elements. –Interconnect.
FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR HDL coding n Synthesis vs. simulation semantics n Syntax-directed translation n.
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.
Modern VLSI Design 4e: Chapter 4 Copyright  2008 Wayne Wolf Topics n Standard cell-based layout. n Channel routing. n Simulation.
Global Routing.
Electrical and Computer Engineering Archana Rengaraj ABC Logic Synthesis basics ECE 667 Synthesis and Verification of Digital Systems Spring 2011.
CprE / ComS 583 Reconfigurable Computing Prof. Joseph Zambreno Department of Electrical and Computer Engineering Iowa State University Lecture #14 – Placement.
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect19: Multi Level Logic Minimization.
Modern VLSI Design 3e: Chapter 4 Copyright  1998, 2002 Prentice Hall PTR Topics n Layouts for logic networks. n Channel routing. n Simulation.
Modern VLSI Design 3e: Chapters 1-3 week12-1 Lecture 30 Scale and Yield Mar. 24, 2003.
Massachusetts Institute of Technology 1 L14 – Physical Design Spring 2007 Ajay Joshi.
05/04/06 1 Integrating Logic Synthesis, Tech mapping and Retiming Presented by Atchuthan Perinkulam Based on the above paper by A. Mishchenko et al, UCAL.
Modern VLSI Design 2e: Chapter 7 Copyright  1998 Prentice Hall PTR Topics n Block placement. n Global routing. n Switchbox routing.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR FPGA Fabric n Elements of an FPGA fabric –Logic element –Placement –Wiring –I/O.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
1 EECS 219B Spring 2001 Timing Optimization Andreas Kuehlmann.
Modern VLSI Design 3e: Chapter 4 Copyright  1998, 2002 Prentice Hall PTR Topics n Combinational network delay. n Logic optimization.
10/25/ VLSI Physical Design Automation Prof. David Pan Office: ACES Lecture 3. Circuit Partitioning.
L11: Lower Power High Level Synthesis(2) 성균관대학교 조 준 동 교수
CprE / ComS 583 Reconfigurable Computing
Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.
FPGA-Based System Design Copyright  2004 Prentice Hall PTR Logic Design Process n Functional/ Non-functional requirements n Mapping into an FPGA n Hardware.
Modern VLSI Design 3e: Chapter 4 Copyright  1998, 2002 Prentice Hall PTR Topics n Interconnect design. n Crosstalk. n Power optimization.
4. Combinational Logic Networks Layout Design Methods 4. 2
Modern VLSI Design 3e: Chapter 10 Copyright  1998, 2002 Prentice Hall PTR Topics n CAD systems. n Simulation. n Placement and routing. n Layout analysis.
CS/EE 3700 : Fundamentals of Digital System Design Chris J. Myers Lecture 4: Logic Optimization Chapter 4.
Topics Combinational network delay.
Modern VLSI Design 3e: Chapter 4 Copyright  1998, 2002 Prentice Hall PTR Topics n Layouts for logic networks. n Channel routing. n Simulation.
1 A Min-Cost Flow Based Detailed Router for FPGAs Seokjin Lee *, Yongseok Cheon *, D. F. Wong + * The University of Texas at Austin + University of Illinois.
Topics Architecture of FPGA: Logic elements. Interconnect. Pins.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Circuit design for FPGAs n Static CMOS gate vs. LUT n LE output drivers n Interconnect.
Technology Mapping. 2 Technology mapping is the phase of logic synthesis when gates are selected from a technology library to implement the circuit. Technology.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Multi-Level Logic Synthesis.
FPGA-Based System Design: Chapter 1 Copyright  2004 Prentice Hall PTR Moore’s Law n Gordon Moore: co-founder of Intel. n Predicted that number of transistors.
Give qualifications of instructors: DAP
FPGA CAD 10-MAR-2003.
Modern VLSI Design 4e: Chapter 4 Copyright  2008 Wayne Wolf Topics n Combinational network delay. n Logic optimization.
Modern VLSI Design 3e: Chapter 8 Copyright  1998, 2002 Prentice Hall PTR Topics n Basics of register-transfer design: –data paths and controllers; –ASM.
FPGA-Based System Design: Chapter 6 Copyright  2004 Prentice Hall PTR Topics n Low power design. n Pipelining.
Register-Transfer (RT) Synthesis Greg Stitt ECE Department University of Florida.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
ICS 252 Introduction to Computer Design Lecture 8 Winter 2004 Eli Bozorgzadeh Computer Science Department-UCI.
State university of New York at New Paltz Electrical and Computer Engineering Department Logic Synthesis Optimization Lect18: Multi Level Logic Minimization.
VLSI Physical Design Automation
Reconfigurable Computing
CprE / ComS 583 Reconfigurable Computing
SAT-Based Optimization with Don’t-Cares Revisited
Topics Logic synthesis. Placement and routing..
Register-Transfer (RT) Synthesis
VLSI CAD Flow: Logic Synthesis, Placement and Routing Lecture 5
Illustrative Example p p Lookup Table for Digits of h g f e ) ( d c b
Reconfigurable Computing (EN2911X, Fall07)
Presentation transcript:

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Topics n Logic synthesis. n Placement and routing.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Logic optimization n Logic synthesis programs transform Boolean expressions into logic gate networks in a particular library. n Optimization goals: minimize area, meet delay constraint; some power optimizations.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Syntax-directed translation n Translate HDL into logic directly. –ab + ac n Generally requires optimization.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Macros n Pre-designed logic. –Generally identified by language features. –+ operator. –xxx() n Hard macro: includes placement. n Soft macro: no placement.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Logic synthesis phases n Technology-independent optimizations work on logic representations that do not directly model logic gates. n Technology-dependent optimizations work in the available set of logic gates. n Transformation from technology- independent to technology-dependent is called library binding.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Technology-independent optimizations n Works on Boolean expression equivalent. n Estimates size based on number of literals. n Uses factorization, resubstitution, minimization, etc. to optimize logic. n Technology-independent phase uses simple delay models.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Technology-dependent optimizations n Maps Boolean expressions into a particular cell library. n Mapping may take into account area, delay. n May perform some optimizations on addition to simple mapping. n Allows more accurate delay models.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Boolean network n A Boolean network is the main representation of the logic functions for technology independent optimizations. n Each node can be represented as sum-of- products (or product-of-sums). n Provides multi-level structure, but functions in the network need not correspond to logic gates.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Boolean network example out1 = k2 + x2’out2 = k3 + x1 k2 = x1’ x2 x4 + k1 k3 = k1 x4’ k1 = x2 + x3 x1 x2x3x4 primary outputs primary inputs

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Terms n Support: set of variables used by a function. n Transitive fanout: all the primary outputs and intermediate variables of a function. n Transitive fanin: all the primary inputs and intermediate variables used by a function. Transistive fanin determines a cone of logic. cone primary inputs output

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Technology-independent logic optimization n Simplification rewrites node to simplify its form. n Network restructuring introduces new nodes for common factors, collapses several nodes into one new node. n Delay restructuring changes factorization to reduce path length.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Cost in the Boolean network n Don’t know exact gate structure, but can estimate final network cost: –area estimated by number of literals (true or complement forms of variables); –delay estimated by path length.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Partially-specified functions n Don’t-cares can be implemented in either the on-set or off-set. n Don’t-cares provide the greatest opportunities for minimization in many cases.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Partially-specified function example x1x1 x2x2 x3x don’t care

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Don’t-cares in Boolean networks n In two-level function, don’t-cares are defined at primary output. n In Boolean network, structure of network itself introduces don’t-cares. n Types of structural don’t-cares: –satisfiability; –observability.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Satisfiability don’t-cares n Occur when an intermediate variable value is inconsistent with its function inputs. Since this can’t happen, we don’t care. g=ab f=yc abc y y == g a=b=0, f=1 can’t happen Don’t-care for f: y’g + yg’

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Observability don’t-cares n Occur when an intermediate variable’s value doesn’t affect the network primary outputs. a b x If a=1, then b is don’t-care

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Optimizations n Simplification. –Changing the way a function is represented. n Network restructuring. –Adding and removing nodes. n Delay restructuring. –Optimizations that reduce the height of critical paths.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Cube representation n On-set, off-set, don’t-care set, cover: x1 x2 x3

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Espresso example x1 x2 x3

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Partial collapsing beforeafter f1 f2f3 f4F f3 f4

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Factorization n Based on division: –formulate candidate divisor; –test how it divides into the function; –if g = f/c, we can use c as an intermediate function for f. n Algebraic division: don’t take into account Boolean simplification. Less expensive then Boolean division.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Factorization using division n Three steps: –generate potential common factors and compute literal savings if used; –choose factors to substitute into network; –restructure the network to use the new factors. n Algebraic/Boolean divison can be used to implement first step.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Technology mapping n Cover the function:

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR FPGA tech mapping n Cost (number of inputs) doesn’t always increase with added functions:

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR FPGAs vs. custom logic n Cost metric for static gates is literal: –ax + bx’ has four literals, requires 8 transistors. n Cost metric for FPGAs is logic element: –All functions that fit in an LE have the same cost.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR LUT-based logic synthesis n Find the largest logic cone that will fit into the LUT: r = q + s’ q = g’ + h s = d’ d = a + b

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Placement and routing n Two critical phases of layout design: –placement of components on the chip; –routing of wires between components. n Placement and routing interact, but separating layout design into phases helps us understand the problem and find good solutions.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Placement metrics n Quality metrics for layout: –area; –delay. n Area and delay determined partly by wiring. n How do we judge a placement without wiring? Estimate wire length without actually performing routing. n Design time may be important for FPGAs

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Wire length as a quality metric bad placementgood placement

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Wire length measures n Estimate wire length by distance between components. n Possible distance measures: –Euclidean distance (sqrt(x 2 + y 2 )); –Manhattan distance (x + y). n Multi-point nets must be broken up into trees for good estimates. Euclidean Manhattan

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Wiring trees Steiner point

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Placement techniques n Can construct an initial solution, improve an existing solution. n Pairwise interchange is a simple improvement metric: –Interchange a pair, keep the swap if it helps wire length. –Heuristic determines which two components to swap.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Placement by partitioning n Works well for components of fairly uniform size. n Partition netlist to minimize total wire length using min-cut criterion. n Partitioning may be interpreted as 1-D or 2- D layout.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Recursive partitioning

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Min-cut bisecting partitioning partition 1partition 2 A B C D 3 nets 1 net

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Min-cut bisecting partitioning, cont’d n Swapping A and B: –B drags 1 net; –A drags 3 nets; –total cut increase: 3 nets. n Conclusion: probably not a good swap, but must be compared with other pairs.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Kernighan-Lin algorithm n Compute min cut criterion: –count total net cut change. n Algorithm exchanges sets of nodes to perform hill-climbing—finding improvements where no single swap will improve the cut. n Recursively subdivide to determine placement detail.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Simulated annealing n Powerful but CPU-intensive optimization technique. n Analogy to annealing of metals: –temperature determines probability of a component jumping position; –probabilistically accept moves. –start at high temperature, cool to lower temperature to try to reach good placement.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Routing n Major phases in routing: –global routing assigns nets to routing areas; –detailed routing designs the routing areas. n Net ordering is a major problem. Order in whch nets are routed determines quality fo result. Net ordering is a heuristic.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Global routing n Choose a sequence of channels. –Not tracks within a channel. n Must take capacity into account. n Channel graph allows path algorithms to be used for global routing.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Channel graph LE channel switch box switch box switch box switch box switch box switch box switch box switch box switch box

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Maze routing n Will find shortest path for a single wire, if such a path exists. n Two phases: –Label nodes with distance, radiating from source. –Use distances to trace from sink to source, choosing a path that always decreases distance to source.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Lee (wavefront) router

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR FPGA issues n Often want a fast answer. May be willing to accept lower quality result for less place/route time. n May be interested in knowing wirability without needing the final configuration. n Fast placement: constructive placement, iterative improvement through simulated annealing.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR FPGA routing n Finding a route into given interconnection network. n Global routing assigns to channels. n Local routing selects the programming points used to make the connections.

FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR FPGA routing techniques n Nair: route based on congestion, not distance. Route in two passes: –Estimate congestion. –Final routing. n Triptych: more gradual penalty for congestion.