مرتضي صاحب الزماني 1 Synthesis. مرتضي صاحب الزماني 2 Synthesis What is Synthesis? RTL-style Combinatorial Logic Sequential Logic Finite State Machines.

Slides:



Advertisements
Similar presentations
Spartan-3 FPGA HDL Coding Techniques
Advertisements

ECE Synthesis & Verification - Lecture 2 1 ECE 667 Spring 2011 ECE 667 Spring 2011 Synthesis and Verification of Digital Circuits High-Level (Architectural)
FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR Topics n Logic synthesis. n Placement and routing.
ECE 551 Digital System Design & Synthesis Lecture 08 The Synthesis Process Constraints and Design Rules High-Level Synthesis Options.
Logic Synthesis – 3 Optimization Ahmed Hemani Sources: Synopsys Documentation.
Ch.7 Layout Design Standard Cell Design TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of Technology.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics High-level synthesis. Architectures for low power. GALS design.
CSE241 Formal Verification.1Cichy, UCSD ©2003 CSE241A VLSI Digital Circuits Winter 2003 Recitation 6: Formal Verification.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR SRAM-based FPGA n SRAM-based LE –Registers in logic elements –LUT-based logic element.
The Design Process Outline Goal Reading Design Domain Design Flow
Behavioral Synthesis Outline –Synthesis Procedure –Example –Domain-Specific Synthesis –Silicon Compilers –Example Tools Goal –Understand behavioral synthesis.
Modern VLSI Design 2e: Chapter4 Copyright  1998 Prentice Hall PTR.
1 COMP541 Combinational Logic and Design Montek Singh Jan 25, 2007.
Design Flow – Computation Flow. 2 Computation Flow For both run-time and compile-time For some applications, must iterate.
Logic Design Outline –Logic Design –Schematic Capture –Logic Simulation –Logic Synthesis –Technology Mapping –Logic Verification Goal –Understand logic.
King Fahd University of Petroleum and Minerals Computer Engineering Department COE 561 Digital Systems Design and Synthesis (Course Activity) Synthesis.
1 Application Specific Integrated Circuits. 2 What is an ASIC? An application-specific integrated circuit (ASIC) is an integrated circuit (IC) customized.
George Mason University ECE 448 – FPGA and ASIC Design with VHDL Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts,
مرتضي صاحب الزماني  The registers are master-slave flip-flops (a.k.a. edge-triggered) –At the beginning of each cycle, propagate values from primary inputs.
FPGA Technology Mapping. 2 Technology mapping:  Implements the optimized nodes of the Boolean network to the target device library.  For FPGA, library.
Modern VLSI Design 4e: Chapter 4 Copyright  2008 Wayne Wolf Topics n Interconnect design. n Crosstalk. n Power optimization.
Global Routing. Global routing:  To route all the nets, should consider capacities  Sequential −One net at a time  Concurrent −Order-independent 2.
FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR HDL coding n Synthesis vs. simulation semantics n Syntax-directed translation n.
ISE. Tatjana Petrovic 249/982/22 ISE software tools ISE is Xilinx software design tools that concentrate on delivering you the most productivity available.
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.
CAD for Physical Design of VLSI Circuits
School of Computer Science G51CSA 1 Computer Systems Architecture Fundamentals Of Digital Logic.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
Logic Synthesis for Low Power(CHAPTER 6) 6.1 Introduction 6.2 Power Estimation Techniques 6.3 Power Minimization Techniques 6.4 Summary.
PROGRAMMABLE LOGIC DEVICES (PLD)
Sub-expression elimination Logic expressions: –Performed by logic optimization. –Kernel-based methods. Arithmetic expressions: –Search isomorphic patterns.
Section 10: Advanced Topics 1 M. Balakrishnan Dept. of Comp. Sci. & Engg. I.I.T. Delhi.
ECE Advanced Digital Systems Design Lecture 12 – Timing Analysis Capt Michael Tanner Room 2F46A HQ U.S. Air Force Academy I n t e g r i.
1 H ardware D escription L anguages Modeling Digital Systems.
1 Moore’s Law in Microprocessors Pentium® proc P Year Transistors.
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.
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.
Modern VLSI Design 3e: Chapter 4 Copyright  1998, 2002 Prentice Hall PTR Topics n Combinational network delay. n Logic optimization.
Placement. Physical Design Cycle Partitioning Placement/ Floorplanning Placement/ Floorplanning Routing Break the circuit up into smaller segments Place.
Field Programmable Gate Arrays (FPGAs) An Enabling Technology.
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.
Topics Combinational network delay.
Detailed Routing مرتضي صاحب الزماني.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Multi-Level Logic Synthesis.
Introduction to Clock Tree 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.
Modern VLSI Design 4e: Chapter 4 Copyright  2008 Wayne Wolf Topics n Combinational network delay. n Logic optimization.
FPGA-Based System Design: Chapter 6 Copyright  2004 Prentice Hall PTR Topics n Low power design. n Pipelining.
Static Timing Analysis
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Timing Optimization.
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR Topics n FPGA fabric architecture concepts.
ECE 2110: Introduction to Digital Systems Chapter 6 Combinational Logic Design Practices Circuit Timing.
ASIC Design Methodology
Topics SRAM-based FPGA fabrics: Xilinx. Altera..
Introduction Introduction to VHDL Entities Signals Data & Scalar Types
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Topics The logic design process..
Timing Analysis 11/21/2018.
Timing Optimization Andreas Kuehlmann
Topics Logic synthesis. Placement and routing..
VHDL Introduction.
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL code ECE 448 – FPGA and ASIC Design.
Digital Designs – What does it take
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Presentation transcript:

