Lecture 11 Logic Synthesis, Part 2

Similar documents
TOPIC : Verilog Synthesis examples. Module 4.3 : Verilog synthesis

Implementing Tile-based Chip Multiprocessors with GALS Clocking Styles

RTL Synthesis using Design Compiler. Dr Basel Halak

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

Part B. Dengxue Yan Washington University in St. Louis

Lecture 15: System Modeling and Verilog

Verilog for High Performance

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

Getting a Quick Start 2

ECE 4514 Digital Design II. Spring Lecture 13: Logic Synthesis

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

VHDL for Synthesis. Course Description. Course Duration. Goals

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

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

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

Verilog Execution Semantics

HOW TO SYNTHESIZE VERILOG CODE USING RTL COMPILER

Synthesizable Verilog

EN164: Design of Computing Systems Lecture 07: Lab Foundations / Verilog 3

An overview of standard cell based digital VLSI design

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

VIVADO TUTORIAL- TIMING AND POWER ANALYSIS

Tutorial 2.(b) : Synthesizing your design using the Synopsys Design Compiler ( For DFT Flow)

18. Synopsys Formality Support

Lecture 12 VHDL Synthesis

Digital IC- Project 1. Place and Route. Oskar Andersson. Oskar Andersson, EIT, LTH, Digital IC project and Verifica=on

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1

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

Using Synopsys Design Constraints (SDC) with Designer

ASIC Development. ASIC Classes. What s an ASIC, Anyhow? ASIC Methodology. Abstract Representations 2/16/2018

Graduate Institute of Electronics Engineering, NTU Synopsys Synthesis Overview

CAD for VLSI Design - I. Lecture 21 V. Kamakoti and Shankar Balachandran

EE 466/586 VLSI Design. Partha Pande School of EECS Washington State University

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

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

Setup file.synopsys_dc.setup

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis

An Overview of Standard Cell Based Digital VLSI Design

PrimeTime: Introduction to Static Timing Analysis Workshop

Recommended Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto

Partitioning for Better Synthesis Results

Vivado Design Suite User Guide

Vivado Design Suite User Guide

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

Verilog Overview. Verilog Overview. Simple Example. Simple Example. Simple Example. Simple Example

Sunburst Design - Comprehensive SystemVerilog Design & Synthesis by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst Design, Inc.

CSE140L: Components and Design Techniques for Digital Systems Lab

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

SmartTime for Libero SoC v11.5

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

A Comparison of Hierarchical Compile Strategies

Advanced FPGA Design. Jan Pospíšil, CERN BE-BI-BP ISOTDAQ 2018, Vienna

Verilog Tutorial. Verilog Fundamentals. Originally designers used manual translation + bread boards for verification

Verilog Tutorial 9/28/2015. Verilog Fundamentals. Originally designers used manual translation + bread boards for verification

ECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog

VHDL: RTL Synthesis Basics. 1 of 59

CSE140L: Components and Design

RTL Power Estimation and Optimization

EEL 4783: HDL in Digital System Design

EE-382M VLSI II. Early Design Planning: Front End

HDL Compiler Directives 7

Writing Circuit Descriptions 8

CS250 DISCUSSION #2. Colin Schmidt 9/18/2014 Std. Cell Slides adapted from Ben Keller

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

Assignment. Last time. Last time. ECE 4514 Digital Design II. Back to the big picture. Back to the big picture

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

VLSI Testing. Fault Simulation. Virendra Singh. Indian Institute of Science Bangalore

Tutorial for Verilog Synthesis Lab (Part 2)

Intel Quartus Prime Standard Edition User Guide

VLSI Testing. Virendra Singh. Bangalore E0 286: Test & Verification of SoC Design Lecture - 7. Jan 27,

FABRICATION TECHNOLOGIES

Standard Cell Based Design Flow Using Modelsim, Buildgates, and Silicon Ensemble

World Class Verilog & SystemVerilog Training

Sequential Circuit Design: Principle

11. Synopsys Design Compiler FPGA Support

Part 4: VHDL for sequential circuits. Introduction to Modeling and Verification of Digital Systems. Memory elements. Sequential circuits

Cell-Based Design Flow. TA : 吳廸優

Design Rules and Min Timing

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

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

Verilog for Synthesis Ing. Pullini Antonio

Graphics: Alexandra Nolte, Gesine Marwedel, Universität Dortmund. RTL Synthesis

Verilog Sequential Logic. Verilog for Synthesis Rev C (module 3 and 4)

Verilog HDL. A Guide to Digital Design and Synthesis. Samir Palnitkar. SunSoft Press A Prentice Hall Title

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

Digital Design LU. Lab Exercise 1

Modeling Sequential Circuits in Verilog

