Exploratie van de ontwerpruimte 2. De Hardware/software-grens Exploratietools Prof. dr. ir. Dirk Stroobandt Academiejaar
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Inhoud (deel 1) Inleiding over Ingebedde systemen, System-on-Chip en Platform- gebaseerd ontwerp Systeemspecificatietechnieken Exploratie van de ontwerpruimte –Prestatiematen –De hardware/software-grens Raamwerk voor architectuurexploratie Hoogniveautransformaties Hardware/software-partitionering Exploratietools –Prototypes, emulatie en simulatie
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Parameters in HW/SW-partitionering Het systeemmodel –CDFG, FSM, Petri Nets, Structurele grafen –Granulariteit (ruw / fijn) De kostfunctie die de partitionering stuurt –« kwaliteit » gebaseerd op fabricatiekost, prestaties en het voldoen aan de beperkingen –Gebaseerd op schattingen Specifieke architectuur gekozen om het systeem te implementeren Type van toepassing
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Parameters in HW/SW-partitionering Het systeemmodel De kostfunctie die de partitionering stuurt Specifieke architectuur gekozen om het systeem te implementeren –Aantal en type van beschikbare componenten –Meestal processor + dedicated hardware –Dikwijls op voorhand vastgelegd (geen exploratie!) Type van toepassing –Data- en controlegeoriënteerde systemen –Alle systemen zijn toepassingsgericht
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Actual design flows and tools
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Comprises allocation (selecting components from a library), partitioning (mapping of parts of the system specification onto the components) & scheduling (serialization of execution). SpecC
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen SpecC abstract busses replaced by actual wires in a series of refinements
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen SpecC Compilers are used to generate binary machine code and hardware synthesis tools are used to generate custom hardware.
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen An actual example Getting started with the SCE window Copyright © 2002 by Center of Embedded Computing Systems (CECS), UC Irvine
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Browsing the specification Copyright © 2002 by Center of Embedded Computing Systems (CECS), UC Irvine
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen An actual example - Validation by simulation - Copyright © 2002 by Center of Embedded Computing Systems (CECS), UC Irvine
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Analyze profiling results Copyright © 2002 by Center of Embedded Computing Systems (CECS), UC Irvine
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen PE selection Copyright © 2002 by Center of Embedded Computing Systems (CECS), UC Irvine
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen The top level behavior is mapped to the DSP Copyright © 2002 by Center of Embedded Computing Systems (CECS), UC Irvine
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Estimate the performance (too slow) Copyright © 2002 by Center of Embedded Computing Systems (CECS), UC Irvine
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Selecting additional custom HW including datapath and controller Copyright © 2002 by Center of Embedded Computing Systems (CECS), UC Irvine
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Binding „codebook“ to the custom datapath Copyright © 2002 by Center of Embedded Computing Systems (CECS), UC Irvine
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Execution time of the DSP Copyright © 2002 by Center of Embedded Computing Systems (CECS), UC Irvine
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Execution time for hardware Assuming that sec is acceptable Copyright © 2002 by Center of Embedded Computing Systems (CECS), UC Irvine
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Cosynthesis for embedded micro- architectures (COSYMA) Ernst et al., Univ. Braunschweig
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Cosynthesis for embedded micro- architectures (COSYMA) C + process header Based on SUIF Simulation + analytical 1 process or integrated in part. Granularity=basic block One of the first co- design environments Software oriented
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Vulcan Developed at Stanford (Gupta, de Micheli) Hardware-oriented approach System model based on a set of flow graphs (CDFG) with communication –Within flow graphs: shared memory –Between flow graphs: message passing Cost function based on –Timing constraints –Processor and bus utilization –HW area –memory size
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen POLIS Aimed at control-dominated embedded systems Unified system representation = CFSM Input: Languages with FSM semantics –Esterel, Esterel-C, synthesizable HDL
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen POLIS (cont.) Analysis: –Formal verification (VIS) –System simulation (Ptolemy, VHDL) Abstract timing model of architectures Trade-off in mapping System design with user input Automatic synthesis –SW, HW, Interface and OS Event-based with zero-delay hypothesis
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen POLIS (cont.)
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen POLIS (cont.)
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Ptolemy II Ptolemy II supports specifications using different models of computation. In particular, it supports: 1.Communicating sequential processes (CSP). 2.Continuous time (CT): appropriate for ME, analog circuits. Supported by extensible differential equation solvers. 3.Discrete event model (DE): model used by many (e.g. VHDL) simulators. 4.Distributed discrete events (DDE). 5.Finite state machines (FSM). 6.Process networks (PN), using Kahn process networks 7.Synchronous dataflow (SDF) 8.Synchronous/reactive (SR) MoC. Discrete time, signals do not need to have a value at every clock tick. Esterel used.
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Ptolemy II Source … u/ptolemyII/ptII3.0/ptII3.0.2/doc/i ndex.htmhttp://ptolemy.eecs.berkeley.ed u/ptolemyII/ptII3.0/ptII3.0.2/doc/i ndex.htm Show Ptolemy II
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Metropolis New framework developed at Berkeley and several other institutions and companies (GSRC effort) Recently released (2004) Framework for modelling General methodology –Functional decomposition –Behavior adaptation (for connected functions) –Media wrapper insertion –Communication refinement (channel adapters) –Mapping (into architecture of components) and optimization
Dirk Stroobandt: Ontwerpmethodologie van Complexe Systemen Metropolis (cont.)