Skip to content

Commit 30a82bb

Browse files
committed
Lutsig v2
1 parent b46941f commit 30a82bb

File tree

109 files changed

+11745
-5620
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

109 files changed

+11745
-5620
lines changed

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
*.ui
66
*.uo
77

8+
*.hi
9+
*.o
10+
811
*Theory.sig
912
*Theory.sml
1013

README.md

+16-4
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,30 @@
11
Verilog development and verification project for HOL4
22

3+
# Important directories
4+
5+
The formal Verilog semantics is located in the directory `verilog`.
6+
7+
The verified Verilog synthesis tool Lutsig is located in the `compiler` directory. The (latest) proof-producing code generator is located in `newTranslator`.
8+
9+
Some examples on how to use Lutsig and the code generator in practice are available in the `example` directory. There is also a test-suite for Lutsig available, based on unverified parsing of Verilog text files, in the `verilog_parser` directory.
10+
11+
Silver-related theories are spread out into multiple directories, but the most important ones are `ag32` and `cakeml_connection`.
12+
313
# Installation and setup
414

515
The development requires [HOL4](https://hol-theorem-prover.org).
616

7-
## Ag32-specific setup
17+
For Silver (ag32), additional setup is required, as described below.
18+
19+
## Silver setup
820

9-
To build Ag32-related theories, such as the processor itself and `cakeml_connection`, you need to point `$CAKEMLDIR` to your CakeML compiler directory.
21+
To build Silver-related theories, such as the processor itself and `cakeml_connection`, you need to point `$CAKEMLDIR` to your CakeML compiler directory.
1022

11-
Because the Verilog semantics has been updated since Ag32 was developed, the Ag32 stuff will not build using the latest commit. If you want to build Ag32, use e.g. dc281059bd3a19e478fb211aadda1c2ac7891fa9.
23+
Because the Verilog semantics has been updated since Silver was developed, the Silver theories will not build using the latest commit. If you want to build Silver, use e.g. dc281059bd3a19e478fb211aadda1c2ac7891fa9. (This is just a temporary workaround.)
1224

1325
### ISA generation
1426

15-
Translating the Silver ISA from L3 to HOL is not necessary as the already-translated ISA stored in the CakeML compiler project is used.
27+
Translating the Silver ISA from L3 to HOL is not necessary as the already-translated ISA stored in the CakeML compiler project is used in all Silver theories.
1628

1729
However, after updating the L3 ISA the following steps are required to update the HOL ISA.
1830

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)