+ All Categories
Home > Documents > Floating Point Fpga

Floating Point Fpga

Date post: 15-Jan-2016
Category:
Upload: yeu-em
View: 8 times
Download: 0 times
Share this document with a friend
Description:
www.synopsys.com › ... › Supported D-FoundationDịch trang nàyThis guide lists the platforms supported by the Synopsys D- Foundation Releases 2009.12, 2010.03, 2010.06. ... A Baseline Operating System is the OS version that Synopsys products are ... Recommended run-time patches for each platform are presented in this guide. ... Service Pack 1: Mininum Patch Level Required.
22
Floating-Point FPGA (FPFPGA) Architecture and Modeling (A paper review) Jason Luu ECE University of Toronto Oct 27, 2009
Transcript
Page 1: Floating Point Fpga

Floating-Point FPGA (FPFPGA)Architecture and Modeling(A paper review)

Jason LuuECEUniversity of TorontoOct 27, 2009

Page 2: Floating Point Fpga

Motivation

•Goal: Build faster, cheaper, lower power FPGAs

•How? Fixed-Functionality (hard) blocks!▫FPGA reconfigurability comes at the price

of area, delay, and power▫Some reconfigurability is unnecessary,

remove it for savings

Page 3: Floating Point Fpga

What to Make Hard?•What hard blocks to use?

▫If not used, block is wasted▫Industry suggests including memories and

multipliers▫Paper suggests adding floating-point units (FPU)

•Given a hard block, how fractured should it be?▫Eg. Stratix III FPGA multipliers can be configured

in a set of four 18x18 multipliers or one 36x36 multiplier

▫How fractured should the FPU be?

Page 4: Floating Point Fpga

Introducing FPFPGA

•Contains soft and hard blocks▫Soft blocks are composed of standard LUTs,

FFs▫Hard blocks are FPUs called Coarse-

grained units (CGU)•CGU characteristics:

▫Floating-point (FP) adds and multiplies only▫Bus-based LUT operations using

“wordblock”▫Dedicated output registers▫Accessible to soft blocks and vice-versa

Page 5: Floating Point Fpga

Architecture of FPFPGA

Page 6: Floating Point Fpga

CGU

Page 7: Floating Point Fpga

CGU parameters

•# of each type of FP block•Bus Width•Number of Input Buses•Number of Output Buses•Number of Feedback Paths

Page 8: Floating Point Fpga

Modeling Methodology

•Need to measure how “good” FPFPGA is•Use empirical measurement method

FPFPGA

Benchmark

Circuit

Commercial CAD FLow

Measure Quality of Results

Very Nice! Commercial tools are unaware of FPFPGA , authors introduce “VEB” as solution

Page 9: Floating Point Fpga

Virtual Embedded Block (VEB) Flow•Manually map benchmark circuit into

▫CGU ▫Soft logic

•Put VEB representing CGU into commercial CAD tool

•Compile•Gather area and timing measurements

Page 10: Floating Point Fpga

VEB

•Create standard cell ASIC CGU and get area/timing numbers

•Implement area and timing of ASIC CGU using soft logic of commercial FPGA (different functionality, similar silicon timing, area, and pin demand)

•Assumes all internal paths == critical path to simplify timing of soft logic implementation

Page 11: Floating Point Fpga

VEB

Page 12: Floating Point Fpga

VEB Details

•Model delay with carry-chains•Model area with shift registers•Use LUT inputs and outputs for pin

demand•Note: Area and delay models use

independent resources

Page 13: Floating Point Fpga

VEB Placement Challenge

•Hard block locations are fixed on an FPGA•Commercials tools can’t do that for VEB

since it’s just a group of clustered soft logic constrained to be placed in a particular relative distance from each other

•Solution:▫Let commercial tools place VEB anywhere▫Then manually place VEB to fixed locations

Page 14: Floating Point Fpga

VEB Quality

•11% delay error when modeling embedded multiplier (non-fp to compare with existing multiplier)

•Area is accurate (no number given)•Important repeatability hint: Must

determine timing post-bitstream because of significant false paths (most CGUs do not use the longest path and this is detected post-bitstream)

Page 15: Floating Point Fpga

Benchmarks

•32-bit single-precision floating-point•8 benchmarks

▫5 Core computation blocks▫1 application▫2 synthetic

Page 16: Floating Point Fpga

Experimental Settings

•Xilinx Virtex 2: XC2V3000-6-FF1152•16 CGUs each implemented as a VEB

▫Each CGU takes up 122 Logic Cells•2 FP multipliers, 2 FP adders, 5

wordblocks▫In the order: W M A W W M A W W

•4 input buses•3 output buses•3 feedback registers

Page 17: Floating Point Fpga

Results

•Average area reduced by 25x•Average delay reduced by

▫3.6x for single precision▫4.3x for double precision

•Results are comparable to Kuon FPGA vs ASIC measurements

•Critical path of all circuits is in FPU

Page 18: Floating Point Fpga

Reason for Good Results

•Removed reconfiguration bits (area reduction)

•Efficient directional routing•Embedded FP operators

Page 19: Floating Point Fpga

Contributions

•Exploration of FPGA architectures with embedded floating-point cores

•VEB methodology to leverage commercial tools to explore new embedded hard blocks even when commercial tools are unaware of those new hard blocks

Page 20: Floating Point Fpga

Weaknesses

•Significant amounts of speculation▫Try to claim scope for stuff that should be

in future work•Especially weak was the paper’s analysis

of a FPFPGA compiler which is outside of scope and should be listed as such

Page 21: Floating Point Fpga

My 2 Cents

•Primary advantage of FPFPGA vs GPU in the floating-point high computation domain is low latency

•Several applications demand very low latency and very high computational power▫Plant monitoring of high-speed reactions▫Financial automatic buy-sell algorithms

•Secondary advantage is energy consumed to perform the same computations.

Page 22: Floating Point Fpga

My 2 Cents

•Comparison unfair▫Most FPGA designers would convert

floating-point to fixed point and not leave it as floating-point Double precision fp add requires 701 slices Fixed point add 64 LUTs == 16 slices

•Critical path is in FPU suggests benchmark circuits are unusually geared to use FPU cores and this is admitted by the authors


Recommended