Synplify Global Clock Resource Attributes

Slides:



Advertisements
Similar presentations
arquitectura – implementação
Advertisements

Giuseppe De Robertis - INFN Sez. di Bari 1 SEU – SET test structures.
What are FPGA Power Management HDL Coding Techniques Xilinx Training.
ASIC 121: Practical VHDL Digital Design for FPGAs Tutorial 2 October 4, 2006.
VHDL in digital circuit synthesis (tutorial) dr inż. Miron Kłosowski EA 309
Sequential Design ELEC 311 Digital Logic and Circuits Dr. Ron Hayne
VHDL Lecture 1 Megan Peck EECS 443 Spring 08.
Sequential Circuits Storage elements
©2004 Brooks/Cole FIGURES FOR CHAPTER 17 VHDL FOR SEQUENTIAL LOGIC Click the mouse to move to the next page. Use the ESC key to exit this chapter. This.
Spartan-3 FPGA HDL Coding Techniques
VHDL Programming in CprE 381 Zhao Zhang CprE 381, Fall 2013 Iowa State University Last update: 9/15/2013.
VHDL 8 Practical example
Lecture #28 Page 1 ECE 4110– Sequential Logic Design Lecture #28 Agenda 1.Counters Announcements 1.HW #13 assigned 2.Next: Test #2 Review.
Verilog Intro: Part 1.
1 EE24C Digital Electronics Project Theory: Sequential Logic (part 2)
Synthesis Methodology at Tundra Seniconductors
Logic Synthesis – 3 Optimization Ahmed Hemani Sources: Synopsys Documentation.
Xilinx/Exemplar Logic FPGA Synthesis Solution. LeonardoSpectrum Powerful Integrated Modular ASIC & FPGA.
Latches CS370 –Spring 2003 Section 4-2 Mano & Kime.
Module 12.  In Module 9, 10, 11, you have been introduced to examples of combinational logic circuits whereby the outputs are entirely dependent on the.
CSE241 Formal Verification.1Cichy, UCSD ©2003 CSE241A VLSI Digital Circuits Winter 2003 Recitation 6: Formal Verification.
Latches Module M10.1 Section 7.1. Sequential Logic Combinational Logic –Output depends only on current input Sequential Logic –Output depends not only.
CSE 140L Lecture 4 Flip-Flops, Shifters and Counters Professor CK Cheng CSE Dept. UC San Diego.
Latches Section 4-2 Mano & Kime. Sequential Logic Combinational Logic –Output depends only on current input Sequential Logic –Output depends not only.
Achieving Timing Closure. Achieving Timing Closure - 2 © Copyright 2010 Xilinx Objectives After completing this module, you will be able to:  Describe.
Dynamic Logic Synthesis. Basic Domino CMOS Gate Clock  evaluate transistor precharge transistor inverting buffer N logic.
Memory in FPGAs مرتضي صاحب الزماني. Inferring Memory Inferring Memory in XST:  Distributed or block memory? −XST implements small RAM components on distributed.
03/30/031 ECE 551: Digital System Design & Synthesis Lecture Set 9 9.1: Constraints and Timing 9.2: Optimization (In separate file)
Maria-Cristina Marinescu Martin Rinard Laboratory for Computer Science Massachusetts Institute of Technology A Synthesis Algorithm for Modular Design of.
StateCAD FPGA Design Workshop. For Academic Use Only Presentation Name 2 Objectives After completing this module, you will be able to:  Describe how.
Synthesis Presented by: Ms. Sangeeta L. Mahaddalkar ME(Microelectronics) Sem II Subject: Subject:ASIC Design and FPGA.
CENT-113 Digital Electronics 1 Flip Flops TI Type 502 Flip Flop: 1st production IC in 1960.
ECE 551 Digital System Design & Synthesis Fall 2011 Midterm Exam Overview.
12004 MAPLDSynthesis Issues Synthesis Issues Demonstrated with a Simple Finite State Machine Using Gray Codes.
1 Sequential Logic Lecture #7. 모바일컴퓨팅특강 2 강의순서 Latch FlipFlop Shift Register Counter.
King Fahd University of Petroleum and Minerals Computer Engineering Department COE 561 Digital Systems Design and Synthesis (Course Activity) Synthesis.
Vendor Independent SEE Mitigation Solution For FPGAs Kamesh Ramani Pravin Bhandakkar Darren Zacher Melanie Berg (MEI – NASA Goddard)
Review of Digital Logic Design Concepts OR: What I Need to Know from Digital Logic Design (EEL3705)
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Logic Circuits II.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics VHDL register-transfer modeling: –basics using traffic light controller; –synthesis.
04/06/031 ECE 551: Digital System Design & Synthesis Lecture Set 9 9.1: Constraints and Timing (In separate file) 9.2: Optimization - Part 1 9.3: Optimization.
Generate Statement A generate statement provides a mechanism for iterative or conditional elaboration of a portion of description. The iterative elaboration.
Introduction to Sequential Logic
Tools - Design Entry - Chapter 4 slide 1 FPGA Tools Course Design Entry.
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
Digital System Design using VHDL
03/31/031 ECE 551: Digital System Design & Synthesis Lecture Set 8 8.1: Miscellaneous Synthesis (In separate file) 8.2: Sequential Synthesis.
03/30/031 ECE Digital System Design & Synthesis Lecture Design Partitioning for Synthesis Strategies  Partition for design reuse  Keep related.
CS151 Introduction to Digital Design Chapter 5: Sequential Circuits 5-1 : Sequential Circuit Definition 5-2: Latches 1Created by: Ms.Amany AlSaleh.
Case Study: Xilinx Synthesis Tool (XST). Arrays & Records 2.
Joal 2006 HT:1 Em3 Digital Electronics Design 1 Lecture 3-4 Sequential VHDLChap 4.
INF3430 / 4431 Synthesis and the Integrated Logic Analyzer (ILA) (WORK IN PROGRESS)
Class Exercise 1B.
Each I/O pin may be configured as either input or output.
Advance Skills TYWu.
Getting Started with Programmable Logic
Introduction to Sequential Logic Design
Xilinx FPGA Architecture
Advisor: Prof. Gandhi Puvvada
The Xilinx Virtex Series FPGA
Timing Analysis 11/21/2018.
It is partitioned into 4 quadrants, each containing 12 macrocells.
RTL Style در RTL مدار ترتيبي به دو بخش (تركيبي و عناصر حافظه) تقسيم مي شود. مي توان براي هر بخش يك پروسس نوشت يا براي هر دو فقط يك پروسس نوشت. مرتضي صاحب.
Generic Array Logic (GAL)
ECE 551: Digital System Design & Synthesis
Non-synthesizable VHDL Poor Design Practices
Design for Testability
Xilinx FPGA Architecture Overview
The Xilinx Virtex Series FPGA
ECE 551: Digital System Design & Synthesis
Presentation transcript:

