For the team: read this first
A practical route through the guide and a shared preparation checklist.
Reading order
Our roles
| Role | Name |
|---|---|
| Cadence simulation | |
| Report writing | |
| Theory assignment | |
| Layout | |
| Presentation | |
| FPGA |
What still needs to be done by each person
Agree on owners together. Checkmarks are saved only in this browser.
Scan to open this guide on another device.
In One Minute
The entire laboratory project and research investigation distilled into five clear statements and six core numbers.
- What this project did: It implemented and characterized a compact eight-phase divide-by-two CMOS frequency divider in Cadence GPDK045 (45 nm, 1.0 V supply) based on the four-latch Current-Mode Logic (CML) ring architecture introduced by Kuo et al. in IEEE MWTL 2025 (originally fabricated in TSMC 180 nm at 1.8 V).
- The discovery on transplantation: Direct transplantation of the reference paper's sizing rule (R1 = Ron / 2 = 1.15 kΩ) completely fails to divide at 45 nm, instead oscillating at 2799.8 MHz (2 · fin) with an unusable 15.3 mV swing because three stacked NMOS transistors require far higher regenerative load resistance.
- The sizing solution: By establishing a 3·Ron / m series-stack regeneration heuristic (requiring Rload ≥ 1.1 · 3·Ron / m), state regeneration is restored, providing a dividing unit-size baseline U8k (m = 1, R = 8 kΩ) and two tuned sized configurations: Design D (m = 4, R = 3 kΩ at 1.4 GHz) and Design B (m = 4, R = 2 kΩ at 6.0 GHz).
- Key performance results: Sized Design D consumes 0.5413 mW power (0.4554 mW in Virtuoso schematic netlist) with 0.4344 V swing and passes 41 of 45 PVT corners (91.1%), while Design B pushes frequency to 6.0 GHz with a low phase error of 3.78° (matching Kuo's 3.75° benchmark) and passes 21 of 45 PVT corners.
- Honest physical status: The physical layout in Cadence Virtuoso Layout XL is placement-only (21 Assura DRC errors across 3 rules; 0 routed, 0 post-layout) because automated routing produced 134 DRC errors and the kit copy lacks Assura RCX extraction files; hence no LVS-clean or post-layout extraction claims are made.
The Initial Paper, Explained
How Yue-Fang Kuo et al. (IEEE MWTL, May 2025) synthesized eight clock phases from a single differential input without inductors or frequency quadruplers.
The Core Problem & Conventional Limitations
Multiphase local oscillator (LO) clocks are essential components in modern phased-array transmitters (for beamforming phase-interpolation), harmonic-rejection mixers (to cancel 3rd and 5th harmonic spurs), and clock/data recovery circuits (CDR). However, classical methods have severe penalties:
- Multistage LC-tank VCOs: Require bulky on-chip spiral inductors and varactor banks, occupying excessive die area and restricting tuning range.
- Polyphase Filters (PPFs): Cascade RC polyphase stages to split phases, but suffer from high insertion loss, severe attenuation at gigahertz frequencies, and extreme vulnerability to process/temperature variations.
- Cascaded Dividers: Traditional divide-by-two circuits produce only 4 quadrature phases from a differential input. Achieving 8 phases previously required 3 frequency dividers and a quadrupled input frequency (4 · fin) or a 4-phase input driver.
Kuo et al.'s Innovation: They inserted a second cascading D-latch pair into the feedback loop, creating a compact 4-latch closed ring. Controlled by a single differential clock (CK, CKb), this ring naturally outputs 8 discrete, equidistant 45° clock phases with zero inductors and zero polyphase filters, consuming only 91.7 × 52.9 µm² core area in TSMC 180 nm.
Circuit Architecture: The Four-Latch Ring
The divider consists of four differential Current-Mode Logic (CML) D-latches (XD1 to XD4). Two foundational design rules govern the topology:
- Dual-Clock Phasing: Latches 1 & 4 receive true clock CK at their sampling switch (M5) and inverted clock CKb at their hold switch (M6). Latches 2 & 3 receive the exact inverse: CKb at sampling switch M5 and CK at hold switch M6. Thus, when CK is HIGH, Latches 1 & 4 sample while Latches 2 & 3 hold; when CK falls LOW, Latches 2 & 3 sample while Latches 1 & 4 hold.
- Alternating Cross-Connections: The differential outputs connect to the subsequent inputs with alternating polarity:
- Latch 1 → Latch 2: Q1b → D2, Q1 → D2b (Crossed)
- Latch 2 → Latch 3: Q2 → D3, Q2b → D3b (Direct)
- Latch 3 → Latch 4: Q3b → D4, Q3 → D4b (Crossed)
- Latch 4 → Latch 1: Q4b → D1, Q4 → D1b (Long Feedback Crossed)
Net Loop Inversion & Division by Two: The inter-stage connections create an odd number of signal inversions around the four stages. Consequently, a digital transition must circulate through all four latches twice before returning to its original state. That requires exactly two full input clock periods (2 · TCK), yielding strict divide-by-two frequency division: fout = fin / 2.
The Elmore Delay Model & Edge-Balance Concept
Each DLATCH contains 7 NMOS transistors (M1–M7) and two symmetric resistive loads (R1, R2). In the paper's theoretical derivation (Section II, Eqs. 1–2), Kuo et al. model transient delays using Elmore RC time constants under two simplifying assumptions: tail transistor M7 is permanently on with its drain at AC ground (node-b ≈ 0 V), and unit gate capacitance equals junction capacitance (Cg = Cd = C):
- Lumped Output Node Capacitance: Output node Q carries Ctotal = (6 + 2)C = 8C (drain junctions 2C, cross-coupled gate 1C, downstream latch gate 1C, and interconnect routing parasitics 4C).
- Discharging Delay (Falling Transition t_pdf): Node Q discharges to ground through M1 and clock switch M5. With combined branch on-resistance modeled as R / 2, the Elmore fall delay is:
t_pdf = (8C) · (R / 2) = 4 · R · C (Paper Eq. 1)
- Charging Delay (Rising Transition t_pdr): Node Q charges from VDD exclusively through pull-up load resistor R1:
t_pdr = (8C) · R1 (Paper Eq. 2)
Kuo et al. set t_pdr = t_pdf, concluding that R1 = Ron / 2. This is strictly an edge-balance condition to make rise and fall times symmetrical under a simplified grounded-tail model. It is NOT a regeneration condition. In physical CMOS, the cross-coupled hold pair (M3–M4) requires loop gain A_loop = gm · R1 > 1 to hold and regenerate logic states. If R1 is set too low (e.g. 1.15 kΩ in 45 nm), loop gain drops below unity, causing the divider to fail completely.
Speed Limit & Phase Accuracy Condition
For the divider to function, a digital signal transition must propagate through two latches (2 · Td) within half an input clock cycle (TCK / 2):
To produce eight perfectly equidistant 45° phase outputs (where each output is spaced by Tout / 8 = TCK / 4), each latch must introduce a delay Td ≈ TCK / 8, meaning 2 · Td ≈ TCK / 4. As input frequency increases toward the maximum speed limit, the internal delay naturally approaches this fraction, causing adjacent phase error to drop toward zero (as evidenced in Design B at 6.0 GHz where phase error is 3.78°).
What Kuo et al. Measured in TSMC 180 nm Silicon
The original paper fabricated and evaluated a physical silicon die in TSMC 0.18 µm 1P6M CMOS at 1.8 V supply:
- Operating Frequency: 100 MHz to 1.4 GHz (173.3% fractional frequency tuning range).
- Power Consumption: 2.34 mW at 1.4 GHz from 1.8 V supply.
- Phase Step Accuracy: Measured phase difference across the eight 700-MHz outputs was within 3.75°.
- Physical Dimensions: Total die size 734 × 634 µm²; active divider core occupied only 91.7 × 52.9 µm² (four latches alone took 26.72 × 15.53 µm²).
- Testing Setup: Custom octagonal PCB with equal-length microstrip lines; Keysight N5182B RF generator with balun and bias tees; Agilent DSO9104A 4-channel oscilloscope.
What Kuo et al. Did NOT Do
- No PVT Corner Analysis: The paper reports only room-temperature, nominal-voltage lab bench measurements; no process corners (ff/ss/fs/sf), temperature sweeps (-40 °C to +125 °C), or voltage variations (±10%) were characterized.
- No Deep Submicron Porting: Sizing rules were not tested on advanced nodes (such as 45 nm) where short-channel effects, lower supply headroom (1.0 V), and multi-transistor series stacks degrade regeneration.
- No Tail Headroom Modeling: M7 was treated as an ideal current sink with a grounded drain node, overlooking triode operation and voltage headroom compression.
- No Mismatch Statistics: Device mismatch and threshold voltage variations were not simulated with Monte Carlo distributions.
What Our Report Did, Section by Section
A complete audit mapping of every required section in the institutional report format to our implementation, evidence files, and honest status chips.
What Happened, in Order
The authentic chronological journey of the project: from early ngspice attempts and Cadence VM crashes to 45 nm discovery, layout hurdles, and the v2 conference paper.
Early ngspice 180 nm Simulation Attempt
Initial architectural exploration began in ngspice using a generic LEVEL=1 180 nm model. While helpful for preliminary functional debugging, generic level-1 models lack physical short-channel velocity saturation, subthreshold conduction, and authentic BSIM4 mobility degradation. These ngspice results were strictly quarantined in legacy/ngspice/ and never used for reported 45 nm metrics.
Cadence VirtualBox VM Setup & Disk-Full Recovery
A VirtualBox CentOS 6 virtual machine hosting Cadence Virtuoso IC6.1.5 and Spectre MMSIM 12.1 was deployed with GPDK045 v6.0. During initial simulation sweeps, large Spectre raw binary waveforms exhausted guest disk capacity, causing kernel boot hangs on the virtual serial console (/dev/ttyS0). The VM was repaired, background VBoxSVC file-descriptor locking was mitigated via flock -o, and the environment was frozen into snapshot stable-v1.
GPDK045 Schematic Entry & First Netlist
The 7-transistor DLATCH and 4-latch divider core were entered into Cadence Virtuoso schematic editor using 45 nm standard-Vt transistors (nmos1v). The master netlist spectre/divider_gpdk45.scs was constructed with an initial unit device width of 240 nm and length of 45 nm at nominal 1.0 V supply.
Discovery: Reference Paper Sizing Fails to Divide
Directly applying Kuo et al.'s rule R1 = Ron / 2 = 1.15 kΩ (with measured unit Ron = 2.3 kΩ) resulted in a striking failure: rather than dividing 1.4 GHz to 700 MHz, the output oscillated at 2799.8 MHz (2 · fin) with only 15.3 mV swing (Figure 9). The cross-coupled hold pair had insufficient loop gain to latch states across the series pull-down stack.
Formulation of the 3·Ron/m Stack Heuristic & Sizing Search
Recognizing that the pull-down path comprises three stacked devices (M1/M3 + M5/M6 + M7), effective stack resistance is 3 · Ron / m (6.90 kΩ for m=1). Sweeping load resistance revealed that regeneration requires Rload ≥ 1.1 · 3·Ron / m (7.59 kΩ for m=1). This yielded the robust unsized baseline U8k (m=1, R=8 kΩ). Increasing width to multiplier m=4 reduced stack resistance to 1.72 kΩ, opening the door to lower load resistances: Design D (m=4, R=3 kΩ) and Design B (m=4, R=2 kΩ).
Tail Transistor Triode Diagnosis
Spectre transient operating point evaluation of tail device M7 revealed that its drain voltage remains between 8.1 mV and 66.9 mV throughout switching, far below its extracted BSIM4 saturation voltage Vdsat = 357.8 mV. Across all designs, M7 operates in deep triode due to compressed 1.0 V supply headroom. The report and theory assignment were corrected to state triode operation honestly.
Comprehensive 45-Corner PVT Sweep Campaigns
Deterministic 45-corner simulation campaigns (5 corners × 3 temps × 3 voltages) were executed in Spectre MMSIM 12.1. Design D demonstrated robust commercial margin with 41 of 45 corners passing (failing only under combined 125 °C and 0.9 V). Design B achieved 21 of 45 passing corners at 6.0 GHz. The U8k baseline passed 26 of 45 corners, while the paper-rule sizing passed 0 of 45 corners.
Layout Implementation & Routing DRC Explosion
Physical layout was designed in Cadence Virtuoso Layout XL. While cell placement was clean, running the automated Cadence router on the 4-latch core produced an explosion of 134 DRC errors and severe LVS shorts. Rather than masking the issue, the team made an honest engineering decision: quarantine the routed attempt and present the clean, unrouted placement layout with exactly 21 documented Assura DRC errors across 3 rules.
Investigation of the 15.9% Power Gap
A discrepancy was detected between standalone Spectre netlist power (0.5413 mW) and Virtuoso schematic netlist power (0.4554 mW) for Design D. Isolated parameter injection in power_gap_experiment.md proved this was not an error: Virtuoso's CDF netlister automatically computes layout-dependent effect (LDE) parameters (mechanical stress terms sa/sb/sd, well-proximity sca/scb/scc, and diffusion parasitics), shifting device currents by 15.9%. Both values were retained and documented.
Lab Report Rebuild & Theory Assignment Compilation
Deliverables for Dr. Kaveri Hatti's evaluation were compiled. The System Design Lab Report was rebuilt to 33–35 pages with 24 verified figures and full PVT appendices. The 7-page Theory Assignment (23ECE302_Theory_Assignment.pdf) was compiled with Elmore derivations, stack heuristics, and traceability tables.
V2 Academic Research Paper Sprint
Building upon the course baseline, the team launched the v2 preprint and conference paper sprint. Preregistered protocols E1–E7 uncovered the fundamental mathematical pair law: adjacent phase errors alternate as E = |45° - 180° · δ · fin| across all dividing runs. Mismatch Monte Carlo simulations revealed that operating near the 6 GHz speed limit collapses under transistor threshold mismatch (only 1/200 mismatch-only runs divide at 6 GHz), defining the core thesis for IEEE conference submission.
How to Explain It in a Viva
15 likely examiner questions with concise, technically rigorous answers formatted as interactive accordions.
1. Why does the circuit use four latches instead of two?
2. How do the eight phases arise topologically?
3. What is on-resistance (Ron) and how was it determined in GPDK045?
4. Why did Kuo et al. select R1 = Ron / 2 in their paper?
5. Why did the paper's sizing rule (R1 = 1.15 kΩ) fail to divide in 45 nm?
6. What is the stack-regeneration heuristic and how was it derived?
7. Why use Current-Mode Logic (CML) instead of static CMOS?
8. What is PVT analysis and what was your evaluated matrix?
9. Why are there two different power numbers for Design D (0.5413 mW vs 0.4554 mW)?
10. What does 'placement-only layout' mean and why does it have 21 DRC errors?
11. Why was post-layout simulation not performed?
12. What operating region is tail transistor M7 operating in, and why?
13. What is the fundamental engineering trade-off between Design D and Design B?
14. What is the key scientific insight discovered in the v2 research paper?
15. How did you verify results to guarantee zero fabricated numbers?
results/final/ (e.g. D_1p4.tsv, B_6g.tsv, pvt_D.tsv). All claims are cataloged with rerun commands in plan/claims_register.csv. No numbers from legacy 180 nm drafts were imported, and automated checkers verify that manuscript numbers match raw simulation files exactly.
Where to Find Things
Repo-relative paths for all primary documents, simulation evidence files, Cadence netlists, and verification logs.
| File / Folder Path (Repo-Relative) | Document / Evidence Content | Key Metrics / Role |
|---|---|---|
| report/gpdk045/System_Design_Project_Report_gpdk045.pdf | 23ECE383 Lab System Design Project Report | 33–35 pages, 24 figures, full PVT tables |
| report/gpdk045/theory/23ECE302_Theory_Assignment.pdf | 23ECE302 VLSI Theory Assignment Report | 7 pages, Elmore delay, sizing proof tables |
| report/gpdk045/report_data.json | Master Structured JSON Data Source | All text, table rows, and metrics for builders |
| report/gpdk045/COMPLETENESS_CHECK.md | Academic Format & Rubric Audit | Exhaustive compliance check against Kaveri Hatti rubric |
| report/gpdk045/FIXLOG.md | Audit Finding Resolution Log | Detailed tracking of all 28 audit fixes (C1–C4, I1–I11) |
| results/gpdk045/final/D_1p4.tsv | Design D Raw Spectre Simulation Results | 1.4 GHz, 0.5413 mW, 25.99 ps, 38.46° error |
| results/gpdk045/final/B_6g.tsv | Design B Raw Spectre Simulation Results | 6.0 GHz, 0.4929 mW, 27.94 ps, 3.78° error |
| results/gpdk045/final/U8k.tsv | Unsized Baseline U8k Simulation Results | m = 1, R = 8 kΩ, 0.1375 mW, 62.21 ps, 26.42° |
| results/gpdk045/final/unsized.tsv | Paper Rule Failure Simulation Results | m = 1, R = 1.15 kΩ: fails (2799.8 MHz, 15.3 mV) |
| results/gpdk045/final/pvt_D.tsv & pvt_summary_D_1p4.json | Design D 45-Corner PVT Sweep | 41/45 pass; fails only at 125 °C, 0.9 V |
| results/gpdk045/final/pvt_B6.tsv & pvt_summary_B_6g.json | Design B 45-Corner PVT Sweep | 21/45 pass at 6.0 GHz |
| results/gpdk045/final/pvt_U8k.tsv & pvt_summary_U8k_1p4.json | U8k Baseline 45-Corner PVT Sweep | 26/45 pass at 1.4 GHz |
| results/gpdk045/assura_drc_dlatch_summary.txt | Assura DRC Execution Summary | 21 DRC errors across Rules 220, 221, 595 |
| spectre/divider_gpdk45.scs | Master Standalone Spectre Netlist | Core 4-latch divider netlist in GPDK045 |
| paper/manuscript_v2.tex | v2 Conference Manuscript LaTeX Draft | ISQED/NEWCAS target paper draft |
| plan/claims_register.csv | Master Verified Claims Register | Every paper claim with evidence file and rerun cmd |
| plan/NICHE_DECISION.md | v2 Research Strategic Niche Decision | Scientific thesis, claim tiers, and novelty analysis |
Glossary
30 fundamental terms in VLSI design, frequency division, and multiphase clocking explained clearly.