UCR CS269: Hardware/Software Engineering of Embedded Systems
Professor Frank Vahid, Fall 1998
First, some interesting data -- Last year, about 100 million processors were
sold for use in desktop computers (mostly PC's), while over 3 BILLION
processors were sold for embedded computing applications.
An embedded system is a computing system designed to execute a specific
task within a larger electronic device. Examples are found in
cellular telephones, pagers, personal digital assistants, camcorders,
digital cameras, home security systems, automotive electronics,
thermostats, robots, office automation, and so on. Soon they'll be
found in almost anything that runs on electricity. By the year
2000, it's expected that the average car will have over $2000 worth of
embedded computers, the average American home will have 240 embedded
computers, and the embedded system market will exceed $60 billion dollars.
(Dollarwise, the embedded and desktop markets are about the same,
since embedded computers cost only a few to tens of dollars -- you
can't put a $200 processor inside a pager!).
Designers of embedded systems will likely be in high demand. But
who knows how to build such systems? Such systems used to be the
domain of hardware designers. But today, most embedded systems
also include software processors. Thus, the embedded system designer
must be experienced in both software and hardware design, as well as
in embedded applications. In addition, because an embedded system
usually executes just one program during its lifetime (unlike desktop
computers that execute thousands of programs), the designer must be
familiar with optimization techniques to perform the specific program
using the least size, power, and time.
Note: All dates below are tentative
Embedded systems introduction
9/29 and 10/1, Introduction. Presenter: Frank Vahid
Textbook, Chapters 1 and 2.
Specification and Design of Embedded Hardware/Software Systems
Gajski/Vahid, IEEE Design and Test of Computers, 12:1,
pp 53-67, 1995
Specification models and languages
Textbook, Chapters 3, 4 and 5.
10/6, CSP. Presenter: Jason
CSP -- Communicating Sequential Processes (hardcopy), Hoare,
Communications of the ACM, 21:8, pp 666-677, 1978.
Online CSP info.
(Original source)
(Optional:
More CSP papers)
10/8, State machines. Presenter: ???
Textbook chapters 3, 4, and 5.
State machines -- Statecharts: A Visual Formalism for Complex
Systems (hardcopy), Harel et al,
Science of Computer Programming 8, Pages 231-274, 1987.
FSM interactive applet
SpecCharts journal paper (TCAD95)
SpecCharts Editor from UC Berkeley (part of WELD project)
Go to: DAC'97 demo materials, Application demonstrations
10/13, SDF. Presenter -- Lifei Tan
Textbook chapter 3.
Synchronous Data Flow, from the online Ptolemy User's Guide.
Alternative link for the online Ptolemy User's Guide.
SDF scheduling paper.
Paper on scheduling SDF onto multiple processors
10/15, HDL's. Presenter -- Frank Vahid
Textbook chapters 3, 4 and 5.
Online VHDL tutorial
Online VHDL textbook
Design tools and aids
10/20 System level. Presenter: Jun Guo
Ptolemy technical report
Ptolemy journal paper
Ptolemy User's Guide
10/22 System level. Presenter: Frank Vahid
Textbook: Chapter 6, 7.
SpecSyn journal paper (TVLSI97)
Online course on SpecSyn
10/27 Behavioral synthesis. Presenter: Jason Villarreal
Recent Developments in High-Level Synthesis, Lin,
Todaes, Vol 2, No 1,
10/29 Low power. Presenter: DAC CD-ROM's
11/3 FSM synthesis. Presenter: Barnett Hsu
Chapter 9 of
Katz' Combination Logic Design book
T. Villa and A. Sangiovanni-Vincentelli's paper "NOVA: State Assignment of Finite
State Machines for Optimal Two-Level Logic Implementations," given at the 26th Design Automation Conference, Miami, FL (June
1989).
11/5 Logic synthesis. Presenter: Jun Guo
Logic synthesis overview
pdf 
ps
Logic synthesis in ASIC design
pdf 
ps
11/10 SpecSyn demo. Presenter: Frank Vahid
11/12 VLSI. Presenter: Lifei Tan
Tutorials on IC design Do the one called:
"Introduction to VLSI Tutorial"
11/17 Networking Seminar, Dr. Leon-Garcia
11/19 Bus optimization / Functional Partitioning. Presenter: Tony Givargis
Embedded applications
11/24 Fuzzy logic. Presenter: Barnett Hsu
FAQ: Fuzzy Logic and Fuzzy Expert Systems
Aptronix, Inc. (Fuzzy Logic Software)
Fuzzy Logic Furnace Demo
Fuzzy Logic Shower Challenge (demo)
Fuzzy Truck Simulator
A Graphical Introduction to Fuzzy Logic
Inverted pendulum example (Java applet)
Intellectual property
12/1 Intellectual Property / Cores. Presenter: ??
Virtual Socket Interface Alliance Architecture Document
   Look for the Specifications --> Architecture Document.
Don't read the whole thing, but rather just the first two
chapters.
System-on-a-chip (IBM), IEEE Design
and Test, 1997
Test and verification
12/3 Cosimulation. Presenter: ??
NATO paper
Ptolemy paper
Also on 12/3 GPS. Presenter: Jun Guo
GPS Overview Paper
Links
That's how far we got.
Optimization techniques
Simulated annealing, min-cut, tabu search. Presenter: ??
Ch6 in textbook.
Simulated annealing, tabu search, genetic evolution
ISSS96 paper on sim. ann. and tabu search
Demo in lab?: Simulated annealing, and Integer Linear Programs (ILP)
Embedded applications
MPEG/ATM. Presenter: ??
ATM intro
MPEG faq
Miscellaneous
JTAG/BIST.
D&T Article on Testing
IEEE Computer tutorial article on test
Online slides from RAASP (Make sure to see the graphical version)
Brief description of MOS transistors
Petri Nets
Petri Net simulator
The STATEMATE Semantics of Statecharts, Harel/Naamad,
ACM Trans. on Soft. Eng. Method., 5:4, Oct 1996
Brief intro to object-oriented programming
Topics we might cover depending on time and interest:
Java
Back to Frank Vahid's home page