Synplify Global Clock Resource Attributes 3/31/2017 8:39 PM Synplify Global Clock Resource Attributes December 2013 Tecnomic Bangalore © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Global Resource s Proasic3 Devices has 6 Global Resources available 3/31/2017 8:39 PM Global Resource s Proasic3 Devices has 6 Global Resources available Synplify Will promote the signals based on the fan-out of the signal Different signal has different fan-out threshold for global promotion Clock nets—2 Asynchronous set/reset—12 Data nets—5000 You can change the threshold in the Synplify settings © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Controlling the Global Promotions 3/31/2017 8:39 PM Controlling the Global Promotions Types of Control is available Enable Only Specific signal to be promoted Disable Only Specific Signal from Promoted Disable All Global Promotion © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Enable Only Specific Signals syn_insert_buffer attribute This method will allow a specific signal to be promoted to the global resource This can override the default fan-out guide as well The below example will promote Port CLK to a global resource define_attribute {clk} {syn_insert_buffer} {CLKBUF}

Disable Only Specific Signals syn_noclockbuf attribute This method will disbale the specific signal from promoted to the global resource The below example will disable Aclr port from using the Global resource define_attribute {aclr} {syn_noclockbuf} {1}

Disable All Global Promotion syn_noclockbuf ( define_global ) attribute Use the syn_noclockbuf attribute with the global reach to achieve the same All the signals will be buffered using regular buffer Specific signal can be promoted to the Global using the other attribute define_global_attribute syn_noclockbuf {1}

Example Design: No Constraints Synplify Report Synplify log file First Synthesis the Design to Find the High Fan-out Nets Look under the High Fan-out nets section in synplify log file Following signal are promoted to global “aclr” -- aclr_c “clk” -- clk_c “enable” -- enable_c “clk2” -- un2_clk2 High Fanout Net Report ********************** Driver Instance / Pin Name Fanout, notes --------------------------------------------------------------- un2_clk2 / Y 71 aclr_pad / Y 158 : 158 asynchronous set/reset enable_pad / Y 142 =============================================================== @N:FP130 : | Promoting Net aclr_c on CLKBUF aclr_pad @N:FP130 : | Promoting Net enable_c on CLKINT I_141 @N:FP130 : | Promoting Net clk_c on CLKBUF clk_pad @N:FP130 : | Promoting Net un2_clk2 on CLKINT I_142 Added 0 Buffers Added 0 Cells via replication Added 0 Sequential Cells via replication Added 0 Combinational Cells via replication

Example Design: Create new constraints File Counter.sdc Create a new “sdc” file in Libero Use the syn_noclockbuf attibute Add to synthesis project when invoking synplify from libero ## counter.sdc ## Disable Global Buffer Promotion for Entire design, ## No Global Buffer will be used by Default define_global_attribute syn_noclockbuf {1}

