ArchSem documentation
ArchSem is a Rocq framework to define the semantics of CPU architectures such as Arm-A, RISC-V, and x86, integrating their concurrency models — written in Rocq — and instruction-set semantics — written in Sail.
Rocq theories
Generated with coqdoc. The contents link is the table of contents of the theory; index is the alphabetical index of its identifiers.
-
ASCommonCommon infrastructure and definitions for the ArchSem project, including CDestruct and a free monad library. -
ArchSemThe architecture-generic part: the ISA/concurrency interface, candidate executions, and the generic model constructions. -
ArchSemArmThe Arm-A instantiation and its concurrency models. -
ArchSemRiscVThe RISC-V instantiation and its concurrency models. -
ArchSemX86The x86 instantiation and its concurrency models.
OCaml API
Generated with odoc. Only the archsem package ships OCaml code:
the extracted models and the litmus-test runner behind the
archsem command-line tool. The coq-archsem* package
pages exist but are empty.
-
archsemThe extracted models (Archsem) plus thearchsem.litmusandarchsem.islalibraries.