Boot code execution
ConceptBoot code execution refers to the initial software that runs on a hardware circuit immediately after reset, typically responsible for initializing and clearing microarchitectural state. In the context of formal hardware verification, modeling many cycles of boot code execution is essential for proving security properties such as deterministic start and output determinism, but the large number of cycles involved poses significant challenges for traditional bounded model checking tools, which scale exponentially with the number of execution cycles.
WIKI
Boot code execution
Definition and purpose
Boot code execution refers to the cycle-accurate execution of the initial software that a hardware circuit runs after reset. In a typical system-on-chip (SoC), this boot code is responsible for clearing uninitialized microarchitectural state and bringing the hardware into a known, deterministic configuration before any application software is loaded. For example, in the MicroTitan RISC-V SoC (a subset of OpenTitan), boot code takes 24,516 cycles to clear the chip's uninitialized state, compared to only 104 cycles for the simpler PicoRV32 CPU [chunk: 91532559-482e-4d7c-96dd-390c79237ffc, 8f0d2e8d-6757-4786-b035-ece765fac6f1].