What Are the Benefits of Area Constraints Xilinx

Embed Size (px)

Citation preview

  • 8/11/2019 What Are the Benefits of Area Constraints Xilinx

    1/18

    What are the Benefits of AreaConstraints?

  • 8/11/2019 What Are the Benefits of Area Constraints Xilinx

    2/18

    Create effective Area Constraints using PlanAhead tool

    Identify Floorplanning Methodologies

    Avoid the most common design and synthesis mistakes

    during floorplanningGain timing closure with the PlanAhead tool

    Place the dedicated hardware resources

    Objectives

  • 8/11/2019 What Are the Benefits of Area Constraints Xilinx

    3/18

    Definition of Floorplanning (Area Constraints)

    In the past, the term Floorplanning meant to make placementcons t ra in t s on CLB logic (assign it to specific locations) The term floor planning in the ASIC world still means to place (assign)

    gates in a specific location on an array

    Floorplanning is NOT necessary in an FPGA but can help to improve

    timing

    Xilinx recommends the use of area constraints, rather than the useof placement constraints

    However, this does require some skill

    F loorp lann ing is now commonly referred to as placing Areaconstraints

    So whenever you see Floorplanning we mean Area Constraints

  • 8/11/2019 What Are the Benefits of Area Constraints Xilinx

    4/18

    Reasons to Floorplan with Area Constraints

    Floorplanning is considered when the design hasnot met timing or does not meet timing consistently

    Floorplanning condenses and contains critical logicto improve performance

    Reduce routing congestion

    Isolate non-critical logic Create a data flow-based floorplan

    Use unique Pblock capabilities in thePlanAhead tool

    Improve module-level performance and area

    Improve implementation run time and consistency withPartitions

  • 8/11/2019 What Are the Benefits of Area Constraints Xilinx

    5/18

    Design and Synthesis Recommendations

    Set up your synthesis tool to preserve the hierarchyin the netlist

    Flattened netlists may be optimal from a synthesisperspective, but they make it very difficult to reliablyfloorplan and constrain placement

    Structure the RTL logic so that critical timing pathsare confined to individual modules

    Critical paths that span large numbers of hierarchicalmodules can be difficult to floorplan

    Register the outputs of all the modules to help limit

    the number of modules involved in a critical pathReplicate the drivers of nets that will be separatedon the die

    Synthesis may need an attribute to preserve equivalentlogic

  • 8/11/2019 What Are the Benefits of Area Constraints Xilinx

    6/18

    Design and Synthesis Recommendations

    Intermingled critical paths can be difficult to floorplan Consider dividing large critical blocks into smaller and separate

    hierarchical blocks

    If the design is expected to change often, consider an

    incremental approach to synthesis In an incremental approach, individual blocks can be synthesized

    separately or the synthesis attributes (SYN_HIER=HARD) can be usedto preserve the hierarchy

    Hierarchy preservation helps an incremental flow but may hurt

    performance because global optimizations across hierarchy are disabled

  • 8/11/2019 What Are the Benefits of Area Constraints Xilinx

    7/18

    Design and Synthesis Recommendations

    Consider using the synthesis option to rebuild the hierarchy For XST, use netlist_hierarchy = rebuilt

    If using the PlanAhead tool for synthesis, the PlanAhead tool defaultsynthesis strategy includes this option

    Long paths in single large hierarchical block can makefloorplanning difficult

    Divide large hierarchical blocks in the RTL

  • 8/11/2019 What Are the Benefits of Area Constraints Xilinx

    8/18

    Re-Use Flow Methodology

    Can help a design that meets timing only some of the time The idea is to re-use some of the block RAM and DSP slice placements

    from a successful implementation

    Synthesize the design

    Run implementation many times with only timing constraints andpin assignmentsChoose the result that has met timing and had the fastestimplementation time

    Fix the placement of the block RAMs and DSP slices Either by manually placing them or using the Find command With a little experience you may want to manually place them

    Re-implement as neede d

  • 8/11/2019 What Are the Benefits of Area Constraints Xilinx

    9/18

    Hierarchical Methodology

    Synthesize the designRun implementation with only timing constraints and pin assignments

    If it fails to meet timing (many paths fail across many components) Make the area constraints based on the highest levels of your design hierarchy

    Possibly constrain the entire design

    Ask yourself these questions What are the timing failures?

    What are the critical hierarchical blocks?

    Are changes to the floorplan or critical logic going to be sufficient to meet

    timing? Does anything else need to be floorplanned?

    Can just the critical hierarchies be floorplanned?

    Where should my logic be placed?

  • 8/11/2019 What Are the Benefits of Area Constraints Xilinx

    10/18

    Placement of Dedicated Resources

    Placing dedicated hardware is a terrific strategy The implementation tools do not always do the best job

    Consider placing block RAMs and DSP slices

    This works well when you make area constraints Placement of dedicated resources guides the

    implementation tools to move CLB logic closer to the desired location Place area constraints near the I/O pins and

    dedicated hardware you plan to use

    BlockRAM

    BlockRAM

  • 8/11/2019 What Are the Benefits of Area Constraints Xilinx

    11/18

    Where are the Dedicated Hardware Resources?

    Virtex-6 FPGAs Spartan-6 FPGAs

    150KLogic Cell

    Device

    760KLogic Cell

    Device

    Common Resources

    3.3 Volt Compatible I/O

    Hardened Memory Controllers

    LUT-6 CLB

    DSP Slices

    Block RAM

    HSS Transceivers*

    Parallel I/OFIFO Logic

    System Monitor

    Tri-Mode EMAC

    PCIe Interface

    High-performance Clocking

  • 8/11/2019 What Are the Benefits of Area Constraints Xilinx

    12/18

    Assigning LOC Constraints

    Most logic objects can be manuallyassigned to a specific site

    Click the Create Site Const raintMode toolbar button (to place)

    Note that placed logic has a blue barLogic is easily found with the Findcommand and then dragged to beplaced

    Cursor indicates legal placement sites

    Right-click allows you to un-place

  • 8/11/2019 What Are the Benefits of Area Constraints Xilinx

    13/18

    Assigning BEL (Basic Elements) Constraints

    Click the Create BEL Cons t rain tMode toolbar button

    Drag a LUT or FF primitive from theFind menu or Netlist view onto a

    specific slice Primitives with LOC constraints are

    displayed in the Netlist view with bluestriped icons

    Click the As sign Ins tance Modetoolbar button to return tofloorplanning mode

  • 8/11/2019 What Are the Benefits of Area Constraints Xilinx

    14/18

    LOC Constraint Applications

    To clear LOC constraints Select Tools > Clear Placement Many options to selectively clear LOCs Separate controls for I/O ports Importing an implementation result leaves the logic

    unfixed

    Importing LOCs from a UCF file is considered manuallyassigned and remains placed

    Right-click a placed object to Fix Instances (LOC) I/O interfaces or cores, for example

    Lock down non-slice-based logic (block RAMS,or DSP, for example)

    Maximize module performance and consistency

    Export constraints with File > Export Constraints

  • 8/11/2019 What Are the Benefits of Area Constraints Xilinx

    15/18

    Summary

    Area constraint guidelines Use the timing report to identify logic to floorplan

    Leverage the implementation results to guide placement of areaconstraints

    Placement of dedicated resources can guide theimplementation tools

    Be sure to make an area constraint with the associated logic andassign it near the dedicated hardware to improve performance

    Placement improves implementation consistency between eachiteration

  • 8/11/2019 What Are the Benefits of Area Constraints Xilinx

    16/18

    More Information

    To learn more, visit the PlanAhead tool web site www.xilinx.com/planahead Articles, documentation, white papers, and training enrollment

    User Guide

    PlanAhead Software Tutorial, Design Analysis and Floorplanning forPerformace , UG676

    Floorplanning Methodology Guide, UG633

    View the PlanAhead tool video demonstrations

    Quick Tour of the PlanAhead Design and Analysis Tool I/O pin planning with PinAhead Technology Improve Design Performance with the PlanAhead Design and Analysis tool

  • 8/11/2019 What Are the Benefits of Area Constraints Xilinx

    17/18

    Where Can I Learn More?

    Xilinx Education Services courses www.xilinx.com/training

    Xilinx tools and architecture courses Hardware description language courses

    Basic FPGA architecture, Basic HDL Coding Techniques, and other freeVideos!

    How to make Area Constraints with PlanAhead tool Video!

    http://www.support.xilinx.com/products&serviceshttp://www.support.xilinx.com/products&services
  • 8/11/2019 What Are the Benefits of Area Constraints Xilinx

    18/18

    Trademark Information

    Xilinx is disclosing this Document and Intellectual Property (hereinafter the Design) to you for use in the development of designs to operate on,or interface with Xilinx FPGAs. Except as stated herein, none of the Design may be copied, reproduced, distributed, republished, downloaded,displayed, posted, or transmitted in any form or by any means including, but not limited to, electronic, mechanical, photocopying, recording, orotherwise, without the prior written consent of Xilinx. Any unauthorized use of the Design may violate copyright laws, trademark laws, the laws ofprivacy and publicity, and communications regulations and statutes.

    Xilinx does not assume any liability arising out of the application or use of the Design; nor does Xilinx convey any license under its patents,copyrights, or any rights of others. You are responsible for obtaining any rights you may require for your use or implementation of the Design.Xilinx reserves the right to make changes, at any time, to the Design as deemed desirable in the sole discretion of Xilinx. Xilinx assumes noobligation to correct any errors conta ined herein or to advise you of any correction if such be made. Xilinx will not assume any liability for theaccuracy or correctness of any engineering or technical support or assistance provided to you in connection with the Design.

    THE DESIGN IS PROVIDED AS IS" WITH ALL FAULTS, AND THE ENTIRE RISK AS TO ITS FUNCTION AND IMPLEMENTATION IS WITHYOU. YOU ACKNOWLEDGE AND AGREE THAT YOU HAVE NOT RELIED ON ANY ORAL OR WRITTEN INFORMATION OR ADVICE,WHETHER GIVEN BY XILINX, OR ITS AGENTS OR EMPLOYEES. XILINX MAKES NO OTHER WARRANTIES, WHETHER EXPRESS,IMPLIED, OR STATUTORY, REGARDING THE DESIGN, INCLUDING ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR APARTICULAR PURPOSE, TITLE, AND NONINFRINGEMENT OF THIRD-PARTY RIGHTS.

    IN NO EVENT WILL XILINX BE LIABLE FOR ANY CONSEQUENTIAL, INDIRECT, EXEMPLARY, SPECIAL, OR INCIDENTAL DAMAGES,INCLUDING ANY LOST DATA AND LOST PROFITS, ARISING FROM OR RELATING TO YOUR USE OF THE DESIGN, EVEN IF YOU HAVEBEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. THE TOTAL CUMULATIVE LIABILITY OF XILINX IN CONNECTION WITHYOUR USE OF THE DESIGN, WHETHER IN CONTRACT OR TORT OR OTHERW ISE, WILL IN NO EVENT EXCEED THE AMOUNT OFFEES PAID BY YOU TO XILINX HEREUNDER FOR USE OF THE DESIGN. YOU ACKNOWLEDGE THAT THE FEES, IF ANY, REFLECTTHE ALLOCATION OF RISK SET FORTH IN THIS AGREEMENT AND THAT XILINX WOULD NOT MAKE AVAILABLE THE DESIGN TO YOUWITHOUT THESE LIMITATIONS OF LIABILITY.

    The Design is not designed or intended for use in the development of on-line control equipment in hazardous environments requiring fail-safecontrols, such as in the operation of nuclear facilities, aircraft navigation or communications systems, air traffic control, life support, or weaponssystems (High -Risk Applications). Xilinx specifically disclaims any express or implied warranties of fitness for such High -Risk Applications. Yourepresent that use of the Design in such High-Risk Applications is fully at your risk.

    2012 Xilinx, Inc. All rights reserved. XILINX, the Xilinx logo, and other designated brands included herein are trademarks of Xilinx, Inc. Allother trademarks are the property of their respective owners.