Introduction to complex digital system design
Review of microelectronics technology. VLSI design flow. Examples. Design styles, ASIC design. Intrinsic limitations of design tools. Review of some advanced system architectures. Synthesis of digital circuits: steps, formalisms. High-level synthesis. Sequential synthesis. Multi-level combinational synthesis. Synthesis tools.
Languages for digital system description
VHDL: review and advanced coverage. Examples of digital systems on VHDL. High complexity digital systems: review of C and C++ languages. The SystemC class library. Description of digital systems by means of SystemC.
Digital system architectures.
Review on architectures: instruction sets, pielining. Memory, virtual memory, caching. Input/output and peripherals. Parallelizing. Case studies: ARM embedded processor. Operating system structures. Case studies: Android, Linux.
Hardware-software codesign
Basic concepts. Tagged Signal Model (hints). Cosimulation: concepts and examples. Systems for the description of digital architectures: the PtolemyII system.