Microcode is used to facilitate new technologies in Intel CPU designs. A critical requirement is that new designs be backwardly
compatible with legacy code when new functionalities are disabled. Several features distinguish microcode from other software
systems, such as: interaction with the external environment, sensitivity to exceptions, and the complexity of instructions.
This work describes the ideas behind MICROFORMAL,, a technology for fully automated formal verification of functional backward compatibility of microcode.
This research was supported in part by SRC grant 2004-TJ-1256, NSF grants CCF-0456163, CCR-9988322, CCR-0124077, CCR-0311326,
IIS-9908435, IIS-9978135, EIA-0086264, ANI-0216467, BSF grant 9800096, and by Texas ATP grant 003604-0058-2003.