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
    • Boolean Optimisation
      • Constant Propagation
      • Redundancy Removal
      • Factoring, Collapsing and Sharing
      • AIGs, Depth and Area
      • Don't-Cares
    • Technology Mapping
    • Cell Libraries and Liberty
    • Structuring and Buffering
  • Constraints and Timing15
  • Sequential, FSM and Memory19
  • Datapath Synthesis14
  • Area, Power and Test14
  • Verification, ECO and Handoff15
  • Flows and Debugging15
  • Interview and Judgment11
Loading lesson

‹Boolean Optimisation
  1. Topics
  2. Logic Synthesis
  3. Logic Optimisation and Mapping
  4. Boolean Optimisation
  5. Constant Propagation

Part 2 · Logic Optimisation and Mapping · Intermediate

Constant Propagation

How tied inputs fold through gates, with a worked gate-count reduction.

On this page

    Constants in the network

    Constants enter through tied pins, parameters and unconnected inputs with a defined tie-off. Each one turns its gate into a simpler function.

    The tool repeats the folding until no gate has a constant input left. Results cross hierarchy boundaries the same way.

    Gate with constant

    Result

    a & 0, a & 1

    0, a

    a | 0, a | 1

    a, 1

    a ^ 0, a ^ 1

    a, ~a

    ~0, ~1

    1, 0

    a & ~a, a | ~a

    0, 1

    Propagation rules

    A folded constant becomes an input to the next gate, which may fold in turn. One tie-off can therefore delete a whole cone of logic.

    The calc block works one example end to end. Areas are library units of the fictional teaching library course.lib.

    Diagram
    y = (a & 1) | (b & 0)
    fold each AND: (a & 1) = a, (b & 0) = 0
    y = a | 0 = a
    gates before: 2 AND2 + 1 OR2 = 3 gates
    area before: 2 x 3 + 1 x 3 = 9 area units
    gates after: 0 (y is the wire a)
    area after: 0 area units
    saving: 9 area units

    Common mistakes

    A parameter fixed for one build looks like a constant to the tool. Changing it later re-opens the cone, so recheck the area after the change.

    Common pitfall

    An undriven input is not a constant in every methodology. The tool ties it off by convention, and that convention varies, so drive every input explicitly.

    Interview

    Likely probes: folding order and cone deletion.

    • Each gate with a constant input becomes a simpler function or a constant.

    • Folded results feed the next gates, so one tie-off can delete a whole cone.

    • The worked example goes from 9 area units to 0 with the function unchanged.

    Check yourself y = (a & 1) | (b & 0). What does the tool keep?

    Just the wire a. The ANDs and the OR fold away to 0 area units.

    Check yourself A parameter is changed from 1 to 0 after optimisation. Why can the area move?

    Gates that folded away under the old value reappear under the new one. The cone must be re-optimised.

    Related topics

    • Next: Redundancy removal

    • Muxes, decoders and encoders

    Previous

    17 / 139

    Next: Redundancy Removal

    Up next

    Up nextRedundancy Removal

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • Factoring, Collapsing and Sharing
    • AIGs, Depth and Area
    • Don't-Cares