Multiple Clocks and Timing Exceptions
|
|
- Reynard Higgins
- 6 years ago
- Views:
Transcription
1 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. After completing this lab, you should be able to: Fully constrain and analyze a design using a minimum number of timing exceptions (set_max_delay, set_multicycle_path, set_false_path) Lab Duration: 60 minutes Multiple Clocks and Timing Exceptions Lab 10-1 Synopsys S38
2 Background The design you will be working with, called test, contains parallel paths shown in the figure below (resets not shown). Between inputs adr_i and coeff, and output dout there is a purely combinatorial path as well as a sequential path. The combinatorial and sequential paths actually have different constraints, and meet all setup and hold timing constraints. When you perform timing analysis, however, you will discover that there are initially many violations all due to incomplete or incorrect constraints. This is not a trivial matter to correct. adr_i[15:0] coeff[15:0] Combinatorial Logic dout[31:0] sel_combo Design test mul_result_reg This lab will step you through all the issues associated with constraining parallel sequential and combinatorial paths. You will also be shown an example of what does not work and why (set_max_delay). Task 1. Read Mapped Design 1. Make sure your current working directory is risc_design and invoke dc_shell-t. 2. Read the previously compiled design test into memory. read_db mapped/test.db current_design test link 3. Check the design s timing constraints. report_timing Question 1. Is there anything unusual? Lab 10-2 Multiple Clocks and Timing Exceptions
3 Task 2. Constrain the Design for Timing There are no constraints set on the design; you need to apply a constraint script. The timing specifications for the design are as follows: Clock period: 200 MHz Input delays on data inputs (adr_i[*] and coeff[*]): 2 ns relative to the external system clock Input delay on sel_combo: 0.35 ns relative to external system clock Output delay: 4 ns relative to the external system clock 1. A constraint script with the above specifications has been created for your use. Apply the constraint file lab10_constraints.tcl and check the constraints. source echo verbose lab10_constraints.tcl report_clock check_timing report_timing Question 2. How large is the worst negative slack? Question 3. What path exhibits this violation? Multiple Clocks and Timing Exceptions Lab 10-3
4 Task 3. Using a Max-Delay Constraint The violation you just discovered is very large. There are two possibilities, either the violations are real or the constraints specified were incorrect or insufficient. From the timing report analyze the constraints placed on critical path in more detail. Question 4. When does the data arrive at the input port? Question 5. When is the data expected at the output port? Question 6. What is the maximum path delay constraint for this critical path? It is pretty clear that this path is over constrained - there is no way it can meet a 1 ns maximum delay!! The designer of this block did not give you the proper information, go back to the designer and explain the situation: You find out that the maximum propagation delay through the combinational path should be constrained to 10 ns. This means that the constraints have to be adjusted. During lecture you learned that set_multicycle_path and set_false_path, are considered to be exceptions. If you were to read through the Synopsys documentation you would find two other exception commands, set_max_delay and set_min_delay. Look at the man-pages for the set_max_delay command for further details. Read the command description; it looks like you found a useful command to constrain your combinatorial path! Try it out (You will in fact discover in Task 4 that this command exhibits unexpected behavior, you will need to find a better solution). Lab 10-4 Multiple Clocks and Timing Exceptions
5 1. Apply the appropriate max delay constraint on the combinational path. set_max_delay 10 from [get_ports "coeff* adr_i*"] \ -to [all_outputs] Since set_max_delay is an exception, you should always make sure that the exception was actually applied correctly and that no exceptions were ignored. check_timing report_timing_requirements ignored You will notice a large number of exceptions that are being reported as ignored (non-existent paths). If you look closely, you will see that Design Compiler applied exceptions to paths that do not exist: e.g. Bit 1 of an input port to bits 2 and higher on the output port. Input bit 1 only connects to output bit 1. The command applies the exception to all the permutations of the first argument with the second argument, whether the paths exist or not. If the buses were wider, thereby creating many more ignored exceptions, this would start to impact optimization run time. You would need to write the exceptions differently so that they contain only the actual paths. This is a small design and run time is not a concern here; you can ignore the non-existent paths. 2. Generate another timing report. report_timing It looks like this has solved the combinatorial delay problem. The critical path is no longer the combinatorial path Question 7. Which path is the worst violator now? (Hint: Register reference names always end with _reg[bit_#] ) Multiple Clocks and Timing Exceptions Lab 10-5
6 Task 4. Constrain Multicycle Path Once again, it seems that the designer did not give you the whole story. The path to the mul_result_reg is actually a multicycle path which is allowed to take up to 3 clock cycles (instead of 1, the default). It is time for another exception. 1. Apply a multicycle path of 3 cycles to all paths that lead to mul_result_reg. set_multicycle_path 3 setup to mul_result_reg* Verify that the exceptions were applied correctly: check_timing report_timing_requirements ignored Ignoring the non-existent combinatorial paths again, the multicycle path has been accepted. 2. Add the above multicycle exception to your constraint file lab10_constraints.tcl. 3. Check the timing: report_timing Question 8. What path is violating now? What just happened? You are again looking at the combinatorial input-output path that you were hoping to address earlier. Because the register-register path had a larger violation, it replaced the combinatorial path with a worst negative slack of After applying the multicycle constraint for the register-register path, you are back to the combinatorial path with a WNS of From the timing report, analyze the constraints placed on the critical path in more detail: Lab 10-6 Multiple Clocks and Timing Exceptions
7 Question 9. Notice at the top the Input external delay of 2ns applied to the input coeff where does this come from? Question 10. Notice in the Data Required Time section the Output external delay of 4ns where does this come from? Question 11. What is the maximum path delay constraint for this combinatorial path? Design Compiler considers the input and output delays that were previously specified on the ports as part of the max-delay constraint; you can see that in the timing report. The max-delay constraint number (10ns) for the internal logic was reduced by the amount of external delay at the inputs (2ns) and outputs (4ns), constraining the combinatorial path to =4ns maximum delay. This is NOT what you wanted! What do you learn from this? You do not want to mix input/output delay constraints (relative to a clock) with asynchronous max-delay constraints for the same start- or endpoints! The set_max_delay and set_min_delay commands should be used to constrain only non-clocked paths, e.g. asynchronous reset paths. Conclusion: Since max-delay and input/output delays are not compatible, you have to come up with other solutions. Task 5. Use Virtual Clocks A max_delay constraint did not solve the problem. You could instead consider using a multicycle path for the combinatorial path. You will still need to handle the issue of having identical input and output delays for the combinatorial and sequential paths. Try a completely different approach: virtual clocks. Multiple Clocks and Timing Exceptions Lab 10-7
8 1. Remove the max_delay constraint you applied earlier. reset_path from [get_ports "coeff* adr_i*"] \ -to [all_outputs] report_timing_requirements ignored ;# should be empty 2. Apply a constraint to the combinatorial logic that is independent of the constraints that apply to the sequential logic paths. To accomplish this, constrain the combinatorial paths with respect to a different clock than the sequential paths; this way multiple constraints can be overlayed without interfering with each other. The following schematic illustrates this concept: 0 ns v 0 ns 2 ns Combinatorial Logic v 4 ns mul_result_reg sel_combo The diagram shows that two clocks, and v are now clocking the design. You will constrain the sequential path using, and the combinatorial path using the virtual clock v. The combinatorial path must have a maximum delay of 10 ns so v will have a period of 10 ns and the input and output delays will be zero. 3. Execute the following commands in DC: create_clock name v period 10 set_input_delay 0 clock v add_delay \ [get_ports "coeff* adr_i*"] set_output_delay 0 clock v add_delay [all_outputs] 4. Add the above commands to your constraint script lab10_constraints.tcl. (Hint: Make sure the input and output delay commands are placed AFTER those already in the script. Ordering matters when using the -add_delay option): Lab 10-8 Multiple Clocks and Timing Exceptions
9 5. Make sure that the constraints are complete and analyze for timing: check_timing report_timing You will now see two timing path reports: One for the worst violator in the path group and one for the worst violator of the v path group. Question 12. What is the WNS now? Concentrate on the second timing report first, (the report for the path group v.) It shows that the launch clock is and the capture clock is v. This is not what you wanted! The idea was to have two independent constraint paths: from v through the combinatorial logic to v, and from through the sequential logic to. 6. To solve the above problem you need to mask out the paths from to v and from v to. Execute the following in DC-shell. Do NOT add these commands to your script yet. set_false_path from to v set_false_path from v to 7. Generate a report_timing. That takes care of the path from to v. Notice that the original combinatorial constraint including the input and output delays are still shown as the critical constraint. The constraint with regard to is still constraining the combinatorial path. Question 13. What would happen if you masked out that path using set_false_path from to? Multiple Clocks and Timing Exceptions Lab 10-9
10 Task 6. Refine Virtual Clock Definitions The constraint problem is nearly solved. You still need to completely isolate the sequential from the combinatorial paths. After specifying the required input and output delays you will mask out the non-relevant paths. The following schematic illustrates this point. There are 3 clocks overall. Two virtual clocks will be used to constrain the input and output ports for the combinatorial and the sequential I/O paths. The third (non-virtual) clock will be used for the internal register-register paths. 0 ns v_com 0 ns 2 ns Combinatorial Logic v_com 4 ns v_seq v_seq mul_result_reg sel_combo 1. Indicate in the following table what clock combinations need to be marked as a false path: Launch Clock Capture Clock True / False v_com v_com v_com v_seq v_seq v_seq v_com v_seq v_com v_seq v_com v_seq If you are eager to see a solution, follow the directions under (a). If you want to complete your own script and add all the needed commands, follow (b). a. Reset the design and apply the solution script: reset_design source e v lab10_solution_a.tcl Lab Multiple Clocks and Timing Exceptions
11 b. Open your constraints file lab10_constraints.tcl and add the missing commands. Define the two virtual clocks v_com and v_seq. Constrain the inputs and outputs with regard to the correct clock. Apply the set_false_path exceptions according to the table from above. Source your script when the edits are completed. 2. Generate a timing report. report_timing Question 14. Do all paths meet setup timing now? 3. Check for all violations. report_constraint -all Question 15. Where did these hold violations suddenly come from? Task 7. Back to the Multicycle Path The violations shown in the timing report are all rooted in the multicycle path you applied to the design earlier. By setting a multicycle path for setup at 3 cycles, the hold check capture edge was moved along with the setup check edge. 1. Perform timing analysis for hold. report_timing delay min Question 16. What capture edge is the hold check performed at for? Multiple Clocks and Timing Exceptions Lab 10-11
12 2. Move the hold capture edge back by 2 clock cycles to time 0 and generate reports again. set_multicycle_path 2 hold to mul_result_reg* report_constraint all report_timing delay min Question 17. Are all violations gone now? 3. Quit the dc_shell-t program. Lab Multiple Clocks and Timing Exceptions
13 Answers / Solutions Question 1. Is there anything unusual? The design is not constrained for timing. The timing report only shows the longest path, but does not show any required arrival time information. Reading a db does not necessarily mean that you have a constrained design. Question 2. How large is the worst negative slack? ns. Question 3. What path exhibits this violation? The path with the largest violation is a purely combinatorial path from the input ports to the output ports. The path passes through a Designware multiplier and a mux. Question 4. When does the data arrive at the input port? The data arrives at 2ns due to the external input delay. Question 5. When is the data expected at the output? The output is captured at the 5ns clock edge, and is expected to reach the output port 4ns before the capture edge, or at 1ns (due to the external output delay). Question 6. What is the maximum path delay constraint for this path? -1 ns! (output expected time of 1ns input arrival time of 2ns) Question 7. Which path is the worst violator now? The worst violator now is an internal register-register path ending in mul_result_reg*. The worst negative slack is 5.65 ns. Question 8. What path is violating now? The combinatorial path! It is violating by 5.35ns. Question 9. Notice at the top the Input external delay of 2ns applied to the input coeff where does this come from? The input delay comes from the original set_input_delay constraint, which was applied to coeff and adr_i. Multiple Clocks and Timing Exceptions Lab 10-13
14 Question 10. Notice in the Data Required Time section the Output external delay of 4ns where does this come from? The delay comes from the original set_output_delay constraint, which was applied to dout. Question 11. What is the maximum path delay constraint for this combinatorial path? 4ns! (10ns 2ns 4ns) Question 12. What is the WNS now? ns for the path group. The worst negative slack for the v path group is Question 13. What would happen if you masked out that path using set_false_path from to? This is not a good idea. It would also cause all the internal registerregister timing paths to be ignored. Refine Virtual Clock Definitions Solution for step 1: Launch Clock Capture Clock True / False T v_com F v_seq T v_com F v_com v_com T v_com v_seq F v_seq T v_seq v_com F v_seq v_seq F Lab Multiple Clocks and Timing Exceptions
15 Solution for step 2a: set _period 5 set combo_delay 10 # Real existing clock create_clock -name -period $_period \ [get_ports ] # Define virtual dummy clock for regular in/out Constraining create_clock -name v_seq -period $_period # Define virtual dummy clock for combo-feedthru constraining create_clock -name v_com -period $combo_delay # Constraining for Combo-Feedthru I/O-Delay set_input_delay 0 -clock v_com \ [get_ports "adr_i* coeff*"] set_output_delay 0 -clock v_com [get_ports dout* # Constraining for Combo-Feedthru I/O-Delay set_input_delay 0 -clock v_com \ [get_ports "adr_i* coeff*"] set_output_delay 0 -clock v_com [get_ports dout*] # These are the remaining I/O delays relevant for the paths that # start at an input port and end at internal registers and paths # that start at internal registers and end at output ports! set_input_delay 2 -clock v_seq -add_delay \ [remove_from_collection [all_inputs] [get_ports ]] set_output_delay 4 -clock v_seq -add_delay \ [all_outputs] # Constrain the reg-reg multicycle path set_multicycle_path 3 -setup -to mul_result_reg* # Mask out the non-relevant paths set_false_path -from -to v_com set_false_path -from v_com -to set_false_path -from v_com -to v_seq set_false_path -from v_seq -to v_com set_false_path -from v_seq -to v_seq Multiple Clocks and Timing Exceptions Lab 10-15
16 Question 14. Do all paths meet setup timing now? Yes. All setup constraints are met. Question 15. Where do these hold violations suddenly come from? When the multicycle exception was applied to move the setup capture edge to the third clock edge, the hold capture-edge moved as well. See your student guide for details. Question 16. What capture edge is the hold check performed at for? 10 ns. Question 17. Are all violations gone now? Yes. Finally done. Lab Multiple Clocks and 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 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 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 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 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 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 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 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 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 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 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 informationTiming Constraints Editor User Guide
Libero SoC v11.8 SP1 and SP2 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 when clicked. View
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 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 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 informationTiming 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 informationA STANDARDIZED PROCEDURE FOR CLOSING TIMING ON OpenHPSDR FPGA FIRMWARE DESIGNS
A STANDARDIZED PROCEDURE FOR CLOSING TIMING ON OpenHPSDR FPGA FIRMWARE DESIGNS by Joe A. Martin, PhD, K5SO August 26, 2014 Introduction! 2 Running the Quartus II TimeQuest Utility! 3 The *.SDC file! 6
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 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 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 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 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 informationProASIC 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 informationDesigning RGMII Interface with FPGA and HardCopy Devices
Designing RGMII Interface with FPGA and HardCopy Devices November 2007, ver. 1.0 Application Note 477 Introduction The Reduced Gigabit Media Independent Interface (RGMII) is an alternative to the IEEE
More informationPush-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 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 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 informationIntel 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 informationReading 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 informationFishTail: 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 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 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 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 informationNetFPGA Summer Course
NetFPGA Summer Course Presented by: Noa Zilberman Yury Audzevich Technion August 2 August 6, 2015 http://netfpga.org Summer Course Technion, Haifa, IL 2015 1 Section I: General Overview Summer Course Technion,
More informationAgenda: 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 informationMy 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 informationComparing Constraint Behavior to Determine Equivalency TAU Sonia Singhal Loa Mize Subramanyam Sripada Szu-Tsung Cheng Cho Moon
Comparing Constraint Behavior to Determine Equivalency TAU 2011 Sonia Singhal Loa Mize Subramanyam Sripada Szu-Tsung Cheng Cho Moon 1 Constraints Communicate design requirements and intent to implementation
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 informationConstraint Verification
Constraint Verification Constraint verification refers to the verification of the contents of an SDC file to flag situations where the specified constraints are either incorrect, or incomplete, both of
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 informationVivado 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 informationVivado 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 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 informationEquivalence Checking for Timing Constraints Subramanyam Sripada March 6, 2014
Equivalence Checking for Constraints Subramanyam Sripada March 6, 2014 2014 Synopsys. All rights reserved. 1 Agenda Motivation Existing Solutions Multi-pass approach Results Conclusion 2014 Synopsys. All
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 informationUsing 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 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 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 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 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 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 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 informationDesign Space Exploration: Implementing a Convolution Filter
Design Space Exploration: Implementing a Convolution Filter CS250 Laboratory 3 (Version 101012) Written by Rimas Avizienis (2012) Overview This goal of this assignment is to give you some experience doing
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 informationIntel FPGA GPIO IP Core User Guide
Intel FPGA GPIO IP Core User Guide Updated for Intel Quartus Prime Design Suite: 17.1 Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents...3 Intel FPGA GPIO IP Core Features...
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 informationIntroduction 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 informationCoreRGMII v2.0. Handbook
CoreRGMII v2.0 Handbook CoreRGMII v2.0 Handbook Table of Contents Introduction... 3 Core Overview... 3 Core Version... 3 Supported Families... 3 Key Features... 3 Utilization and Performance... 3 Functional
More information8. Switching to the Quartus II TimeQuest Timing Analyzer
December 2010 QII53019-10.1.0 8. Switching to the Quartus II TimeQuest Timing Analyzer QII53019-10.1.0 This chapter describes the benefits of switching to the Quartus II TimeQuest Timing Analyzer, the
More informationLogic 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 informationAltera/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 informationMy 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 informationMy 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 informationArbiters: 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 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 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 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 informationTiming 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 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 informationSmartTime Static Timing Analyzer for Libero SoC v11.8 in the Enhanced Constraint Flow SmartFusion2, IGLOO2, and RTG4 User Guide
SmartTime Static Timing Analyzer for Libero SoC v11.8 in the Enhanced Constraint Flow SmartFusion2, IGLOO2, and RTG4 User Guide NOTE: PDF files are intended to be viewed on the printed page; links and
More informationASTQB Advance Test Analyst Sample Exam Answer Key and Rationale
ASTQB Advance Test Analyst Sample Exam Answer Key and Rationale Total number points = 120 points Total number points to pass = 78 points Question Answer Explanation / Rationale Learning 1 A A is correct.
More informationCME341 Assignment 4. module if\_else\_combinational\_logic( input [3:0] a, b, output reg [3:0] y ); * begin
CME341 Assignment 4 1. The verilog description below is an example of how code can get butchered by an engineer with lazy debugging habits. The lazy debugger wanted to try something and yet be able to
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 informationIntel Quartus Prime Standard Edition User Guide
Intel Quartus Prime Standard Edition User Guide Third-party Synthesis Updated for Intel Quartus Prime Design Suite: 18.1 Subscribe Latest document on the web: PDF HTML Contents Contents 1. Synopsys Synplify*
More informationHomework 6: Higher-Order Procedures Due: 11:59 PM, Oct 16, 2018
Integrated Introduction to Computer Science Klein Homework 6: Higher-Order Procedures Due: 11:59 PM, Oct 16, 2018 Contents 1 Fun with map (Practice) 2 2 Unfold (Practice) 3 3 Map2 3 4 Fold 4 5 All You
More information10. Synopsys Synplify Support
10. Synopsys Synplify Support QII51009-9.1.0 This chapter documents support for the Synopsys Synplify software in the Quartus II software, as well as key design flows, methodologies, and techniques for
More informationALTERA FPGA Design Using Verilog
ALTERA FPGA Design Using Verilog Course Description This course provides all necessary theoretical and practical know-how to design ALTERA FPGA/CPLD using Verilog standard language. The course intention
More informationALTERA FPGAs Architecture & Design
ALTERA FPGAs Architecture & Design Course Description This course provides all theoretical and practical know-how to design programmable devices of ALTERA with QUARTUS-II design software. The course combines
More informationECE 5775 (Fall 17) High-Level Digital Design Automation. Binary Decision Diagrams Static Timing Analysis
ECE 5775 (Fall 17) High-Level Digital Design Automation Binary Decision Diagrams Static Timing Analysis Announcements Start early on Lab 1 (CORDIC design) Fixed-point design should not have usage of DSP48s
More informationVIVADO 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 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 informationSmartTime Static Timing Analyzer User Guide SmartFusion2, IGLOO2, RTG4, and PolarFire
SmartTime Static Timing Analyzer User Guide SmartFusion2, IGLOO2, RTG4, and PolarFire NOTE: PDF files are intended to be viewed on the printed page; links and cross-references in this PDF file may point
More informationMicrotronix Video LVDS SerDes Transmitter / Receiver IP Core
Microtronix Video LVDS SerDes Transmitter / Receiver IP Core User Manual Revision 2.2 4056 Meadowbrook Drive, Unmit 126 London, ON Canada N5L 1E3 www.microtronix.com Document Revision History This user
More informationVHDL: RTL Synthesis Basics. 1 of 59
VHDL: RTL Synthesis Basics 1 of 59 Goals To learn the basics of RTL synthesis. To be able to synthesize a digital system, given its VHDL model. To be able to relate VHDL code to its synthesized output.
More informationChapter 5 Global Timing Constraints. Global Timing Constraints 5-1
Chapter 5 Global Timing Constraints Global Timing Constraints 5-1 Objectives After completing this module, you will be able to Apply timing constraints to a simple synchronous design Specify global timing
More informationUniversity of California, Berkeley College of Engineering Department of Electrical Engineering and Computer Science
University of California, Berkeley College of Engineering Department of Electrical Engineering and Computer Science Spring 2000 Prof. Bob Brodersen Midterm 1 March 15, 2000 CS152: Computer Architecture
More informationCOPYRIGHTED MATERIAL. Architecting Speed. Chapter 1. Sophisticated tool optimizations are often not good enough to meet most design
Chapter 1 Architecting Speed Sophisticated tool optimizations are often not good enough to meet most design constraints if an arbitrary coding style is used. This chapter discusses the first of three primary
More informationTcl 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 informationAsic 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 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 informationCS 403/534 Distributed Systems Midterm April 29, 2004
CS 403/534 Distributed Systems Midterm April 9, 004 3 4 5 Total Name: ID: Notes: ) Please answer the questions in the provided space after each question. ) Duration is 0 minutes 3) Closed books and closed
More informationAn 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 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 informationSequential Logic. Reminder: Lab #2 due Thursday Fall 2016 Lecture 4
Sequential Logic Digital state: the D-Register Timing constraints for D-Registers Specifying registers in Verilog Blocking and nonblocking assignments Examples Reminder: Lab #2 due Thursday 1 Use Explicit
More informationThe 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 informationAdvanced Design System DSP Synthesis
Advanced Design System 2002 DSP Synthesis February 2002 Notice The information contained in this document is subject to change without notice. Agilent Technologies makes no warranty of any kind with regard
More information1. Choose a module that you wish to implement. The modules are described in Section 2.4.
Chapter 2 Lab 2 - Datapath 2.1 Overview During lab 2 you will complete the RTL code of the ALU and MAC datapaths of the DSP core and write a set of small test programs to verify your implementation. Most
More informationThe Formal Verification of Design Constraints by Ajay Daga, CEO, FishTail Design Automation Inc.
The Formal Verification of Design Constraints by Ajay Daga, CEO, FishTail Design Automation Inc. There are two approaches to the verification of design constraints: formal verification and structural analysis.
More information