HLS Design Collection¶
The HLS Design Collection is a community-organized effort to build the largest collection of HLS designs available in one place. It is a major effort within HLSFactory, bringing together curated HLS design corpora from across the research community. Designs can be copied into your working directory through hlsfactory.datasets_builtin.datasets_builder. The table below gives a quick summary of what is currently packaged. Totals are derived from the sources in hlsfactory/hls_dataset_sources/.
Getting started: For a first run, use polybench (small, OptDSL-ready) or vitis_examples (validates your toolchain). For ML/QoR work, polybench + machsuite + chstone are commonly used together.
Key |
Dataset |
Designs |
Flow Coverage |
OptDSL Templates |
Notes |
|---|---|---|---|---|---|
|
PolyBench |
9 |
Xilinx (Vitis HLS + Vivado) |
All designs |
Classic polyhedral kernels with rich pragma spaces. |
|
MachSuite |
18 |
Xilinx (Vitis HLS + Vivado) |
All designs |
Diverse compute kernels representative of embedded workloads. |
|
CHStone |
2 |
Xilinx (Vitis HLS + Vivado) |
All designs |
Control-heavy benchmarks popular in HLS studies. |
|
Parallel Programming for FPGAs |
5 |
Xilinx (Vitis HLS + Vivado) |
Not provided |
Examples aligned with the PP4FPGAs textbook. |
|
Vitis Introductory Examples |
23 |
Xilinx (Vitis HLS + Vivado) |
Not provided |
Direct import of AMD’s getting-started designs. |
|
Catapult Test Designs |
2 |
Siemens Catapult HLS |
Not provided |
Small vector-add and dot-product kernels for toolchain validation. |
|
Stratus Test Designs |
2 |
Cadence Stratus HLS |
Not provided |
Small streaming arithmetic modules for toolchain validation. |
|
XLS Test Designs |
11 |
Google XLS |
Not provided |
Small DSLX kernels covering feed-forward functions, stateful processes, and mixed function/proc designs. |
|
Altera Reference Designs |
17 |
Altera HLS IP Gen |
Not provided |
All 17 upstream reference-design folders, with synthesis and Quartus implementation configurations. Matmul and merge sort also support simulation. See the Altera tutorial. |
|
Sharc Lab Accelerators |
7 |
Xilinx (Vitis HLS + Vivado) |
Not provided |
Custom accelerator kernels spanning FlowGNN, DGNN-Booster, MaskNet, SkyNet, and Edge-MoE. |
|
SODA |
11 |
Xilinx (Vitis HLS + Vivado) |
Not provided |
Data-flow streaming designs from the SODA project. |
|
HP-FFT |
16 |
Xilinx (Vitis HLS + Vivado) |
Not provided |
Parameterized FFT accelerators with a range of unroll factors and design points. |
|
Stream-HLS |
77 |
Xilinx (Vitis HLS + Vivado) |
Not provided |
Transformer-inspired dataflow workloads and classic kernels from the Stream-HLS suite. |
|
AutoNTT |
Varies |
Xilinx (Vitis HLS + Vivado) |
Not provided |
Automated NTT generator with reference kernels and scripts for producing new design variants. |
|
ForgeBench |
45 |
Xilinx (Vitis HLS + Vivado) |
Not provided |
Proposed machine-learning benchmark suite spanning GEMM kernels, DNN blocks, and transformer components for stressing next-gen flows. |
The keys in the first column are the values you pass to datasets_builder.
Most production datasets currently target Xilinx; the small Catapult, Stratus,
and XLS datasets are intended for validating those toolchains.
Using the Datasets¶
How to load –
datasets_builder(work_dir, ["polybench", "machsuite"])copies the selected sources intowork_dirand returns aDesignDatasetCollectionthat you can feed into flows.Structure – Each design directory contains the original HLS sources, an
hlsfactory.tomlflow configuration, and tool entry points such asdataset_hls.tclfor Vitis HLS orsynth.tclfor Catapult. Some datasets also includeopt_template.tclfor OptDSL enumeration.Licensing – Datasets preserve the upstream licensing terms of their original repositories. Review the source links below if you plan to redistribute derivatives.
Contributing Your HLS Designs¶
HLSFactory welcomes open-source HLS designs from the community. If you have designs you would like to add to the collection, or need help integrating them, please reach out—we are more than happy to assist.
Dataset Details¶
PolyBench (polybench)¶
Upstream: Project page
Best for: Evaluating pragma exploration; every kernel includes an OptDSL template and Vitis-compatible Tcl scripts.
Notes: Designs are mirrored from the PolyBench/C suite and adapted for HLSFactory. The dataset offers both “abstract” designs (enumerated through OptDSL) and ready-to-run concrete variants.
Citation:
[n. d.]. PolyBench. https://web.cse.ohio-state.edu/~pouchet.2/software/polybench/
MachSuite (machsuite)¶
Upstream: Website, Repository, Publication
Best for: Memory- and compute-bound kernels spanning stencil, dense linear algebra, and streaming workloads.
Notes: Most designs include OptDSL templates. The
common/directory from the upstream repo is skipped when copying so that each design remains self-contained.
Citation:
Brandon Reagen, Robert Adolf, Yakun Sophia Shao, Gu-Yeon Wei, and David Brooks. [n. d.]. MachSuite: Benchmarks for Accelerator Design and Customized Architectures. In 2014 IEEE International Symposium on Workload Characterization (IISWC) (2014-10). 110–119. https://doi.org/10.1109/IISWC.2014.6983050
CHStone (chstone)¶
Best for: Control-oriented examples (JPEG, AES) that complement the more DSP-heavy suites.
Notes: Small but useful for regression tests. OptDSL templates cover the full dataset.
Citation:
Yuko Hara, Hiroyuki Tomiyama, Shinya Honda, Hiroaki Takada, and Katsuya Ishii. [n. d.]. CHStone: A Benchmark Program Suite for Practical C-based High-Level Synthesis. In 2008 IEEE International Symposium on Circuits and Systems (ISCAS) (2008-05). 1192–1195. https://doi.org/10.1109/ISCAS.2008.4541637
Parallel Programming for FPGAs (pp4fpgas)¶
Upstream: Book, Repository
Best for: Educational kernels aligned with the PP4FPGAs text.
Notes: Designs ship as concrete implementations with Xilinx Tcl scripts; OptDSL scaffolding is not yet supplied.
Citation:
Ryan Kastner, Janarbek Matai, and Stephen Neuendorffer. 2018. Parallel Programming for FPGAs. https://doi.org/10.48550/arXiv.1805.03648 arXiv:1805.03648 [cs]
Vitis Introductory Examples (vitis_examples)¶
Upstream: AMD GitHub repository
Best for: Validating toolchain setups and demonstrating basic flow usage.
Notes: Mirrors the official AMD/Xilinx introductory designs. No OptDSL coverage; each kernel is ready to synthesize as-is.
Citation:
Xilinx [n. d.]. Vitis-HLS-Introductory-Examples. https://github.com/Xilinx/Vitis-HLS-Introductory-Examples
Catapult Test Designs (test_designs_catapult)¶
Best for: Quickly validating a Siemens Catapult installation and license setup.
Notes: Contains standalone vector-add and dot-product kernels targeting the bundled Nangate 45 nm libraries. The resulting
data_hls.jsonfiles contain latency, throughput, critical-path timing, and detailed standard-cell area breakdowns. These are ASIC-library area scores rather than FPGA LUT/FF/DSP counts. Source/tools/software/siemens/setup.cshbefore running Catapult so the license-server environment is available.
source /tools/software/siemens/setup.csh
setenv HLSFACTORY_CATAPULT_PATH /tools/software/siemens/catapult/latest/Mgc_home
uv run python tests/dataset_validator.py \
hlsfactory/hls_dataset_sources/test_designs_catapult \
--flow CatapultHLSSynthFlow \
-j 1
Cadence Stratus Test Designs (test_designs_stratus)¶
Best for: Quickly validating a Cadence Stratus installation, license, and SystemC synthesis environment.
Notes: Contains streaming increment and multiply-accumulate modules that use
cynw_p2pchannels. Both projects target the GPDK045 standard-cell library with a 5 ns clock. The flow generates RTL and records latency, sequential and combinational area, the Stratus version, and clock metadata indata_hls.jsonanddata_design.json.
Point the validator at a Stratus installation containing bin/stratus and
bin/bdw_makegen:
uv run python tests/dataset_validator.py \
hlsfactory/hls_dataset_sources/test_designs_stratus \
--flow StratusHLSSynthFlow \
--stratus-install-dir /path/to/stratus \
-j 1
Google XLS Test Designs (test_designs_xls)¶
Upstream: Google XLS documentation
Best for: Validating DSLX-to-Verilog setup and exercising pipeline and combinational code generation.
Notes: Includes arithmetic and control kernels plus examples of arrays,
map, countedforexpressions, bit slicing and concatenation, parametric functions, pattern matching, struct-update syntax, statefulprocs communicating over channels, and a proc that calls pure tuple-processing helper functions. These designs follow the official XLS tools quick start, DSLX language reference, andproctutorial.
Run all 11 designs through the same validator used for toolchain checks:
export HLSFACTORY_XLS_PATH=/usr/scratch/common/xls
uv run python tests/dataset_validator.py \
hlsfactory/hls_dataset_sources/test_designs_xls \
--flow XLSHLSSynthFlow \
-j 4
The validator copies the packaged sources into $HLSFACTORY_WORK_DIR, leaving
the originals unchanged. A complete run produces IR, optimized IR, Verilog,
interface/module signatures, schedules, lowered IR, option snapshots,
source-line maps, pass metrics, block metrics, and structured HLS data for every
design.
See the Google XLS tutorial for the complete flow and
output-field reference.
SODA (soda)¶
Upstream: SODA project (mirrored snapshot)
Best for: Streaming-style applications and dataflow pipeline studies.
Notes: Designs focus on concrete Xilinx flows with representative stencil and image-processing pipelines from the SODA benchmark. For more specialized FFT and NTT generators, see the HP-FFT, Stream-HLS, and AutoNTT datasets below.
Citation:
Yuze Chi, Jason Cong, Peng Wei, and Peipei Zhou. 2018. SODA: Stencil with Optimized Dataflow Architecture. In Proceedings of the International Conference on Computer-Aided Design. ACM, San Diego California, 1–8. https://doi.org/10.1145/3240765.3240850
HP-FFT (hp_fft)¶
Upstream: HP-FFT (FCCM 2025)
Best for: Evaluating high-throughput FFT architectures and unrolling strategies.
Notes: Includes 16 parameterized designs across multiple transform sizes and unroll factors, each with ready-to-run Vitis HLS projects.
Citation:
Chengyue Wang, Jiahao Zhang, Yingquan Wu, and Jason Cong. 2025. HP-FFT: A General High-Performance FFT Generator Using High-Level Synthesis. In 2025 IEEE 33rd Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM). IEEE, Fayetteville, AR, USA, 19–23. https://doi.org/10.1109/FCCM62733.2025.00026
Stream-HLS (stream_hls)¶
Upstream: Stream-HLS (FPGA 2025)
Best for: Studying transformer-style dataflow accelerators alongside adapted PolyBench kernels built with the Stream-HLS compiler.
Notes: Contains 77 designs spanning neural network blocks, residual units, and dense linear algebra kernels synthesized for streaming dataflow execution.
Citation:
Suhail Basalama and Jason Cong. 2025. Stream-HLS: Towards Automatic Dataflow Acceleration. In Proceedings of the 2025 ACM/SIGDA International Symposium on Field Programmable Gate Arrays. ACM, Monterey CA USA, 103–114. https://doi.org/10.1145/3706628.3708878
AutoNTT (auto_ntt)¶
Upstream: AutoNTT (FCCM 2025)
Best for: Exploring automated generation of Number Theoretic Transform accelerators with configurable architecture templates.
Notes: Ships with the AutoNTT generator, sample generated kernels, and supporting scripts so you can synthesize new design variants directly from the toolkit.
Citation:
Dilshan Kumarathunga, Qilin Hu, and Zhenman Fang. 2025. AutoNTT: Automatic Architecture Design and Exploration for Number Theoretic Transform Acceleration on FPGAs. In 2025 IEEE 33rd Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM). IEEE, Fayetteville, AR, USA, 1–9. https://doi.org/10.1109/FCCM62733.2025.00024
ForgeBench (forgebench)¶
Upstream: Internal Sharc Lab collection combining academic and production HLS kernels.
Best for: Stress-testing flow robustness across a large, heterogeneous set of designs.
Notes: Contains 45 standalone designs with Vitis Tcl entry points and targets next-generation HLS tooling with GEMM operators, deep neural network blocks, and transformer-ready pipelines. OptDSL templates and Intel support are planned.
Citation:
Andy Wanna, Hanqiu Chen, and Cong Hao. 2025. ForgeBench: A Machine Learning Benchmark Suite and Auto-Generation Framework for Next-Generation HLS Tools. https://doi.org/10.48550/arXiv.2504.15185 arXiv:2504.15185 [cs]
Roadmap¶
Intel HLS and Quartus scripts are in progress for the datasets above, starting with PolyBench and MachSuite.
Recent additions such as HP-FFT, Stream-HLS, and AutoNTT broaden the dataflow coverage, with further suites in the integration queue.
Additional datasets (e.g., FlowGNN, Rosetta, expanded course collections) live under
hlsfactory/hls_dataset_sources/but are not wired intodatasets_builderyet. Follow the repository issues for availability updates.