rtl/server_dispatch_unit.sv — Server Dispatch Unit (SDU, historical)
The original opcode router, superseded by noc_router.sv in v3. Not instantiated anywhere in the current design — kept in the tree purely for reference/history, since it's functionally identical to noc_router.sv (same routing table, same cpu_accept pulse convention) and documents where that convention came from. See progression.md for the v1→v3 history.
Where it fits
Nowhere, currently. If you're reading RTL and see server_dispatch_unit, you're looking at the pre-NoC-router SoC (v1/v2) shape — the live router is noc_router.sv, instantiated by base_die_top.sv.
Ports
Identical shape to noc_router.sv:
| Direction | Name | Width | Description |
|---|---|---|---|
| in | clk, rst_n |
1, 1 | Clock / reset |
| in | net_valid |
1 | Incoming instruction valid |
| out | net_ready |
1 | Backpressure to the network source |
| in | net_instruction |
32 | Incoming instruction word |
| out | cpu_valid |
1 | CPU dispatch valid |
| out | cpu_accept |
1 | 1-cycle combinational pulse: instruction accepted for CPU |
| in | cpu_ready |
1 | CPU pipeline ready |
| out | cpu_instruction |
32 | CPU-bound instruction |
| out | gpu_valid |
1 | GPU dispatch valid |
| in | gpu_ready |
1 | GPU co-processor ready |
| out | gpu_instruction |
32 | GPU-bound instruction |
| out | npu_valid |
1 | NPU dispatch valid |
| in | npu_ready |
1 | NPU ready |
| out | npu_instruction |
32 | NPU-bound instruction |
Functionality
Same routing decode matrix as noc_router.sv (0x37/0x17/0x6F/0x67/0x63/0x03/0x23/0x13/0x33 → CPU, 0x57 → GPU, 0x6B → NPU, else dropped), same cpu_accept single-pulse semantics, same backpressure equation. The two files diverged only in naming/comments as the project renamed "SDU" to "NoC router" once the UCIe/chiplet framing made "network-on-chip" the more accurate term for what this module does.
Example
See noc_router.md — the behavior is identical; this file is the historical name for the same mechanism.
Related
- noc_router.md — the module that actually runs today
- sdu.md — the original prose writeup of this module (routing table, handshake protocol,
cpu_acceptpulse) - progression.md — v3 "NoC Router" section documents the rename/replacement