Skip to content

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/, then 10-subsystems/, then the module's spec in 20-blocks/.
  • REQ-* items are the acceptance criteria. Known problems are listed as ISSUE-* 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.

Modules