The course uses a series of hands-on design projects to illustrate and reinforce concepts presented in readings and lectures. Each project includes background reading material, homework problems, one or more design projects, and tutorials to introduce new tool features. The projects include required design tasks that reinforce core concepts, as well as optional design challenges that stretch beyond the basics.
The Xilinx Vivado tool is used for design capture, simulation, and syntheses, and the Boolean is used for implementation and verification. The Boolean includes everything needed to support a wide range of challenging designs. With only a PC and a Boolean, students can work at their own pace, and at a time and place of their choosing.
At the end of each week, students present their completed projects to an instructor or assistant. During the presentation, the instructor can ask questions to gauge comprehension, discuss design trade-offs, and provide feedback and guidance as appropriate. Submission forms are provided for recording and submitting scores.
By the end of the course, students are able to design, simulate and implement combinational and sequential logic circuits using behavioral and/or structural Verilog.
We welcome corrections, suggestions, and ideas for new design projects. Please send any comments to firstname.lastname@example.org.
A First Project for the Boolean Board
Fundamental concepts including basic definitions of voltage, current, ohms law, and other topics related to digital circuit design; design tools and technologies overview.
Basic Logic Circuits
Digital circuits and related terminology, design abstractions and design methods, implementation technologies, and digital system descriptions.
Combinational Logic Circuits
Combinational logic circuits: definitions, representations, and minimization methods
Basic Combinational Building Blocks
Combinational building blocks: Multiplexors, Decoders, Shifters, and Encoders
Structural Verilog for Combinational Circuits
Structural Verilog for combinational circuits
Delays in Logic Circuits
Changes to logic gate input signals ('0' to '1' or '1' to '0') can only cause logic gate outputs to change after some amount of time has passed. This module examines the effects of that time delay.
Flip-flops and latches
Fundamental electronic memory circuit design and application
Counter, Clock Dividers, and the 7-segment Display
Sequential components including counters and registers, and their applications
Adders, Multipliers, and Comparators
Arithmetic circuits like adders, subtractors, and multipliers are essential to computing circuits. This module presents the design and application or arithmetic circuits.
Arithmetic and Logic Unit (ALU)
A Simple ALU
Introduction to State Machines
An introduction to state machines and sequential circuits, featuring the design of a stopwatch
The Design of a Simple Digital System
Fundamentals of digital system design