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
Skills similaires
Expert Next.js App Router
Developpement
Un skill qui transforme Claude en expert Next.js App Router.
Claude CodeCursoradvanced
890
234
2,619
Générateur de README
Developpement
Crée des README.md professionnels et complets pour vos projets.
claudeCursorWindsurfbeginner
259
72
589
Rédacteur de Documentation API
Developpement
Génère de la documentation API complète au format OpenAPI/Swagger.
claudeCursorWindsurfintermediate
156
44
451