chapter (5.2) will be added about few hours later
System programming and Digitan Design
System Programming and digital design archives
Wednesday, February 13, 2013
Thursday, February 7, 2013
Combination Circuit Design, Design Procedure, Code Converter Example (5.1)
Combination Circuit Design
- Design of a combinational circuit is the development of a circuit from a description
of its function.
– “design an excess-123 encoder”
– “provide a circuit that will multiplex one of three
8-bit input buses onto an 8-bit output bus.”
Design Procedure
1. Determine the required number of inputs and outputs and
assign variables to them.
2. Derive the truth table that defines the required
relationship between inputs and outputs.
3. Obtain and simplify the Boolean function.
4. Draw the logic diagram.
5. Verify the correctness of the design.
Code Converter Example
- Design a circuit that converts a binary-coded decimal (BCD) codeword to its corresponding excess-3 codeword.
- If the input is a number n expressed in BCD, the output should be the number n+3 expressed in binary.
- We need 4 input variables (a,b,c,d) and 4 output functions w(a,b,c,d),x(a,b,c,d),y(a,b,c,d),z(a,b,c,d)).
By convention, a and w are the most significant bits of
the input and output, respectively.
- The truth table relating the input and output variables is shown at right.
- Note that the outputs for inputs 1010 through 1111 are don't cares.
The K-maps for w( ), x( ), y( ), and z( ) can be
constructed with don't cares.The simplified Boolean functions derived from the
K-maps are:
– z = d’
– y = cd + c’d’
– x = b’c + b’d + bc’d’
– w = a+bc+bd
Combinational Circuits (5)
- A combinational circuit consists of logic gates whose outputs at any time are determined by the inputs using logic operations.
- For n input variables, there are 2n possible binary input combinations.
- For each binary combination of the input variables, there is one possible binary value
on each output.
- Hence, a combinational circuit can be described by
1. a truth table that lists the
output values for each combination of the input variables, or
2. m Boolean functions,
one for each output variable.
Combinational Circuit Analysis
- Analysis of a combinational circuit is the determination of the Boolean function that
the circuit implements.
- The analysis starts with a given logic circuit diagram and ends with a set of Boolean
functions or (equivalently) a truth table.
Example:
Multilevel NAND Circuits (4.3)
1. Convert all AND gates to NAND gates with AND-NOT
graphic symbols.
2. Convert all OR gates to NAND gates with NOT-OR graphic
symbols.
3. Check all the bubbles in the diagram. For every bubble that is not counteracted by
another bubble along the same line, insert a NOT gate or
complement the input literal
from its original appearance.
Example
- Use NAND gates and NOT gates to implement Z = E’F(AB+C’+D’)+GH
Problem. Implement
the circuit with the truth table
Two-Level NAND Gate Implementation Example (4.2)
- _f(X,Y,Z) = Sm(0,6)
1. Express f in SOP form: f = X’Y’Z’ +XYZ’
2. Obtain the AND-OR implementation for f.
3. Add bubbles and inverters to transform AND-OR to
NAND-NAND gates.
- Two-level implementation with NANDs
Two-Level NOR Gate
Implementation
Example
- f(X,Y,Z) = ПM(0,6)
- 1. Express f’ in SOP form:
1. f’ = Sm(1,2,3,4,5,7)=
X’Y’Z + X’YZ’ + X’YZ + XY’Z’ + XY’Z + XYZ
2. f’ = XY’ + X’Y + Z
2. Take the complement of f’ to get f in the POS form: f =
(f’)' = (X'+Y)(X+Y')Z'
3. Obtain the OR-AND implementation for f.
4. Add bubbles and inverters to transform OR-AND
implementation to NOR-NOR implementation.
- Two-level implementation with NORs
Wednesday, February 6, 2013
Product of Sums Simplification (3.5)
·
Use sum-of-products simplification on the zeros
of the function in the K-map to get f’.
·
Recall that the complement of a boolean function
can be obtained by (1) taking the
dual and (2) complementing each literal. (aka generalized
DeMorgan’s rule).
·
Complement f’ using DeMorgan’s Theorem to get f.
Example
·
Find a simplified product-of-sums expression for
f(a,b,c,d) = M(0,1,7,15).
·
(f(a,b,c,d))’ =a’b’c’ + bcd
·
fdual (a,b,c,d) = (a’+b’+c’)(b+c+d)
·
f(a,b,c,d) = (a+b+c)(b’+c’+d’)
Use of Don't Care Conditions (3.3)
There may be a combination of input values which:
·
will never occur
·
if they do occur, the output is of no concern.
·
The function value for such combinations is called a don't care.
·
They are denoted with a d (or x,
or –). Each d may be arbitrarily assigned the value 0 or
1 in an implementation.
Systematic Procedure for Simplifying Boolean Functions (3.2)
1. Generate all PIs of the function.
2. Include all essential PIs.
3. For remaining minterms not included in the essential
PIs, select a set of other PIs (which
have already been generated earlier) to cover them, with minimal overlap in
the set.
4. The resulting simplified function is the logical OR of
the product terms selected above.
Example
·
f(a,b,c,d) = m(0,1,2,3,4,5,7,14,15).
·
Five grouped terms, not all needed.
·
3 shaded cells covered by only one term
·
3 EPIs, since each shaded cell is covered by a
different term.
·
F(a,b,c,d) = a’c’ + a’d + a’b’ + abc (EPIs
are indicated in bold)
PI a’d must be added to EPIs
(because it covers remaining 1 and is larger than other PI (bcd), which covers
the same 1)
Essential Prime Implicant (3.1)
·
An essential prime implicant of a function
is a prime implicant that contains at
least one minterm not contained in any
other prime implicant.
·
To find essential prime implicants, we first
generate all prime implicants of a function, and then select those prime
implicants that contain at least one 1 that is not covered by any other prime
implicant.
·
For the previous example, the PIs are d’, bc,
and ab’c’; all of these are essential.
Example
·
Consider f2(a,b,c,d), whose K-map is shown at
right.
·
The only essential PI is bd’.
Implicants and Prime Implicants (3)
·
An Implicant of a function is a product
term of the function.
·
A product term is called an implicant,
because whenever it takes the value 1, the function also takes the value 1,
hence the term implies the function’s value.
·
A Prime Implicant of a function is an
implicant of the function not contained (entirely!)
in any “larger” implicant.
Example
·
Consider function f(a,b,c,d) whose K-map is
shown below.
·
c’d’ is not a prime implicant because
c’d’ is contained in d’.
·
bcd is not a prime implicant because bcd
is contained in bc.
·
d’, bc, and ab’c’ are prime implicants.
Subscribe to:
Posts (Atom)