Reading the Design into PT

Size: px
Start display at page:

Download "Reading the Design into PT"

Transcription

1 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 able to : set the search_path and link_path variables correctly read a top-level Verilog/VHDL netlist and link using Verilog/VHDL sub blocks and the library read a top-level Verilog/VHDL netlist and link using DB sub blocks and the library read a complete netlist in VHDL/Verilog/DB and library, link efficiently and access sevaral objects within the design 45 minutes UNIT Unit 3 Reading the Design into PrimeTime 3-1 Synopsys S36

2 Getting Started Directory structure and relevant files../libs/ Directory with Library files core_slow.db Cell library for setup check Lab3_Read/ Directory to perform this lab.synopsys_pt.setup PrimeTime Setup Scripts/ Scripts directory task1_solution.pt Partial script for Task1 task2_solution.pt Partial script for Task2 Source/ Verilog/ Verilog design directory RISC_CORE*.v Top-level netlist *.v Sub designs in RISC_CORE DB/ DB design directory RISC_CORE*.db Top-level netlist *.db Sub designs in RISC_CORE If you need help Use the lecture material, SOLD or the Quick Reference Guide. pt_shell> help read* pt_shell> help verbose read_verilog pt_shell> read_verilog help pt_shell> man read_verilog pt_shell> printvar link* pt_shell> echo $link_create_black_boxes pt_shell> man link_create_black_boxes 3-2 Reading design into PrimeTime

3 Reading the Design into PrimeTime Read Top-level design. Link using Verilog sub blocks Read Top-level design. Link using DB sub blocks Read & Link Top-level hierarchical netlist. Access design objects Answer to Lab Review Questions Done Your goals are to: - Read a top-level RISC_CORE design and link using Verilog sub blocks and then using DB sub blocks - Find and fix at least 3 problems - Read hierarchical RISC_CORE netlist and link efficiently and still access all the required design objects Reading design into PrimeTime 3-3

4 Background You are provided with the gate level netlist of the RISC_CORE design, the library and an incomplete.synopsys_pt.setup file. Task 1. Read the Top-level design. Link using Verilog Sub Blocks 1. Make sure that your current directory is./lab3_read; Invoke pt_shell to log the session to a log file. unix% pt_shell tee lab3.log 2. Review the link_path and search_path variables. Do you see any problems?. (You do not need to fix anything in this step.) 3. Read the top-level design netlist of RISC_CORE. pt_shell> read_verilog RISC_CORE.v Question 1. What was the problem?... Question 2. What are the 2 ways you can fix this problem? Update the search_path to point to the Verilog directory and repeat Step-3. pt_shell> lappend search_path./source/verilog 5. Link the current_design. pt_shell> current_design RISC_CORE pt_shell> link_design Question 3. Are there unresolved references?... Question 4. Is the design reported successfully linked? Reading design into PrimeTime

5 6. PT creates black boxes for unresolved references and the link was reported as successful. This will not be helpful for STA. Relink with link_create_black_boxes variable set to false. pt_shell> printvar *black*box* pt_shell> set link_create_black_boxes false pt_shell> link Question 5. How many references are unresolved?... Question 6. Is the design reported successfully linked? There is a LNK-001 error indicating that PT cannot read the link_path file core_slow.db. Fix this problem by updating the search_path variable to include the needed directory as well as the link_path variable to include PT memory. Perform link. pt_shell> printvar link_path pt_shell> set link_path * core_slow.db pt_shell> printvar search_path pt_shell> lappend search_path../libs pt_shell> link Question 7. How many references are unresolved now?... Question 8. Are these library cells or sub blocks unresolved? Although the Verilog sub blocks are present in the search_path, PT cannot automatically read them to resolve the references. You have to read them manually and then link. Reading design into PrimeTime 3-5

