VLSI Design Flow

Logic Synthesis

Transform RTL Verilog into a technology-mapped gate-level netlist — with timing constraints, logic optimization, and tapeout-ready outputs for place & route.

RTL (Verilog) Elaborate Constrain (SDC) Compile Optimize Gate Netlist
RTL Input Verilog / VHDL Elaborate Hierarchy + Params Constrain SDC (clocks, delays) Compile Map + Optimize Gate Netlist + SDF + SDC SDC file + Liberty (.lib) ↓ Timing / Area / Power Reports Logic Synthesis Flow — RTL → Gate-Level Netlist
Synthesis translates RTL through elaboration, SDC constraint application, and technology mapping into a gate-level netlist ready for place & route.
Synthesis Topics
Core Concepts & Deep Dives
⚙️
Step 1
RTL to Gate-Level Netlist
How the synthesizer reads Verilog, elaborates hierarchy, builds a generic GTECH network, and maps it to library cells. NAND/NOR decomposition, don't-care optimization, and compile strategies.
GTECHBoolean optHierarchyDesign Compiler
Read →
⏱️
Step 2
SDC Timing Constraints
create_clock, set_input_delay, set_output_delay, set_max_fanout, set_false_path, set_multicycle_path — complete SDC reference with real-world examples and common mistakes.
create_clockinput_delayfalse_pathMCP
Read →
📉
Step 3
Area, Power & Timing Optimization
compile_ultra vs compile strategies, retiming, constant propagation, clock gating insertion, leakage optimization, multi-Vt cell selection, and timing closure techniques.
compile_ultraretimingmulti-Vtclock gating
Read →
🗺️
Step 4
Technology Mapping
How the mapper selects standard cells from a Liberty library (.lib), cell sizing (drive strength), fanout-driven upsizing, and wire-load models vs actual extracted parasitics.
Liberty .libcell sizingfanoutwire-load model
Read →
Synthesis Tool Quick Reference
🔷
Synopsys
Design Compiler (DC)
Industry-standard synthesis tool. Key commands: read_verilog, elaborate, link_library, source sdc, compile_ultra, write_verilog, write_sdf.
🔶
Cadence
Genus Synthesis Solution
Cadence's synthesis engine with machine-learning-driven optimization. Key commands: read_hdl, elaborate, init_design, syn_gen, syn_map, syn_opt, write_hdl.
🟢
Open-Source
Yosys Synthesis Suite
Open-source RTL synthesis for FPGA and ASIC flows. Key commands: read_verilog, synth, abc, techmap, write_verilog. Used in OpenROAD, SKY130 PDK flows.
WNS
Worst Negative Slack — most critical timing path must be ≥ 0 ps at tapeout
TNS
Total Negative Slack — sum of all negative slacks; target 0 ps
Area
Total cell area (µm²) — combo + sequential + buffer/inverter cells
Power
Dynamic (switching) + static (leakage) — in µW or mW from report_power