Specification Languages

Part 1: Rudy LauwereinsObiective
The course reviews first the functional and non functional properties of modern embedded systems that have to be specified. Next, an overview of system level specification models is presented with links to the specification languages that make use of the respective models. The models cover control dominated, data processing dominated and data storage dominated applications. They also focus on the different phases in the design flow, from functionality oriented to implementation oriented. In a handson section, an advanced video recorder is modeled that features dynamic task graph modification. Finally, specification models are introduced to implement FSMDs and FSMD synthesis techniques aredetailed.

Contents

Trends in the properties of embedded systems

Five main application areas

Energy production, storage and switching

Health care and life sciences

Telecommunication

Multimedia

Large area electronics

Two underlying process technologies

CMOS scaling

More than Moore technologies

Example 1 of an embedded system design: software defined radio

Example 2 of an embedded system design: ultra low power health care sensor system

System level specification models

Theory

Introduction

Why are they needed?

Properties of a good specification model

Why cannot we use a single model?

Types of models

State oriented models

Finite state machine

Petri net

Hierarchical Concurrent Finite State Machine

Activity oriented models

Data Flow graph

Control Flow graph

Structure oriented models

Component connectivity diagram

Data oriented models

Entity relationship diagram

Jackson´s diagram

Hybrid models

Control data flow graphs

Experimental model: DF*

Hands-on exercise: specify an advanced video recorder

Implementation level specification models – FSMD-FSMDs

Properties

General synthesis design rule

Possible optimisation techniques

FSMD models

State action table

Algorithm state machine chart

Synthesis techniques

Basic principle

Register sharing

Functional unit sharing

Bus sharing

Register port sharing

Part 2: Marc Engels

Overview of the course

This course introduces the basic specification models that are used to describe the functionality of embedded systems. The covered models range from data stream processing, over control and event handling to models targeted at efficient simulation. Next, it discusses how these specification models can be used to make a design flow that refines an initial specification down to an implementation. This will be illustrated with interactive exercises in a C++ design environment.