An executable, deterministic cache-verification baseline designed for the UCAgent contest. It has a hand-written constrained-random generator, independent golden scoreboard, functional coverage collector, and mutation/fault-injection tests.
The second command writes artifacts/regression.json and artifacts/coverage.json. No proprietary RTL or simulator is bundled; the regression therefore uses the supplied behavioural DUT adapter. This is intentional and is documented in docs/verification_report.md rather than being represented as NutShell RTL sign-off.
Integrating real NutShell RTL
Copy the Cache RTL and file list to rtl/ (ignored by Git if needed).
Implement signal mapping in src/picker_adapter.py for the project-specific Picker-generated DUT.
Set cache geometry in src/config.py to the RTL parameters.
Run the same tests under toffee-test; retain the generated toffee_report.json and update the report’s evidence table.
The test layers deliberately do not depend on a particular bus name: request/response transactions are defined in src/protocol.py.
NutShell Cache verification with UCAgent
An executable, deterministic cache-verification baseline designed for the UCAgent contest. It has a hand-written constrained-random generator, independent golden scoreboard, functional coverage collector, and mutation/fault-injection tests.
Run
The second command writes
artifacts/regression.jsonandartifacts/coverage.json. No proprietary RTL or simulator is bundled; the regression therefore uses the supplied behavioural DUT adapter. This is intentional and is documented indocs/verification_report.mdrather than being represented as NutShell RTL sign-off.Integrating real NutShell RTL
rtl/(ignored by Git if needed).src/picker_adapter.pyfor the project-specific Picker-generated DUT.src/config.pyto the RTL parameters.toffee-test; retain the generatedtoffee_report.jsonand update the report’s evidence table.The test layers deliberately do not depend on a particular bus name: request/response transactions are defined in
src/protocol.py.