akshitsrijan/verilog-builder-pluggin/generate-waveform
- community
Checking that the SKILL.md file is still in the repository.
Run Vivado behavioral simulation and open the generated waveform.
Install
npx vskill@latest install akshitsrijan/verilog-builder-pluggin/generate-waveformSKILL.md
Generate Waveform
Arguments: the user's supplied request (project path/name, optionally followed by which module to simulate and/or a description of the stimulus)
This drives a behavioral simulation of a design and shows the resulting waveform in Vivado's waveform viewer, using the generate_waveform MCP tool. It works the same way regardless of whether the target module is combinational or sequential — only the stimulus a testbench applies differs.
- Resolve the project the same way
theverilog-buildskilldoes: ifthe user's supplied requestgives a
path to an existing .xpr, use it directly; if it's a bare name, call list_projects and match by name; if empty/ambiguous, call list_projects and ask.
- Figure out which module to simulate. If not obvious from
the user's supplied request, ask. Read
the module's source file so you know its ports (names, widths, and whether it has a clk/clock port — that's what determines combinational vs. sequential below).
- Ask the user how they want stimulus provided — this is the required first choice:
- User-supplied input: ask them to describe the input sequence/vectors they want
(e.g. "cycle through all 4 mux select values", "reset for 20ns then count for 10 cycles"), and write a testbench implementing exactly that.
- Auto-generated stimulus: write sensible default stimulus yourself, based on the
module's ports:
- Combinational (no
clk/clockport): exhaustively toggle every input
combination if total input width is small (roughly ≤ 6 bits); otherwise sweep each input independently plus a handful of representative combinations, with a short delay between each so transitions are visible on the waveform.
- Sequential (has a
clk/clockport): generate a clock (e.g. 10ns period)
and, if there's a reset/rst port, assert it for a few cycles then release it, then drive the remaining inputs through enough cycles to show real state transitions. If the user has no preference, default to auto-generated.
- Write the testbench with the Write tool under
<project_dir>/sim/(create the
directory if it doesn't exist), named tb_<module>.v or .sv to match the DUT's language. Show it to the user before simulating — don't run stimulus they haven't seen.
- Call `generate_waveform` with
project_path,testbench_file(the new file's
absolute path), top_module (the testbench module's own name, not the DUT), and a sim_time sized to cover every vector/cycle the testbench drives plus a little margin. Default gui=true so the waveform opens in Vivado.
- Report the result:
- If it returns an
error, show thelog_tailplainly and stop — don't retry
blindly or rewrite the testbench without asking.
- On success, confirm the simulation ran for
sim_time, mention thewaveform_db
and wave_config paths, and report gui_status. If gui_status starts with ERROR, say the waveform data is still saved to disk and can be opened manually in Vivado (open the project, then use the Tcl console: open_wave_database <waveform_db>) even though the live window didn't pop up.
- To re-run with different stimulus, just repeat from step 3 with a new or edited
testbench file — no need to touch the Vivado project itself.
Security
- Security scanPassed, 90 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 repositoryCheckingvivado/codex/skills/generate-waveform/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
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/akshitsrijan/verilog-builder-pluggin/generate-waveform)