SPI Tunnel Controller
SPI across a link, for example a SerDes SPI bridge, handled in hardware.
Overview
The SPI Tunnel Controller carries SPI transactions across a link, for example the SPI bridge of a SerDes. It runs the bridge protocol in logic: handshake, subordinate-select control commands, stale-buffer drain and timeout with safe release of the remote select. Commands are 1 to 15 bytes. The local bus is fixed to SPI mode 0, as the bridge requires.
Features
- Bridge protocol in logic: handshake and subordinate-select control commands
- Stale-buffer drain
- 1–15-byte commands
- Timeout with safe release of the remote select
- Debug state output
- Local bus fixed to SPI mode 0, as the bridge requires
- Single clock domain; synchronous active-high reset; std_logic-only ports; no vendor primitives
- Self-checking testbenches included
Block diagram
Specifications
| Parameter | Value |
|---|---|
| HDL | VHDL, synthesizable |
| Clock domains | 1 (fclk) |
| Reset | Synchronous, active-high |
| SPI mode | 0 (fixed) |
| Command length | 1–15 bytes |
| Protocol | Bridge handshake, select commands, stale-buffer drain |
| Timeout | Safe release of the remote select |
| Debug | State output |
| Port types | std_logic only |
| Vendor primitives | None |
| Verification | Self-checking testbenches |
Interface
| Port | Dir | Width | Description |
|---|---|---|---|
| clk | in | 1 | System clock, fclk |
| rst | in | 1 | Synchronous reset, active-high |
| cmd_data | in | 8 | Command byte |
| cmd_len | in | 4 | Command length, 1–15 |
| cmd_start | in | 1 | Start a command |
| rsp_data | out | 8 | Response byte |
| rsp_valid | out | 1 | Response byte valid |
| busy | out | 1 | Command in progress |
| timeout | out | 1 | Timeout occurred |
| dbg_state | out | n | Debug state |
| sclk | out | 1 | SPI clock to bridge |
| cs_n | out | 1 | Chip select, active low |
| mosi | out | 1 | Data to bridge |
| miso | in | 1 | Data from bridge |
Performance
Throughput depends on the bridge and link configuration. Figures for your setup: ask sales.
Resource utilisation
Supported targets
Vendor-neutral VHDL with no vendor primitives or constraints. The source licence targets any family listed under supported FPGA vendors, including NI LabVIEW FPGA targets through the IP Integration Node. An evaluation netlist is built for one named device and toolchain version.
Deliverables
| Item | Evaluation | Source licence |
|---|---|---|
| Delivered as | Netlist for one named device + toolchain | VHDL source + testbenches |
| Documentation | Datasheet | Datasheet, integration guide, testbench guide |
| Use | Evaluation only, [terms to fill in] | Production, [terms to fill in] |
Documentation
| Document | Format | Availability |
|---|---|---|
| SPI Tunnel Controller — Datasheet | Public | |
| Integration guide | With source licence | |
| Testbench guide | With source licence |