About this course
EECS 4340 is practical course on the art and practice of digital system design. This is a followup course to the basic logic class that bridges the gap between the material learned in intro classes to the knowledge required to create practical, complex real-world digital systems. We will discuss all the relevant steps from design definition to final steps required for manufacturing.
We will cover a hardware description language (SystemVerilog), using commercial synthesis tools and rigorous design testing methods. This is not a circuits course per se, but we will discuss some circuit related issues as necessary. We will also discuss high-speed board design and I/O interfacing.
The centerpiece of this class is a final project that will help you see how engineering skills you have learned can apply to real world problems. Through labs and the final project you will learn to use state-of-the-art commercial languages for hardware design, and sophisticated computer-aided design tools for manufacturing hardware designs. Also for the final project you will be working in groups and this in itself is a valuable experience.
In past offerings students have designed a cryptographic accelerator, on chip networks, on chip memory systems and processor pipelines for their final project. This year we will have a new project (in addition to the old ones). You may have heard of Bitcoin, a new p2p currency. One of the projects will be a bitcoin miner. If your design is able to get higher throughput than state-of-the-art miners (GPUs) --- and this is possible --- we will get your chip fabricated!
The pre-requisites are 3827 and some familiarity with programming. If you don't have any hardware experience (logic design etc.) that is fine as long as you are prepared to learn along the way. Particularly, CS students should not be too worried that is hardware practicum class; there are lots of similarities between hardware and software engineering. Similarly if you are EE student, this class will teach you engineering principles that will help you go from single device/small circuit designers to billion device engineers. If you are not still not sure if this class is for you, feel free to show up to the first lecture or send me an email with your questions (or both!).