Files
Dennis Brentjes 5b732a0b34 Adds diagrams.
2026-06-13 19:02:58 +02:00
..
2026-06-13 19:02:58 +02:00
2026-06-13 19:02:58 +02:00
2026-06-13 19:02:58 +02:00
2026-06-13 19:02:58 +02:00
2026-06-13 19:02:58 +02:00
2026-06-13 19:02:58 +02:00
2026-06-13 19:02:58 +02:00
2026-06-13 19:02:58 +02:00

Schematics

Synthesized (RTL-level) schematics of the BBA design, generated from the actual Amaranth elaboration via yosys + graphviz. Regenerate with:

python -m exi_bba.diagram            # all of the below
python -m exi_bba.diagram w5100_master   # just one

Open the .svg files in a browser or VS Code (they're vector — zoom freely).

File What it shows Size
bbatop_blocks.svg Top-level block diagram — BBATop's submodules (ExiCapture, register file, SPRAM arbiter, RX/TX engines, W5100 master, status panel) as boxes with their interconnections. Start here. 186 cells
spi_mode3_slave.svg EXI Mode-3 SPI bit engine (the capture-domain front-end) — shift registers, bit counter, MISO/MOSI logic. 109 cells
spram_arbiter.svg SPRAM priority arbiter — ETH-write-vs-EXI-read mux + the SB_SPRAM read/write ports. 80 cells
tx_frame_drain.svg TX drain FSM — pulls frames from the FIFOs and streams them to the ethernet master with SOF/EOF. 124 cells
status_panel.svg Bring-up panel — heartbeat counter, activity-LED stretchers, button debounce. 180 cells
rx_frame_assembler.svg RX assembler — writes received frames into the SPRAM ring and advances RWP. 284 cells
w5100_master.svg Full W5100 parallel master (bus engine + transaction engine + init/TX/RX FSM). Poster-sized (~1100 cells) — zoom in. 1129 cells

These are RTL views: real muxes ($mux), adders ($add), comparators ($eq), and flip-flops ($dff/$adff) — not the post-place LUT soup. The whole flattened-and-mapped BBATop would be ~2300 LUTs and illegible, which is why the top level is shown as a block diagram and the leaves as per-module RTL.