Winter-Spring 2001Codesign of Embedded Systems1 Essential Issues in Codesign: Models Part of HW/SW Codesign of Embedded Systems Course (CE )
Winter-Spring 2001Codesign of Embedded Systems2 Today programme Essential issues in codesign Models Architectures Languages
Winter-Spring 2001Codesign of Embedded Systems3 Models Model should be Formal => avoid ambiguity Complete => can describe entire system Comprehensible and easy-to-modify Model vs. Language We use a model to decompose a system into pieces (Model implies a way of thinking) We generate a specification by describing these pieces in a particular language (Language is a tool for description)
Winter-Spring 2001Codesign of Embedded Systems4 Models: Finite-State Machines (FSM) A set of states and a set of transitions between them Most popular model for control systems Formal definition Depending on output function (h) Mealy machine / Moore machine
Winter-Spring 2001Codesign of Embedded Systems5 Models: Dataflow Graph (DFG) Most popular model for computation-intensive systems Its basic principles Asynchrony: all operations execute when and only when all its operands are available Functionality: operations are functions with no side-effects => execution order is not important Formal definition
Winter-Spring 2001Codesign of Embedded Systems6 Models: FSM with Datapath (FSMD) Both control and computation are required in most systems FSMD is a combination of FSM and DFG models Formal definition f = {f C,f D } h= {h C,h D }
Winter-Spring 2001Codesign of Embedded Systems7 Models: FSM with Datapath (cont’d) Neither FSM nor FSMD are suitable for complex systems Concurrency Explosion in states Hierarchy Explosion in arcs
Winter-Spring 2001Codesign of Embedded Systems8 Models: Hierarchical Concurrent FSMs Extension of FSM, supporting concurrency and hierarchy Like FSM: sets of states and transitions Unlike FSM: each state can consist of concurrent substates Transitions can be structured or unstructured An example language: Statecharts
Winter-Spring 2001Codesign of Embedded Systems9 Models: Programming Languages Heterogeneous model support data, and control modeling Major PL types Imperative (C, Pascal) Control-driven model of execution Declarative Demand-driven / Pattern-driven model of execution
Winter-Spring 2001Codesign of Embedded Systems10 Models: Programming Lang. (cont’d) Declarative languages No explicit order of execution Focus on defining target of the computation through a set of functions of logic rules Imperative Languages Variety of data-structures Support hierarchy (functions of procedures) Support control-flow Well-suited for modeling an algorithm
Winter-Spring 2001Codesign of Embedded Systems11 Models: Programming Lang. (cont’d) Main disadvantage Do not explicitly model system states
Winter-Spring 2001Codesign of Embedded Systems12 Models: Program-State Machines Combination of HCFSM with PL Consists of a hierarchy of Program-states Program-states Leaf / composite program-states Composite program-state concurrent / sequential program-substates Sequential program-substates Transition-on-Completion (TOC) arc / Transition- immediately (TI) arc
Winter-Spring 2001Codesign of Embedded Systems13 What we learned today We use Models to decompose systems into pieces, then use Languages to generate a specification of those pieces. FSM, DFG, FSMD, HCFSM, PL, PSM,...
Winter-Spring 2001Codesign of Embedded Systems14 Complementary notes: Extra classes “Compiler Design Short Course” by Gh. Jaberi-Pur Date-Time: Thursday, Esfand 18th, 9-12 o’clock Place: “HW Synthesis Techniques Seminar” by S. Safari Date-Time: Saturday, Esfand 20th, 13-14:30 Place “HW design using Renoir TM workshop” by A. Ganjei Date-Time: Place:
Winter-Spring 2001Codesign of Embedded Systems15 Complementary notes (cont’d) Assignment 1.c becomes optional Course webpage is ready Subscribe to course mailing list Send an from your desired address to containing: subscribe ce226list Project Choose and announce your partner for the final project