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

Size: px
Start display at page:

Download "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"

Transcription

1 15 Learning Objectives After completing this lab, you should be able to: Perform a top-down compile strategy on the RISC_CORE design Lab Duration: 75 minutes Lab 15-1 Synopsys S38

2 Flow Diagram for Lab Create top_level.tcl constraints Modify runit.tcl to compile the RISC_CORE Execute runit.tcl; saves your design to mapped/risc_core.db Generate and analyze constraint and timing reports characterize one cell Explore different compile strategies to solve timing Save the solution in mapped/risc_core_final.db Lab 15-2

3 Top-Level Constraints for RISC_CORE Warning: These are not the same constraints that were used in constraints.tcl! Clock period Clock skew Operating Conditions Wire Load Model Driving Cell on all input ports except Clk Load on all output ports Input Delay on all input ports except Clk Output Delay on all output ports 4.0 ns 0.25 ns The worst-case (1.62V, 125 C) is represented by the library core_slow.db. Automatic selection buf1a3, pin Y buf1a2, pin A 2.0 ns 2.0 ns Task Create the constraints file top_level.tcl. The easiest way is to copy and modify the constraints.tcl file in order to apply the top-level constraints given in the table. Please double check the constraints are not the same. 2. Modify runit.tcl, to compile RISC_CORE only, and to include top_level.tcl instead of constraints.tcl. Multiple instances must be resolved before you compile the design. Remember to perform test-ready compile using scan option. Make sure runit.tcl saves the compiled design to mapped directory as RISC_CORE.db. Verify runit.tcl with the one at the end of this lab before moving on to next step. 3. Execute runit.tcl from UNIX shell and log the output to runit.log file. The compile step may take over 10 minutes. mapped/risc_core.db (the resulting design) will be the starting point for further optimization steps. 4. Report the compile results. Elapsed Time: Area: WNS: TNS: Lab 15-3

4 Task 2. Analyze Detailed Reports Answers are in the back of this lab. 1. Answer the following questions regarding the constraint report. Question 1. Are there any design rule violations? Question 2. What is the worst negative slack (WNS) in the design RISC_CORE? Question 3. In which cell (instance) is the worst of the violating timing paths ending? 2. Answer the following questions regarding the timing report. Question 4. Which design contains the critical path startpoint? Which design contains the endpoint? Question 5. Which of the two designs contain most of the combinational logic of the critical path? Suppose you wanted to recompile only one of the designs containing the critical path. This would be advantageous if a CPU-intensive compile strategy was going to be applied to fix the violation. (using a high map effort incremental compile). You would need to create a constraint script for the design containing the critical path. Question 6. Which DC commands could be used to accurately constrain the design containing the critical path, in terms of top-level IO timing, driving cells, and output loads? Lab 15-4

5 Task 3. characterize / write_script After verifying that the worst timing violation is between two blocks, you can now push the top-level constraints down onto the block with the bigger portion of the critical path. 1. Invoke Design Compiler and load the saved mapped RISC_CORE design. 2. Verify the current design is RISC_CORE. 3. characterize (with the constraints option) one of the cells containing the critical path. Remember that characterize works on a cell, not a design. For example, if the cell I_ALU contains most of the combinational logic in the critical path, issue the command: characterize constraints [get_cells I_ALU] Question 7. What is the design name of I_ALU? 4. Generate a constraints file for the cell you characterized by using the write_script command. Use the file extension _w.tcl to distinguish this script file as one generated by the write_script command. Remember that write_script echoes all the constraints on the current_design. current_design ALU write_script -output scripts/alu_w.tcl Recompile the sub block. Since a medium effort compile of this design did not yield a violation-free circuit on the first compile, a different compile strategy may be in order. For example, a higher map effort, a critical range, the set_flatten option, or use the DesignWare Foundation library. Lab 15-5

6 Task 4. Second-pass Compile with Characterize Try following compile strategies to get zero WNS (Worst Negative Slack) and TNS (Total Negative Slack), or try to minimize these values. Feel free to explore your own strategies to solve the timing violations or to reduce area. 1. Compile ALU with characterize constraint. # Verify that the current_design is ALU current_design ALU compile -inc map high 2. Report the following values for ALU from the compile log: Elapsed Time: WNS: TNS: current_design RISC_CORE report_constraint -all 3. Report the following values for RISC_CORE: WNS: Question 8. What sub block has the WNS now? Question 9. What blocks other than ALU have negative slack paths? The last command report_constraint -all shows all violating endpoints. 4. Use the following command to see the detailed path of the 4 biggest violators: report_timing -max 4 You might consider characterizing another cell, or try to group the blocks that are part of a critical path. Lab 15-6

7 Task 5. Second-pass Compile with DW Foundation This task demonstrates a different approach. The original block with the biggest violator (ALU) will be recompiled starting from the unmapped source to take advantage of high-level synthesis (HLO). 1. Perform the following commands to use the DW Foundation library and to start from the unmapped source for the block with the largest violations. # To get a fresh starting point delete all designs and # read mapped/risc_core.db. remove_design -design read_db mapped/risc_core.db # activate DW Foundation library set synthetic_library dw_foundation.sldb lappend link_library $synthetic_library # remove the block with biggest violations remove_design ALU # Read in unmapped file, for High-Level Optimizations read_db unmapped/alu.db # Apply characterized constraints and compile ALU source scripts/alu_w.tcl compile scan Report the following values: Elapsed Time: Area: WNS: TNS: 2. Report the DW implementations for ALU. report_resources Question 10. What are the DesignWare implementations in the design ALU? 3. Resolve remaining violations on design RISC_CORE. # Change back to RISC_CORE and compile incrementally for # the rest of RISC_CORE design current_design RISC_CORE link compile scan inc map high Lab 15-7

