diff --git a/nova/src/circuit_builder.rs b/nova/src/circuit_builder.rs index 233632ec82..66da2b3c34 100644 --- a/nova/src/circuit_builder.rs +++ b/nova/src/circuit_builder.rs @@ -148,13 +148,12 @@ pub(crate) fn nova_prove( .collect::, Vec)>>(); // firstly, compile pil ROM to simple memory commitment - // Idea to represent a instruction is by linear combination lc(, operand1, operand2, operand3, ...), - // operand can be register or constant. For register, first we translate to register index - // decomposed(inst_encoded, 2 << LIMB_WIDTH) = [, operand1, operand2, operand3...] - // each operand should be fit into 2 << LIMB_WIDTH - // TODO1: move this part to other place, like params generator + // Idea to represent a instruction is by linear combination lc(instruction,input params.., output params..) + // params can be register or constant. For register, first we translate to register index + // decomposed(inst_encoded, 1 << LIMB_WIDTH) = [, operand1, operand2, operand3...] + // each operand should be fit into 1 << LIMB_WIDTH + // TODO1: move this part to setup stage. // TODO2: replace this part with more efficient memory commitment strategy, e.g. folding KZG - // TODO3: figure out how to encode constant let rom = main_machine.rom.as_ref().map(|rom| { rom.statements.iter().map(|statement| match statement { diff --git a/nova/zero.asm b/nova/zero.asm index 8e8a4b37b7..ba8a7406db 100644 --- a/nova/zero.asm +++ b/nova/zero.asm @@ -12,7 +12,7 @@ machine NovaZero { reg x1; constraints { - col witness x_b0; // TODO support to 64 + col witness x_b0; col witness x_b1; col witness x_b2; col witness x_b3;