GLS · Chapter 13 · Simulation Performance & Regression Strategy
GLS in the Regression & Signoff Pipeline
Gate-level simulation is one signoff input among several, and placing it correctly in the pipeline is what makes it useful without blocking tape-out. It runs after synthesis alongside logic-equivalence checking, static timing analysis, and static clock-domain-crossing analysis, and it complements RTL and UVM functional simulation rather than replacing any of them. Function belongs to RTL and UVM, equivalence to the checker, timing signoff to static analysis, while GLS contributes the dynamic, gate-level-specific checks nothing else does. Because it is expensive, you run it tiered: fast zero-delay functional runs nightly on a subset, timed runs at milestones, and a full clean run gating tape-out. The signoff criteria are concrete: no unexplained unknowns, no real un-waived violations, and verified delay annotation. This lesson shows where GLS fits, how to tier the regression, and what clean-GLS criteria gate a tape-out.
Foundation12 min readGLSRegressionSignoffPipelineTape-Out
Chapter 13 · Section 13.4 · Simulation Performance & Regression Strategy
Project thread — the mini-SoC's tape-out gate includes a clean GLS run alongside LEC/STA/CDC. This lesson places GLS in that pipeline; 13.5 automates its triage/reporting, and Ch14 walks real signoff flows.
1. Why Should I Learn This?
GLS is only useful if it runs at the right time and is treated as the right kind of input.
- It's one signoff input — alongside LEC, STA, static CDC, RTL/UVM.
- Tier it: zero-delay nightly, timed at milestones, full clean run gating tape-out.
- Signoff criteria: clean GLS (no unexplained
X, no real violations, verified SDF) — a tape-out gate.
This places the affordable GLS (13.2/13.3) into the flow.
2. Real Silicon Story — the GLS run that blocked tape-out at the last minute
A team left GLS to the very end — after LEC, STA, and functional signoff were done. The first full GLS run hit a reset gap (X), and now it was a last-minute crisis blocking tape-out.
The bug was real and GLS-caught (exactly its job) — but running GLS only at the end turned a routine find into a schedule emergency. Tiering GLS — zero-delay functional nightly from the moment a netlist existed — would have caught the reset X weeks earlier, cheaply, with the milestone timed runs and the final clean gate confirming it.
Lesson: place GLS in the pipeline as a tiered, ongoing input — not a single end-of-project run. Nightly zero-delay + milestone timed + a final clean gate catches gate-level bugs early, not at tape-out.
3. Concept — where GLS fits, and the tiers
Where GLS fits (post-synthesis, one of several):
- RTL/UVM (pre-synthesis) — function/coverage.
- Synthesis → netlist.
- Post-synthesis signoffs (parallel):
- LEC — RTL≡netlist equivalence (formal).
- STA — timing signoff (all corners).
- static CDC — crossing structure (+ MTBF).
- GLS — dynamic, gate-level-specific checks (X/reset/init, timing spot-checks, low-power, DFT — 13.3).
- Signoff → tape-out.
GLS complements — never replaces:
- Function → RTL/UVM; equivalence → LEC; timing → STA; CDC → static CDC/MTBF. GLS is the dynamic gate-level input.
Regression tiers (affordability, 13.1/13.2):
- Nightly: zero-delay functional GLS on a subset (13.3) — fast feedback, catches X/reset early.
- Milestones: timed (SDF) GLS — timing spot-checks (Ch3/8), low-power, DFT.
- Tape-out gate: a full, clean GLS run — the sign-off.
Signoff criteria (the tape-out gate):
- No unexplained
X(everyXexplained/waived-with-justification, 12.6). - No real (un-waived) violations (artifacts triaged, not disabled wholesale, 8.4).
- Verified SDF annotation (0 unmatched, 4.5) for timed runs.
- Reviewed alongside LEC/STA/CDC — GLS is one gate among the signoffs.
Scope (accuracy):
- GLS is one input in a multi-tool signoff — it doesn't stand alone. It stays dynamic (0.3).
4. Mental Model — one instrument in an orchestra, rehearsed continuously
Signoff is an orchestra; GLS is one instrument.
- The full sound (a clean tape-out) needs all instruments: LEC (equivalence), STA (timing), static CDC (crossings), RTL/UVM (function), and GLS (dynamic gate-level).
- GLS doesn't play everyone's part — it plays the part only it can (X/reset/timing/low-power/DFT).
- And you rehearse continuously — nightly (zero-delay), at milestones (timed), and a dress rehearsal before the concert (the clean gate) — not a single first play-through on concert night (the end-of-project crisis).
- If any instrument is off (a real GLS
X, an STA violation), the concert waits — each is a gate.
One instrument, its own part, rehearsed all along — not sight-read at the last minute.
5. Working Example — the pipeline and tiers
The pipeline and GLS tiers (tool-neutral):
# Signoff pipeline — REPRESENTATIVE (tool-neutral):
# RTL/UVM (function/coverage) -> SYNTHESIS -> [ LEC | STA | static CDC | GLS ] -> SIGNOFF -> TAPE-OUT
# GLS is ONE input alongside the others -- complements, doesn't replace.
#
# GLS regression tiers (affordability, 13.1/13.2/13.3):
# NIGHTLY : zero-delay functional GLS on a SUBSET (fast; catches X/reset early)
# MILESTONE : timed (SDF) GLS -- timing spot-checks (Ch3/8), low-power (Ch10), DFT (Ch11)
# TAPE-OUT : full CLEAN GLS run -- the gate# GLS signoff criteria (the tape-out gate) — REPRESENTATIVE:
# [ ] no UNEXPLAINED X (every X explained or waived-with-justification, 12.6)
# [ ] no REAL (un-waived) violations (artifacts triaged, NOT disabled wholesale, 8.4)
# [ ] SDF annotation VERIFIED (0 unmatched, 4.5) for timed runs
# [ ] reviewed ALONGSIDE LEC (equivalence), STA (timing), static CDC -- GLS is ONE gatePractical context (representative, tool-neutral):
# Placing GLS correctly (tool-neutral):
# WHEN: after synthesis, alongside LEC/STA/static CDC -- NOT a single end-of-project run
# TIERS: zero-delay nightly (subset) | timed at milestones | clean full run gating tape-out
# ROLE: ONE input -- complements RTL/UVM (function), LEC (equivalence), STA (timing), CDC (static)
# GATE: clean GLS (no unexplained X, no real violations, SDF verified) reviewed WITH the othersThe regression tiers over the project timeline, as a real waveform:
GLS regression tiers over time: zero-delay nightly, timed at milestones, a clean run gating tape-out
9 cycles6. Debugging Session — GLS run only at the end (or treated as the only signoff)
GLS is placed wrong -- either run only at the very end (turning a routine find into a tape-out crisis) or treated as the sole signoff (skipping LEC/STA/CDC) -- when it should be a tiered, ongoing input complementing the other signoffs
GLS = ONE TIERED INPUT ALONGSIDE LEC/STA/CDC — NOT END-OF-PROJECT, NOT THE ONLY GATEEither (a) GLS is run only at the very end and its first full run hits a real X — a last-minute tape-out crisis; or (b) GLS is treated as the only signoff (skipping LEC/STA/CDC), or conversely skipped because "STA covers timing."
GLS placed wrong in the pipeline. (a) Run only at the end, a real GLS-caught bug (reset gap, timing effect — exactly GLS's job, 13.3) becomes a schedule emergency instead of a routine early find — because there was no nightly/milestone tiering to catch it weeks earlier. (b) Treated as the only signoff, it's asked to do jobs it can't — exhaustive equivalence (LEC's) or timing signoff (STA's) — while conversely skipping GLS because "STA covers timing" misses the dynamic, gate-level-specific bugs (X/reset/init, low-power, DFT) that STA can't. Both misplace GLS: it is one input in a multi-tool signoff, run tiered and ongoing, complementing LEC/STA/CDC/UVM — not a solo, end-of-project gate.
Place GLS as a tiered, ongoing, complementary input. Run it after synthesis alongside LEC/STA/static CDC. Tier it: zero-delay functional nightly on a subset (catch X/reset early), timed (SDF) at milestones (timing spot-checks, low-power, DFT), and a full clean run gating tape-out (13.2/13.3). Keep it complementary — function to RTL/UVM, equivalence to LEC, timing to STA, CDC to static CDC — and don't skip it (it catches what they can't). Gate tape-out on clean GLS (no unexplained X, no real violations, SDF verified, 4.5/12.6) reviewed alongside the others. The lesson: GLS is one signoff input among several — placed after synthesis alongside LEC/STA/static CDC, run tiered (zero-delay nightly, timed at milestones, a clean full run gating tape-out), complementing (never replacing) RTL/UVM, LEC, STA, and CDC. (GLS is one dynamic input in a multi-tool signoff, 0.3.)
7. Common Mistakes
- Running GLS only at the end — turns a routine find into a tape-out crisis.
- Treating GLS as the only signoff — it can't do LEC's/STA's exhaustive jobs.
- Skipping GLS because "STA covers timing" — GLS catches dynamic/gate-level bugs STA can't.
- Not tiering — nightly zero-delay + milestone timed + clean gate.
- Vague signoff criteria — define clean GLS (no unexplained
X, no real violations, SDF verified).
8. Industry Best Practices
- Run GLS after synthesis, alongside LEC/STA/static CDC.
- Tier the regression — zero-delay nightly, timed at milestones, clean gate at tape-out.
- Keep GLS complementary — don't ask it to replace LEC/STA/CDC/UVM, and don't skip it.
- Define clean-GLS signoff criteria (no unexplained
X, no real violations, SDF verified). - Review the GLS gate alongside the other signoffs.
Senior Engineer Thinking
- Beginner: "We'll run GLS at the end to confirm the netlist."
- Senior: "GLS is a tiered, ongoing input — zero-delay nightly from first netlist, timed at milestones, a clean run gating tape-out. It runs alongside LEC/STA/CDC and complements them. Running it only at the end makes routine finds a crisis."
The senior tiers GLS across the project and treats it as one complementary signoff input.
Silicon Impact
Where GLS sits in the pipeline determines whether it's a routine safety net or a tape-out crisis. Run only at the end, a real GLS-caught bug (reset gap, timing effect) becomes a schedule emergency that can slip tape-out; skipped entirely (because "STA covers timing"), the dynamic, gate-level-specific bugs it uniquely catches reach silicon (0.3). Placed right — after synthesis, alongside LEC/STA/CDC, tiered (zero-delay nightly, timed at milestones, a clean gate) — GLS catches its bugs early and cheaply, and the clean-GLS gate (no unexplained X, no real violations, SDF verified) becomes one of several confident tape-out conditions. GLS earns its place not by doing everything, but by doing its unique part on time, as one instrument in the signoff orchestra.
Engineering Checklist
- Ran GLS after synthesis, alongside LEC/STA/static CDC.
- Tiered it — zero-delay nightly (subset), timed at milestones, clean full run gating tape-out.
- Kept GLS complementary (function→RTL/UVM, equivalence→LEC, timing→STA, CDC→static CDC).
- Defined clean-GLS signoff criteria (no unexplained
X, no real violations, SDF verified). - Reviewed the GLS gate alongside the other signoffs; didn't skip GLS.
Try Yourself
- Sketch your project's signoff pipeline — where does GLS run relative to LEC, STA, CDC, RTL/UVM?
- Observe: if GLS is a single end-of-project run, a real find becomes a crisis.
- Change: tier it — zero-delay nightly on a subset from first netlist, timed at milestones, a clean run gating tape-out.
- Expect: gate-level bugs surface early and cheaply; the clean-GLS gate is one confident tape-out condition alongside LEC/STA/CDC. Place GLS as one tiered, complementary input.
Regression tiering and signoff gating are methodology, tool-independent. No paid tool required.
Interview Perspective
- Weak: "GLS runs at the end to check the netlist."
- Good: "GLS runs after synthesis alongside LEC, STA, and CDC, tiered from nightly to a tape-out gate."
- Senior: "GLS is one signoff input among several. It runs after synthesis, alongside LEC (equivalence), STA (timing), and static CDC, complementing RTL/UVM (function) — I never ask it to replace them or skip it. I tier it: zero-delay functional nightly on a subset, timed SDF at milestones, a full clean run gating tape-out, with clean-GLS criteria (no unexplained
X, no real violations, SDF verified) reviewed alongside the others."
9. Interview / Review Questions
10. Key Takeaways
- GLS is one signoff input among several — it runs after synthesis, alongside LEC (equivalence), STA (timing), and static CDC, complementing pre-synthesis RTL/UVM function.
- It complements — never replaces: function → RTL/UVM, equivalence → LEC, timing → STA, CDC → static CDC/MTBF; GLS contributes the dynamic, gate-level-specific checks (13.3), and it shouldn't be skipped either.
- Tier the regression for affordability (13.1/13.2): zero-delay functional nightly on a subset, timed (SDF) at milestones, a full clean run gating tape-out.
- Signoff criteria (the tape-out gate): no unexplained
X, no real (un-waived) violations (artifacts triaged not disabled, 8.4), verified SDF annotation (0 unmatched, 4.5) — reviewed alongside the other signoffs. - Placed right, GLS catches its bugs early and cheaply (not an end-of-project crisis) as one instrument in the signoff orchestra; it stays dynamic (0.3). Next: 13.5 — automating GLS triage & reporting.
Quick Revision
GLS = one post-synthesis signoff input, alongside LEC (equivalence) / STA (timing) / static CDC, complementing RTL/UVM (function) — never replacing them, never skipped. Tier it: zero-delay functional nightly (subset), timed SDF at milestones, full clean run gating tape-out. Signoff gate: no unexplained
X, no real violations, SDF verified (0 unmatched, 4.5), reviewed with the others. Placed right → early cheap finds, not an end-of-project crisis. Next: 13.5 — automating GLS triage & reporting.