Guest Lecture
Introduction to System-Level Design
Prof. Brian L. Evans
Embedded Signal
Processing Laboratory
Dept. of Electrical and Computer Engineering
The University of Texas at Austin, Austin, Texas 78712-1084
bevans@ece.utexas.edu
Abstract
An embedded system is a part of a product with which an end
user does not directly interact or control.
Products with embedded systems in them include modems, disk drives,
digital cellular phones, radios, audio CD players, music synthesizers,
video disk players, sonar, radar, confocal microscopes, Magnetic
Resonance Imaging (MRI) medical systems, video telephones, and missiles.
The fundamental problem facing the design of embedded systems
is heterogeneity.
Multiple styles of algorithms (e.g. signal processing, communications, and
controls) are implemented using a variety of technologies (e.g., digital
signal processors, microcontrollers, field-programmable gate arrays,
application-specific integrated circuits, and real-time operating systems).
A common practice in industry is to use a style of specification that biases
the possible implementation technology.
Specifying an algorithm in C or VHDL would bias the implementation
towards compiled code running on a programmable processor or hardware,
respectively.
It is not possible to convert all possible C programs into statically
schedulable VHDL code because C is Turing equivalent, which means that
C programs could have infinite state.
Some specification languages, e.g. imperative programs such as C, force
the designer to make several arbitrary choices about the sequential order
of the subtasks.
An inherent parallelism at a functional level is now hidden, and
many good alternatives may be missed.
By decoupling the specification from implementation and using formal
mathematical models of computation for specification, we gain the ability
to perform fast simulation and efficient synthesis of complex heterogeneous
systems.
We model complex systems as a hierarchical composition of the simpler models
of computation.
Some of these simpler models of computation, such as types of finite
state machines, dataflow models, and synchronous/reactive models, have
finite state.
Because they have finite state, all analyses of the system can be
performed at compile-time.
For example, memory usage and execution time can be determined
without having to run the system.
These models can be overlaid on an implementation technology (such as
C or VHDL).
In the first half of the talk, we will discuss several issues in
system-level design including cosimulation and codesign.
We will survey different models of computation and communication
for control, signal processing, and communications applications.
In the second half of the talk, we will first describe dataflow
modeling.
Then, we will focus on the Synchronous Dataflow model, which can
be statically scheduled.
The Synchronous Dataflow model is determinate: the state of the system
(the set of signals on all of the arcs) is not affected by the scheduling
algorithm.
Using the Synchronous Dataflow, we guarantee at compile time that
a graph (program) is consistent and will not deadlock.
Biography
Brian L. Evans is an Assistant Professor in the
Department of Electrical and
Computer Engineering at
The University of Texas at Austin,
and the Director of the
Embedded Signal
Processing Laboratory within the
Center for Vision and
Image Sciences.
His research interests include
real-time embedded systems; signal, image and video processing systems;
system-level design; symbolic computation; and filter design.
Dr. Evans has published over 50 refereed conference and journal papers
in these fields.
He developed and currently teaches
EE381K
Multidimensional Digital Signal Processing,
EE382C
Embedded Software Systems, and
EE379K
Real-Time Digital Signal Processing Laboratory.
His B.S.E.E.C.S. (1987) degree is from the
Rose-Hulman Institute of Technology,
and his M.S.E.E. (1988) and Ph.D.E.E. (1993) degrees are from the
Georgia Institute of Technology.
From 1993 to 1996, he was a post-doctoral researcher at the
University of California at
Berkeley with the
Ptolemy Project.
Ptolemy is a
research
project and
software
environment focused on design methodology for signal processing,
communications, and controls systems.
In addition to Ptolemy, he has played a key role in the development and
release of six other computer-aided design frameworks, including the
Signals and Systems Pack for Mathematica, which has been on
the market since the Fall of 1995.
He is an Associate Editor of the IEEE Transactions on Image
Processing,
a Senior Member of the IEEE,
and the recipient of a 1997
National
Science Foundation CAREER Award.
Mail comments about this page to
bevans@ece.utexas.edu.