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

Similar documents
Getting a Quick Start 2

Preparing for Optimization 7

Graduate Institute of Electronics Engineering, NTU Synopsys Synthesis Overview

Graduate Institute of Electronics Engineering, NTU Synopsys Synthesis Overview

A. Setting Up the Environment a. ~/ece394 % mkdir synopsys b.

Multiple Clocks and Timing Exceptions

Specifying Timing Exceptions

Lecture 11 Logic Synthesis, Part 2

Overview. Design flow. Principles of logic synthesis. Logic Synthesis with the common tools. Conclusions

Automated Synthesis from HDL models. Design Compiler (Synopsys) Leonardo (Mentor Graphics)

Behavioral Modeling and Timing Constraints

EE4415 Integrated Digital Design Project Report. Name: Phang Swee King Matric Number: U066584J

SmartTime for Libero SoC v11.5

Timing Constraints Editor User Guide

Logic Synthesis. Logic Synthesis. Gate-Level Optimization. Logic Synthesis Flow. Logic Synthesis. = Translation+ Optimization+ Mapping

Introduction to Design Compiler

VIVADO TUTORIAL- TIMING AND POWER ANALYSIS

COE 561 Digital System Design & Synthesis Introduction

Part B. Dengxue Yan Washington University in St. Louis

Design Rules and Min Timing

UG0776 User Guide PolarFire FPGA Design Constraints

RTL Coding General Concepts

Compile RISC_CORE. Learning Objectives. After completing this lab, you should be able to: Perform a top-down compile strategy on the RISC_CORE design

Intel Quartus Prime Standard Edition User Guide

CS/EE 6710 Digital VLSI Design Tutorial on Cadence to Synopsys Interface (CSI)

Altera Quartus II Synopsys Design Vision Tutorial

EECS 151/251A ASIC Lab 6: Power and Timing Verification

DC-Tcl Procedures. Learning Objectives. After completing this lab, you should be able to: Write generic DC-Tcl procedures. Lab Duration: 30 minutes

HDL Compiler Directives 7

ProASIC PLUS Timing Closure in Libero IDE v5.2

Agenda: Day Two. Unit 6: Specifying Timing Exceptions DAY 2. I/O Paths and Exceptions. Constraining I/O Interface Paths

Push-button Synthesis or, Using dc_perl to do_the_right_thing

TOPIC : Verilog Synthesis examples. Module 4.3 : Verilog synthesis

8. Switching to the Quartus II TimeQuest Timing Analyzer

Introduction to Verilog

Tutorial for Verilog Synthesis Lab (Part 2)

Laboratory 5. - Using Design Compiler for Synthesis. By Mulong Li, 2013

RTL Synthesis using Design Compiler. Dr Basel Halak

A Comparison of Hierarchical Compile Strategies

Topics. FPGA Design EECE 277. Interconnect and Logic Elements Part 2. Laboratory Assignment #1 Save Everything!!! Guest Lecture

VHDL. Chapter 1 Introduction to VHDL. Course Objectives Affected. Outline

Timing Analyzer Quick-Start Tutorial

A GENERATION AHEAD SEMINAR SERIES

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

My Second FPGA for Altera DE2-115 Board

MODELING LANGUAGES AND ABSTRACT MODELS. Giovanni De Micheli Stanford University. Chapter 3 in book, please read it.

EE 4755 Digital Design Using Hardware Description Languages

Introduction to STA using PT

ENGN 1630: CPLD Simulation Fall ENGN 1630 Fall Simulating XC9572XLs on the ENGN1630 CPLD-II Board Using Xilinx ISim

Performing STA. Learning Objectives

Behavioral Modeling and Timing Constraints

Hardware Verification Group. Department of Electrical and Computer Engineering, Concordia University, Montreal, Canada. CAD Tool Tutorial.

Unit 2: High-Level Synthesis

Setup file.synopsys_dc.setup

EE194-EE290C. 28 nm SoC for IoT

Kyoung Hwan Lim and Taewhan Kim Seoul National University

Lab. Course Goals. Topics. What is VLSI design? What is an integrated circuit? VLSI Design Cycle. VLSI Design Automation

Asic Design ET Alexander de Graaf, EEMCS/ME/CAS 5/20/14. Challenge the future. Delft University of Technology

Pipelined MIPS CPU Synthesis and On-Die Representation ECE472 Joseph Crop Stewart Myers

