Skip to content

Eleven block pages have no written half #2

Description

@isenbek

/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

  1. 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.
  2. 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.
  3. 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.
  4. Lab checks are functions, not expression strings. The CSP has no
    unsafe-eval.
  5. _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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions