Digital Logic Tutorial: A Road Map

Digital logic circuits are the building blocks for constructing computers and other data processing devices.  In this and subsequent postings, a tutorial of digital logic from basic principals to advanced design will be covered.  An important aspect of this will include  simulation of the logic circuits using a hardware description language, VHDL.  The basic function of logic circuits will be presented and the design techniques will be presented.  The pace of postings, and their respective breadth & depth will vary depending on how much time I have and your feedback & encouragement.

Prerequisites

I will assume that you have a basic understanding of the math prerequisites for precalculus.  This ideally means you have completed high school geometry and a second high school course in algebra. Further, I assume that you have had at least one programming class using any higher level language.  In my opinion, learning to code is like learning to ride a bicycle.  If you really learn how to ride a bicycle, then you are able to ride any bicycle.  I believe the same holds true in programming where if you really learn how to code, and not spend your time cutting and pasting from Stack Exchange in the hopes of getting your program to work, you are fine.  In addition, I will assume that you have the ability to install and manage a handful of special purpose software packages on your computer.  Open source software solutions will be suggested, but commercial platforms are also suitable.

Outline

Here is an outline of the topics that I expect to include. The topics included are not unlike what you might expect to find in a textbook on digital logic design.  The treatment of the topics will be tutorial in nature.  In order to keep individual postings of a more reasonable size, the specific topics are narrowly focused.  While an ordering is provided below, in some cases the topics may be followed in a different order.  The topics build on one & other with the prerequisite topics for a given topic listed.  As these different topics are posted, links will be inserted.

  1. Binary information
    1. Information: Bits
    2. Powers of Two
    3. Bytes, words
    4. Binary Codes
      1. ASCII Codes
      2. Gray Codes
      3. Parity Codes
    5. Binary Number Representations
      1. Unsigned Number Representation
      2. Converting Between Different Number Bases
      3. Sign-Magnitude Number Representation
      4. One’s Complement Number Representation
      5. Two’s Complement Number Representation
      6. Excess Number Representation
      7. Floating Point Numbers
    6. Binary Arithmetic
  2. Boolean Functions
    1. Boolean Operators: AND, OR, NOT
    2. Boolean Expressions
    3. Introduction to Boolean functions
    4. Truth Tables (Prerequisites: 2.C)
  3. Algebra
    1. Introduction to Boolean Algebra
    2. Why is Boolean Algebra important?
    3. Boolean Algebra Assumptions
    4. Deriving Boolean Expressions
    5. Boolean Theorems
  4. Combinational Circuits
    1. Logic gates (Prerequisites: 2.A, 2.D)
    2. Relationship between Boolean operators and logic gates (Prerequisites: 2.A, 4.A)
    3. Building logic functions using logic gates (Prerequisites: 2.B, 4.B)
    4. Universal Logic Modules (ULMs)
      1. Look-Up Tables (LUTs) (Prerequisites: 2.B, 2.D)
      2. Multiplexer Logic
      3. Decoder Logic
    5. Building logic functions using look-up tables (LUTs) (Prerequisites: 2.B, 2.D, 4.C)
  5. Realistic Properties of Logic Gates
    1. Propagation Delays
    2. Hazards
    3. Signal Voltage Levels
    4. Noise Margins
  6. Sequential Circuits
  7. Combinational Modules
  8. Sequential Modules
  9. Introduction to the VHDL Hardware Description Language

Thank you for reading this far.  Let’s start at the beginning with Binary Information.

About me.

Please provide your feedback in the form below.

← Back

Thank you for your response. ✨

© 2016 AMRAP Software, LLC.