The what/why/how of ICs, FPGAs, and ASIC Flow, MOS Transistors, CMOS Logic, CMOS Process. Verilog and basic digital design principles. Data paths, adders, multipliers, memory, embedded-processors, IPs. Behavioral design specification, system partitioning, register-transfer design, hardware description languages (Verilog, VHDL), pipelining, parallelism, resource sharing, hand shaking, design verification, and simulation, high level verification languages, code coverage, high-level synthesis, FPGA prototyping, gate-level timing, test generation, design for testability. Laboratory exercises, one Term Project.