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


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.


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