An introduction to functional programming
An introduction to functional programming
Programming and Verifying Real-Time Systems by Means of the Synchronous Data-Flow Language LUSTRE
IEEE Transactions on Software Engineering - Special issue: specification and analysis of real-time systems
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
Using transformations and verification in circuit design
Formal Methods in System Design - Special issue on designing correct circuits
A scalable formal verification methodology for pipelined microprocessors
DAC '96 Proceedings of the 33rd annual Design Automation Conference
Algebra of programming
A transformation-based optimiser for Haskell
Science of Computer Programming - Special issue on the 6th European symposium on programming
Synchronous Programming of Reactive Systems
Synchronous Programming of Reactive Systems
Synthesis of Digital Design from Recursive Equations
Synthesis of Digital Design from Recursive Equations
From Transistors to Computer Architecture: Teaching Functional Circuit Specification in Hydra
FPLE '95 Proceedings of the First International Symposium on Functional Programming Languages in Education
Reasoning About Pipelines with Structural Hazards
TPCD '94 Proceedings of the Second International Conference on Theorem Provers in Circuit Design - Theory, Practice and Experience
Processor Verification with Precise Exeptions and Speculative Execution
CAV '98 Proceedings of the 10th International Conference on Computer Aided Verification
Graph Algorithms with a Functional Flavous
Advanced Functional Programming, First International Spring School on Advanced Functional Programming Techniques-Tutorial Text
Designing Arithmetic Circuits by Refinement in Ruby
Proceedings of the Second International Conference on Mathematics of Program Construction
Automatic Generation of Microarchitecture Simulators
ICCL '98 Proceedings of the 1998 International Conference on Computer Languages
Microprocessor Specification in Hawk
ICCL '98 Proceedings of the 1998 International Conference on Computer Languages
Elementary Microarchitecture Algebra: Top-Level Proof of PipelinedMicroarchitecture
Elementary Microarchitecture Algebra: Top-Level Proof of PipelinedMicroarchitecture
Combining Stream-Based and State-Based Verification Techniques
FMCAD '00 Proceedings of the Third International Conference on Formal Methods in Computer-Aided Design
Automatic formal verification of liveness for pipelined processors with multicycle functional units
CHARME'05 Proceedings of the 13 IFIP WG 10.5 international conference on Correct Hardware Design and Verification Methods
Hi-index | 0.00 |
We describe a set of remarkably simple algebraic laws governing microarchitectural components. We apply these laws to incrementally transform a pipeline containing forwarding, branch speculation and hazard detection so that all pipeline stages and forwarding logic are removed. The resulting unpipelined machine is much closer to the reference architecture, and presumably easier to verify.