Modeling and Verification of Out-of-Order Microprocessors in UCLID
FMCAD '02 Proceedings of the 4th International Conference on Formal Methods in Computer-Aided Design
A general decomposition strategy for verifying register renaming
Proceedings of the 41st annual Design Automation Conference
A framework for systematic validation and debugging of pipeline simulators
ACM Transactions on Design Automation of Electronic Systems (TODAES)
A New Approach for the Construction of Multiway Decision Graphs
Proceedings of the 5th international colloquium on Theoretical Aspects of Computing
Modelling and verification of superscalar Micro-architectures functional approach
ICCOMP'08 Proceedings of the 12th WSEAS international conference on Computers
Improvements to hybrid incremental SAT algorithms
SAT'08 Proceedings of the 11th international conference on Theory and applications of satisfiability testing
Optimization techniques for verification of out-of-order execution machines
Journal of Electrical and Computer Engineering
NuMDG: a new tool for multiway decision graphs construction
Journal of Computer Science and Technology - Special issue on natural language processing
Beyond unit propagation in SAT solving
SEA'11 Proceedings of the 10th international conference on Experimental algorithms
ICFEM'11 Proceedings of the 13th international conference on Formal methods and software engineering
Pipelined microprocessors optimization and debugging
ARC'10 Proceedings of the 6th international conference on Reconfigurable Computing: architectures, Tools and Applications
Automatic formal verification of multithreaded pipelined microprocessors
Proceedings of the International Conference on Computer-Aided Design
SAT solving with reference points
SAT'10 Proceedings of the 13th international conference on Theory and Applications of Satisfiability Testing
SAT'10 Proceedings of the 13th international conference on Theory and Applications of Satisfiability Testing
Hi-index | 0.00 |
Rewriting rules and Positive Equality [4] are combined in anautomatic way in order to formally verify out-of-order proces-sorsthat have a Reorder Buffer, and can issue/retire multipleinstructions per clock cycle. Only register-register instructionsare implemented, and can be executed out-of-order, as soon astheir data operands can be either read from the Register File, orforwarded as results of instructions ahead in program order inthe Reorder Buffer. The verification is based on the Burch andDill correctness criterion [6]. Rewriting rules are used to provethe correct execution of instructions that are initially in the Reor-derBuffer, and to remove them from the correctness formula.Positive Equality is then employed to prove the correct executionof newly fetched instructions. The rewriting rules resulted in upto 5 orders of magnitude speedup, compared to using PositiveEquality alone. That made it possible to formally verify proces-sorswith up to 1,500 instructions in the Reorder Buffer, andissue/retire widths of up to 128 instructions per clock cycle.