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

‹Multipliers and Compressors
  1. Topics
  2. Logic Synthesis
  3. Datapath Synthesis
  4. Multipliers and Compressors
  5. Signed Multiplication and Sign Extension

Part 5 · Datapath Synthesis · Intermediate

Signed Multiplication and Sign Extension

Sign extension and the negated sign-bit row that make signed products correct.

On this page

    Why zero extension fails

    Unsigned rows zero-extend to the product width. Signed rows must sign-extend instead, or a negative multiplicand reads as a large positive value.

    The multiplier sign bit adds a second rule. Its row carries negative weight, so it is subtracted rather than added.

    The signed-row rule

    Extend each row to the full product width using the multiplicand sign. Negate the rows selected by the multiplier sign bit.

    Multiplicand

    Multiplier bit

    Row treatment

    Unsigned

    Any bit

    Zero-extend the AND row to the product width.

    Signed

    Non-sign bit

    Sign-extend the AND row to the product width.

    Signed

    Sign bit

    Sign-extend, then negate: the row subtracts.

    Signed Booth row

    Any digit

    Already signed: sign-extend the multiple, no extra row.

    A worked signed product

    Take a = -3 (1101) and b = -1 (1111) at 8-bit product width. Three rows add and the sign row subtracts, giving 3.

    Diagram
    a = -3 = 1101, b = -1 = 1111, product width 8
    row 0 (b0 = 1): 11111101 = -3
    row 1 (b1 = 1): 11111010 = -6
    row 2 (b2 = 1): 11110100 = -12
    row 3 (b3 = 1, sign bit): negate 11101000 (-24) -> +24
    total = -3 + -6 + -12 + 24 = 3 = -3 x -1
    zero-extended rows would sum 13 + 26 + 52 + 104 = 195 (reads -61 as signed 8-bit)

    Common pitfall

    Sign-extending the rows but adding the sign-bit row is the classic half fix. Without the negation the total above reads -45, not 3.

    Interview

    Likely probes: the two signed rules, and why Booth helps.

    • Sign-extend signed rows; zero-extend unsigned rows.

    • Subtract rows chosen by the multiplier sign bit.

    • Booth digits are already signed, so the same recoding covers the sign bit.

    Check yourself Row 3 above would contribute -24 if added. Why does the correct total add +24?

    Bit 3 of the multiplier is its sign bit, so that row carries negative weight. Negating -24 gives +24.

    Check yourself Without any fix the rows sum to 195 unsigned. What goes wrong in that sum?

    Each row reads as a positive value: 13, 26, 52 and 104. Their sum 195 is the wrong product, reading -61 as signed 8-bit.

    Related topics

    • Previous: Compressor trees

    • Next: Truncation and the final adder

    Previous

    79 / 139

    Next: Truncation, the Final Adder, and Equivalence

    Up next

    Up nextTruncation, the Final Adder, and Equivalence

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • Partial Products and the Array Multiplier
    • Booth Radix-4 Recoding