A symbolic execution framework for algorithm-level modelling

Ziyad Hanna, Tom Melham
<span title="">2009</span> <i title="IEEE"> <a target="_blank" rel="noopener" href="https://fatcat.wiki/container/4xfhwkuqw5f43mad6ock55mkeu" style="color: black;">2009 IEEE International High Level Design Validation and Test Workshop</a> </i> &nbsp;
This work aims to address the well-known and acute challenge of functional validation for complex, contemporary microarchitectural circuit designs. We provide a new formal framework for algorithm level modelling-design modelling at a high abstraction level, focused exclusively on function and algorithms. The semantics of our models is based on Abstract State Machines with synchronous parallel execution, sequential execution, and nondeterminism. To express models we propose an executable,
more &raquo; ... oriented Architecture Specification Language with rich data types and a well-defined formal semantics, based initially on Microsoft's AsmL. We describe an experimental framework for direct symbolic execution of models in this language, intended as a basis for both property and refinement verification, as well as design exploration. We explain and illustrate our approach through a case study, the modelling a simple µop scheduler and its refinement towards a design model for circuit implementation. We aim to show the utility of our language and symbolic execution framework for exploring microarchitectural algorithm and to validate designs using dynamic or formal techniques, yielding more productive convergence to high quality implementations. Abstract, yet sufficiently complete. All and only the algorithmically relevant features of the system should be represented. It need not be cycle-accurate or expressed at the bit level. Simple and concise, written in a language with meaning transparent to both system architects and designers. Precise, with a comprehensive and tractable formal semantics. This should be suitable to support a range of different formal verification technologies. Hardware-oriented. The model should provide a semantics suitable for the abstract characteristics of hardware-correctly modelling concurrency, synchronisation, clocking, hierarchy, and modular composition. Executable. The model can be run when encapsulated within a suitable test-bench and run-time environment.
<span class="external-identifiers"> <a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1109/hldvt.2009.5340168">doi:10.1109/hldvt.2009.5340168</a> <a target="_blank" rel="external noopener" href="https://dblp.org/rec/conf/hldvt/HannaM09.html">dblp:conf/hldvt/HannaM09</a> <a target="_blank" rel="external noopener" href="https://fatcat.wiki/release/s7ugbceedjf4hgpvmtfpr3yyoe">fatcat:s7ugbceedjf4hgpvmtfpr3yyoe</a> </span>
<a target="_blank" rel="noopener" href="https://web.archive.org/web/20170830011848/http://www.cs.ox.ac.uk/tom.melham/pub/Hanna-2009-SEF.pdf" title="fulltext PDF download" data-goatcounter-click="serp-fulltext" data-goatcounter-title="serp-fulltext"> <button class="ui simple right pointing dropdown compact black labeled icon button serp-button"> <i class="icon ia-icon"></i> Web Archive [PDF] <div class="menu fulltext-thumbnail"> <img src="https://blobs.fatcat.wiki/thumbnail/pdf/f8/52/f85228df45c400ece686aee5b9871bc6217f2a57.180px.jpg" alt="fulltext thumbnail" loading="lazy"> </div> </button> </a> <a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1109/hldvt.2009.5340168"> <button class="ui left aligned compact blue labeled icon button serp-button"> <i class="external alternate icon"></i> ieee.com </button> </a>