6 pt_shell> ls Source/Verilog/* pt_shell> set SUB_LIST ALU \ CONTROL \ DATA_PATH \ INSTRN_LAT \ PRGRM_CNT_TOP \ REG_FILE \ STACK_TOP pt_shell> foreach SUB $SUB_LIST {? read_verilog ${SUB}.v? } pt_shell> link Question 9. Are there any unresolved references?... Question 10. What design has been successfully linked now?... The goal was to link RISC_CORE, but you accidentally linked a sub design. This can happen when reading Verilog/VHDL files. 9. You will now fix this error. Take a note of the Unlinking.. message during link. PT can hold only one linked design in memory at a time. pt_shell> current_design RISC_CORE pt_shell> link Question 11. Is RISC_CORE successfully linked?... Question 12. What designs are accessible (via current_design) in PT memory (HINT: get_designs *)? Reading design into PrimeTime

7 Task 2. Read the Top-level Design. Link using DB Sub Blocks 1. Using the provided alias (in.synopsys_pt.setup), remove all the designs and library in memory. pt_shell> alias clean pt_shell> clean NOTE: If you quit PT and start again, begin with source task1_solution.pt 2. Read the top-level design netlist of RISC_CORE as done in Task 1. pt_shell> read_verilog RISC_CORE.v Question 13. How would you link the top-level RISC_CORE design using the DB sub blocks contained in the./source/db directory? Link RISC_CORE using DB sub blocks. pt_shell> lappend search_path./source/db pt_shell> link Question 14. Is the design successfully linked?... Question 15. Are there any unresolved references? Take a look at the./source/db directory. The ALU sub design has been mistakenly (or intentionally) written out as alu.db instead of ALU.db. PT looks for DESIGN.db file (case sensitive) to be able to resolve a DESIGN reference. Fix the problem and relink. pt_shell> ls al./source/db pt_shell> read_db alu.db pt_shell> link Reading design into PrimeTime 3-7

8 Question 16. What is one other way by which you could have resolved ALU?... Question 17. What design has been successfully linked? Here again, you accidentally linked a sub design (ALU) instead of RISC_CORE. The following command will fix this error. pt_shell> current_design RISC_CORE pt_shell> link Question 18. Is RISC_CORE successfully linked?... Question 19. What designs are accessible (via current_design) in PT memory (HINT: get_designs *)? You can free some memory and improve performance by removing the sub designs after successfully linking. Note: You can only perform STA at the RISC_CORE level. You cannot access the sub designs any more. pt_shell> current_design RISC_CORE pt_shell> link remove_sub_designs Question 20. Is RISC_CORE successfully linked?... Question 21. What designs are accessible (via current_design) in PT memory (HINT: get_designs *)?... Task 3. Read and Link a Top-level Hierarchical Design; Access Design Objects The objective of this task is to efficiently read and link a single DB file containing the Top and ALL the sub blocks. Question 22. What does a DB file contain (as compared to a Verilog or VHDL netlist)?... NOTE: If you quit PT and start again, begin with source task2_solution.pt 3-8 Reading design into PrimeTime

9 1. Remove any designs and the library from PT memory. Read ONLY the netlist out of the RISC_CORE hierarchical DB file. pt_shell> clean pt_shell> read_db netlist_only RISC_CORE_hier.db Question 23. What designs are accessible in PT memory (HINT: get_designs *)?... Question 24. How many designs are accessible in PT memory (HINT: sizeof_collection [get_designs *])?... Question 25. What is the current_design? Link the design to remove sub designs. pt_shell> link_design remove_sub_designs Question 26. What designs are accessible in PT memory (HINT: get_designs *)? Eventhough, the sub designs do not show up in the memory with the get_designs * command, you can still access hierarchically several objects in the design. Start by defining an alias to count the number of objects within a collection. pt_shell> alias size sizeof_collection Reading design into PrimeTime 3-9

10 4. Obtain the number of different objects in the current design and transfer them to Table 3-1 provided below: pt_shell> size [get_ports *] pt_shell> size [all_inputs] pt_shell> size [all_outputs] pt_shell> size [get_nets *] pt_shell> size [get_nets hier *] pt_shell> size [get_cells *] pt_shell> size [get_cells hier *] pt_shell> size [all_registers] pt_shell> size [get_pins *] pt_shell> size [get_pins -hier *] 5. Quit PrimeTime Object Type Number of Objects Ports # Total: # Inputs: Nets # Outputs # Top-level : Cells # In Entire hierarchy: # Top-level : # In Entire hierarchy: Pins # Registers # Top-level : # In Entire hierarchy: Table 3-1: Number of Objects in RISC_CORE pt_shell> quit Great! Now you are ready to answer a few challenging questions and compare your answers with the Solutions at the end of this Lab Reading design into PrimeTime

11 Task 4. Lab Review Questions Question 27. State 3 commands which make use of the search_path variable implicitly?... Question 28. What variable(s) is(are) used by the link command?... Question 29. How would you link sub blocks that are Verilog/VHDL netlist files?... Question 30. How would you link sub blocks that are DB netlists?... Question 31. How would you free up memory when using the link command on a large hierarchical design?... Question 32. When reading a design netlist file, which format (Verilog/VHDL/DB) benefits from the -netlist_only option?... Question 33. List at least 3 techiques that you learned by doing this lab: Reading design into PrimeTime 3-11

12 Answers for Task 1. Read the Top-level Design. Link using Verilog Sub Blocks Q 1. What was the problem? PT cannot read (find) the file. Q 2. What are the 2 ways you can fix this problem? Provide full path name of the design file (OR) update the search_path Q 3. Are there unresolved references? Yes Q 4. Is the design reported successfully linked? Yes Q 5. How many references are unresolved? 68 Q 6. Is the design reported successfully linked? No Q 7. How many references are unresolved? 7 Q 8. Are these library cells or sub blocks unresolved? sub blocks Q 9. Are there any unresolved references? No 3-12 Reading design into PrimeTime

13 Q 10. What design has been successfully linked now? Yes Q 11. Is RISC_CORE successfully linked? Yes Q 12. What designs are accessible (via current_design) in PT memory (HINT: get_designs *)? RISC_CORE and all its sub designs Task 2. Read the Top-level Design. Link using DB Sub Blocks Q 13. How would you link the top-level RISC_CORE design using the DB sub blocks contained in the./source/db directory? Update the search_path Q 14. Is the design linked successfully? No Q 15. Are there any unresolved references, which one? Yes, ALU Q 16. What is one other way by which you could have resolved ALU? unix% mv alu.db ALU.db pt_shell> current_design RISC_CORE pt_shell> link Q 17. What design has been linked successfully? ALU Q 18. Is RISC_CORE linked successfully? Yes Reading design into PrimeTime 3-13

14 Q 19. What designs are accessible (via current_design) in PT memory (HINT: get_designs *)? RISC_CORE and all its sub designs Q 20. Is RISC_CORE successfully linked? Yes Q 21. What designs are accessible (via current_design) in PT memory (HINT: get_designs *)? RISC_CORE Task 3. Read and Link Top-level Hierarchical Netlist; Access Design Objects Q 22. What does a DB file contain (as compared to a Verilog or VHDL netlist)? DB file contains Gate level netlist and Constraints and attributes placed on the design Q 23. What designs are accessible in PT memory (HINT: get_designs *)? RISC_CORE, CONTROL, PRGRM_CNT_TOP, INSTRN_LAT, ALU, DATA_PATH, STACK_TOP, REG_FILE Q 24. How many designs are accessible in PT memory (HINT: sizeof_collection [get_designs *])? 8 Q 25. What is the current_design? RISC_CORE Q 26. What designs are accessible in PT memory (HINT: get_designs *)? RISC_CORE 3-14 Reading design into PrimeTime

15 Object Type Number of Objects Ports # Total: 98 # Inputs: 35 # Outputs 63 Nets # Top-level : 299 # In Entire hierarchy: 2859 Cells # Top-level : 68 # In Entire hierarchy: 2259 # Registers 301 Pins # Top-level : 618 # In Entire hierarchy: 8800 Table 3-1: Number of Objects in RISC_CORE Task 4. Lab Review Questions Q 27. State 3 commands which make use of the search_path variable implicitly? read_verilog, read_db, link_design, source Q 28. What variable(s) is(are) used by the link command? link_path, search_path, link_create_black_boxes Q 29. How would you link sub blocks that are Verilog/VHDL netlist files? Read them in explicitely into PT memory using read_veriolog or read_vhdl Q 30. How would you link sub blocks that are DB netlists? Append the search_path for the directory with DB files. Then link Q 31. How would you free up memory when using the link command on a large hierarchical design? link remove_sub_designs option Q 32. When reading a design netlist file, which format (Verilog/VHDL/DB) benefits from the -netlist_only option? DB Reading design into PrimeTime 3-15

16 Q 33. List at least 3 techniques that you learned by doing this lab: 1) Before reading in a design netlist file, search_path should be updated to the directory containing the design file(s). 2) Before linking a design, make sure that link_path contains PT memory (*) and that the library DB file and the search_path contain the directories of the Library file, as well as any sub design files. 3) Use current_design command before linking a design. The End of Lab Reading design into PrimeTime

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

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

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

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

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

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 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 31833-000-S38 Flow Diagram

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

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

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

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

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

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

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

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

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

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

Vivado Design Suite User Guide

Vivado Design Suite User Guide Vivado Design Suite User Guide Synthesis Revision History The following table shows the revision history for this document: Date Version Revision 06/24/2015 2015.2 Changes are: Added Important note on

More information

Vivado Design Suite User Guide

Vivado Design Suite User Guide Vivado Design Suite User Guide Synthesis Revision History The following table shows the revision history for this document: Date Version Revision 04/01/2015 2015.1 Initial release for 2015.1. Changes include:

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

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

Vivado Design Suite User Guide

Vivado Design Suite User Guide Vivado Design Suite User Guide Synthesis 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

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

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

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

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

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

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

Linux Operating System Environment Computadors Grau en Ciència i Enginyeria de Dades Q2

Linux Operating System Environment Computadors Grau en Ciència i Enginyeria de Dades Q2 Linux Operating System Environment Computadors Grau en Ciència i Enginyeria de Dades 2017-2018 Q2 Facultat d Informàtica de Barcelona This first lab session is focused on getting experience in working

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

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

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

Synthesis and APR Tools Tutorial

Synthesis and APR Tools Tutorial Synthesis and APR Tools Tutorial (Last updated: Oct. 26, 2008) Introduction This tutorial will get you familiarized with the design flow of synthesizing and place and routing a Verilog module. All the

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

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

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

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

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

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

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

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

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

3. Formal Equivalence Checking

3. Formal Equivalence Checking 3. Formal Equivalence Checking 1 3. Formal Equivalence Checking Jacob Abraham Department of Electrical and Computer Engineering The University of Texas at Austin Verification of Digital Systems Spring

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

AccuCore SPICE Accurate Core Characterization with STA. Silvaco Japan Technology Seminar Spring 2007

AccuCore SPICE Accurate Core Characterization with STA. Silvaco Japan Technology Seminar Spring 2007 AccuCore SPICE Accurate Core Characterization with STA Silvaco Japan Technology Seminar Spring 2007 What is AccuCore? Why would I use it? AccuCore performs automatic block SPICE characterization and Static

More information

Hardware Verification Group

Hardware Verification Group Digital Logic Synthesis and Equivalence Checking Tools Tutorial Hardware Verification Group Department of Electrical and Computer Engineering, Concordia University, Montreal, Canada {n ab, h aridh}@encs.concordia.ca

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

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

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

CSE 141L Computer Architecture Lab Fall Lecture 3

CSE 141L Computer Architecture Lab Fall Lecture 3 CSE 141L Computer Architecture Lab Fall 2005 Lecture 3 Pramod V. Argade November 1, 2005 Fall 2005 CSE 141L Course Schedule Lecture # Date Day Lecture Topic Lab Due 1 9/27 Tuesday No Class 2 10/4 Tuesday

More information

Clockless IC Design using Handshake Technology. Ad Peeters

Clockless IC Design using Handshake Technology. Ad Peeters Clockless IC Design using Handshake Technology Ad Peeters Handshake Solutions Philips Electronics Philips Semiconductors Philips Corporate Technologies Philips Medical Systems Lighting,... Philips Research

More information

Lesson 17: Building a Hierarchical Design

Lesson 17: Building a Hierarchical Design Lesson 17: Building a Hierarchical Design Lesson Objectives After you complete this lesson you will be able to: Explore the structure of a hierarchical design Editing the Training Root Schematic Making

More information

Verdi 3 NPI Training Language and Netlist Models

Verdi 3 NPI Training Language and Netlist Models Verdi 3 NPI Training Language and Netlist Models Based on Verdi 3 2013.01 Synopsys 2012 1 Glossary VIA = Verdi Interoperability Applications NPI = Novas Programming Interface Novas KDB = Novas Knowledge

More information

Lesson 9: Processing a Schematic Design

Lesson 9: Processing a Schematic Design Lesson 9: Processing a Schematic Design Lesson Objectives After you complete this lab you will be able to: Assign reference designators Check the design for errors Create a netlist for OrCAD and Allegro

More information

Creating Verilog Tutorial Netlist Release Date: 01/13/2005(Version 2)

Creating Verilog Tutorial Netlist Release Date: 01/13/2005(Version 2) Creating Verilog Tutorial 2-1 - Creating a verilog netlist for a schematic: The verilog netlist is necessary for automatic layout (placement and routing) tools. It contains information about the I/O pins

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

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

Unix background. COMP9021, Session 2, Using the Terminal application, open an x-term window. You type your commands in an x-term window.

Unix background. COMP9021, Session 2, Using the Terminal application, open an x-term window. You type your commands in an x-term window. Unix background COMP9021, Session 2, 2016 1 Introduction Using the Terminal application, open an x-term window. You type your commands in an x-term window. Many commands take one or more arguments. Many

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

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

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

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

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

Tutorial for Cadence SOC Encounter Place & Route

Tutorial for Cadence SOC Encounter Place & Route Tutorial for Cadence SOC Encounter Place & Route For Encounter RTL-to-GDSII System 13.15 T. Manikas, Southern Methodist University, 3/9/15 Contents 1 Preliminary Setup... 1 1.1 Helpful Hints... 1 2 Starting

More information

Digital System Design Lecture 2: Design. Amir Masoud Gharehbaghi

Digital System Design Lecture 2: Design. Amir Masoud Gharehbaghi Digital System Design Lecture 2: Design Amir Masoud Gharehbaghi amgh@mehr.sharif.edu Table of Contents Design Methodologies Overview of IC Design Flow Hardware Description Languages Brief History of HDLs

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

Addressing Verification Bottlenecks of Fully Synthesized Processor Cores using Equivalence Checkers

Addressing Verification Bottlenecks of Fully Synthesized Processor Cores using Equivalence Checkers Addressing Verification Bottlenecks of Fully Synthesized Processor Cores using Equivalence Checkers Subash Chandar G (g-chandar1@ti.com), Vaideeswaran S (vaidee@ti.com) DSP Design, Texas Instruments India

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

Gates On the Fly User Manual V1.8

Gates On the Fly User Manual V1.8 NanDigits Design Automation A Practical Way to Do Netlist ECO Gates On the Fly User Manual V1.8 https://nandigits.com/gof_manual.htm Table of Contents Table of Contents 1 Introduction 1.1 Overview 1.2

More information

ECE 4514 Digital Design II. Spring Lecture 2: Hierarchical Design

ECE 4514 Digital Design II. Spring Lecture 2: Hierarchical Design ECE 4514 Digital Design II Spring 2007 Abstraction in Hardware Design Remember from last lecture that HDLs offer a textual description of a netlist. Through abstraction in the HDL, we can capture more

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

An Introduction to Unix Power Tools

An Introduction to Unix Power Tools An to Unix Power Tools Randolph Langley Department of Computer Science Florida State University August 27, 2008 History of Unix Unix Today Command line versus graphical interfaces to COP 4342, Fall History

More information

AccuCore. Product Overview of Block Characterization, Modeling and STA

AccuCore. Product Overview of Block Characterization, Modeling and STA AccuCore Product Overview of Block Characterization, Modeling and STA What is AccuCore? AccuCore performs timing characterization of multi-million device circuits with SmartSpice accuracy and performs

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

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

EE4111 Advanced Analog Electronics Design. Spring 2009 Experiment #4 April 6 ~ April 17

EE4111 Advanced Analog Electronics Design. Spring 2009 Experiment #4 April 6 ~ April 17 EE4111 Advanced Analog Electronics Design Spring 2009 Experiment #4 April 6 ~ April 17 Setup Cadence in VLSI Lab 1) Copy files $ cp r /home/grads/ee4111ta ~/ 2) Edit your.cshrc file -- Include the following

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

Example of Digital System Design

Example of Digital System Design Example of Digital ystem Design The integrated circuit design process ystem Level Register Level Gate Level Fault imulation (gate level fault model) Fault imulation (transistor level fault model) Transistor

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

Unix Basics. Systems Programming Concepts

Unix Basics. Systems Programming Concepts Concepts Unix directories Important Unix file commands man, pwd, ls, mkdir, cd, cp, mv File and directory access rights through permission settings Using chmod to change permissions Other important Unix

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

Unix Tutorial Haverford Astronomy 2014/2015

Unix Tutorial Haverford Astronomy 2014/2015 Unix Tutorial Haverford Astronomy 2014/2015 Overview of Haverford astronomy computing resources This tutorial is intended for use on computers running the Linux operating system, including those in the

More information

Revision Notes: July2004 Generate tutorial for single transistor analysis. Based on existing schematic entry tutorial developed for ECE410

Revision Notes: July2004 Generate tutorial for single transistor analysis. Based on existing schematic entry tutorial developed for ECE410 Cadence Analog Tutorial 1: Schematic Entry and Transistor Characterization Created for the MSU VLSI program by Professor A. Mason and the AMSaC lab group. Revision Notes: July2004 Generate tutorial for

More information

Lab 3 Verilog Simulation Mapping

Lab 3 Verilog Simulation Mapping University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences 1. Motivation Lab 3 Verilog Simulation Mapping In this lab you will learn how to use

More information

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

ASIC Development. ASIC Classes. What s an ASIC, Anyhow? ASIC Methodology. Abstract Representations 2/16/2018 ASIC Development ECE 527: Application Specific Integrated Circuit Development Logic Synthesis and Analysis Objective is to produce a physical design. ASIC development is considered done when a layout file

More information

Gates-on-the-Fly fixes Logic Equivalence Check Failures

Gates-on-the-Fly fixes Logic Equivalence Check Failures Gates-on-the-Fly fixes Logic Equivalence Check Failures Logical Equivalence Checking software like Cadence s Conformal and Synopsys Formality create detailed reports of differences and errors, but it is

More information

The IIT standard cell library Version 2.1

The IIT standard cell library Version 2.1 The IIT standard cell library Version 2.1 Highlights - Support for AMI 0.35um library, including pads - Added Primetime and Pathmill support to IIT ASIC Flow - Support for stacked vias (for Virtuoso and

More information

Overall Sequential Design Flow. VHDL, Verilog, C?, C++?, Java? CS150 Spring 98 R. Newton & K. Pister CS150 Newton/Pister. Behavioral.

Overall Sequential Design Flow. VHDL, Verilog, C?, C++?, Java? CS150 Spring 98 R. Newton & K. Pister CS150 Newton/Pister. Behavioral. Outline Last time: Review State Tables & State Transition Diagrams Implementation Using D Flip-Flops Machine Equivalence Incompletely Specified Machines State Assignment & State Coding Schemes Design Example:

More information

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science. EECS 150 Spring 2000

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science. EECS 150 Spring 2000 University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science EECS 150 Spring 2000 Lab 1 Introduction to Xilinx Design Software 1 Objectives In this

More information

Lab 4 LVS and Post layout Simulation

Lab 4 LVS and Post layout Simulation Lab 4 LVS and Post layout Simulation Objective: In this lab you will learn 1. How to check if your layout that you drew in lab 3 matches your schematic that you drew in lab 2. 2. How to do the post layout

More information

Introduction to Verilog HDL

Introduction to Verilog HDL Introduction to Verilog HDL Ben Abdallah Abderazek National University of Electro-communications, Tokyo, Graduate School of information Systems May 2004 04/09/08 1 What you will understand after having

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

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

Overview of Digital Design Methodologies

Overview of Digital Design Methodologies Overview of Digital Design Methodologies ELEC 5402 Pavan Gunupudi Dept. of Electronics, Carleton University January 5, 2012 1 / 13 Introduction 2 / 13 Introduction Driving Areas: Smart phones, mobile devices,

More information

UG0787 User Guide PolarFire FPGA Block Flow

UG0787 User Guide PolarFire FPGA Block Flow UG0787 User Guide PolarFire FPGA Block Flow 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

FILE MAINTENANCE COMMANDS

FILE MAINTENANCE COMMANDS Birla Institute of Technology & Science, Pilani Computer Programming (CS F111) Lab-2 ----------------------------------------------------------------------------------------------------------------------

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

Introduction to Schematic Entry using Xilinx ISE and Digital Logic Simulation using ModelSim MXE

Introduction to Schematic Entry using Xilinx ISE and Digital Logic Simulation using ModelSim MXE Introduction to Schematic Entry using Xilinx ISE and Digital Logic Simulation using ModelSim MXE 1. Synopsis: This lab introduces Xilinx Schematic Editor to input a digital design and ModelSim to simulate

More information

SystemVerilog Essentials Simulation & Synthesis

SystemVerilog Essentials Simulation & Synthesis SystemVerilog Essentials Simulation & Synthesis Course Description This course provides all necessary theoretical and practical know-how to design programmable logic devices using SystemVerilog standard

More information

Register-Level Design

Register-Level Design Register-Level Design A digital system can be treated at different level of abstraction or compleity. So far, we have seen it at the gate level and the transistor level. At a higher level than the gate

More information

5 January ModelSim v5.7 Quick Reference Guide

5 January ModelSim v5.7 Quick Reference Guide 5 January 2004 ModelSim v5.7 Quick Reference Guide Author: David M. Sendek Background: This guide provides you with step-by-step procedures in using ModelSim to compile, link and simulate your VHDL or

More information