8 Task 6. Fix Hold Time 1. The design RISC_CORE might still show hold time violations. Verify with report_constraint -all. report_constraint -all 2. Use the following commands to fix hold time violations: set_fix_hold [all_clocks] compile scan inc -only_design_rule 3. Report area and timing information from the compile log: Elapsed Time: Area: WNS: TNS: 4. Enter the following command to see any remaining violations: report_constraint all You might see a number of small setup violations. You will fix them as you work to improve RISC_CORE area in the next step. Task 7. Improve Area 1. Set an area constraint to improve a desings size. The area of RISC_CORE was roughly Pick an area constraint which is ~15% less than that, like You could pick a value of zero, but the compile time will go up. set_max_area compile scan -inc -map high 2. Report area and timing information from the compile log: Elapsed Time: Area: WNS: TNS: Lab 15-8

9 3. Verify that RISC_CORE meets all design requirements: report_constraint all You have just successfully synthesized the RISC_CORE design. The only violation is with regard to the area goal of DC made its best effort to improve RISC_CORE s size. Task 8. Save the Final Gate-level Netlist 1. Save the design RISC_CORE, along with its entire hierarchy, to the mapped directory as RISC_CORE_final.db. 2. Quit DC. Lab 15-9

10 Answers / Solutions Example top_level.tcl # Create user defined variables set CLK_PORT [get_ports Clk] set CLK_PERIOD 4.0 set WC_SKEW 0.25 set DRV_CELL buf1a3 set DRV_PIN Y set OUTPUT_LOAD [load_of ssc_core_slow/buf1a2/a] set INPUT_DELAY 2.0 set OUTPUT_DELAY 2.0 set ALL_INS_EX_CLK [remove_from_collection \ [all_inputs] [get_ports Clk]] reset_design set_operating_conditions max slow_125_1.62 create_clock -period $CLK_PERIOD -name my_clock \ $CLK_PORT set_dont_touch_network [get_clocks my_clock] set_clock_uncertainty $WC_SKEW [get_clocks my_clock] set_driving_cell lib_cell $DRV_CELL -pin $DRV_PIN \ $ALL_INS_EX_CLK set_load $OUTPUT_LOAD [all_outputs] set_input_delay -max $INPUT_DELAY -clock my_clock \ $ALL_INS_EX_CLK set_output_delay max $OUTPUT_DELAY -clock my_clock \ [all_outputs] Lab 15-10

11 Example runit.tcl # Directory Structure set UNMAPPED_DIR unmapped set SCRIPT_DIR scripts set MAPPED_DIR mapped set REPORTS_DIR reports # List of designs to be compiled set DESIGNS_LIST {RISC_CORE} foreach module $DESIGNS_LIST { read_db $UNMAPPED_DIR/$module.db current_design $module link source echo scripts/top_level.tcl uniquify compile -scan write -hierarchy -output $MAPPED_DIR/$module.db redirect $REPORTS_DIR/$module.rpt \ {report_constraint -all_violators} redirect append $REPORTS_DIR/$module.rpt \ {report_timing} } quit Question 1. Are there any design rule violations? There should be no design rule violations in design RISC_CORE. If there had been, it would have been reported in the constraint report. Question 2. What is the worst negative slack (WNS) in the design RISC_CORE? The largest negative slack may vary. If you go through several recompile iterations you should record this number to verify that you are improving the design. In some versions, the violation is approximately 0.6 ns. Lab 15-11

12 Question 3. In which cell (instance) is the worst of the violating timing paths ending? The results may vary with different versions of DC. You can select the cell in the GUI to obtain the name. In some versions, the critical path ends in I_ALU. Question 4. Which design contains the critical path startpoint? Which design contains the endpoint? The cell containing the startpoint and endpoint will vary with different versions of DC. In some versions, the critical path starts at a registered output of DATA_PATH, and ends in ALU. Question 5. Which of the two designs contain most of the combinational logic of the critical path? All of the combinational logic is in the ALU. Question 6. Which DC commands could be used to accurately constrain the design containing the critical path, in terms of top-level IO timing, driving cells, and output loads? To only compile one subdesign, use characterize to push the top-level constraints down onto that subdesign. Question 7. What is the design name of I_ALU? ALU Question 8. What sub-block has the WNS now? It is still the ALU block. Question 9. What blocks other than ALU have negative slack paths? PRGRM_CNT_TOP and the output ports (path goes through INSTRN_LAT, DATA_PATH and REG_FILE) Question 10. What are the DesignWare implementations in the design ALU? The implementations should be bk (Brent Kung), cla (carry look ahead) and clf (fast carry look ahead). Lab 15-12

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

DC-Tcl Procedures. Learning Objectives. After completing this lab, you should be able to: Write generic DC-Tcl procedures. Lab Duration: 30 minutes w 14 Learning Objectives After completing this lab, you should be able to: Write generic DC-Tcl procedures Lab Duration: 30 minutes Lab 14-1 Synopsys 31833-000-S38 Flow Diagram of Lab Create and test myprocs.tcl

More information

Design Rules and Min Timing

