Agent skill
hls-cpp-to-rtl
Expert skill for C/C++ to RTL conversion using High-Level Synthesis tools
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/hls-cpp-to-rtl
SKILL.md
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
- Baseline functional implementation
- Analyze synthesis report
- Identify bottleneck (II, latency, resources)
- Apply targeted optimizations
- Iterate until QoR targets met
Dependencies
- Vitis HLS CLI awareness
- C/C++ language expertise
- FPGA resource understanding
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?