synopsys synthesis overview -...

86
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Synopsys Synopsys Synthesis Overview Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06

Upload: phungphuc

Post on 10-Jun-2018

233 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

ACCESS IC LAB

Graduate Institute of Electronics Engineering, NTU

SynopsysSynopsys Synthesis OverviewSynthesis Overview

Lecturer: 沈文中Date: 2005.05.06

Page 2: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 2Synopsys Synthesis 2005.05.06

OutlineOutlinevIntroductionvSynopsys Graphical EnvironmentvSetting Design EnvironmentvSetting Design ConstraintsvDesign OptimizationvFinite State Machine OptimizationvSynthesis Report and Analysis

Page 3: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 3Synopsys Synthesis 2005.05.06

What is SynthesisWhat is SynthesisvSynthesis = translation + optimization

Page 4: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 4Synopsys Synthesis 2005.05.06

vSynthesis is Constraint DrivenvTechnology Independent

Page 5: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 5Synopsys Synthesis 2005.05.06

Logic Synthesis OverviewLogic Synthesis Overview

Page 6: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 6Synopsys Synthesis 2005.05.06

Tools We will UseTools We will Use

Enable synthesis using DesignWare libraryDesign Ware

Design for TestingDfT Compiler

Static Timing Analysis (STA) engineDesign Time

Constraint driven logic optimizerDesign Compiler

Translate Verilog descriptions into Design CompilerHDL Compiler

User Graphical Interface of synopsyssynthesis toolDesign Vision

PurposeTool

Page 7: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 7Synopsys Synthesis 2005.05.06

Design VisionDesign Vision

Page 8: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 8Synopsys Synthesis 2005.05.06

HDL CompilerHDL Compiler

always @(reset or set)begin : direct_set_resetif (reset)

y=1'b0;else if (set)

y=1'b1;endalways @(gate or reset)if (reset)t=1'b0;

else if (gate)t=d;

HDL Comipler

HDL Compiler translatesVerilog HDL descriptionsinto Design Compiler asSynopsys design block

Page 9: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 9Synopsys Synthesis 2005.05.06

HDL CompilerHDL Compilerv In schematic view, we can see the Verilog file is translated with

a GTECH library (the synopsys default)

Page 10: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 10Synopsys Synthesis 2005.05.06

Design CompilerDesign Compilerv Design Compiler maps Synopsys design block to gate level

design with a user specified library

TechnologyLibrary

Page 11: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 11Synopsys Synthesis 2005.05.06

Design Compiler InteractionDesign Compiler Interactionv Three ways to interface

DesignCompiler

(DC)

dc_shell(Legacy Interface)

dc_shell –t(TCL Interface)

Design Vision(GUI)

dv –dcsh_mode

dv

dc_shell

Command line

Page 12: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 12Synopsys Synthesis 2005.05.06

SynopsysSynopsys Related FilesRelated Files

v Notev These 3 files are always read in the same order.v Any repeated command can override the previous one.

Set path and environment variables and license check.cshrc

Three distinct files are read and executed when DC is invoked1. system-wide (do not modify):

(e.g. $SYNOPSYS/admin/setup/)2. User’s home directory (e.g. ~think/)3. User’s current working directory (e.g. ~think/dv/)

.synopsys_dc.setup

Set X terminal display variables.Xdefault

PurposeFiles

Page 13: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 13Synopsys Synthesis 2005.05.06

SynopsysSynopsys OnOn--Line Documentation (SOLD)Line Documentation (SOLD)v Invoke Synopsys On-Line Document using the commandv unix%> acroread /usr/synopsys/sold/cur/top.pdf

v Note: whenever you find a question, check SOLD first

Page 14: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 14Synopsys Synthesis 2005.05.06

What .What .synopsys_dc.setupsynopsys_dc.setup defineddefinedv link_library: the library used for interpreting input

descriptionv Any cells instantiated in your HDL codevWire Load or Operating Condition models used during

synthesisv target_library: the ASIC technology that the design is

mapped tov symbol_library: used during schematic generationv search_path: the path to search for unsolved

reference library or designv synthetic_library: designware library to be usedv Other variables

