shinei-nouzen-arch/fpga-agent/vitis-hls-synthesis
Claude Code and agent skill by shinei-nouzen-arch/fpga-agent
- community
- ext:[{"type":"config","description":"Configuration overrides"}]
Checking that the SKILL.md file is still in the repository.
Vitis HLS synthesis assistant for C/C++ to RTL conversion. Covers kernel development, pragma optimization, interface configuration, and synthesis report analysis. For post-synthesis implementation use vivado-impl, for timing analysis use vivado-analysis, for hardware debug use vivado-debug.
Install
npx vskill@latest install shinei-nouzen-arch/fpga-agent/vitis-hls-synthesisSemi-extensibleMentions customization, but needs skill-specific knowledge. Read the extensible skills standard
SKILL.md
Vitis HLS Synthesis Development Assistant
This skill helps you efficiently perform FPGA high-level synthesis development in the Vitis HLS environment. For complete syntax reference, see REFERENCE.md.
When to Use This Skill
- Need to write or optimize C/C++ HLS kernel code
- Need to add pragma optimization instructions (pipeline, unroll, dataflow, array_partition, etc.)
- Need to configure synthesis constraint files (.cfg)
- Need to run Vitis HLS synthesis commands
- Need to analyze synthesis reports (timing, resource, II value)
- Need to configure interface protocols (AXI4-Stream, M_AXI, s_axilite, etc.)
- Need to select appropriate data types (arbitrary precision types, HLS-specific types)
- Need to optimize DDR access and HBM bandwidth
Workflow
Select only the stages needed for the requested outcome and reuse the existing project and results. Report interpretation does not require project initialization or a new build. Code or configuration changes include proportionate validation; an execution request includes the requested run stages and result checks. Generate or review scripts without executing them when that is the requested deliverable. Existing authorization covers necessary in-scope follow-up, but does not automatically extend the task to packaging, implementation, or hardware programming.
1. Project Initialization
When initialization is needed, determine the project structure and target device from existing sources, configuration, and prior user instructions. Reuse established settings and create only missing directories. Ask only for consequential information that is unavailable; never guess a device or clock required for a run. A generic example can retain clearly marked parameters without blocking on device selection.
2. Code Development
Write HLS kernel code, add pragma optimization instructions as needed, select appropriate data types and interface protocols.
3. Configuration File
Create or update the relevant .cfg file, preserving established device, clock, interface, and flow settings unless changing them is part of the request.
4. Run Flow
For execution requests, run the applicable stages and their prerequisites:
- C simulation to verify functional correctness
- C synthesis to generate RTL
- C/RTL co-simulation to verify hardware functionality
- Export IP or Vitis kernel when packaging is part of the requested deliverable
5. Report Analysis
Check the status, relevant logs, and outputs of each requested stage. Use simulation results to assess tested functionality and HLS synthesis estimates to assess clock performance, II, latency, and resources against the stated requirements. HLS estimates are not post-route timing signoff; apply the Vivado timing acceptance criteria only when implementation is in scope. Report what was verified, what remains unverified, and the requested artifact locations. Continue necessary authorized work rather than treating report generation or a partial run as completion.
Quick Reference
Core Commands
| Task | Command | |
|---|---|---|
| Environment Setup | source <Vitis_dir>/settings64.sh | |
| Synthesis | v++ -c --mode hls --config <config.cfg> | |
| C Simulation | vitis-run --mode hls --csim --config <config.cfg> | |
| Synthesis | vitis-run --mode hls --csynth --config <config.cfg> | |
| Co-Simulation | vitis-run --mode hls --cosim --config <config.cfg> | |
| Export IP | vitis-run --mode hls --package --config <config.cfg> |
Common Pragmas
| Optimization Type | Instruction Example | |
|---|---|---|
| Pipeline | #pragma HLS PIPELINE II=1 | |
| Loop Unroll | #pragma HLS UNROLL factor=4 | |
| Array Partition | #pragma HLS ARRAY_PARTITION variable=arr type=cyclic factor=2 | |
| Dataflow | #pragma HLS DATAFLOW | |
| Interface Configuration | #pragma HLS INTERFACE mode=m_axi port=mem bundle=gmem |
Core Configuration Parameters
| Parameter | Description | |
|---|---|---|
part=<part_number> | Target device model | |
clock=<ns> | Clock period (ns) | |
flow_target=<vivado/vitis> | Target output type | |
syn.top=<function_name> | Top-level function name | |
syn.file=<source_file> | Source file path |
For complete syntax and parameter reference, see REFERENCE.md. Reference implementation examples are available in the examples/ directory - read these files first when users need coding patterns or best practices.
Common Scenario Examples
1. Pipeline Optimization Kernel
Add pipeline optimization to loops to achieve II=1:
2. Array Partition Optimization
Partition arrays to improve parallel access:
3. Dataflow Task Parallelism
Implement multi-stage task parallelism:
4. AXI4-Stream Interface
Implement AXI4-Stream input and output:
5. Fixed-Point Conversion
Convert floating-point to fixed-point for performance optimization:
Related Skills
Post-Synthesis Flow
- vivado-impl: Place and route optimization for HLS-generated IP
- vivado-analysis: Timing report analysis and closure strategies
- vivado-constraints: Add top-level timing and physical constraints
Simulation and Debug
- vivado-sim: RTL functional and timing simulation
- vivado-debug: ILA/VIO hardware debug configuration
Automation
- vivado-tcl: HLS IP integration and project automation scripts
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingvitis-hls-synthesis/SKILL.md
Popularity
- Repository stars
- 133
- Repository forks
- 16
- 7-day trend score
- 24
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 20 May 2026, 5 months ago.
Extension points
configConfiguration overrides
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/shinei-nouzen-arch/fpga-agent/vitis-hls-synthesis)