Automatic floating point to fixed point transformations
Download
1 / 28

Automatic Floating-Point to Fixed-Point Transformations - PowerPoint PPT Presentation


  • 76 Views
  • Uploaded on

Automatic Floating-Point to Fixed-Point Transformations. Kyungtae Han, Alex G. Olson, Brian L. Evans Dept. of Electrical and Computer Engineering The University of Texas at Austin. 2006 Asilomar Conference on Signals, Systems, and Computers. October 30th, 2006. Outline. Introduction

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Automatic Floating-Point to Fixed-Point Transformations' - moana-christian


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Automatic floating point to fixed point transformations

Automatic Floating-Point to Fixed-Point Transformations

Kyungtae Han,

Alex G. Olson,

Brian L. Evans

Dept. of Electrical and Computer Engineering

The University of Texas at Austin

2006 Asilomar Conference on Signals, Systems, and Computers

October 30th, 2006


Outline
Outline

  • Introduction

  • Background

  • Fixed-point wordlength optimizations

  • Automate transformations of systems

  • Conclusion


Implementing digital signal processing algorithms

L

H

Implementing Digital Signal Processing Algorithms

Hardware

Price

Power*

Floating-

Point

Processor

$

Floating-Point Program

Code

Conversion

Digital Signal

Processing

Algorithms

Fixed-

Point

Processor

Fixed Point

(Uniform Wordlength)

$

Wordlength

Optimization

L

H

Fixed-

Point

ASIC

Fixed Point

(Optimized Wordlength)

$

L

H

ASIC: Application Specific Integrated Circuit

* Power consumption


Transformations to fixed point
Transformations to Fixed Point

  • Advantages

    • Lower hardware complexity

    • Lower power consumption

    • Faster speed in processing

  • Disadvantages

    • Introduces distortion due toquantization error

    • Search for optimum wordlengthby trial & error is time-consuming

  • Research goals

    • Automate transformations to fixed point

    • Control distortion vs. complexity tradeoffs

Floating-Point Program

Code

Conversion

Transformation

Wordlength

Optimization

Fixed Point

(Optimized Wordlength)


Distortion vs complexity tradeoffs
Distortion vs. Complexity Tradeoffs

  • Shorter wordlength may increase application distortion and decrease implementation complexity

Applicationdistortion d(w)

Feasible

region

Optimal

tradeoff

curve

Implementation

complexity c(w)

  • Minimize implementation cost

  • Minimize application distortion


Search for optimum wordlength
Search for Optimum Wordlength

  • Complete search

    • Search whole space

    • Impractical in systems with many variables

  • Gradient-based search

    • Utilizes gradient information to determine next candidates

    • Complexity measure (CM) [Sung and Kum, 1995]

    • Distortion measure (DM) [Han et al., 2001]

    • Complexity-and-distortion measure (CDM) [Han and Evans, 2004]

  • Guided random search

    • Genetic algorithm for single objective [Leban and Tasic, 2000]

    • Multiple objective genetic algorithm


Complexity and distortion measure
Complexity-and-Distortion Measure

  • Weighted combination of measures

  • Single objective function:

  • Gradient-based search

    • Initialization

    • Iterative greedy search based on complexity and distortiongradient information


Genetic algorithm

Function

Evaluation

New Gene

Pool

Genes w/

Measure

Mutation

Selection

Mating

Child

Genes

Parental

Genes

Genetic Algorithm

  • Evolutionary algorithm

    • Inspired by Holland 1975

    • Mimic processes of plant and animal evolution

    • Find optimum of a complex function

[From Greg Rohling’s Ph.D Defense 2004]


Case study filter design

b0

x[n]

y[n]

Delay

b1

-a1

Case Study: Filter Design

  • Infinite impulse response (IIR) filter

    • Complexity measure: Area model offield-programmable gate array (FPGA)[Constantinides, Cheung, and Luk 2003]

    • Distortion measure: Root mean square (RMS) error

    • Seven fixed-point variables (indicated by slashes)


Case study gradient based search
Case Study: Gradient-Based Search

  • CDM could lead to lower complexity and lower number of simulations compared to DM and CM

* Maximumdistortion measured by root mean square (RMS) erroris 0.1

** 167 = 268,435,456 (8.5 years, if 1second per 1 simulation)


Case study iir genetic algorithm
Case Study - IIR: Genetic Algorithm

  • Search Pareto optimal set (nondominated)

  • Handles multiple objectives: Error andArea

Pareto Front

22,500 simulations

45,000 simulations

9,000 simulations

100th Generation

250th Generation

500th Generation

* Population for one generation: 90

LUT: Lookup table


Case study comparison

Contribution #1

Case Study: Comparison

  • Superpose gradient-based search (GS) results on GA results

50th Generation (4500 simulations)

500th Generation (45000 simulations)

* Required RMSmax for gradient-based search areDmax{0.12, 0.1, 0.08}

  • GS methods can get stuck in a local minimum

  • GS methods reduce running time (CDM: 145 simulations)


Automating transformations from floating point to fixed point

Fixed-point tools

  • SNU gFix, Autoscaler

  • CoWare SPW HDS

  • Synopsys CoCentric

  • MATLAB Fixed-point toolbox

  • MATLAB Fixed-point blockset

  • AccelChip DSP synthesis

  • Catalytic RMS, MCS

