I.
PURPOSE
The purpose of this experiment was to provide a more in-depth implementation of
the hardware description language VHDL, as well as the program Xilinx ISE. This
experiment also provided an opportunity to demonstrate further skill in traversing the
process from a functional specification all the way to a circuit that performs the
desired task.
I.
INTRODUCTION
It is very common for engineers to be assigned a task, such as the one in this lab,
which was to design two full-adder circuits and implement them by cascading them
together with the end objective of adding two two-bit numbers. The process through
which an engineer must travel is fairly intensive, and involves several steps. The first
step requires the designing of a truth table. Since the engineer will probably be given
at least a good idea of how many inputs the circuit will need, they can easily calculate
the number of possible combinations for such a truth table by using the formula
which states that the number of rows in a truth table is equal to 2
N
, where N is the
number of inputs. With some specifications, there will only be one column of outputs,
which makes the rest of the process very trivial. However, in most cases, there will be
more than one column, which greatly increases the amount of time needed to deduce
an answer, and increases the likelihood of making an error and not noticing.
After creating an accurate truth table, each column of outputs is considered its
own function. Here, it is obvious why tables with one output column make life much
simpler. For each output column, the function can be written in canonical form very
easily by looking at the truth table. This only requires looking at where the function
produces an output of “1” and writing the number of the corresponding minterm in
sum-of-products form.
From the SOP canonical forms of these functions, it is easy to create K-Maps, one
for each function, in an attempt to minimize the functions. Again, there is a formula
relating the number of squares required for the K-Map and the number of input
variables. Again, this relationship is 2
N
, where N is the same as in the previous
formula, the number of variables. After the K-Map is filled in, largest groups of “1” ‘s