TRILOBYTE SYSTEMS. Consistent Timing Constraints with PrimeTime. Steve Golson Trilobyte Systems.

Similar documents
PrimeTime: Introduction to Static Timing Analysis Workshop

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

Advance Manual ECO by Gates On the Fly

Constraint Verification

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

Equivalence Checking for Timing Constraints Subramanyam Sripada March 6, 2014

SmartTime for Libero SoC v11.5

Cluster-based approach eases clock tree synthesis

EDA - Electronic Design Automation or Electronic Design Assistance?

Comprehensive Place-and-Route Platform Olympus-SoC

8. Best Practices for Incremental Compilation Partitions and Floorplan Assignments

RTL Synthesis using Design Compiler. Dr Basel Halak

Cell-Based Design Flow. TA : 吳廸優

Best Practices for Implementing ARM Cortex -A12 Processor and Mali TM -T6XX GPUs for Mid-Range Mobile SoCs.

Advanced ALTERA FPGA Design

8. Switching to the Quartus II TimeQuest Timing Analyzer

Digital Design Methodology (Revisited) Design Methodology: Big Picture

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

Digital Design Methodology

UG0776 User Guide PolarFire FPGA Design Constraints

Designing RGMII Interface with FPGA and HardCopy Devices

Comparing Constraint Behavior to Determine Equivalency TAU Sonia Singhal Loa Mize Subramanyam Sripada Szu-Tsung Cheng Cho Moon

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

Cadence Rapid Adoption Kits

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

The IIT standard cell library Version 2.1

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

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

ASIC, Customer-Owned Tooling, and Processor Design

Preparing for Optimization 7

Intel Quartus Prime Standard Edition User Guide

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

Eliminating Routing Congestion Issues with Logic Synthesis

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

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

Push-button Synthesis or, Using dc_perl to do_the_right_thing

VLSI Test Technology and Reliability (ET4076)

A Comparison of Hierarchical Compile Strategies

Static Timing Verification of Custom Blocks Using Synopsys NanoTime Tool

Vivado Design Suite User Guide

Specifying Timing Exceptions

High Quality, Low Cost Test

Bits and Pieces of CS250 s Toolflow

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

Agenda. Presentation Team: Agenda: Pascal Bolzhauser, Key Developer, Lothar Linhard, VP Engineering,

Graduate Institute of Electronics Engineering, NTU Synopsys Synthesis Overview

ECE260B CSE241A Winter Tapeout. Website:

ProASIC PLUS Timing Closure in Libero IDE v5.2

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

Hierarchical Design Using Synopsys and Xilinx FPGAs

Cadence On-Line Document

Reference. Wayne Wolf, FPGA-Based System Design Pearson Education, N Krishna Prakash,, Amrita School of Engineering

Cell-Based Design Flow. 林丞蔚

Digital Timing. Using TimingDesigner to Generate SDC Timing Constraints. EMA TimingDesigner The industry s most accurate static timing analysis

Best Practices for Incremental Compilation Partitions and Floorplan Assignments

Using Synopsys Design Constraints (SDC) with Designer

ISE Design Suite Software Manuals and Help

RTL Coding General Concepts

Vivado Design Suite User Guide

Vivado Design Suite User Guide

Timing Constraints Editor User Guide

Vivado Design Suite Tutorial

Based on slides/material by. Topic Design Methodologies and Tools. Outline. Digital IC Implementation Approaches

10. Synopsys Synplify Support

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

Performing STA. Learning Objectives

Addressing Verification Bottlenecks of Fully Synthesized Processor Cores using Equivalence Checkers

Cell-Based IC Physical Design & Verification SOC Encounter. Advisor : 李昆忠 Presenter : 蕭智元

Lecture 11 Logic Synthesis, Part 2

VLSI Physical Design: From Graph Partitioning to Timing Closure

PlanAhead Release Notes

Floorplanning ProASIC /ProASIC PLUS Devices for Increased Performance

Block-Based Design User Guide

Physical Design of a 3D-Stacked Heterogeneous Multi-Core Processor

A GENERATION AHEAD SEMINAR SERIES

Silicon Virtual Prototyping: The New Cockpit for Nanometer Chip Design

Clockless IC Design using Handshake Technology. Ad Peeters

Case study of Mixed Signal Design Flow

IDEA! Avnet SpeedWay Design Workshop

Bits and Pieces of CS250 s Toolflow

Physical Design Closure

Policy-Based RTL Design. Bhanu Kapoor and Bernard Murphy Atrenta Inc. EDA Challenges

Part B. Dengxue Yan Washington University in St. Louis

Intel Quartus Prime Standard Edition User Guide

Compiler User Guide. Intel Quartus Prime Pro Edition. Updated for Intel Quartus Prime Design Suite: Subscribe Send Feedback

AccuCore. Product Overview of Block Characterization, Modeling and STA

Serial Adapter for I 2 C / APFEL and 8 channel DAC ASIC

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

Power Optimization in FPGA Designs

Lattice Semiconductor FPGA Successful Place and Route

ALTERA FPGAs Architecture & Design

Advanced FPGA Design Methodologies with Xilinx Vivado

Concurrent, OA-based Mixed-signal Implementation