Page 15: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 15Synopsys Synthesis 2005.05.06

..synopsys_dc.setupsynopsys_dc.setup filefilev In CIC cell_based flow, we support compass 0.35um

cell library, the .synopsys_dc.setup file is as follows

search_path ={. /your_path/CIC_CBDK35_V3/Synopsys}+search_path;link_library = {“*”, “cb35os142.db”, “dw_foundation.sldb”} ;target_library = {cb35os142.db};symbol_library ={generic.sdb} ;synthetic_library ={“dw_foundation.sldb”};

hdlin_translate_off_skip_text = "TRUE"edifout_netlist_only = "TRUE"verilogout_no_tri = true ;plot_command = "lpr -Plp" ;\view_script_submenu_items = \{"Avoid assign statement", "set_fix_multiple_port_nets -all -buffer_constant",\"Change Naming Rule", "change_names -rule verilog -hierarchy", \"Write SDF", "write_sdf -version 1.0 -context verilog chip.sdf"}

Page 16: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 16Synopsys Synthesis 2005.05.06

Synthesis Design FlowSynthesis Design FlowSpecification

RTL Coding Prepare

Setting Design Environment

Setting Design Constraint

Compile Design

Analysis

CellLibrary

Gate-level Netlist

v Develop the HDL design description and simulate the design description to verify that it is correct.

v Set up the .synopsys_dc.setup file.v Set the appropriate technology,

synthetic, and symbol libraries, target libraries, and link libraries.

v Set the necessary compilation options, including options to read in the input files and specify the output formats.

v Read the HDL design description.v Define the design.

v Set design attributesv Define environmental conditionsv Set design rulesv Set realistic constraints (timing and

area goals)v Determine a compile methodology

Page 17: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

ACCESS IC LAB

Graduate Institute of Electronics Engineering, NTU

SynopsysSynopsys Graphical EnvironmentGraphical Environment

Page 18: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 18Synopsys Synthesis 2005.05.06

Invoke Design VisionInvoke Design Visionv Unix%> dv &

dc_shellcommand

Page 19: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 19Synopsys Synthesis 2005.05.06

Optimization Using the Design VisionOptimization Using the Design VisionvFile/Analyze & File/Elaborate - Verilog &VHDL,

or File/Read - all other formatsvAttributes - set up Design Environment &

GoalsvAnalysis/Report - check if set up is OKvAnalysis/Check DesignvTools/Design OptimizationvAnalysis/ReportvFile/Save

Page 20: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 20Synopsys Synthesis 2005.05.06

Analyze & ElaborateAnalyze & ElaboratevUse analyze and elaborate to bring Verilog or

VHDL files into design compiler memoryvAnalyze does syntax checking and produces

an intermediate .syn .mra files to be stored in a design libraryvElaborate looks in the design library for

the .syn file and builds the design up into design compiler memory (as design block)

Page 21: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 21Synopsys Synthesis 2005.05.06

AnalyzeAnalyzev Check VHDL & Verilog for

syntax and synthesizabilityv Create intermediate .syn

and .mra files and places them in library specified –design library

v Equivalent to dc_shell command

File/Analyze

analyze -format verilog –library WORK counter.v

Page 22: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 22Synopsys Synthesis 2005.05.06

ElaborateElaboratev Elaborate after analyze to

bring design into Design Compiler memory using generic components (GTECH)

v Look in the design library for intermediate .syn file for design specified

v Equivalent dc_shell commandelaborate counter -architecture verilog -library WORK -update

File/Elaborate

Page 23: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 23Synopsys Synthesis 2005.05.06

Read FileRead Filev Read netlists or other design

descriptions into Design Compiler

v File/Readv Support many different formats:

v synopsys internal formatsDB(binary): .dbequation: .eqn

v state table: .stv Verilog: .vv VHDL: .vhdv PLA(Berkeley Espresso): .plav EDIF

Page 24: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 24Synopsys Synthesis 2005.05.06

Four Types of IconFour Types of Icon

v EQUATIONv Equation, or non-netlist VHDL or Verilog format

v PLAv Programmable logic array format

v FSMv Finite-state-machine design represented as a state table

