[ Rust Program ]
↓
[ Compile to Executable (e.g., ELF, WASM, custom ISA) ]
↓
[ Run on zkVM interpreter or emulator ]
↓
[ Execution Trace (opcodes, memory, registers, etc.) ]
↓
[ Encode Execution Trace into Algebraic Constraints ]
↓
[ Prover proves that trace satisfies the …
Category: powdr-openVM
Add more chips to OpenVM
Recap the proving process in openVM:
start from the test in lib.rs

The new function create number of auto precompiles, and also set what type of the chip. this are all stored in config, that means, I need to check how the fields of config are used.
prove_mock-> compile and …
Precompile, chip, air, pc_lookup
Chip initialized the AIR:

It is initialized in VmExtension for PowdrExtension, in vm.rs file

Remember PowdrExtension has these, if I add config, then the bus_map can pass through
generate_air_proof_input is a function of PlonkChip!
PC_lookup fix
run this command
cargo test -r --package powdr-openvm --lib -- tests::guest_prove_simple --exact --show-output
in …
Plonkchip add bus in eval
PowdrAir Eval
PowdrAir eval is in the chip.rs
following the implementation of powdrChip powdrAir, the eval function add constraint and bus interactions, powdrAir stores the symbolic_machine

let’s see where the powdrAir is initiated
it’s new function take machine as an input:

check where thies new function is called.

in powdrChip, …
Add bus interactions for plonk circuit
how the plonkChip get the AIR?
we first check how the powdrChip gets its air:

it takes a machine as input, generate a PowdrAir.
check how the new function of powdrAir is implemented?

but it needs to define PlonkAir data structure
PowdrAir has this

it make sense to have machine …
PowdrChip and PlonkChip
Note taken for PR review
PowdrChip and its traits
Defined in powdr_extension, probably follow the format of adding extension to openvm
as it follows the format of adding extension to openvm, which means it needs to implement some common traits, these are:

instruction_executor:

ChipUsageGetter

Chip

Analysing each trait
Instruction_executor:
The …