Design Compiler Graphical Create a Better Starting Point for Faster Physical Implementation

Multiple Clocks and Timing Exceptions

Altera Quartus II Synopsys Design Vision Tutorial

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

Hardware Verification Group

ECE 4514 Digital Design II. Spring Lecture 15: FSM-based Control

Logic Synthesis. EECS150 - Digital Design Lecture 6 - Synthesis

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

Cell-Based Design Flow. 林丞蔚

Bits and Pieces of CS250 s Toolflow

EEL 4783: HDL in Digital System Design

Asynchronous FIFO Design

ICS 252 Introduction to Computer Design

Transcription:

Lecture 11 Logic Synthesis, Part 2 Xuan Silvia Zhang Washington University in St. Louis http://classes.engineering.wustl.edu/ese461/

Write Synthesizable Code Use meaningful names for signals and variables Don't mix level and edge sensitive elements in the same always block Avoid mixing positive and negative edge-triggered flip-flops Use parentheses to optimize logic structure Use continuous assign statements for simple combo logic Use nonblocking for sequential and blocking for combo logic Don't mix blocking and nonblocking assignments in the same always block (even if Design compiler supports them!!). Be careful with multiple assignments to the same variable Define if-else or case statements explicitly 2

Memory Synthesis Random logic using flip-flops or latches use large vector or arrays in HDLs inefficient in areas and performance e.g.: a flip-flop takes up to 10 to 20 times area of a 6T SRAM cell Register files in datapaths synthesized to a datapath component dependent on software tool and technology Memory compilers most area-efficient and high-performance solution foundry, tool, or 3 rd party provider 3

4 Outline Write Synthesizable Code Write Synthesis Script

Design Flow of Synthesis Set search paths and timing library Load HDL file Perform elaboration Apply Constraints Apply Optimization settings Synthesis Analysis for constraints Export Design Netlist and SDC 19

20

Design Flow of Synthesis Set search paths search_path This is the search path for source files and also the the technology library files Use set command set search_path <path> where <path> is the full path of your target library, script, or HDL file locations. analyze Will translates HDL to intermediate format read_verilog Will do the job of analyze and elaborate 21

Design Flow of Synthesis Performing Elaboration elaborate Builds data structures Infers registers and latches in the design Performs high-level HDL optimization, such as dead code removal Checks semantics: meaning of sub blocks 22

Design Flow of Synthesis Applying Constraints The constraints include Operating conditions Clock waveforms I/O timing You can apply constraints in several ways Type them manually in the RTL Compiler shell Include a constraints file Read in SDC constraints Two types of constraint Design Rule Check Optimization Constraints 23

Design Flow of Synthesis Applying Optimization Constraints DRC Timing Power Area You can perform any of the following optimizations Remove designer-created hierarchies (ungrouping) Create additional hierarchies (grouping) Synthesize a sub-design Create custom cost groups for paths in the design to change the synthesis cost function 24

Design Flow of Synthesis compile _ultra Optimization on full design and complete paths Usually gives best optimization result No iteration required Simpler constraints Simpler data management More processing required More memory required 11

Design Flow of Synthesis Reports Timing: any violation in the timing reports leads to error. Usually solved by operating at lower clock frequencies Area: the rough cell area report before making place and route Power: depends on the operating conditions. Some Technology libraries provide WCCOM option for simulating at worst case conditions Design: overview of the whole simulation in DC compiler 12

Synopsys Design Constraints (SDC) Specify the design intent, including the timing, power, and area constraints for a design SDC is Tcl based Information in the SDC The SDC version (optional) The SDC units (optional) The Design Constraints Comments (optional) 27

Synopsys Design Constraints SDC version: Variable name: sdc_version e.g.: set sdc_version 1.9 SDC Units Command name: set_units Specify units for capacitance, resistance, time, voltage, current, and power e.g.: set_units capacitance 1pF e.g.: set_units time 1ns 28

Synopsys Design Constraints 29

Synopsys Design Constraints 30

Synopsys Design Constraints 31

Synopsys Design Constraints create_clock Name Period Waveform [get_ports {}] e.g.: create_clock name clk add period 500.0 waveform {0, 250} [get_ports{clk}] 32

Technology Library files db file the actual information about the cells used in the linking sdb file information about the symbols used for the cells in the standard cell library used in the process of P&R because we can see the black boxes instead of the gate level logic. LEF file related to the P&R tools layout exchange file which has information regarding no of layers of metal used or available for P&R. 19

Lab #4: Dual-Clock FIFO Due 10/19 (Wednesday) Cross different clock domains handshake signaling asynchronous first-in-first-out buffer (FIFO) FIFO two interfaces two clocks one for write, one for read 20

21 Questions? Comments? Discussion?