Install
$ agentstack add skill-ic-star-tech-ccfoundry-agent-kit-verilog-rra ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Verilog RRA Testbench Skill
Trigger
Use this skill when the user asks to build, verify, or test a Round Robin Arbiter (RRA) in Verilog, or when a Foundry requirement mentions RRA/verilog.
Capabilities
- Write a parametric Round Robin Arbiter module (Verilog-2001)
- Generate a self-checking testbench with pass/fail assertions
- Compile using
iverilogand simulate usingvvp - Parse simulation output to determine pass/fail
Implementation Guide
RRA Module (rra.v)
Use a mask-based approach for fair round-robin scheduling:
- Maintain a 4-bit mask register
- After granting bit[i], set mask to clear bits <= i
- Use lowest-set-bit extraction:
x & (~x + 1) - When masked_req is empty, wrap around to unmasked req
// Round Robin Arbiter - 4 bit (Verilog-2001)
module rra (
input wire clk,
input wire rst_n,
input wire [3:0] req,
output reg [3:0] grant
);
reg [3:0] mask;
reg [3:0] masked_req;
reg [3:0] sel;
function [3:0] lsb;
input [3:0] x;
begin
lsb = x & (~x + 4'b0001);
end
endfunction
always @(posedge clk or negedge rst_n) begin
if (!rst_n) begin
mask <= 4'b1111;
grant <= 4'b0000;
end else if (|req) begin
masked_req = req & mask;
if (|masked_req)
sel = lsb(masked_req);
else
sel = lsb(req);
grant <= sel;
case (sel)
4'b0001: mask <= 4'b1110;
4'b0010: mask <= 4'b1100;
4'b0100: mask <= 4'b1000;
default: mask <= 4'b1111;
endcase
end else begin
grant <= 4'b0000;
end
end
endmodule
Testbench (rra_tb.v)
- Use
$dumpfile/$dumpvarsfor waveform capture - Include reset sequence (rstn=0 for 20ns, then rstn=1)
- Test single requests, round-robin all-request, and no-request cases
- Print PASS/FAIL for each test case
- Print summary with
ALL_TESTS_PASSEDorSOME_TESTS_FAILED
Sandbox Commands
# Compile
iverilog -o rra_sim rra.v rra_tb.v
# Simulate
vvp rra_sim
# View waveforms (if GTKWave available)
gtkwave rra_tb.vcd
Requirements
- Foundry sandbox with
iverilogandvvpinstalled - Workspace write access via sandbox API
Success Criteria
- All testbench assertions pass
ALL_TESTS_PASSEDappears in simulation output
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: ic-star-tech
- Source: ic-star-tech/ccfoundry-agent-kit
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.