<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Module 2: Combinational Circuit Design on Circuit Quest</title>
    <link>https://circuit.quest/courses/digital-design-verilog/module-02/</link>
    <description>Recent content in Module 2: Combinational Circuit Design on Circuit Quest</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Sat, 28 Feb 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://circuit.quest/courses/digital-design-verilog/module-02/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Adding Two Numbers in Hardware</title>
      <link>https://circuit.quest/courses/digital-design-verilog/module-02/02-01-adder-circuits/01-the-addition-problem/</link>
      <pubDate>Sat, 28 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://circuit.quest/courses/digital-design-verilog/module-02/02-01-adder-circuits/01-the-addition-problem/</guid>
      <description>Why addition in hardware is harder than addition on paper: the carry chain, what it costs in time, and the three ways designers get round it.</description>
    </item>
    <item>
      <title>Half Adder and Full Adder</title>
      <link>https://circuit.quest/courses/digital-design-verilog/module-02/02-01-adder-circuits/02-half-adder-full-adder/</link>
      <pubDate>Sat, 28 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://circuit.quest/courses/digital-design-verilog/module-02/02-01-adder-circuits/02-half-adder-full-adder/</guid>
      <description>The two smallest arithmetic circuits, derived from truth tables with Karnaugh maps and built from gates.</description>
    </item>
    <item>
      <title>The Ripple-Carry Adder</title>
      <link>https://circuit.quest/courses/digital-design-verilog/module-02/02-01-adder-circuits/03-ripple-carry-adder/</link>
      <pubDate>Sat, 28 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://circuit.quest/courses/digital-design-verilog/module-02/02-01-adder-circuits/03-ripple-carry-adder/</guid>
      <description>Chain N full adders into an N-bit adder, trace it by hand, and work out why its delay grows with N.</description>
    </item>
    <item>
      <title>The Carry-Lookahead Adder</title>
      <link>https://circuit.quest/courses/digital-design-verilog/module-02/02-01-adder-circuits/04-carry-lookahead-adder/</link>
      <pubDate>Sat, 28 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://circuit.quest/courses/digital-design-verilog/module-02/02-01-adder-circuits/04-carry-lookahead-adder/</guid>
      <description>Generate and propagate signals let every carry be computed at once from the inputs, and that removes the serial chain of the ripple-carry adder.</description>
    </item>
    <item>
      <title>The Carry-Select Adder</title>
      <link>https://circuit.quest/courses/digital-design-verilog/module-02/02-01-adder-circuits/05-carry-select-adder/</link>
      <pubDate>Sat, 28 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://circuit.quest/courses/digital-design-verilog/module-02/02-01-adder-circuits/05-carry-select-adder/</guid>
      <description>Compute each block&amp;rsquo;s result for both possible carry-ins, then select with a mux when the real carry arrives. Delay grows with the square root of the width.</description>
    </item>
    <item>
      <title>Choosing an Adder</title>
      <link>https://circuit.quest/courses/digital-design-verilog/module-02/02-01-adder-circuits/06-adder-tradeoffs/</link>
      <pubDate>Sat, 28 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://circuit.quest/courses/digital-design-verilog/module-02/02-01-adder-circuits/06-adder-tradeoffs/</guid>
      <description>All the adder architectures compared on delay, area and power, the prefix adders that processors use, and why the answer is different on an FPGA.</description>
    </item>
    <item>
      <title>Subtraction Is Addition</title>
      <link>https://circuit.quest/courses/digital-design-verilog/module-02/02-02-subtractors-alu/01-subtraction-in-hardware/</link>
      <pubDate>Sat, 28 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://circuit.quest/courses/digital-design-verilog/module-02/02-02-subtractors-alu/01-subtraction-in-hardware/</guid>
      <description>Subtraction needs no new hardware: invert one operand with XOR gates and set the carry-in to 1. Here is why that works, with worked examples and the overflow and borrow conditions.</description>
    </item>
    <item>
      <title>The Adder/Subtractor Unit with Flags</title>
      <link>https://circuit.quest/courses/digital-design-verilog/module-02/02-02-subtractors-alu/02-adder-subtractor-unit/</link>
      <pubDate>Sat, 28 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://circuit.quest/courses/digital-design-verilog/module-02/02-02-subtractors-alu/02-adder-subtractor-unit/</guid>
      <description>The complete 4-bit adder/subtractor with zero, negative, carry and overflow outputs, verified on four test cases and chained to 8 bits.</description>
    </item>
    <item>
      <title>What an ALU Is</title>
      <link>https://circuit.quest/courses/digital-design-verilog/module-02/02-02-subtractors-alu/03-alu-design-philosophy/</link>
      <pubDate>Sat, 28 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://circuit.quest/courses/digital-design-verilog/module-02/02-02-subtractors-alu/03-alu-design-philosophy/</guid>
      <description>The interface of an arithmetic logic unit, which operations belong in it, why every ALU computes everything at once and selects with a mux, and the 74181 that did it first.</description>
    </item>
    <item>
      <title>Building a 4-Bit ALU</title>
      <link>https://circuit.quest/courses/digital-design-verilog/module-02/02-02-subtractors-alu/04-building-the-alu/</link>
      <pubDate>Sat, 28 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://circuit.quest/courses/digital-design-verilog/module-02/02-02-subtractors-alu/04-building-the-alu/</guid>
      <description>A complete 4-bit ALU with eight operations, built one unit at a time, traced end to end, with a gate count and timing.</description>
    </item>
    <item>
      <title>The ALU Flags</title>
      <link>https://circuit.quest/courses/digital-design-verilog/module-02/02-02-subtractors-alu/05-alu-flags/</link>
      <pubDate>Sat, 28 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://circuit.quest/courses/digital-design-verilog/module-02/02-02-subtractors-alu/05-alu-flags/</guid>
      <description>What the zero, negative, carry and overflow flags mean, how they are built, and how signed and unsigned comparisons are derived from them.</description>
    </item>
    <item>
      <title>Binary Multiplication by Hand</title>
      <link>https://circuit.quest/courses/digital-design-verilog/module-02/02-03-multipliers-shifters/01-binary-multiplication-by-hand/</link>
      <pubDate>Sat, 28 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://circuit.quest/courses/digital-design-verilog/module-02/02-03-multipliers-shifters/01-binary-multiplication-by-hand/</guid>
      <description>Long multiplication in binary, partial products, and the one equation that every hardware multiplier implements.</description>
    </item>
    <item>
      <title>The Array Multiplier</title>
      <link>https://circuit.quest/courses/digital-design-verilog/module-02/02-03-multipliers-shifters/02-array-multiplier/</link>
      <pubDate>Sat, 28 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://circuit.quest/courses/digital-design-verilog/module-02/02-03-multipliers-shifters/02-array-multiplier/</guid>
      <description>Long multiplication translated directly into hardware: an array of AND gates for the partial products and rows of adders to sum them.</description>
    </item>
    <item>
      <title>The Wallace Tree</title>
      <link>https://circuit.quest/courses/digital-design-verilog/module-02/02-03-multipliers-shifters/03-wallace-tree-multiplier/</link>
      <pubDate>Sat, 28 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://circuit.quest/courses/digital-design-verilog/module-02/02-03-multipliers-shifters/03-wallace-tree-multiplier/</guid>
      <description>Carry-save adders reduce all the partial products at once, in a number of levels that grows with the logarithm of the width, and every fast multiplier is built this way.</description>
    </item>
    <item>
      <title>Shift Operations</title>
      <link>https://circuit.quest/courses/digital-design-verilog/module-02/02-03-multipliers-shifters/04-logical-arithmetic-shifts/</link>
      <pubDate>Sat, 28 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://circuit.quest/courses/digital-design-verilog/module-02/02-03-multipliers-shifters/04-logical-arithmetic-shifts/</guid>
      <description>Shifts multiply and divide by powers of two for free. The one thing to get right is the difference between a logical and an arithmetic right shift.</description>
    </item>
    <item>
      <title>The Barrel Shifter</title>
      <link>https://circuit.quest/courses/digital-design-verilog/module-02/02-03-multipliers-shifters/05-barrel-shifter/</link>
      <pubDate>Sat, 28 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://circuit.quest/courses/digital-design-verilog/module-02/02-03-multipliers-shifters/05-barrel-shifter/</guid>
      <description>A circuit that shifts by any amount from 0 to N−1 in log₂N mux delays, using the binary digits of the shift amount to switch power-of-two stages in and out.</description>
    </item>
    <item>
      <title>What a Hazard Is</title>
      <link>https://circuit.quest/courses/digital-design-verilog/module-02/02-04-hazards/01-what-are-hazards/</link>
      <pubDate>Sat, 28 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://circuit.quest/courses/digital-design-verilog/module-02/02-04-hazards/01-what-are-hazards/</guid>
      <description>A circuit with a correct Boolean expression can still put out a wrong value for a few picoseconds. Why that happens, the three kinds of hazard, and when a glitch matters.</description>
    </item>
    <item>
      <title>Static Hazards</title>
      <link>https://circuit.quest/courses/digital-design-verilog/module-02/02-04-hazards/02-static-hazards/</link>
      <pubDate>Sat, 28 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://circuit.quest/courses/digital-design-verilog/module-02/02-04-hazards/02-static-hazards/</guid>
      <description>Finding static hazards on a Karnaugh map and removing them with a redundant term.</description>
    </item>
    <item>
      <title>Dynamic Hazards</title>
      <link>https://circuit.quest/courses/digital-design-verilog/module-02/02-04-hazards/03-dynamic-hazards/</link>
      <pubDate>Sat, 28 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://circuit.quest/courses/digital-design-verilog/module-02/02-04-hazards/03-dynamic-hazards/</guid>
      <description>An output that should change once but changes three or more times. Why it needs at least three levels of logic, how synthesis can create it, and how to remove it.</description>
    </item>
    <item>
      <title>A Procedure for Hazard-Free Design</title>
      <link>https://circuit.quest/courses/digital-design-verilog/module-02/02-04-hazards/04-detecting-eliminating-hazards/</link>
      <pubDate>Sat, 28 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://circuit.quest/courses/digital-design-verilog/module-02/02-04-hazards/04-detecting-eliminating-hazards/</guid>
      <description>A four-step method that finds and removes every static hazard in a two-level circuit, with a worked example, the POS version, and how don&amp;rsquo;t-cares interact.</description>
    </item>
    <item>
      <title>Hazards in Practice</title>
      <link>https://circuit.quest/courses/digital-design-verilog/module-02/02-04-hazards/05-hazards-in-practice/</link>
      <pubDate>Sat, 28 Feb 2026 00:00:00 +0000</pubDate>
      <guid>https://circuit.quest/courses/digital-design-verilog/module-02/02-04-hazards/05-hazards-in-practice/</guid>
      <description>Four ways hazards cause real failures, the synchronous design principle and its limits, what the tools can and cannot see, and a look back over Module 2.</description>
    </item>
  </channel>
</rss>
