Skip to content
Back to skills

Hls Cpp To Rtl

ASecurity

Expert skill for C/C++ to RTL conversion using High-Level Synthesis tools

  • 1,760 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 2, 2026
ai-agentsgoc++bash

Works with

  • cli

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 2, 2026

npx -y skills add a5c-ai/babysitter --skill hls-cpp-to-rtl --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Hls Cpp To Rtl?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Hls Cpp To Rtl
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/a5c-ai-hls-cpp-to-rtl-babysitter/badge)](https://www.skillsdirectory.com/skills/a5c-ai-hls-cpp-to-rtl-babysitter)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: hls-cpp-to-rtl
description: Expert skill for C/C++ to RTL conversion using High-Level Synthesis tools
allowed-tools:
  - Read
  - Write
  - Edit
  - Glob
  - Grep
  - Bash
graph:
  domains: [domain:embedded-systems]
  specializations: [specialization:fpga-programming]
  skillAreas: [skill-area:hdl-design, skill-area:fpga-synthesis]
  roles: [role:embedded-engineer]
---

# HLS C/C++ to RTL Skill

## Overview

Expert skill for High-Level Synthesis (HLS) development, converting C/C++ algorithms to optimized RTL implementations for FPGA acceleration.

## Capabilities

- Write HLS-synthesizable C/C++ code
- Apply Vitis HLS pragmas (PIPELINE, UNROLL, ARRAY_PARTITION)
- Optimize loop initiation interval (II)
- Configure HLS interface synthesis (AXI-MM, AXI-Stream, AXI-Lite)
- Analyze HLS reports and iterate on design
- Apply dataflow optimization
- Handle fixed-point arithmetic (ap_fixed, ap_int)
- Integrate HLS IP into Vivado block designs

## Target Processes

- hls-development.js
- hardware-software-codesign.js
- ip-core-integration.js

## Usage Guidelines

### Code Structure
- Use static arrays for memory inference
- Avoid dynamic memory allocation
- Structure loops for pipeline optimization
- Use ap_int/ap_uint for arbitrary precision

### Key Pragmas
- `#pragma HLS PIPELINE II=1` - Pipeline loops for throughput
- `#pragma HLS UNROLL factor=N` - Unroll loops for parallelism
- `#pragma HLS ARRAY_PARTITION` - Memory partitioning
- `#pragma HLS DATAFLOW` - Task-level parallelism
- `#pragma HLS INTERFACE` - Port protocol specification

### Interface Synthesis
- **AXI4-Lite**: Control registers and scalar arguments
- **AXI4 Memory-Mapped**: Large data arrays
- **AXI4-Stream**: Streaming data interfaces
- **ap_none/ap_vld/ap_hs**: Simple handshake protocols

### Optimization Flow
1. Baseline functional implementation
2. Analyze synthesis report
3. Identify bottleneck (II, latency, resources)
4. Apply targeted optimizations
5. Iterate until QoR targets met

## Dependencies

- Vitis HLS CLI awareness
- C/C++ language expertise
- FPGA resource understanding

Files in this skill

  • README.md807 B
  • SKILL.md2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…