Skip to the content.

Welcome to the Northeastern University, Department of ECE, EECE7368 Course Page

System complexities are growing exponentially driven by ever increasing application demands and technological advances that allow us to put complete multi-processor systems on a chip (MPSoCs). System-level design that jointly covers hardware and software is one approach to address the associated complexities in the design process and the market pressures. This course presents state-of-the-art methods, tools and techniques for system-level design and modeling of complete multi-processor systems from specification down to implementation across hardware-software boundaries. Using the SystemC language and an integrated processor simulator (QEMU), we will specify, simulate, analyze, model and design hardware-software systems based on examples of typical embedded applications.

The course touches on many design aspects that span both hardware and software. We will use software (e.g. SystemC) to reason about how hardware will perform. We will cross the hardware / software boundary constantly in our discussions. It is intriguing to discover how both share similar aspects how they differ. Making the connections between algorithm / system / software / hardware fosters a solid system-level design understanding and trains the ability to abstract.

Topics

Prerequisites

Textbook

Assignments

The programming assignments in this course mostly focus on C++ / SystemC and are tracked on GitHub Classroom. The programming environment and compilation tools are Linux based (see Guides section below).

This course will include the following type of assignments:

Guides

The Canvas page tracks the official assignments and lists. We use GitHub Classroom for assignments with code aspects. Each Canvas assisgnment will contain the respective links.

Links to additional content:

Processor Manuals

SystemC

Linux References