Each problem gives you a goal, a gate budget, and sometimes a restriction on which blocks you can use. Wire it up, run the tests, and see whether your circuit holds.
2-Bit Incrementer
Add 1 to a 2-bit number. COUT goes HIGH when the result wraps from 11 back to 00.
Showing 1–25 of 53
| Title | Topics | Difficulty | |
|---|---|---|---|
1. 2-Bit Equality Checker Compare two 2-bit values (A1 A0 and B1 B0). XNOR is banned, so each bit's equality has to be built another way before combining them. | combinationalcomparators | Med. | |
2. Single-Digit BCD Adder Add two 4-bit BCD digits (0-9) plus a carry-in, producing a valid BCD digit and a carry-out. When the raw binary sum exceeds 9, correct it by adding 6. | combinationalarithmetic | Exp. | |
3. 4-to-1 Multiplexer (NAND only) The same 4-to-1 multiplexer as before, SEL1 SEL0 choose between A, B, C, and D, but this time only NAND gates are on the palette. | combinationalselectors | Hard | |
4. 3-to-8 Line Decoder A2 A1 A0 select one of eight output lines to drive HIGH; every other line stays LOW. | combinationaldecoders | Hard | |
5. NOR from NAND Build OR from NAND first, the way you just did, then invert it once more to get NOR. | combinationalboolean-algebra | Easy | |
6. 1-Bit Equality Checker XNOR is banned since it would make this trivial. Output HIGH when A and B match. | combinationalcomparators | Easy | |
7. 3-Bit Gray Code to Binary Convert a 3-bit Gray code value back to binary. The top bit passes through, and every bit below is chained through XOR with the previous binary bit. | combinationalboolean-algebra | Med. | |
8. BCD Invalid Code Detector A 4-bit BCD digit only ever holds 0-9. Output HIGH when the 4-bit input W X Y Z encodes 10-15, a code that never appears in valid BCD. | combinationalboolean-algebra | Med. | |
9. 4-Bit Equality Checker Compare two 4-bit values (A3 A2 A1 A0 and B3 B2 B1 B0). Output HIGH only when every bit matches. | combinationalcomparators | Hard | |
10. Half Adder (NOR only) NOR is also universal. Derive AND, OR, and NOT from NOR first, then produce SUM and CARRY for two bits. | combinationalarithmetic | Med. | |
11. 2-Bit IncrementerToday Add 1 to a 2-bit number. COUT goes HIGH when the result wraps from 11 back to 00. | combinationalarithmetic | Med. | |
12. NOT from NAND A NAND gate with both inputs tied to the same signal behaves like a NOT gate. Prove it. | combinationalboolean-algebra | Easy | |
13. 2-Bit Wide 2-to-1 Multiplexer SEL picks between two 2-bit buses (A1 A0 and B1 B0) and routes the chosen one to Y1 Y0. | combinationalselectors | Med. | |
14. 1-Bit Magnitude Comparator Compare two single bits with three separate outputs: LT when A is less than B, EQ when they match, GT when A is greater than B. | combinationalcomparators | Med. | |
15. 2-Bit Ripple-Carry Adder Add two 2-bit numbers plus a carry-in. Circuit blocks are disabled for puzzles, so the two bit-stages have to be wired by hand rather than reused as a block. | combinationalarithmetic | Hard | |
16. OR from NAND De Morgan's law says A OR B equals NOT(NOT A AND NOT B). Invert both inputs, then NAND the results. | combinationalboolean-algebra | Easy | |
17. 4-to-2 Priority Encoder Encode which of four request lines is active as a 2-bit binary index. When more than one is active, D3 outranks D2, which outranks D1, which outranks D0. Output 00 when none are active. | combinationalencoders | Hard | |
18. 1-Bit Greater Than Output HIGH only when A is strictly greater than B. | combinationalcomparators | Easy | |
19. Half Adder (NAND only) Add two bits, producing SUM and CARRY as separate outputs, using only NAND gates. | combinationalarithmetic | Med. | |
20. 2-Bit Magnitude Comparator Compare two 2-bit numbers (A1 A0 and B1 B0) with three separate outputs: GT, EQ, LT. | combinationalcomparators | Hard | |
21. 3-Input Majority Voter No gate restrictions, just a tight gate budget. Output HIGH when at least two of the three inputs are HIGH. | combinationalboolean-algebra | Easy | |
22. 3-Input Population Counter Count how many of the three inputs A, B, C are HIGH and output the result as a 2-bit number (COUNT1 COUNT0, 0-3). This is exactly a full adder in disguise: think about what SUM and CARRY normally mean for three input bits. | combinationalarithmetic | Easy | |
23. 4-Bit Serial-In Shift Register Build a 4-bit shift register. On each rising edge of CLK, SIN shifts into Q0 and every bit shifts up toward Q3. RESET clears all four bits immediately. | sequentialmemory | Exp. | |
24. 4-to-1 Multiplexer Two select lines choose which of four data inputs reaches the output: 00 selects A, 01 selects B, 10 selects C, 11 selects D. | combinationalselectors | Med. | |
25. 1-Bit ALU: AND/OR Select A minimal ALU slice. When SEL is 0, output A AND B. When SEL is 1, output A OR B. | combinationalselectors | Med. |
Showing 1–25 of 53