openvm_circuit/arch/testing/
utils.rs1use openvm_circuit::{
2 arch::testing::{BITWISE_OP_LOOKUP_BUS, RANGE_CHECKER_BUS},
3 system::memory::SharedMemoryHelper,
4};
5use openvm_circuit_primitives::{
6 bitwise_op_lookup::{
7 BitwiseOperationLookupBus, BitwiseOperationLookupChip, SharedBitwiseOperationLookupChip,
8 },
9 range_tuple::{RangeTupleCheckerBus, RangeTupleCheckerChip, SharedRangeTupleCheckerChip},
10 var_range::{
11 SharedVariableRangeCheckerChip, VariableRangeCheckerBus, VariableRangeCheckerChip,
12 },
13};
14use openvm_stark_backend::{p3_field::Field, p3_util::log2_strict_usize};
15
16use crate::{
17 arch::MemoryConfig,
18 system::memory::{adapter::records::arena_size_bound, online::TracingMemory},
19};
20
21pub fn default_var_range_checker_bus() -> VariableRangeCheckerBus {
22 VariableRangeCheckerBus::new(RANGE_CHECKER_BUS, 17)
24}
25
26pub fn default_bitwise_lookup_bus() -> BitwiseOperationLookupBus {
27 BitwiseOperationLookupBus::new(BITWISE_OP_LOOKUP_BUS)
28}
29
30pub fn dummy_range_checker(bus: VariableRangeCheckerBus) -> SharedVariableRangeCheckerChip {
31 SharedVariableRangeCheckerChip::new(VariableRangeCheckerChip::new(bus))
32}
33
34pub fn dummy_bitwise_op_lookup(
35 bus: BitwiseOperationLookupBus,
36) -> SharedBitwiseOperationLookupChip<8> {
37 SharedBitwiseOperationLookupChip::new(BitwiseOperationLookupChip::new(bus))
38}
39
40pub fn dummy_range_tuple_checker(bus: RangeTupleCheckerBus<2>) -> SharedRangeTupleCheckerChip<2> {
41 SharedRangeTupleCheckerChip::new(RangeTupleCheckerChip::new(bus))
42}
43
44pub fn dummy_memory_helper<F: Field>(
45 bus: VariableRangeCheckerBus,
46 timestamp_max_bits: usize,
47) -> SharedMemoryHelper<F> {
48 SharedMemoryHelper::new(dummy_range_checker(bus), timestamp_max_bits)
49}
50
51pub fn default_tracing_memory(mem_config: &MemoryConfig, init_block_size: usize) -> TracingMemory {
52 let max_access_adapter_n = log2_strict_usize(mem_config.max_access_adapter_n);
53 let arena_size_bound = arena_size_bound(&vec![1 << 16; max_access_adapter_n]);
54 TracingMemory::new(mem_config, init_block_size, arena_size_bound)
55}