Agenda: Day One 3-1 DAY. Welcome. Introduction to Static Timing Analysis. Writing Basic Tcl Constructs in PT. Constraining Internal Reg-Reg paths
|
|
- Miles Jenkins
- 5 years ago
- Views:
Transcription
1 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:
2 Unit Objectives 3-2 After completing this unit, you should be able : Use a 3 step flow read design(s) in PT memory Resolve errors and warnings associated with reading and linking a design Access design objects after a design has been read in PT memory 3-2 Unit 3:
3 The Inputs and Outputs of PrimeTime 3-3 Gate-Level Netlist Constraints Exceptions Setup File read_db read_verilog read_vhdl source source Technology Libraries Read at PT invocation Loaded at linking PrimeTime Reports Constraint Script Log File The PrimeTime setup file is.synopsys_pt.setup. Constraints and Exceptions are usually placed in script(s). 3-3 Unit 3:
4 Five Step Static Timing Analysis Flow 3-4 READ CONSTRAIN EXCEPTIONS CHECK ANALYZE Our Focus 3-4 Unit 3:
5 PRIMETIME Interfaces 3-5 Two ways interface PrimeTime (PT) primetime PT GUI Command line shell PRIMETIME (PT) Engine pt_shell Primetime only accepts Tcl mode. 3-5 Unit 3:
6 Three Steps Read Your Data in PT 3-6 Three steps read in the required design(s): Set Variables: search_path link_path Read Design Resolve References (Link design) 3-6 Unit 3:
7 1: Set the search_path Variable 3-7 Synonymous with UNIX path variable ProjectX/ tech_lib.db projectx.log db/ vlog/ Tom/ scripts/ blocka.db blockb.db blockc.db p.v blockd.v blocke.v uart.db p.pt proc1.pt proc2.pt set search_path $search_path db vlog scripts printvar search_path What is a search_path? search_path contains a list of paths used locate the designs, libraries and other files needed perform STA. search_path variable usually includes paths : Design Database(s) Timing Model(s) Technology Library Constraint files These two commands have the same effect: set search_path $search_path db vlog scripts. # lappend search_path db vlog scripts lappend search_path db vlog scripts The default value of search_path is empty string. 3-7 Unit 3:
8 1: Set the link_path variable 3-8 The Link Path specifies where PT searches for designs and library files when linking the design: set link_path {* tech_lib.db rams.db} Link Path PT Memory Technology Cusm = * Library Conditions IP Cores During linking, PT will search (in sequence) the: PT Memory (*) Library file tech_lib.db IP core rams.db printvar link_path link_library = link_path. Design Compiler uses link_library, PrimeTime uses link_path. These two commands are equivalent: set link_path {* core_slow.db rams.db} lappend link_path core_slow.db rams.db 3-8 Unit 3:
9 2: Manually Read Design(s) in PT 3-9 U33 p blocka U21 INV U4 blockb pt_shell> read_db p.db pt_shell> read_db blocka.db pt_shell> read_db blockb.db OR pt_shell> read_db blocka.db blockb.db p.db What is the current_design in each case? The last design read is the current design by default. You can make another design current with the current_design command. In the above example of 2 cases, the current designs are blockb and p respectively. 3-9 Unit 3:
10 2: Read Sub Designs Aumatically 3-10 ProjectX/ tech_lib.db projectx.log db/ vlog/ Tom/ scripts/ blocka.db blockb.db p.v blockd.v uart.db p.pt proc1.pt blockc.db blocke.v proc2.pt pt_shell> read_verilog p.v pt_shell> link_design TOP What should the search_path be? Top.v is in the vlog direcry, search_path should have this direcry. Designs blocka.db AND blockb.db are in the DB direcry; search_path should also have this direcry. set search_path./vlog./db 3-10 Unit 3:
11 2: Read Designs in Different Formats 3-11 U33 p blocka INV U21 U4 blockb pt_shell> read_verilog p.v pt_shell> read_db blocka.db pt_shell> read_vhd blockb.vhd Can you mix netlist formats? How does it work? 3-11 Unit 3:
12 Example 1: Read Problem 3-12 set search_path $search_path db vlog scripts set link_path * tech_lib.db ProjectX/ tech_lib.db projectx.log db/ vlog/ Tom/ scripts/ blocka.db blockb.db blockc.db p.v blockd.v blocke.v uart.db p.pt proc1.pt proc2.pt pt_shell> read_db uart.db Error! Error: Cannot read file uart.db Error: Problem in read_db: No designs were read. How would you fix this read problem? 3-12 Unit 3:
13 Example 2: Read Problem 3-13 set search_path $search_path db vlog scripts set link_path * tech_lib.db ProjectX/ tech_lib.db projectx.log db/ vlog/ Tom/ scripts/ blocka.db blockb.db p.v blockd.v uart.db p.pt proc1.pt blockc.db blocke.v proc2.pt pt_shell> pwd /../ISTA/ProjectX pt_shell> cd scripts pt_shell> read_db blocka.db Error: Cannot read file blocka.db Error! How would you fix this read problem? 3-13 Unit 3:
14 3: What is Resolving References? 3-14 What is INV? U33 BLOCKA RISC_CORE Where is BLOCKB? U21 INV U4 BLOCKB How will PrimeTime know what each instance in RISC_CORE design netlist refers? Resolving references (aka link) means finding and replacing the space holders with the actual library cells or sub designs referenced Unit 3:
15 3: Link the Design Resolve References 3-15 The link_design command: Resolves all references in a design using the link_path variable: If it fails, it will use the search_path variable resolve references Reads the technology library if not already read in What are blocka, blockb, and INV? U33 blocka p INV U21 U4 blockb link = link_design. Design Compiler (DC) uses link while PrimeTime (PT) uses link_design command link a design. For convenience, PT has built-in alias link for link_design. Q: What happens if you accidentally try link the same design that has been previously linked? A: If you originally used -remove_sub_designs then, black boxes will be resulted since sub design references could not be found in the memory (*). Solution: - Use the link -incr option (OR) - Remove the (corrupted) design in memory and start over from read again (Recommended) Unit 3:
16 Example: Linking a Design 3-16 set search_path $search_path db vlog scripts set link_path * tech_lib.db ProjectX/ tech_lib.db projectx.log db/ vlog/ Tom/ scripts/ blocka.db blockb.db p.v blockd.v uart.db p.pt proc1.pt blockc.db blocke.v proc2.pt p U33 blocka U21 INV U4 blockb pt_shell> read_db blocka.db blockb.db pt_shell> read_verilog p.v pt_shell> current_design p pt_shell> link_design Where are the references found during linking? PT found blocka.db and blockb.db in its memory and INV in the library. After linking, if current_design is set a different design, all the previously established link information will be gone. PT aumatically reads in Library file(s) when link_design is executed Unit 3:
17 Example: Link Warning 3-17 pt_shell> read_db CLOCK_GEN.db pt_shell> link_design pt_shell> link Linking Linking design design CLOCK_GEN... CLOCK_GEN... Warning: Warning: Unable Unable resolve resolve reference reference 'MUX21L' 'MUX21L' in in 'CLOCK_GEN'. 'CLOCK_GEN'. (LNK-005) (LNK-005) Warning: Warning: Unable Unable resolve resolve reference reference 'IVI' 'IVI' in in 'CLOCK_GEN'. 'CLOCK_GEN'. (LNK-005) (LNK-005) Warning: Warning: Unable Unable resolve resolve reference reference 'FD2' 'FD2' in in 'CLOCK_GEN'. 'CLOCK_GEN'. (LNK-005) (LNK-005) Creating Creating black black box box for for U31/MUX21L... U31/MUX21L... Creating Creating black black box box for for U32/MUX21L... U32/MUX21L... Creating Creating black black box box for for U34/IVI... U34/IVI... Creating Creating black black box box for for U35/IVI... U35/IVI... Creating Creating black black box box for for CLK_BY_2_reg/FD2... CLK_BY_2_reg/FD2... Designs Designs used used link link CLOCK_GEN: CLOCK_GEN: <None> <None> Libraries Libraries used used link link CLOCK_GEN: CLOCK_GEN: <None> <None> WHAT! Design Design 'CLOCK_GEN' 'CLOCK_GEN' was was successfully successfully linked. linked. 1 1 Verify link_path and search_path Primetime create black boxes for unresolved references. This is because the link_create_black_boxes variable is set true by default Unit 3:
18 Black Boxes with link_design 3-18 If link_design could not resolve a particular reference, PT will create black boxes A black box is an empty cell with no timing arcs The variable link_create_black_boxes is true by default: Substitute unresolved references with black boxes Design is linked and timing analysis can be performed Set the variable link_create_black_boxes false: Unresolved references, cause a design remain unlinked Most timing analysis commands will not function Fix any problems and re-link the design What command would you use set this variable false? set link_create_black_boxes false 3-18 Unit 3:
19 Test For Understanding 3-19 Name three design netlist formats that PrimeTime accept? Linking a design involves the use of: a) and b) variables What is the purpose of linking a design? What does * in the link_path mean? 3-19 Unit 3:
20 Do You need Set Variables Every Time? 3-20 Can you have search_path and link_path variables set aumatically when you invoke PT? 3-20 Unit 3:
21 Create a.synopsys_pt.setup File 3-21 set search_path $search_path db vlog scripts set link_path * tech_lib.db set sh_enable_page_mode true set sh_command_log_file projectx.log alias h hisry alias rc report_constraint -all_violars hisry keep 200 Within the setup file, you can: Create commands you want execute every time PrimeTime is invoked, i.e. set search_path or set link_path Define aliases for interactive use Change log file name from its default pt_shell_command.log hisry keep 200 specifies: the number of commands (200) be retained in the hisry list. By default, only 20 commands are retained. You can control the naming of the Log file (default: pt_shell_command.log) via the variable: sh_command_log_file, but, it should appear inside the setup file (.synopsys_pt.setup) Example: set sh_command_log_file./projectx.log. Do not source any script file in the setup file since it will increase invocation time and will make debugging difficult Unit 3:
22 PrimeTime Setup Files User s General Setup ~user $SYNOPSYS/admin/setup ~/.synopsys_pt.setup.synopsys_pt.setup 3 User s Specific Project Setup Project_Direcry 1 Standard Setup./.synopsys_pt.setup PrimeTime will read the.synopsys_pt.setup files from three direcries (in the following order): 1. The primetime root direcry, which contains the PrimeTime files. For example, if PrimeTime was installed under /ols/synopsys/pt, standard installation would include a setup file under /ols/synopsys/pt/admin/setup. 2. Once the standard setup file has been read in and executed, PrimeTime then searches for a setup file in the user s login direcry. If a setup file exists in this direcry, it will be read in and executed. -- Warning: During project archiving (using tar -cvf) you need think about it! 3. Last, PrimeTime will read in and execute the.synopsys_pt.setup file from the direcry under which it was invoked. -- It makes life easier if this project specific setup file contains everything including the contents of your home direcry setup file, if you have one -- recall the Warning above Unit 3:
23 Read/Link Problem Debug Check List 3-23 Is PT invoked in the correct direcry? Correct setup file? Is the design fully mapped gate level instances? No high level HDL constructs (such as if, case,...) Are search_path and link_path variables set correctly? printvar *_path Are Black Boxes created for unresolved references? set link_create_black_boxes false Check Libraries in Memory & Library used: list_libraries list_libraries -used There can be only one linked design in PT memory Q: What happens if you accidentally try link the same design that has been previously linked? A: If you originally used -remove_sub_designs, the result will be black boxes since sub design references could not be found in the memory (*). Solution: - Use the link -incr option (OR) - Remove the (corrupted) design in memory and start over from read again (Recommended) Unit 3:
24 How does PT Sre My Design Netlist? 3-24 Vocabulary of Design Objects Design Cell Net TOP Port A B C D Clock CLK U1 A AIN B Q0 BIN C D CIN Q1 DIN ENCODER CLK U2 BUS0 INV U3 BUS1 INV U4 INV0 D0 Q[1:0] INV1 D1 CLK REGFILE Pin OUT[1:0] Reference and Design Here are some commands access your design sred in PT memory: get_cells # Create a collection of cells get_clocks # Create a collection of clocks get_nets # Create a collection of nets get_pins # Create a collection of pins... all_clocks # Create a collection of all clocks in design all_inputs # Create a collection of all input ports in design all_outputs # Create a collection of all output ports in design all_registers # Create a collection of register cells or pins Unit 3:
25 What Information Is Found in the Library? 3-25 Units for time, capacitance, resistance List of library cells Cell Timing (propagation delay, setup, hold...) Operating conditions Wire load model Design rules (max_capacitance, max_fanout...) list_libraries report_lib LIB_NAME pt_shell> list_libraries Library Registry: * ssc_core_slow./core_slow.db::ssc_core_slow pt_shell> report_lib ssc_core_slow **************************************** Report : library Library: ssc_core_slow Version: **************************************** Time Unit : 1 ns Capacitance Unit : 1 pf Usually, library file is read in during link_design. You can also explicitly read in a library file using the read_db command: Example: read_db ssc_core_slow.db To remove all the designs and libraries from the memory: remove_design all remove_lib all NOTE: PT cannot remove a library if it is used by a design residing in memory Unit 3:
26 Lab Overview 3-26 LAB 45 min Given a set of design and library files, you will need successfully read them in PrimeTime memory and access the design objects You will set the search_path and link_path variables correctly such that you can read: A Top level Verilog/VHDL netlist and link using Verilog/VHDL sub blocks and the library A p level Verilog/VHDL netlist and link using DB sub blocks and the library A complete netlist in VHDL/Verilog/DB and library, link efficiently and access sevaral objects within the design 3-26 Unit 3:
27 Review 3-27 Write 3 variable names that are used read and link a design in PT: Write 3 command names that are used read and link a design in Verilog format in PT: 3-27 Unit 3:
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 informationPerforming 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 informationCompile 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 informationIntroduction 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 informationUsing 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 informationSpecifying 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 informationEE4415 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 informationGetting 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 informationLecture 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 informationEECS 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 informationDC-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 informationDesign 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 informationMultiple 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 informationPrimeTime: 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 informationAgenda: 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 informationPreparing 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 informationTutorial 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 informationSmartTime 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 informationCS/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 informationKing 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 information18. 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 informationVivado 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 informationVivado 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 informationGraduate 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 informationTutorial 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 informationGraduate 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 informationHardware 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 informationLaboratory 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 informationBehavioral 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 informationRTL 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 informationLogic 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 informationEE 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 informationHDL Compiler Directives 7
7 HDL Compiler Directives 7 Directives are a special case of regular comments and are ignored by the Verilog HDL simulator HDL Compiler directives begin, like all other Verilog comments, with the characters
More informationAccuCore 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 informationHardware 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 informationSetup 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 informationAccuCore. 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 informationLECTURE 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 informationTRILOBYTE 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 informationHOW 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 informationCustom Design Formal Equivalence Checking Based on Symbolic Simulation. Overview. Verification Scope. Create Verilog model. Behavioral Verilog
DATASHEET Custom Design Formal Equivalence Checking Based on Symbolic Simulation High-quality equivalence checking for full-custom designs Overview is an equivalence checker for full custom designs. It
More informationOverview. 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 informationLab 7 (All Sections) Prelab: Introduction to Verilog
Lab 7 (All Sections) Prelab: Introduction to Verilog Name: Sign the following statement: On my honor, as an Aggie, I have neither given nor received unauthorized aid on this academic work 1 Objective The
More informationStandard 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 informationDesign Compiler Interface 8
8 Design Compiler Interface 8 HDL Compiler translates a Verilog circuit description into a GTECH netlist that Design Compiler uses to create an optimized netlist mapped to a specific technology. This chapter
More informationA. 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 information11. 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 informationVivado 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 informationIntroduction 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 information8. 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 informationActel Libero TM Integrated Design Environment v2.3 Structural Schematic Flow Design Tutorial
Actel Libero TM Integrated Design Environment v2.3 Structural Schematic Flow Design Tutorial 1 Table of Contents Design Flow in Libero TM IDE v2.3 Step 1 - Design Creation 3 Step 2 - Design Verification
More informationAutomated 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 informationEE 330 Spring Laboratory 2: Basic Boolean Circuits
EE 330 Spring 2013 Laboratory 2: Basic Boolean Circuits Objective: The objective of this experiment is to investigate methods for evaluating the performance of Boolean circuits. Emphasis will be placed
More informationPartitioning 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 informationASIC 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 informationXilinx ChipScope ICON/VIO/ILA Tutorial
Xilinx ChipScope ICON/VIO/ILA Tutorial The Xilinx ChipScope tools package has several modules that you can add to your Verilog design to capture input and output directly from the FPGA hardware. These
More informationVerilog Simulation Mapping
1 Motivation UNIVERSITY OF CALIFORNIA AT BERKELEY COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Lab 4 Verilog Simulation Mapping In this lab you will learn how to use
More informationAltera 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 informationBest 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 informationEE121 Foundation Review Session Page 1 of 16 Winter Learning to Love Xilinx Foundation 4.1i in 40 Easy Steps
EE121 Foundation Review Session Page 1 of 16 Learning to Love Xilinx Foundation 4.1i in 40 Easy Steps You all know how to design and implement a digital circuit with Foundation. But sometimes going from
More informationSDC 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 informationSynthesis 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 informationEE4702 Informal Cadence Verilog Simulation Guide
EE4702 Informal Cadence Verilog Simulation Guide Bryan Audiffred February 19, 2004 1 Introduction This brief guide should get you up and running with the Cadence Verilog simulator. It is by no means comprehensive.
More informationRecommended Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto
Recommed Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto DISCLAIMER: The information contained in this document does NOT contain
More informationECE 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 informationPost-Synthesis Simulation. VITAL Models, SDF Files, Timing Simulation
Post-Synthesis Simulation VITAL Models, SDF Files, Timing Simulation Post-synthesis simulation Purpose: Verify correctness of synthesized circuit Verify synthesis tool delay/timing estimates Synthesis
More informationImage Courtesy CS250 Section 2. Yunsup Lee 9/4/09
CS250 Section 2 Image Courtesy www.intel.com Yunsup Lee 9/4/09 Upcoming dates! 9/8/09 (12:30pm) - Lab 1 due (No late days for Lab 1!)! Submit using SVN (source, build, writeup)! 9/8/09 - Lab 2 out! Write
More informationLab 7 (Sections 300, 301 and 302) Prelab: Introduction to Verilog
Lab 7 (Sections 300, 301 and 302) Prelab: Introduction to Verilog Name: Sign the following statement: On my honor, as an Aggie, I have neither given nor received unauthorized aid on this academic work
More informationChapter 2 Getting Hands on Altera Quartus II Software
Chapter 2 Getting Hands on Altera Quartus II Software Contents 2.1 Installation of Software... 20 2.2 Setting Up of License... 21 2.3 Creation of First Embedded System Project... 22 2.4 Project Building
More informationUniversity of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science
University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science EECS 150 Spring 2002 Original Lab By: J.Wawrzynek and N. Weaver Later revisions by
More informationEEC 118 Spring 2011 Lab #5 Manchester Carry-Chain Adder
EEC 118 Spring 2011 Lab #5 Manchester Carry-Chain Adder Rajeevan Amirtharajah Dept. of Electrical and Computer Engineering University of California, Davis Issued: May 9, 2011 Due: May 20, 2011, 5 PM in
More informationECE 5745 ASIC Tutorial
README.md - Grip ECE 5745 ASIC Tutorial This tutorial will explain how to use a set of Synopsys tools to push an RTL design through synthesis, place-and-route, and power analysis. This tutorial assumes
More informationEE183 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 informationA 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 informationMODELING LANGUAGES AND ABSTRACT MODELS. Giovanni De Micheli Stanford University. Chapter 3 in book, please read it.
MODELING LANGUAGES AND ABSTRACT MODELS Giovanni De Micheli Stanford University Chapter 3 in book, please read it. Outline Hardware modeling issues: Representations and models. Issues in hardware languages.
More informationUG0776 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 informationApplications Note. HDL Simulation FPGA Design Methodology. October 15, Revision 1.0
Applications Note HDL Simulation FPGA Design Methodology October 15, 1998 Revision 1.0 OVERVIEW... 3 MODEL TECHNOLOGY, EXEMPLAR & XILINX TOOLFLOW OVERVIEW... 3 SYNTHESIS PROCESS DESIGN FLOW... 4 EXAMPLE
More informationA 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 informationEE 361L Digital Systems and Computer Design Laboratory
University of Hawaii Department of Electrical Engineering EE 361L Digital Systems and Computer Design Laboratory Timing Simulation Version 1.0 10/10/2003 This document is a quick tutorial on performing
More informationPart 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 informationTutorial for Encounter
Tutorial for Encounter STEP 1: Login to the Linux system on Linuxlab server. Start a terminal (the shell prompt). (If you don t know how to login to Linuxlab server, look at here) Click here to open a
More informationPipelined 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 informationESE 150 Lab 07: Digital Logic
LAB 07 In this lab we will do the following: 1. Investigate basic logic operations (AND, OR, INV, XOR) 2. Implement an ADDER on an FPGA 3. Implement a simple Finite- State Machine on an FPGA Background:
More informationand 32 bit for 32 bit. If you don t pay attention to this, there will be unexpected behavior in the ISE software and thing may not work properly!
This tutorial will show you how to: Part I: Set up a new project in ISE 14.7 Part II: Implement a function using Schematics Part III: Simulate the schematic circuit using ISim Part IV: Constraint, Synthesize,
More informationTutorial on Quartus II Introduction Using Verilog Code
Tutorial on Quartus II Introduction Using Verilog Code (Version 15) 1 Introduction This tutorial presents an introduction to the Quartus II CAD system. It gives a general overview of a typical CAD flow
More informationUNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180A DIGITAL SYSTEMS I Winter 2015
UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering EEC180A DIGITAL SYSTEMS I Winter 2015 LAB 1: Introduction to Quartus II Schematic Capture and ModelSim Simulation This
More informationTDTS01. Computer Aided Design of Electronics. Lab Compendium
TDTS01 Computer Aided Design of Electronics Lab Compendium 2012.02.03-00 Authors history Nima Aghaee, 2012 Adrian Lifa, 2011 Zhiyuan He, 2010 Acknowledgments The authors would like to thank Dimitar Nikolov
More informationAMIS CDNLive Paper: A DFII Based Place and Route Interface
Table of Contents Chapter 1.0 Overview Chapter 2.0 Implementation Chapter 3.0 Digital Integration Form Chapter 4.0 To P&R Tab Chapter 5.0 From P&R Tab Chapter 6.0 Summary 1/17 Introduction Chapter 1: Overview
More informationLecture 2: Data Types, Modeling Combinational Logic in Verilog HDL. Variables and Logic Value Set. Data Types. Why use an HDL?
Why use an HDL? Lecture 2: Data Types, Modeling Combinational Logic in Verilog HDL Increase digital design engineer s productivity (from Dataquest) Behavioral HDL RTL HDL Gates Transistors 2K 10K gates/week
More informationUG0787 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 informationFPGA: FIELD PROGRAMMABLE GATE ARRAY Verilog: a hardware description language. Reference: [1]
FPGA: FIELD PROGRAMMABLE GATE ARRAY Verilog: a hardware description language Reference: [] FIELD PROGRAMMABLE GATE ARRAY FPGA is a hardware logic device that is programmable Logic functions may be programmed
More informationQuartus II Version 14.0 Tutorial Created September 10, 2014; Last Updated January 9, 2017
Quartus II Version 14.0 Tutorial Created September 10, 2014; Last Updated January 9, 2017 This tutorial will walk you through the process of developing circuit designs within Quartus II, simulating with
More informationENGN 1630: CPLD Simulation Fall ENGN 1630 Fall Simulating XC9572XLs on the ENGN1630 CPLD-II Board Using Xilinx ISim
ENGN 1630 Fall 2018 Simulating XC9572XLs on the ENGN1630 CPLD-II Board Using Xilinx ISim You will use the Xilinx ISim simulation software for the required timing simulation of the XC9572XL CPLD programmable
More informationBits and Pieces of CS250 s Toolflow
Bits and Pieces of CS250 s Toolflow CS250 Tutorial 2 (Version 092509a) September 25, 2009 Yunsup Lee In this tutorial you will learn what each VLSI tools used in class are meant to do, how they flow, file
More informationTiming and Verification
Timing and Verification Design of Digital Circuits 2017 Srdjan Capkun Onur Mutlu (Guest starring: Frank K. Gürkaynak and Aanjhan Ranganathan) http://www.syssec.ethz.ch/education/digitaltechnik_17 Adapted
More informationBehavioral Modeling and Timing Constraints
Lab Workbook 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.
More informationEECS150 - Digital Design Lecture 6 - Logic Simulation. Encoder Example
EECS150 - Digital Design Lecture 6 - Logic Simulation Feb 7, 2013 John Wawrzynek Spring 2013 EECS150 - Lec06-sim Page 1 Encoder Example What is y if x == 4 b1111? always @(x) : encode if (x == 4'b0001)
More informationECE 353 Lab 4. MIDI Receiver in Verilog. Professor Daniel Holcomb UMass Amherst Fall 2016
ECE 353 Lab 4 MIDI Receiver in Verilog Professor Daniel Holcomb UMass Amherst Fall 2016 Timeline and Grading for Lab 4 Lectures on 11/15 and 11/17 Due on 12/12 Demos in Duda hall Schedule will be posted
More informationSynthesis. 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 informationUniversity of Toronto ECE532 Digital Hardware Lab 5: Adding a User-Designed Peripheral
Version 1.5 8/16/2004 This lab can be started during Lab 4 and completed during Lab 5, if necessary. Goals Add a user designed peripheral to a basic MicroBlaze system. Demonstrate the required structure
More information