Circuit analysis means taking a drawn circuit and working out what it computes. There are three common jobs, and they use the same habit: go gate by gate, left to right.
- Find the expression. Label the output of each gate fed directly by inputs. Feed those labels into the next gates. The last gate gives the outermost operation of the final boolean expression.
- Evaluate for given inputs. Write each gate's output value on its wire, again left to right. A gate can only be evaluated once all of its inputs are known.
- Build the truth table. Repeat the evaluation for all 2ⁿ input rows, or simplify the expression first and read the table from that.
Brackets matter when you write the expression. AND binds tighter than OR, so an OR feeding an AND must be bracketed: A OR B, then AND C, is , not .
Watch for fan out: when one input feeds two gates, it has the same value at both.
The reverse job, working backwards, starts from a required output. Ask what the last gate needs (a NAND is 0 only if all its inputs are 1, an OR is 0 only if all its inputs are 0), then repeat for the gates feeding it.
Analysis is the opposite of design, where you start from a specification and build the logic diagram.