Protocol Variants
pgp-pcie-apps carries four protocol layers under
firmware/common/. They share the same DMA interface contract and
the same three-layer target decomposition (Architecture),
but differ in framing, line rate, and forward error correction.
Common Contract
Every protocol layer exposes the same Hardware entity signature:
dmaClk/dmaRstfrom<Board>CoredmaObMasters[N-1:0]/dmaObSlaves[N-1:0](host → FPGA)dmaIbMasters[N-1:0]/dmaIbSlaves[N-1:0](FPGA → host)axilReadMaster/axilReadSlave/axilWriteMaster/axilWriteSlavefor protocol-layer registersThe board’s QSFP / SFP differential pairs
Targets swap one protocol for another by changing exactly one
loadRuckusTcl line in their ruckus.tcl (see
Select a Protocol — PGP2b vs PGP3 vs PGP4 vs HTSP).
PGP2b
Line rates: 1.25, 2.5, 3.125 Gbps.
Virtual channels: up to 8 lanes × 4 VCs.
FEC: none.
When to use: legacy detectors; pre-existing PGP2b firmware ecosystems.
PGP3
Line rates: 6.25, 10.3125 Gbps.
VCs: up to 8 lanes × 4 VCs.
FEC: optional Reed-Solomon (PGP3 RS-FEC).
When to use: detectors and DAQ links in the 6.25–10 Gbps range where PGP2b is too slow.
PGP4
Line rates: 6.25, 10.3125, 12.5, 15.46875, 25 Gbps.
VCs: up to 8 lanes × 4 VCs.
FEC: optional Reed-Solomon (PGP4 RS-FEC). Required at 25 Gbps.
When to use: default for new designs unless you need 100 Gbps.
Three target-level generics drive PGP4 configuration:
RATE_G : string— line rate string (“6.25Gbps”, “10.3125Gbps”, “12.5Gbps”, “15.46875Gbps”, “25Gbps”). Drives QPLL configuration.NUM_VC_G : positive— VC count (typically 4).PGP_FEC_ENABLE_G : boolean— FEC enable. Must betrueat 25 Gbps; optional at lower rates.
HTSP
Aggregate rate: 100 Gbps per QSFP (4 × 25 GbE lanes).
Framing: 802.3 Ethernet-style with KP-FEC; not VC-based.
When to use: detector farms or other workloads requiring ≥100 Gbps aggregate throughput per cage.
HTSP replaces PgpLaneWrapper with HtspWrapper in the protocol
layer. Software exercises it via
software/scripts/HtspTesting.py. Because HTSP is not VC-based, the
per-lane register layout differs from PGP — see HtspWrapper’s own
register set.
Trade-Off Summary
Protocol |
Max line rate |
FEC |
VC model |
Notes |
|---|---|---|---|---|
PGP2b |
3.125 Gbps |
No |
Yes (4 VC) |
Lowest complexity; legacy. |
PGP3 |
10.3125 Gbps |
Optional |
Yes (4 VC) |
Mid-range. |
PGP4 |
25 Gbps |
Optional (req’d at 25 G) |
Yes (4 VC) |
Default for new designs. |
HTSP |
100 Gbps aggregate |
KP-FEC (mandatory) |
No (single stream) |
Use for high-rate detector farms. |