v NETLISTv Design was read in as a netlist (including structural VHDL

and Verilog ), or it has been optimized

Page 25: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 25Synopsys Synthesis 2005.05.06

Describe the Design EnvironmentDescribe the Design Environmentv You can use Design Vision to constrain your design

Page 26: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 26Synopsys Synthesis 2005.05.06

Compile the DesignCompile the Designv The compile command optimizes and maps the current_design

Page 27: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 27Synopsys Synthesis 2005.05.06

Report the DesignReport the Designv From report and analysis, you can find the set attributes and the

results after optimization

Page 28: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 28Synopsys Synthesis 2005.05.06

Save the DesignSave the Designv Write out the design netlist after synthesis

Page 29: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 29Synopsys Synthesis 2005.05.06

Link DesignLink DesignvAnalysis/Link DesignvExecute link -all before you optimize your

designvTo ensure all sub-elements of your

hierarchical design are available

Page 30: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 30Synopsys Synthesis 2005.05.06

Check DesignCheck DesignvAnalysis/Check DesignvExecute check_design before you optimize

your designvTwo types of messages are issuedverrorvError: In design ‘bcd7segs’, cell ‘decoder’ has

more pins than it’s reference ‘d1’ has portsvwarningsvWarning: In design ‘converter’, port ‘A’ is not

connected to any nets

Page 31: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 31Synopsys Synthesis 2005.05.06

Different View Different View -- Design ViewDesign View

HierarchySchematicSymbol

ViewIndicator

CurrentDesignIndicator

Page 32: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

ACCESS IC LAB

Graduate Institute of Electronics Engineering, NTU

Design Constraints SettingsDesign Constraints Settings

vSetting Design EnvironmentvSetting Design Constraint

Page 33: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

ACCESS IC LAB

Graduate Institute of Electronics Engineering, NTU

Setting Design EnvironmentSetting Design Environment

Page 34: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 34Synopsys Synthesis 2005.05.06

Design ObjectsDesign Objectsv Seven Types of Design Objects:

v Design: A circuit that performs one or more logical functions

v Cell: An instance of a design or library primitive within a design

v Reference: The name of the original design that a cell instance “points to”

v Port: The input or output of a designv Pin: The input or output of a cellv Net: The wire that connects ports to pins and/or pins to

each otherv Clock: A timing reference object in DC memory which

describes a waveform for timing analysis

Page 35: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 35Synopsys Synthesis 2005.05.06

Design Objects Design Objects (Schematic Perspective)(Schematic Perspective)

Page 36: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 36Synopsys Synthesis 2005.05.06

Design Objects Design Objects (Verilog Perspective)(Verilog Perspective)

Page 37: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 37Synopsys Synthesis 2005.05.06

Design Objects ExerciseDesign Objects Exercise

v Make a list of all the ports in the design?{ A, B, CLK, SUM }v Make a list of all the cells that have the letter “U” in their name?

{ADDER/U1, DFF/U2 }v Make a list of all the nets ending with “CLK”? {CLK }v Make a list of all the “Q” pins in the design? {U2/Q}v Make a list of all the references? {ADDER,DFF }

Page 38: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 38Synopsys Synthesis 2005.05.06

Partitioning for SynthesisPartitioning for Synthesisv Register at hierarchical output, keep related

combinational logic together at the same modulev Separate modules having different design goalsv Avoid asynchronous logic, false path, and multi-cycle

pathv Avoid the glue logicv Keep major blocks separatev Additional Issues

Page 39: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 39Synopsys Synthesis 2005.05.06

Register at Hierarchical OutputRegister at Hierarchical OutputvKeep related combination logic in a single

module.vRegister all at output make input data arrival

time and output drive strength predictable.

Page 40: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 40Synopsys Synthesis 2005.05.06

Partition by Design GoalsPartition by Design GoalsvOptimize the critical path logic for speedvOptimize non-critical path logic for area.

Page 41: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 41Synopsys Synthesis 2005.05.06

Avoid NonAvoid Non--normal Pathsnormal Pathsv Asynchronous logic is more difficult to design

correctly and verify.v Isolating the asynchronous logic in a separate

