Back-end path

Synthesis from RTL to netlist

Learn how a synthesis tool turns RTL into a gate-level netlist, and how to control it. You write the constraints, run the commands, read the reports and hand a clean result to place and route. From Lesson 2 onward, each idea is paired with the real command, and a small accumulator design runs through the path.

11
lessons
Intermediate
level
Free
every lesson

Synthesis

  1. 1What synthesis really doesSynthesis turns RTL into a netlist of real library cells.
  2. 2Libraries and your first sessionPoint the tool at a Liberty library, set search paths, and learn what a library cell contains.
  3. 3Reading and elaborating RTLLoad Verilog with read_hdl, resolve parameters with elaborate, and learn the difference between reading RTL and reading a netlist.
  4. 4Clocks and the timing modelDefine a clock, understand period and waveform, and add uncertainty and latency so that an ideal clock behaves like a real one.
  5. 5Input and output delaysTell the tool how much of the clock period the outside world uses at each port, so the block gets exactly the time that is left.
  6. 6Timing exceptionsFalse paths, multicycle paths and max-delay limits: when the default one-cycle rule is wrong, how to say so, and how to avoid hiding real bugs.
  7. 7Design rule constraintsMax transition, max fanout and max capacitance: the electrical limits that a netlist must respect, and why they come before timing.
  8. 8Running synthesissyn_generic, syn_map and syn_opt: what each stage does, how effort levels change the result, and how to synthesize a single submodule.
  9. 9Reading the reportsHow to read a timing report line by line, what slack really means, and how to use area and gate reports to decide what to fix next.
  10. 10Power, retiming and hierarchyThree levers beyond the basic flow: clock gating to cut power, retiming to move registers, and ungrouping and dont_touch to control hierarchy.
  11. 11Handing off to place and routeWrite the netlist, the constraints and the delay file, save the database, and check what the next tool will see.