1 / 18

Lecture 5

Lecture 5. Converting to use NAND and NOR Minimizing functions using Boolean cubes. X Y X nor Y 0 0 1 1 1 0. X Y X nand Y 0 0 1 1 1 0. Minimal set. Can implement any logic function from NOT, NOR, and NAND In fact, can do it with only NORs and NANDs

delano
Download Presentation

Lecture 5

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lecture 5 • Converting to use NAND and NOR • Minimizing functions using Boolean cubes

  2. X Y X nor Y0 0 11 1 0 X Y X nand Y0 0 11 1 0 Minimal set • Can implement any logic function from NOT, NOR, and NAND • In fact, can do it with only NORs and NANDs • NOT is just NAND or NOR with two identical inputs

  3. Why NAND/NOR? • NAND/NOR preferred for real hardware implementation • More efficient (less switches per gate) • But how do we convert from the canonical forms that are expressed in AND/OR?

  4. X Y X' Y' (X + Y)' X' • Y'0 0 1 1 1 10 1 1 0 0 01 0 0 1 0 0 1 1 0 0 0 0 (X + Y)' = X' • Y'NOR is equivalent to AND with inputs complemented X Y X' Y' (X • Y)' X' + Y'0 0 1 1 1 10 1 1 0 1 11 0 0 1 1 1 1 1 0 0 0 0 (X • Y)' = X' + Y'NAND is equivalent to OR with inputs complemented NAND/NOR truth tables

  5. NOR NAND AND OR Pushing the bubble • Apply DeMorgan's A'B' = (A + B)' A' + B' = (AB)' A + B = (A'B')' (AB) = (A' + B')'

  6. Converting to NAND/NOR • Introduce inversions ("bubbles") • Introduce bubbles in pairs • Conserve inversions • Do not alter logic function

  7. A NAND A A B Z NAND NAND B B C Z Z NAND C C D NAND D D AND/OR to NAND/NAND Z = AB + CD = (A'+B')'+(C'+D')' = [(A'+B')(C'+D')]' = [(AB)'(CD)']'

  8. A A’ A’ A B B’ Z Z B’ Z NOR NOR NOR NOR NOR NOR NOR B C C’ Z C’ C D D’ D’ D AND/OR to NOR/NOR Z = AB + CD = (A'+B')'+(C'+D')’ = [(A'+B')'+(C'+D')’]’’ = {[(A'+B')'+(C'+D')']'}'

  9. A’ A A’ B B’ Z Z B’ Z NAND NAND C’ C NAND NAND C’ D D’ D’ A B Z NAND NAND NAND C D OR/AND to NAND/NAND

  10. A NOR A B Z C B Z NOR A C D NOR B D Z NOR C NOR D OR/AND to NOR/NOR

  11. Goal: Logic minimization • Algebraic simplification • Not a systematic procedure • Hard to know when we reached the minimum • Computer-aided design tools • Require very long computation times (NP hard) • Heuristic methods employed–"educated guesses”

  12. Goal: Logic minimization • Visualization methods are useful • Our brain is good at figuring "simple" things out • Many real-world problems are solvable by hand

  13. Key tool: Uniting Theorem • Uniting theorem: A(B’+B) = A • The approach: • Find where some variables don’t change (the A’s above) and others do (the B’s above) • Eliminate the changing variables (the B’s) A B F 0 0 1 0 1 1 1 0 0 1 1 0 A has the same value in both “on-set” rows keep A B has a different value in the both rows eliminate B F = A'B'+A'B = A'(B+B') = A'

  14. Boolean cubes • Visualization tool for the uniting theorem • n input variables = n-dimensional "cube" 01 11 0 1 2-cube 1-cube Y X 00 10 X 1011 1111 0111 0011 011 111 4-cube 0010 3-cube 101 Y Y Z Z W 1100 1000 000 100 X X 0000 0100

  15. Mapping to Boolean cubes • ON set = solid nodes • OFF set = empty nodes Look for on-set adjacent to each other Sub-cube (a line) comprises two nodes A varies within the sub-cube; B does not This sub-cube represents B' A B F 0 0 1 0 1 0 1 0 1 1 1 0 F 01 11 B 00 10 A

  16. (A'+A)BCin A(B+B')Cin AB(Cin'+Cin) Example: Full adder carry-out • Binary full-adder carry-out logic • On-set is covered by the OR of three 1-D subcubes A B Cin Cout 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 111 B 101 Cin 000 A Cout = BCin+AB+ACin

  17. (A'+A)BCin A(B+B')(Cin+Cin‘) Example • Changed one bit from the previous function • On-set is covered by the OR of one 2-D subcube and one 3-D subcube A B Cin D 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 111 101 B Cin 1 000 A D = BCin+A

  18. M-D cubes in N-D space • In a 3-cube (three variables): • A 0-cube (a single node) yields a term in 3 literals • A 1-cube (a line of two nodes) yields a term in 2 literals • A 2-cube (a plane of four nodes) yields a term in 1 literal • A 3-cube (a cube of eight nodes) yields a constant term "1" 011 111 F(A,B,C) = m(4,5,6,7) On-set forms a square (a 2-D cube) A is asserted (true) and unchanging B and C vary This sub-cube represents the literal A 110 010 B 101 C 000 100 A

More Related