Automating Transformations from Floating Point to Fixed Point

  • Existing fixed-point tools

    • Support fixed-point simulation

    • Convert floating-point code to raw fixed-point code

    • Manually find optimum wordlength by trial and error

  • Automating transformations

    • Fully automate conversion and wordlength optimization process (Proposed)

Floating-Point

Program

Code

Conversion

Wordlength

Optimization

Wordlength-Optimized

Fixed-Point Program


Code generation for fixed point program
Code Generation for Fixed-Point Program

  • Adder function in MATLAB

Function [c] = adder_fx(a, b)

c = 0;

a = fi (a, 1,32,16);

b = fi (b, 1,32,16);

c = fi (c, 1,32,16);

c(:) = a + b;

Function [c] = adder(a, b)

c = 0;

c = a + b;

Determined by designers

with trial and error

(a) Floating point program for adder

(b) Raw fixed-point program

Function [c] = adder_fx(a, b, numtype)

c = 0;

a = fi (a, numtype.a);

b = fi (b, numtype.b);

c = fi (c, numtype.c);

c(:) = a + b;

WL

S

FWL

fi(a, S,WL,FWL) is a constructor

function for a fixed-point object in

fixed-point toolbox [S: Signed, WL:

Wordlength, FWL: Fraction length]

(c) Converted fixed-point program for

automating optimization (Proposed)


Automating transformation environment for wordlength optimization
Automating Transformation Environment for Wordlength Optimization

Input Data

Top

Program

Floating-Point

Program

Optimum Wordlength

Evaluation

Program

(Objectives)

Search

Engine

Fixed-Point

Program

Gradient-based or Genetic algorithm

Range

Estimation

Complexity

Estimation

Error

Estimation

  • Given floating-point program and options,

  • auxiliary programs are automatically generated

  • Given input data, optimum wordlength is searched


Demo of released software
Demo of Released Software


Conclusion
Conclusion

  • Search for optimum wordlength

    • Gradient-based search reduces execution time with complexity-and-distortion measure method while solutions could be trappedin local optimum

    • Genetic algorithm can finddistortion vs. complexity tradeoff curve, but it requires longer execution time

  • Automate transformations from floating-point programs to fixed-point programs

    • Free software release is available at

      www.ece.utexas.edu/~bevans/projects/wordlength/converter/


End

Thank you!


Backup slides
Backup Slides

Backup Slides


Case study receiver gradient based search
Case Study- Receiver: Gradient-Based Search

Demodulate

Integrate

&

Dump

* Maximumdistortion measured by bit error rate (BER)is 0.1


Case study receiver genetic algorithm
Case Study - Receiver: Genetic Algorithm

Population for

one generation: 90

25th Generation

50th Generation

100th Generation

200th Generation


Fixed point data format

Wordlength

S

X

X

X

X

X

Integer

wordlength

Fractional

wordlength

(Binary point)

Fixed-Point Data Format

  • Integer wordlength (IWL)

    • Number of bits assigned to integer representation

  • Fractional wordlength (FWL)

    • Number of bits assigned to fraction

  • Wordlength (WL)

SystemC format

www.systemc.org

π = 3.14159…(10) [Floating Point]

3.140625(10) = 011.001001(2)[WL=9; IWL=3; FWL=6] 3.141479492(10) = 011.00100100001110(2)[WL=16; IWL=3; FWL=13]


Wordlength optimization constraints

Distortion constraint

Complexity constraint

Wordlength Optimization Constraints

Application-specific distortion d(w)

Application-specific distortion d(w)

Dmax

Cmax

Implementation

Complexity c(w)

Implementation

Complexity c(w)

Enforcing both constraints bounds

the search to a finite area region


Wordlength optimization

Wordlengths of signals (variables) in digital system as vector

Multiple objective optimization

Wordlength Optimization

  • Single objective optimization


Pareto optimality

: Nondominated vector

: Dominated

Pareto Optimality

  • Pareto optimality: “best that could be achieved without disadvantaging at least one group”[Allan Schick 1970]

  • Pareto optimal set is set of nondominated solutions

    • E is dominated by C as all objectives for C are less than corresponding objectives for E

    • Solutions A, B, C, D are nondominated (not dominated by any solution)

  • Pareto front is boundary (tradeoff curve) that connects Pareto optimal set solutions

Pareto Front

I

A

G

Objective 2

H

B

E

C

F

D

Objective 1


Comparison of proposed methods
Comparison vector of Proposed Methods


Automatic transformation flow
Automatic Transformation Flow vector

  • Code generation

    • Parse floating-point program

    • Generate a raw fixed-point program and auxiliary programs (top, objective, cost, etc.)

  • Range estimation

    • Estimate range to avoid overflow (Analytical/Simulation)

    • Determine integer wordlength (IWL)

  • Wordlength optimization

    • Optimize wordlength according to given input, and error specification (Analytical/Simulation)

    • Determine fractional wordlength (FWL)

Code

Generation

Range

Estimation

Wordlength

Optimization


Code generations
Code Generations vector

<Run Code Generation>

<Floating-point Program>


ad