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
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
Related skills
Next.js App Router Expert
Development
A skill that turns Claude into a Next.js App Router expert.
Claude CodeCursoradvanced
890
234
2,619
README Generator
Development
Creates professional and comprehensive README.md files for your projects.
claudeCursorWindsurfbeginner
259
72
589
API Documentation Writer
Development
Generates comprehensive API documentation in OpenAPI/Swagger format.
claudeCursorWindsurfintermediate
156
44
451