  Machine learning (ML) techniques have been applied to high-level synthesis
(HLS) flows for quality-of-result (QoR) prediction and design space exploration
(DSE). Nevertheless, the scarcity of accessible high-quality HLS datasets and
the complexity of building such datasets present challenges. Existing datasets
have limitations in terms of benchmark coverage, design space enumeration,
vendor extensibility, or lack of reproducible and extensible software for
dataset construction. Many works also lack user-friendly ways to add more
designs, limiting wider adoption of such datasets.
  In response to these challenges, we introduce HLSFactory, a comprehensive
framework designed to facilitate the curation and generation of high-quality
HLS design datasets. HLSFactory has three main stages: 1) a design space
expansion stage to elaborate single HLS designs into large design spaces using
various optimization directives across multiple vendor tools, 2) a design
synthesis stage to execute HLS and FPGA tool flows concurrently across designs,
and 3) a data aggregation stage for extracting standardized data into packaged
datasets for ML usage. This tripartite architecture ensures broad design space
coverage via design space expansion and supports multiple vendor tools. Users
can contribute to each stage with their own HLS designs and synthesis results
and extend the framework itself with custom frontends and tool flows. We also
include an initial set of built-in designs from common HLS benchmarks curated
open-source HLS designs.
  We showcase the versatility and multi-functionality of our framework through
six case studies: I) Design space sampling; II) Fine-grained parallelism
backend speedup; III) Targeting Intel's HLS flow; IV) Adding new auxiliary
designs; V) Integrating published HLS data; VI) HLS tool version regression
benchmarking.
  Code at https://github.com/sharc-lab/HLSFactory.
