Show simple item record

dc.contributor.authorDave, Nirav H.
dc.contributor.authorKatelman, Michael
dc.contributor.authorKing, Myron Decker
dc.contributor.authorMithal, Arvind
dc.date.accessioned2012-09-28T15:08:34Z
dc.date.available2012-09-28T15:08:34Z
dc.date.issued2011-07
dc.identifier.isbn978-1-4577-0118-4
dc.identifier.isbn1457701189
dc.identifier.otherINSPEC Accession Number: 12145172
dc.identifier.urihttp://hdl.handle.net/1721.1/73470
dc.descriptionhttp://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=5970511&tag=1en_US
dc.description.abstractMicroarchitectural 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.en_US
dc.description.sponsorshipNational Science Foundation (U.S.) (NSF (#CCF-0541164))en_US
dc.language.isoen_US
dc.publisherInstitute of Electrical and Electronics Engineersen_US
dc.relation.isversionofhttp://dx.doi.org/10.1109/MEMCOD.2011.5970511en_US
dc.rightsCreative Commons Attribution-Noncommercial-Share Alike 3.0en_US
dc.rights.urihttp://creativecommons.org/licenses/by-nc-sa/3.0/en_US
dc.sourceMIT web domainen_US
dc.titleVerification of microarchitectural refinements in rule-based systemsen_US
dc.typeArticleen_US
dc.identifier.citationDave, Nirav et al. “Verification of Microarchitectural Refinements in Rule-based Systems.” 2011 9th IEEE/ACM International Conference on Formal Methods and Models for Codesign (MEMOCODE) IEEE, 11-13 July 2011. 61–71. Web.en_US
dc.contributor.departmentMassachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratoryen_US
dc.contributor.approverMithal, Arvind
dc.contributor.mitauthorDave, Nirav H.
dc.contributor.mitauthorMithal, Arvind
dc.contributor.mitauthorKing, Myron Decker
dc.relation.journal2011 9th IEEE/ACM International Conference on Formal Methods and Models for Codesign (MEMOCODE)en_US
dc.eprint.versionAuthor's final manuscripten_US
dc.type.urihttp://purl.org/eprint/type/ConferencePaperen_US
dspace.orderedauthorsDave, Nirav; Katelman, Michael; King, Myron; Arvind, Myron; Meseguer, Joseen
dc.identifier.orcidhttps://orcid.org/0000-0002-9737-2366
dc.identifier.orcidhttps://orcid.org/0000-0003-2075-4654
dspace.mitauthor.errortrue
mit.licenseOPEN_ACCESS_POLICYen_US
mit.metadata.statusComplete


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record