Abstraction Function
ConceptAn abstraction function α maps the implementation-level state of a pipelined microprocessor to its architectural (user-visible) state, providing the bridge that makes correspondence checking between an ISA specification and a pipeline implementation possible. In the Burch and Dill method, α is computed automatically by symbolically simulating the pipeline as it flushes partially executed instructions, and the verification obligation is that each pipeline cycle of the implementation correspond, under α, to zero or more ISA-level steps of the specification. The idea generalizes Hoare's methodology for relating concrete implementations to abstract specifications, and has been extended in industrial practice (ISA-Formal) to handle dual-issue pipelines, instruction fusion, out-of-order completion, register renaming, and the use of hand-written abstract functions on functional units whose full behavior is too complex to specify.
WIKI
Definition
In Burch–Dill-style microprocessor verification, an abstraction function (\alpha) maps the combined user-visible and pipeline state of an implementation, written (\langle \vec{u}, \vec{p} \rangle), to the user-visible (architectural) state of the implementation. Concretely, Bryant and colleagues define:
$$\alpha(\langle \vec{u}, \vec{p} \rangle) ;\dot{=}; \operatorname{Proj}(\operatorname{Stall}^{l}(\langle \vec{u}, \vec{p} \rangle))$$
NEIGHBORHOOD
No graph connections found for this entity yet. It may appear in future ingestion runs.
explore full graph →