-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
This PR aims to add an integration test in which we proves the `fibonacci` rust program. The goal will be achieved by two steps: 1. We will only prove the fibonacci ELF compiled by SP1 rust toolchain in the first place; 2. We will prove the fibonacci rust guest program once our toolchain is ready. This PR currently builds on top of the changes to `ceno_emul` in #487. _naure:_ **Summary of changes** - The new example program from sp1 is similar to the existing example except: - This uses a fixed set of memory addresses: the data segments from the ELF and the stack. - This accepts ECALLs as NOPs. - Move the circuits for memory initialization into their own module called `MmuConfig` (Memory Management Unit). Meanwhile, `Rv32imConfig` focuses on instruction circuits. - Make assignment in memory circuits (`NonVolatileRamCircuit`) more flexible. - Simplify the assign functions. - Move the flexibility of memory initialization to a dedicated type `MemPadder`. - Pad with valid addresses and zero values. - Do _not_ assume that the table covers the whole range of valid addresses. Instead, it is only as large as necessary which is much smaller. - Removed the notion of _program data_ out of circuits and generalize it as _static memory_. That is memory with a static set of addresses. - Refactor `SetTableSpec` to reflect that the address parameters are not relevant in the case `FixedAddr`. - Fix missing padding of the program table witness. - Various debug logs and assertions. --------- Co-authored-by: Aurélien Nicolas <info@nau.re> Co-authored-by: naure <naure@users.noreply.github.com> Co-authored-by: Ming <hero78119@gmail.com>
- Loading branch information
1 parent
2d02e9a
commit 63ad6f9
Showing
26 changed files
with
889 additions
and
351 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
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
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
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
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
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
Binary file not shown.
Oops, something went wrong.