3 - 1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory
Hardware-Software Codesign
- 3. Mapping Applications To Architectures
Hardware-Software Codesign 3. Mapping Applications To Architectures - - PowerPoint PPT Presentation
Hardware-Software Codesign 3. Mapping Applications To Architectures Lothar Thiele Computer Engineering Swiss Federal 3 - 1 Institute of Technology and Networks Laboratory System Design specification system synthesis estimation
3 - 1 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory
3 - 2 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory
SW-compilation HW-synthesis
specification system synthesis machine code net lists estimation instruction set intellectual
intellectual
3 - 3 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory
3 - 4 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory
core2 core1 core3
allocation: select components binding: assign functions to components scheduling: determine execution order … finally, synthesis results into implementation
mapping partitioning
function_2() function_1() function_3()
channel channel
port port port port write() read()
scheduler
function_2() function_1() function_3() function_2() function_1() function_3()
3 - 5 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory
function_2() function_1() function_3() function_2() function_1() function_3() function_2() function_1() function_3()
3 - 6 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory
x = 3*a + b*b - c; y = a + b*x; z = b - c*(a + b);
3 a a a b b b b b c c x y z
3 - 7 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory
3 - 8 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory
what_is_this { 1 read(a,b); 2 done = FALSE; 3 repeat { 4 if(a>b) 5 a = a-b; 6 elseif(b>a) 7 b = b-a; 8 else done = TRUE; 9 } until done; 10 write(a); } 1 2 4 6 7 8 9 5 10 done !done
read(a,b) done = FALSE repeat until
done
if(a>b)
a=a-b
done=TRUE
done?
write(a)
a>b a<=b
elseif(b>a)
a<b a=b b=b-a
3 - 9 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory
e.g., processing frequency
3 - 10 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory
3 - 11 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory
3 - 12 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory
3 - 13 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory
application data flow graph GP( , ,EP) architecture graph GA( , ,EA) (all possible) mapping relations EM
3 - 14 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory
3 - 15 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory
3 - 16 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory
V1 5 V2 V3
1 21 29 RISC SB
V6 V7
HWM1
V4
22 30 32 RISC SB HWM1 implementation application &mapping execution schedule
3 - 17 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory
application architecture system-level performance analysis system-level design space exploration loop (typ. automated) search algorithm complete design space exploration loop (typ. manual) hardware/ software synthesis final performance analysis mapping functional validation
3 - 18 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory
application architecture system-level performance analysis system-level design space exploration loop (typ. automated) search algorithm complete design space exploration loop (typ. manual) hardware/ software synthesis final performance analysis mapping functional validation
3 - 19 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory