Xcell Journal Online -- Pin Assignment article Issue 55

  Xcell Journal Online
  Xcell Journal Archives
   
  Writing for Xcell
  Advertising in Xcell
  FREE Subscription
   
  Partner Yellow Pages
  Reference Pages
  Contact Us
    

Home : Documentation : Xcell Journal Online : Article
Improve Design Performance Using PlanAhead Design Tools



by Mark Goosman, Marketing Product Manager, Xilinx, Inc.
mark.goosman@xilinx.com (12/1/05)


PlanAhead software helps you tackle the need for speed.
article link to PDF
Article PDF 355 KB


Design problems – especially those characteristic of large, high-performance designs – are most effectively addressed by first investigating the problem and then breaking the larger design issues into smaller, more manageable hurdles. Looking at the evolution of programmable devices in recent years, it is apparent that FPGAs have undergone tremendous growth in size and complexity, but the PLD EDA tool flow has remained relatively unchanged.

With a traditional flat design flow, each design change means re-synthesizing and reimplementing the entire design. With complex designs on multi-million-gate devices, even a minor change can lead to unacceptably long place and route (PAR) runtimes, which itself often leads to inconsistent results, not to mention the time lost from RTL to PAR iterations for a typical design.

Few design teams can tolerate unexpectedly low performance for a design that took longer than expected to complete, not to mention the associated frustration and stress. In addition, it may mean low utilization of the FPGA and even missed time-tomarket opportunities.

PlanAhead Software Offers a Solution
A growing number of customers are finding a solution in the hierarchical design methodology offered by the Xilinx® PlanAhead™ design analysis tool. PlanAhead software adds visibility and control to the FPGA design flow. By addressing problems on the physical side (between logic synthesis and the implementation process), you can realize improved performance in your results.

Although advanced FPGA synthesis products provide a tremendous level of automated optimization for multi-milliongate designs, many designers require more heuristic techniques to achieve optimal performance goals. Through early analysis and floorplanning, PlanAhead design tools can apply physical constraints to help control the initial implementation of the design. After implementation, PlanAhead software can analyze placement and timing results to improve the floorplan used to complete the design. You can use the physical constraints derived from the imported results to lock placement during subsequent implementation attempts. These constraints can be used to create reusable IP, complete with locked placement, for other designs.

The PlanAhead design methodology provides performance, productivity, and repeatability of results. With its hierarchical design flow, PlanAhead software allows you to reduce the number of iterations spent running PAR and then returning to RTL and synthesis. Instead, you can analyze your design and address issues on the physical side before implementation.

Faster Results in Less Time
PlanAhead users are consistently seeing a 10-15% performance improvement, with some achieving much higher results. In addition, designers are also finding that they can squeeze an additional 10% logic into a tight device. This combination of faster performance and better utilization can translate into a smaller, less expensive device, or design goals achieved with a slower speed grade.

PlanAhead design tools help reduce overall design time while adding a level of consistency in the results. You can perform design iterations in much less time – with repeatable results – by leveraging previous floorplans or incremental design techniques. You can also leverage successful results by locking them down or reusing them in other designs.

Tackling really tough performance issues requires more than just the addition of new menu items or scripting capabilities. PlanAhead software provides a complete environment to make this hierarchical methodology interactive and easy to use by presenting design data through the use of various views (see Figure 1). These independent views are designed to work in conjunction with each other, allowing you to quickly identify and navigate critical design objects and information.

Visually Identify Performance Bottlenecks ...
The PlanAhead environment provides insight into the data flow of the design by displaying I/O interconnect as well as physical block (or “Pblock”) net bundles. You can control color and line thickness of the bundles depending on the number of signals. This makes it easy to identify heavily connected Pblocks in the overall data flow through the design. You can then take corrective action to avoid routing congestion trouble spots and place heavily connected Pblocks close together, or merge them.

Clock regions are also displayed and can be used during floorplanning to optimize various clocks or minimize power usage within the device. By isolating clocks to specific clock regions, they can run faster and eliminate the need to power up other clock regions.

You can use the analysis and exploration environment of PlanAhead design tools at various stages in the design process. Initially, you can analyze the design before implementation. PlanAhead software provides a static timing engine, TimeAhead, that examines the design’s feasibility relative to timing. You can also perform analysis using estimated routing delays by factoring in pure logic delays with no interconnect. This allows you to see how much timing tolerance is built into the design.

You can then edit and fine-tune timing constraints within the PlanAhead environment. These same analysis results can help determine what logic should be grouped together and floorplanned. Paths can be logically sorted, grouped, and selected for floorplanning. The same TimeAhead environment can also be leveraged with imported timing results from TRCE, the timing evaluation tool within Xilinx ISE™ software.

The timing constraints assigned to the design can be viewed and modified. You can define all ISE timing constraints as new constraints within the editor. This makes constraint assignment easier because you no longer have to remember specific constraint formats. You can use this with TimeAhead to validate and optimize the constraint set before running any ISE implementation tools.

