20.06.2013 Views

Design Challenges: Avoiding the Pitfalls, winning the game - Xilinx

Design Challenges: Avoiding the Pitfalls, winning the game - Xilinx

Design Challenges: Avoiding the Pitfalls, winning the game - Xilinx

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

SYSTEM PERFORMANCE<br />

The PlanAhead Experience<br />

<strong>Xilinx</strong> customers have used PlanAhead software<br />

to reduce design costs and improve performance.<br />

by Chris Zeh<br />

Product Applications Engineer<br />

<strong>Xilinx</strong>, Inc.<br />

chris.zeh@xilinx.com<br />

A growing number of <strong>Xilinx</strong> ® customers<br />

are enjoying improved performance,<br />

reduced engineering time and design costs,<br />

and <strong>the</strong> ease of use offered by <strong>the</strong><br />

PlanAhead design and analysis tool.<br />

These customers are expressing <strong>the</strong> same<br />

realization – a complete paradigm shift in<br />

<strong>the</strong>ir FPGA design flow.<br />

Over <strong>the</strong> past several weeks, I have<br />

talked with several application engineers at<br />

<strong>Xilinx</strong> about <strong>the</strong>ir experiences with<br />

PlanAhead software. I found three main<br />

hurdles where <strong>the</strong> PlanAhead design tool<br />

offers a significant advantage: when <strong>the</strong><br />

design fails to meet timing; when <strong>the</strong><br />

design doesn’t fit into <strong>the</strong> target device; and<br />

when <strong>the</strong> place and route run time is too<br />

long. I also found that many of <strong>the</strong> engi-<br />

neers use PlanAhead software to view <strong>the</strong><br />

results from place and route.<br />

In this article, I’ll discuss <strong>the</strong> processes<br />

that <strong>the</strong>se engineers and I use, and provide<br />

statistics on what customers are seeing<br />

from using PlanAhead software. When<br />

doing your own floorplanning, remember<br />

that poor floorplanning can give you<br />

worse timing, larger device utilization,<br />

and longer place and route run times. My<br />

goal is to outline <strong>the</strong> concepts to help you<br />

accomplish your performance goals.<br />

Failure to Meet Timing<br />

When we as application engineers receive a<br />

design that has difficulty meeting timing,<br />

we run <strong>the</strong> design without any floorplanning<br />

constraints. This entails removing<br />

existing area groups and larger component<br />

physical constraints but keeping pin placement.<br />

If <strong>the</strong> place and route time is very<br />

long, <strong>the</strong>n we run TimeAhead, <strong>the</strong> static<br />

timing tool within PlanAhead software, to<br />

get an early estimation of <strong>the</strong> critical paths.<br />

The TimeAhead analysis also helps identify<br />

areas of <strong>the</strong> design that need RTL revisions<br />

to add registers to pipeline critical paths.<br />

If possible, we run place and route on <strong>the</strong><br />

design and view <strong>the</strong> placement and timing<br />

results within <strong>the</strong> PlanAhead environment.<br />

The timing results from <strong>the</strong> placed and routed<br />

design show us <strong>the</strong> critical paths based on<br />

actual delays (Figure 1). The device view displays<br />

<strong>the</strong> placed design, along with <strong>the</strong> timing<br />

paths from <strong>the</strong> TRCE report.<br />

We create Pblocks or area groups based<br />

on critical paths of <strong>the</strong> design from <strong>the</strong> timing<br />

report. These Pblocks can be floating or<br />

defined as a specific rectangle or shape.<br />

Pblocks can contain logic from anywhere in<br />

<strong>the</strong> design and are not limited to <strong>the</strong> RTL<br />

logic hierarchy. Analyzing <strong>the</strong> imported<br />

placed and routed design, we use <strong>the</strong> current<br />

placement of <strong>the</strong> elements that make up <strong>the</strong><br />

Pblock to determine a good starting point<br />

for <strong>the</strong> Pblock rectangle.<br />

20 Xcell Journal Third Quarter 2005

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!