Skip to content

0adb/deBelen-reinerdb-meng-eecs-2024-artifact

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This repository is an artifact for my thesis, in partial fulfillment of the requirements for the degree of Master of Engineering in Electrical Engineering and Computer Science.

The respective submodules have their own READMEs for documentation on setup. The below contains further information.

The version of Haskell used was GHC 8.4.3. The version of Coq used is version 8.19.2, compiled with OCaml 5.2.0.

The setup instructions for riscv-semantics remain mostly the same. To build the test cases for vector instructions, run

$ ./install_riscv_gcc_vector.sh 
$ . setup.sh

and build tests as before. Source code for the test cases is at folder test/src/vector, and generated assembly will be at test/build/.

To emulate assembly with RISC-V vector instructions, use stack exec riscv-semantics-v <name of binary file>. Only a limited subset of the RISC-V V extension instructions are supported.

To update the Coq translation, after successfully running ./install.sh in folder riscv-semantics, change current directory to bedrock2/deps/riscv-coq, run make convert, make spec, and then make all.

Errors may arise due to hs-to-coq not recognizing Haskell constructs used; to resolve this, update the edit files in bedrock2/deps/riscv-coq/convert-hs-to-coq as appropriate, as well as the Makefile in needed. Errors may also arise in Coq files outside of the decode and execute files in Coq, in which case they will need to be manually updated.

About

Artifact for Master's thesis.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published