/block?b=<slug> serves twelve functional blocks from one document. All twelve
render their derived half in full: the interface (four boundary relations,
stem-collapsed), the circuit walked with the workbench's engine and stopped at
the block's edge, the measured counts and die extent.
Only the ALU has the authored half — a reading of what the block does, and
labs that run on the chip.
This is deliberate rather than unfinished. A page with no notes renders no
heading at all, because a heading over an apology is worse than no heading, and
eleven placeholder paragraphs would be worse than eleven pages that are honestly
all measurement.
The remaining eleven
pads, instruction-register, decode-pla, control-pipeline, timing-chain,
interrupts, program-counter, registers, status-register,
address-latches, data-bus.
How to write one, in order
- Run
_block-probe.html for that block first. The house rule: prose is
written from a dump of what the chip did, never from a datasheet. Writing
plausible sentences about silicon is easy and noticing afterwards that they
are wrong is not.
- Add an entry to
web/block-notes.js — slug, start signal, lede, sections,
labs. It is the one authored table on these pages and is deliberately not
tagged measured.
- Labs are offsets from an instruction's own opcode fetch, found by running
until sync && lastFetchAddr == at. Never a remembered half-cycle number:
reset timing moving would shift every step by the same amount and the page
would go on looking exactly as convincing.
- Lab checks are functions, not expression strings. The CSP has no
unsafe-eval.
_block-test.html re-checks every claim against the engine, and scans the
prose for typed-in numbers.
The ALU entry is the worked example, including what came out of asking which
control lines reach into that block: five ways in, five functions, three ways
out, each gating exactly eight switches except the output pair, which splits 7
and 1 — and that split is the shifter.
/block?b=<slug>serves twelve functional blocks from one document. All twelverender their derived half in full: the interface (four boundary relations,
stem-collapsed), the circuit walked with the workbench's engine and stopped at
the block's edge, the measured counts and die extent.
Only the ALU has the authored half — a reading of what the block does, and
labs that run on the chip.
This is deliberate rather than unfinished. A page with no notes renders no
heading at all, because a heading over an apology is worse than no heading, and
eleven placeholder paragraphs would be worse than eleven pages that are honestly
all measurement.
The remaining eleven
pads,instruction-register,decode-pla,control-pipeline,timing-chain,interrupts,program-counter,registers,status-register,address-latches,data-bus.How to write one, in order
_block-probe.htmlfor that block first. The house rule: prose iswritten from a dump of what the chip did, never from a datasheet. Writing
plausible sentences about silicon is easy and noticing afterwards that they
are wrong is not.
web/block-notes.js— slug,startsignal, lede, sections,labs. It is the one authored table on these pages and is deliberately not
tagged
measured.until
sync && lastFetchAddr == at. Never a remembered half-cycle number:reset timing moving would shift every step by the same amount and the page
would go on looking exactly as convincing.
unsafe-eval._block-test.htmlre-checks every claim against the engine, and scans theprose for typed-in numbers.
The ALU entry is the worked example, including what came out of asking which
control lines reach into that block: five ways in, five functions, three ways
out, each gating exactly eight switches except the output pair, which splits 7
and 1 — and that split is the shifter.