Design Rules and Min Timing 7 Design Rules and Min Timing Learning Objectives After completing this lab, you should be able to: Apply design rules and hold time constraints Fix design rule violations Fix hold time violations Lab

More information

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

CS/EE 6710 Digital VLSI Design Tutorial on Cadence to Synopsys Interface (CSI) CS/EE 6710 Digital VLSI Design Tutorial on Cadence to Synopsys Interface (CSI) This tutorial walks you through the Cadence to Synopsys Interface (CSI). This interface lets you take a schematic from composer

More information

Multiple Clocks and Timing Exceptions

Multiple Clocks and Timing Exceptions 10 Multiple Clocks and Timing Exceptions Learning Objectives This lab is intended to give you a better understanding of how static timing analysis works and how timing exceptions are properly applied.

More information

Getting a Quick Start 2

Getting a Quick Start 2 2 Getting a Quick Start 2 This chapter walks you through the basic synthesis design flow (shown in Figure 2-1). You use the same basic flow for both design exploration and design implementation. The following

More information

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

EE4415 Integrated Digital Design Project Report. Name: Phang Swee King Matric Number: U066584J EE4415 Integrated Digital Design Project Report Name: Phang Swee King Matric Number: U066584J April 10, 2010 Contents 1 Lab Unit 1 2 2 Lab Unit 2 3 3 Lab Unit 3 6 4 Lab Unit 4 8 5 Lab Unit 5 9 6 Lab Unit

More information

Performing STA. Learning Objectives

Performing STA. Learning Objectives Performing STA Learning Objectives UNIT 45 minutes Unit 8 You are provided with a design netlist that does not meet timing. You are also provided with another set of sub blocks that were improved for timing

More information

Specifying Timing Exceptions

Specifying Timing Exceptions Specifying Timing Exceptions Learning Objectives This lab is intended to give you a better understanding of how static timing analysis works and how timing exceptions are applied properly. After completing

More information

Introduction to STA using PT

Introduction to STA using PT Introduction to STA using PT Learning Objectives Given the design, library and script files, your task will be to successfully perform STA using the PrimeTime GUI and generate reports. After completing

More information

Reading the Design into PT

Reading the Design into PT Reading the Design into PT Learning Objectives Given a set of design and library files, you will read them into PrimeTime memory and access the design objects. After completing this lab, you should be

More information

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

A. Setting Up the Environment a. ~/ece394 % mkdir synopsys b. ECE 394 ASIC & FPGA Design Synopsys Design Compiler and Design Analyzer Tutorial A. Setting Up the Environment a. Create a new folder (i.e. synopsys) under your ece394 directory ~/ece394 % mkdir synopsys

More information

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

