NewProject 1: RISC-V CPU + 2 courses free

Learn VLSI design, from RTL to GDSII

Every stage of the flow the way it runs in industry: the commands, the reports, the fixes, and the interview questions that follow.

154
free lessons
128
STA answers
1,600+
engineers subscribed
SRAM_0SRAM_1PLLclk
IO pad ringSRAM macrosStandard cellsClock treeSignal routesPower grid
Pro

SiliconPath Pro: practise VLSI like it's the job

Your lessons stay free. Pro adds the hands-on tools: write and simulate Verilog in your browser, get graded like an interview, and stand out to recruiters. New challenges and interview questions every Monday.

  • VLSI Lab in your browser
  • Graded RTL challenges
  • AI mock interviewer
  • Pro badge for recruiters

₹299/month

Cancel anytime, keep Pro to the end of your paid month.

See SiliconPath Pro

The whole chip-design stack

15 paths, 154 lessons and 38 hub topics. One connected flow.

From RTL to GDSII

Nine stages, from Verilog to the layout a foundry builds. Each names the industry tools and the open-source ones you can run at home.

  1. 01

    RTL

    Describe the hardware in Verilog / SystemVerilog, the behaviour, cycle by cycle, and simulate it.

    SystemVerilogVCSXceliumVerilatorLearn RTL →
  2. 02

    Synthesis

    Map the RTL onto real standard cells, optimized for timing, area and power.

    Design CompilerGenusYosysLearn Synthesis →
  3. 03

    Floorplan

    Set the die and core size, place the macros, and build the power grid: ring, straps and rails.

    ICC2InnovusOpenROADLearn Floorplan →
  4. 04

    Placement

    Place every standard cell in the rows, balancing timing against routing congestion.

    ICC2InnovusOpenROADLearn Placement →
  5. 05

    Clock Tree

    Build the clock tree so the clock reaches every flop and macro with low skew and latency.

    ICC2InnovusOpenROADLearn Clock Tree →
  6. 06

    Routing

    Connect every net across the metal stack, DRC-correct, on-grid.

    ICC2InnovusOpenROADLearn Routing →
  7. 07

    Timing Signoff

    Extract the wire parasitics, then close setup and hold across every corner and mode. Sign the timing off.

    PrimeTimeTempusStarRCOpenSTALearn Timing Signoff →
  8. 08

    Physical Verification

    DRC and antenna checks prove the layout can be manufactured; LVS proves it matches the netlist.

    CalibreIC ValidatorMagicNetgenLearn Physical Verification →
  9. 09

    GDSII

    Stream out the final layout and tape out: the file the foundry turns into silicon.

    KLayoutMagicLearn GDSII →

Engineering Lab: the violations you will debug on the job

Worked examples in the shape of real signoff reports. Read the numbers, find the cause, choose the fix.

report_timing -delay_type maxVIOLATED
reg_124reg_892launch 0.000arrives 2.033 · req 1.89018 logic levels · arrives 143 ps late

Setup violation

WNS
-143 ps
TNS
-2.84 ns
Critical path
reg_124/Q → reg_892/D
clock period
2.000 ns
uncertainty
0.050 ns
setup time
0.060 ns
required time
1.890 ns
data arrival
2.033 ns
logic depth
18 levels
Analyze path

Setup · Hold · Congestion · CTS/Skew · Transition: five classic signoff problems, one bench. Full cases inside the Lab.

Read a real timing report, line by line

One setup path that fails only because the clock is counted twice: the concept, the command, the report and the fix.

pt_shell
2pt_shell> report_timing -delay_type max
Startpoint: u_alu/acc_reg_7_ (clocked by clk)
Endpoint: u_ctl/state_reg_2_ (clocked by clk)
PointIncrPath
clock clk (rise edge)0.0000.000
1clock network delay (propagated)1.1051.105
u_alu/acc_reg_7_/Q (DFFQX1)0.4121.517 f
⋮ 12 cells4.1825.699
u_ctl/state_reg_2_/D (DFFQX1)0.0415.740 f
data arrival time5.740
clock clk (rise edge)5.0005.000
4clock network delay (propagated)1.0316.031
clock uncertainty-0.2505.781
library setup time-0.1265.655
data required time5.655
3slack (VIOLATED)-0.085

Worked example in PrimeTime's report format. The numbers are chosen to teach, and every line adds up.

  1. 1

    Concept

    On-chip variation. Derates make the launch clock late and the capture clock early, so the check is pessimistic by design.

    set_timing_derate -late 1.06
    set_timing_derate -early 0.95
  2. 2

    Command

    Ask the tool for the worst setup path.

    report_timing -delay_type max
  3. 3

    Report

    Slack is -0.085 ns. The path fails, but only just.

  4. 4

    Debug

    Both clocks run through the same 1.018 ns of buffers before they split. That shared stretch is counted late for launch and early for capture at once, which cannot happen in silicon: 1.018 × 0.11 = 0.112 ns of false pessimism.

  5. 5

    Solution

    Remove it. The report gains a CRPR line and the path passes with +0.027 ns.

    set timing_remove_clock_reconvergence_pessimism true

Tools covered in the lessons

Knowledge hub
Synthesis
Design Compiler · Genus
Physical Design
ICC2 · Innovus · Fusion Compiler
STA
PrimeTime · Tempus
Physical Verification
Calibre · IC Validator
Open source
Yosys · OpenROAD · OpenSTA · Magic · KLayout

Get interview-ready, then get hired

Practise the way interviews are run, show proof anyone can check, then apply.

Sample interview question · Physical design
Your design passes timing before CTS. After CTS, WNS -87 ps. How do you debug it?

A strong answer covers

  1. 1Compare the path before and after CTS: ideal clocks are now real, so skew and latency have changed.
  2. 2Check whether the launch clock got later or the capture clock got earlier, and by how much.
  3. 3Fix the skew in the clock tree or speed up the data path, then re-run timing on every corner.
128 STA interview questions

Questions from the community

Open the community

Start with the free lessons

154 lessons across 15 paths, written by engineers who ship silicon.