If you do well in this course, you will be able to:
Number systems
Represent and manipulate information in digital systems
Apply these concepts to perform computer arithmetic
Combinational Logic
Express, simplify, and minimize Boolean functions, using truth tables, Boolean algebra, canonical forms,
and Karnaugh maps, including don’t cares
Utilize technology mapping techniques, such as NAND only
Use decoders and multiplexers to implement a combinational logic function or system
Identify design tradeoffs
Analyze and design combinational logic circuits
Sequential Logic
Explain and analyze the behavior of basic sequential logic elements
Represent sequential systems using finite state machines, including Moore and Mealy
Produce state diagrams, state tables, excitation tables and state equations, including one hot encoding
Use timing diagrams to explain basic sequential circuit timing issues
Analyze and design synchronous sequential logic circuits
Datapath Components
Analyze and design circuits using Datapath components: registers, adders, shifters, comparators, and
counters
Analyze and design multi-function registers and counters
Explain arithmetic logic units (ALUs), registers, and register operations
Explain elementary register transfer level designs
Describe the organization and operation of a basic digital computer
Hardware Description Language (HDL)
Describe the difference between HDL and software
Develop structural and dataflow models of logic circuits
Verify designs using a testbench
Use behavioral models of logic circuits
Map HDL models to logic circuits on field programmable gate arrays (FPGAs)
Introduction to Assembly Language
Explain the hierarchical relationship between transistors, digital logic, and microprocessors
Explain the operation of machine language vis a vis computer architecture
Analyze and revise basic assembly language computer programs using a 5-10 instruction set
Lab Implementation
Implement and debug combinational and sequential logic circuits using standard integrated chips
Implement and debug combinational and sequential logic circuits using HDL and FPGAs
Implement and debug basic systems using introductory level assembly language computer programs
using a limited instruction set