Skip to content
DenseChip
Learn
PracticeCode labInterview

DenseChip

Navigate

Menu

LearnPracticeCode labInterview

Tools

All toolsSV editorCode repoResume
DenseChip

Practice, courses, and chip-design tools in one focused workspace.

LearnPracticeCode labInterviewToolsLearning paths

© 2026 DenseChip

AboutContactPrivacyTerms
Skip to lesson

Course contents

  • Logic Synthesis Glossary
  • Logic Synthesis Cheatsheet
  • Synthesis Foundations14
  • Logic Optimisation and Mapping20
  • Constraints and Timing15
  • Sequential, FSM and Memory19
  • Datapath Synthesis14
    • Adders and Carry Structures
    • Multipliers and Compressors
      • Partial Products and the Array Multiplier
      • Booth Radix-4 Recoding
      • Compressor Trees
      • Signed Multiplication and Sign Extension
      • Truncation, the Final Adder, and Equivalence
    • Resource Sharing and Arithmetic Inference
  • Area, Power and Test14
  • Verification, ECO and Handoff15
  • Flows and Debugging15
  • Interview and Judgment11
Loading lesson

‹Datapath Synthesis
  1. Topics
  2. Logic Synthesis
  3. Datapath Synthesis
  4. Multipliers and Compressors

Part 5 · Datapath Synthesis · Intermediate

Multipliers and Compressors

Booth recoding, compressor trees, and the final adder.

  • 5topics
  • 5lessons

A multiplier works in three stages. It forms partial products, compresses them to two rows, then adds once.

The three stages of a multiplier.
Partial products feed a compressor tree, and one final addition produces the product.

Stage

Job

Design knob

Partial products

One row per multiplier bit, or one row per two bits with Booth recoding.

Row count: N, or N / 2 with radix-4 Booth.

Compressor tree

3:2 counters shrink many rows to two in a logarithmic number of stages.

Wallace or Dadda target heights per stage.

Final adder

One carry-propagate addition of the two remaining rows.

Ripple for narrow widths, faster families for wide ones.

Lesson

What it covers

Partial products and the array multiplier

AND-gate rows, column heights, and the 4 by 4 array.

Booth radix-4 recoding

Recoding triplets, halved row counts, and an exhaustive Python check.

Compressor trees

3:2 counters, Wallace reduction, and Dadda stage counts.

Signed multiplication

Sign extension and the negated sign-bit row, worked by hand.

Truncation, the final adder, and equivalence

Low-bit truncation, final-adder choice, and a Yosys equivalence proof.

Check yourself What does Booth recoding buy, and what does it cost?

It halves the partial-product count, roughly halving the tree. It costs recoding logic and sign-extension care on every product.

Interview

Carry one sentence per lesson: the array adds N rows pairwise, radix-4 Booth halves the rows, 3:2 trees compress in logarithmic stages, signed rows sign-extend with a negated sign row, and truncation keeps the product modulo 2^k.

Related topics

  • Up: Datapath Synthesis

  • Previous: Adders and Carry Structures

  • Next: Resource Sharing and Arithmetic Inference

PreviousNext: Partial Products and the Array Multiplier

Up next

Up nextPartial Products and the Array Multiplier

Sign in to save progress

Practice this lessonReport an error

See also

  • Adders and Carry Structures
  • Resource Sharing and Arithmetic Inference