Steven Engel: Engineering Portfolio
Digital Logic Design Table of Contents
Course Description
NOR Half-Adder
NCAA Basketball Shot Clock
Lessons Learned
​
Undergraduate Table of Contents
Main Table of Contents

Digital Logic Design
Fall 2021, Dr. Khorbotly
Course Description:
As the name implies, this course taught digital logic design, with a combination of lectures, formal laboratories with partners, and design projects which were completed individually. In this course, boolean algebra, karnaugh mapping, various applications of logic gates (AOI, NAND, NOR, etc.), sequential systems analysis and design, the use of OrCad/PSpice circuit simulation software, physical breadboarding, and Quartus/Altera FPGA Programming to implement simulated circuits were learned. While I already had a similar course teaching the basics of digital electronics in High School, this course had more rigorous standards, and I pursued independent understanding of the material on a deeper level.
Design Project: Half-Adder Using Only NOR Gates
One of the first projects was to design a half-adder with 2 inputs (X and Y) and 2 outputs (Sum and Carry-out, labeled SUM and COUT). First, a truth table was devised: it was found that for a half-adder, SUM was asserted when either X or Y (but not both) were asserted. This is what is known as an exclusive OR. Additionally, COUT was asserted when both X and Y were asserted, or the logical equivalent of an AND gate. The circuit was first implemented on paper using AOI logic, and was then converted to NOR gates. This design was simplified by removing double inverters, yielding a functioning circuit which uses only 5 NOR gates:
​

Physical Implementation
Once the design was verified in simulation to produce the correct output conditions for each set of input conditions, it was prototyped using a physical breadboard and NOR ICs. Care was taken to keep track of where wires were coming from and going to. The design functioned as intended, with the SUM LED lighting up when either X or Y were asserted and the COUT LED lighting up when both X and Y were asserted.

Design Project: NCAA Basketball Shot Clock
One of the final projects in this class was the NCAA basketball "Shot Clock": the shot clock was to be a sequential system with two seven-segment displays, counting down from 30 to 0. Additionally, the circuit design was required to directly employ flip flops, have an input that would reset the clock to 30, have another input that would pause the counting, and have a "lights/buzzer" output symbolizing when the lights and buzzer should go off in an actual basketball stadium (when the count reaches zero).
​
In order to design this circuit, a concept was created on paper and first implemented on falstad.com/circuit, a website which allows one to quickly build, debug, and test a circuit's raw functionality (without access to more advanced graphical output waveforms and the ability to translate a circuit to VHDL and upload to a FPGA board). By utilizing the parallel loading capability of D flip flops alongside the specified user inputs and 2-1 multiplexers, as well as 7-segment display decoders, the circuit was verified to function successfully (using falstad.com/circuit). The circuit was then implemented in Altera Quartus, a circuit CAD program which also has the capability of simulating circuits and translating schematics to VHDL code which can be uploaded to FPGA boards.
​

Design Project: NCAA Basketball Shot Clock
In Quartus, the circuit was then simulated to test again for functionality (and to provide waveforms verifying the circuit's function). The waveforms shown below were produced. As can be seen, the circuit functioned as intended, with the Reset_to_30 input successfully holding or resetting the tens digit to 3 and the ones digit to 0 (30), the pause_bar input successfully stopping the counting when deasserted, the clock decreasing by one with each rising edge, and the lights and buzzer going off when zero is reached.
​
Finally, Quartus was used to convert the schematic above to VHDL and program an Altera DE2-115 Development and Education (FPGA) Board. The same results were observed on the physical board as shown in the waveforms below.
​

Lessons Learned
Some important lessons were learned in these design projects, as well as others in this course. They are listed below:
Teamwork provides critical advantages in radically improving debugging capabilities, correcting design flaws, innovating on previous design iterations, among others. There are tangible benefits to working well with a team; this is why engineers work in teams and form firms, companies, and corporations in the real world.
Circuit CAD softwares, such as OrCAD PSpice and Altera Quartus, as helpful and advanced as they can be, are not flawless; it is important to save frequently and (especially if creating alternate designs) use version control.
Different CAD softwares are better suited to different tasks. Live online sites like falstad.com/circuit are useful for rapidly developing and instantaneously debugging a circuit concept, while OrCAD/PSpice is useful for finding large libraries of real components and conducting advanced waveform simulations, and Altera Quartus is useful for uploading circuits to FPGA boards in the form of VHDL code. As always, it is important for an engineer to identify the right tools for any job in order to complete tasks in a time efficient manner.
Independent, out-of-the-box thought and creativity are as critical for engineering as the subject matter taught directly in lectures. New innovations and methods have the potential to save time or be efficient in other ways for the final design.
​