Re: Building chips problem.
Posted by
cadet1620 on
URL: http://nand2tetris-questions-and-answers-forum.52.s1.nabble.com/Building-chips-problem-tp3468285p3706329.html
The important thing about the canonical representation is that it
always exists and therefore any function that can be described in a truth table can be generated.
The canonical representation is rarely the simplest form of a function. There are various ways to find reduced forms. One good method is to use
Karnaugh Maps. Search the forum for "karnaugh". Also see
http://www.facstaff.bucknell.edu/mastascu/elessonshtml/Logic/Logic3.html. Using Karnaugh Maps will reduce the fig. 1.1 function to
(x . ~z) + (y . ~z)
You can use Boolean algebraic rules to reduce this to
(x+y) . ~z
For TECS it is not necessary to find optimized implementations; any implementation that passes the tests is OK. For more complex parts the canonical representation is unmanageable -- the canonical representation for the
sum output of a 16-bit adder has 32768 terms -- so it is important to learn how to design using abstraction.
--Mark
[Please edit your post to remove the simplified implementation of Mux. We want students to find this on their own.]