Essential Issues in Codesign: Models Part of HW/SW Codesign of Embedded Systems Course (CE 40-226) Winter-Spring 2001 Codesign of Embedded Systems
Codesign of Embedded Systems Today programme Essential issues in codesign Models Architectures Languages Winter-Spring 2001 Codesign of Embedded Systems
Codesign of Embedded Systems 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 2001 Codesign of Embedded Systems
Models: Finite-State Machines (FSM) A set of states and a set of transitions between them Most popular model for control systems Formal definition <S,I,O,f,h> Depending on output function (h) Mealy machine / Moore machine Winter-Spring 2001 Codesign of Embedded Systems
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 <N,A,V,v0,f> Winter-Spring 2001 Codesign of Embedded Systems
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 <S,I,O,f,h> f = {fC,fD} h= {hC,hD} Winter-Spring 2001 Codesign of Embedded Systems
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 2001 Codesign of Embedded Systems
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 2001 Codesign of Embedded Systems
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 2001 Codesign of Embedded Systems
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 2001 Codesign of Embedded Systems
Models: Programming Lang. (cont’d) Main disadvantage Do not explicitly model system states Winter-Spring 2001 Codesign of Embedded Systems
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 2001 Codesign of Embedded Systems
Codesign of Embedded Systems 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 2001 Codesign of Embedded Systems
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 RenoirTM workshop” by A. Ganjei Date-Time: Winter-Spring 2001 Codesign of Embedded Systems
Complementary notes (cont’d) Assignment 1.c becomes optional Course webpage is ready Subscribe to course mailing list Send an email from your desired email address to majordomo@ce.sharif.edu containing: subscribe ce226list Project Choose and announce your partner for the final project Winter-Spring 2001 Codesign of Embedded Systems