An apparatus verifies the correctness of a behavioral model of a microcode
machine, where the microcode machine is operable in a native state and an
emulated state. The apparatus includes means for producing the native
state, means for producing the emulated state, and means for comparing
the native state and the emulated state. Corresponding to the apparatus,
a method verifies the correctness of a processor behavioral model, where
the processor operates in a native mode state and an emulated mode state.
The method includes determining if a macroinstruction to be executed is a
native instruction, and, if the macroinstruction is a native instruction,
executing the native instruction, the execution producing the native mode
state of the processor. The method further includes, if the
macroinstruction is not a native instruction, fetching the
macroinstruction, providing microinstructions corresponding to the
macroinstruction, and executing the microinstructions, the execution
producing the native mode state of the processor. Finally, the method
includes executing the macroinstruction, the execution producing an
emulated state of the processor, and comparing the native mode state the
of the processor with the emulated state of the processor.