High-Level Synthesis (HLS) is an automated design process that compiles an untimed algorithmic description, typically written in C++ or SystemC, into a timed, cycle-accurate Register Transfer Level (RTL) implementation. By abstracting away the manual creation of state machines and data paths, HLS allows hardware engineers to explore architectural trade-offs—such as loop unrolling, pipelining, and array partitioning—through pragma directives rather than rewriting Verilog or VHDL, collapsing months of RTL coding into days of algorithmic refinement.
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 C, C++, or SystemC into register-transfer level (RTL) hardware implementations, drastically accelerating the development of complex DPD IP cores.
In the context of FPGA-based DPD implementation, HLS is critical for rapidly prototyping complex predistorter cores that apply a Memory Polynomial inverse nonlinearity to wideband signals. The tool automatically schedules multiply-accumulate operations onto DSP48 slices, infers streaming AXI4-Stream interfaces for connecting to DACs, and manages fixed-point arithmetic quantization. This enables the direct synthesis of a dataflow architecture where the complex multiplier chains operate with deterministic latency, satisfying the strict real-time constraints of the forward path without manual clock domain crossing management.
Key Features of HLS for DPD Development
High-Level Synthesis transforms abstract C++ algorithms into optimized RTL, enabling rapid iteration on complex predistorter cores without manual VHDL or Verilog coding.
C++ to RTL Abstraction
HLS tools synthesize untimed C++ or SystemC descriptions directly into Register Transfer Level (RTL) implementations. This allows DPD algorithm designers to model complex Volterra kernels or memory polynomials in software, then automatically generate pipelined hardware. The abstraction eliminates the need to manually specify clock-cycle-accurate behavior, reducing development time from months to weeks.
Pragma-Driven Optimization
Designers guide synthesis using compiler directives called pragmas to control hardware architecture without rewriting code:
- PIPELINE: Reduces initiation interval for streaming DPD data
- UNROLL: Parallelizes complex multipliers across DSP48 slices
- ARRAY_PARTITION: Maps coefficient tables to block RAM for simultaneous access
- DATAFLOW: Enables task-level parallelism between predistorter stages
Latency-Constrained Design Space Exploration
HLS enables rapid what-if analysis of different micro-architectures. Engineers can sweep pragma configurations to balance throughput against resource utilization on a Xilinx RFSoC or Zynq UltraScale+. The tool reports clock frequency estimates and initiation intervals, ensuring the synthesized predistorter core meets the strict real-time adaptation latency budget before committing to place-and-route.
AXI4-Stream Interface Synthesis
HLS tools automatically infer AXI4-Stream master and slave ports from function arguments, enabling seamless integration into Vivado IP Integrator block designs. A DPD function taking a stream of complex baseband samples is synthesized with standard handshake signals (TVALID, TREADY), connecting directly to JESD204B DMA engines or SERDES wrappers without custom glue logic.
Fixed-Point Data Type Refinement
HLS supports arbitrary-precision fixed-point arithmetic through template libraries. Algorithm designers can prototype with floating-point for correctness, then systematically reduce bit widths to minimize DSP48 slice consumption. The tool automatically propagates quantization effects, enabling precise trade-off analysis between coefficient quantization error and hardware cost for look-up table DPD implementations.
Co-Simulation and Verification
HLS flows include C/RTL co-simulation where the original C++ testbench drives both the software model and the generated RTL. This ensures bit-accurate equivalence between the algorithmic specification and the synthesized predistorter core. DPD engineers can inject captured power amplifier behavioral model data to verify linearization performance in simulation before hardware-in-the-loop testing.
Frequently Asked Questions
Concise answers to the most common questions about applying High-Level Synthesis to digital predistortion and signal processing hardware design.
High-Level Synthesis (HLS) is an automated design process that translates an algorithmic description written in a high-level language like C, C++, or SystemC into a Register Transfer Level (RTL) hardware implementation. Instead of manually describing digital logic with VHDL or Verilog, an engineer specifies the desired function and constraints. The HLS tool then schedules operations into clock cycles, allocates hardware resources such as DSP48 slices and block RAM, and binds operations to functional units. This generates a synthesizable RTL netlist optimized for a target FPGA or ASIC technology, dramatically accelerating the development of complex IP cores like a predistorter core for digital predistortion.
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
Mastering High-Level Synthesis requires understanding the hardware primitives, interfaces, and design patterns that transform C++ algorithms into optimized DPD IP cores.
Register Transfer Level (RTL)
The hardware description abstraction that models synchronous digital circuits in terms of data flow between registers and logical operations. HLS tools automatically generate RTL from C++ behavioral descriptions, eliminating manual Verilog/VHDL coding. RTL is the target output of the synthesis process, representing the clock-cycle-accurate microarchitecture before logic synthesis maps it to FPGA primitives.
Pipelining
A hardware optimization technique that inserts register stages between combinational logic operations to increase maximum clock frequency. In HLS, pragmas like #pragma HLS PIPELINE enable initiation interval (II) control, allowing new input samples to be accepted every clock cycle. For DPD cores, pipelining is essential to meet tight latency budgets while maintaining the throughput required for wideband signal linearization.
AXI4-Stream Interface
A high-throughput, unidirectional point-to-point protocol from the ARM AMBA 4 specification. HLS tools synthesize function arguments into AXI4-Stream ports using directives like #pragma HLS INTERFACE axis. This interface is the backbone of DPD data paths, connecting the predistorter core to DACs and ADCs without buffering overhead, using TVALID/TREADY handshaking for backpressure control.
DSP48 Slice
A dedicated high-speed arithmetic logic block within Xilinx FPGAs, optimized for multiply-accumulate (MAC) operations. HLS tools automatically infer DSP48 usage for operations like complex multiplication in predistorter cores. Each slice contains a 25x18-bit multiplier and 48-bit accumulator, making it the fundamental compute primitive for implementing FIR filters and polynomial evaluation in DPD signal chains.
Fixed-Point Arithmetic
A numerical representation system where digits have a fixed radix point, essential for efficient FPGA implementation. HLS supports arbitrary-precision fixed-point types via ap_fixed<W,I> templates, enabling designers to specify exact bit widths. This avoids the resource cost of floating-point units while preserving the dynamic range needed for DPD coefficient precision and signal fidelity.
Dataflow Architecture
A hardware design paradigm where processing is triggered by data availability rather than a centralized program counter. The #pragma HLS DATAFLOW directive enables task-level parallelism, allowing multiple functions to execute concurrently in a streaming pipeline. This naturally maps the streaming nature of DPD signal processing, where sample acquisition, predistortion computation, and output generation operate simultaneously.

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