Introduction

What the course is about:

The course is about digital design. That is the design of circuits used in contemporary digital devices such as computers. Digital devices can be roughly divided between combinational and sequential circuits. Combinational circuits produce an output for some combination of inputs and have no memory of previous states of the circuit. A password recognizer could be built as a combinational circuit. Sequential circuits have memory of previous circuit states (usually just the one preceding state) so that the output depends upon the inputs and the previous state. Examples are a combination lock as a series of password recognizers or a computer CPU.

An important element of digital design is to implement or build the device to test the design. Generally, two approaches are taken in this course. One is the older, graphical method using logic symbols and connections to describe the design and construction for hand wiring of devices. A more recent approach common to industry uses the computer as a tool to develop and test a description of  the design given in a hardware language program of the circuit. The design can then be simulated on the computer and, when verified, can then be stored into a large, general circuit. Both methods are relevant but, because of the time required to hand design and construct circuits in the traditional way and the lack of scalability, computer aided methods will be used almost exclusively.

Design Steps for Combinational Circuits

Standard digital design steps for combinational circuits are listed below for both traditional and current methods. Note that generally, the analysis and design methods are the same. The primary difference being in how the design is constructed (beginning at Step 5), whether wired from discrete devices or programmed into a single, general device.
 
Traditional Current
  1. Informal statement of problem.
  2. Formal statement in form of truth table of circuit inputs and outputs.
  3. Extract Boolean expression from truth table.
  4. Simplify expression using algebraic or mechanical methods (e.g. Karnaugh maps).
  5. Realize simplified expression in corresponding logic gate representation.
  6. Specify real physical devices for each logic gate function, appending pin connections.
  7. Construct real circuit making pin connections between physical devices.
  1. Informal statement of problem.
  2. Formal statement in form of truth table of circuit inputs and outputs.
  3. Extract Boolean expression from truth table.
  4. Simplify expression using algebraic or mechanical methods (e.g. Karnaugh maps).
  5. Specify hardware description language module for logic expression.
  6. Simulate logic expression as operation of hardware circuit for verification.
  7. Program general device with hardware description.
Example - The following example is intended to give some flavor of the course work. Illustrated are the steps used in either method to produce a working design. Note that in both cases the final hardware step has been omitted but similar designs will be completed using both approaches in the course.
 
1. Suppose we are to design a circuit to control a single LIGHT from two switches, A and B. Whenever a single switch is UP the light should be ON, otherwise the LIGHT should be OFF. Another way to look at the problem is: if A and B are in the same position (equal) the light is OFF else the light is ON. 
2. The same switch and light data can be listed in a truth table in several equivalent forms. 
     A    B   |LIGHT      A   B| LIGHT       A   B | LIGHT
     Down Down| OFF       F   F|   F         0   0 | 0
     Down Up  | ON        F   T|   T         0   1 | 1
     Up   Down| ON        T   F|   T         1   0 | 1      
     Up   Up  | OFF       T   T|   F         1   1 | 0
 3. A design solution in the form of a sum of products is extracted directly from the truth table: 

                  LIGHT = A' AND B OR A AND B' 

4. The solution expression, in this case, cannot be simplified but is equivalent to the Exclusive OR of A and B, that is: 

                   LIGHT = A' AND B OR A AND B'  = A XOR B

Traditional Current
5. Realize simplified expression in corresponding logic gate representation. 

 
 
 
 
 

 

5. Hardware description language of  Light Switch 
USE WORK.ALL;
    ENTITY LightSwitch IS
     PORT(A,B    : IN BIT;
          Light  : OUT BIT);
    END LightSwitch;
ARCHITECTURE behavioral OF LightSwitch IS
 BEGIN
  PROCESS (A, B)
  BEGIN
   Light <= (NOT A AND B) OR (A AND NOT B);
  END PROCESS;
 END behavioral;
6. Specify real physical devices for each logic gate function, appending pin connections. 

 
 

 

6. Simulation of Light Switch - A and B are inputs, Light is output. When a wave is high it is true, when low it is false. Note that when A and B are the same, either true or false (both waves high or low) the wave for Light is low of false, so the Light is OFF. 
7. Construct design by wiring discrete devices together.  7. Construct design by programming a device (such as a Field Programmable Gate Array) with the hardware or graphical description.
 



Document last modified: