Service

HLS design and implementation

Your digital block designed in synthesisable C++ and delivered as verified, integration-ready RTL for your ASIC process or FPGA family.

This is Videalt’s core service: we design a digital block in synthesisable C++ and deliver production-quality RTL. The work covers the whole path—microarchitecture, bit-accurate data types, interface design, HLS constraint tuning, and technology-aware optimisation for your ASIC process node or FPGA family—with verification evidence at each step.

When this service fits

  • A new datapath-heavy block needs to reach RTL, and the algorithm is clearer in C++ than in cycle-level RTL.
  • Several microarchitectures should be compared against throughput, latency, and area targets before committing.
  • Your team needs senior design capacity for a defined block with clear interfaces.

What the work covers

  • Microarchitecture defined from the reference model and system requirements
  • Bit-accurate fixed-point and integer data types, checked against the reference
  • Interface design: streaming, AXI, and memory-mapped
  • HLS constraint tuning for pipelining, unrolling, memory architecture, and dataflow
  • Technology-aware optimisation for the target ASIC process node or FPGA family

What you receive

  • Synthesisable C++ source and generated RTL
  • Self-checking testbenches and regressions
  • Synthesis reports demonstrating timing and area
  • Documentation your integration team can pick up directly

Deliverables are reproducible and kept together, so another engineer can review and rerun the work. The exact list and acceptance evidence are agreed before work starts.

How it starts

A first discussion covers the algorithm or existing model, the target technology, interfaces and memories, throughput and latency goals, numeric requirements, and available reference tests. If the architecture or business case is still uncertain, a bounded HLS feasibility study is often the right first step.

Have a block that needs to reach RTL?

Share the algorithm, target, interfaces, and performance goals.

Discuss your project