Title: The FRIDGE Project overview and perspectives Presentation at Berkeley Wireless Research Center, Apri
1The FRIDGE Projectoverview and
perspectivesPresentation at Berkeley Wireless
Research Center, April 4th, 2000
- Institute for Integrated Signal Processing
Systems,Prof. Dr. Heinrich Meyr,Aachen
University of Technology
Holger Keding, Martin Coors, Oliver Wahlen, Olaf
Lüthje
ISS
2Motivation
Why bother about Fixed-Point Design?
- chip area
- power consumption
- price-per-device
- throughput
Implementation Advantages
Application domains
- high-volume products
- mobile applications
3Fixed-Point Design Process
OFDM frequency synchronization unit
Design space exploration
5 Weeks
3 Weeks
4FRIDGE
Fixed-Point Programming andDesign Environment
float
fixed
- Bit-true modeling SystemC (www.SystemC.org)
- interpolative transformation
5Algorithmic Transformation
floating-point description
ANSI-C/SystemC
fixed-point description
SystemC
6Fixed-Point Specification
7FRIDGE Design Methodology Local Annotation
local annotation
hybrid
SystemC
8SystemC Local Annotations
- incremental transformation
- efficient modeling
- starting point for an implementation
SystemC
Bit-true ANSI C
float two_tap_fir(float in) state0
in ...
float two_tap_fir(float in) int tmp
(int)((in0.125)4) state0 0.25
(tmpgt31)?max((tmplt-32)?-32tmp) ...
sc_fix(in,6,4,SC_RND,SC_SAT)
9FRIDGE Design Methodology Hybrid Simulation
local annotation
hybrid
SystemC
10FRIDGE Design Methodology Wordlength
Interpolation
local annotation
hybrid
SystemC
- Range propagation
- Precision propagation
11Interpolation example
a sc_fix(in1,4,1) b sc_fix(in2,4,4) .... c
a bd 1.0625 c
global annotations wl_max 8 MSB SAT LSB
RND
c sc_fix(a b,8,5)
d sc_fix(sc_ufix(1.0625,5,1)c,
8,5,SC_RND,SC_NO)
-1,0.875
-9,7.875
-7.875,9
-8,7
Correlation between range and fixed-point
attributes (2s complement) minval ? -2 iwl-1,
maxval ? 2 iwl-1 - 2-fwl ? iwl ? max( ldminval,
ldmaxval 2-fwl) 1
12The FRIDGE Framework
floating-point algorithm (ANSI-C)
Annotation
hybrid algorithm (SystemC)
simulation system
Algorithmic level
Interpolation
fixed-point algorithm (SystemC)
Implementation
Implementation level
fixed-point algorithm (SystemC)
integer algorithm (ANSI-C)
integer algorithm (C62x C code)
13Research Topics
- link to implementation
- target specific backends needed
- designers have to write the implementation
manually - simulation speed
- SystemC fixed-point simulation classes provide a
high modeling efficiency - C based generic fixed-point simulation is far
too slow -
14Fast Simulation Code Generation
0
30
60
90
15HW Fixed-Point Operations
Example Addition
gtgt sa
a
gtgt sb
b
machine word length (mwl)
c
Restrictions mwl - iwla gt
lbpa - sa gt fwla (1)
mwl - iwlb gt lbpb - sb gt fwlb
(2)
mwl - iwlc gt lbpc gt fwlc
(3)
lbpc lbpa - sa lbpb - sb
(4)
16Restrictions for data type mapping
User defined or given set of data types e.g.
short int long
User defined or given data path e.g. adder
multiplier
17Embedding Shift Optimization
- Goal Minimize costs
- number of shift operations
- number of cast operations
Expression statements t1 a b t2 t1
c e t2 d
e
d
c
b
a
18Define-Use and Use-Define Chains
Expression statements S1 t1 a b S2
t2 t1 c S3 e t2 d
Data Flow
DFG
S1
S2
S3
19Example DU Chains for Loops
S1
S2
S3
- Syntax directed data flow analysis
- state of the art in compiler design
- in general syntax oriented
- ambiguous by principle
20Example DU Chains for Loops
S1
S2
- semantic oriented data flow analysis
- distinguish between statement and execution
- in general semantic oriented
- ambiguous only for control structures
21Advanced Data and Control Flow Analysis
- Operation level data and control flow modeling
- more precise information
- more aggressive optimization
- analysis of pointers and arrays
- handling of ambiguity supported
- DU/UD chains allow data type selection and
embedding of bit-true words - higher computational costs
- different analysis levels required
22Summary
- FRIDGE provides efficient fixed-point modeling
capabilities and data analysis support - Designer can concentrate on the (few) fixed-point
parameters that really matter - Automatic transformation from hybrid to bit-true
code enable a faster exploration of the design
space. - Fast Simulation is crucial for system development
- Link to implementation closes the gap in the
design flow - Tool supported targeting of different platforms
shortens the design cycles
floating- point algorithm (ANSI-C)
Annotation
hybrid algorithm (SystemC)
simulation system
Algorithmic level
Interpolation
fixed-point algorithm (SystemC)
Implementation
Implementation level
Integer algorithm (ANSI-C)
integer algorithm (C62x C
code)
fixed-point algorithm (behavioral
SystemC)