hls-cpp-to-rtl
Expert skill for C/C++ to RTL conversion using High-Level Synthesis tools
Best use case
hls-cpp-to-rtl is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Expert skill for C/C++ to RTL conversion using High-Level Synthesis tools
Teams using hls-cpp-to-rtl should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/hls-cpp-to-rtl/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How hls-cpp-to-rtl Compares
| Feature / Agent | hls-cpp-to-rtl | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Expert skill for C/C++ to RTL conversion using High-Level Synthesis tools
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 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
Related Skills
process-builder
Scaffold new babysitter process definitions following SDK patterns, proper structure, and best practices. Guides the 3-phase workflow from research to implementation.
babysitter
Orchestrate via @babysitter. Use this skill when asked to babysit a run, orchestrate a process or whenever it is called explicitly. (babysit, babysitter, orchestrate, orchestrate a run, workflow, etc.)
yolo
Run Babysitter autonomously with minimal manual interruption.
user-install
Install the user-level Babysitter Codex setup.
team-install
Install the team-pinned Babysitter Codex workspace setup.
retrospect
Summarize or retrospect on a completed Babysitter run.
resume
Resume an existing Babysitter run from Codex.
project-install
Install the Babysitter Codex workspace integration into the current project.
plan
Plan a Babysitter workflow without executing the run.
observe
Observe, inspect, or monitor a Babysitter run.
model
Inspect or change Babysitter model-routing policy by phase.
issue
Run an issue-centric Babysitter workflow.