بنقرة واحدة
ip-reference
Browse the IP portfolio with reference implementations of common digital modules.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Browse the IP portfolio with reference implementations of common digital modules.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Execute commands and manage files in a Foundry sandbox.
Handle Foundry task settlement records and payment metadata.
Verilog-2001 coding style guidelines and best practices for synthesizable RTL.
Build and verify Round Robin Arbiter testbenches using Icarus Verilog.
View and manage durable user memory notes.
Summarize recent work, memory, and task progress.
| name | ip_reference |
| description | Browse the IP portfolio with reference implementations of common digital modules. |
| slash_command | {"cmd":"/ip","label":"IP Reference","desc":"Browse the IP portfolio and reference implementations (RRA, FIFO, etc.)."} |
Use this skill when implementing standard digital modules. Look up the
reference code from the references/ subdirectory instead of writing from scratch.
.v file from references/<module>/ for the implementation_tb.v file for the testbench templateFile locations (relative to this skill directory):
references/
├── rra/ # Round Robin Arbiter
│ ├── rra.v
│ └── rra_tb.v
├── sync_fifo/ # Synchronous FIFO
│ ├── sync_fifo.v
│ └── sync_fifo_tb.v
├── edge_detect/ # Edge Detector
│ ├── edge_detect.v
│ └── edge_detect_tb.v
├── priority_enc/ # Priority Encoder
│ ├── priority_enc.v
│ └── priority_enc_tb.v
├── pulse_sync/ # Pulse Synchronizer (CDC)
│ ├── pulse_sync.v
│ └── pulse_sync_tb.v
└── counter/ # Up/Down Counter
├── counter.v
└── counter_tb.v
| Module | Category | Params | Description | Verified |
|---|---|---|---|---|
| rra | Arbitration | N=4 | Mask-based Round Robin Arbiter, one-hot grant | ✅ iverilog |
| sync_fifo | Memory | DATA_W=8, DEPTH=4 | Synchronous FIFO with full/empty/count | ✅ iverilog |
| edge_detect | Utility | — | Rising/falling/both edge detector | ✅ iverilog |
| priority_enc | Logic | N=8 | Parameterized priority encoder with valid flag | ✅ iverilog |
| pulse_sync | CDC | — | Single-pulse clock domain crossing (3-stage sync) | ✅ iverilog |
| counter | Utility | WIDTH=8 | Up/down counter with load, overflow/underflow | ✅ iverilog |
All reference IPs follow the coding_style skill guidelines:
rst_n)always @(*) for combinational, always @(posedge clk or negedge rst_n) for sequential$dumpfile / $dumpvars for waveform capture# General pattern for any IP:
cd /workspace
iverilog -o <module>_sim <module>.v <module>_tb.v
vvp <module>_sim
# Example for RRA:
iverilog -o rra_sim rra.v rra_tb.v
vvp rra_sim