profile/signal-missing

A signal a required interface declares is absent from the design.

Remedy

Add the missing signal to the design, or drop the interface requirement if this board genuinely does not implement it.

What it means

An interface profile lists the signals a bus must have. This fires when the interface is in use, meaning its anchor signal (e.g. SPI-NOR’s chip-select) is present, but a required signal net is absent. Signals are matched by net-name suffix.

Why engineers want it

The most common bus-wiring slip is a forgotten line: five of six SPI-NOR signals wired, one missed. Each “verify signal X connected” review item is really this one check applied per signal. The profile encodes the required set once, and the rule flags whichever member is missing.

Why it anchors on a present signal (and what it does not catch)

A datalog rule fires on rows; an absent net is not a row. So “IO2 is missing” is reported against the interface’s anchor net (which is present), one finding per missing signal. The deliberate limit: if the anchor itself is absent, on a wholly-missing interface, there is nothing to anchor on, and the rule stays silent. Detecting a required interface that is entirely absent needs a declared host or a design-intent statement (a later refinement), not a name convention.

For software readers

The profile is an interface/protocol definition; this is the check that an implementation provides every member the interface declares. “Anchored on a present signal” is like validating a partially-filled config: you can flag the missing keys only once you can tell the config is meant to be there at all.