Blocks meet only at interfaces, and every interface is a promise both sides build against. This topic makes those promises explicit: the six facets every interface contract covers, the owner named for each facet, the change control that guards them after a freeze, and the hardware-software contract with its errata process, which this course introduces here. Later sections spend these contracts on their own areas; this topic mints them.
Lesson | After it you can... |
|---|---|
Write the six-facet contract for any NanoSoC interface. | |
Assign one accountable owner per contract and run a change through impact to requalification. | |
Write the driver rules from reset values and run the errata process end to end. |
Suggested order: top to bottom. Facets first, because RACI assigns owners to facets; then change control, because the software contract only survives if changes are governed. The handoff topic (The Integrator Role and Handoffs) supplies the bundles these contracts travel in. The standing rule for anything that crosses a clock or reset domain, nothing multi-bit without a handshake or FIFO and nothing single-bit without two flops, is taught in the CDC and RDC interface checklists; this topic only records it in the contract.
The address facet's security attribute, and the protocol facet's sideband carriage. The contract must name the sideband at every hop, with the firewall at the slave as the enforcement.