TY - GEN
T1 - Verification of microarchitectural refinements in rule-based systems
AU - Dave, Nirav
AU - Katelman, Michael
AU - King, Myron
AU - Arvind,
AU - Meseguer, Jose
PY - 2011
Y1 - 2011
N2 - Microarchitectural refinements are often required to meet performance, area, or timing constraints when designing complex digital systems. While refinements are often straightforward to implement, it is difficult to formally specify the conditions of correctness for those which change cycle-level timing. As a result, in the later stages of design only those changes are considered that do not affect timing and whose verification can be automated using tools for checking FSM equivalence. This excludes an essential class of microarchitectural changes, such as the insertion of a register in a long combinational path to meet timing. A design methodology based on guarded atomic actions, or rules, offers an opportunity to raise the notion of correctness to a more abstract level. In rule-based systems, many useful refinements can be expressed simply by breaking a single rule into smaller rules which execute the original operation in multiple steps. Since the smaller rule executions can be interleaved with other rules, the verification task is to determine that no new behaviors have been introduced. We formalize this notion of correctness and present a tool based on SMT solvers that can automatically prove that a refinement is correct, or provide concrete information as to why it is not correct. With this tool, a larger class of refinements at all stages of the design process can be verified easily. We demonstrate the use of our tool in proving the correctness of the refinement of a processor pipeline from four stages to five.
AB - Microarchitectural refinements are often required to meet performance, area, or timing constraints when designing complex digital systems. While refinements are often straightforward to implement, it is difficult to formally specify the conditions of correctness for those which change cycle-level timing. As a result, in the later stages of design only those changes are considered that do not affect timing and whose verification can be automated using tools for checking FSM equivalence. This excludes an essential class of microarchitectural changes, such as the insertion of a register in a long combinational path to meet timing. A design methodology based on guarded atomic actions, or rules, offers an opportunity to raise the notion of correctness to a more abstract level. In rule-based systems, many useful refinements can be expressed simply by breaking a single rule into smaller rules which execute the original operation in multiple steps. Since the smaller rule executions can be interleaved with other rules, the verification task is to determine that no new behaviors have been introduced. We formalize this notion of correctness and present a tool based on SMT solvers that can automatically prove that a refinement is correct, or provide concrete information as to why it is not correct. With this tool, a larger class of refinements at all stages of the design process can be verified easily. We demonstrate the use of our tool in proving the correctness of the refinement of a processor pipeline from four stages to five.
UR - http://www.scopus.com/inward/record.url?scp=80052132182&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=80052132182&partnerID=8YFLogxK
U2 - 10.1109/MEMCOD.2011.5970511
DO - 10.1109/MEMCOD.2011.5970511
M3 - Conference contribution
AN - SCOPUS:80052132182
SN - 9781457701160
T3 - 9th ACM/IEEE International Conference on Formal Methods and Models for Codesign, MEMOCODE 2011
SP - 61
EP - 71
BT - 9th ACM/IEEE International Conference on Formal Methods and Models for Codesign, MEMOCODE 2011
T2 - 9th ACM/IEEE International Conference on Formal Methods and Models for Codesign, MEMOCODE 2011
Y2 - 11 July 2011 through 13 July 2011
ER -