CPEN
311: Digital Systems Design
Sept-Dec 2019
Instructor: Guy Lemieux
Lectures: TuesThurs 12:30 to 2:00 MCLD228 UBC Calendar link
Labs: MCLD348(Mon), MCLD358(Thu) UBC Calendar link
CPEN311 Canvas Site for handouts and grades
Piazza for discussion board
This is a course on the design of real digital systems. Digital systems lie
at the heart of almost any electronic system including consumer devices,
cell phones, signal processing systems, computers, biomedical devices, etc. In
all of these systems, the "intelligence" of the system is implemented in
digital logic. In this course we will talk about these digital systems, and
will learn how to design them. More specifically, we'll talk about
combinational and sequential logic, datapath design, synchronous and
asynchronous circuits, embedded processors, and other related topics.
Much of the design we will do in this course is based on Verilog Hardware
Description Languages. We will build on what you already learned in CPEN211 to
show how to design and build larger and more complex systems.
To take this course, you must have experience with Verilog. If you only have
experience with VHDL, you will have to do a little bit of extra work to learn
Verilog, but don't worry it's pretty easy. (It's actually a bit easier to go
from VHDL to Verilog than the other way.)
The labs will require a Terasic DE1-SoC FPGA board. You likely have one of
these already from CPEN211. If not, contact the instructor for purchase
information.
Registration Concerns: If you are having problems registering in the
lecture, tutorial, or one of the labs, please email registration@ece.ubc.ca
with the course name and number in the subject line. This will be faster and more reliable
than emailing the instructor directly. If you have questions regarding pre-reqs or
more details on what the course will cover, please contact the instructor.