module.v False path and multi-cycle paths easily cause the

human error.v If false and multi-cycle paths required, use

set_false_path and set_multicycle_path command to identify.

Page 42: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 42Synopsys Synthesis 2005.05.06

Avoid Glue LogicAvoid Glue LogicvNo Cells except at leaf levels of hierarchyvAny extra gates should be grouped into a

sub-design

Page 43: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 43Synopsys Synthesis 2005.05.06

Why Describes the Real World Why Describes the Real World EnvironmentEnvironment

v Beware that the defaults are not realistic conditions.v Input drive is not infinitev Capacitive loading is usually not zerov Consider process, temperature, and voltage variation

v The operating environment affects the components selected from target library and timing through your design.

v The real world environment you define describes the conditions that the circuit will operate within.

Page 44: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 44Synopsys Synthesis 2005.05.06

Describing Design EnvironmentDescribing Design Environment

Page 45: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 45Synopsys Synthesis 2005.05.06

Setting Operating EnvironmentSetting Operating Environmentv Attributes/Operating Environment

Page 46: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 46Synopsys Synthesis 2005.05.06

Setting Operating ConditionSetting Operating Conditionv Attributes/Operating Environment/Operating Condition

v dc_shell> set_operating_conditions “slow”

Page 47: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 47Synopsys Synthesis 2005.05.06

Operating ConditionOperating Conditionv Operating condition model scales components delay,

directs the optimizer to simulate variations in process, temperature, and voltage.

Page 48: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 48Synopsys Synthesis 2005.05.06

Input Drive ImpedanceInput Drive ImpedancevTdelay = T0 + Ac *CloadvT0 : cell pin to pin intrinsic delayvAc : drive impedance (unit: ns/pf)

Page 49: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 49Synopsys Synthesis 2005.05.06

Setting Input Drive ImpedanceSetting Input Drive Impedancev Attribute/Operating

Environment/Drive Strength

Page 50: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 50Synopsys Synthesis 2005.05.06

Setting Input Drive ImpedanceSetting Input Drive Impedancev Also can be set using

“drive_of” commandv Example: (P2A cell output)

Page 51: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 51Synopsys Synthesis 2005.05.06

Setting Output LoadingSetting Output Loadingv Attribute/Operating Environment/Load

Page 52: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 52Synopsys Synthesis 2005.05.06

Setting Output LoadingSetting Output Loadingv Also can be set using load_of:v Example: (bufferd1 cell input)

Page 53: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 53Synopsys Synthesis 2005.05.06

Port ReportPort Reportv dc_shell command

v dc_shell> report_port -verbose {port_list }

v or in the option menu set verbose

Page 54: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 54Synopsys Synthesis 2005.05.06

Drive Strength & Load for PadsDrive Strength & Load for Padsv How do you specify the Drive Strength & Output Load for the

pins which connect to pads ?v Example:

v In CIC’s cell_based design flow, we use the Avant! 0.35um cell library. In this library we can find a file named “ds_cb35io122.pdf” , andin this file we can find the information for the pads you want to use.

1. Based on the information, set the input drive strength & output load.

2. Or extract the pad boundary condition by using characterize command, we’ll introduce it later.

Page 55: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 55Synopsys Synthesis 2005.05.06

Drive Strength & Load for PadsDrive Strength & Load for Padsv Input Drive Strength for Pads

v Output Load for Pads

“ds_cb35io122.pdf”

Page 56: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 56Synopsys Synthesis 2005.05.06

Setting the Setting the FanoutFanout LoadLoadv Use fanout_load to regulate max_fanoutv Syntax: set_fanout_load fanout portlist (for listed output ports)v Design Rule: external fanout_load + internal fanout_load must

be smaller than max_fanout_loadv “OUT”has external fanout_load 4.5 (1.5 x 3)v “OUT”has external capacitance 6 (2 x 3)v “OUT”has the number of fanout 3 (3 buffers)

Page 57: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 57Synopsys Synthesis 2005.05.06

Setting Wire Load ModelSetting Wire Load Modelv Wire load model estimates wire capacitance based on chip area & cell

