Interactive labs¶
Prereqs: none (index for demos)
Next: Phase to pulse lab · Pulse to logic state lab · Gate-level pipelining lab · JTL hop lab · Splitter & confluence lab · DFF lab · Clock-flow lab · Path-balancing lab · Bias → ERSFQ lab · Pulse → volt lab · AQFP lab · RCSJ washboard lab · DC bias delivery lab · Serial biasing lab · SFQ STA lab · I/O megaphone lab · Flux / SQUID loop lab · Overdamped / underdamped lab · Hybrid JTL-PTL lab · ERSFQ lab · VT-RAM lab · Hybrid memory lab · CMOS vs SFQ lab · RSFQ overview lab · Symbol card lab · Bridge hub
Self-contained HTML labs that let newcomers click, watch events, and read stats --- the same teaching pattern as a small in-browser simulator, not SPICE or netlists.
Convention¶
| Rule | Detail |
|---|---|
| Where | docs/labs/<topic-id>.html (copied to the site as /labs/<topic-id>.html) |
| What | Pedagogical interaction only: discrete events, timelines, match/miss, simple counters |
| Not here | JoSIM / WRspice netlists, PDK decks, or "run this circuit for real" flows --- those stay in projects / tracks |
| Embed in chapter | Required: <iframe> on the matching Markdown page so readers see the lab while reading |
| Fallback link | Also link the standalone HTML (full tab / share URL) |
| Optional hub | This README; do not invent a nav mega-menu until several labs exist |
| Style | Standalone CSS inside the HTML file; no build step; works offline when opened as a file |
| Grounding | Teach the same claim as the Markdown chapter; do not invent device numbers |
How to embed¶
In the teaching page, add a short section after the core idea (MkDocs keeps raw HTML):
## Interactive lab
Short how-to (2 steps). Prefer full-screen? Open the [lab page](../labs/<topic-id>.html).
<iframe
src="../../labs/<topic-id>.html"
title="..."
style="width:100%;height:720px;border:1px solid rgba(0,0,0,0.12);border-radius:0.35rem;background:#fff;"
loading="lazy"
></iframe>
Path rule: MkDocs serves each page as /section/page/ (trailing slash). Markdown links like ../labs/... are rewritten correctly, but raw <iframe src> is not. From a bridge/concept/fundamental page, use ../../labs/<file>.html (two levels up). From a nested page (e.g. fundamentals/fields/...), use three levels (../../../labs/...). Wrong depth → iframe 404 under /bridge/labs/....
Colors: Match Material default light + indigo (#4051b5 primary, white page, #f5f5f5 code/panel surfaces) so the iframe blends with the chapter.
Use height ≥ 700px so controls, stats, and the table fit without clipping.
Current labs¶
| Lab | Pairs with | Idea |
|---|---|---|
| phase-to-pulse.html | Phase to pulse | slip → ; area fixed while changes height |
| pulse-to-logic-state.html | Pulse to logic state | Presence/absence in a clock window; timing skew → errors |
| gate-level-pipelining.html | Gate-level pipelining | Two paths → merge; pad short path until epochs match |
| jtl-interconnects.html | JTL interconnects | Stage-by-stage Φ₀ regeneration vs passive-wire myth |
| splitter-and-confluence.html | Splitter and confluence | Fanout-2 copy + skew; confluence stagger vs hazard |
| rsfq-dff-and-retiming.html | RSFQ DFF and retiming | Capture → hold (loop Φ₀) → clocked destructive readout |
| concurrent-and-counter-flow-clocking.html | Concurrent / counter-flow clocking | Clock vs data direction; hold/setup pressure cartoon |
| path-balancing-overhead.html | Path balancing overhead | ; pad tax on JJ / clocks / latency |
| resistive-bias-to-ersfq.html | Resistive bias to ERSFQ | Static vs amperes vs dynamic; ERSFQ kills resistor drip |
| sfq-pulse-to-volt-level.html | SFQ pulse to volt-level | Height/time gaps; stretch fails; amp+latch leaves Φ₀ class |
| aqfp-logic.html | AQFP logic | Multiphase AC settle; majority; phase buffers ≠ RSFQ |
| josephson-junction-rcsj.html | Josephson junction (RCSJ) | Washboard particle; overdamped pulse vs underdamped latch |
| dc-bias-current-delivery.html | DC bias current delivery | parallel crisis; serial recycle + islands preview |
| serial-biasing-current-recycling.html | Serial biasing / current recycling | vs ; islands + isolation crossings |
| sfq-static-timing-analysis.html | SFQ static timing analysis | Setup/hold slack vs clock; pads; epoch mismatch vs window blame |
| squid-stack-and-four-jl-driver.html | SQUID stack · 4JL latching | Series vs latch+hold+reset megaphones |
| flux-quantization-squid-loop.html | Flux quantization · Loop / SQUID | only; write/read; |
| overdamped-vs-underdamped-jj.html | Overdamped vs underdamped JJ | β_C slider: pulse→V≈0 vs latch until reset |
| hybrid-jtl-ptl-routing.html | Hybrid JTL-PTL routing | All-JTL stage tax vs hybrid flight; span sweep |
| ersfq-logic.html | ERSFQ logic | Static I²R vs ERSFQ feed; activity still costs switching |
| vortex-transitional-ram.html | Vortex transitional RAM | Flux-state cells; write/hold/read; NDRO vs DRO |
| josephson-cmos-hybrid-memory.html | Josephson-CMOS hybrid memory | Pulse↔volt embassy; write/read across domains |
| cmos-vs-sfq.html | CMOS vs SFQ | Translate CMOS intuitions; catch false analogies |
| rsfq-logic.html | RSFQ overview | Plumbing cell map + 3-window pulse encoding |
| sfq-symbol-card.html | SFQ symbol card · Reading SFQ notation | Flash drill: Φ₀, I_c, φ, β_C, ∫V dt |
Coverage. Core walk device path, all bridges, and concept cards that suit click-and-watch demos now have labs (25 HTML files). Orientation express-lane pages and optional fields/ guides stay prose-first by design.
Adding a lab¶
- Copy an existing
*.htmlas a template. - Keep controls → stats → table/timeline (learner can reset and compare modes).
- Embed via
<iframe>on the Markdown chapter (plus a fallback link) and list the row in this README. - Do not put lab logic into
extra_javascriptunless every page needs it.