Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
1c2a4f4
commit 78a5f9f
Showing
3 changed files
with
19 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,23 @@ | ||
A HOL4 project for hardware/Verilog development | ||
Verilog development and verification project for HOL4 | ||
|
||
# Installation and setup | ||
|
||
The development requires [HOL4](https://hol-theorem-prover.org) and [L3](http://www.cl.cam.ac.uk/~acjf3/l3). | ||
The development requires [HOL4](https://hol-theorem-prover.org). | ||
|
||
To build you need to point $CAKEMLDIR to your CakeML compiler directory. | ||
## Ag32-specific setup | ||
|
||
## ISA generation | ||
To build Ag32-related theories, such as the processor itself and `cakeml_connection`, you need to point `$CAKEMLDIR` to your CakeML compiler directory. | ||
|
||
The following command in the L3 REPL (named `l3`, located in the `bin` directory in your L3 directory) will produce ISA HOL code from the ISA specification: | ||
### ISA generation | ||
|
||
Translating the Silver ISA from L3 to HOL is not necessary as the already-translated ISA stored in the CakeML compiler project is used. | ||
|
||
However, after updating the L3 ISA the following steps are required to update the HOL ISA. | ||
|
||
First, make sure you have [L3](http://www.cl.cam.ac.uk/~acjf3/l3) installed. | ||
|
||
With L3 installed, the following command in the L3 REPL (named `l3`, located in the `bin` directory in your L3 directory) will produce the HOL ISA from the L3 ISA: | ||
|
||
``` | ||
HolExport.spec ("ag32.spec", "ag32"); | ||
``` | ||
|
||
Doing this is not necessary as the generated ISA stored in the CakeML compiler project is used. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,5 @@ | ||
Some glue code use to integrate the Silver processor with our FPGA board. | ||
|
||
The cache layer is currently unused. | ||
|
||
The nonsense "_wrapper" files are only needed because Vivado do not allow SystemVerilog at the top-level in the block integrator. |