Throughput Conventions in FPGA-Based Systems
- Updated2026-03-17
- 4 minute(s) read
Throughput Conventions in FPGA-Based Systems
Learn how to interpret throughput metrics across FPGA‑based systems by using consistent units, conversions, and multi‑channel scaling rules.
Throughput in FPGA‑based systems can appear in different unit conventions depending on the data‑path design. The following sections describe how to interpret these units consistently and how to relate them to multi‑channel behavior and clock‑rate constraints.
Unified Throughput Relationships
- System Throughput = Channel Throughput ÷ Number of Channels
- Channel Throughput = System Throughput × Number of Channels
Throughput Unit Conventions
Unit Conversions
- System Throughput (samples/cycle) = 1 ÷ System Throughput (cycles/sample)
- System Throughput (cycles/sample) = Clock Rate (cycles/second) ÷ Sample Rate (samples/second)
- System Throughput (samples/cycle) = Sample Rate (samples/second) ÷ Clock Rate (cycles/second)
Interpreting Throughput as a Spacing Constraint
In single‑cycle Timed Loop handshaking, throughput is a key concept. Throughput, denoted as Tf, represents the minimum number of clock cycles required. This value is the time that must elapse before a node can accept a new valid input after starting computation.
This definition naturally expresses in cycles/sample, because Tf represents minimum spacing between accepted samples in clock cycles. A smaller Tf supports more frequent acceptance of new samples.
Multi-Channel Designs: Interpretation and Interleaving
- Channel 0 receives the first valid data point.
- Channel 1 receives the second valid data point.
- This pattern continues for subsequent channels.
Interleaving changes interpretation of per‑channel rates because scheduling distributes a single stream of valid samples across channels. Apply the system and the channel throughput relationships to interpret per‑channel rates in interleaved designs.
Timing Report Clock Metrics and Throughput Metrics
- Requested (MHz) indicates the clock rate at which an FPGA VI or an FPGA VI component must operate.
- Maximum (MHz) indicates the theoretical maximum compilation rate for an FPGA VI or an FPGA VI component.
If the Requested (MHz) is greater than the Maximum (MHz), the design does not meet timing constraints. As a result, compilation can fail in the final timing stage.
-
Select cycles/sample to evaluate how frequently a design can accept samples.
-
Select samples/cycle to evaluate how frequently a design can process samples.
-
Select one of these throughput unit to evaluate how frequently a design can produce samples.
Guidance for Use
- Select a primary throughput convention that matches the operating model of
the data path.
- For multi‑cycle scheduling, select cycles/sample.
- For streaming pipelines, select samples/cycle.
- Calculate system throughput from clock rate and sample rate when a design starts with MHz and MS/s requirements.
- Scale between system throughput and channel throughput using the channel count.
- Compare system throughput against Tf values of nodes in a processing chain to identify acceptance‑rate limits.
- Validate timing feasibility using Requested (MHz) and Maximum (MHz) in compilation reports. Timing feasibility constrains usable clock rate.
Examples
Use these examples to relate throughput units, clock rate calculations, and channel-scaling rules.
- Converting cycles/sample and samples/cycle:A clock rate of 40 MHz and a sample rate of 2 MS/s yields 20 cycles per sample. This value corresponds to 0.05 samples per cycle.
- 40,000,000 ÷ 2,000,000 = 20 cycles/sample
- 2,000,000 ÷ 40,000,000 = 0.05 samples/cycle
- Scaling throughput across channels (cycles/sample):A system throughput of 200 cycles/sample across 4 channels yields 800 cycles/sample for channel throughput.
- Channel Throughput = 200 × 4 = 800 cycles/sample
- Scaling throughput across channels (samples/cycle)
-
A system throughput of 0.5 samples/cycle across 8 channels yields 0.0625 samples/cycle per channel.
- Channel Throughput = 0.5 ÷ 8 = 0.0625 samples/cycle per channel
-
Related Information
- Reports Available from the Compilation Status Window
- Scheduling Timing Using Handshaking Signals
- Wiring Single-Input Nodes Using Handshaking
Learn how to connect handshaking terminals between single-input nodes in a Single-Cycle Timed Loop. This process ensures data validity and maintains timing accuracy.