This skill should be used when generating IP instantiation wrappers from IP-XACT descriptors or datasheets with convention-compliant port mapping.
<Use_When>
<Do_Not_Use_When>
<Why_This_Exists> IP instantiation is error-prone: wrong port widths, missing tie-offs, and parameter mismatches cause subtle bugs. Automated wrapper generation from the authoritative IP descriptor eliminates transcription errors and documents all connections explicitly. </Why_This_Exists>
<Execution_Policy>
skills/rtl-ip-instantiate/templates/ip-wrapper-template.sv as scaffoldi_ (input), o_ (output), io_ (bidirectional)clk (single domain) or {domain}_clk (multiple domains, e.g., sys_clk) — NOT clk_irst_n (single domain) or {domain}_rst_n (multiple domains, e.g., sys_rst_n) — NOT rst_nilogic only — no reg/wireu_ prefix (e.g., u_sram)gen_ prefix
</Execution_Policy><Tool_Usage>
Task(subagent_type="rtl-agent-team:rtl-explorer",
prompt="Read rtl/ip_wrappers/ and docs/ for existing wrapper patterns. Summarize: port naming convention (i_/o_/io_ prefixes), clock naming ({domain}_clk), reset naming ({domain}_rst_n), instance naming (u_ prefix).")
Task(subagent_type="rtl-agent-team:rtl-architect",
prompt="Read IP descriptor at docs/ip/{ip_name}.xml (or datasheet). List all ports, required tie-offs, and parameter settings. Design wrapper interface: map vendor port names to project convention (i_/o_/io_ prefixes, {domain}_clk, {domain}_rst_n).")
Task(subagent_type="rtl-agent-team:rtl-coder",
prompt="Write rtl/ip_wrappers/{ip_name}_wrapper.sv. Instantiate {ip_name} as u_{ip_name} with all ports connected per architect spec. Use logic only (no reg/wire). Port prefixes: i_ (input), o_ (output), io_ (bidirectional). Clock: sys_clk, reset: sys_rst_n. Follow CLAUDE.md coding conventions.")
</Tool_Usage>
<Escalation_And_Stop_Conditions>
<Final_Checklist>
// TIED: reason commentsi_/o_/io_ prefixes (NOT _i/_o suffix)clk or {domain}_clk naming (NOT clk_i)rst_n or {domain}_rst_n naming (NOT rst_ni)u_ prefix (e.g., u_{ip_name})logic types only — no reg/wire