Overview of design techniques for VLSI systems. Overview of resources to support the design. The methodology of concurrent design of hardware and software. Design of systems-on-chip (SoC). SoC architecture, accelerator-processors. Soft, firm and hard core. Application-specific (ASIC) and reconfigurable processors (FPGA). Virtual components. Buses.
A hierarchical bus and bus-bridge. AMBA, Core Connect. Network on chip. Clocks and synchronization. The complex architecture. Designing for low power consumption. Validation, simulation, prototyping and emulation. Testing, simulation of errors, inserting errors, formal verification.