Lecture 14Today we will Learn how to implement mathematical logical functions using logic gate circuitry, using Sum-of-products formulation NAND-NAND formulation Learn how to simplify implementation using Boolean algebra Karnaugh mapsLogic GatesABC=A·BANDC = ABNANDBA⋅NORABBA+AAORABC=A+B(EXCLUSIVE OR)ABBAC ⊕=NOTXORProperties of Logic Functions These new functions, AND, OR, etc., are mathematical functions just like +, -, sin(), etc. The logic functions are only defined for the domain {0, 1} (logic functions can only have 0 or 1 as inputs). The logic functions have range {0, 1} (logic functions can only have 0 or 1 as outputs) AND acts a lot like multiplication. OR acts a lot like addition. Learn the properties so you can simplify equations!Properties of Logic FunctionsA + 0 = A A • 1 = AA + A = 1 A • A = 0A + A = A A • A = AA + B = B + A A • B = B • AA + (B + C) = (A + B) + C (A • B) • C = A • (B • C)A • (B + C) = A • B + A • C A + B • C = (A + B) • (A + C)A + A • B = A A • (A + B) = ADeMorgan’s Law: A • B = A + BA • B = A + BDe Morgan’s LawA • B = A + BA • B = A + BABBA⋅ABA+BABBA+ABA⋅B==Logical Synthesis Suppose we are given a truth table or Boolean expression defining a mathematical logic function. Is there a method to implement the logical function using basic logic gates? One way that always works is the “sum of products”formulation. It may not always be the best implementation for a particular purpose, but it works.Sum-of-Products Method1. Create a Boolean expression for the function in sum-of-products form. This means represent the function F by groups of ANDed inputs (products) that are then ORed together (sum of products).F = A·B·C + A·B·D isin sum-of-products formF = A·B·(C + D) is notin sum-of-products form How to get to sum-of-products form? Use properties to manipulate given Boolean equation Look at each “1” in truth table, write product of inputs that creates this “1”, OR them all togetherSum-of-Products Method2. Implement sum-of-products expression with one stage of inverters, one stage of ANDs, and one big OR:F = A·B·C + A·B·DABCABDFExample (Adder)011101000101101010111000S11010C1000A1100B1110S0Input OutputS1using sum-of-products:1) Find where S1is “1”2) Write down product of inputs which create each “1”3) Sum all products4) Draw circuitA B C A B C A B C A B C A B C + A B C + A B C + A B C S1using sum-of-products:1) Find where S1is “1”2) Write down product of inputs which create each “1”3) Sum all products4) Draw circuitA B C A B C A B C NAND-NAND Implementation We can easily turn our sum-of-products circuit into one that is made up solely of NANDs (generally cheaper):ABCABDFKarnaugh MapsTo find a simpler sum-of-products expression,Write the truth table of your circuit into a special table.For each “1”, circle the biggest 2m by 2n block of “1’s” that includes that particular “1”.Write the product that corresponds to that block, and finally sum.101010110100101101001010110100ABCABABCD2 Inputs 3 Inputs4 InputsExample (Adder)011101000101101010111000S11010C1000A1100B1110S0Input Output111010100010110100ABCSimplification for
View Full Document