SLIDE 15 Introduction to High-level Synthesi Smr3143 – ICTP & IAEA (Aug. & Sept. 2017) 15
Source Code: Key Attributes
v
d fir ( d a t a _ t * y , c
f _ t c [ 4 ] , d a t a _ t x ) { s t a t i c d a t a _ t s h i f t _ r e g [ 4 ] ; a c c _ t a c c ; int i ; a c c = ; l
: for ( i = 3 ; i > = ; i
{ i f ( i = = ) { a c c + = x * c [ ] ; shift_reg[0]= x ; } e l s e { s h i f t _ r e g [ i ] = s h i f t _ r e g [ i
] ; a c c + = s h i f t _ r e g [ i ] * c [ i ] ; } } * y = a c c ; } v
d fir ( d a t a _ t * y , c
f _ t c [ 4 ] , d a t a _ t x ) { s t a t i c d a t a _ t s h i f t _ r e g [ 4 ] ; a c c _ t a c c ; int i ; a c c = ; l
: for ( i = 3 ; i > = ; i
{ i f ( i = = ) { a c c + = x * c [ ] ; shift_reg[0]= x ; } e l s e { s h i f t _ r e g [ i ] = s h i f t _ r e g [ i
] ; a c c + = s h i f t _ r e g [ i ] * c [ i ] ; } } * y = a c c ; }
F u n c t i
s : Represent the design hierarchy L
s : Their scheduling has major impact on area and performance A r r a y s : Mapped into memory. May become main performance bottlenecks O p e r a t
s : Can be shared or replicated to meet performance T y p e s : Type infuences area and performance T
L e v e l I O : Top-level arguments determine Interface ports
- Only one top-level function is allowed