High-Level Synthesis (HLS) bridges the gap between software algorithm development and hardware implementation by allowing developers to describe a function's behavior in untimed C++ and then automatically synthesize a timed, pipelined digital circuit. The compiler analyzes data dependencies, schedules operations into clock cycles, and binds logical operations to physical hardware resources like DSP slices and block RAM, enabling rapid exploration of design space trade-offs between throughput, latency, and area without manual RTL coding.
Glossary
High-Level Synthesis (HLS)

What is High-Level Synthesis (HLS)?
High-Level Synthesis (HLS) is an automated design process that translates algorithmic descriptions written in high-level languages like C or C++ directly into register-transfer level (RTL) hardware description language, such as VHDL or Verilog, for implementation on FPGAs or ASICs.
For model compression for RF inference, HLS is critical for deploying custom neural network accelerators on FPGAs. Tools like hls4ml translate compressed machine learning models directly into HLS C++ projects, generating highly parallel, streaming dataflow architectures that process IQ samples with minimal latency. This allows engineers to implement custom precision arithmetic and operator fusion directly in hardware, achieving performance unattainable on general-purpose processors for real-time automatic modulation classification.
Key Features of HLS for RF Inference
High-Level Synthesis bridges the gap between algorithm development and hardware implementation, enabling rapid deployment of custom RF inference pipelines on FPGAs without manual RTL design.
C/C++ to RTL Abstraction
HLS compiles untimed algorithmic descriptions written in C++ directly into synthesizable Register-Transfer Level (RTL) code. This eliminates the need for engineers to manually describe finite state machines and data paths in Verilog or VHDL, collapsing months of hardware design into days of software-like iteration. The tool automatically schedules operations across clock cycles, infers memory architectures, and binds functional units to hardware resources based on user-defined constraints.
Pragma-Driven Optimization
Hardware micro-architecture is controlled through compiler directives rather than code rewrites. Key pragmas include:
- PIPELINE: Overlaps loop iterations to achieve initiation intervals of 1
- UNROLL: Replicates loop bodies for parallel execution
- ARRAY_PARTITION: Splits BRAM into multiple banks for simultaneous access
- DATAFLOW: Enables task-level pipelining between sequential functions This allows rapid design space exploration without altering algorithmic correctness.
Streaming Dataflow Architecture
HLS natively supports hls::stream and ap_axis interfaces that model infinite FIFO channels. For RF inference, this maps directly to the continuous arrival of IQ samples from an ADC. The compiler synthesizes deep pipelines where each stage processes a sample per clock cycle, achieving deterministic ultra-low latency—often sub-microsecond—by eliminating the need for frame-based batch processing common in GPU inference.
Arbitrary Precision Data Types
Unlike CPUs and GPUs constrained to 8/16/32/64-bit boundaries, HLS allows arbitrary precision integers and fixed-point types (e.g., ap_int<7>, ap_fixed<12,4>). This is critical for deploying quantized neural networks where weights and activations may use non-standard bit-widths like 3-bit or 6-bit. The compiler synthesizes exactly the required logic, eliminating wasted silicon and reducing dynamic power consumption proportionally to the bit-width reduction.
DSP48 Macro Mapping
The HLS compiler automatically infers multiply-accumulate (MAC) operations and maps them to dedicated DSP48 slices in Xilinx FPGAs. A single DSP48 can perform a P = A * B + C operation in one clock cycle. For neural network inference, the tool can pack multiple low-precision multiplications into a single DSP48 using techniques like INT8 dot-product mode, effectively doubling or quadrupling the computational throughput of the fabric without increasing resource utilization.
C/RTL Co-Simulation
HLS tools include automated co-simulation frameworks that verify the generated RTL against the original C++ testbench. The same test vectors drive both the algorithmic model and the cycle-accurate hardware simulation, with automatic assertion checking on the outputs. This eliminates the classic hardware-software verification gap and ensures that the synthesized modulation classifier produces bit-identical results to the floating-point reference model used during training.
Frequently Asked Questions
Essential questions about using High-Level Synthesis to accelerate automatic modulation classification on FPGA hardware.
High-Level Synthesis (HLS) is an automated design process that translates algorithmic descriptions written in C, C++, or SystemC into hardware description language (HDL) code for FPGA or ASIC implementation. Instead of manually designing digital circuits using VHDL or Verilog, engineers describe the desired functionality at a behavioral level. The HLS tool then performs scheduling—assigning operations to clock cycles—allocation—selecting the number and type of hardware resources—and binding—mapping operations to specific functional units. For modulation classification, this means a Python-trained neural network can be synthesized directly into a custom hardware pipeline, bypassing the traditional manual RTL design flow entirely.
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Related Terms
Key concepts and companion technologies that form the complete High-Level Synthesis workflow for deploying RF machine learning models on FPGA hardware.
Streaming Architecture
An FPGA dataflow design pattern where data is processed as a continuous sequence of samples using deep pipelines. This achieves minimal processing latency for real-time IQ sample classification by eliminating external memory round-trips.
- Uses
hls::streamfor FIFO-based inter-module communication - Enables line-rate processing at ADC sample speeds
- Critical for electronic warfare and tactical SIGINT applications
DSP48 Slices
The fundamental Multiply-Accumulate (MAC) computational primitive in Xilinx FPGA fabric. HLS tools automatically map multiplication and addition operations onto these hardened blocks.
- Each DSP48E2 supports 27×18-bit multiplication
- Critical resource for implementing convolutional layers in modulation classifiers
- HLS
RESOURCEdirectives control DSP vs. LUT mapping trade-offs
Data Packing
A hardware optimization that concatenates multiple low-precision data elements into a single wide memory word. This maximizes memory bandwidth utilization and SIMD vector unit efficiency on the target accelerator.
- Packs 8× 4-bit weights into a single 32-bit word
- Reduces external memory access count proportionally
- Implemented via HLS
structpacking andap_uinttypes
Ping-Pong Buffer
A double-buffering memory technique that uses two banks to decouple the data producer and consumer. This allows the FPGA accelerator to overlap data transfer with computation for continuous streaming inference.
- Eliminates pipeline stalls during DMA transfers
- Essential for maintaining real-time throughput in RF classifiers
- Implemented with
#pragma HLS DATAFLOWand dual-port BRAM

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us