-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve legibility and methodology for testing opcode circuits #331
Comments
See also comments by @matthiasgoergens posted here |
The point is that this is how the spec is written. So we can tell the exact data being tested without intermediate code. But yes it is getting out of hand.
|
I submitted a short PR #395 to address the constants in cc. @hero78119 |
This PR is trying to remove `MOCK_PROGRAM` and `MOCK_PC_XXX` in `MockProver`, related to part of #331. The idea is to 1. move `load_program_table` out from `load_table` so that we can pass any opcodes we would like to test, and 2. leverage existing `DecodedInstruction::from_raw()` to reassemble the opcode format for `MockProver`. --------- Co-authored-by: naure <[email protected]>
If you want to test against the spec like that, you should just use the official RiscV tests. |
Currently, RISC-V opcode circuits are tested individually in a mock prover using hand-crafted operations added to
ceno_zkvm/src/scheme/mock_prover.rs
, and (sometimes) using the real prover in a single example program atceno_zkvm/examples/riscv_opcodes.rs
. The methodology for implementing this testing could likely use some improvements in terms of:The text was updated successfully, but these errors were encountered: