Evaluates trade-offs between inference latency and hardware resource utilization when deploying variational autoencoders on FPGAs using different synthesis frameworks (SNL vs. hls4ml) and quantization levels. Use when the user has predictions and gold and needs to compute Latency.
Scanned 9/11/2026
Install to Claude Code
npx -y skills add qhjqhj00/research-skills-pool --skill fpga-synthesis-eval --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Fpga Synthesis Eval?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/qhjqhj00-fpga-synthesis-eval)More formats (shields.io, HTML) on the badges page.
---
name: fpga-synthesis-eval
description: Evaluates trade-offs between inference latency and hardware resource utilization when deploying variational autoencoders on FPGAs using different synthesis frameworks (SNL vs. hls4ml) and quantization levels. Use when the user has predictions and gold and needs to compute Latency.
metadata:
skill_kind: metric
source_arxiv: 2411.11678
bibtex_key: jia2024fpgasynthesis
confidence: high
---
# fpga-synthesis-eval
> Analysis of Hardware Synthesis Strategies for Machine Learning in Collider Trigger and Data Acquisition — Jia et al. (2024) (arXiv:2411.11678, 2024)
## What this evaluates
Evaluates trade-offs between inference latency and hardware resource utilization when deploying variational autoencoders on FPGAs using different synthesis frameworks (SNL vs. hls4ml) and quantization levels.
## Datasets
- **Benchmark VAE Models** — total 3; splits: benchmark (3)
## Metrics
- `Latency` **(primary)** — range: other
- Measured inference runtime in microseconds after hardware synthesis on an Alveo U200 FPGA at a 200 MHz clock rate.
- `Resource Usage` — range: other
- Counts of consumed hardware resources: Block RAMs, Digital Signal Processors, Flip-Flops, and Look-Up Tables on the target FPGA.
## Input / output format
**Input**: VAE model architecture specifications (layer node counts) and post-training quantization precision settings (ap_fix<32,16> or ap_fix<16,8>).
**Output**: Synthesis reports containing resource consumption counts (BRAM, DSPs, FFs, LUTs) and measured inference latency in microseconds for each synthesis strategy.
## Scoring recipe
```python
def evaluate_synthesis(synthesis_log, target_fpga_resources):
latency_us = parse_latency(synthesis_log)
resources = {
'BRAM': parse_resource_count(synthesis_log, 'BRAM'),
'DSPs': parse_resource_count(synthesis_log, 'DSPs'),
'FFs': parse_resource_count(synthesis_log, 'FFs'),
'LUTs': parse_resource_count(synthesis_log, 'LUTs')
}
out_of_resources = any(resources[k] > target_fpga_resources[k] for k in resources)
return {'latency_us': latency_us, 'resources': resources, 'out_of_resources': out_of_resources}
```
## Common pitfalls
- Parallel vs. streaming data flow architectures differ between frameworks, making direct latency/resource comparisons sensitive to I/O configuration.
- Resource limits of the target FPGA (Alveo U200) can cause synthesis failures or out-of-resource errors for certain strategies/model sizes.
- Quantization precision (ap_fix) significantly impacts both latency and resource counts, requiring careful matching across strategies.
## Evidence (verbatim from paper)
> Results are given as comparisons of resource usage and latency for the FPGA inference runs between SNL and h1s4ml syntheses. The resources considered are those of a modern FPGA, specifically block random access memory (BRAM), digital signal processors (DSPs), flip-flops (FFs), and look-up tables (LUTs).
## Citation
```bibtex
@misc{jia2024fpgasynthesis,
title={Analysis of Hardware Synthesis Strategies for Machine Learning in Collider Trigger and Data Acquisition},
author={Jia et al. (2024)},
year={2024},
note={arXiv:2411.11678}
}
```
- arXiv: 2411.11678
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!