This course introduces the concept of design with embedded components. Embedded processors, IP cores, and bus structures are discussed here. Embedded processor architectures, architectures for arithmetic processors, I/O interfacing modules, memory interfacing, and architectures related to busses and switch fabrics for putting a complete embedded system are discussed here. Topics include RT level design, arithmetic processors, ISA, CPU structure and function, addressing modes, instruction formats, memory system organization, memory mapping and hierarchies, concepts of cache, standard local buses, IO devices, pipelining, memory management, embedded processors, embedded environments, bus and switch fabrics, and embedded system implementation. An example embedded design environment including its configurable cores and processors and its bus structure will be presented in details. The course also includes a number of design projects, including design and simulation of an embedded processor, design of an arithmetic core, and design of a complete embedded system.
Prerequisites
Familiarity with C programming, Undergraduate knowledge of basic logic design concepts, familiarity with a hardware description language). Note: For students not having the necessary background, online videos will be made available to cover the prerequisites.