FishTail: The Formal Generation, Verification and Management of Golden Timing Constraints

Intel Quartus Prime Standard Edition User Guide

Overview of Digital Design Methodologies

Outline. SoC Encounter Flow. Typical Backend Design Flow. Digital IC-Project and Verification. Place and Route. Backend ASIC Design flow

Logic Synthesis ( Prof. Dejan Marković VLSI Design Flow. Specifications & System Simulation (MATLAB, Simulink, C++)

VHDL for Synthesis. Course Description. Course Duration. Goals

Introduction to CMOS VLSI Design (E158) Lab 4: Controller Design

Introduction to VHDL. Module #5 Digilent Inc. Course

Verilog for High Performance

Partitioning for Better Synthesis Results

Bits and Pieces of CS250 s Toolflow

Actel Libero TM Integrated Design Environment v2.3 Structural Schematic Flow Design Tutorial

EE183 LAB TUTORIAL. Introduction. Projects. Design Entry

CHAPTER 1 INTRODUCTION

Lecture 8: Synthesis, Implementation Constraints and High-Level Planning

ECE 4514 Digital Design II. Spring Lecture 20: Timing Analysis and Timed Simulation

EE 330 Laboratory Experiment Number 11 Design, Simulation and Layout of Digital Circuits using Hardware Description Languages

Digital Systems Laboratory

1 Design Process HOME CONTENTS INDEX. For further assistance, or call your local support center

CPE/EE 427, CPE 527, VLSI Design I: Tutorial #4, Standard cell design flow (from verilog to layout, 8-bit accumulator)

Vivado Design Suite User Guide

Vivado Design Suite User Guide

Chapter 5: ASICs Vs. PLDs

PrimeTime: Introduction to Static Timing Analysis Workshop

EE 4755 Digital Design Using Hardware Description Languages

EECS150 - Digital Design Lecture 10 Logic Synthesis

Verilog for Combinational Circuits

Lab 7 (Sections 300, 301 and 302) Prelab: Introduction to Verilog

11. Synopsys Design Compiler FPGA Support

EE 5327 VLSI Design Laboratory Lab 8 (1 week) Formal Verification

Agenda: Day One 3-1 DAY. Welcome. Introduction to Static Timing Analysis. Writing Basic Tcl Constructs in PT. Constraining Internal Reg-Reg paths

ASIC Design Flow. P.Radhakrishnan, Senior ASIC-Core Development Engineer, Toshiba, 1060, Rincon Circle, San Jose, CA (USA) Jan 2000 (Issue-3)

Introduction to Design With Verilog. Synopsys University Courseware 2008 Synopsys, Inc. Lecture - 3 Developed By: Paul D. Franzon

Graduate Institute of Electronics Engineering, NTU. Lecturer: Chihhao Chao Date:

SmartTime Static Timing Analyzer User Guide SmartFusion2, IGLOO2, RTG4, and PolarFire

ESE 570 Cadence Lab Assignment 2: Introduction to Spectre, Manual Layout Drawing and Post Layout Simulation (PLS)

Graduate Institute of Electronics Engineering, NTU FPGA Design with Xilinx ISE

An overview of standard cell based digital VLSI design

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis

Lecture 2 Hardware Description Language (HDL): VHSIC HDL (VHDL)

VHDL Sample Slides Rev Sample Slides from the 2-day and 4-day VHDL Training Courses

Transcription:

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-Behwashi Advisor Dr. Aiman El-Maleh Date 16-11-2006 Fall Semester (061) 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 2 1

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. 3 Basic Synthesis Flow VHDL or Verilog File D E S I G N C O M P I L ER Synthesis; Optimize for area, speed and power Mapped, technology dependent netlist (go for place and route / post layout synthesis) A view of the Design Compiler Function 4 2

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 gatelevel netlist for the design. ` 5 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 6 3

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 7 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. 8 4

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. 9 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. 10 5

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. 11 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 12 6

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

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() 15 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 16 8

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 17 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 18 9

References Design Compiler User Guide by Synopsys, Version 2002.05 Other Useful Links: http://www.ecs.syr.edu/faculty/ercanli/cse664/synopsys.htm http://www-ece.engr.utk.edu/~sowmyan/synthesis.html http://www.altera.com/support/software/eda_maxplus2/synopsy s/compilers/vsynt.html 19 10