Hardware/Software Codesign I
Transcription
Hardware/Software Codesign I
Professur Technische Informatik Prof. Dr. Wolfram Hardt Hardware/Software Codesign I System Development – Models and Methods Prof. o Dr. Wolfram o a Hardt a dt Dipl.-Inf. Mirko Caspar Wintersemester 2010/11 Version: 10.02.L.r-1.0-100929 Contents Professur Technische Informatik Prof. Dr. Wolfram Hardt • HW/SW Codesign C d i Process P • Design Abstraction and Views • Synthesis • Control/Data-Flow Control/Data Flow Models • System Synthesis Models Wintersemester 2010/11 CO Hardware/Software Codesign I mplex ncurrent rrect ordinated DESIGN 02-2 1 Designing Embedded Systems Professur Technische Informatik Prof. Dr. Wolfram Hardt • design structuring – representation of requirements – necessary for automation of design process design partitioning • ________________________ – chip - chip – board – board – hardware – software objects algorithms • design steps – scheduling – allocation – binding for HW and SW Hardware/Software Codesign I Wintersemester 2010/11 02-3 HW/SW Codesign Process Professur Technische Informatik Prof. Dr. Wolfram Hardt Specification System Synthesis InterfaceSynthesis SW Synthesis y machine code Wintersemester 2010/11 ____________ Estimation HW Synthesis y netlist Hardware/Software Codesign I 02-4 2 Contents Professur Technische Informatik Prof. Dr. Wolfram Hardt • HW/SW Codesign C d i Process P • Design Abstraction and Views • Synthesis • Control/Data-Flow Control/Data Flow Models • System-Synthesis Models CO mplex ncurrent rrect ordinated DESIGN Hardware/Software Codesign I Wintersemester 2010/11 02-5 Y-Chart Professur Technische Informatik Prof. Dr. Wolfram Hardt Behavioural View Synthesis Structural View Test View X-Chart Physical View Wintersemester 2010/11 Hardware/Software Codesign I 02-6 3 Example Professur Technische Informatik Prof. Dr. Wolfram Hardt • device: MP3 decoder ASIC (HW) Behavioural View Structural View system decode files with 32…256kBit, 32 Bit output quality, … components for sample detection, configurable decoder, output registers algorithm description for each part, e.g. in C / Java detailed structure for different parts of system registertransfer complex modules and their data flow / communication register-transfer components and connections gate flip-flops, signals Boolean equation, FSM gates, __________________________ __________________________ transistor differential equations transistors, resistors, wires, … Hardware/Software Codesign I Wintersemester 2010/11 02-7 Double-Roof-Model Professur Technische Informatik Prof. Dr. Wolfram Hardt • abstraction of Y/X-chart software hardware behaviour ___________ system module architecture block logic HW and SW design processes are equally structured Wintersemester 2010/11 Hardware/Software Codesign I ___________ structure 02-8 4 P-Chart Professur Technische Informatik Prof. Dr. Wolfram Hardt • dimension – SW-Synthesis – … • level – – – – system level algorithm level RT level … • view – – – – behaviour structure test geometry Wintersemester 2010/11 Hardware/Software Codesign I 02-9 Contents Professur Technische Informatik Prof. Dr. Wolfram Hardt • HW/SW Codesign C d i Process P • Design Abstraction and Views • Synthesis • Control/Data-Flow Control/Data Flow Models • System Synthesis Models Wintersemester 2010/11 CO Hardware/Software Codesign I mplex ncurrent rrect ordinated DESIGN 02-10 5 Synthesis Professur Technische Informatik Prof. Dr. Wolfram Hardt software hardware behaviour system y module architecture block logic structure • synthesis = _________________________ behaviour -> structure • tasks for synthesis: – allocation: – binding: – scheduling: select components map functions to components plan execution order Hardware/Software Codesign I Wintersemester 2010/11 02-11 Example Professur Technische Informatik Prof. Dr. Wolfram Hardt • behaviour: Boolean equation f ab cd synthesis • structure: netlist a b & ≥1 f c d Wintersemester 2010/11 & Hardware/Software Codesign I 02-12 6 Specification on System Level Professur Technische Informatik Prof. Dr. Wolfram Hardt constraints A task graph B C execution time < 200ms D E Wintersemester 2010/11 Hardware/Software Codesign I 02-13 Allocation on System Level Professur Technische Informatik Prof. Dr. Wolfram Hardt • processor, dedicated hardware • memory, I/O • connection structures Wintersemester 2010/11 Hardware/Software Codesign I 02-14 7 Binding on System Level Professur Technische Informatik Prof. Dr. Wolfram Hardt • map tasks to resources A B C D E Wintersemester 2010/11 Hardware/Software Codesign I 02-15 Scheduling on System Level Professur Technische Informatik Prof. Dr. Wolfram Hardt Wintersemester 2010/11 Hardware/Software Codesign I 02-16 8 Rating of Design Alternatives Professur Technische Informatik Prof. Dr. Wolfram Hardt pareto point _______________: criteria can not be improved without worsen another pareto points 1, 2, 4, 6 are ___________ Wintersemester 2010/11 Hardware/Software Codesign I 02-17 Contents Professur Technische Informatik Prof. Dr. Wolfram Hardt • HW/SW Codesign C d i Process P • Design Abstraction and Views • Synthesis • Control/Data-Flow Control/Data Flow Models • System Synthesis Models Wintersemester 2010/11 CO Hardware/Software Codesign I mplex ncurrent rrect ordinated DESIGN 02-18 9 Data Structures Professur Technische Informatik Prof. Dr. Wolfram Hardt • ffor algorithms l ith ((calculation l l ti off optimisations) ti i ti ) are d dedicated di t d and d formal models necessary data structures • granularity – detailing for optimisation parameters – abstraction for manageability • extendibility – annotation by optimisation method – output generation, if necessary for common optimisation Wintersemester 2010/11 Hardware/Software Codesign I 02-19 Graph Professur Technische Informatik Prof. Dr. Wolfram Hardt • modelling by graphs – graph G = (V (V,E), E) E كV x V set of vertices (nodes) V: operation, tasks, communication set of arcs (edges) dependencies between nodes E: A • example: – G = ((V,E)) – V = (A, B, C, D, E) – E = ((A,B), (A,C), (B,E), (C,D), (D,E)) – directed graph (A,B) ֙(B,A) Wintersemester 2010/11 Hardware/Software Codesign I B C D E 02-20 10 Control and Data Flow Models Professur Technische Informatik Prof. Dr. Wolfram Hardt • possible ibl dependencies d d i to t model d l by b d data t structure t t – data dependency – control dependency resource conflicts – ____________________ (caused by implementation) • important models – data flow graph (DFG) – control flow graph (CFG) – system modelling graphs (later) Hardware/Software Codesign I Wintersemester 2010/11 02-21 Data Flow Graph (DFG) Professur Technische Informatik Prof. Dr. Wolfram Hardt • shows data dependencies between calculation or memory units (functions, variables, ALUs, …) • directed edge, edge if a producer-consumer producer consumer relation between two nodes x = 3*a + b*b – c; y = a + b*x; z = b – cc*(a (a + b); Wintersemester 2010/11 Hardware/Software Codesign I 02-22 11 Control Flow Graph (CFG) Professur Technische Informatik Prof. Dr. Wolfram Hardt • models control paths of algorithms • directed graph with one start and one end node foo { read(a,b); done = false; repeat { if (a > b) a = a – b; else if (b > a) b = b – a; else done = true; } until done; write(a); } start instructions read(a,b) done = FALSE branch a > b a = a-b b > a b = b-a true false done = TRUE done != TRUE write(a) end Wintersemester 2010/11 Hardware/Software Codesign I 02-23 Contents Professur Technische Informatik Prof. Dr. Wolfram Hardt • HW/SW Codesign C d i Process P • Design Abstraction and Views • Synthesis • Control/Data-Flow Control/Data Flow Models • System Synthesis Models Wintersemester 2010/11 CO Hardware/Software Codesign I mplex ncurrent rrect ordinated DESIGN 02-24 12 Models for System Synthesis Professur Technische Informatik Prof. Dr. Wolfram Hardt • problem graph – nodes: nodes – edges: ffunctional nctional and communication comm nication objects dependencies • architecture graph – nodes: – edges: functional and communication resources directed communication paths • specification graph possible mapping – problem graph + architecture graph + ___________________ Hardware/Software Codesign I Wintersemester 2010/11 02-25 Problem Graph Professur Technische Informatik Prof. Dr. Wolfram Hardt 1 2 1 2 5 3 3 6 7 4 DFG Wintersemester 2010/11 communication nodes 4 problem graph Hardware/Software Codesign I 02-26 13 Architecture Graph Professur Technische Informatik Prof. Dr. Wolfram Hardt architecture architecture graph RISC RISC bus bus FPGA1 FPGA1 FPGA2 P2P point-to-point link communication resources FPGA2 Hardware/Software Codesign I Wintersemester 2010/11 02-27 Specification Graph Professur Technische Informatik Prof. Dr. Wolfram Hardt weighting (different scenarios) 1 2 10 | 7 | 100 RISC 1|1|5 5 3 6 5 | 3 | 100 bus FPGA1 P2P 7 FPGA2 4 problem graph possible mapping architecture graph specification graph Wintersemester 2010/11 Hardware/Software Codesign I 02-28 14 Example Professur Technische Informatik Prof. Dr. Wolfram Hardt • HW/SW partitioning (__________________) bi-partitioning HW HW bus bus processor processor architecture architecture graph only two blocks (HW and SW) Wintersemester 2010/11 Hardware/Software Codesign I 02-29 15