Timing Analysis in Xilinx ISE

Synthesizable FPGA Fabrics Targetable by the VTR CAD Tool

Logic and Physical Synthesis Methodology for High Performance VLIW/SIMD DSP Core

Vivado Design Suite User Guide

HOW TO SYNTHESIZE VERILOG CODE USING RTL COMPILER

An overview of standard cell based digital VLSI design

AccuCore Static Timing Analysis

Transcription:

TRILOBYTE SYSTEMS Consistent Timing Constraints with PrimeTime Steve Golson Trilobyte Systems http://www.trilobyte.com

2 Physical implementation Rule #1 Do not change the functionality Rule #2 Meet the specified timing constraints

3 Physical Implementation Tools automatic test pattern generation (ATPG) cell placement clock tree synthesis (CTS) design-for-manufacturing/design-for-yield (DFM/DFY) tools detail router floorplanning

4 Physical Implementation Tools gate-level power analysis global router RTL power analysis scan insertion static timing analysis synthesis from RTL to gate-level netlist voltage drop analysis

Timing-driven Physical Implementation Tools 5 Q: What do all these timing-driven tools have in common? A: They require correct and complete timing constraints Correct: constraints agree with the chip spec Complete: all paths are constrained

6 What s the big deal? Just write the SDC file and use it for every tool

7 Why tools require different files File formats Versions Netlist status Features

Flow 8

9 Problems Problem #1 How to manage this multiplicity of files Problem #2 How to ensure consistency across tools

10 Consistency Timing-driven tools have consistent timing constraints if, given the same netlist, they identify the same critical path for a given path group.

11 Consistency 1. For tool A, for each path group, report the critical path. 2. In tool B, report the identical path (startpoint, endpoint, through points, clocks). 3. Tool B path must report same constraints (e.g., launch clock time, capture clock time, clock latencies, input/output delay). 4. Tool B must report the same slack.

12 Consistency 1. For tool A, for each path group, report the critical path. 2. In tool B, report the identical path (startpoint, endpoint, through points, clocks). 3. Tool B path must report same constraints (e.g., launch clock time, capture clock time, clock latencies, input/output delay). 4. Tool B must report the same slack, within some reasonable margin.

Solution #2: Use PrimeTime throughout the flow 13 Switches to add to signoff PrimeTime scripts: High-fanout nets? (yes or no) Back-annotated parasitics? (yes or no) Propagate clocks? (yes or no) Crosstalk analysis? (yes or no) Netlist status (for example, scan inserted or not)

Flow 14

Solution #1: Use PrimeTime to generate all needed files 15 write_sdc write_sdc and post-process the SDC (Perl script) custom PrimeTime Tcl to generate needed files

Flow 16

Flow 17

Flow 18

19 Problem: SDC command interpretation SDC specification defines syntax, not behavior If the SDC says set_multicycle_path 2 -from [get_clocks clka] set_multicycle_path 3 -from [get_clocks clka] \ -to [get_clocks clkb] set_multicycle_path 4 -to [get_clocks clkb] What is the multicycle value for a path from clka to clkb?

20 Problem: Hierarchy and budgeting Maintain consistent constraints across hierarchy Block-level constraints must be automatically generated from full-chip constraints Min delays (hold) are as important as max delays Use default budgets, or simple slack allocation Accurate clock latencies are critical This is really hard

21 Problem: Hierarchy and promotion Block-level constraints must be promoted to full-chip example: IP block with supplied block-level path exceptions Must automate this process Identical blocks may have different constraints example: multiple copies of CPU, or IO interface perhaps different modes, with different path exceptions perhaps operating at different voltages

22 Example: extract clock latencies Given a netlist with propagated clocks, how to describe the equivalent ideal clock timing? What we want is a Tcl file that looks like this: ########## cpua_clk set clock_source_latency(cpua_clk:slow:early:rise) 1.987 set clock_source_latency(cpua_clk:slow:late:rise) 2.305 set clock_source_latency(cpua_clk:slow:early:fall) 1.959 set clock_source_latency(cpua_clk:slow:late:fall) 2.272 set clock_network_latency(cpua_clk:slow:early:rise) 1.228 set clock_network_latency(cpua_clk:slow:late:rise) 1.405 set clock_network_latency(cpua_clk:slow:early:fall) 1.257 set clock_network_latency(cpua_clk:slow:late:fall) 1.438 set clock_global_skew(cpua_clk:slow) 0.187 Then source this into Design Compiler, PrimeTime

PrimeTime Tcl script to extract clock latencies 23 foreach clock that is propagated and has a defined source get source latency attributes print source latency values foreach register using this clock find the max delay critical path to this capture register get capture clock latency => total early latency network early latency = total early source find the min delay critical path to this capture register get the capture clock latency => total late latency network late latency = total late source simple statistics on all network latency values print network latency values print global skew

24 Summary Our goals: A methodology/flow which is automated flexible consistent Repeatable, reliable results from our tools Manually edit and maintain constraints in one place: full-chip PrimeTime Tcl scripts Methodology which is not design-specific

25 Thank you Mark Sprague, AMD Jerry Frenkil, Sequence Design Many previous clients for examples, good and bad

Questions? 26