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
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