مرتضي صاحب الزماني 1 Synthesis

مرتضي صاحب الزماني 2 Synthesis What is Synthesis? RTL-style Combinatorial Logic Sequential Logic Finite State Machines and VHDL

مرتضي صاحب الزماني 3 What is Synthesis? Transformation of an abstract description into a more detailed description "+" operator is transformed into a gate netlist "if (VEC_A = VEC_B) then"  a comparator which controls a multiplexer Transformation depends on several factors: Algorithm, constraints, library عملگرهاي ساده ( مثل AND ، OR ، مقايسه ) به گيتهاي مشخصي تبديل مي شوند اما عملگرهاي پيچيده تر مثل ضرب ابتدا به ماکروسلهاي خاص آن tool تبديل مي شوند.

مرتضي صاحب الزماني 4 Synthesizability Only a subset of VHDL is synthesizable Different Tools support different subsets records? arrays of integers? clock edge detection? sensitivity list?...

مرتضي صاحب الزماني 5 Different Language Support for Synthesis

مرتضي صاحب الزماني 6 How to Do? Macrocells adder comparator bus interface counter Constraints speed area power Optimizations boolean: mathematic LUTs: technological LUTs

مرتضي صاحب الزماني 7 Constraints محدوديتهاي سخت : محدوديتهاي ثابتي که در سنتزکننده وجود دارد : مربوط به محدوديتهاي target technology ( مثل محدوديت fanout در Logic Block ها ) و مربوط به توانايي tool محدوديتهاي نرم : محدوديتهايي که کاربر مشخص مي کند : مثل حداقل سرعت لازم

مرتضي صاحب الزماني 8 Non-functional requirements Performance: –Clock speed is generally a primary requirement. –Usually expressed as a lower bound. Design cycle and Timing Closure Size: –Determines manufacturing cost. –If your design doesn’t fit into one size FPGA, you must use the next larger FPGA. –For very large designs: multi-FPGAs. Power/energy: –Power/Energy related to battery life and heat. May have more cost: –More expensive packaging to dissipate heat. –More extreme measures (e.g. cooling fans). –Many digital systems are power- or energy-limited.

مرتضي صاحب الزماني 9 Mapping into an FPGA Must choose the FPGA: –Capacity. –Pinout/package type. –Maximum speed.

مرتضي صاحب الزماني 10 Capacity

مرتضي صاحب الزماني 11 Pinout Description

مرتضي صاحب الزماني 12 Essential Information for Synthesis Load values Path delays Driver strengths Timing Operating conditions (e.g. temperature)

مرتضي صاحب الزماني 13 Synthesis Process in Practice باوجود مکانيزمهاي بهينه سازي، ممکن است بعد از سنتز، همة محدوديتها برآورده نشده باشند  تکرار SynthesisDesign EntryResults OK? yes no Alter Constraints Alter VHDL Code Arch’re Design Alter Arch’re

مرتضي صاحب الزماني 14 Problems with Synthesis Tools Timing issues layout information is missing during the synthesis process clock tree must be generated afterwards Complex clocking schemes (inverted clocks, multiple clocks, gated clocks) Memory synthesis tools are not able to replace register arrays with memory macro cells Macro cells no standardized way for instantiation of existing technology macro cells