fanoutv Setting this information during compile in order to model the design

more accuratelyv Attributes/Operating Environment/Wire Load

Page 58: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 58Synopsys Synthesis 2005.05.06

Setting Wire Load Model (cont.)Setting Wire Load Model (cont.)

v Syntax: set_wire_load wire_load_name –mode modev Use –mode option, you can specify which wire load model

to use for nets that cross hierarchical boundaries.

Page 59: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

ACCESS IC LAB

Graduate Institute of Electronics Engineering, NTU

Setting Design ConstraintsSetting Design Constraints

Page 60: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 60Synopsys Synthesis 2005.05.06

Delay ConstraintsDelay Constraintsv For combinational circuits

primarilyv Select the start & end points

of the timing pathv Attributes/Optimization

Constraints/Timing Constraints

set_max_delay 10 -from clock -to counter

Page 61: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 61Synopsys Synthesis 2005.05.06

Specify Clock Constrains Specify Clock Constrains v Select clock portv Attributes/Clocks/Specify v creat_clock : define your clock’s

waveform & respect the set-up time requirements of all clocked flip-flopsv creat_clock “clk”-period 50 -

waveform {0 25}v set_fix_hold : respect the hold time

requirement of all clocked flip-flopsv set_fix_hold clk

v set_dont_touch_network : do not re-buffer the clock networkv set_dont_touch_network clk

Page 62: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 62Synopsys Synthesis 2005.05.06

Sequential CircuitSequential Circuitv Sequential circuits are usually constrained by clock specifyv clock cycle >= DFFclk-Qdelay + combinational delay + DFFsetup

Page 63: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 63Synopsys Synthesis 2005.05.06

Input Delay ModelInput Delay Modelv Clock cycle >= DFFclk-Qdelay + a + b + DFFsetupv Input delay = DFFclk-Qdelay + a

Page 64: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 64Synopsys Synthesis 2005.05.06

Setting Input DelaySetting Input Delayv Select input portsv Attributes/Operating Environment/Input Delay

Page 65: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 65Synopsys Synthesis 2005.05.06

Output Delay ModelOutput Delay Modelv clock cycle >= DFFclk-Qdelay + d + e + DFFsetupv Output delay = e + DFFsetup

Page 66: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 66Synopsys Synthesis 2005.05.06

Setting Output DelaySetting Output Delayv Select output portsv Attributes/Operating Environment/Output Delay

Page 67: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 67Synopsys Synthesis 2005.05.06

What Have We Modeled ?What Have We Modeled ?

Page 68: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 68Synopsys Synthesis 2005.05.06

Design Rule ConstraintsDesign Rule ConstraintsvDesign rules can’t be violated at any cost,

even if it will violate the timing and area goal.vThree kinds of design rule constraint are set:vset_max_transitionvset_max_fanoutvset_max_capacitance

Page 69: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 69Synopsys Synthesis 2005.05.06

Setting Area ConstraintSetting Area Constraintv Attributes/OptimizationConstraints/Design Constraintsv Area Unit : gates

Page 70: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 70Synopsys Synthesis 2005.05.06

False PathFalse Pathv A false path is a timing path that cannot propagate a signal, or a path

we wish to ignore timing constraints.v The set_false_path can be used to disable timing-based synthesis on a

path-by-path basisv It is useful for:

v Constraining asynchronous pathsv Constraining logically false paths

Page 71: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 71Synopsys Synthesis 2005.05.06

MulticycleMulticycle PathPath

v To define setup multiplier 2 for the path from FF1 to FF2 but maintain a hold multiplier 0, use command:

set_multicycle_path 2 -from FF1 -to FF2

Page 72: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 72Synopsys Synthesis 2005.05.06

Constraints PriorityConstraints PriorityvDuring the optimization, there exists a

constraint priority relationship.vDesign Rule Constraint (max_transition,

max_fanout, max_capacitance)vTiming constraint (max_delay, min_delay)vPower constraintvArea constraint

vUse set_cost_priority command to modify the ordervset_cost_priority [ -default] [-delay] [cost_list]

Page 73: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 73Synopsys Synthesis 2005.05.06