Example Design: Disable All Global Synplify Log file No Global Buffer used All the 4 Signals are buffered using regular Buffers Some Signals will be replicated 6 regular buffers used in this design ( 0 buffers without the attibute High Fanout Net Report ********************** Driver Instance / Pin Name Fanout, notes --------------------------------------------------------------- un2_clk2 / Y 71 aclr_pad / Y 158 : 158 asynchronous set/reset enable_pad / Y 142 ========================================================== Buffering enable_c, fanout 142 segments 3 Buffering clk_c, fanout 87 segments 2 Buffering aclr_c, fanout 158 segments 4 Replicating Combinational Instance un2_clk2, fanout 71 segments 2 Added 6 Buffers Added 1 Cells via replication Added 0 Sequential Cells via replication Added 1 Combinational Cells via replication

Example Design: Promote Only Specific Signal to Global This time “clk” signal being promoted to Global All other signals remains same Signal CLK is missing from the buffer tree this time counter.sdc define_global_attribute syn_noclockbuf {1} define_attribute {clk} {syn_insert_buffer} {CLKBUF} Synplify log file High Fanout Net Report ********************** Driver Instance / Pin Name Fanout, notes --------------------------------------------------------------- un2_clk2 / Y 71 aclr_pad / Y 158 : 158 asynchronous set/reset enable_pad / Y 142 ================================================== Buffering enable_c, fanout 142 segments 3 Buffering aclr_c, fanout 158 segments 4 Replicating Combinational Instance un2_clk2, fanout 71 segments 2 Added 5 Buffers Added 1 Cells via replication Added 0 Sequential Cells via replication Added 1 Combinational Cells via replication Synplify log file ###########################################################] Premap Report Adding property syn_noclockbuf, value 1 to view:work.counter(one)

Example Design: Disable only Specific Signal restrict “aclr” from being promoted to global All other signal can be promoted to global depending on the fan-out Note that the global restriction constraint is commented(#) and not used Synplify log file High Fanout Net Report ********************** Driver Instance / Pin Name     Fanout, notes                    --------------------------------------------------------------- un2_clk2 / Y                   71                               aclr_pad / Y                   158 : 158 asynchronous set/reset enable_pad / Y                 142                              =============================================================== @N:FP130 :  | Promoting Net enable_c on CLKINT  I_141   @N:FP130 :  | Promoting Net clk_c on CLKBUF  clk_pad   @N:FP130 :  | Promoting Net un2_clk2 on CLKINT  I_142   Buffering aclr_c, fanout 158 segments 4 Added 3 Buffers Added 0 Cells via replication     Added 0 Sequential Cells via replication     Added 0 Combinational Cells via replication counter.sdc #define_global_attribute syn_noclockbuf {1} # Disable Global Buffer Promotion for aclr Signal define_attribute {aclr} {syn_noclockbuf} {1}

Example Design: Restrict Internal Signal from promoting Counter.vhd “.sdc” file method may not work for internal signal Use the attribute in hdl file Example shows restricting “clk2” disabled from promoting High Fanout Net Report ********************** Driver Instance / Pin Name     Fanout, notes                    --------------------------------------------------------------- un2_clk2 / Y                   71                               aclr_pad / Y                   158 : 158 asynchronous set/reset enable_pad / Y                 142                              =============================================================== @N:FP130 :  | Promoting Net enable_c on CLKINT  I_141   @N:FP130 :  | Promoting Net clk_c on CLKBUF  clk_pad   Buffering aclr_c, fanout 158 segments 4 Replicating Combinational Instance un2_clk2, fanout 71 segments 2 Added 3 Buffers Added 1 Cells via replication     Added 0 Sequential Cells via replication     Added 1 Combinational Cells via replication Counter.vhd signal qaux2 : std_logic_vector(15 downto 0); signal clk2 : std_logic; attribute syn_noclockbuf : boolean; attribute syn_noclockbuf of clk2 : signal is true; begin

Example Design: Promote Internal Signal to global Counter.sdc “.sdc” file method may not work for internal signal Use the attribute in hdl file Example shows promoting “clk2” to global All other signals are restricted using the global constraint in sdc file ## All signals are barred from being promoted to global define_global_attribute syn_noclockbuf {1} Synplify log file High Fanout Net Report ********************** Driver Instance / Pin Name     Fanout, notes                    --------------------------------------------------------------- un2_clk2 / Y                   71                               aclr_pad / Y                   158 : 158 asynchronous set/reset enable_pad / Y                 142                              ========================================================== @N:FP130 :  | Promoting Net clk2 on CLKINT  clk2   Buffering enable_c, fanout 142 segments 3 Buffering clk_c, fanout 87 segments 2 Buffering aclr_c, fanout 158 segments 4 Added 6 Buffers Added 0 Cells via replication     Added 0 Sequential Cells via replication     Added 0 Combinational Cells via replication Counter.vhd signal qaux2 : std_logic_vector(15 downto 0); signal clk2 : std_logic; attribute syn_insert_buffer : string; attribute syn_insert_buffer of clk2 : signal is "CLKINT"; begin