Rapid Single Flux Quantum (RSFQ) Logic Overview¶
Prereqs: Pulse to Logic State · CMOS vs SFQ Cheat Sheet
Next: JTL Interconnects · Gate-Level Pipelining
Tracks: sfq-logic-primitives
Learning goals. After this page you should be able to (1) state RSFQ's pulse-and-window encoding in one sentence, (2) map the four core plumbing cells (JTL, splitter, confluence, DFF) to roles, (3) explain why RSFQ logic is almost always gate-level pipelined, (4) place ERSFQ and AQFP as related-but-different families, and (5) know which follow-on concept cards deepen each idea without inventing paper-specific numbers.
Why this matters¶
Rapid Single Flux Quantum (RSFQ) is the default vocabulary of superconducting digital electronics in this curriculum. Papers, cell libraries, and EDA tools assume you already think in SFQ pulses, storage loops, and clock epochs. If those words still feel fuzzy, go back to Phase to Pulse and Pulse to Logic State before memorizing cell names.
RSFQ is not "CMOS with colder transistors." It is a pulse automaton family built from overdamped Josephson junctions, inductors, and bias networks. Boolean meaning lives in whether a event happened in a timing window, and in whether a loop still holds circulating flux.
See also: Glossary --- RSFQ, SFQ pulse, clock window, , JTL, splitter, confluence, DFF, bias current.
Intuition --- pulses, not rails¶
In ordinary CMOS digital logic, a wire holds a voltage level. In RSFQ:
- Logic 1: an SFQ pulse arrives in the relevant timing window, or a storage loop holds one flux quantum until a clocked readout.
- Logic 0: no pulse in that window / empty storage loop.
A single SFQ voltage spike is brief (picoseconds) and tiny in amplitude, but its time integral is fixed by flux quantization:
That shared "token size" is why designers talk about fluxons as information tokens: ideal pulses are interchangeable in area; meaning comes from which cell and which epoch.
Most RSFQ library cells are clocked machines. They do not sit as deep unsynchronized combinational clouds. Each cell waits for data and/or clock pulses, updates internal loop state, and may emit an output pulse in a later window. That is why the bridge Gate-Level Pipelining sits next to every RSFQ datapath discussion.
Three layers of meaning when you read "RSFQ gate" on a block diagram:
- Physics: overdamped JJ slips → pulses; loops store fluxoids.
- Circuit: library cell with data/clock pins, bias taps, short interconnect stubs.
- System: one stage in a gate-level pipeline whose legality is about epochs, not static levels.
Analogy --- batons on a timed track¶
Think of each logic "1" as a baton handed from runner to runner.
- Empty hands in a time slot = logic 0.
- A baton present when the starter pistol (clock) fires = a stored or launched 1.
- Junctions along the track (JTL stages) regenerate a fresh baton rather than letting a limp rope stretch and fray.
- Waiting rooms (DFFs) hold one baton until the next pistol.
The analogy is about discrete tokens + timing slots, not about literal mechanical batons inside niobium. The physics underneath remains Josephson phase slips and quantized flux in loops.
Picture --- the RSFQ cell map¶
flowchart TD
Pulse[SFQ pulses / Φ0 tokens] --> JTL[JTL: move and regenerate]
Pulse --> Split[Splitter: fanout copy]
Pulse --> Conf[Confluence: merge with rules]
Pulse --> DFF[DFF: store until clock]
JTL --> Gates[Clocked logic gates]
Split --> Gates
Conf --> Gates
DFF --> Gates
Gates --> Out[Next epoch pulses]
Bias[DC bias network] -.-> Gates
Bias -.-> JTL
Bias -.-> DFF
CMOS-ish cartoon (levels) RSFQ cartoon (windows)
V | ¯¯¯¯ 1 ____ 0 epochs | T1 | T2 | T3 |
|____/ \____ pulse | ★ | | ★ |
time bit | 1 | 0 | 1 |
Minimal one-bit pipeline (field cartoon):
DC/SFQ ──► JTL ──► DFF ──► JTL ──► SFQ/DC
│ ▲
│ CLOCK (via splitter tree)
└── regenerates Φ0 along the way
Interactive lab¶
Try this in place. Prefer full-screen? Open the lab page.
- Click each plumbing cell (JTL / splitter / confluence / DFF) and read its job.
- Toggle epoch bits and Generate 3 epochs --- presence/absence in windows is the encoding.
sequenceDiagram
participant D as Data pulse
participant C as Cell / loop
participant K as Clock pulse
participant O as Output
D->>C: write Φ0 (or miss → empty)
K->>C: readout request
alt loop full
C->>O: emit SFQ pulse, clear
else loop empty
C->>O: no data pulse
end
Core building blocks (map)¶
| Cell | Role in one line | Deepen here |
|---|---|---|
| JTL | Actively move and regenerate pulses; also a delay knob | JTL Interconnects |
| Splitter | One pulse in → two pulses out (fanout) | Splitter and Confluence |
| Confluence | Merge two lines onto one when timing allows | Splitter and Confluence |
| DFF | Store up to one until clocked readout | RSFQ DFF and Retiming |
Other library cells (AND, OR, XOR, NDRO, TFF, inverter variants, ...) reuse the same vocabulary: overdamped junctions, loops that hold or release flux, and clock/data pulse pins. You do not need every schematic on day one; you need the roles.
What an RSFQ cell is made of (public sketch)¶
A typical cell is not a single junction. It is a small network:
- Overdamped Josephson junctions --- pulse switches with McCumber (Overdamped vs underdamped).
- Inductors / superconducting loops --- store circulating current corresponding to or flux quantum (loop / SQUID).
- Bias taps --- DC currents that hold junctions near their switching thresholds so a small trigger can launch a pulse (Resistive bias → ERSFQ).
- Interconnect stubs --- often short JTLs at the pins so pulses enter and leave cleanly.
Public rule: if a schematic shows many "X" marks for junctions and loops between them, you are looking at RSFQ-style pulse automata --- not CMOS transistors tied to .
Bias is part of the logic story¶
Even before you open the ERSFQ card, remember: every ready junction sits near because of bias current. Classical resistive taps burn static heat; energy-efficient feeding and serial biasing attack different slices of the power problem. RSFQ teaching without bias is unfinished.
Encoding table (keep this mental model)¶
| Question | RSFQ answer |
|---|---|
| What is a "1" on a wire? | An SFQ pulse in a defined clock/data window |
| What is a "1" in a register? | Circulating in a storage loop until readout |
| What is a "0"? | No pulse / empty loop |
| Are all "1" pulses identical? | Ideally same area ; meaning is which window / which pin |
| What synchronizes computation? | Pervasive clock pulses (and sometimes asynchronous cousins --- advanced) |
| What is interconnect? | Often active JTL; long hops may use PTL |
| What is fanout? | Splitter trees, not free Verilog wires |
| What aligns reconvergence? | Path balancing with DFFs/JTLs |
CMOS contrast¶
| Topic | Typical CMOS digital | Typical RSFQ |
|---|---|---|
| Information token | Voltage / charge on | Flux quantum (pulse or circulating) |
| Combinational cloud | Deep unsynchronized logic possible | Usually gate-level pipelined |
| Flip-flop | Edge-triggered FF storing node voltage | DFF storing flux until clocked escape |
| Fanout | Capacitive load; buffers | Splitter trees |
| Wire | Metal RC; repeaters | JTL regenerate; long hops may use PTL |
| Power story | Dynamic + leakage on rails | Bias network heat + switching; ERSFQ later |
| Timing | Setup/hold at FFs | Windows at many clocked cells + path balance |
| Clock | Regional grid to registers | Pulse tree into most cells |
Use CMOS vs SFQ as the full cheat sheet; this page is the RSFQ entry point into that table.
Worked example 1 --- Read a three-window trace¶
Suppose a clocked cell sees the following arrivals in successive epochs :
| Epoch | Data pulse? | Stored before clock? | Clock arrives? | Output pulse? |
|---|---|---|---|---|
| yes | becomes full | yes | yes (reads out the 1) | |
| no | empty | yes | no | |
| yes | full | yes | yes |
Interpreted bit stream at the output windows: 1, 0, 1.
Notice: the voltage height of each spike is not the Boolean value. The Boolean value is presence vs absence aligned to the clock. That is the entire encoding lesson in one table.
Worked example 2 --- One-bit instrumented pipeline¶
A teaching bench often builds:
Step sequence:
- A slow lab edge enters a DC/SFQ converter and becomes one SFQ pulse.
- JTL stages walk the pulse forward, regenerating at each junction.
- The DFF captures the pulse into a loop (stores 1) or stays empty (0).
- A clock pulse (usually from a splitter tree) reads the DFF: stored 1 → output SFQ pulse and clear; empty → no data out.
- SFQ/DC (or a similar monitor) turns the picosecond pulse into something an oscilloscope can see.
Real chips add many splitters (fanout), many DFFs (path balancing), and bias networks. The cartoon above is enough to orient every later card.
Worked example 3 --- Why "combinational depth" is the wrong first question¶
In CMOS you might ask: "How many gates deep is this ALU cloud before the next FF?"
In RSFQ you more often ask: "How many clocked stages sit on each path, and do reconvergent paths share an epoch?"
If path A has 2 stages and path B has 5 stages into the same gate, you insert padding (usually DFFs) on A --- see Path Balancing Overhead. That is not an EDA quirk; it follows from pulse-window encoding.
Public pad cartoon:
Worked example 4 --- Place ERSFQ and AQFP without confusion¶
| Family | Encoding / feel | What changes vs classical RSFQ teaching |
|---|---|---|
| RSFQ (resistive bias) | Pulses / loops | Default vocabulary on this page |
| ERSFQ | Still pulses / loops | Bias feeding / static heat story |
| AQFP | Multiphase AC, parametron-like | Different family --- not "RSFQ with AC" |
Public curriculum teaches all three as vocabulary; do not merge them.
Worked example 5 --- Clock is a distributed pulse tree¶
"Provide a clock" in RSFQ does not mean one CMOS edge into a register file. It means a splitter tree delivering SFQ clock pulses to many cells, with skew that STA must see, and with a chosen concurrent- or counter-flow geography relative to data.
Worked example 6 --- Design checklist for a tiny block¶
Before calling a block "done" in your head:
- Encoding: every wire's bit meaning is a window, not a DC level.
- Plumbing: data moves on JTLs; fanout uses splitters; merges use confluence carefully.
- Storage: state lives in DFFs/loops until clocked escape.
- Balance: reconvergences have matched stage counts.
- Clock: leaves exist for every clocked cell; skew is budgeted.
- Bias: taps and heat/ampere story are acknowledged (ERSFQ, DC bias).
- Timing: setup-/hold-like windows are thinkable even before a named STA tool (STA).
Common misconceptions¶
- "RSFQ bits are millivolt DC levels." No. Levels may appear in interface circuits; RSFQ logic itself is pulse/loop based.
- "One big clock edge updates a CMOS-like register file and the rest is combinational." RSFQ defaults to many clocked cells; clocks are everywhere.
- "A wire is free." Active JTLs cost junctions, bias, and delay; long spans may need PTL hybrids (Hybrid JTL-PTL).
- "Splitter = CMOS buffer with infinite fanout." Fanout is discrete: each splitter is typically fanout-2; trees add delay and skew.
- "ERSFQ invents a new Boolean encoding." ERSFQ keeps pulse logic; it changes bias / static power (ERSFQ).
- "AQFP is just RSFQ with AC." Different family: multiphase AC, adiabatic parametron-style cells (AQFP).
- "If I memorize cell names I can skip bridges." Encoding and pipelining bridges prevent permanent confusion.
- " area means Boolean magnitude." Area fixes the token size; Boolean meaning is presence/absence in a window.
- "Path balancing is optional EDA fluff." Epoch match is part of correctness (path balancing).
- "RSFQ is quantum computing because flux is quantized / Josephson." Classical pulse logic. For the QC contrast see qubits ≠ SFQ.
Bridge to SFQ circuits¶
After this overview, the core walk visits plumbing first (move, copy, merge, store), then bias/energy families, then clocking and timing:
- JTL Interconnects
- Splitter and Confluence
- RSFQ DFF and Retiming
- Gate-Level Pipelining (bridge)
- Resistive Bias to ERSFQ → ERSFQ → AQFP
Track map: SFQ Logic Primitives Roadmap. Neighbor contrast (optional): qubits ≠ SFQ.
What stays private¶
Measured clock frequencies, process-specific cell margins, full library schematics tied to one PDK, and paper bake-offs of RSFQ vs ERSFQ vs AQFP numbers belong in private paper explainers --- not on this public overview.
Check yourself¶
1. What replaces CMOS voltage levels as the native RSFQ information token?
Presence or absence of SFQ pulses (area ) in timing windows, and circulating flux in storage loops.
2. Name the four core plumbing cells and one verb each.
JTL (move/regenerate), splitter (copy/fanout), confluence (merge), DFF (store until clock).
3. Why are RSFQ gates usually not deep unsynchronized combinational clouds?
Cells are typically clocked pulse machines; meaning is tied to epochs, so designs are gate-level pipelined.
4. A trace shows pulses in windows and only. What bit string is that?
for those three successive windows (presence = 1, absence = 0).
5. Does ERSFQ change the bit encoding or mainly the bias/power story?
Mainly the bias/power story; it still speaks SFQ pulse / flux-storage language.
6. Why do splitter trees appear even for a "simple" clock?
One source must fan out to many clocked cells; each splitter is typically fanout-2, so trees are required and they add delay/skew.
7. What does tell you about an ideal SFQ pulse?
Its time-integrated area is fixed by flux quantization --- the shared token size --- not that peak voltage is the Boolean bit.
8. Path A has 2 clocked stages and path B has 5 into one gate. What public fix do you expect?
About padding stages (often DFFs) on path A so both share an epoch.
9. Name three layers of meaning behind "RSFQ gate."
Physics (JJ slips / loops), circuit (library cell + bias), system (pipeline stage / epoch legality).
10. Why is bias part of the RSFQ story even before ERSFQ?
Junctions sit near because of bias current; without that readiness, pulse automata do not switch cleanly --- and bias networks set much of the power story.
Next steps¶
- Move pulses actively and use delay stages: JTL Interconnects.
- Why every gate is a stage: Gate-Level Pipelining.
- Track overview: SFQ Logic Primitives Roadmap.
- Quick CMOS remapping: CMOS vs SFQ.
- Plain terms: Glossary.