Upload
goutamkg
View
222
Download
2
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&services8/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.