Engineering of Computer-Based Systems
Catalog Data: 

Graduate Course Information


ECE 576 - Engineering of Computer-Based Systems

Credits: 3.00

Course Website:

UA Catalog Description:

Course Assessment:

Homework:  4-5 assignments

Project:  1 Project

Exams:  2 Exams, 4-5 Quizzes

Grading Policy:

Typically: 25% Exams

                  40% Project

                  25% Homework

                  5% Paper Presentation and Participation

                  5% Quizzes

Letter grades will be assigned using a strict 10% scale: 90% and above corresponds to an A, 80% and above to a B, 70% and above to a C, 60% and above to a D, and less than 60% to an E.

Course Summary:

The focus of this course is to provide students with the methods and techniques for supporting engineering design of complex, computer based systems with a focus on Electronic System Level (ESL) design. The coverage of ESL design will highlight the methods and challenges in developing embedded systems that require the tight integration of hardware and software components. In other words, the course will provide an under the hood look into how embedded systems (e.g. your smartphone, vehicle electronics) work.


The course covers many aspects of embedded systems design, from system-level modeling to dynamic runtime optimizations to a brief overview of real-time software systems. The course also includes a in-depth discussion of the simulation and modeling aspects behind SystemC and transaction-level modeling (TLM), providing a detailed look into delta cycle simulation methods (similar to simulations methods used for Verilog and VHDL simulators).

Graduate Standing

Optional Text: David Black, Jack Donovan, Bill Bunton, Anna Keist. “SystemC: From the Ground Up”, Second Edition, 2009.

Course Topics: 

1.     Complex System Design

a.     Design methodology and techniques

b.    System-level behavioral modeling

c.     Transaction level modeling using SystemC

d.    Real-time systems

2.     Design Synthesis and Integration

a.     Design space exploration

b.    Model refinement

c.     Hardware/software partitioning

d.    System-level communication/coprocessor interfacing

3.     Performance Evaluation

a.     Simulation-based performance evaluation

b.    - Runtime performance evaluation

c.     - Profiling techniques

4.     Dynamic Optimizations

a.      Runtime reconfiguration

b.     Dynamic software optimization

c.     Dynamic voltage scaling

Class/Laboratory Schedule: 

Lecture:  150 minutes/week

Prepared by: 
Roman Lysecky
Prepared Date: 
April 2013

University of Arizona College of Engineering