CodiodeCodiode
Home
Problem Solving
Skill Tracks
My Assignments
Contests
Leaderboard
Community
Settings
Codiode/Problems/Combinational Logic

Analyze a NAND-Only Circuit and Identify the Function Using Bubble Cancellation

HardLogic CircuitAnalyze

High-speed digital design often restricts logic to a single gate type like NAND to optimize layout density and fabrication yield. Reading multi-level NAND circuits gate-by-gate is slow and prone to algebraic errors.

The circuit below consists of five NAND gates arranged in four levels. Gate 1 is a NAND gate with inputs B and C. Gate 2 is a NAND gate with both inputs tied to the output of Gate 1. Gate 3 is a NAND gate with both inputs tied to the output of Gate 2. Gate 4 is a NAND gate with both inputs tied to A. Gate 5 is a NAND gate driven by the outputs of Gate 4 and Gate 3, producing the final output Y.

Determine the output at Y by applying bubble cancellation to read the underlying AND-OR structure. Collapse the logic into a three-literal Sum of Products expression.

Constraints

  • Assume all gates are standard 2-input CMOS NAND gates.
  • Do not evaluate the circuit by writing out the expression for each intermediate wire.
  • Use De Morgan's dual representation for NAND gates to visually cancel inversions.

Topics

de-morganboolean-algebranand-logicbubble-cancellation

Solve this problem

Place the gates, wire them up and watch the signals settle. Every submission runs on the same simulation engine that grades it.

This problem is part of Codiode Pro. The statement above is free to read.

Sign in to solveSee what Pro unlocks

The circuit builder and code editor need a desktop screen. On a phone, read the problem here and open it on a laptop to solve.

Related problems

  • Binary to HexEasy
  • 1-to-4 Demultiplexer from AND and NOT GatesEasy
  • 2-to-4 Line Decoder with Active-High EnableEasy
  • Hex Nibble to BinaryEasy
  • Odd Parity Bit Generator for 3-bit DataEasy
  • Full Adder from Half AddersEasy
  • Modulo ArithmeticMedium
  • Two's Complement: Encode a Negative DecimalEasy

Browse all problems · Learning tracks