مرتضي صاحب الزماني 15 Synthesis Strategy Consider the effects of different coding styles on the inferred hardware structures Appropriate design partitioning critical paths should not be distributed to several synthesis blocks different optimization constraints may be used for separate blocks

مرتضي صاحب الزماني 16 Delay and Power Optimization Combinational network delay. Combinational network energy/power.

مرتضي صاحب الزماني 17 Delay characteristics Measured from change in inputs to change in outputs. Data-dependent: –Some block delays depend on the value/waveform at the input (t pHL ≠ t pLH ) (t r ≠ t f ) May need to observe different paths through the network.

مرتضي صاحب الزماني 18 Timing diagram time A B

مرتضي صاحب الزماني 19 Sources of Delay Gate delay: –Little we can do about it E.g. select another FPGA with faster logic blocks (LBs) or Minimize the number of LBs in the critical path Wire delay: –Much we can do E.g. select the proper path of the wire or Select buffered paths. –Two types: lumped load (for short wires which are modeled by a single capacitance) –Little we can do. transmission line (for long wires).

مرتضي صاحب الزماني 20 Fanout Fanout adds capacitance. source sink

مرتضي صاحب الزماني 21 Driving fanout Adding gates adds capacitance:

مرتضي صاحب الزماني 22 Path delay Combinational network delay is measured over paths through network. Can trace a causality chain from inputs to worst-case output.

مرتضي صاحب الزماني 23 Path delay example network graph model

مرتضي صاحب الزماني 24 Critical path Critical path = path which creates longest delay. Can trace transitions which cause delays that are elements of the critical delay path.

مرتضي صاحب الزماني 25 Delay model Nodes represent gates. Assign delays to edges—signal may have different delay to different sinks. Lump gate and wire delay into a single value.

مرتضي صاحب الزماني 26 Critical path through delay graph

مرتضي صاحب الزماني 27 Reducing critical path length Must speed up the critical path –Reducing delay off the path doesn’t help. There may be more than one path of the same delay. –  Must speed up all equivalent paths to speed up circuit. Cutset: a set of edges that when removed, break the graph into two unconnected paths. (e.g. {(C,D), (B,D)} or {(D,E} ) –Must speed up cutset through critical path.

مرتضي صاحب الزماني 28 Delay Paths in a design

مرتضي صاحب الزماني 29 False paths Some input changes don’t cause output changes. A false path is a path which never happens due to Boolean gate conditions. False paths cause pessimistic delay estimates.

مرتضي صاحب الزماني 30 False path example (input dependent)

مرتضي صاحب الزماني 31 Another false path example (input independent)  = 10  = 20  = 10  = 20 False path

مرتضي صاحب الزماني 32 Placement and delay Placement helps determine gate distances. Gate distances determine routing. Routing determines wire length. Wire length determines capacitive load. Capacitive load determines delay.

مرتضي صاحب الزماني 33 Placement and wire capacitance dvr g1 g2 g3 g4 dvr g1 g2 g3 g4

مرتضي صاحب الزماني 34 Optimizing network delay Identify the longest path(s). Improve delay along the longest path(s): –Driver delay –Wire delay –Logic restructuring NET "data_out_1_OBUF" ROUTE="{3;1;6slx25csg324;477afbc1!-1;8040;6064;S!0;-845;-504!1;0;344!1;" "-9743;1431!2;845;144;L!3;-16261;1!5;-22484;-4!6;-17991;3!7;-12477;5681!8;" "0;12800!9;0;12800!10;0;12800!11;0;13872!12;0;12800!13;0;12800!14;0;12800!" "15;0;13872!16;305;7589!17;0;3200!18;1855;1675!19;686;18!20;80;20!21;" "- 1490;2207!22;-1311;251;L!}"; NET "data_out_1" LOC=D6; INST "data_out_1_OBUF" LOC=SLICE_X29Y41; INST "data_out_1" LOC=SLICE_X29Y41;

مرتضي صاحب الزماني 35 Example: Adder placement and delay N-bit adder: (optimal placement) ++++

مرتضي صاحب الزماني 36 Bad placement and routing placement routing With no delay constraints.

مرتضي صاحب الزماني 37 Bad placement and routing Adder has been distributed throughout the FPGA. I/O pins have been spread around the chip.  P&R algorithms do not catch on to regularity.

مرتضي صاحب الزماني 38 Better placement and routing With delay constraints. Better but far from optimal (less spread out horizontally but spread out vertically)

مرتضي صاحب الزماني 39 How to improve? Use macros (optimized), Put constraints on the placement of objects, Hand place objects. –Example: later.