Logic Synthesis ( Prof. Dejan Marković VLSI Design Flow. Specifications & System Simulation (MATLAB, Simulink, C++) Logic Synthesis EEM216A Fall 2012 Prof. Dejan Marković ee216a@gmail.com VLSI Design Flow Specifications & System Simulation (MATLAB, Simulink, C++) RTL Design (Verilog HDL) Logic Synthesis ( DC) Today

More information

Graduate Institute of Electronics Engineering, NTU Synopsys Synthesis Overview

Graduate Institute of Electronics Engineering, NTU Synopsys Synthesis Overview Synopsys Synthesis Overview Ben 2006.02.16 ACCESS IC LAB Outline Introduction Setting Design Environment Setting Design Constraints Synthesis Report and Analysis pp. 2 What is Synthesis Synthesis = translation

More information

Introduction to Design Compiler

Introduction to Design Compiler Introduction to Design Compiler Courtesy of Dr. An-Yeu Wu @NTU, CIC/NARL@Taiwan http://csce.uark.edu +1 (479) 575-6043 yrpeng@uark.edu What is Synthesis Synthesis = translation + optimization We will get

More information

RTL Synthesis using Design Compiler. Dr Basel Halak

RTL Synthesis using Design Compiler. Dr Basel Halak RTL Synthesis using Design Compiler Dr Basel Halak Learning Outcomes: After completing this unit, you should be able to: 1. Set up the DC RTL Synthesis Software and run synthesis tasks 2. Synthesize a

More information

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

Agenda: Day One 3-1 DAY. Welcome. Introduction to Static Timing Analysis. Writing Basic Tcl Constructs in PT. Constraining Internal Reg-Reg paths Agenda: Day One 3-1 DAY 1 Unit Register Register Paths Lab 0i Welcome 1 Introduction Static Timing Analysis 2 Writing Basic Tcl Constructs in PT 3 4 Constraining Internal Reg-Reg paths 3-1 Unit 3: Unit

More information

Preparing for Optimization 7

Preparing for Optimization 7 7 Preparing for Optimization 7 This chapter contains the following sections: Defining the Design Environment Selecting a Compile Strategy Setting Design Rule Constraints Setting Optimization Constraints

More information

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

Automated Synthesis from HDL models. Design Compiler (Synopsys) Leonardo (Mentor Graphics) Automated Synthesis from HDL models Design Compiler (Synopsys) Leonardo (Mentor Graphics) Front-End Design & Verification VHDL Verilog SystemC Create Behavioral/RTL HDL Model(s) VHDL-AMS Verilog-A ModelSim

More information

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

Laboratory 5. - Using Design Compiler for Synthesis. By Mulong Li, 2013 CME 342 (VLSI Circuit Design) Laboratory 5 - Using Design Compiler for Synthesis By Mulong Li, 2013 Reference: http://www.tkt.cs.tut.fi/tools/public/tutorials/synopsys/design_compiler/gsdc.html Background

More information

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

Introduction to Design With Verilog. Synopsys University Courseware 2008 Synopsys, Inc. Lecture - 3 Developed By: Paul D. Franzon Introduction to Design With Verilog Course Mantras One clock, one edge, Flip-flops only Design BEFORE coding Behavior implies function Clearly separate control and datapath Purpose of HDLs Purpose of Hardware

More information

Push-button Synthesis or, Using dc_perl to do_the_right_thing

Push-button Synthesis or, Using dc_perl to do_the_right_thing Push-button Synthesis or, Using dc_perl to do_the_right_thing Kurt Baty WSFDB Consulting 26 Hill Street Medway MA 02053 Phone: +1.508.429.4198 Email: kurt@wsfdb.com Steve Golson Trilobyte Systems 33 Sunset

More information

Setup file.synopsys_dc.setup

Setup file.synopsys_dc.setup Setup file.synopsys_dc.setup The.synopsys_dc.setup file is the setup file for Synopsys' Design Compiler. Setup file is used for initializing design parameters and variables, declare design libraries, and

More information

A Comparison of Hierarchical Compile Strategies

A Comparison of Hierarchical Compile Strategies A Comparison of Hierarchical Compile Strategies Steve Golson Trilobyte Systems 33 Sunset Road Carlisle MA 01741 Phone: +1.978.369.9669 Fax: +1.978.371.9964 Email: sgolson@trilobyte.com http://www.trilobyte.com

More information

Lecture 11 Logic Synthesis, Part 2

Lecture 11 Logic Synthesis, Part 2 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

More information

Tutorial for Verilog Synthesis Lab (Part 2)

Tutorial for Verilog Synthesis Lab (Part 2) Tutorial for Verilog Synthesis Lab (Part 2) Before you synthesize your code, you must absolutely make sure that your verilog code is working properly. You will waste your time if you synthesize a wrong

More information

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

Logic Synthesis. Logic Synthesis. Gate-Level Optimization. Logic Synthesis Flow. Logic Synthesis. = Translation+ Optimization+ Mapping Logic Synthesis Logic Synthesis = Translation+ Optimization+ Mapping Logic Synthesis 2 Gate-Level Optimization Logic Synthesis Flow 3 4 Design Compiler Procedure Logic Synthesis Input/Output 5 6 Design

More information

Partitioning for Better Synthesis Results

Partitioning for Better Synthesis Results 3 Partitioning for Better Synthesis Results Learning Objectives After completing this lab, you should be able to: Use the group and ungroup commands to repartition a design within Design Analyzer Analyze

More information

Timing Analyzer Quick-Start Tutorial

Timing Analyzer Quick-Start Tutorial Timing Analyzer Quick-Start Tutorial Intel Quartus Prime Pro Edition Updated for Intel Quartus Prime Design Suite: 17.1 Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents Timing

More information

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

King Fahd University of Petroleum and Minerals. Computer Engineering Department. COE 561 Digital Systems Design and Synthesis (Course Activity) 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

More information

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

Pipelined MIPS CPU Synthesis and On-Die Representation ECE472 Joseph Crop Stewart Myers Pipelined MIPS CPU Synthesis and On-Die Representation ECE472 Joseph Crop Stewart Myers 2008 Table of Contents Introduction... 3 Steps Taken and Simulation... 3 Pitfalls... 8 Simulated Delay... 9 APPENDIX

More information

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

EECS 151/251A ASIC Lab 6: Power and Timing Verification EECS 151/251A ASIC Lab 6: Power and Timing Verification Written by Nathan Narevsky (2014,2017) and Brian Zimmer (2014) Modified by John Wright (2015,2016), Ali Moin (2017) and Taehwan Kim (2018) Overview

More information

SmartTime for Libero SoC v11.5

SmartTime for Libero SoC v11.5 SmartTime for Libero SoC v11.5 User s Guide NOTE: PDF files are intended to be viewed on the printed page; links and cross-references in this PDF file may point to external files and generate an error

More information

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

Agenda: Day Two. Unit 6: Specifying Timing Exceptions DAY 2. I/O Paths and Exceptions. Constraining I/O Interface Paths Agenda: Day Two 6-1 DAY 2 Unit I/O Paths and Exceptions Lab 5 Constraining I/O Interface Paths 6 7 Introduction to Timing Models (QTM) 8 Performing STA 9 Summary 10 Customer Support 6-1 Unit 6: Unit Objectives

More information

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

TRILOBYTE SYSTEMS. Consistent Timing Constraints with PrimeTime. Steve Golson Trilobyte Systems. 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

More information

Part B. Dengxue Yan Washington University in St. Louis

Part B. Dengxue Yan Washington University in St. Louis Tools Tutorials Part B Dengxue Yan Washington University in St. Louis Tools mainly used in this class Synopsys VCS Simulation Synopsys Design Compiler Generate gate-level netlist Cadence Encounter placing

More information

EECS 151/251A ASIC Lab 3: Logic Synthesis

EECS 151/251A ASIC Lab 3: Logic Synthesis EECS 151/251A ASIC Lab 3: Logic Synthesis Written by Nathan Narevsky (2014, 2017) and Brian Zimmer (2014) Modified by John Wright (2015,2016) and Taehwan Kim (2018) Overview For this lab, you will learn

More information

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

Overview. Design flow. Principles of logic synthesis. Logic Synthesis with the common tools. Conclusions Logic Synthesis Overview Design flow Principles of logic synthesis Logic Synthesis with the common tools Conclusions 2 System Design Flow Electronic System Level (ESL) flow System C TLM, Verification,

More information

LECTURE 5: VHDL SYNTHESIS with SYNOPSYS dc_shell

LECTURE 5: VHDL SYNTHESIS with SYNOPSYS dc_shell EECS 317 CAD Computer Design LECTURE 5: VHDL SYNTHESIS with SYNOPSYS dc_shell Instructor: Francis G. Wolff wolff@eecs.cwru.edu Case Western Reserve University This presentation uses powerpoint animation:

More information

Vivado Design Suite Tutorial. Using Constraints

Vivado Design Suite Tutorial. Using Constraints Vivado Design Suite Tutorial Using Constraints Notice of Disclaimer The information disclosed to you hereunder (the "Materials") is provided solely for the selection and use of Xilinx products. To the

More information

Graduate Institute of Electronics Engineering, NTU Synopsys Synthesis Overview

Graduate Institute of Electronics Engineering, NTU Synopsys Synthesis Overview Synopsys Synthesis Overview Lecturer: 沈文中 Date: 2005.05.06 ACCESS IC LAB Introduction Outline Synopsys Graphical Environment Setting Design Environment Setting Design Constraints Design Optimization Finite

More information

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

Asic Design ET Alexander de Graaf, EEMCS/ME/CAS 5/20/14. Challenge the future. Delft University of Technology Asic Design ET 4351 Alexander de Graaf, EEMCS/ME/CAS 5/20/14 Delft University of Technology Challenge the future Outline. 1. Design flow 2. Synthesis 3. Place & Route ASIC Design: Backend 2 100 1. Design

More information

The Boa Methodology. Abstract. What is Boa? by Wilson Snyder, Digital Semiconductor, January 17, 1997

The Boa Methodology. Abstract. What is Boa? by Wilson Snyder, Digital Semiconductor, January 17, 1997 The Boa Methodology 1 of 15 The Boa Methodology by Wilson Snyder, Digital Semiconductor, January 17, 1997 Abstract The Synopsys methodology devised by Digital Semiconductor called the "Boa Methodology"

More information

Virtex 2.1i tutorial: Verilog using FPGA Compiler and VerilogXL

Virtex 2.1i tutorial: Verilog using FPGA Compiler and VerilogXL Virtex 2.1i tutorial: Verilog using FPGA Compiler and VerilogXL This tutorial describes the Virtex design flow with Synopsys FPGA Compiler, and simulation flow with VerilogXL simulator. It includes the

More information

ECE 551 Design Vision Tutorial

ECE 551 Design Vision Tutorial ECE 551 Design Vision Tutorial ECE 551 Staff Dept of Electrical & Computer Engineering, UW-Madison Lesson 0 Tutorial Setup... 2 Lesson 1 Code Input (Analyze and Elaborate)... 4 Lesson 2 - Simple Synthesis...

More information

PrimeTime: Introduction to Static Timing Analysis Workshop

PrimeTime: Introduction to Static Timing Analysis Workshop i-1 PrimeTime: Introduction to Static Timing Analysis Workshop Synopsys Customer Education Services 2002 Synopsys, Inc. All Rights Reserved PrimeTime: Introduction to Static 34000-000-S16 Timing Analysis

More information

CS6710 Tool Suite. Synthesis and Place & Route. Synopsys design compiler Cadence SOC Encounter. Synopsys Design Compiler.

CS6710 Tool Suite. Synthesis and Place & Route. Synopsys design compiler Cadence SOC Encounter. Synopsys Design Compiler. Synthesis and Place & Route Synopsys design compiler Cadence SOC Encounter Verilog-XL Behavioral Verilog Your Library CS6710 Tool Suite Cadence SOC Encounter Synopsys Design Compiler Structural Verilog

More information

Arbiters: Design Ideas and Coding Styles

Arbiters: Design Ideas and Coding Styles Arbiters: Design Ideas and Coding Styles Matt Weber Silicon Logic Engineering, Inc. matt@siliconlogic.com Matthew.D.Weber@ieee.org ABSTRACT Arbiters exist in nearly every logic design. This paper will

More information

Using Synopsys Design Constraints (SDC) with Designer

Using Synopsys Design Constraints (SDC) with Designer Technical Brief Using Synopsys Design Constraints (SDC) with Designer This technical brief describes the commands and provides usage examples of Synopsys Design Constraints (SDC) format with Actel s Designer

More information

VIVADO TUTORIAL- TIMING AND POWER ANALYSIS

VIVADO TUTORIAL- TIMING AND POWER ANALYSIS VIVADO TUTORIAL- TIMING AND POWER ANALYSIS IMPORTING THE PROJECT FROM ISE TO VIVADO Initially for migrating the same project which we did in ISE 14.7 to Vivado 2016.1 you will need to follow the steps

More information

11. Synopsys Design Compiler FPGA Support

11. Synopsys Design Compiler FPGA Support 11. Synopsys Design Compiler FPGA Support QII51014-7.2.0 Introduction Programmable logic device (PLD) designs have reached the complexity and performance requirements of ASIC designs. As a result, advanced

More information

ProASIC PLUS Timing Closure in Libero IDE v5.2

ProASIC PLUS Timing Closure in Libero IDE v5.2 Application Note AC205 ProASIC PLUS Timing Closure in Libero IDE v5.2 Introduction This application note discusses the new ProASIC PLUS timing-driven place-and-route (TDPR) flow introduced in Libero Integrated

More information

HOW TO SYNTHESIZE VERILOG CODE USING RTL COMPILER

HOW TO SYNTHESIZE VERILOG CODE USING RTL COMPILER HOW TO SYNTHESIZE VERILOG CODE USING RTL COMPILER This tutorial explains how to synthesize a verilog code using RTL Compiler. In order to do so, let s consider the verilog codes below. CNT_16 Module: 16

More information

Altera/Synopsys User Guide

Altera/Synopsys User Guide Altera/Synopsys User Guide About this User Guide July 1995 This user guide provides design guidelines, sample VHDL designs, Altera-specific design methods, and optimal synthesis options to assist designers

More information

Intel Quartus Prime Standard Edition User Guide

Intel Quartus Prime Standard Edition User Guide Intel Quartus Prime Standard Edition User Guide Timing Analyzer Updated for Intel Quartus Prime Design Suite: 18.1 Subscribe Latest document on the web: PDF HTML Contents Contents 1. Timing Analysis Introduction...

More information

8. Best Practices for Incremental Compilation Partitions and Floorplan Assignments

8. Best Practices for Incremental Compilation Partitions and Floorplan Assignments 8. Best Practices for Incremental Compilation Partitions and Floorplan Assignments QII51017-9.0.0 Introduction The Quartus II incremental compilation feature allows you to partition a design, compile partitions

More information

My Second FPGA for Altera DE2-115 Board

My Second FPGA for Altera DE2-115 Board My Second FPGA for Altera DE2-115 Board 數位電路實驗 TA: 吳柏辰 Author: Trumen Outline DE2-115 System Builder ModelSim-Altera 2 DE2-115 System Builder 3 Introduction to DE2-115 System Builder (1/2) This section

More information

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

EE 5327 VLSI Design Laboratory Lab 8 (1 week) Formal Verification EE 5327 VLSI Design Laboratory Lab 8 (1 week) Formal Verification PURPOSE: To use Formality and its formal techniques to prove or disprove the functional equivalence of two designs. Formality can be used

More information

ECE 551: Digital System Design & Synthesis

ECE 551: Digital System Design & Synthesis ECE 551: Digital System Design & Synthesis Lecture Set 9 9.1: Constraints and Timing (In separate file) 9.2: Optimization - Part 1 (In separate file) 9.3: Optimization - Part 2 04/14/03 1 ECE 551 - Digital

More information

Vivado Design Suite User Guide

Vivado Design Suite User Guide Vivado Design Suite User Guide Design Analysis and Closure Techniques Revision History The following table shows the revision history for this document. Date Version Revision 11/18/2015 2015.4 Updates

More information

Synthesis. Other key files. Standard cell (NAND, NOR, Flip-Flop, etc.) FPGA CLB

Synthesis. Other key files. Standard cell (NAND, NOR, Flip-Flop, etc.) FPGA CLB SYNTHESIS Synthesis Involves synthesizing a gate netlist from verilog source code We use Design Compiler (DC) by Synopsys which is the most popular synthesis tool used in industry Target library examples:

More information

A GENERATION AHEAD SEMINAR SERIES

A GENERATION AHEAD SEMINAR SERIES A GENERATION AHEAD SEMINAR SERIES Constraints &Tcl Scripting Design Methodology Guidelines for Faster Timing Convergence Agenda Vivado Tcl Overview XDC Management Design Methodology for Faster Timing Closure

More information

v HDL Compiler for Verilog Reference Manual Resource Sharing 7

v HDL Compiler for Verilog Reference Manual Resource Sharing 7 7 Resource Sharing 7 Resource sharing is the assignment of similar Verilog operations (for example, +) to a common netlist cell. Netlist cells are the resources they are equivalent to built hardware. Resource

More information

CS/ECE 6710 Tool Suite. Design Compiler. Design Compiler Basic Flow. beh2str the simplest script! Design Compiler Basic Flow

CS/ECE 6710 Tool Suite. Design Compiler. Design Compiler Basic Flow. beh2str the simplest script! Design Compiler Basic Flow Synthesis and Place & Route Synopsys design compiler Cadence Encounter Digital Implementation System (EDI) Verilog sim Behavioral Verilog Your Library CS/ECE 6710 Tool Suite Cadence EDI Synopsys Design

More information

EE183 LAB TUTORIAL. Introduction. Projects. Design Entry

EE183 LAB TUTORIAL. Introduction. Projects. Design Entry EE183 LAB TUTORIAL Introduction You will be using several CAD tools to implement your designs in EE183. The purpose of this lab tutorial is to introduce you to the tools that you will be using, Xilinx

More information

Using Tcl. Learning Objectives

Using Tcl. Learning Objectives Using Tcl Learning Objectives Using the transcript program, you will translate a given specification (in DC-Shell format) into PrimeTime Tcl format. After completing this lab, you should be able to: Write

More information

Place & Route Tutorial #1

Place & Route Tutorial #1 Place & Route Tutorial #1 In this tutorial you will use Synopsys IC Compiler (ICC) to place, route, and analyze the timing and wirelength of two simple designs. This tutorial assumes that you have worked

More information

SDC and TimeQuest API Reference Manual

SDC and TimeQuest API Reference Manual SDC and TimeQuest API Reference Manual 101 Innovation Drive San Jose, CA 95134 (408) 544-7000 http://www.altera.com MNL-SDCTMQ-1.1 Copyright 2007 Altera Corporation. All rights reserved. Altera, The Programmable

More information

CS/ECE 6710 Tool Suite

CS/ECE 6710 Tool Suite Synthesis and Place & Route Synopsys design compiler Cadence Encounter Digital Implementation System (EDI) Verilog sim Behavioral Verilog Your Library CCAR AutoRouter CS/ECE 6710 Tool Suite Cadence EDI

More information

Altera Technical Training Quartus II Software Design

Altera Technical Training Quartus II Software Design Altera Technical Training Quartus II Software Design Exercises Quartus II Software Design Series: Foundation 2 Quartus II Software Design Series: Foundation Exercises Exercise 1 3 Exercises Quartus II

More information

June 2003, ver. 1.2 Application Note 198

June 2003, ver. 1.2 Application Note 198 Timing Closure with the Quartus II Software June 2003, ver. 1.2 Application Note 198 Introduction With FPGA designs surpassing the multimillion-gate mark, designers need advanced tools to better address

More information

My First Nios II for Altera DE2-115 Board

My First Nios II for Altera DE2-115 Board My First Nios II for Altera DE2-115 Board Digital Circuit Lab TA: Po-Chen Wu Outline Hardware Design Nios II IDE Build Flow Programming the CFI Flash 2 Hardware Design 3 Introduction This slides provides

More information

Behavioral Modeling and Timing Constraints

Behavioral Modeling and Timing Constraints Introduction Behavioral modeling was introduced in Lab 1 as one of three widely used modeling styles. Additional capabilities with respect to testbenches were further introduced in Lab 4. However, there

More information

Techniques for Achieving Higher Completion in Formality

Techniques for Achieving Higher Completion in Formality White Paper Techniques for Achieving Higher Completion in Formality July 2009 Erin Hatch Formality CAE, Synopsys Formality is an equivalence checking solution that uses formal, static techniques to determine

More information

Timing Analysis in Xilinx ISE

Timing Analysis in Xilinx ISE Timing Analysis in Xilinx ISE For each design which is to be implemented, constraints should be defined to get predictable results. The first important class of constraints was already introduced in the

More information

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

Standard Cell Based Design Flow Using Modelsim, Buildgates, and Silicon Ensemble Arifur Rahman, Spring 2004, Polytechnic University, NY Standard Cell Based Design Flow Using Modelsim, Buildgates, and Silicon Ensemble Mapped Netlist Back Annotation using SDF File and mapped netlist

More information

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

FishTail: The Formal Generation, Verification and Management of Golden Timing Constraints FishTail: The Formal Generation, Verification and Management of Golden Timing Constraints Chip design is not getting any easier. With increased gate counts, higher clock speeds, smaller chip sizes and

More information

Cadence On-Line Document

Cadence On-Line Document Cadence On-Line Document 1 Purpose: Use Cadence On-Line Document to look up command/syntax in SoC Encounter. 2 Cadence On-Line Document An on-line searching system which can be used to inquire about LEF/DEF

More information

Introduction to Xilinx Vivado tools

Introduction to Xilinx Vivado tools Introduction to Xilinx Vivado tools This document is meant to be a starting point for users who are new to using the Xilinx Vivado tools. The document will describe the basic steps to start, create, simulate,

More information

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

Outline. SoC Encounter Flow. Typical Backend Design Flow. Digital IC-Project and Verification. Place and Route. Backend ASIC Design flow Outline Digital IC-Project and Verification Deepak Dasalukunte Backend ASIC Design flow General steps Input files Floorplanning Placement Clock-synthesis Routing Typical Backend Design Flow SoC Encounter

More information

UG0776 User Guide PolarFire FPGA Design Constraints

UG0776 User Guide PolarFire FPGA Design Constraints UG0776 User Guide PolarFire FPGA Design Constraints NOTE: PDF files are intended to be viewed on the printed page; links and cross-references in this PDF file may point to external files and generate an

More information

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

EE-382M VLSI II. Early Design Planning: Front End EE-382M VLSI II Early Design Planning: Front End Mark McDermott EE 382M-8 VLSI-2 Page Foil # 1 1 EDP Objectives Get designers thinking about physical implementation while doing the architecture design.

More information

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

Hardware Verification Group. Department of Electrical and Computer Engineering, Concordia University, Montreal, Canada. CAD Tool Tutorial. Digital Logic Synthesis and Equivalence Checking Tools Hardware Verification Group Department of Electrical and Computer Engineering, Concordia University, Montreal, Canada CAD Tool Tutorial May, 2010

More information

My First FPGA for Altera DE2-115 Board

My First FPGA for Altera DE2-115 Board My First FPGA for Altera DE2-115 Board 數位電路實驗 TA: 吳柏辰 Author: Trumen Outline Complete Your Verilog Design Assign The Device Add a PLL Megafunction Assign the Pins Create a Default TimeQuest SDC File Compile

More information

CSE P567 - Winter 2010 Lab 1 Introduction to FGPA CAD Tools

CSE P567 - Winter 2010 Lab 1 Introduction to FGPA CAD Tools CSE P567 - Winter 2010 Lab 1 Introduction to FGPA CAD Tools This is a tutorial introduction to the process of designing circuits using a set of modern design tools. While the tools we will be using (Altera

More information

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

Tutorial 2.(b) : Synthesizing your design using the Synopsys Design Compiler ( For DFT Flow) Tutorial 2.(b) : Synthesizing your design using the Synopsys Design Compiler ( For DFT Flow) Objectives: In this tutorial you will learrn to use Synopsys Design Compiler (DC) to perform hardware synthesis

More information

EE6250 VLSI Testing DFT Tutorial: Insert Scan Chain & ATPG Objectives:

EE6250 VLSI Testing DFT Tutorial: Insert Scan Chain & ATPG Objectives: NTHU EE EE6250 VLSI Testing DFT Tutorial: Insert Scan Chain & ATPG Objectives: In this tutorial, you can learn: 1. How to insert scan chain into a your synthesized gate level design & run ATPG 2. The scan

More information

EECS 470 Lab 2. Synopsys Build System. Department of Electrical Engineering and Computer Science College of Engineering University of Michigan

EECS 470 Lab 2. Synopsys Build System. Department of Electrical Engineering and Computer Science College of Engineering University of Michigan EECS 470 Lab 2 Synopsys Build System Department of Electrical Engineering and Computer Science College of Engineering University of Michigan Friday, 17 th January, 2014 (University of Michigan) Lab 2:

More information

PushPull: Short Path Padding for Timing Error Resilient Circuits YU-MING YANG IRIS HUI-RU JIANG SUNG-TING HO. IRIS Lab National Chiao Tung University

PushPull: Short Path Padding for Timing Error Resilient Circuits YU-MING YANG IRIS HUI-RU JIANG SUNG-TING HO. IRIS Lab National Chiao Tung University PushPull: Short Path Padding for Timing Error Resilient Circuits YU-MING YANG IRIS HUI-RU JIANG SUNG-TING HO IRIS Lab National Chiao Tung University Outline Introduction Problem Formulation Algorithm -

More information

Advanced FPGA Design Methodologies with Xilinx Vivado

Advanced FPGA Design Methodologies with Xilinx Vivado Advanced FPGA Design Methodologies with Xilinx Vivado Alexander Jäger Computer Architecture Group Heidelberg University, Germany Abstract With shrinking feature sizes in the ASIC manufacturing technology,

More information

Altera Quartus II Synopsys Design Vision Tutorial

Altera Quartus II Synopsys Design Vision Tutorial Altera Quartus II Synopsys Design Vision Tutorial Part III ECE 465 (Digital Systems Design) ECE Department, UIC Instructor: Prof. Shantanu Dutt Prepared by: Xiuyan Zhang, Ouwen Shi In tutorial part II,

More information

18. Synopsys Formality Support

18. Synopsys Formality Support 18. Synopsys Formality Support QII53015-7.2.0 Introduction Formal verification of FPGA designs is gaining momentum as multi-million System-on-a-Chip (SoC) designs are targeted at FPGAs. Use the Formality

More information

Logic Verification 13-1

Logic Verification 13-1 Logic Verification 13-1 Verification The goal of verification To ensure 100% correct in functionality and timing Spend 50 ~ 70% of time to verify a design Functional verification Simulation Formal proof

More information

Vivado Design Suite Tutorial: Implementation

Vivado Design Suite Tutorial: Implementation Vivado Design Suite Tutorial: Implementation Notice of Disclaimer The information disclosed to you hereunder (the Materials ) is provided solely for the selection and use of Xilinx products. To the maximum

More information

Working With Design Files 3

Working With Design Files 3 3 Working With Design Files 3 Designs are stored in design files, which are ASCII files containing a description of one or more designs. Design files must have unique names. Each design in a design file

More information

Best Practices for Incremental Compilation Partitions and Floorplan Assignments

Best Practices for Incremental Compilation Partitions and Floorplan Assignments Best Practices for Incremental Compilation Partitions and Floorplan Assignments December 2007, ver. 1.0 Application Note 470 Introduction The Quartus II incremental compilation feature allows you to partition

More information

An easy to read reference is:

An easy to read reference is: 1. Synopsis: Timing Analysis and Timing Constraints The objective of this lab is to make you familiar with two critical reports produced by the Xilinx ISE during your design synthesis and implementation.

More information

CS6710 Tool Suite. Design Compiler. Design Compiler Basic Flow. Design Compiler Basic Flow. Synthesis and Place & Route

CS6710 Tool Suite. Design Compiler. Design Compiler Basic Flow. Design Compiler Basic Flow. Synthesis and Place & Route Synthesis and Place & Route Verilog-XL CS6710 Tool Suite Synopsys Design Compiler Behavioral Verilog Synopsys design compiler Cadence Encounter Digital Implementation System (EDI) Your Library Circuit

More information

Advance Manual ECO by Gates On the Fly

Advance Manual ECO by Gates On the Fly Advance Manual ECO by Gates On the Fly Table of Contents Abstract... 1 Preparation... 1 GUI mode... 1 Configure the database... 2 Find the equivalent nets in GUI... 2 ECO in GUI mode... 5 ECO in script

More information

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

CS250 DISCUSSION #2. Colin Schmidt 9/18/2014 Std. Cell Slides adapted from Ben Keller CS250 DISCUSSION #2 Colin Schmidt 9/18/2014 Std. Cell Slides adapted from Ben Keller LAST TIME... Overview of course structure Class tools/unix basics THIS TIME... Synthesis report overview for Lab 2 Lab

More information

Tcl and SDC Tutorial. PlanAhead Design Tool

Tcl and SDC Tutorial. PlanAhead Design Tool Tcl and SDC Tutorial PlanAhead Design Tool Xilinx is disclosing this user guide, manual, release note, and/or specification (the Documentation ) to you solely for use in the development of designs to operate

More information