Lot 06 · Bus · In design
The 32-bit highway — write-back mux and bus arbitration.
Finish this lot first: it unblocks every slice that reads or writes the shared word. Tri-state discipline, 74ACT541 buffers, 74ACT138 decoders — 9 ns mux instead of 52 ns cascading 151 topology.
A naïve 32-bit mux bank costs hundreds of millimetres and a sluggish cascade. Tomato’s datapath uses a rigid tri-state common bus: each contributor drives through matched enables, one-hot decode, the same idea as the display scan. Contention is not theoretical—at bring-up clocks the overlap window is small, and the rule is simple: one active driver per bus.
Sheets
wb_mux.kicad_sch — 8-to-1, 32-bit write-back selection onto the highway. bus_arbitration.kicad_sch — who may drive, when, and how decode enables fan out without fighting. Digital already has the behaviour from the front-page datapath chapter; this board makes the fanout physically tolerable.
- Write-back mux
- 9 ns · tri-state bus
- vs cascade
- 52 ns · 151 tree (rejected)
- Status
- In design · priority while ALU fabs
- Project
hardware/kicad/boards/06_data_bus/
Related journal: Designing additional boards · Why the muxes left.