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
    • Synthesis Flow Overview
      • What Synthesis Does
      • The Five Flow Stages
      • Why Constraints Change the Netlist
      • A Small Design Through Yosys
      • Concepts, Not Commands
    • Synthesizable RTL and Inference
    • Reading Netlists and Reports
  • Logic Optimisation and Mapping20
  • 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

‹Synthesis Flow Overview
  1. Topics
  2. Logic Synthesis
  3. Synthesis Foundations
  4. Synthesis Flow Overview
  5. The Five Flow Stages

Part 1 · Synthesis Foundations · Intermediate

The Five Flow Stages

The five synthesis stages from elaboration and generic optimisation to reporting.

On this page

    The five stages

    This course uses a five-stage model of synthesis. Real tools cover the same concepts but may iterate, merge, or reorder steps, and they differ in commands and options.

    Stage

    What it does

    1. Elaboration

    Builds a generic hardware graph from the RTL: operators, muxes, flops, and hierarchy.

    2. Generic optimisation

    Simplifies that graph with no library: constant folding, cleanup, and logic reduction.

    3. Technology mapping

    Covers the graph with real library cells, choosing cells for the constraints.

    4. Post-map optimisation

    Touches up the mapped netlist: sizing, buffering, and small local rewrites.

    5. Reporting

    Writes the netlist plus counts, area, and timing for review.

    The synthesis stage order used in this course.
    The five-stage model in teaching order, from RTL to netlist and reports.

    Elaboration and generic optimisation

    Elaboration turns RTL operators into generic gates, and hierarchy plus processes into flat logic and flops. In Yosys these are the hierarchy and proc steps (this course also flattens the small examples so counts read flat).

    Generic optimisation then shrinks the graph before any library cell is chosen. In Yosys this is the opt family of passes.

    Mapping, post-map work, and reporting

    Technology mapping covers the simplified graph with library cells. In Yosys this is techmap followed by abc against the course library.

    Post-map optimisation adjusts the mapped result, and reporting writes the netlist with its counts and area. In Yosys reporting is stat against the same library.

    Common mistakes

    Optimisation never changes function, only cost and shape. Equivalence between RTL and netlist is covered in its own topic.

    Common pitfall

    Reading stage 2 counts as final area misleads. Generic gates are not library cells, so only the post-map report gives library area.

    Interview

    Likely probes: naming the stages in order, and what each consumes.

    • Elaboration consumes RTL and produces generic logic.

    • Generic optimisation consumes generic logic and produces smaller generic logic.

    • Mapping consumes generic logic plus constraints and produces library cells.

    Check yourself Where in the five-stage model do library cells first appear?

    In stage 3, technology mapping. Stages 1 and 2 work only with generic gates.

    Check yourself A report after generic optimisation shows 40 generic gates. Does that number give the final library area?

    No. Generic gates are not library cells, so only the post-map stat report gives library area.

    Related topics

    • Why constraints change the netlist

    • Technology Mapping

    • Boolean Optimization

    Previous

    4 / 139

    Next: Why Constraints Change the Netlist

    Up next

    Up nextWhy Constraints Change the Netlist

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • A Small Design Through Yosys
    • Concepts, Not Commands