Microcode Verification – Another Piece of the Microprocessor Verification Puzzle
The work
| Authors | Jared Davis; Anna Slobodova; Sol Swords |
|---|---|
| Editors | |
| Type | misc |
| Year | 2014 |
| Also known as | anon2014microcode |
| Citekey | davis2014microcode |
Where it appeared
| Published in | Lecture Notes in Computer Science |
|---|---|
| Publisher | Springer International Publishing |
| Pages | 1--16 |
Identifiers
| DOI | 10.1007/978-3-319-08970-6_1 |
|---|
Related
| Distinct from | hunt2010use |
|---|
From unpaywall.
Abstract
Despite significant progress in formal hardware verification in the past decade, little has been published on the verification of microcode. Microcode is the heart of every microprocessor and is one of the most complex parts of the design: it is tightly connected to the huge machine state, written in an assembly-like language that has no support for data or control structures, and has little documentation and changing semantics. At the same time it plays a crucial role in the way the processor works. We describe the method of formal microcode verification we have developed for an x86-64 microprocessor designed at Centaur Technology. While the previous work on high and low level code verification is based on an unverified abstract machine model, our approach is tightly connected with our effort to verify the register-transfer level implementation of the hardware. The same microoperation specifications developed to verify implementation of the execution units are used to define operational semantics for the microcode verification. While the techniques used in the described verification effort are not inherently new, to our knowledge, our effort is the first interconnection of hardware and microcode verification in context of an industrial size design. Both our hardware and microcode verifications are done within the same verification framework.
Cite it as
@misc{davis2014microcode,
title = {Microcode Verification – Another Piece of the Microprocessor Verification Puzzle},
author = {Jared Davis and Anna Slobodova and Sol Swords},
year = {2014},
journal = {Lecture Notes in Computer Science},
publisher = {Springer International Publishing},
pages = {1--16},
doi = {10.1007/978-3-319-08970-6_1},
}
This record lives at https://refs.drheap.org/davis2014microcode/ and will keep
doing so. It used to be called anon2014microcode, and those addresses still resolve to this one.