PlanAhead design tools provide visual aides to help you comprehend the physical implementation results. Design rule checks (DRCs) are provided to catch errors early. It also flags designs that do not properly take advantage of certain device resources, such as the dedicated registers of the XtremeDSP™ slice or RAM within the Virtex™-4 FPGA.

By visualizing problem areas, you can address problems quickly, either in the RTL or on the physical implementation side, without having to continue RTL and synthesis iterations. The various logic modules can be selectively highlighted to better understand where they were placed, and Pblocks created where the logic is most concentrated. You can highlight failing timing paths to visualize and understand what is physically happening within your design.

PlanAhead software has includes metric maps to quickly identify problem areas of the design (Figure 2). These can be related to timing or utilization. This is helpful when trying to identify areas of the design to focus on for logic compression or timing connectivity.

PlanAhead design tools allow you to explore connectivity within the design. After selecting a particular net, Pblock, or instance within the design, you can highlight all of the nets connected to the selected elements with a single mouse click. After an instance or Pblock is selected, all of the nets connecting to that element will be highlighted. This process can be continued, selecting and expanding the logic cone. Running “Show Connectivity” will highlight the next level of nets connected to the selected instances. This is an easy way to select a cone of logic starting at a particular instance or I/O port, taking real advantage of the design hierarchy.

... Then Address the Performance Problem
The whole idea is to provide a comprehensive environment to analyze timing issues and easily constrain that logic to avoid or correct it. You can use timing results from either TimeAhead or TRCE to drive a floorplan that will produce better performing designs by helping determine what logic should be grouped together and floorplanned.

Critical paths often traverse the logic hierarchy. PlanAhead software enables a physical hierarchy that is independent of the logic hierarchy, allowing logic from anywhere in the design to be grouped together and efficiently floorplanned.

PlanAhead software also provides resource utilization estimates to help size and shape Pblocks. These same statistics report clock information, carry chain, and RPM sizes for fit and a variety of other useful information.

PlanAhead design tools provide automatic floorplanning capabilities such as automatic partitioning based on the logic hierarchy and automatic Pblock sizing and placement. Because it is often difficult to encompass the required device resources within a single Pblock rectangle, nonrectalinear shapes can be created with multiple rectangles. PlanAhead software also allows you to create Pblocks within Pblocks, or “child” Pblocks, to help better maintain design hierarchy.

Device capacity can be improved by compressing the logic with Pblocks. This can be achieved in one of two ways. One is to use the Xilinx AREA_GROUP attribute called COMPRESSION. AREA_GROUP is a design implementation constraint that enables partitioning of the design into physical regions for mapping, packing, placement, and routing. Using the COMPRESSION attribute will cause the ISE Mapper to pack unrelated logic into unused CLB sites. Use this with care, as it can have an adverse affect on timing.

The best strategy for improving performance is to compress non-timing critical logic, thereby opening up more space in the device for timing critical logic. The second option is to use the PlanAhead capability to run PAR on Pblocks individually. You can continue to shrink the Pblock size until PAR fails. This will reduce and pack the logic as tightly as possible within the blocks and free up device space.

A Virtex-4 Floorplanning Example
PlanAhead design tools allow you to easily import placement and timing results. With this information, you can view and sort critical paths from the timing report and visualize paths using either the schematic or device views. Once you’ve identified failing paths, you can highlight all path instances on the floorplan to identify all path instances in the schematic view.

Figure 3 shows a floorplan of a design targeting a Virtex-4 FX140 device. In the display, we’ve highlighted the flip-flops along a particular path that was not able to meet timing. Because they are so widely distributed across the device, design implementation results in an unacceptably long delay. With the large number of clock domains available in Virtex-4 FPGAs, this is a common situation.

By selecting each of these flip-flops and restricting them to a single Pblock, you can then adjust and optimize the Pblock size and location to reduce delays on critical paths, as shown in Figure 4. If necessary, you can even create nested Pblocks, creating a child/parent hierarchy to further constrain sub-modules for additional performance gains. Depending on the resource requirements of the captured logic, you can lock down critical logic to locations for optimal access to necessary resources.

Conclusion
Visit www.xilinx.com/planahead to download a free evaluation of PlanAhead software today. This 30-day evaluation provides you with full access to all of the PlanAhead features and functionality. This site also allows you to view product demonstrations, download white papers, or just learn more.

Xilinx also offers PlanAhead QuickStart!, an exceptional level of support during the most critical phase of a project. With this service, you will receive a QuickStart! engineer at your site for one week who will train and empower your team to complete your project on time and make best use of the Xilinx device you have selected. This highly customizable service allows you to develop a training plan tailored specifically to the needs of your design team. This will help prevent schedule slips later in the project by ensuring that the team is skilled in the needed disciplines. It will also help you maintain a more effective and highly motivated team.

Printable PDF version of this article with graphics. PDF logo (12/1/05) 355 KB

 
Jobs Events Webcasts News Investors Feedback Legal Sitemap
© 1994-2008 Xilinx, Inc. All Rights Reserved.