Seed Design Specification¶
Specs describe the intended behavior of the Seed processor; the RTL implements it. When they disagree, record an ISSUE-* in the spec instead of silently changing either side.
Layout¶
docs/
├── specs/
│ ├── 00-system/ System requirements and architecture
│ ├── 10-subsystems/ Cross-module contracts
│ ├── 20-blocks/ One spec per RTL module
│ └── templates/ Templates for new specs
└── verification-plan/ How each REQ-* is verified, and its status
How to use¶
- Read top-down:
00-system/, then10-subsystems/, then the module's spec in20-blocks/. REQ-*items are the acceptance criteria. Known problems are listed asISSUE-*at the end of each spec.- Verification plans live only in verification-plan, never inside a spec.
- New module: copy
templates/block-microarchitecture.md, then create its verification plan with the same file name.
Requirement keywords¶
Requirements use uppercase keywords, following RFC 2119:
| Keyword | Meaning | If not met |
|---|---|---|
SHALL / MUST |
Mandatory | A bug; verification fails |
SHALL NOT / MUST NOT |
Prohibited | A bug; verification fails |
SHOULD |
Recommended; may be skipped for a documented reason | Not a bug, but the reason must be recorded |
MAY |
Optional | No effect |
Every SHALL statement in a REQ-* item is checked by its verification plan.