# FAQ - Building Blocks

Q1: How do I implement a 2 to 4 decoder?

Q2: How do basic gates perform interesting functions (i.e., mask,
selective inverter)?

Q1:
I am stuck on this problem: Implement a two to four decoder with
enable using only basic gates (AND, OR, NAND, NOR, and NOT). Assume
that you have the input signals and their complements. Be sure to
label the inputs INo, IN1, and Enable, and the outputs OUT3, OUT2,
OUT1, and OUT0. I saw the solution for the problem, but I do not
understand what you did. Please give me an explanation.

At the risk of sounding like one of those sport fishing TV shows,
sometimes you can just "feel the answer out their calling to you". In
this case, our understanding of decoder behavior (a given output is
only high if the proper code is given and enable is high) "calls out"
for a straightforward Boolean expression. Encoders are more subtle
because of all the don't cares in the inputs and outputs. Sometimes
you can see a simplified expression in the truth table; other times
you have to "map it out".

Q2:
With [Exam 2, SP09] problem 1, part B, i'm confused on how to
determine the logical function from the truth table provided... could
you help out? I just don't understand how the logical behavior is
determined from only the A input and control value.

Two input logical gates often have interesting uses when one input is
considered a control to affect how the other input is manipulated.
For example, an AND gate is often used to pass (transmit it unchanged)
or MASK a signal (transmit zero); an XOR acts as a selective inverter.
A NOR gate is used as a selective inverter or masker under control.
These functions aren't different than logical definition (if you draw
the truth table with In and C as two inputs). But they do help folks
understand "how" a gate is operating in a circuit (for example the
transparent latch in part C).

questions and comments to Scott Wills
last revised at 07:26:32AM on 23 Aug 2010