King Fahd University of Petroleum and Minerals Computer Engineering Department COE 561 Digital Systems Design and Synthesis (Course Activity) Synthesis.

Slides:



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

COE 405 VHDL Basics Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Dr. Aiman H. El-Maleh Computer Engineering.
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.
Improving Placement under the Constant Delay Model Kolja Sulimma 1, Ingmar Neumann 1, Lukas Van Ginneken 2, Wolfgang Kunz 1 1 EE and IT Department University.
CSE241 Formal Verification.1Cichy, UCSD ©2003 CSE241A VLSI Digital Circuits Winter 2003 Recitation 6: Formal Verification.
Kazi Spring 2008CSCI 6601 CSCI-660 Introduction to VLSI Design Khurram Kazi.
1Kazi Spring 2008 CSCI 660 CSCI-660 Introduction to VLSI Design Khurram Kazi.
Modern VLSI Design 2e: Chapter4 Copyright  1998 Prentice Hall PTR.
Kazi Fall 2006 EEGN 4941 EEGN-494 HDL Design Principles for VLSI/FPGAs Khurram Kazi.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE VLSI System Design Lecture 12 - Timing, Project.
Chapter 7 Design Implementation (II)
1/31/20081 Logic devices can be classified into two broad categories Fixed Programmable Programmable Logic Device Introduction Lecture Notes – Lab 2.
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.
Synthesis Learning the different commands. Constraints Many different constraints available to apply to design: –Timing Constraints Max clock period Maximum.
Combinational Logic Design
Practical Aspects of Logic Gates COE 202 Digital Logic Design Dr. Aiman El-Maleh College of Computer Sciences and Engineering King Fahd University of Petroleum.
03/30/031 ECE 551: Digital System Design & Synthesis Lecture Set 9 9.1: Constraints and Timing 9.2: Optimization (In separate file)
Robust Low Power VLSI R obust L ow P ower VLSI Aatmesh Shrivastava Taniya Siddiqua Incorporating Reliability in SoC Flow.
ECE 551 Digital System Design & Synthesis
1 VERILOG Fundamentals Workshop סמסטר א ' תשע " ה מרצה : משה דורון הפקולטה להנדסה Workshop Objectives: Gain basic understanding of the essential concepts.
ISE. Tatjana Petrovic 249/982/22 ISE software tools ISE is Xilinx software design tools that concentrate on delivering you the most productivity available.
Kazi ECE 6811 ECE 681 VLSI Design Automation Khurram Kazi* Lecture 10 Thanks to Automation press THE button outcomes the Chip !!! Reality or Myth (*Mostly.
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
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
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.
CSE 494: Electronic Design Automation Lecture 2 VLSI Design, Physical Design Automation, Design Styles.
정 용 군 ( 전자공학과 대학원 ) 대상 : VLSI 설계 연구회 1,2,3 학년 기간 : ~ Synopsys Tool 교육 Synopsys 교육 1.
Modern VLSI Design 3e: Chapter 4 Copyright  1998, 2002 Prentice Hall PTR Topics n Combinational network delay. n Logic optimization.
1 An Update on Verilog Ξ – Computer Architecture Lab 28/06/2005 Kypros Constantinides.
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
Synopsys Custom Designer Tutorial for a chip integration using the University of Utah Standard Cell Libraries In ON Semiconductor 0.5u C5 CMOS Version.
1 Logic Synthesis Using Cadence Ambit. 2 Environment Setup Enter the following to.cshrc or a c-shell command file. –setenv LM_LICENSE_FILE full_path/license.dat.
TOPIC : SYNTHESIS INTRODUCTION Module 4.3 : Synthesis.
ECE 545 Project 2 Specification. Schedule of Projects (1) Project 1 RTL design for FPGAs (20 points) Due date: Tuesday, November 22, midnight (firm) Checkpoints:
Programmable Logic Training Course HDL Editor
COE 202 Introduction to Verilog Computer Engineering Department College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
ECE 545 Project 2 Specification. Project 2 (15 points) – due Tuesday, December 19, noon Application: cryptography OR digital signal processing optimized.
1. 2 Preface In the time since the 1986 edition of this book, the world of compiler design has changed significantly 3.
 Seattle Pacific University EE Logic System DesignCAD-VHDL-1 The Grunt Work of Design Many design tasks require a lot of time and effort Forming.
04/06/031 ECE 551: Digital System Design & Synthesis Lecture Set 9 9.1: Constraints and Timing (In separate file) 9.2: Optimization - Part 1 9.3: Optimization.
Introduction to VHDL Simulation … Synthesis …. The digital design process… Initial specification Block diagram Final product Circuit equations Logic design.
Tools - Design Manager - Chapter 6 slide 1 Version 1.5 FPGA Tools Training Class Design Manager.
Kazi ECE 6811 ECE 681 VLSI Design Automation Khurram Kazi Thanks to Automation press THE button outcomes the Chip !!! Reality or Myth (most of the material.
George Mason University ECE 545 – Introduction to VHDL Logic Synthesis with Synopsys ECE 545 Lecture 11.
Modern VLSI Design 4e: Chapter 4 Copyright  2008 Wayne Wolf Topics n Combinational network delay. n Logic optimization.
2/1/20001 ECE 551: Digital System Design & Synthesis Lecture Set 7 7.1: Coding for if and case 7.2: Coding logic building blocks (In separate file) 7.3:
COE 202 Introduction to Verilog Computer Engineering Department College of Computer Sciences and Engineering King Fahd University of Petroleum and Minerals.
Standard & Canonical Forms COE 202 Digital Logic Design Dr. Aiman El-Maleh College of Computer Sciences and Engineering King Fahd University of Petroleum.
03/30/031 ECE Digital System Design & Synthesis Lecture Design Partitioning for Synthesis Strategies  Partition for design reuse  Keep related.
IAY 0600 Digital Systems Design Timing and Post-Synthesis Verifications Hazards in Combinational Circuits Alexander Sudnitson Tallinn University of Technology.
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
04/21/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Functional & Timing Verification 10.2: Faults & Testing.
EECE 320 L8: Combinational Logic design Principles 1Chehab, AUB, 2003 EECE 320 Digital Systems Design Lecture 8: Combinational Logic Design Principles.
Electrical and Computer Engineering 1 CPE 426/526 Armstrong and Gray- ASICs and the ASIC Design Process Dr. Rhonda Kay Gaede UAH.
ASIC Design Methodology
Synopsys PrimeTime.
Programmable Logic Devices: CPLDs and FPGAs with VHDL Design
Timing Analysis 11/21/2018.
Introduction to Verilog
ECE 551: Digital System Design & Synthesis
FPGA Tools Course Answers
THE ECE 554 XILINX DESIGN PROCESS
THE ECE 554 XILINX DESIGN PROCESS
Presentation transcript:

King Fahd University of Petroleum and Minerals Computer Engineering Department COE 561 Digital Systems Design and Synthesis (Course Activity) Synthesis using Synopsys Design Compiler Tutorial The Synthesis Flow (What, How & Why?) Presented by Mohammad IbrahimAl-BehwashiAdvisor Dr. Aiman El-Maleh Date Fall Semester (061)

2 Agenda Introduction to Design Compiler The Synthesis Process Flow Explain Each Step in the Flow Apply an example of a combinational circuit under Design Analyzer Apply an example of a sequential circuit under Design Analyzer Show the commands of each step

3 Introduction The Design Compiler is the core of the Synopsys synthesis software products. It includes tools that synthesis the HDL designs into optimized technology-dependent, gate level designs. It can optimize for speed, area and power.

4 Basic Synthesis Flow A view of the Design Compiler Function

5 Synthesis, Optimization and Compilation Synthesis : is the process that generates a gate-level netlist for an IC design that has been defined using a Hardware Description Language (HDL). Synthesis includes reading the HDL source code an optimizing the design from that description. Optimization : is the step in the synthesis process that attempts to implement a combination of library cells that best meet the functional timing, and area requirements of the design. Compile : is the Design Compiler command and process that executes the optimization step. After reading in the design performing the necessary tasks, the compile command is invoked to generate a gate- level netlist for the design. `

6 Basic Synthesis Flow 1)Develop HDL Files 2)Specify Libraries 3)Read Design 4)Define Design Environment 5)Set Design Constraints 6)Optimize the Design 7)Analyze and Resolve the Design Problems

7 1)Developing HDL Files and 2) Specifying Libraries Design data management, design partitioning and HDL code style  affect the synthesis and optimization processes Of course, use another program to do so. But you don’t need to compile the HDL file. Libraries : link, target and symbol libraries Link and target libraries : define the semiconductor vendor's set for cells and related information, such as cell names, cell pin names, delay arcs, pin loading, design rules and operating conditions. Symbol library : defines symbols for schematic and viewing the design. (Needed if GUI is to be used). Showing an example of a library

8 Step (3): Reading, Analyzing and Elaborating Designs Read :  Loading into the memory. (to see the designs loaded, use list_designs ) Analyze : Reads an HDL source file. Checks it for errors. Creates HDL library objects in an HDL intermediate format. Elaborate : Creates a technology-independent design from the intermediate files produced during analysis.

9 Step(4): Defining the Design Environment Define the environment in which the design is expected to operate. This includes, operating conditions, wired load models and system interface characteristics. Operating Conditions : temperature, voltage, and process variations. Wire load models estimate the effect of wire length on design performance. System interface characteristics include input drives, in/out loads and fan-out loads. The environment model directly affects the design synthesis results. Commands : set_drive set_driving_cell set_set_load set_fanout_load Most technology libraries have predefined sets of operating conditions. Use: read_lib report_lib commands to list the operating conditions defined in a technology.

10 Follow Step(4): Defining the Design Environment Example : set_operating_conditions WCCOM for setting the operating conditions to the worst case commercial. Defining Wire Load Models: Wire load modeling allows you to estimate the effect of wire length and fanout on the resistance, capacitance, and area of the nest. Example : set_wire_load "10x10". The model "10x10" is defined in the vendor’s library.

11 Step(5): Setting the Design Constraints (1) Design Rule Constraints (a) (Implicit design rules specified in the technology library). Specified by the vendor and must not be violated in order to get a proper functioning of the fabricated circuit. (b) Stricter Design Rules: maybe specified by the user (explicit design rules) (2) Optimization Constraints: Define timing and area optimization goals for Design Compiler. These constraints are user-specified Design Compiler optimizes the synthesis of the design, in accordance with these constraints, but not at the expense of the design rule constraints. In other words, Design Compiler never violates the higher-priority design rules.

12 Follow Step(5): Setting the Design Constraints (Design Rule Constraints) Setting Fanout Load Constraints : The maximum fanout load for a net is the maximum number of loads the net can drive. Example Set_max_fanout 16 Setting Capacitance Constraints Example Set_max_capacitance 3

13 Follow Step(5): Setting the Design Constraints (Optimization Constraints) Timing Constraints and Area Constraints. ( For Power constraints, the Synopsys Power Compiler is used ). Timing Constriants : specify the required performance of the design Steps for setting the timing constraints: (a) Define the clock (b) Specify I/O timing requirements relative to the clock (c) Specify the combinational path delay requirements (d) Specify the timing exceptions

14 Follow Step(5): Setting the Design Constraints ( Optimization Constraints – Timing Constriants Commands ) Example: create_clock clk1 –period 40 create_clock Defines the period and the waveform for the clock set_max_delay set_min_delay Defines maximum delay for combinational paths set_clock_latency set_propagated_clock set_clock_uncertainty Defines clock delay set_false_path Specifies false paths set_input_delay Defines timing requirements for input ports relative to the clock period set_multicycle_path Specifies multicycle paths set_output_dlay Defines timing requirements for output ports relative to the clock period report_clock Informs about all clock sources in the design

15 Follow Step(5): Setting the Design Constraints ( Optimization Constraints – Timing Constriants) (b) Specifying I/O timing requirements relative to the clock. When the signal will arrive to the port relative to the clock. Use report_port Command to list all I/O delays associated with ports. (c) Specifying Combinational Path Delay Requirements. For purely combinational delays that are not bounded by a clock period. Example max_delay 30.0 all_outputs()

16 Follow Step(5): Setting the Design Constraints ( Optimization Constraints – Area Constraints) Specify the maximum area for the current design. The unit used is the same as the one in the technology library Example max_area 100

17 Where Are We? 1)Develop HDL Files  2)Specify Libraries  3)Read Design  4)Define Design Environment  5)Set Design Constraints  6)Optimize the Design 7)Analyze and Resolve the Design Problems

18 Step (6): Design OpTMiZaTiOn Optimization is the Design Compiler synthesis step that maps the design to an optimal combination of specific target library cells, based on the design’s functional, speed and area requirements. Please go through chapter (8) in the Design Compiler User Guide for more information compile -map_effort high area_effort high

19 Follow Step(6): Design OpTMiZaTiOn (Levels of Optimization) 1- Architectural Optimization 2- Logic-level Optimization 3- Gate-level Optimization 1- Architectural Optimization : Works on the HDL description. It includes such high-level synthesis tasks as: -Sharing common sub-expressions -Sharing resources -Re-ordering operators * The output is a generic technology independent net list. * High level synthesis tasks are based on the constraints and on the HDL coding style.

20 Follow Step(6): Design OpTMiZaTiOn (2- Logic Level Optimization) It works on the net list produced by Architectural Optimization. Two processes are involved: (a) Structuring: Adds intermediate variables and logic structures to a design, which can result in reduced design area. How it works? (1) Design Compiler searches for the sub- functions that can be factored out and evaluates these factors, based on: -the size of the factor and -the number of times the factor appears in the design. (2) Design compiler turns the sub-functions that most reduce the logic into intermediate variables and factors them out of the design equations.

21 Follow Step(6): Design OpTMiZaTiOn (Logic Level Optimization – continued..) Structuring is done by default by Design Compiler. Commands: set_structure -flag true -boolean_effort 3 –deisgn deaignName (b) Flattening: Converts the combinational logic paths of the design to a two level, sum of products representation. -Useful for speed optimization because it leads to just two levels of combinational logic. -However, it may increase area. -Design Compiler removes all intermediate variables, and therefore all its associated logic structure, from a design. -It is preferred to do Flattening for logic in the critical path only for huge designs. Commands: set_flatten -flag true -effort 3 –deisgn deaignName

22 Follow Step(6): Design OpTMiZaTiOn (3- Gate-Level Optimization) Works on the generic net list created by logic synthesis to produce a technology-specific net list. Composed of: (1) Mapping, (2) Delay Optimization, (3) Design Rule Fixing and (4) Area optimization. Mapping: Uses gates from the target technology libraries to generate a gate-level implementation of the design whose goal is to meet timing and area goals.

23 Follow Step(6): Design OpTMiZaTiOn (3- Gate-Level Optimization – Continued..) Delay Optimization: Fixes the delay violations introduced in the mapping phase. Design Rule Fixing: The process goal is to correct design rule violations by inserting buffers or resizing existing cells. Design compiler may violate the optimization constraints. Area Optimization: The process goal is to meet the area constraints after the previous three steps. However, design rule violations are avoided. Command compile area_effort high

24 Follow Step(6): Design OpTMiZaTiOn (continued..) Performing a High-Effort Compile: -Pushes Design Compiler to the extreme to achieve the design goal. Performing a High-Effort Incremental Compile -May improve the compile performance of a high effort compile -It experiments deferent approaches for gate level optimization -It does not perform logic level optimization -It works best for a technology library that has many variations of each logic cell Command : compile –map_effort high –incremental_mapping

25 Where Are We? 1)Develop HDL Files  2)Specify Libraries  3)Read Design  4)Define Design Environment  5)Set Design Constraints  6)Optimize the Design  7)Analyze and Resolve the Design Problems (if any)

26 Final Step: Analyze and Resolve the Design Problems (if any) Commands : check_design report_area report_constraint report_timing

27 References Design Compiler User Guide by Synopsys, Version Other Useful Links: s/compilers/vsynt.htmlhttp:// s/compilers/vsynt.html