# Schematics Synthesized (RTL-level) schematics of the BBA design, generated from the actual Amaranth elaboration via yosys + graphviz. Regenerate with: ```bash 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.