Xilinx presentation - DAC Virtual Resources

advertisement

Fast FPGA

Resource Estimation

Paul Schumacher & Pradip Jha

Xilinx, Inc.

Outline

 Motivations

 Estimation Details

 Results, Examples, & Demo

 Conclusions & Future Improvements

The Need for More Information

®

Virtex ®-6

FPGA

Logic Utilization:

Number of Slice Flip Flops: 301 out of 12,288 2%

Number of 4 input LUTs: 900 out of 12,288 7%

Logic Distribution:

Number of occupied Slices: 498 out of 6,144 8%

Total Number 4 input LUTs: 920 out of 12,288 7%

Number used as logic: 900

Number used as a route-thru: 20

Number of bonded IOBs: 21 out of 320 6%

Number of BUFG/BUFGCTRLs: 1 out of 32 3%

Number used as BUFGs: 1

Number used as BUFGCTRLs: 0

Total equivalent gate count for design: 8,944

How are these resources being used?!?

Exemplary FPGA Design Flow

HLL Definition

Optimization

RTL Generation

Synthesis & Simulation

N Constraints met?

Y

Place & Route

FPGA Bitstream

 Issue #1: Perspective

– Overlook vast design space from high level

– Your implementation: very low level

– You need to deftly navigate both levels

 Issue #2: Time

– Designing can be very iterative process

– Performing what if scenarios can be costly

– Possible tradeoffs: speed vs. accuracy

Exemplary FPGA Design Flow

HLL Definition

Optimization

RTL Generation

Synthesis & Simulation

N Constraints met?

Y

Place & Route

FPGA Bitstream

High-Level Estimation

 In-depth information

– Supply perspective desired by designers

– Provide context: where, when, why

 Immediate feedback

– Offer quick estimations

– Increasing benefits with multiple runs

What Do We Have?

PlanAhead™  Provides estimated FPGA resources of RTL designs

– Without running synthesis

– All resources reported

– All FPGA families supported

 Benefits

– Fast : 100x faster than synthesis

– Accurate : 15.2% average error

– Transparent : in default RTL flow

– Useful : help user select part, etc.

 Released with ISE

®

11

Resource Estimation Tool Flow

HDL Source Code

HDL Parser/Elaborator

Design Netlist

Macro-Level

Estimations

PlanAhead

Tool

 User-provided input

– RTL source code

– Settings (e.g., FPGA family)

– Tcl script (batch mode)

Library

Characterization

 Obtain netlist from HDL parser/elaborator

 Estimate each macro in netlist

 Refine using synthesis modeling

Refinements

Estimation Database

 Estimation output

– Interactive database (GUI)

– Report files (XML, Excel)

Benchmark Results

FPGA

Resource

Slices

LUTs

Flip-Flops

BlockRAMs

DSP48s

Run-Time**

Post-Map Estimation

Error (Avg.)*

15.2%

15.6%

11.5%

6.4%

2.2%

17.2 sec

* Using suite of 100 customer designs across three FPGA families

** Run-time includes HDL parser/elaborator + estimation

Estimation Run-Time

Demo: MPEG-4 Decoder

PlanAhead Integration

Resources by Function

Resources by Hierarchy

Results: MPEG-4 Decoder

QCIF CIF 4CIF 720p 1080p

FPGA Family Comparison Memory Comparison

Both experiments performed in less than one minute!

Estimation Use Models

Early in design: immediate feedback

 Later in design : “hot spot” identification

 Design space exploration (DSE)

 Increased abstraction level

 Design benchmarking & comparison

Conclusions

 Resource estimator integrated into PlanAhead

 Provides detailed analysis of design

– Breakdown of resources by functionality & hierarchy

– Statistics on memories and bit widths

 Future releases

– Improved QoR

– Estimation of other requested design budgets

– Integration with other tools

 Contact us with any questions!

– Email: {paul.schumacher, pradip.jha}@xilinx.com

Download