DexterLab

🎂 🎉 🎈 🤖 💡 📈 🧱 ⭐ 🥂DexterLab turns one year old 🎂 🎉 🎈 🤖 💡 📈 🧱 ⭐ 🥂🔥 New release: DexterLab Parser AXI‑Lite Documentation Suite (2026 Edition)🔥 AXI‑Full Edition updated — unified command interface + full docs🔥 Roadmap updated: AHB‑Full/Lite + AXI‑Full→AHB‑Full bridge in development📘 Unified command architecture — new documentation planned📘 Timing diagrams and bus models expanding with AXI‑Lite & AHB support📘 Theory ↔ Design Library integration continues across all backends

Skid Buffers — Architecture & Implementation Notes

Overview

A skid buffer is a two‑entry elastic buffer designed to break long combinational ready paths while preserving full throughput in valid/ready pipelines. It provides one cycle of elasticity without introducing bubbles, enabling high‑frequency timing closure in deep or wide datapaths.
Skid buffers are widely used in AXI‑Stream interfaces, NoC routers, DSP pipelines, and any system where backpressure must be registered without sacrificing performance.

A skid buffer guarantees:

  • full throughput (1 word/cycle)
  • no bubble injection
  • registered ready path
  • bounded backpressure propagation
  • deterministic 0–1 cycle latency

1. Why Skid Buffers Are Needed

Modern pipelines often suffer from:

  • long combinational ready paths
  • high fan‑out on ready signals
  • variable‑latency blocks that stall unpredictably
  • timing violations on backpressure paths
  • bubble injection when ready is registered

Registering the ready signal solves timing issues but introduces bubbles.
Skid buffers eliminate these bubbles by storing one extra word during stalls.

They are essential when:

  • Fmax is limited by ready‑path timing
  • backpressure must be registered
  • throughput must remain 100%
  • pipeline stages must be decoupled cleanly

2. Architectural Principles

A skid buffer consists of:

  • primary register (pipeline register)
  • skid register (extra storage for stalled cycles)
  • bypass path (zero‑latency forwarding when empty)
  • registered ready path (timing closure)

Operating modes

  • Bypass mode: no data stored, data flows directly
  • Skid mode: downstream stalls, data is captured in the skid register
  • Drain mode: downstream resumes, skid register drains first

Key properties

  • no bubbles even with registered ready
  • 1‑cycle elasticity
  • deterministic behavior
  • safe for deep pipelines
  • compatible with any valid/ready interface

3. Skid Buffer vs Elastic Buffer

Skid buffers are a specialized form of elastic buffer optimized for timing closure.

Skid buffers are the preferred solution when timing closure is the primary concern.

4. Flow‑Control Behavior

Skid buffers integrate tightly with valid/ready flow control.

Upstream behavior

  • ready is registered → no long combinational paths
  • backpressure propagates one cycle later
  • no data loss because the skid register absorbs the extra word

Downstream behavior

  • when downstream stalls, the next word is stored
  • when downstream resumes, the stored word is delivered first
  • no bubbles appear at the output

Throughput guarantee

If both sides are ready every cycle:

  • throughput = 1 word/cycle
  • latency = 0 cycles (bypass mode)

If downstream stalls:

  • throughput remains 1 word/cycle after stall
  • latency increases to 1 cycle only during drain

5. Implementation Styles

1. Classic 2‑Register Skid Buffer

The canonical implementation:

  • reg_data: primary pipeline register
  • reg_skid: skid register
  • valid_data, valid_skid flags
  • registered ready path

This is the most widely used version in AXI‑Stream.

2. Distributed Skid Buffers

Multiple skid buffers placed across a pipeline:

  • break long ready paths
  • reduce fan‑out
  • isolate slow blocks
  • improve retiming flexibility

Used in:

  • DSP pipelines
  • multi‑stage arithmetic units
  • packet processing pipelines

3. Wide Skid Buffers

For wide datapaths (256–1024 bits):

  • registers are replicated
  • ready path is still registered
  • bypass logic must be optimized

Used in:

  • PCIe/USB4 datapaths
  • high‑bandwidth NoC routers

6. Practical Considerations

Timing Closure

Skid buffers are one of the most effective tools for:

  • breaking long ready paths
  • reducing combinational fan‑out
  • isolating slow functional blocks
  • enabling retiming across pipeline boundaries

Bubble Prevention

Without skid buffers:

  • registered ready introduces bubbles
    With skid buffers:
  • bubbles are eliminated
  • throughput remains 100%

Variable‑Latency Blocks

Skid buffers absorb single‑cycle stalls from:

  • multipliers
  • dividers
  • arbiters
  • memory accesses

Placement Guidelines

Place skid buffers:

  • at pipeline boundaries
  • before/after variable‑latency blocks
  • before wide multiplexers
  • after deep combinational logic

CDC Boundaries

Skid buffers are not used for clock‑domain crossing.
Use asynchronous FIFOs instead.

7. Use Cases

Skid buffers appear in:

  • AXI‑Stream interfaces
  • NoC routers
  • DSP pipelines
  • packet processing engines
  • multi‑stage arithmetic units
  • high‑frequency datapaths
  • pipelines with registered ready paths

They are one of the most important micro‑architectural primitives in modern digital design.

Related Pages

Summary

Skid buffers are two‑entry elastic buffers designed to break long ready paths while preserving full throughput in valid/ready pipelines. They eliminate bubble injection, provide deterministic 0–1 cycle latency, and enable high‑frequency timing closure in deep or wide datapaths.

As a specialized form of elastic buffer, they are essential in AXI‑Stream interfaces, DSP pipelines, NoC routers, and any system requiring robust, high‑performance flow control.