Check DesignCheck DesignvAfter you set up the deign attributes & design

constraints, we recommend the next step is to check designvAnalysis/Check DesignvHow to handle ?vdont_touchvungroupvuniquify

Page 74: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 74Synopsys Synthesis 2005.05.06

dont_touchdont_touchv Proceduresv Constrain the blockv Compile the blockv Select the multiple

design instances blockv Attributes/Optimization

Directives/Design & set the Don’t Touch button

v Compile the whole design using hierarchy compile

Page 75: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 75Synopsys Synthesis 2005.05.06

UngroupUngroupv Proceduresv Select the multiple design

instances blockv Attributes/Optimization

Directives/Design & set the Ungroup button

v Compile whole design using hierarchy compile

v Remove a single level of hierarchy

v Does not preserve the hierarchy

v Take more memoryv Take more compile time

Page 76: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 76Synopsys Synthesis 2005.05.06

UniquifyUniquify

v Create a unique design file for each instance

v May select one cell or entire design hierarchy to be uniquify

v Allow design to be customized to its interface

v If the environment varies significantly, use uniquify rather than compile+dont_touch

v Uniquify uses more memory and cause longer compile time than compile+dont_touch

v Select the most top design of the hierarchy

v Edit/Uniquify/Hierarchy

Page 77: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 77Synopsys Synthesis 2005.05.06

Check Constraints & AttributesCheck Constraints & Attributesv Use the following reports to check constraints & attributes

before compilingv Analysis/Report

Page 78: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 78Synopsys Synthesis 2005.05.06

Save Constraints & AttributesSave Constraints & AttributesvSave attributes & constraints setting as the

design setup file in dc_shell command format, use File/Save Info/Design Setup

Page 79: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 79Synopsys Synthesis 2005.05.06

Execute Script FileExecute Script FilevExecute dc_shell command script file, use

Setup/Execute Script

Page 80: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

ACCESS IC LAB

Graduate Institute of Electronics Engineering, NTU

Synthesis Report and AnalysisSynthesis Report and Analysis

Page 81: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 81Synopsys Synthesis 2005.05.06

ReportReportv Analysis/Reportv From report and analysis, you can find the set attributes and

the results after optimization

v Attribute reportsv All attributes, clock, port,

design, net

v Analysis reportsv Area, hierarchy, constraints,

timing, point timing

Page 82: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 82Synopsys Synthesis 2005.05.06

Timing ReportTiming Report

Page 83: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 83Synopsys Synthesis 2005.05.06

Analyze Circuit with SchematicAnalyze Circuit with Schematicv To determine the time the signal arrived at pin which is selected

in the schematicv Analysis/Show Timing

Page 84: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 84Synopsys Synthesis 2005.05.06

Analyze Circuit with SchematicAnalyze Circuit with Schematicv To determine the net load which selected in the schematicv Analysis/Show Net Load

Page 85: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 85Synopsys Synthesis 2005.05.06

Save DesignSave Designv Save your design in verilog format, run Verilog gate-level simulation,

and we will use Verilog In interface to translate it into OPUS database for place & route

v If you can’t Verilog In, please check assign problemv if there is any assignment problem, choose the block & use the

dc_shell command as follow to fix itv set_fix_multiple_port_nets -all -buffer_constantsv compile -map_effort medium

Page 86: Synopsys Synthesis Overview - 國立臺灣大學access.ee.ntu.edu.tw/course/dsd_93second/2005ppt/20050506...Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 Graduate

Graduate Institute of Electronics Engineering, NTU

pp. 86Synopsys Synthesis 2005.05.06

GateGate--Level Simulation (Verilog)Level Simulation (Verilog)v Write out gate-level netlistv File/Save As è Verilog (for File format)v dc_shell> write -format verilog –hierarchy -output chip.vg

v Get SDFv File/Save Info è Design timing è Select chip.sdfv dc_shell> write_sdf –version 1.0 -context verilog chip.sdf

v Modify your testbench file$sdf_annotate (“the_SDF_file_name”, top_module_instance_name);

v Simulation using Verilog-XL>> Verilog chip.vg testbench.v –v cell_model.v