Help us improve
Share bugs, ideas, or general feedback.
From rtl-agent-team
Generates IEEE 1685-2014 IP-XACT XML descriptors from SystemVerilog RTL sources. Use for EDA tool integration (Vivado, Quartus, Genus) or automated SoC port connection.
npx claudepluginhub babyworm/rtl-agent-team --plugin rtl-agent-teamHow this skill is triggered — by the user, by Claude, or both
Slash command
/rtl-agent-team:rtl-ipxact-gen [module-name][module-name]This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
<Purpose>
Generates convention-compliant SystemVerilog wrapper modules for third-party IP (memory, PLL, PHY, DSP) from IP-XACT descriptors or datasheets.
Drives an open-source EDA flow from RTL to GDS with signoff checks (DRC, LVS, RCX) using OpenROAD-flow-scripts, Yosys, KLayout, and OpenRCX. Use for synthesis, place-and-route, GDS output, signoff verification, PPA iteration, or flow diagnosis.
Share bugs, ideas, or general feedback.
<Use_When>
<Do_Not_Use_When>
rtl-document instead.<Why_This_Exists> IP-XACT is the industry standard for IP description and enables automated integration in EDA tools. Manual XML authoring is error-prone; generating from RTL source ensures port widths and parameter values match implementation. The skill splits deterministic extraction (port/parameter lists) from interpretive mapping (bus interface classification), making the contract surface explicit. </Why_This_Exists>
rtl/{module}/{module}.sv must exist.sv_to_ipxact CLI installed for schema-validated generation.If the prerequisite is missing: WARNING — recommend running /rtl-agent-team:rtl-p4-implement first. Proceed with available artifacts; the orchestrator adapts scope.
<Responsibility_Boundary>
sv_to_ipxact (when installed) parses SV source and emits schema-validated XML; rtl-explorer extracts port/parameter lists as structured data when the CLI is unavailable.references/ipxact-conventions.md.
</Responsibility_Boundary>Apply steps 1-6 to every requested module — do not stop after the first.
<Tool_Usage> RTL extraction (sv_to_ipxact unavailable):
Task(subagent_type="rtl-agent-team:rtl-explorer",
prompt="Read rtl/dma_controller/dma_controller.sv. Extract all ports (name/direction/width), parameters, and identify AXI/APB/AHB bus interfaces by port name grouping. Port direction: i_ = input, o_ = output, io_ = inout. Clocks match {domain}_clk, resets match {domain}_rst_n. Provide structured summary for IP-XACT generation.")
XML authoring (after extraction):
Task(subagent_type="rtl-agent-team:ipxact-generator",
prompt="Generate IEEE 1685-2014 IP-XACT XML for dma_controller. Ports: {port_list}. Parameters: {param_list}. Bus interfaces: AXI4-Lite slave. Scaffold: skills/rtl-ipxact-gen/templates/component-template.xml. Preserve i_/o_/io_ prefixes in spirit:name. Map {domain}_clk to clock roles, {domain}_rst_n to reset roles. Write ipxact/dma_controller.xml.")
</Tool_Usage>
DMA controller with AXI4-Lite slave interface and 5 parameters. skills/rtl-ipxact-gen/examples/ `rtl-explorer` extracts 24 ports and 5 parameters; `ipxact-generator` produces valid IEEE 1685-2014 XML with one AXI4-Lite bus interface mapped; `xmllint` validation passes. Module with parameterized port widths (e.g., `input logic [DATA_WIDTH-1:0] i_data`). skills/rtl-ipxact-gen/examples/ Port width recorded as expression `DATA_WIDTH` in IP-XACT rather than a hardcoded number; parameter `DATA_WIDTH` appears in the parameters section with its default value. Bus interface type is ambiguous — ports match both AXI3 and AXI4 naming. skills/rtl-ipxact-gen/examples/ Generation pauses; user is asked to confirm AXI3 vs AXI4. XML is not delivered until the bus type is confirmed. No bus interface type is assumed or invented.<Escalation_And_Stop_Conditions>
spirit:vector elements; do not resolve to literals.ipxact/{module_name}.xml — IEEE 1685-2014 IP-XACT XML: component description, port maps, bus interfaces, parameters, and register maps (when a register interface is present).PASS or FAIL: {error summary}.<Final_Checklist>
ipxact/{module}.xml path and validation result reported to the user.
</Final_Checklist>