원클릭으로
ball
Create a new Buckyball Ball operator named $ARGUMENTS, covering the full flow from implementation to verification.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Create a new Buckyball Ball operator named $ARGUMENTS, covering the full flow from implementation to verification.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Staticaly validate Buckyball Ball registration consistency and optionally auto-fix mismatches. Use this skill when users ask to inspect registration status, validate Ball configuration, troubleshoot registration issues, or verify consistency after registration edits.
Verify functional correctness of the Ball named $ARGUMENTS. Use this skill when users ask to verify/test a Ball, check whether a Ball works correctly, or validate a newly created Ball.
Systematically debug Buckyball simulation failures. Use this skill when simulation returns FAILED, CTest fails, Chisel compilation errors appear, or users report abnormal Ball behavior. It covers log analysis, waveform analysis, and common failure pattern matching.
Analyze and optimize latency and area for the RTL module named $ARGUMENTS. Applies to any RTL module (Ball, MemFrontend, BBus, GlobalROB, etc.), not limited to Ball operators.
Use waveform-mcp tools to analyze VCD/FST waveforms and inspect Buckyball signal timing. Use this skill for cycle-level timing analysis, handshake debugging, FSM transition checks, or whenever waveform-level evidence is needed.
| name | ball |
| description | Create a new Buckyball Ball operator named $ARGUMENTS, covering the full flow from implementation to verification. |
Important: all build/simulation operations must go through MCP tools (validate, bbdev_workload_build, bbdev_verilator_run, etc.). Do not use bbdev CLI or nix develop directly.
ballId + funct7:
arch/src/main/scala/framework/balldomain/configs/default.jsonexamples/chips/toy/arch/src/main/scala/balldomain/DISA.scalaexamples/balls/bb-tests/workloads/lib/bbhw/isa/bb-tests/workloads/src/CTest/toy/inBW / outBWop2 is needediter.../prototype/relu/ReluBall.scala, Relu.scala.../prototype/systolicarray/.../blink/blink.scala, bank.scala, status.scala.../memdomain/backend/banks/SramIO.scalaexamples/balls/<name>/arch/src/main/scala/ using templates from references/.resp.valid in the cycle after req.fire)cmdReq.fireidle -> read -> compute -> write -> complete -> idlestatus.idle and status.running must map correctly to FSM statesUpdate files in order:
.../configs/default.json - append ballIdMappings entry and update ballNum.../bbus/busRegister.scala - add import + match case.../DISA.scala - add val XXX = BitPat("bxxxxxxx").../DomainDecoder.scala - add decode row (BID = ballId.U)Create <funct7_decimal>_<name>.c under bb-tests/workloads/lib/bbhw/isa/, then include it in isa.h.
<name>_test.c under bb-tests/workloads/src/CTest/toy/bb-tests/workloads/src/CTest/toy/CMakeLists.txt using add_cross_platform_test_targetvalidate and ensure all 6 invariants passbbdev_workload_buildbbdev_verilator_run for this Ball's CTest binaryPASSED -> doneFAILED -> switch to /debug