forked from libre-chip/fayalite
		
	add sim.fork_join() and fix Simulator to handle running futures with arbitrary wakers
This commit is contained in:
		
							parent
							
								
									0be9f9ce23
								
							
						
					
					
						commit
						c11a1743f9
					
				
					 33 changed files with 4083 additions and 1256 deletions
				
			
		
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							| 
						 | 
					@ -2026,3 +2026,85 @@ fn test_sim_only_connects() {
 | 
				
			||||||
        panic!();
 | 
					        panic!();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#[hdl_module(outline_generated, extern)]
 | 
				
			||||||
 | 
					pub fn sim_fork_join<const N: usize>()
 | 
				
			||||||
 | 
					where
 | 
				
			||||||
 | 
					    ConstUsize<N>: KnownSize,
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    #[hdl]
 | 
				
			||||||
 | 
					    let clocks: Array<Clock, N> = m.input();
 | 
				
			||||||
 | 
					    #[hdl]
 | 
				
			||||||
 | 
					    let outputs: Array<UInt<8>, N> = m.output();
 | 
				
			||||||
 | 
					    m.extern_module_simulation_fn((clocks, outputs), |(clocks, outputs), mut sim| async move {
 | 
				
			||||||
 | 
					        sim.write(outputs, [0u8; N]).await;
 | 
				
			||||||
 | 
					        loop {
 | 
				
			||||||
 | 
					            sim.fork_join(
 | 
				
			||||||
 | 
					                clocks
 | 
				
			||||||
 | 
					                    .into_iter()
 | 
				
			||||||
 | 
					                    .zip(outputs)
 | 
				
			||||||
 | 
					                    .map(|(clock, output)| {
 | 
				
			||||||
 | 
					                        move |mut sim: ExternModuleSimulationState| async move {
 | 
				
			||||||
 | 
					                            sim.wait_for_clock_edge(clock).await;
 | 
				
			||||||
 | 
					                            let v = sim
 | 
				
			||||||
 | 
					                                .read_bool_or_int(output)
 | 
				
			||||||
 | 
					                                .await
 | 
				
			||||||
 | 
					                                .to_bigint()
 | 
				
			||||||
 | 
					                                .try_into()
 | 
				
			||||||
 | 
					                                .expect("known to be in range");
 | 
				
			||||||
 | 
					                            sim.write(output, 1u8.wrapping_add(v)).await;
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                    })
 | 
				
			||||||
 | 
					                    .collect::<Vec<_>>(),
 | 
				
			||||||
 | 
					            )
 | 
				
			||||||
 | 
					            .await;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    });
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#[test]
 | 
				
			||||||
 | 
					fn test_sim_fork_join() {
 | 
				
			||||||
 | 
					    let _n = SourceLocation::normalize_files_for_tests();
 | 
				
			||||||
 | 
					    const N: usize = 3;
 | 
				
			||||||
 | 
					    let mut sim = Simulation::new(sim_fork_join::<N>());
 | 
				
			||||||
 | 
					    let mut writer = RcWriter::default();
 | 
				
			||||||
 | 
					    sim.add_trace_writer(VcdWriterDecls::new(writer.clone()));
 | 
				
			||||||
 | 
					    sim.write(sim.io().clocks, [false; N]);
 | 
				
			||||||
 | 
					    let mut clocks_triggered = [false; N];
 | 
				
			||||||
 | 
					    let mut expected = [0u8; N];
 | 
				
			||||||
 | 
					    for i0 in 0..N {
 | 
				
			||||||
 | 
					        for i1 in 0..N {
 | 
				
			||||||
 | 
					            for i2 in 0..N {
 | 
				
			||||||
 | 
					                for i3 in 0..N {
 | 
				
			||||||
 | 
					                    let indexes = [i0, i1, i2, i3];
 | 
				
			||||||
 | 
					                    for i in indexes {
 | 
				
			||||||
 | 
					                        sim.advance_time(SimDuration::from_micros(1));
 | 
				
			||||||
 | 
					                        sim.write(sim.io().clocks[i], true);
 | 
				
			||||||
 | 
					                        sim.advance_time(SimDuration::from_micros(1));
 | 
				
			||||||
 | 
					                        sim.write(sim.io().clocks[i], false);
 | 
				
			||||||
 | 
					                        if !clocks_triggered[i] {
 | 
				
			||||||
 | 
					                            expected[i] = expected[i].wrapping_add(1);
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                        clocks_triggered[i] = true;
 | 
				
			||||||
 | 
					                        if clocks_triggered == [true; N] {
 | 
				
			||||||
 | 
					                            clocks_triggered = [false; N];
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                        let output = sim.read(sim.io().outputs);
 | 
				
			||||||
 | 
					                        assert_eq!(output, expected.to_sim_value(), "indexes={indexes:?} i={i}");
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    sim.flush_traces().unwrap();
 | 
				
			||||||
 | 
					    let vcd = String::from_utf8(writer.take()).unwrap();
 | 
				
			||||||
 | 
					    println!("####### VCD:\n{vcd}\n#######");
 | 
				
			||||||
 | 
					    if vcd != include_str!("sim/expected/sim_fork_join.vcd") {
 | 
				
			||||||
 | 
					        panic!();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    let sim_debug = format!("{sim:#?}");
 | 
				
			||||||
 | 
					    println!("#######\n{sim_debug}\n#######");
 | 
				
			||||||
 | 
					    if sim_debug != include_str!("sim/expected/sim_fork_join.txt") {
 | 
				
			||||||
 | 
					        panic!();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -828,7 +828,6 @@ Simulation {
 | 
				
			||||||
        did_initial_settle: true,
 | 
					        did_initial_settle: true,
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    extern_modules: [],
 | 
					    extern_modules: [],
 | 
				
			||||||
    state_ready_to_run: false,
 | 
					 | 
				
			||||||
    trace_decls: TraceModule {
 | 
					    trace_decls: TraceModule {
 | 
				
			||||||
        name: "array_rw",
 | 
					        name: "array_rw",
 | 
				
			||||||
        children: [
 | 
					        children: [
 | 
				
			||||||
| 
						 | 
					@ -1699,7 +1698,12 @@ Simulation {
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
        ),
 | 
					        ),
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    instant: 34 μs,
 | 
					 | 
				
			||||||
    clocks_triggered: [],
 | 
					    clocks_triggered: [],
 | 
				
			||||||
 | 
					    event_queue: EventQueue(EventQueueData {
 | 
				
			||||||
 | 
					        instant: 34 μs,
 | 
				
			||||||
 | 
					        events: {},
 | 
				
			||||||
 | 
					    }),
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_address: {},
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_compiled_value: {},
 | 
				
			||||||
    ..
 | 
					    ..
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -124,7 +124,6 @@ Simulation {
 | 
				
			||||||
        did_initial_settle: true,
 | 
					        did_initial_settle: true,
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    extern_modules: [],
 | 
					    extern_modules: [],
 | 
				
			||||||
    state_ready_to_run: false,
 | 
					 | 
				
			||||||
    trace_decls: TraceModule {
 | 
					    trace_decls: TraceModule {
 | 
				
			||||||
        name: "conditional_assignment_last",
 | 
					        name: "conditional_assignment_last",
 | 
				
			||||||
        children: [
 | 
					        children: [
 | 
				
			||||||
| 
						 | 
					@ -177,7 +176,12 @@ Simulation {
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
        ),
 | 
					        ),
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    instant: 2 μs,
 | 
					 | 
				
			||||||
    clocks_triggered: [],
 | 
					    clocks_triggered: [],
 | 
				
			||||||
 | 
					    event_queue: EventQueue(EventQueueData {
 | 
				
			||||||
 | 
					        instant: 2 μs,
 | 
				
			||||||
 | 
					        events: {},
 | 
				
			||||||
 | 
					    }),
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_address: {},
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_compiled_value: {},
 | 
				
			||||||
    ..
 | 
					    ..
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -100,7 +100,6 @@ Simulation {
 | 
				
			||||||
        did_initial_settle: true,
 | 
					        did_initial_settle: true,
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    extern_modules: [],
 | 
					    extern_modules: [],
 | 
				
			||||||
    state_ready_to_run: false,
 | 
					 | 
				
			||||||
    trace_decls: TraceModule {
 | 
					    trace_decls: TraceModule {
 | 
				
			||||||
        name: "connect_const",
 | 
					        name: "connect_const",
 | 
				
			||||||
        children: [
 | 
					        children: [
 | 
				
			||||||
| 
						 | 
					@ -130,7 +129,12 @@ Simulation {
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    trace_memories: {},
 | 
					    trace_memories: {},
 | 
				
			||||||
    trace_writers: [],
 | 
					    trace_writers: [],
 | 
				
			||||||
    instant: 0 s,
 | 
					 | 
				
			||||||
    clocks_triggered: [],
 | 
					    clocks_triggered: [],
 | 
				
			||||||
 | 
					    event_queue: EventQueue(EventQueueData {
 | 
				
			||||||
 | 
					        instant: 0 s,
 | 
				
			||||||
 | 
					        events: {},
 | 
				
			||||||
 | 
					    }),
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_address: {},
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_compiled_value: {},
 | 
				
			||||||
    ..
 | 
					    ..
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -143,7 +143,6 @@ Simulation {
 | 
				
			||||||
        did_initial_settle: true,
 | 
					        did_initial_settle: true,
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    extern_modules: [],
 | 
					    extern_modules: [],
 | 
				
			||||||
    state_ready_to_run: false,
 | 
					 | 
				
			||||||
    trace_decls: TraceModule {
 | 
					    trace_decls: TraceModule {
 | 
				
			||||||
        name: "connect_const_reset",
 | 
					        name: "connect_const_reset",
 | 
				
			||||||
        children: [
 | 
					        children: [
 | 
				
			||||||
| 
						 | 
					@ -197,7 +196,12 @@ Simulation {
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
        ),
 | 
					        ),
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    instant: 1 μs,
 | 
					 | 
				
			||||||
    clocks_triggered: [],
 | 
					    clocks_triggered: [],
 | 
				
			||||||
 | 
					    event_queue: EventQueue(EventQueueData {
 | 
				
			||||||
 | 
					        instant: 1 μs,
 | 
				
			||||||
 | 
					        events: {},
 | 
				
			||||||
 | 
					    }),
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_address: {},
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_compiled_value: {},
 | 
				
			||||||
    ..
 | 
					    ..
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -263,7 +263,6 @@ Simulation {
 | 
				
			||||||
        did_initial_settle: true,
 | 
					        did_initial_settle: true,
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    extern_modules: [],
 | 
					    extern_modules: [],
 | 
				
			||||||
    state_ready_to_run: false,
 | 
					 | 
				
			||||||
    trace_decls: TraceModule {
 | 
					    trace_decls: TraceModule {
 | 
				
			||||||
        name: "counter",
 | 
					        name: "counter",
 | 
				
			||||||
        children: [
 | 
					        children: [
 | 
				
			||||||
| 
						 | 
					@ -329,7 +328,7 @@ Simulation {
 | 
				
			||||||
                index: StatePartIndex<BigSlots>(0),
 | 
					                index: StatePartIndex<BigSlots>(0),
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            state: 0x1,
 | 
					            state: 0x1,
 | 
				
			||||||
            last_state: 0x1,
 | 
					            last_state: 0x0,
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        SimTrace {
 | 
					        SimTrace {
 | 
				
			||||||
            id: TraceScalarId(1),
 | 
					            id: TraceScalarId(1),
 | 
				
			||||||
| 
						 | 
					@ -355,7 +354,7 @@ Simulation {
 | 
				
			||||||
                ty: UInt<4>,
 | 
					                ty: UInt<4>,
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            state: 0x3,
 | 
					            state: 0x3,
 | 
				
			||||||
            last_state: 0x3,
 | 
					            last_state: 0x2,
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    trace_memories: {},
 | 
					    trace_memories: {},
 | 
				
			||||||
| 
						 | 
					@ -368,9 +367,14 @@ Simulation {
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
        ),
 | 
					        ),
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    instant: 66 μs,
 | 
					 | 
				
			||||||
    clocks_triggered: [
 | 
					    clocks_triggered: [
 | 
				
			||||||
        StatePartIndex<SmallSlots>(1),
 | 
					        StatePartIndex<SmallSlots>(1),
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
 | 
					    event_queue: EventQueue(EventQueueData {
 | 
				
			||||||
 | 
					        instant: 66 μs,
 | 
				
			||||||
 | 
					        events: {},
 | 
				
			||||||
 | 
					    }),
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_address: {},
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_compiled_value: {},
 | 
				
			||||||
    ..
 | 
					    ..
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -26,192 +26,192 @@ b11 $
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#3000000
 | 
					#3000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b100 $
 | 
					 | 
				
			||||||
b100 #
 | 
					b100 #
 | 
				
			||||||
 | 
					b100 $
 | 
				
			||||||
#4000000
 | 
					#4000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#5000000
 | 
					#5000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b101 $
 | 
					 | 
				
			||||||
b101 #
 | 
					b101 #
 | 
				
			||||||
 | 
					b101 $
 | 
				
			||||||
#6000000
 | 
					#6000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#7000000
 | 
					#7000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b110 $
 | 
					 | 
				
			||||||
b110 #
 | 
					b110 #
 | 
				
			||||||
 | 
					b110 $
 | 
				
			||||||
#8000000
 | 
					#8000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#9000000
 | 
					#9000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b111 $
 | 
					 | 
				
			||||||
b111 #
 | 
					b111 #
 | 
				
			||||||
 | 
					b111 $
 | 
				
			||||||
#10000000
 | 
					#10000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#11000000
 | 
					#11000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b1000 $
 | 
					 | 
				
			||||||
b1000 #
 | 
					b1000 #
 | 
				
			||||||
 | 
					b1000 $
 | 
				
			||||||
#12000000
 | 
					#12000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#13000000
 | 
					#13000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b1001 $
 | 
					 | 
				
			||||||
b1001 #
 | 
					b1001 #
 | 
				
			||||||
 | 
					b1001 $
 | 
				
			||||||
#14000000
 | 
					#14000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#15000000
 | 
					#15000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b1010 $
 | 
					 | 
				
			||||||
b1010 #
 | 
					b1010 #
 | 
				
			||||||
 | 
					b1010 $
 | 
				
			||||||
#16000000
 | 
					#16000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#17000000
 | 
					#17000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b1011 $
 | 
					 | 
				
			||||||
b1011 #
 | 
					b1011 #
 | 
				
			||||||
 | 
					b1011 $
 | 
				
			||||||
#18000000
 | 
					#18000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#19000000
 | 
					#19000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b1100 $
 | 
					 | 
				
			||||||
b1100 #
 | 
					b1100 #
 | 
				
			||||||
 | 
					b1100 $
 | 
				
			||||||
#20000000
 | 
					#20000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#21000000
 | 
					#21000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b1101 $
 | 
					 | 
				
			||||||
b1101 #
 | 
					b1101 #
 | 
				
			||||||
 | 
					b1101 $
 | 
				
			||||||
#22000000
 | 
					#22000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#23000000
 | 
					#23000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b1110 $
 | 
					 | 
				
			||||||
b1110 #
 | 
					b1110 #
 | 
				
			||||||
 | 
					b1110 $
 | 
				
			||||||
#24000000
 | 
					#24000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#25000000
 | 
					#25000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b1111 $
 | 
					 | 
				
			||||||
b1111 #
 | 
					b1111 #
 | 
				
			||||||
 | 
					b1111 $
 | 
				
			||||||
#26000000
 | 
					#26000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#27000000
 | 
					#27000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b0 $
 | 
					 | 
				
			||||||
b0 #
 | 
					b0 #
 | 
				
			||||||
 | 
					b0 $
 | 
				
			||||||
#28000000
 | 
					#28000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#29000000
 | 
					#29000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b1 $
 | 
					 | 
				
			||||||
b1 #
 | 
					b1 #
 | 
				
			||||||
 | 
					b1 $
 | 
				
			||||||
#30000000
 | 
					#30000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#31000000
 | 
					#31000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b10 $
 | 
					 | 
				
			||||||
b10 #
 | 
					b10 #
 | 
				
			||||||
 | 
					b10 $
 | 
				
			||||||
#32000000
 | 
					#32000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#33000000
 | 
					#33000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b11 $
 | 
					 | 
				
			||||||
b11 #
 | 
					b11 #
 | 
				
			||||||
 | 
					b11 $
 | 
				
			||||||
#34000000
 | 
					#34000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#35000000
 | 
					#35000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b100 $
 | 
					 | 
				
			||||||
b100 #
 | 
					b100 #
 | 
				
			||||||
 | 
					b100 $
 | 
				
			||||||
#36000000
 | 
					#36000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#37000000
 | 
					#37000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b101 $
 | 
					 | 
				
			||||||
b101 #
 | 
					b101 #
 | 
				
			||||||
 | 
					b101 $
 | 
				
			||||||
#38000000
 | 
					#38000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#39000000
 | 
					#39000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b110 $
 | 
					 | 
				
			||||||
b110 #
 | 
					b110 #
 | 
				
			||||||
 | 
					b110 $
 | 
				
			||||||
#40000000
 | 
					#40000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#41000000
 | 
					#41000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b111 $
 | 
					 | 
				
			||||||
b111 #
 | 
					b111 #
 | 
				
			||||||
 | 
					b111 $
 | 
				
			||||||
#42000000
 | 
					#42000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#43000000
 | 
					#43000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b1000 $
 | 
					 | 
				
			||||||
b1000 #
 | 
					b1000 #
 | 
				
			||||||
 | 
					b1000 $
 | 
				
			||||||
#44000000
 | 
					#44000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#45000000
 | 
					#45000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b1001 $
 | 
					 | 
				
			||||||
b1001 #
 | 
					b1001 #
 | 
				
			||||||
 | 
					b1001 $
 | 
				
			||||||
#46000000
 | 
					#46000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#47000000
 | 
					#47000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b1010 $
 | 
					 | 
				
			||||||
b1010 #
 | 
					b1010 #
 | 
				
			||||||
 | 
					b1010 $
 | 
				
			||||||
#48000000
 | 
					#48000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#49000000
 | 
					#49000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b1011 $
 | 
					 | 
				
			||||||
b1011 #
 | 
					b1011 #
 | 
				
			||||||
 | 
					b1011 $
 | 
				
			||||||
#50000000
 | 
					#50000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#51000000
 | 
					#51000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b1100 $
 | 
					 | 
				
			||||||
b1100 #
 | 
					b1100 #
 | 
				
			||||||
 | 
					b1100 $
 | 
				
			||||||
#52000000
 | 
					#52000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#53000000
 | 
					#53000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b1101 $
 | 
					 | 
				
			||||||
b1101 #
 | 
					b1101 #
 | 
				
			||||||
 | 
					b1101 $
 | 
				
			||||||
#54000000
 | 
					#54000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#55000000
 | 
					#55000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b1110 $
 | 
					 | 
				
			||||||
b1110 #
 | 
					b1110 #
 | 
				
			||||||
 | 
					b1110 $
 | 
				
			||||||
#56000000
 | 
					#56000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#57000000
 | 
					#57000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b1111 $
 | 
					 | 
				
			||||||
b1111 #
 | 
					b1111 #
 | 
				
			||||||
 | 
					b1111 $
 | 
				
			||||||
#58000000
 | 
					#58000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#59000000
 | 
					#59000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b0 $
 | 
					 | 
				
			||||||
b0 #
 | 
					b0 #
 | 
				
			||||||
 | 
					b0 $
 | 
				
			||||||
#60000000
 | 
					#60000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#61000000
 | 
					#61000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b1 $
 | 
					 | 
				
			||||||
b1 #
 | 
					b1 #
 | 
				
			||||||
 | 
					b1 $
 | 
				
			||||||
#62000000
 | 
					#62000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#63000000
 | 
					#63000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b10 $
 | 
					 | 
				
			||||||
b10 #
 | 
					b10 #
 | 
				
			||||||
 | 
					b10 $
 | 
				
			||||||
#64000000
 | 
					#64000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#65000000
 | 
					#65000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b11 $
 | 
					 | 
				
			||||||
b11 #
 | 
					b11 #
 | 
				
			||||||
 | 
					b11 $
 | 
				
			||||||
#66000000
 | 
					#66000000
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -244,7 +244,6 @@ Simulation {
 | 
				
			||||||
        did_initial_settle: true,
 | 
					        did_initial_settle: true,
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    extern_modules: [],
 | 
					    extern_modules: [],
 | 
				
			||||||
    state_ready_to_run: false,
 | 
					 | 
				
			||||||
    trace_decls: TraceModule {
 | 
					    trace_decls: TraceModule {
 | 
				
			||||||
        name: "counter",
 | 
					        name: "counter",
 | 
				
			||||||
        children: [
 | 
					        children: [
 | 
				
			||||||
| 
						 | 
					@ -310,7 +309,7 @@ Simulation {
 | 
				
			||||||
                index: StatePartIndex<BigSlots>(0),
 | 
					                index: StatePartIndex<BigSlots>(0),
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            state: 0x1,
 | 
					            state: 0x1,
 | 
				
			||||||
            last_state: 0x1,
 | 
					            last_state: 0x0,
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        SimTrace {
 | 
					        SimTrace {
 | 
				
			||||||
            id: TraceScalarId(1),
 | 
					            id: TraceScalarId(1),
 | 
				
			||||||
| 
						 | 
					@ -336,7 +335,7 @@ Simulation {
 | 
				
			||||||
                ty: UInt<4>,
 | 
					                ty: UInt<4>,
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            state: 0x3,
 | 
					            state: 0x3,
 | 
				
			||||||
            last_state: 0x3,
 | 
					            last_state: 0x2,
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    trace_memories: {},
 | 
					    trace_memories: {},
 | 
				
			||||||
| 
						 | 
					@ -349,9 +348,14 @@ Simulation {
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
        ),
 | 
					        ),
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    instant: 66 μs,
 | 
					 | 
				
			||||||
    clocks_triggered: [
 | 
					    clocks_triggered: [
 | 
				
			||||||
        StatePartIndex<SmallSlots>(1),
 | 
					        StatePartIndex<SmallSlots>(1),
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
 | 
					    event_queue: EventQueue(EventQueueData {
 | 
				
			||||||
 | 
					        instant: 66 μs,
 | 
				
			||||||
 | 
					        events: {},
 | 
				
			||||||
 | 
					    }),
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_address: {},
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_compiled_value: {},
 | 
				
			||||||
    ..
 | 
					    ..
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -16,199 +16,199 @@ b0 $
 | 
				
			||||||
$end
 | 
					$end
 | 
				
			||||||
#1000000
 | 
					#1000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b11 $
 | 
					 | 
				
			||||||
b11 #
 | 
					b11 #
 | 
				
			||||||
 | 
					b11 $
 | 
				
			||||||
0"
 | 
					0"
 | 
				
			||||||
#2000000
 | 
					#2000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#3000000
 | 
					#3000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b100 $
 | 
					 | 
				
			||||||
b100 #
 | 
					b100 #
 | 
				
			||||||
 | 
					b100 $
 | 
				
			||||||
#4000000
 | 
					#4000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#5000000
 | 
					#5000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b101 $
 | 
					 | 
				
			||||||
b101 #
 | 
					b101 #
 | 
				
			||||||
 | 
					b101 $
 | 
				
			||||||
#6000000
 | 
					#6000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#7000000
 | 
					#7000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b110 $
 | 
					 | 
				
			||||||
b110 #
 | 
					b110 #
 | 
				
			||||||
 | 
					b110 $
 | 
				
			||||||
#8000000
 | 
					#8000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#9000000
 | 
					#9000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b111 $
 | 
					 | 
				
			||||||
b111 #
 | 
					b111 #
 | 
				
			||||||
 | 
					b111 $
 | 
				
			||||||
#10000000
 | 
					#10000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#11000000
 | 
					#11000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b1000 $
 | 
					 | 
				
			||||||
b1000 #
 | 
					b1000 #
 | 
				
			||||||
 | 
					b1000 $
 | 
				
			||||||
#12000000
 | 
					#12000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#13000000
 | 
					#13000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b1001 $
 | 
					 | 
				
			||||||
b1001 #
 | 
					b1001 #
 | 
				
			||||||
 | 
					b1001 $
 | 
				
			||||||
#14000000
 | 
					#14000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#15000000
 | 
					#15000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b1010 $
 | 
					 | 
				
			||||||
b1010 #
 | 
					b1010 #
 | 
				
			||||||
 | 
					b1010 $
 | 
				
			||||||
#16000000
 | 
					#16000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#17000000
 | 
					#17000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b1011 $
 | 
					 | 
				
			||||||
b1011 #
 | 
					b1011 #
 | 
				
			||||||
 | 
					b1011 $
 | 
				
			||||||
#18000000
 | 
					#18000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#19000000
 | 
					#19000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b1100 $
 | 
					 | 
				
			||||||
b1100 #
 | 
					b1100 #
 | 
				
			||||||
 | 
					b1100 $
 | 
				
			||||||
#20000000
 | 
					#20000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#21000000
 | 
					#21000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b1101 $
 | 
					 | 
				
			||||||
b1101 #
 | 
					b1101 #
 | 
				
			||||||
 | 
					b1101 $
 | 
				
			||||||
#22000000
 | 
					#22000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#23000000
 | 
					#23000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b1110 $
 | 
					 | 
				
			||||||
b1110 #
 | 
					b1110 #
 | 
				
			||||||
 | 
					b1110 $
 | 
				
			||||||
#24000000
 | 
					#24000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#25000000
 | 
					#25000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b1111 $
 | 
					 | 
				
			||||||
b1111 #
 | 
					b1111 #
 | 
				
			||||||
 | 
					b1111 $
 | 
				
			||||||
#26000000
 | 
					#26000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#27000000
 | 
					#27000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b0 $
 | 
					 | 
				
			||||||
b0 #
 | 
					b0 #
 | 
				
			||||||
 | 
					b0 $
 | 
				
			||||||
#28000000
 | 
					#28000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#29000000
 | 
					#29000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b1 $
 | 
					 | 
				
			||||||
b1 #
 | 
					b1 #
 | 
				
			||||||
 | 
					b1 $
 | 
				
			||||||
#30000000
 | 
					#30000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#31000000
 | 
					#31000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b10 $
 | 
					 | 
				
			||||||
b10 #
 | 
					b10 #
 | 
				
			||||||
 | 
					b10 $
 | 
				
			||||||
#32000000
 | 
					#32000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#33000000
 | 
					#33000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b11 $
 | 
					 | 
				
			||||||
b11 #
 | 
					b11 #
 | 
				
			||||||
 | 
					b11 $
 | 
				
			||||||
#34000000
 | 
					#34000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#35000000
 | 
					#35000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b100 $
 | 
					 | 
				
			||||||
b100 #
 | 
					b100 #
 | 
				
			||||||
 | 
					b100 $
 | 
				
			||||||
#36000000
 | 
					#36000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#37000000
 | 
					#37000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b101 $
 | 
					 | 
				
			||||||
b101 #
 | 
					b101 #
 | 
				
			||||||
 | 
					b101 $
 | 
				
			||||||
#38000000
 | 
					#38000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#39000000
 | 
					#39000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b110 $
 | 
					 | 
				
			||||||
b110 #
 | 
					b110 #
 | 
				
			||||||
 | 
					b110 $
 | 
				
			||||||
#40000000
 | 
					#40000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#41000000
 | 
					#41000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b111 $
 | 
					 | 
				
			||||||
b111 #
 | 
					b111 #
 | 
				
			||||||
 | 
					b111 $
 | 
				
			||||||
#42000000
 | 
					#42000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#43000000
 | 
					#43000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b1000 $
 | 
					 | 
				
			||||||
b1000 #
 | 
					b1000 #
 | 
				
			||||||
 | 
					b1000 $
 | 
				
			||||||
#44000000
 | 
					#44000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#45000000
 | 
					#45000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b1001 $
 | 
					 | 
				
			||||||
b1001 #
 | 
					b1001 #
 | 
				
			||||||
 | 
					b1001 $
 | 
				
			||||||
#46000000
 | 
					#46000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#47000000
 | 
					#47000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b1010 $
 | 
					 | 
				
			||||||
b1010 #
 | 
					b1010 #
 | 
				
			||||||
 | 
					b1010 $
 | 
				
			||||||
#48000000
 | 
					#48000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#49000000
 | 
					#49000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b1011 $
 | 
					 | 
				
			||||||
b1011 #
 | 
					b1011 #
 | 
				
			||||||
 | 
					b1011 $
 | 
				
			||||||
#50000000
 | 
					#50000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#51000000
 | 
					#51000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b1100 $
 | 
					 | 
				
			||||||
b1100 #
 | 
					b1100 #
 | 
				
			||||||
 | 
					b1100 $
 | 
				
			||||||
#52000000
 | 
					#52000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#53000000
 | 
					#53000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b1101 $
 | 
					 | 
				
			||||||
b1101 #
 | 
					b1101 #
 | 
				
			||||||
 | 
					b1101 $
 | 
				
			||||||
#54000000
 | 
					#54000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#55000000
 | 
					#55000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b1110 $
 | 
					 | 
				
			||||||
b1110 #
 | 
					b1110 #
 | 
				
			||||||
 | 
					b1110 $
 | 
				
			||||||
#56000000
 | 
					#56000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#57000000
 | 
					#57000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b1111 $
 | 
					 | 
				
			||||||
b1111 #
 | 
					b1111 #
 | 
				
			||||||
 | 
					b1111 $
 | 
				
			||||||
#58000000
 | 
					#58000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#59000000
 | 
					#59000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b0 $
 | 
					 | 
				
			||||||
b0 #
 | 
					b0 #
 | 
				
			||||||
 | 
					b0 $
 | 
				
			||||||
#60000000
 | 
					#60000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#61000000
 | 
					#61000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b1 $
 | 
					 | 
				
			||||||
b1 #
 | 
					b1 #
 | 
				
			||||||
 | 
					b1 $
 | 
				
			||||||
#62000000
 | 
					#62000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#63000000
 | 
					#63000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b10 $
 | 
					 | 
				
			||||||
b10 #
 | 
					b10 #
 | 
				
			||||||
 | 
					b10 $
 | 
				
			||||||
#64000000
 | 
					#64000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#65000000
 | 
					#65000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
b11 $
 | 
					 | 
				
			||||||
b11 #
 | 
					b11 #
 | 
				
			||||||
 | 
					b11 $
 | 
				
			||||||
#66000000
 | 
					#66000000
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -104,7 +104,6 @@ Simulation {
 | 
				
			||||||
        did_initial_settle: true,
 | 
					        did_initial_settle: true,
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    extern_modules: [],
 | 
					    extern_modules: [],
 | 
				
			||||||
    state_ready_to_run: false,
 | 
					 | 
				
			||||||
    trace_decls: TraceModule {
 | 
					    trace_decls: TraceModule {
 | 
				
			||||||
        name: "duplicate_names",
 | 
					        name: "duplicate_names",
 | 
				
			||||||
        children: [
 | 
					        children: [
 | 
				
			||||||
| 
						 | 
					@ -160,7 +159,12 @@ Simulation {
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
        ),
 | 
					        ),
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    instant: 1 μs,
 | 
					 | 
				
			||||||
    clocks_triggered: [],
 | 
					    clocks_triggered: [],
 | 
				
			||||||
 | 
					    event_queue: EventQueue(EventQueueData {
 | 
				
			||||||
 | 
					        instant: 1 μs,
 | 
				
			||||||
 | 
					        events: {},
 | 
				
			||||||
 | 
					    }),
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_address: {},
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_compiled_value: {},
 | 
				
			||||||
    ..
 | 
					    ..
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -1456,7 +1456,6 @@ Simulation {
 | 
				
			||||||
        did_initial_settle: true,
 | 
					        did_initial_settle: true,
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    extern_modules: [],
 | 
					    extern_modules: [],
 | 
				
			||||||
    state_ready_to_run: false,
 | 
					 | 
				
			||||||
    trace_decls: TraceModule {
 | 
					    trace_decls: TraceModule {
 | 
				
			||||||
        name: "enums",
 | 
					        name: "enums",
 | 
				
			||||||
        children: [
 | 
					        children: [
 | 
				
			||||||
| 
						 | 
					@ -1744,7 +1743,7 @@ Simulation {
 | 
				
			||||||
                index: StatePartIndex<BigSlots>(0),
 | 
					                index: StatePartIndex<BigSlots>(0),
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            state: 0x1,
 | 
					            state: 0x1,
 | 
				
			||||||
            last_state: 0x1,
 | 
					            last_state: 0x0,
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        SimTrace {
 | 
					        SimTrace {
 | 
				
			||||||
            id: TraceScalarId(1),
 | 
					            id: TraceScalarId(1),
 | 
				
			||||||
| 
						 | 
					@ -1924,9 +1923,14 @@ Simulation {
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
        ),
 | 
					        ),
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    instant: 16 μs,
 | 
					 | 
				
			||||||
    clocks_triggered: [
 | 
					    clocks_triggered: [
 | 
				
			||||||
        StatePartIndex<SmallSlots>(3),
 | 
					        StatePartIndex<SmallSlots>(3),
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
 | 
					    event_queue: EventQueue(EventQueueData {
 | 
				
			||||||
 | 
					        instant: 16 μs,
 | 
				
			||||||
 | 
					        events: {},
 | 
				
			||||||
 | 
					    }),
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_address: {},
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_compiled_value: {},
 | 
				
			||||||
    ..
 | 
					    ..
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -186,14 +186,8 @@ Simulation {
 | 
				
			||||||
            running_generator: Some(
 | 
					            running_generator: Some(
 | 
				
			||||||
                ...,
 | 
					                ...,
 | 
				
			||||||
            ),
 | 
					            ),
 | 
				
			||||||
            wait_targets: {
 | 
					 | 
				
			||||||
                Instant(
 | 
					 | 
				
			||||||
                    20.500000000000 μs,
 | 
					 | 
				
			||||||
                ),
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    state_ready_to_run: false,
 | 
					 | 
				
			||||||
    trace_decls: TraceModule {
 | 
					    trace_decls: TraceModule {
 | 
				
			||||||
        name: "extern_module",
 | 
					        name: "extern_module",
 | 
				
			||||||
        children: [
 | 
					        children: [
 | 
				
			||||||
| 
						 | 
					@ -247,7 +241,14 @@ Simulation {
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
        ),
 | 
					        ),
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    instant: 20 μs,
 | 
					 | 
				
			||||||
    clocks_triggered: [],
 | 
					    clocks_triggered: [],
 | 
				
			||||||
 | 
					    event_queue: EventQueue(EventQueueData {
 | 
				
			||||||
 | 
					        instant: 20 μs,
 | 
				
			||||||
 | 
					        events: {
 | 
				
			||||||
 | 
					            Event { instant: 20.500000000000 μs, kind: ExternModule(0) }: 1,
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					    }),
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_address: {},
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_compiled_value: {},
 | 
				
			||||||
    ..
 | 
					    ..
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -6,8 +6,9 @@ $upscope $end
 | 
				
			||||||
$enddefinitions $end
 | 
					$enddefinitions $end
 | 
				
			||||||
$dumpvars
 | 
					$dumpvars
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
1"
 | 
					0"
 | 
				
			||||||
$end
 | 
					$end
 | 
				
			||||||
 | 
					1"
 | 
				
			||||||
#500000
 | 
					#500000
 | 
				
			||||||
#1500000
 | 
					#1500000
 | 
				
			||||||
0"
 | 
					0"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -234,55 +234,8 @@ Simulation {
 | 
				
			||||||
            running_generator: Some(
 | 
					            running_generator: Some(
 | 
				
			||||||
                ...,
 | 
					                ...,
 | 
				
			||||||
            ),
 | 
					            ),
 | 
				
			||||||
            wait_targets: {
 | 
					 | 
				
			||||||
                Change {
 | 
					 | 
				
			||||||
                    key: CompiledValue {
 | 
					 | 
				
			||||||
                        layout: CompiledTypeLayout {
 | 
					 | 
				
			||||||
                            ty: Clock,
 | 
					 | 
				
			||||||
                            layout: TypeLayout {
 | 
					 | 
				
			||||||
                                small_slots: StatePartLayout<SmallSlots> {
 | 
					 | 
				
			||||||
                                    len: 0,
 | 
					 | 
				
			||||||
                                    debug_data: [],
 | 
					 | 
				
			||||||
                                    ..
 | 
					 | 
				
			||||||
                                },
 | 
					 | 
				
			||||||
                                big_slots: StatePartLayout<BigSlots> {
 | 
					 | 
				
			||||||
                                    len: 1,
 | 
					 | 
				
			||||||
                                    debug_data: [
 | 
					 | 
				
			||||||
                                        SlotDebugData {
 | 
					 | 
				
			||||||
                                            name: "InstantiatedModule(extern_module2: extern_module2).extern_module2::clk",
 | 
					 | 
				
			||||||
                                            ty: Clock,
 | 
					 | 
				
			||||||
                                        },
 | 
					 | 
				
			||||||
                                    ],
 | 
					 | 
				
			||||||
                                    ..
 | 
					 | 
				
			||||||
                                },
 | 
					 | 
				
			||||||
                                sim_only_slots: StatePartLayout<SimOnlySlots> {
 | 
					 | 
				
			||||||
                                    len: 0,
 | 
					 | 
				
			||||||
                                    debug_data: [],
 | 
					 | 
				
			||||||
                                    layout_data: [],
 | 
					 | 
				
			||||||
                                    ..
 | 
					 | 
				
			||||||
                                },
 | 
					 | 
				
			||||||
                            },
 | 
					 | 
				
			||||||
                            body: Scalar,
 | 
					 | 
				
			||||||
                        },
 | 
					 | 
				
			||||||
                        range: TypeIndexRange {
 | 
					 | 
				
			||||||
                            small_slots: StatePartIndexRange<SmallSlots> { start: 0, len: 0 },
 | 
					 | 
				
			||||||
                            big_slots: StatePartIndexRange<BigSlots> { start: 1, len: 1 },
 | 
					 | 
				
			||||||
                            sim_only_slots: StatePartIndexRange<SimOnlySlots> { start: 0, len: 0 },
 | 
					 | 
				
			||||||
                        },
 | 
					 | 
				
			||||||
                        write: None,
 | 
					 | 
				
			||||||
                    },
 | 
					 | 
				
			||||||
                    value: SimValue {
 | 
					 | 
				
			||||||
                        ty: Clock,
 | 
					 | 
				
			||||||
                        value: OpaqueSimValue {
 | 
					 | 
				
			||||||
                            bits: 0x1_u1,
 | 
					 | 
				
			||||||
                            sim_only_values: [],
 | 
					 | 
				
			||||||
                        },
 | 
					 | 
				
			||||||
                    },
 | 
					 | 
				
			||||||
                },
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    state_ready_to_run: false,
 | 
					 | 
				
			||||||
    trace_decls: TraceModule {
 | 
					    trace_decls: TraceModule {
 | 
				
			||||||
        name: "extern_module2",
 | 
					        name: "extern_module2",
 | 
				
			||||||
        children: [
 | 
					        children: [
 | 
				
			||||||
| 
						 | 
					@ -356,7 +309,113 @@ Simulation {
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
        ),
 | 
					        ),
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    instant: 60 μs,
 | 
					 | 
				
			||||||
    clocks_triggered: [],
 | 
					    clocks_triggered: [],
 | 
				
			||||||
 | 
					    event_queue: EventQueue(EventQueueData {
 | 
				
			||||||
 | 
					        instant: 60 μs,
 | 
				
			||||||
 | 
					        events: {},
 | 
				
			||||||
 | 
					    }),
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_address: {
 | 
				
			||||||
 | 
					        SensitivitySet {
 | 
				
			||||||
 | 
					            id: 59,
 | 
				
			||||||
 | 
					            values: {
 | 
				
			||||||
 | 
					                CompiledValue {
 | 
				
			||||||
 | 
					                    layout: CompiledTypeLayout {
 | 
				
			||||||
 | 
					                        ty: Clock,
 | 
				
			||||||
 | 
					                        layout: TypeLayout {
 | 
				
			||||||
 | 
					                            small_slots: StatePartLayout<SmallSlots> {
 | 
				
			||||||
 | 
					                                len: 0,
 | 
				
			||||||
 | 
					                                debug_data: [],
 | 
				
			||||||
 | 
					                                ..
 | 
				
			||||||
 | 
					                            },
 | 
				
			||||||
 | 
					                            big_slots: StatePartLayout<BigSlots> {
 | 
				
			||||||
 | 
					                                len: 1,
 | 
				
			||||||
 | 
					                                debug_data: [
 | 
				
			||||||
 | 
					                                    SlotDebugData {
 | 
				
			||||||
 | 
					                                        name: "InstantiatedModule(extern_module2: extern_module2).extern_module2::clk",
 | 
				
			||||||
 | 
					                                        ty: Clock,
 | 
				
			||||||
 | 
					                                    },
 | 
				
			||||||
 | 
					                                ],
 | 
				
			||||||
 | 
					                                ..
 | 
				
			||||||
 | 
					                            },
 | 
				
			||||||
 | 
					                            sim_only_slots: StatePartLayout<SimOnlySlots> {
 | 
				
			||||||
 | 
					                                len: 0,
 | 
				
			||||||
 | 
					                                debug_data: [],
 | 
				
			||||||
 | 
					                                layout_data: [],
 | 
				
			||||||
 | 
					                                ..
 | 
				
			||||||
 | 
					                            },
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					                        body: Scalar,
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    range: TypeIndexRange {
 | 
				
			||||||
 | 
					                        small_slots: StatePartIndexRange<SmallSlots> { start: 0, len: 0 },
 | 
				
			||||||
 | 
					                        big_slots: StatePartIndexRange<BigSlots> { start: 1, len: 1 },
 | 
				
			||||||
 | 
					                        sim_only_slots: StatePartIndexRange<SimOnlySlots> { start: 0, len: 0 },
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    write: None,
 | 
				
			||||||
 | 
					                }: SimValue {
 | 
				
			||||||
 | 
					                    ty: Clock,
 | 
				
			||||||
 | 
					                    value: OpaqueSimValue {
 | 
				
			||||||
 | 
					                        bits: 0x1_u1,
 | 
				
			||||||
 | 
					                        sim_only_values: [],
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            changed: Cell {
 | 
				
			||||||
 | 
					                value: false,
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            ..
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_compiled_value: {
 | 
				
			||||||
 | 
					        CompiledValue {
 | 
				
			||||||
 | 
					            layout: CompiledTypeLayout {
 | 
				
			||||||
 | 
					                ty: Clock,
 | 
				
			||||||
 | 
					                layout: TypeLayout {
 | 
				
			||||||
 | 
					                    small_slots: StatePartLayout<SmallSlots> {
 | 
				
			||||||
 | 
					                        len: 0,
 | 
				
			||||||
 | 
					                        debug_data: [],
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    big_slots: StatePartLayout<BigSlots> {
 | 
				
			||||||
 | 
					                        len: 1,
 | 
				
			||||||
 | 
					                        debug_data: [
 | 
				
			||||||
 | 
					                            SlotDebugData {
 | 
				
			||||||
 | 
					                                name: "InstantiatedModule(extern_module2: extern_module2).extern_module2::clk",
 | 
				
			||||||
 | 
					                                ty: Clock,
 | 
				
			||||||
 | 
					                            },
 | 
				
			||||||
 | 
					                        ],
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    sim_only_slots: StatePartLayout<SimOnlySlots> {
 | 
				
			||||||
 | 
					                        len: 0,
 | 
				
			||||||
 | 
					                        debug_data: [],
 | 
				
			||||||
 | 
					                        layout_data: [],
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                body: Scalar,
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            range: TypeIndexRange {
 | 
				
			||||||
 | 
					                small_slots: StatePartIndexRange<SmallSlots> { start: 0, len: 0 },
 | 
				
			||||||
 | 
					                big_slots: StatePartIndexRange<BigSlots> { start: 1, len: 1 },
 | 
				
			||||||
 | 
					                sim_only_slots: StatePartIndexRange<SimOnlySlots> { start: 0, len: 0 },
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            write: None,
 | 
				
			||||||
 | 
					        }: (
 | 
				
			||||||
 | 
					            SimValue {
 | 
				
			||||||
 | 
					                ty: Clock,
 | 
				
			||||||
 | 
					                value: OpaqueSimValue {
 | 
				
			||||||
 | 
					                    bits: 0x1_u1,
 | 
				
			||||||
 | 
					                    sim_only_values: [],
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                SensitivitySet {
 | 
				
			||||||
 | 
					                    id: 59,
 | 
				
			||||||
 | 
					                    ..
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    ..
 | 
					    ..
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -8,8 +8,9 @@ $enddefinitions $end
 | 
				
			||||||
$dumpvars
 | 
					$dumpvars
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
0"
 | 
					0"
 | 
				
			||||||
b1001000 #
 | 
					b0 #
 | 
				
			||||||
$end
 | 
					$end
 | 
				
			||||||
 | 
					b1001000 #
 | 
				
			||||||
#1000000
 | 
					#1000000
 | 
				
			||||||
1"
 | 
					1"
 | 
				
			||||||
b1100101 #
 | 
					b1100101 #
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3836,7 +3836,6 @@ Simulation {
 | 
				
			||||||
        did_initial_settle: true,
 | 
					        did_initial_settle: true,
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    extern_modules: [],
 | 
					    extern_modules: [],
 | 
				
			||||||
    state_ready_to_run: false,
 | 
					 | 
				
			||||||
    trace_decls: TraceModule {
 | 
					    trace_decls: TraceModule {
 | 
				
			||||||
        name: "many_memories",
 | 
					        name: "many_memories",
 | 
				
			||||||
        children: [
 | 
					        children: [
 | 
				
			||||||
| 
						 | 
					@ -7759,7 +7758,6 @@ Simulation {
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
        ),
 | 
					        ),
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    instant: 38 μs,
 | 
					 | 
				
			||||||
    clocks_triggered: [
 | 
					    clocks_triggered: [
 | 
				
			||||||
        StatePartIndex<SmallSlots>(1),
 | 
					        StatePartIndex<SmallSlots>(1),
 | 
				
			||||||
        StatePartIndex<SmallSlots>(6),
 | 
					        StatePartIndex<SmallSlots>(6),
 | 
				
			||||||
| 
						 | 
					@ -7778,5 +7776,11 @@ Simulation {
 | 
				
			||||||
        StatePartIndex<SmallSlots>(85),
 | 
					        StatePartIndex<SmallSlots>(85),
 | 
				
			||||||
        StatePartIndex<SmallSlots>(90),
 | 
					        StatePartIndex<SmallSlots>(90),
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
 | 
					    event_queue: EventQueue(EventQueueData {
 | 
				
			||||||
 | 
					        instant: 38 μs,
 | 
				
			||||||
 | 
					        events: {},
 | 
				
			||||||
 | 
					    }),
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_address: {},
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_compiled_value: {},
 | 
				
			||||||
    ..
 | 
					    ..
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -1052,12 +1052,16 @@ $end
 | 
				
			||||||
1U#
 | 
					1U#
 | 
				
			||||||
1e#
 | 
					1e#
 | 
				
			||||||
1#
 | 
					1#
 | 
				
			||||||
 | 
					1$
 | 
				
			||||||
1'
 | 
					1'
 | 
				
			||||||
1+
 | 
					1+
 | 
				
			||||||
 | 
					1,
 | 
				
			||||||
1/
 | 
					1/
 | 
				
			||||||
13
 | 
					13
 | 
				
			||||||
 | 
					14
 | 
				
			||||||
17
 | 
					17
 | 
				
			||||||
1;
 | 
					1;
 | 
				
			||||||
 | 
					1<
 | 
				
			||||||
1?
 | 
					1?
 | 
				
			||||||
1C
 | 
					1C
 | 
				
			||||||
1H
 | 
					1H
 | 
				
			||||||
| 
						 | 
					@ -1068,29 +1072,25 @@ $end
 | 
				
			||||||
1a
 | 
					1a
 | 
				
			||||||
1f
 | 
					1f
 | 
				
			||||||
1k
 | 
					1k
 | 
				
			||||||
 | 
					1l
 | 
				
			||||||
1o
 | 
					1o
 | 
				
			||||||
1t
 | 
					1t
 | 
				
			||||||
1x
 | 
					1x
 | 
				
			||||||
1}
 | 
					1}
 | 
				
			||||||
 | 
					1~
 | 
				
			||||||
1#"
 | 
					1#"
 | 
				
			||||||
1("
 | 
					1("
 | 
				
			||||||
1,"
 | 
					1,"
 | 
				
			||||||
11"
 | 
					11"
 | 
				
			||||||
 | 
					12"
 | 
				
			||||||
15"
 | 
					15"
 | 
				
			||||||
1:"
 | 
					1:"
 | 
				
			||||||
1>"
 | 
					1>"
 | 
				
			||||||
1C"
 | 
					1C"
 | 
				
			||||||
 | 
					1D"
 | 
				
			||||||
1G"
 | 
					1G"
 | 
				
			||||||
1L"
 | 
					1L"
 | 
				
			||||||
1P"
 | 
					1P"
 | 
				
			||||||
1$
 | 
					 | 
				
			||||||
1,
 | 
					 | 
				
			||||||
14
 | 
					 | 
				
			||||||
1<
 | 
					 | 
				
			||||||
1l
 | 
					 | 
				
			||||||
1~
 | 
					 | 
				
			||||||
12"
 | 
					 | 
				
			||||||
1D"
 | 
					 | 
				
			||||||
#4000000
 | 
					#4000000
 | 
				
			||||||
0#
 | 
					0#
 | 
				
			||||||
0'
 | 
					0'
 | 
				
			||||||
| 
						 | 
					@ -1150,13 +1150,21 @@ $end
 | 
				
			||||||
0U#
 | 
					0U#
 | 
				
			||||||
0e#
 | 
					0e#
 | 
				
			||||||
1#
 | 
					1#
 | 
				
			||||||
 | 
					0$
 | 
				
			||||||
1'
 | 
					1'
 | 
				
			||||||
 | 
					0(
 | 
				
			||||||
1+
 | 
					1+
 | 
				
			||||||
 | 
					0,
 | 
				
			||||||
1/
 | 
					1/
 | 
				
			||||||
 | 
					00
 | 
				
			||||||
13
 | 
					13
 | 
				
			||||||
 | 
					04
 | 
				
			||||||
17
 | 
					17
 | 
				
			||||||
 | 
					08
 | 
				
			||||||
1;
 | 
					1;
 | 
				
			||||||
 | 
					0<
 | 
				
			||||||
1?
 | 
					1?
 | 
				
			||||||
 | 
					0@
 | 
				
			||||||
1C
 | 
					1C
 | 
				
			||||||
1H
 | 
					1H
 | 
				
			||||||
1M
 | 
					1M
 | 
				
			||||||
| 
						 | 
					@ -1166,37 +1174,29 @@ $end
 | 
				
			||||||
1a
 | 
					1a
 | 
				
			||||||
1f
 | 
					1f
 | 
				
			||||||
1k
 | 
					1k
 | 
				
			||||||
 | 
					0l
 | 
				
			||||||
1o
 | 
					1o
 | 
				
			||||||
1t
 | 
					1t
 | 
				
			||||||
 | 
					0u
 | 
				
			||||||
1x
 | 
					1x
 | 
				
			||||||
1}
 | 
					1}
 | 
				
			||||||
 | 
					0~
 | 
				
			||||||
1#"
 | 
					1#"
 | 
				
			||||||
1("
 | 
					1("
 | 
				
			||||||
 | 
					0)"
 | 
				
			||||||
1,"
 | 
					1,"
 | 
				
			||||||
11"
 | 
					11"
 | 
				
			||||||
 | 
					02"
 | 
				
			||||||
15"
 | 
					15"
 | 
				
			||||||
1:"
 | 
					1:"
 | 
				
			||||||
 | 
					0;"
 | 
				
			||||||
1>"
 | 
					1>"
 | 
				
			||||||
1C"
 | 
					1C"
 | 
				
			||||||
 | 
					0D"
 | 
				
			||||||
1G"
 | 
					1G"
 | 
				
			||||||
1L"
 | 
					1L"
 | 
				
			||||||
1P"
 | 
					 | 
				
			||||||
0$
 | 
					 | 
				
			||||||
0(
 | 
					 | 
				
			||||||
0,
 | 
					 | 
				
			||||||
00
 | 
					 | 
				
			||||||
04
 | 
					 | 
				
			||||||
08
 | 
					 | 
				
			||||||
0<
 | 
					 | 
				
			||||||
0@
 | 
					 | 
				
			||||||
0l
 | 
					 | 
				
			||||||
0u
 | 
					 | 
				
			||||||
0~
 | 
					 | 
				
			||||||
0)"
 | 
					 | 
				
			||||||
02"
 | 
					 | 
				
			||||||
0;"
 | 
					 | 
				
			||||||
0D"
 | 
					 | 
				
			||||||
0M"
 | 
					0M"
 | 
				
			||||||
 | 
					1P"
 | 
				
			||||||
#6000000
 | 
					#6000000
 | 
				
			||||||
0#
 | 
					0#
 | 
				
			||||||
0'
 | 
					0'
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -721,7 +721,6 @@ Simulation {
 | 
				
			||||||
        did_initial_settle: true,
 | 
					        did_initial_settle: true,
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    extern_modules: [],
 | 
					    extern_modules: [],
 | 
				
			||||||
    state_ready_to_run: false,
 | 
					 | 
				
			||||||
    trace_decls: TraceModule {
 | 
					    trace_decls: TraceModule {
 | 
				
			||||||
        name: "memories",
 | 
					        name: "memories",
 | 
				
			||||||
        children: [
 | 
					        children: [
 | 
				
			||||||
| 
						 | 
					@ -1616,10 +1615,15 @@ Simulation {
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
        ),
 | 
					        ),
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    instant: 22 μs,
 | 
					 | 
				
			||||||
    clocks_triggered: [
 | 
					    clocks_triggered: [
 | 
				
			||||||
        StatePartIndex<SmallSlots>(1),
 | 
					        StatePartIndex<SmallSlots>(1),
 | 
				
			||||||
        StatePartIndex<SmallSlots>(6),
 | 
					        StatePartIndex<SmallSlots>(6),
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
 | 
					    event_queue: EventQueue(EventQueueData {
 | 
				
			||||||
 | 
					        instant: 22 μs,
 | 
				
			||||||
 | 
					        events: {},
 | 
				
			||||||
 | 
					    }),
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_address: {},
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_compiled_value: {},
 | 
				
			||||||
    ..
 | 
					    ..
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -234,13 +234,13 @@ b100000 6
 | 
				
			||||||
b10000 9
 | 
					b10000 9
 | 
				
			||||||
b100000 I
 | 
					b100000 I
 | 
				
			||||||
1#
 | 
					1#
 | 
				
			||||||
1(
 | 
					 | 
				
			||||||
1/
 | 
					 | 
				
			||||||
14
 | 
					 | 
				
			||||||
b10000 $
 | 
					b10000 $
 | 
				
			||||||
b100000 %
 | 
					b100000 %
 | 
				
			||||||
 | 
					1(
 | 
				
			||||||
 | 
					1/
 | 
				
			||||||
b10000 0
 | 
					b10000 0
 | 
				
			||||||
b100000 1
 | 
					b100000 1
 | 
				
			||||||
 | 
					14
 | 
				
			||||||
#4000000
 | 
					#4000000
 | 
				
			||||||
0#
 | 
					0#
 | 
				
			||||||
0(
 | 
					0(
 | 
				
			||||||
| 
						 | 
					@ -256,11 +256,11 @@ b1000000 6
 | 
				
			||||||
b10000 9
 | 
					b10000 9
 | 
				
			||||||
b1000000 I
 | 
					b1000000 I
 | 
				
			||||||
1#
 | 
					1#
 | 
				
			||||||
 | 
					b1000000 %
 | 
				
			||||||
1(
 | 
					1(
 | 
				
			||||||
1/
 | 
					1/
 | 
				
			||||||
14
 | 
					 | 
				
			||||||
b1000000 %
 | 
					 | 
				
			||||||
b1000000 1
 | 
					b1000000 1
 | 
				
			||||||
 | 
					14
 | 
				
			||||||
#6000000
 | 
					#6000000
 | 
				
			||||||
0#
 | 
					0#
 | 
				
			||||||
0(
 | 
					0(
 | 
				
			||||||
| 
						 | 
					@ -278,11 +278,11 @@ b1100000 6
 | 
				
			||||||
b1010000 9
 | 
					b1010000 9
 | 
				
			||||||
b1000000 I
 | 
					b1000000 I
 | 
				
			||||||
1#
 | 
					1#
 | 
				
			||||||
 | 
					b1010000 $
 | 
				
			||||||
1(
 | 
					1(
 | 
				
			||||||
1/
 | 
					1/
 | 
				
			||||||
14
 | 
					 | 
				
			||||||
b1010000 $
 | 
					 | 
				
			||||||
b1010000 0
 | 
					b1010000 0
 | 
				
			||||||
 | 
					14
 | 
				
			||||||
#8000000
 | 
					#8000000
 | 
				
			||||||
0#
 | 
					0#
 | 
				
			||||||
0(
 | 
					0(
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -679,7 +679,6 @@ Simulation {
 | 
				
			||||||
        did_initial_settle: true,
 | 
					        did_initial_settle: true,
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    extern_modules: [],
 | 
					    extern_modules: [],
 | 
				
			||||||
    state_ready_to_run: false,
 | 
					 | 
				
			||||||
    trace_decls: TraceModule {
 | 
					    trace_decls: TraceModule {
 | 
				
			||||||
        name: "memories2",
 | 
					        name: "memories2",
 | 
				
			||||||
        children: [
 | 
					        children: [
 | 
				
			||||||
| 
						 | 
					@ -1260,9 +1259,14 @@ Simulation {
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
        ),
 | 
					        ),
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    instant: 22 μs,
 | 
					 | 
				
			||||||
    clocks_triggered: [
 | 
					    clocks_triggered: [
 | 
				
			||||||
        StatePartIndex<SmallSlots>(3),
 | 
					        StatePartIndex<SmallSlots>(3),
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
 | 
					    event_queue: EventQueue(EventQueueData {
 | 
				
			||||||
 | 
					        instant: 22 μs,
 | 
				
			||||||
 | 
					        events: {},
 | 
				
			||||||
 | 
					    }),
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_address: {},
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_compiled_value: {},
 | 
				
			||||||
    ..
 | 
					    ..
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -100,8 +100,8 @@ $end
 | 
				
			||||||
1)
 | 
					1)
 | 
				
			||||||
#1250000
 | 
					#1250000
 | 
				
			||||||
1#
 | 
					1#
 | 
				
			||||||
1*
 | 
					 | 
				
			||||||
b11 $
 | 
					b11 $
 | 
				
			||||||
 | 
					1*
 | 
				
			||||||
sHdlSome\x20(1) +
 | 
					sHdlSome\x20(1) +
 | 
				
			||||||
1,
 | 
					1,
 | 
				
			||||||
#1500000
 | 
					#1500000
 | 
				
			||||||
| 
						 | 
					@ -113,8 +113,8 @@ sHdlSome\x20(1) +
 | 
				
			||||||
0)
 | 
					0)
 | 
				
			||||||
#2250000
 | 
					#2250000
 | 
				
			||||||
1#
 | 
					1#
 | 
				
			||||||
1*
 | 
					 | 
				
			||||||
b0 $
 | 
					b0 $
 | 
				
			||||||
 | 
					1*
 | 
				
			||||||
sHdlNone\x20(0) +
 | 
					sHdlNone\x20(0) +
 | 
				
			||||||
0,
 | 
					0,
 | 
				
			||||||
#2500000
 | 
					#2500000
 | 
				
			||||||
| 
						 | 
					@ -303,8 +303,8 @@ b11 !
 | 
				
			||||||
b11 (
 | 
					b11 (
 | 
				
			||||||
#17250000
 | 
					#17250000
 | 
				
			||||||
1#
 | 
					1#
 | 
				
			||||||
1*
 | 
					 | 
				
			||||||
b11 $
 | 
					b11 $
 | 
				
			||||||
 | 
					1*
 | 
				
			||||||
sHdlSome\x20(1) +
 | 
					sHdlSome\x20(1) +
 | 
				
			||||||
1,
 | 
					1,
 | 
				
			||||||
#17500000
 | 
					#17500000
 | 
				
			||||||
| 
						 | 
					@ -316,8 +316,8 @@ b10 !
 | 
				
			||||||
b10 (
 | 
					b10 (
 | 
				
			||||||
#18250000
 | 
					#18250000
 | 
				
			||||||
1#
 | 
					1#
 | 
				
			||||||
1*
 | 
					 | 
				
			||||||
b0 $
 | 
					b0 $
 | 
				
			||||||
 | 
					1*
 | 
				
			||||||
sHdlNone\x20(0) +
 | 
					sHdlNone\x20(0) +
 | 
				
			||||||
0,
 | 
					0,
 | 
				
			||||||
#18500000
 | 
					#18500000
 | 
				
			||||||
| 
						 | 
					@ -339,8 +339,8 @@ b1 !
 | 
				
			||||||
b1 (
 | 
					b1 (
 | 
				
			||||||
#20250000
 | 
					#20250000
 | 
				
			||||||
1#
 | 
					1#
 | 
				
			||||||
1*
 | 
					 | 
				
			||||||
b1 $
 | 
					b1 $
 | 
				
			||||||
 | 
					1*
 | 
				
			||||||
sHdlSome\x20(1) +
 | 
					sHdlSome\x20(1) +
 | 
				
			||||||
#20500000
 | 
					#20500000
 | 
				
			||||||
#20750000
 | 
					#20750000
 | 
				
			||||||
| 
						 | 
					@ -353,8 +353,8 @@ b0 (
 | 
				
			||||||
0)
 | 
					0)
 | 
				
			||||||
#21250000
 | 
					#21250000
 | 
				
			||||||
1#
 | 
					1#
 | 
				
			||||||
1*
 | 
					 | 
				
			||||||
b0 $
 | 
					b0 $
 | 
				
			||||||
 | 
					1*
 | 
				
			||||||
sHdlNone\x20(0) +
 | 
					sHdlNone\x20(0) +
 | 
				
			||||||
#21500000
 | 
					#21500000
 | 
				
			||||||
#21750000
 | 
					#21750000
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1763,7 +1763,6 @@ Simulation {
 | 
				
			||||||
        did_initial_settle: true,
 | 
					        did_initial_settle: true,
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    extern_modules: [],
 | 
					    extern_modules: [],
 | 
				
			||||||
    state_ready_to_run: false,
 | 
					 | 
				
			||||||
    trace_decls: TraceModule {
 | 
					    trace_decls: TraceModule {
 | 
				
			||||||
        name: "memories3",
 | 
					        name: "memories3",
 | 
				
			||||||
        children: [
 | 
					        children: [
 | 
				
			||||||
| 
						 | 
					@ -3275,10 +3274,15 @@ Simulation {
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
        ),
 | 
					        ),
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    instant: 15 μs,
 | 
					 | 
				
			||||||
    clocks_triggered: [
 | 
					    clocks_triggered: [
 | 
				
			||||||
        StatePartIndex<SmallSlots>(1),
 | 
					        StatePartIndex<SmallSlots>(1),
 | 
				
			||||||
        StatePartIndex<SmallSlots>(6),
 | 
					        StatePartIndex<SmallSlots>(6),
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
 | 
					    event_queue: EventQueue(EventQueueData {
 | 
				
			||||||
 | 
					        instant: 15 μs,
 | 
				
			||||||
 | 
					        events: {},
 | 
				
			||||||
 | 
					    }),
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_address: {},
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_compiled_value: {},
 | 
				
			||||||
    ..
 | 
					    ..
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -420,6 +420,10 @@ b10000 T
 | 
				
			||||||
1\
 | 
					1\
 | 
				
			||||||
#3250000
 | 
					#3250000
 | 
				
			||||||
1#
 | 
					1#
 | 
				
			||||||
 | 
					b110100 %
 | 
				
			||||||
 | 
					b1111000 '
 | 
				
			||||||
 | 
					b10011010 (
 | 
				
			||||||
 | 
					b11110000 +
 | 
				
			||||||
1.
 | 
					1.
 | 
				
			||||||
1A
 | 
					1A
 | 
				
			||||||
b110100 C
 | 
					b110100 C
 | 
				
			||||||
| 
						 | 
					@ -427,10 +431,6 @@ b1111000 E
 | 
				
			||||||
b10011010 F
 | 
					b10011010 F
 | 
				
			||||||
b11110000 I
 | 
					b11110000 I
 | 
				
			||||||
1L
 | 
					1L
 | 
				
			||||||
b110100 %
 | 
					 | 
				
			||||||
b1111000 '
 | 
					 | 
				
			||||||
b10011010 (
 | 
					 | 
				
			||||||
b11110000 +
 | 
					 | 
				
			||||||
#3500000
 | 
					#3500000
 | 
				
			||||||
#3750000
 | 
					#3750000
 | 
				
			||||||
0#
 | 
					0#
 | 
				
			||||||
| 
						 | 
					@ -508,6 +508,14 @@ b1010100 '"
 | 
				
			||||||
b110010 /"
 | 
					b110010 /"
 | 
				
			||||||
b10000 7"
 | 
					b10000 7"
 | 
				
			||||||
1#
 | 
					1#
 | 
				
			||||||
 | 
					b11111110 $
 | 
				
			||||||
 | 
					b11011100 %
 | 
				
			||||||
 | 
					b10111010 &
 | 
				
			||||||
 | 
					b10011000 '
 | 
				
			||||||
 | 
					b1110110 (
 | 
				
			||||||
 | 
					b1010100 )
 | 
				
			||||||
 | 
					b110010 *
 | 
				
			||||||
 | 
					b10000 +
 | 
				
			||||||
1.
 | 
					1.
 | 
				
			||||||
1A
 | 
					1A
 | 
				
			||||||
b11111110 B
 | 
					b11111110 B
 | 
				
			||||||
| 
						 | 
					@ -519,14 +527,6 @@ b1010100 G
 | 
				
			||||||
b110010 H
 | 
					b110010 H
 | 
				
			||||||
b10000 I
 | 
					b10000 I
 | 
				
			||||||
1L
 | 
					1L
 | 
				
			||||||
b11111110 $
 | 
					 | 
				
			||||||
b11011100 %
 | 
					 | 
				
			||||||
b10111010 &
 | 
					 | 
				
			||||||
b10011000 '
 | 
					 | 
				
			||||||
b1110110 (
 | 
					 | 
				
			||||||
b1010100 )
 | 
					 | 
				
			||||||
b110010 *
 | 
					 | 
				
			||||||
b10000 +
 | 
					 | 
				
			||||||
#6500000
 | 
					#6500000
 | 
				
			||||||
#6750000
 | 
					#6750000
 | 
				
			||||||
0#
 | 
					0#
 | 
				
			||||||
| 
						 | 
					@ -562,6 +562,14 @@ b1000110 ("
 | 
				
			||||||
b10001010 0"
 | 
					b10001010 0"
 | 
				
			||||||
b11001110 8"
 | 
					b11001110 8"
 | 
				
			||||||
1#
 | 
					1#
 | 
				
			||||||
 | 
					b0 $
 | 
				
			||||||
 | 
					b0 %
 | 
				
			||||||
 | 
					b0 &
 | 
				
			||||||
 | 
					b0 '
 | 
				
			||||||
 | 
					b0 (
 | 
				
			||||||
 | 
					b0 )
 | 
				
			||||||
 | 
					b0 *
 | 
				
			||||||
 | 
					b0 +
 | 
				
			||||||
1.
 | 
					1.
 | 
				
			||||||
1A
 | 
					1A
 | 
				
			||||||
b0 B
 | 
					b0 B
 | 
				
			||||||
| 
						 | 
					@ -573,14 +581,6 @@ b0 G
 | 
				
			||||||
b0 H
 | 
					b0 H
 | 
				
			||||||
b0 I
 | 
					b0 I
 | 
				
			||||||
1L
 | 
					1L
 | 
				
			||||||
b0 $
 | 
					 | 
				
			||||||
b0 %
 | 
					 | 
				
			||||||
b0 &
 | 
					 | 
				
			||||||
b0 '
 | 
					 | 
				
			||||||
b0 (
 | 
					 | 
				
			||||||
b0 )
 | 
					 | 
				
			||||||
b0 *
 | 
					 | 
				
			||||||
b0 +
 | 
					 | 
				
			||||||
#7500000
 | 
					#7500000
 | 
				
			||||||
#7750000
 | 
					#7750000
 | 
				
			||||||
0#
 | 
					0#
 | 
				
			||||||
| 
						 | 
					@ -688,6 +688,14 @@ b1 !
 | 
				
			||||||
b1 ?
 | 
					b1 ?
 | 
				
			||||||
#10250000
 | 
					#10250000
 | 
				
			||||||
1#
 | 
					1#
 | 
				
			||||||
 | 
					b11111110 $
 | 
				
			||||||
 | 
					b11011100 %
 | 
				
			||||||
 | 
					b10111010 &
 | 
				
			||||||
 | 
					b10011000 '
 | 
				
			||||||
 | 
					b1110110 (
 | 
				
			||||||
 | 
					b1010100 )
 | 
				
			||||||
 | 
					b110010 *
 | 
				
			||||||
 | 
					b10000 +
 | 
				
			||||||
1.
 | 
					1.
 | 
				
			||||||
1A
 | 
					1A
 | 
				
			||||||
b11111110 B
 | 
					b11111110 B
 | 
				
			||||||
| 
						 | 
					@ -699,14 +707,6 @@ b1010100 G
 | 
				
			||||||
b110010 H
 | 
					b110010 H
 | 
				
			||||||
b10000 I
 | 
					b10000 I
 | 
				
			||||||
1L
 | 
					1L
 | 
				
			||||||
b11111110 $
 | 
					 | 
				
			||||||
b11011100 %
 | 
					 | 
				
			||||||
b10111010 &
 | 
					 | 
				
			||||||
b10011000 '
 | 
					 | 
				
			||||||
b1110110 (
 | 
					 | 
				
			||||||
b1010100 )
 | 
					 | 
				
			||||||
b110010 *
 | 
					 | 
				
			||||||
b10000 +
 | 
					 | 
				
			||||||
#10500000
 | 
					#10500000
 | 
				
			||||||
#10750000
 | 
					#10750000
 | 
				
			||||||
0#
 | 
					0#
 | 
				
			||||||
| 
						 | 
					@ -718,6 +718,14 @@ b10 !
 | 
				
			||||||
b10 ?
 | 
					b10 ?
 | 
				
			||||||
#11250000
 | 
					#11250000
 | 
				
			||||||
1#
 | 
					1#
 | 
				
			||||||
 | 
					b10011 $
 | 
				
			||||||
 | 
					b1010111 %
 | 
				
			||||||
 | 
					b10011011 &
 | 
				
			||||||
 | 
					b11011111 '
 | 
				
			||||||
 | 
					b10 (
 | 
				
			||||||
 | 
					b1000110 )
 | 
				
			||||||
 | 
					b10001010 *
 | 
				
			||||||
 | 
					b11001110 +
 | 
				
			||||||
1.
 | 
					1.
 | 
				
			||||||
1A
 | 
					1A
 | 
				
			||||||
b10011 B
 | 
					b10011 B
 | 
				
			||||||
| 
						 | 
					@ -729,14 +737,6 @@ b1000110 G
 | 
				
			||||||
b10001010 H
 | 
					b10001010 H
 | 
				
			||||||
b11001110 I
 | 
					b11001110 I
 | 
				
			||||||
1L
 | 
					1L
 | 
				
			||||||
b10011 $
 | 
					 | 
				
			||||||
b1010111 %
 | 
					 | 
				
			||||||
b10011011 &
 | 
					 | 
				
			||||||
b11011111 '
 | 
					 | 
				
			||||||
b10 (
 | 
					 | 
				
			||||||
b1000110 )
 | 
					 | 
				
			||||||
b10001010 *
 | 
					 | 
				
			||||||
b11001110 +
 | 
					 | 
				
			||||||
#11500000
 | 
					#11500000
 | 
				
			||||||
#11750000
 | 
					#11750000
 | 
				
			||||||
0#
 | 
					0#
 | 
				
			||||||
| 
						 | 
					@ -748,6 +748,14 @@ b11 !
 | 
				
			||||||
b11 ?
 | 
					b11 ?
 | 
				
			||||||
#12250000
 | 
					#12250000
 | 
				
			||||||
1#
 | 
					1#
 | 
				
			||||||
 | 
					b1110100 $
 | 
				
			||||||
 | 
					b1100101 %
 | 
				
			||||||
 | 
					b1110011 &
 | 
				
			||||||
 | 
					b1110100 '
 | 
				
			||||||
 | 
					b1101001 (
 | 
				
			||||||
 | 
					b1101110 )
 | 
				
			||||||
 | 
					b1100111 *
 | 
				
			||||||
 | 
					b100001 +
 | 
				
			||||||
1.
 | 
					1.
 | 
				
			||||||
1A
 | 
					1A
 | 
				
			||||||
b1110100 B
 | 
					b1110100 B
 | 
				
			||||||
| 
						 | 
					@ -759,14 +767,6 @@ b1101110 G
 | 
				
			||||||
b1100111 H
 | 
					b1100111 H
 | 
				
			||||||
b100001 I
 | 
					b100001 I
 | 
				
			||||||
1L
 | 
					1L
 | 
				
			||||||
b1110100 $
 | 
					 | 
				
			||||||
b1100101 %
 | 
					 | 
				
			||||||
b1110011 &
 | 
					 | 
				
			||||||
b1110100 '
 | 
					 | 
				
			||||||
b1101001 (
 | 
					 | 
				
			||||||
b1101110 )
 | 
					 | 
				
			||||||
b1100111 *
 | 
					 | 
				
			||||||
b100001 +
 | 
					 | 
				
			||||||
#12500000
 | 
					#12500000
 | 
				
			||||||
#12750000
 | 
					#12750000
 | 
				
			||||||
0#
 | 
					0#
 | 
				
			||||||
| 
						 | 
					@ -780,6 +780,14 @@ b0 ?
 | 
				
			||||||
0@
 | 
					0@
 | 
				
			||||||
#13250000
 | 
					#13250000
 | 
				
			||||||
1#
 | 
					1#
 | 
				
			||||||
 | 
					b1101101 $
 | 
				
			||||||
 | 
					b1101111 %
 | 
				
			||||||
 | 
					b1110010 &
 | 
				
			||||||
 | 
					b1100101 '
 | 
				
			||||||
 | 
					b100000 (
 | 
				
			||||||
 | 
					b1110100 )
 | 
				
			||||||
 | 
					b1110011 *
 | 
				
			||||||
 | 
					b1110100 +
 | 
				
			||||||
1.
 | 
					1.
 | 
				
			||||||
1A
 | 
					1A
 | 
				
			||||||
b1101101 B
 | 
					b1101101 B
 | 
				
			||||||
| 
						 | 
					@ -791,14 +799,6 @@ b1110100 G
 | 
				
			||||||
b1110011 H
 | 
					b1110011 H
 | 
				
			||||||
b1110100 I
 | 
					b1110100 I
 | 
				
			||||||
1L
 | 
					1L
 | 
				
			||||||
b1101101 $
 | 
					 | 
				
			||||||
b1101111 %
 | 
					 | 
				
			||||||
b1110010 &
 | 
					 | 
				
			||||||
b1100101 '
 | 
					 | 
				
			||||||
b100000 (
 | 
					 | 
				
			||||||
b1110100 )
 | 
					 | 
				
			||||||
b1110011 *
 | 
					 | 
				
			||||||
b1110100 +
 | 
					 | 
				
			||||||
#13500000
 | 
					#13500000
 | 
				
			||||||
#13750000
 | 
					#13750000
 | 
				
			||||||
0#
 | 
					0#
 | 
				
			||||||
| 
						 | 
					@ -808,6 +808,14 @@ b1110100 +
 | 
				
			||||||
#14000000
 | 
					#14000000
 | 
				
			||||||
#14250000
 | 
					#14250000
 | 
				
			||||||
1#
 | 
					1#
 | 
				
			||||||
 | 
					b0 $
 | 
				
			||||||
 | 
					b0 %
 | 
				
			||||||
 | 
					b0 &
 | 
				
			||||||
 | 
					b0 '
 | 
				
			||||||
 | 
					b0 (
 | 
				
			||||||
 | 
					b0 )
 | 
				
			||||||
 | 
					b0 *
 | 
				
			||||||
 | 
					b0 +
 | 
				
			||||||
1.
 | 
					1.
 | 
				
			||||||
1A
 | 
					1A
 | 
				
			||||||
b0 B
 | 
					b0 B
 | 
				
			||||||
| 
						 | 
					@ -819,14 +827,6 @@ b0 G
 | 
				
			||||||
b0 H
 | 
					b0 H
 | 
				
			||||||
b0 I
 | 
					b0 I
 | 
				
			||||||
1L
 | 
					1L
 | 
				
			||||||
b0 $
 | 
					 | 
				
			||||||
b0 %
 | 
					 | 
				
			||||||
b0 &
 | 
					 | 
				
			||||||
b0 '
 | 
					 | 
				
			||||||
b0 (
 | 
					 | 
				
			||||||
b0 )
 | 
					 | 
				
			||||||
b0 *
 | 
					 | 
				
			||||||
b0 +
 | 
					 | 
				
			||||||
#14500000
 | 
					#14500000
 | 
				
			||||||
#14750000
 | 
					#14750000
 | 
				
			||||||
0#
 | 
					0#
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -276,7 +276,6 @@ Simulation {
 | 
				
			||||||
        did_initial_settle: true,
 | 
					        did_initial_settle: true,
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    extern_modules: [],
 | 
					    extern_modules: [],
 | 
				
			||||||
    state_ready_to_run: false,
 | 
					 | 
				
			||||||
    trace_decls: TraceModule {
 | 
					    trace_decls: TraceModule {
 | 
				
			||||||
        name: "mod1",
 | 
					        name: "mod1",
 | 
				
			||||||
        children: [
 | 
					        children: [
 | 
				
			||||||
| 
						 | 
					@ -558,7 +557,12 @@ Simulation {
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
        ),
 | 
					        ),
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    instant: 2 μs,
 | 
					 | 
				
			||||||
    clocks_triggered: [],
 | 
					    clocks_triggered: [],
 | 
				
			||||||
 | 
					    event_queue: EventQueue(EventQueueData {
 | 
				
			||||||
 | 
					        instant: 2 μs,
 | 
				
			||||||
 | 
					        events: {},
 | 
				
			||||||
 | 
					    }),
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_address: {},
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_compiled_value: {},
 | 
				
			||||||
    ..
 | 
					    ..
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -827,52 +827,6 @@ Simulation {
 | 
				
			||||||
            running_generator: Some(
 | 
					            running_generator: Some(
 | 
				
			||||||
                ...,
 | 
					                ...,
 | 
				
			||||||
            ),
 | 
					            ),
 | 
				
			||||||
            wait_targets: {
 | 
					 | 
				
			||||||
                Change {
 | 
					 | 
				
			||||||
                    key: CompiledValue {
 | 
					 | 
				
			||||||
                        layout: CompiledTypeLayout {
 | 
					 | 
				
			||||||
                            ty: Clock,
 | 
					 | 
				
			||||||
                            layout: TypeLayout {
 | 
					 | 
				
			||||||
                                small_slots: StatePartLayout<SmallSlots> {
 | 
					 | 
				
			||||||
                                    len: 0,
 | 
					 | 
				
			||||||
                                    debug_data: [],
 | 
					 | 
				
			||||||
                                    ..
 | 
					 | 
				
			||||||
                                },
 | 
					 | 
				
			||||||
                                big_slots: StatePartLayout<BigSlots> {
 | 
					 | 
				
			||||||
                                    len: 1,
 | 
					 | 
				
			||||||
                                    debug_data: [
 | 
					 | 
				
			||||||
                                        SlotDebugData {
 | 
					 | 
				
			||||||
                                            name: "InstantiatedModule(ripple_counter.bit_reg_1: sw_reg).sw_reg::clk",
 | 
					 | 
				
			||||||
                                            ty: Clock,
 | 
					 | 
				
			||||||
                                        },
 | 
					 | 
				
			||||||
                                    ],
 | 
					 | 
				
			||||||
                                    ..
 | 
					 | 
				
			||||||
                                },
 | 
					 | 
				
			||||||
                                sim_only_slots: StatePartLayout<SimOnlySlots> {
 | 
					 | 
				
			||||||
                                    len: 0,
 | 
					 | 
				
			||||||
                                    debug_data: [],
 | 
					 | 
				
			||||||
                                    layout_data: [],
 | 
					 | 
				
			||||||
                                    ..
 | 
					 | 
				
			||||||
                                },
 | 
					 | 
				
			||||||
                            },
 | 
					 | 
				
			||||||
                            body: Scalar,
 | 
					 | 
				
			||||||
                        },
 | 
					 | 
				
			||||||
                        range: TypeIndexRange {
 | 
					 | 
				
			||||||
                            small_slots: StatePartIndexRange<SmallSlots> { start: 3, len: 0 },
 | 
					 | 
				
			||||||
                            big_slots: StatePartIndexRange<BigSlots> { start: 33, len: 1 },
 | 
					 | 
				
			||||||
                            sim_only_slots: StatePartIndexRange<SimOnlySlots> { start: 0, len: 0 },
 | 
					 | 
				
			||||||
                        },
 | 
					 | 
				
			||||||
                        write: None,
 | 
					 | 
				
			||||||
                    },
 | 
					 | 
				
			||||||
                    value: SimValue {
 | 
					 | 
				
			||||||
                        ty: Clock,
 | 
					 | 
				
			||||||
                        value: OpaqueSimValue {
 | 
					 | 
				
			||||||
                            bits: 0x0_u1,
 | 
					 | 
				
			||||||
                            sim_only_values: [],
 | 
					 | 
				
			||||||
                        },
 | 
					 | 
				
			||||||
                    },
 | 
					 | 
				
			||||||
                },
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        SimulationExternModuleState {
 | 
					        SimulationExternModuleState {
 | 
				
			||||||
            module_state: SimulationModuleState {
 | 
					            module_state: SimulationModuleState {
 | 
				
			||||||
| 
						 | 
					@ -956,52 +910,6 @@ Simulation {
 | 
				
			||||||
            running_generator: Some(
 | 
					            running_generator: Some(
 | 
				
			||||||
                ...,
 | 
					                ...,
 | 
				
			||||||
            ),
 | 
					            ),
 | 
				
			||||||
            wait_targets: {
 | 
					 | 
				
			||||||
                Change {
 | 
					 | 
				
			||||||
                    key: CompiledValue {
 | 
					 | 
				
			||||||
                        layout: CompiledTypeLayout {
 | 
					 | 
				
			||||||
                            ty: Clock,
 | 
					 | 
				
			||||||
                            layout: TypeLayout {
 | 
					 | 
				
			||||||
                                small_slots: StatePartLayout<SmallSlots> {
 | 
					 | 
				
			||||||
                                    len: 0,
 | 
					 | 
				
			||||||
                                    debug_data: [],
 | 
					 | 
				
			||||||
                                    ..
 | 
					 | 
				
			||||||
                                },
 | 
					 | 
				
			||||||
                                big_slots: StatePartLayout<BigSlots> {
 | 
					 | 
				
			||||||
                                    len: 1,
 | 
					 | 
				
			||||||
                                    debug_data: [
 | 
					 | 
				
			||||||
                                        SlotDebugData {
 | 
					 | 
				
			||||||
                                            name: "InstantiatedModule(ripple_counter.bit_reg_3: sw_reg).sw_reg::clk",
 | 
					 | 
				
			||||||
                                            ty: Clock,
 | 
					 | 
				
			||||||
                                        },
 | 
					 | 
				
			||||||
                                    ],
 | 
					 | 
				
			||||||
                                    ..
 | 
					 | 
				
			||||||
                                },
 | 
					 | 
				
			||||||
                                sim_only_slots: StatePartLayout<SimOnlySlots> {
 | 
					 | 
				
			||||||
                                    len: 0,
 | 
					 | 
				
			||||||
                                    debug_data: [],
 | 
					 | 
				
			||||||
                                    layout_data: [],
 | 
					 | 
				
			||||||
                                    ..
 | 
					 | 
				
			||||||
                                },
 | 
					 | 
				
			||||||
                            },
 | 
					 | 
				
			||||||
                            body: Scalar,
 | 
					 | 
				
			||||||
                        },
 | 
					 | 
				
			||||||
                        range: TypeIndexRange {
 | 
					 | 
				
			||||||
                            small_slots: StatePartIndexRange<SmallSlots> { start: 6, len: 0 },
 | 
					 | 
				
			||||||
                            big_slots: StatePartIndexRange<BigSlots> { start: 44, len: 1 },
 | 
					 | 
				
			||||||
                            sim_only_slots: StatePartIndexRange<SimOnlySlots> { start: 0, len: 0 },
 | 
					 | 
				
			||||||
                        },
 | 
					 | 
				
			||||||
                        write: None,
 | 
					 | 
				
			||||||
                    },
 | 
					 | 
				
			||||||
                    value: SimValue {
 | 
					 | 
				
			||||||
                        ty: Clock,
 | 
					 | 
				
			||||||
                        value: OpaqueSimValue {
 | 
					 | 
				
			||||||
                            bits: 0x0_u1,
 | 
					 | 
				
			||||||
                            sim_only_values: [],
 | 
					 | 
				
			||||||
                        },
 | 
					 | 
				
			||||||
                    },
 | 
					 | 
				
			||||||
                },
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        SimulationExternModuleState {
 | 
					        SimulationExternModuleState {
 | 
				
			||||||
            module_state: SimulationModuleState {
 | 
					            module_state: SimulationModuleState {
 | 
				
			||||||
| 
						 | 
					@ -1085,55 +993,8 @@ Simulation {
 | 
				
			||||||
            running_generator: Some(
 | 
					            running_generator: Some(
 | 
				
			||||||
                ...,
 | 
					                ...,
 | 
				
			||||||
            ),
 | 
					            ),
 | 
				
			||||||
            wait_targets: {
 | 
					 | 
				
			||||||
                Change {
 | 
					 | 
				
			||||||
                    key: CompiledValue {
 | 
					 | 
				
			||||||
                        layout: CompiledTypeLayout {
 | 
					 | 
				
			||||||
                            ty: Clock,
 | 
					 | 
				
			||||||
                            layout: TypeLayout {
 | 
					 | 
				
			||||||
                                small_slots: StatePartLayout<SmallSlots> {
 | 
					 | 
				
			||||||
                                    len: 0,
 | 
					 | 
				
			||||||
                                    debug_data: [],
 | 
					 | 
				
			||||||
                                    ..
 | 
					 | 
				
			||||||
                                },
 | 
					 | 
				
			||||||
                                big_slots: StatePartLayout<BigSlots> {
 | 
					 | 
				
			||||||
                                    len: 1,
 | 
					 | 
				
			||||||
                                    debug_data: [
 | 
					 | 
				
			||||||
                                        SlotDebugData {
 | 
					 | 
				
			||||||
                                            name: "InstantiatedModule(ripple_counter.bit_reg_5: sw_reg).sw_reg::clk",
 | 
					 | 
				
			||||||
                                            ty: Clock,
 | 
					 | 
				
			||||||
                                        },
 | 
					 | 
				
			||||||
                                    ],
 | 
					 | 
				
			||||||
                                    ..
 | 
					 | 
				
			||||||
                                },
 | 
					 | 
				
			||||||
                                sim_only_slots: StatePartLayout<SimOnlySlots> {
 | 
					 | 
				
			||||||
                                    len: 0,
 | 
					 | 
				
			||||||
                                    debug_data: [],
 | 
					 | 
				
			||||||
                                    layout_data: [],
 | 
					 | 
				
			||||||
                                    ..
 | 
					 | 
				
			||||||
                                },
 | 
					 | 
				
			||||||
                            },
 | 
					 | 
				
			||||||
                            body: Scalar,
 | 
					 | 
				
			||||||
                        },
 | 
					 | 
				
			||||||
                        range: TypeIndexRange {
 | 
					 | 
				
			||||||
                            small_slots: StatePartIndexRange<SmallSlots> { start: 9, len: 0 },
 | 
					 | 
				
			||||||
                            big_slots: StatePartIndexRange<BigSlots> { start: 55, len: 1 },
 | 
					 | 
				
			||||||
                            sim_only_slots: StatePartIndexRange<SimOnlySlots> { start: 0, len: 0 },
 | 
					 | 
				
			||||||
                        },
 | 
					 | 
				
			||||||
                        write: None,
 | 
					 | 
				
			||||||
                    },
 | 
					 | 
				
			||||||
                    value: SimValue {
 | 
					 | 
				
			||||||
                        ty: Clock,
 | 
					 | 
				
			||||||
                        value: OpaqueSimValue {
 | 
					 | 
				
			||||||
                            bits: 0x0_u1,
 | 
					 | 
				
			||||||
                            sim_only_values: [],
 | 
					 | 
				
			||||||
                        },
 | 
					 | 
				
			||||||
                    },
 | 
					 | 
				
			||||||
                },
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    state_ready_to_run: false,
 | 
					 | 
				
			||||||
    trace_decls: TraceModule {
 | 
					    trace_decls: TraceModule {
 | 
				
			||||||
        name: "ripple_counter",
 | 
					        name: "ripple_counter",
 | 
				
			||||||
        children: [
 | 
					        children: [
 | 
				
			||||||
| 
						 | 
					@ -1593,11 +1454,315 @@ Simulation {
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
        ),
 | 
					        ),
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    instant: 256 μs,
 | 
					 | 
				
			||||||
    clocks_triggered: [
 | 
					    clocks_triggered: [
 | 
				
			||||||
        StatePartIndex<SmallSlots>(1),
 | 
					        StatePartIndex<SmallSlots>(1),
 | 
				
			||||||
        StatePartIndex<SmallSlots>(4),
 | 
					        StatePartIndex<SmallSlots>(4),
 | 
				
			||||||
        StatePartIndex<SmallSlots>(7),
 | 
					        StatePartIndex<SmallSlots>(7),
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
 | 
					    event_queue: EventQueue(EventQueueData {
 | 
				
			||||||
 | 
					        instant: 256 μs,
 | 
				
			||||||
 | 
					        events: {},
 | 
				
			||||||
 | 
					    }),
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_address: {
 | 
				
			||||||
 | 
					        SensitivitySet {
 | 
				
			||||||
 | 
					            id: 152,
 | 
				
			||||||
 | 
					            values: {
 | 
				
			||||||
 | 
					                CompiledValue {
 | 
				
			||||||
 | 
					                    layout: CompiledTypeLayout {
 | 
				
			||||||
 | 
					                        ty: Clock,
 | 
				
			||||||
 | 
					                        layout: TypeLayout {
 | 
				
			||||||
 | 
					                            small_slots: StatePartLayout<SmallSlots> {
 | 
				
			||||||
 | 
					                                len: 0,
 | 
				
			||||||
 | 
					                                debug_data: [],
 | 
				
			||||||
 | 
					                                ..
 | 
				
			||||||
 | 
					                            },
 | 
				
			||||||
 | 
					                            big_slots: StatePartLayout<BigSlots> {
 | 
				
			||||||
 | 
					                                len: 1,
 | 
				
			||||||
 | 
					                                debug_data: [
 | 
				
			||||||
 | 
					                                    SlotDebugData {
 | 
				
			||||||
 | 
					                                        name: "InstantiatedModule(ripple_counter.bit_reg_5: sw_reg).sw_reg::clk",
 | 
				
			||||||
 | 
					                                        ty: Clock,
 | 
				
			||||||
 | 
					                                    },
 | 
				
			||||||
 | 
					                                ],
 | 
				
			||||||
 | 
					                                ..
 | 
				
			||||||
 | 
					                            },
 | 
				
			||||||
 | 
					                            sim_only_slots: StatePartLayout<SimOnlySlots> {
 | 
				
			||||||
 | 
					                                len: 0,
 | 
				
			||||||
 | 
					                                debug_data: [],
 | 
				
			||||||
 | 
					                                layout_data: [],
 | 
				
			||||||
 | 
					                                ..
 | 
				
			||||||
 | 
					                            },
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					                        body: Scalar,
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    range: TypeIndexRange {
 | 
				
			||||||
 | 
					                        small_slots: StatePartIndexRange<SmallSlots> { start: 9, len: 0 },
 | 
				
			||||||
 | 
					                        big_slots: StatePartIndexRange<BigSlots> { start: 55, len: 1 },
 | 
				
			||||||
 | 
					                        sim_only_slots: StatePartIndexRange<SimOnlySlots> { start: 0, len: 0 },
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    write: None,
 | 
				
			||||||
 | 
					                }: SimValue {
 | 
				
			||||||
 | 
					                    ty: Clock,
 | 
				
			||||||
 | 
					                    value: OpaqueSimValue {
 | 
				
			||||||
 | 
					                        bits: 0x0_u1,
 | 
				
			||||||
 | 
					                        sim_only_values: [],
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            changed: Cell {
 | 
				
			||||||
 | 
					                value: false,
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            ..
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        SensitivitySet {
 | 
				
			||||||
 | 
					            id: 167,
 | 
				
			||||||
 | 
					            values: {
 | 
				
			||||||
 | 
					                CompiledValue {
 | 
				
			||||||
 | 
					                    layout: CompiledTypeLayout {
 | 
				
			||||||
 | 
					                        ty: Clock,
 | 
				
			||||||
 | 
					                        layout: TypeLayout {
 | 
				
			||||||
 | 
					                            small_slots: StatePartLayout<SmallSlots> {
 | 
				
			||||||
 | 
					                                len: 0,
 | 
				
			||||||
 | 
					                                debug_data: [],
 | 
				
			||||||
 | 
					                                ..
 | 
				
			||||||
 | 
					                            },
 | 
				
			||||||
 | 
					                            big_slots: StatePartLayout<BigSlots> {
 | 
				
			||||||
 | 
					                                len: 1,
 | 
				
			||||||
 | 
					                                debug_data: [
 | 
				
			||||||
 | 
					                                    SlotDebugData {
 | 
				
			||||||
 | 
					                                        name: "InstantiatedModule(ripple_counter.bit_reg_3: sw_reg).sw_reg::clk",
 | 
				
			||||||
 | 
					                                        ty: Clock,
 | 
				
			||||||
 | 
					                                    },
 | 
				
			||||||
 | 
					                                ],
 | 
				
			||||||
 | 
					                                ..
 | 
				
			||||||
 | 
					                            },
 | 
				
			||||||
 | 
					                            sim_only_slots: StatePartLayout<SimOnlySlots> {
 | 
				
			||||||
 | 
					                                len: 0,
 | 
				
			||||||
 | 
					                                debug_data: [],
 | 
				
			||||||
 | 
					                                layout_data: [],
 | 
				
			||||||
 | 
					                                ..
 | 
				
			||||||
 | 
					                            },
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					                        body: Scalar,
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    range: TypeIndexRange {
 | 
				
			||||||
 | 
					                        small_slots: StatePartIndexRange<SmallSlots> { start: 6, len: 0 },
 | 
				
			||||||
 | 
					                        big_slots: StatePartIndexRange<BigSlots> { start: 44, len: 1 },
 | 
				
			||||||
 | 
					                        sim_only_slots: StatePartIndexRange<SimOnlySlots> { start: 0, len: 0 },
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    write: None,
 | 
				
			||||||
 | 
					                }: SimValue {
 | 
				
			||||||
 | 
					                    ty: Clock,
 | 
				
			||||||
 | 
					                    value: OpaqueSimValue {
 | 
				
			||||||
 | 
					                        bits: 0x0_u1,
 | 
				
			||||||
 | 
					                        sim_only_values: [],
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            changed: Cell {
 | 
				
			||||||
 | 
					                value: false,
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            ..
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        SensitivitySet {
 | 
				
			||||||
 | 
					            id: 170,
 | 
				
			||||||
 | 
					            values: {
 | 
				
			||||||
 | 
					                CompiledValue {
 | 
				
			||||||
 | 
					                    layout: CompiledTypeLayout {
 | 
				
			||||||
 | 
					                        ty: Clock,
 | 
				
			||||||
 | 
					                        layout: TypeLayout {
 | 
				
			||||||
 | 
					                            small_slots: StatePartLayout<SmallSlots> {
 | 
				
			||||||
 | 
					                                len: 0,
 | 
				
			||||||
 | 
					                                debug_data: [],
 | 
				
			||||||
 | 
					                                ..
 | 
				
			||||||
 | 
					                            },
 | 
				
			||||||
 | 
					                            big_slots: StatePartLayout<BigSlots> {
 | 
				
			||||||
 | 
					                                len: 1,
 | 
				
			||||||
 | 
					                                debug_data: [
 | 
				
			||||||
 | 
					                                    SlotDebugData {
 | 
				
			||||||
 | 
					                                        name: "InstantiatedModule(ripple_counter.bit_reg_1: sw_reg).sw_reg::clk",
 | 
				
			||||||
 | 
					                                        ty: Clock,
 | 
				
			||||||
 | 
					                                    },
 | 
				
			||||||
 | 
					                                ],
 | 
				
			||||||
 | 
					                                ..
 | 
				
			||||||
 | 
					                            },
 | 
				
			||||||
 | 
					                            sim_only_slots: StatePartLayout<SimOnlySlots> {
 | 
				
			||||||
 | 
					                                len: 0,
 | 
				
			||||||
 | 
					                                debug_data: [],
 | 
				
			||||||
 | 
					                                layout_data: [],
 | 
				
			||||||
 | 
					                                ..
 | 
				
			||||||
 | 
					                            },
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					                        body: Scalar,
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    range: TypeIndexRange {
 | 
				
			||||||
 | 
					                        small_slots: StatePartIndexRange<SmallSlots> { start: 3, len: 0 },
 | 
				
			||||||
 | 
					                        big_slots: StatePartIndexRange<BigSlots> { start: 33, len: 1 },
 | 
				
			||||||
 | 
					                        sim_only_slots: StatePartIndexRange<SimOnlySlots> { start: 0, len: 0 },
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    write: None,
 | 
				
			||||||
 | 
					                }: SimValue {
 | 
				
			||||||
 | 
					                    ty: Clock,
 | 
				
			||||||
 | 
					                    value: OpaqueSimValue {
 | 
				
			||||||
 | 
					                        bits: 0x0_u1,
 | 
				
			||||||
 | 
					                        sim_only_values: [],
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            changed: Cell {
 | 
				
			||||||
 | 
					                value: false,
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            ..
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_compiled_value: {
 | 
				
			||||||
 | 
					        CompiledValue {
 | 
				
			||||||
 | 
					            layout: CompiledTypeLayout {
 | 
				
			||||||
 | 
					                ty: Clock,
 | 
				
			||||||
 | 
					                layout: TypeLayout {
 | 
				
			||||||
 | 
					                    small_slots: StatePartLayout<SmallSlots> {
 | 
				
			||||||
 | 
					                        len: 0,
 | 
				
			||||||
 | 
					                        debug_data: [],
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    big_slots: StatePartLayout<BigSlots> {
 | 
				
			||||||
 | 
					                        len: 1,
 | 
				
			||||||
 | 
					                        debug_data: [
 | 
				
			||||||
 | 
					                            SlotDebugData {
 | 
				
			||||||
 | 
					                                name: "InstantiatedModule(ripple_counter.bit_reg_1: sw_reg).sw_reg::clk",
 | 
				
			||||||
 | 
					                                ty: Clock,
 | 
				
			||||||
 | 
					                            },
 | 
				
			||||||
 | 
					                        ],
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    sim_only_slots: StatePartLayout<SimOnlySlots> {
 | 
				
			||||||
 | 
					                        len: 0,
 | 
				
			||||||
 | 
					                        debug_data: [],
 | 
				
			||||||
 | 
					                        layout_data: [],
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                body: Scalar,
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            range: TypeIndexRange {
 | 
				
			||||||
 | 
					                small_slots: StatePartIndexRange<SmallSlots> { start: 3, len: 0 },
 | 
				
			||||||
 | 
					                big_slots: StatePartIndexRange<BigSlots> { start: 33, len: 1 },
 | 
				
			||||||
 | 
					                sim_only_slots: StatePartIndexRange<SimOnlySlots> { start: 0, len: 0 },
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            write: None,
 | 
				
			||||||
 | 
					        }: (
 | 
				
			||||||
 | 
					            SimValue {
 | 
				
			||||||
 | 
					                ty: Clock,
 | 
				
			||||||
 | 
					                value: OpaqueSimValue {
 | 
				
			||||||
 | 
					                    bits: 0x0_u1,
 | 
				
			||||||
 | 
					                    sim_only_values: [],
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                SensitivitySet {
 | 
				
			||||||
 | 
					                    id: 170,
 | 
				
			||||||
 | 
					                    ..
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
 | 
					        CompiledValue {
 | 
				
			||||||
 | 
					            layout: CompiledTypeLayout {
 | 
				
			||||||
 | 
					                ty: Clock,
 | 
				
			||||||
 | 
					                layout: TypeLayout {
 | 
				
			||||||
 | 
					                    small_slots: StatePartLayout<SmallSlots> {
 | 
				
			||||||
 | 
					                        len: 0,
 | 
				
			||||||
 | 
					                        debug_data: [],
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    big_slots: StatePartLayout<BigSlots> {
 | 
				
			||||||
 | 
					                        len: 1,
 | 
				
			||||||
 | 
					                        debug_data: [
 | 
				
			||||||
 | 
					                            SlotDebugData {
 | 
				
			||||||
 | 
					                                name: "InstantiatedModule(ripple_counter.bit_reg_3: sw_reg).sw_reg::clk",
 | 
				
			||||||
 | 
					                                ty: Clock,
 | 
				
			||||||
 | 
					                            },
 | 
				
			||||||
 | 
					                        ],
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    sim_only_slots: StatePartLayout<SimOnlySlots> {
 | 
				
			||||||
 | 
					                        len: 0,
 | 
				
			||||||
 | 
					                        debug_data: [],
 | 
				
			||||||
 | 
					                        layout_data: [],
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                body: Scalar,
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            range: TypeIndexRange {
 | 
				
			||||||
 | 
					                small_slots: StatePartIndexRange<SmallSlots> { start: 6, len: 0 },
 | 
				
			||||||
 | 
					                big_slots: StatePartIndexRange<BigSlots> { start: 44, len: 1 },
 | 
				
			||||||
 | 
					                sim_only_slots: StatePartIndexRange<SimOnlySlots> { start: 0, len: 0 },
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            write: None,
 | 
				
			||||||
 | 
					        }: (
 | 
				
			||||||
 | 
					            SimValue {
 | 
				
			||||||
 | 
					                ty: Clock,
 | 
				
			||||||
 | 
					                value: OpaqueSimValue {
 | 
				
			||||||
 | 
					                    bits: 0x0_u1,
 | 
				
			||||||
 | 
					                    sim_only_values: [],
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                SensitivitySet {
 | 
				
			||||||
 | 
					                    id: 167,
 | 
				
			||||||
 | 
					                    ..
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
 | 
					        CompiledValue {
 | 
				
			||||||
 | 
					            layout: CompiledTypeLayout {
 | 
				
			||||||
 | 
					                ty: Clock,
 | 
				
			||||||
 | 
					                layout: TypeLayout {
 | 
				
			||||||
 | 
					                    small_slots: StatePartLayout<SmallSlots> {
 | 
				
			||||||
 | 
					                        len: 0,
 | 
				
			||||||
 | 
					                        debug_data: [],
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    big_slots: StatePartLayout<BigSlots> {
 | 
				
			||||||
 | 
					                        len: 1,
 | 
				
			||||||
 | 
					                        debug_data: [
 | 
				
			||||||
 | 
					                            SlotDebugData {
 | 
				
			||||||
 | 
					                                name: "InstantiatedModule(ripple_counter.bit_reg_5: sw_reg).sw_reg::clk",
 | 
				
			||||||
 | 
					                                ty: Clock,
 | 
				
			||||||
 | 
					                            },
 | 
				
			||||||
 | 
					                        ],
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    sim_only_slots: StatePartLayout<SimOnlySlots> {
 | 
				
			||||||
 | 
					                        len: 0,
 | 
				
			||||||
 | 
					                        debug_data: [],
 | 
				
			||||||
 | 
					                        layout_data: [],
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                body: Scalar,
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            range: TypeIndexRange {
 | 
				
			||||||
 | 
					                small_slots: StatePartIndexRange<SmallSlots> { start: 9, len: 0 },
 | 
				
			||||||
 | 
					                big_slots: StatePartIndexRange<BigSlots> { start: 55, len: 1 },
 | 
				
			||||||
 | 
					                sim_only_slots: StatePartIndexRange<SimOnlySlots> { start: 0, len: 0 },
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            write: None,
 | 
				
			||||||
 | 
					        }: (
 | 
				
			||||||
 | 
					            SimValue {
 | 
				
			||||||
 | 
					                ty: Clock,
 | 
				
			||||||
 | 
					                value: OpaqueSimValue {
 | 
				
			||||||
 | 
					                    bits: 0x0_u1,
 | 
				
			||||||
 | 
					                    sim_only_values: [],
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                SensitivitySet {
 | 
				
			||||||
 | 
					                    id: 152,
 | 
				
			||||||
 | 
					                    ..
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    ..
 | 
					    ..
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							| 
						 | 
					@ -339,7 +339,6 @@ Simulation {
 | 
				
			||||||
        did_initial_settle: true,
 | 
					        did_initial_settle: true,
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    extern_modules: [],
 | 
					    extern_modules: [],
 | 
				
			||||||
    state_ready_to_run: false,
 | 
					 | 
				
			||||||
    trace_decls: TraceModule {
 | 
					    trace_decls: TraceModule {
 | 
				
			||||||
        name: "shift_register",
 | 
					        name: "shift_register",
 | 
				
			||||||
        children: [
 | 
					        children: [
 | 
				
			||||||
| 
						 | 
					@ -440,7 +439,7 @@ Simulation {
 | 
				
			||||||
                index: StatePartIndex<BigSlots>(0),
 | 
					                index: StatePartIndex<BigSlots>(0),
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            state: 0x1,
 | 
					            state: 0x1,
 | 
				
			||||||
            last_state: 0x1,
 | 
					            last_state: 0x0,
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        SimTrace {
 | 
					        SimTrace {
 | 
				
			||||||
            id: TraceScalarId(1),
 | 
					            id: TraceScalarId(1),
 | 
				
			||||||
| 
						 | 
					@ -509,9 +508,14 @@ Simulation {
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
        ),
 | 
					        ),
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    instant: 66 μs,
 | 
					 | 
				
			||||||
    clocks_triggered: [
 | 
					    clocks_triggered: [
 | 
				
			||||||
        StatePartIndex<SmallSlots>(1),
 | 
					        StatePartIndex<SmallSlots>(1),
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
 | 
					    event_queue: EventQueue(EventQueueData {
 | 
				
			||||||
 | 
					        instant: 66 μs,
 | 
				
			||||||
 | 
					        events: {},
 | 
				
			||||||
 | 
					    }),
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_address: {},
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_compiled_value: {},
 | 
				
			||||||
    ..
 | 
					    ..
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -52,9 +52,9 @@ $end
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#11000000
 | 
					#11000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
 | 
					1$
 | 
				
			||||||
0&
 | 
					0&
 | 
				
			||||||
1(
 | 
					1(
 | 
				
			||||||
1$
 | 
					 | 
				
			||||||
#12000000
 | 
					#12000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
1#
 | 
					1#
 | 
				
			||||||
| 
						 | 
					@ -67,10 +67,10 @@ $end
 | 
				
			||||||
0#
 | 
					0#
 | 
				
			||||||
#15000000
 | 
					#15000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
 | 
					0$
 | 
				
			||||||
0%
 | 
					0%
 | 
				
			||||||
1&
 | 
					1&
 | 
				
			||||||
0(
 | 
					0(
 | 
				
			||||||
0$
 | 
					 | 
				
			||||||
#16000000
 | 
					#16000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
1#
 | 
					1#
 | 
				
			||||||
| 
						 | 
					@ -83,23 +83,23 @@ $end
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#19000000
 | 
					#19000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
 | 
					1$
 | 
				
			||||||
1&
 | 
					1&
 | 
				
			||||||
0'
 | 
					0'
 | 
				
			||||||
1(
 | 
					1(
 | 
				
			||||||
1$
 | 
					 | 
				
			||||||
#20000000
 | 
					#20000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#21000000
 | 
					#21000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
 | 
					0$
 | 
				
			||||||
1'
 | 
					1'
 | 
				
			||||||
0(
 | 
					0(
 | 
				
			||||||
0$
 | 
					 | 
				
			||||||
#22000000
 | 
					#22000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#23000000
 | 
					#23000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
1(
 | 
					 | 
				
			||||||
1$
 | 
					1$
 | 
				
			||||||
 | 
					1(
 | 
				
			||||||
#24000000
 | 
					#24000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
0#
 | 
					0#
 | 
				
			||||||
| 
						 | 
					@ -120,8 +120,8 @@ $end
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#31000000
 | 
					#31000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
0(
 | 
					 | 
				
			||||||
0$
 | 
					0$
 | 
				
			||||||
 | 
					0(
 | 
				
			||||||
#32000000
 | 
					#32000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
#33000000
 | 
					#33000000
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										523
									
								
								crates/fayalite/tests/sim/expected/sim_fork_join.txt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										523
									
								
								crates/fayalite/tests/sim/expected/sim_fork_join.txt
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,523 @@
 | 
				
			||||||
 | 
					Simulation {
 | 
				
			||||||
 | 
					    state: State {
 | 
				
			||||||
 | 
					        insns: Insns {
 | 
				
			||||||
 | 
					            state_layout: StateLayout {
 | 
				
			||||||
 | 
					                ty: TypeLayout {
 | 
				
			||||||
 | 
					                    small_slots: StatePartLayout<SmallSlots> {
 | 
				
			||||||
 | 
					                        len: 0,
 | 
				
			||||||
 | 
					                        debug_data: [],
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    big_slots: StatePartLayout<BigSlots> {
 | 
				
			||||||
 | 
					                        len: 6,
 | 
				
			||||||
 | 
					                        debug_data: [
 | 
				
			||||||
 | 
					                            SlotDebugData {
 | 
				
			||||||
 | 
					                                name: "InstantiatedModule(sim_fork_join: sim_fork_join).sim_fork_join::clocks[0]",
 | 
				
			||||||
 | 
					                                ty: Clock,
 | 
				
			||||||
 | 
					                            },
 | 
				
			||||||
 | 
					                            SlotDebugData {
 | 
				
			||||||
 | 
					                                name: "InstantiatedModule(sim_fork_join: sim_fork_join).sim_fork_join::clocks[1]",
 | 
				
			||||||
 | 
					                                ty: Clock,
 | 
				
			||||||
 | 
					                            },
 | 
				
			||||||
 | 
					                            SlotDebugData {
 | 
				
			||||||
 | 
					                                name: "InstantiatedModule(sim_fork_join: sim_fork_join).sim_fork_join::clocks[2]",
 | 
				
			||||||
 | 
					                                ty: Clock,
 | 
				
			||||||
 | 
					                            },
 | 
				
			||||||
 | 
					                            SlotDebugData {
 | 
				
			||||||
 | 
					                                name: "InstantiatedModule(sim_fork_join: sim_fork_join).sim_fork_join::outputs[0]",
 | 
				
			||||||
 | 
					                                ty: UInt<8>,
 | 
				
			||||||
 | 
					                            },
 | 
				
			||||||
 | 
					                            SlotDebugData {
 | 
				
			||||||
 | 
					                                name: "InstantiatedModule(sim_fork_join: sim_fork_join).sim_fork_join::outputs[1]",
 | 
				
			||||||
 | 
					                                ty: UInt<8>,
 | 
				
			||||||
 | 
					                            },
 | 
				
			||||||
 | 
					                            SlotDebugData {
 | 
				
			||||||
 | 
					                                name: "InstantiatedModule(sim_fork_join: sim_fork_join).sim_fork_join::outputs[2]",
 | 
				
			||||||
 | 
					                                ty: UInt<8>,
 | 
				
			||||||
 | 
					                            },
 | 
				
			||||||
 | 
					                        ],
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    sim_only_slots: StatePartLayout<SimOnlySlots> {
 | 
				
			||||||
 | 
					                        len: 0,
 | 
				
			||||||
 | 
					                        debug_data: [],
 | 
				
			||||||
 | 
					                        layout_data: [],
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                memories: StatePartLayout<Memories> {
 | 
				
			||||||
 | 
					                    len: 0,
 | 
				
			||||||
 | 
					                    debug_data: [],
 | 
				
			||||||
 | 
					                    layout_data: [],
 | 
				
			||||||
 | 
					                    ..
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            insns: [
 | 
				
			||||||
 | 
					                // at: module-XXXXXXXXXX.rs:1:1
 | 
				
			||||||
 | 
					                0: Return,
 | 
				
			||||||
 | 
					            ],
 | 
				
			||||||
 | 
					            ..
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        pc: 0,
 | 
				
			||||||
 | 
					        memory_write_log: [],
 | 
				
			||||||
 | 
					        memories: StatePart {
 | 
				
			||||||
 | 
					            value: [],
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        small_slots: StatePart {
 | 
				
			||||||
 | 
					            value: [],
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        big_slots: StatePart {
 | 
				
			||||||
 | 
					            value: [
 | 
				
			||||||
 | 
					                0,
 | 
				
			||||||
 | 
					                0,
 | 
				
			||||||
 | 
					                0,
 | 
				
			||||||
 | 
					                49,
 | 
				
			||||||
 | 
					                50,
 | 
				
			||||||
 | 
					                50,
 | 
				
			||||||
 | 
					            ],
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        sim_only_slots: StatePart {
 | 
				
			||||||
 | 
					            value: [],
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    io: Instance {
 | 
				
			||||||
 | 
					        name: <simulator>::sim_fork_join,
 | 
				
			||||||
 | 
					        instantiated: Module {
 | 
				
			||||||
 | 
					            name: sim_fork_join,
 | 
				
			||||||
 | 
					            ..
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    main_module: SimulationModuleState {
 | 
				
			||||||
 | 
					        base_targets: [
 | 
				
			||||||
 | 
					            Instance {
 | 
				
			||||||
 | 
					                name: <simulator>::sim_fork_join,
 | 
				
			||||||
 | 
					                instantiated: Module {
 | 
				
			||||||
 | 
					                    name: sim_fork_join,
 | 
				
			||||||
 | 
					                    ..
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					            }.clocks,
 | 
				
			||||||
 | 
					            Instance {
 | 
				
			||||||
 | 
					                name: <simulator>::sim_fork_join,
 | 
				
			||||||
 | 
					                instantiated: Module {
 | 
				
			||||||
 | 
					                    name: sim_fork_join,
 | 
				
			||||||
 | 
					                    ..
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					            }.outputs,
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					        uninitialized_ios: {},
 | 
				
			||||||
 | 
					        io_targets: {
 | 
				
			||||||
 | 
					            Instance {
 | 
				
			||||||
 | 
					                name: <simulator>::sim_fork_join,
 | 
				
			||||||
 | 
					                instantiated: Module {
 | 
				
			||||||
 | 
					                    name: sim_fork_join,
 | 
				
			||||||
 | 
					                    ..
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					            }.clocks,
 | 
				
			||||||
 | 
					            Instance {
 | 
				
			||||||
 | 
					                name: <simulator>::sim_fork_join,
 | 
				
			||||||
 | 
					                instantiated: Module {
 | 
				
			||||||
 | 
					                    name: sim_fork_join,
 | 
				
			||||||
 | 
					                    ..
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					            }.clocks[0],
 | 
				
			||||||
 | 
					            Instance {
 | 
				
			||||||
 | 
					                name: <simulator>::sim_fork_join,
 | 
				
			||||||
 | 
					                instantiated: Module {
 | 
				
			||||||
 | 
					                    name: sim_fork_join,
 | 
				
			||||||
 | 
					                    ..
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					            }.clocks[1],
 | 
				
			||||||
 | 
					            Instance {
 | 
				
			||||||
 | 
					                name: <simulator>::sim_fork_join,
 | 
				
			||||||
 | 
					                instantiated: Module {
 | 
				
			||||||
 | 
					                    name: sim_fork_join,
 | 
				
			||||||
 | 
					                    ..
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					            }.clocks[2],
 | 
				
			||||||
 | 
					            Instance {
 | 
				
			||||||
 | 
					                name: <simulator>::sim_fork_join,
 | 
				
			||||||
 | 
					                instantiated: Module {
 | 
				
			||||||
 | 
					                    name: sim_fork_join,
 | 
				
			||||||
 | 
					                    ..
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					            }.outputs,
 | 
				
			||||||
 | 
					            Instance {
 | 
				
			||||||
 | 
					                name: <simulator>::sim_fork_join,
 | 
				
			||||||
 | 
					                instantiated: Module {
 | 
				
			||||||
 | 
					                    name: sim_fork_join,
 | 
				
			||||||
 | 
					                    ..
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					            }.outputs[0],
 | 
				
			||||||
 | 
					            Instance {
 | 
				
			||||||
 | 
					                name: <simulator>::sim_fork_join,
 | 
				
			||||||
 | 
					                instantiated: Module {
 | 
				
			||||||
 | 
					                    name: sim_fork_join,
 | 
				
			||||||
 | 
					                    ..
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					            }.outputs[1],
 | 
				
			||||||
 | 
					            Instance {
 | 
				
			||||||
 | 
					                name: <simulator>::sim_fork_join,
 | 
				
			||||||
 | 
					                instantiated: Module {
 | 
				
			||||||
 | 
					                    name: sim_fork_join,
 | 
				
			||||||
 | 
					                    ..
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					            }.outputs[2],
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        did_initial_settle: true,
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    extern_modules: [
 | 
				
			||||||
 | 
					        SimulationExternModuleState {
 | 
				
			||||||
 | 
					            module_state: SimulationModuleState {
 | 
				
			||||||
 | 
					                base_targets: [
 | 
				
			||||||
 | 
					                    ModuleIO {
 | 
				
			||||||
 | 
					                        name: sim_fork_join::clocks,
 | 
				
			||||||
 | 
					                        is_input: true,
 | 
				
			||||||
 | 
					                        ty: Array<Clock, 3>,
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    ModuleIO {
 | 
				
			||||||
 | 
					                        name: sim_fork_join::outputs,
 | 
				
			||||||
 | 
					                        is_input: false,
 | 
				
			||||||
 | 
					                        ty: Array<UInt<8>, 3>,
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                ],
 | 
				
			||||||
 | 
					                uninitialized_ios: {},
 | 
				
			||||||
 | 
					                io_targets: {
 | 
				
			||||||
 | 
					                    ModuleIO {
 | 
				
			||||||
 | 
					                        name: sim_fork_join::clocks,
 | 
				
			||||||
 | 
					                        is_input: true,
 | 
				
			||||||
 | 
					                        ty: Array<Clock, 3>,
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    ModuleIO {
 | 
				
			||||||
 | 
					                        name: sim_fork_join::clocks,
 | 
				
			||||||
 | 
					                        is_input: true,
 | 
				
			||||||
 | 
					                        ty: Array<Clock, 3>,
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    }[0],
 | 
				
			||||||
 | 
					                    ModuleIO {
 | 
				
			||||||
 | 
					                        name: sim_fork_join::clocks,
 | 
				
			||||||
 | 
					                        is_input: true,
 | 
				
			||||||
 | 
					                        ty: Array<Clock, 3>,
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    }[1],
 | 
				
			||||||
 | 
					                    ModuleIO {
 | 
				
			||||||
 | 
					                        name: sim_fork_join::clocks,
 | 
				
			||||||
 | 
					                        is_input: true,
 | 
				
			||||||
 | 
					                        ty: Array<Clock, 3>,
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    }[2],
 | 
				
			||||||
 | 
					                    ModuleIO {
 | 
				
			||||||
 | 
					                        name: sim_fork_join::outputs,
 | 
				
			||||||
 | 
					                        is_input: false,
 | 
				
			||||||
 | 
					                        ty: Array<UInt<8>, 3>,
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    ModuleIO {
 | 
				
			||||||
 | 
					                        name: sim_fork_join::outputs,
 | 
				
			||||||
 | 
					                        is_input: false,
 | 
				
			||||||
 | 
					                        ty: Array<UInt<8>, 3>,
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    }[0],
 | 
				
			||||||
 | 
					                    ModuleIO {
 | 
				
			||||||
 | 
					                        name: sim_fork_join::outputs,
 | 
				
			||||||
 | 
					                        is_input: false,
 | 
				
			||||||
 | 
					                        ty: Array<UInt<8>, 3>,
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    }[1],
 | 
				
			||||||
 | 
					                    ModuleIO {
 | 
				
			||||||
 | 
					                        name: sim_fork_join::outputs,
 | 
				
			||||||
 | 
					                        is_input: false,
 | 
				
			||||||
 | 
					                        ty: Array<UInt<8>, 3>,
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    }[2],
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                did_initial_settle: true,
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            sim: ExternModuleSimulation {
 | 
				
			||||||
 | 
					                generator: SimGeneratorFn {
 | 
				
			||||||
 | 
					                    args: (
 | 
				
			||||||
 | 
					                        ModuleIO {
 | 
				
			||||||
 | 
					                            name: sim_fork_join::clocks,
 | 
				
			||||||
 | 
					                            is_input: true,
 | 
				
			||||||
 | 
					                            ty: Array<Clock, 3>,
 | 
				
			||||||
 | 
					                            ..
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					                        ModuleIO {
 | 
				
			||||||
 | 
					                            name: sim_fork_join::outputs,
 | 
				
			||||||
 | 
					                            is_input: false,
 | 
				
			||||||
 | 
					                            ty: Array<UInt<8>, 3>,
 | 
				
			||||||
 | 
					                            ..
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					                    ),
 | 
				
			||||||
 | 
					                    f: ...,
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                sim_io_to_generator_map: {
 | 
				
			||||||
 | 
					                    ModuleIO {
 | 
				
			||||||
 | 
					                        name: sim_fork_join::clocks,
 | 
				
			||||||
 | 
					                        is_input: true,
 | 
				
			||||||
 | 
					                        ty: Array<Clock, 3>,
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    }: ModuleIO {
 | 
				
			||||||
 | 
					                        name: sim_fork_join::clocks,
 | 
				
			||||||
 | 
					                        is_input: true,
 | 
				
			||||||
 | 
					                        ty: Array<Clock, 3>,
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    ModuleIO {
 | 
				
			||||||
 | 
					                        name: sim_fork_join::outputs,
 | 
				
			||||||
 | 
					                        is_input: false,
 | 
				
			||||||
 | 
					                        ty: Array<UInt<8>, 3>,
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    }: ModuleIO {
 | 
				
			||||||
 | 
					                        name: sim_fork_join::outputs,
 | 
				
			||||||
 | 
					                        is_input: false,
 | 
				
			||||||
 | 
					                        ty: Array<UInt<8>, 3>,
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                source_location: SourceLocation(
 | 
				
			||||||
 | 
					                    module-XXXXXXXXXX.rs:4:1,
 | 
				
			||||||
 | 
					                ),
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            running_generator: Some(
 | 
				
			||||||
 | 
					                ...,
 | 
				
			||||||
 | 
					            ),
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					    ],
 | 
				
			||||||
 | 
					    trace_decls: TraceModule {
 | 
				
			||||||
 | 
					        name: "sim_fork_join",
 | 
				
			||||||
 | 
					        children: [
 | 
				
			||||||
 | 
					            TraceModuleIO {
 | 
				
			||||||
 | 
					                name: "clocks",
 | 
				
			||||||
 | 
					                child: TraceArray {
 | 
				
			||||||
 | 
					                    name: "clocks",
 | 
				
			||||||
 | 
					                    elements: [
 | 
				
			||||||
 | 
					                        TraceClock {
 | 
				
			||||||
 | 
					                            location: TraceScalarId(0),
 | 
				
			||||||
 | 
					                            name: "[0]",
 | 
				
			||||||
 | 
					                            flow: Source,
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					                        TraceClock {
 | 
				
			||||||
 | 
					                            location: TraceScalarId(1),
 | 
				
			||||||
 | 
					                            name: "[1]",
 | 
				
			||||||
 | 
					                            flow: Source,
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					                        TraceClock {
 | 
				
			||||||
 | 
					                            location: TraceScalarId(2),
 | 
				
			||||||
 | 
					                            name: "[2]",
 | 
				
			||||||
 | 
					                            flow: Source,
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					                    ],
 | 
				
			||||||
 | 
					                    ty: Array<Clock, 3>,
 | 
				
			||||||
 | 
					                    flow: Source,
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                ty: Array<Clock, 3>,
 | 
				
			||||||
 | 
					                flow: Source,
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            TraceModuleIO {
 | 
				
			||||||
 | 
					                name: "outputs",
 | 
				
			||||||
 | 
					                child: TraceArray {
 | 
				
			||||||
 | 
					                    name: "outputs",
 | 
				
			||||||
 | 
					                    elements: [
 | 
				
			||||||
 | 
					                        TraceUInt {
 | 
				
			||||||
 | 
					                            location: TraceScalarId(3),
 | 
				
			||||||
 | 
					                            name: "[0]",
 | 
				
			||||||
 | 
					                            ty: UInt<8>,
 | 
				
			||||||
 | 
					                            flow: Sink,
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					                        TraceUInt {
 | 
				
			||||||
 | 
					                            location: TraceScalarId(4),
 | 
				
			||||||
 | 
					                            name: "[1]",
 | 
				
			||||||
 | 
					                            ty: UInt<8>,
 | 
				
			||||||
 | 
					                            flow: Sink,
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					                        TraceUInt {
 | 
				
			||||||
 | 
					                            location: TraceScalarId(5),
 | 
				
			||||||
 | 
					                            name: "[2]",
 | 
				
			||||||
 | 
					                            ty: UInt<8>,
 | 
				
			||||||
 | 
					                            flow: Sink,
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					                    ],
 | 
				
			||||||
 | 
					                    ty: Array<UInt<8>, 3>,
 | 
				
			||||||
 | 
					                    flow: Sink,
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                ty: Array<UInt<8>, 3>,
 | 
				
			||||||
 | 
					                flow: Sink,
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					        ],
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    traces: [
 | 
				
			||||||
 | 
					        SimTrace {
 | 
				
			||||||
 | 
					            id: TraceScalarId(0),
 | 
				
			||||||
 | 
					            kind: BigClock {
 | 
				
			||||||
 | 
					                index: StatePartIndex<BigSlots>(0),
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            state: 0x0,
 | 
				
			||||||
 | 
					            last_state: 0x0,
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        SimTrace {
 | 
				
			||||||
 | 
					            id: TraceScalarId(1),
 | 
				
			||||||
 | 
					            kind: BigClock {
 | 
				
			||||||
 | 
					                index: StatePartIndex<BigSlots>(1),
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            state: 0x0,
 | 
				
			||||||
 | 
					            last_state: 0x0,
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        SimTrace {
 | 
				
			||||||
 | 
					            id: TraceScalarId(2),
 | 
				
			||||||
 | 
					            kind: BigClock {
 | 
				
			||||||
 | 
					                index: StatePartIndex<BigSlots>(2),
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            state: 0x0,
 | 
				
			||||||
 | 
					            last_state: 0x1,
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        SimTrace {
 | 
				
			||||||
 | 
					            id: TraceScalarId(3),
 | 
				
			||||||
 | 
					            kind: BigUInt {
 | 
				
			||||||
 | 
					                index: StatePartIndex<BigSlots>(3),
 | 
				
			||||||
 | 
					                ty: UInt<8>,
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            state: 0x31,
 | 
				
			||||||
 | 
					            last_state: 0x31,
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        SimTrace {
 | 
				
			||||||
 | 
					            id: TraceScalarId(4),
 | 
				
			||||||
 | 
					            kind: BigUInt {
 | 
				
			||||||
 | 
					                index: StatePartIndex<BigSlots>(4),
 | 
				
			||||||
 | 
					                ty: UInt<8>,
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            state: 0x32,
 | 
				
			||||||
 | 
					            last_state: 0x32,
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        SimTrace {
 | 
				
			||||||
 | 
					            id: TraceScalarId(5),
 | 
				
			||||||
 | 
					            kind: BigUInt {
 | 
				
			||||||
 | 
					                index: StatePartIndex<BigSlots>(5),
 | 
				
			||||||
 | 
					                ty: UInt<8>,
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            state: 0x32,
 | 
				
			||||||
 | 
					            last_state: 0x32,
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					    ],
 | 
				
			||||||
 | 
					    trace_memories: {},
 | 
				
			||||||
 | 
					    trace_writers: [
 | 
				
			||||||
 | 
					        Running(
 | 
				
			||||||
 | 
					            VcdWriter {
 | 
				
			||||||
 | 
					                finished_init: true,
 | 
				
			||||||
 | 
					                timescale: 1 ps,
 | 
				
			||||||
 | 
					                ..
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
 | 
					    ],
 | 
				
			||||||
 | 
					    clocks_triggered: [],
 | 
				
			||||||
 | 
					    event_queue: EventQueue(EventQueueData {
 | 
				
			||||||
 | 
					        instant: 648 μs,
 | 
				
			||||||
 | 
					        events: {},
 | 
				
			||||||
 | 
					    }),
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_address: {
 | 
				
			||||||
 | 
					        SensitivitySet {
 | 
				
			||||||
 | 
					            id: 198,
 | 
				
			||||||
 | 
					            values: {
 | 
				
			||||||
 | 
					                CompiledValue {
 | 
				
			||||||
 | 
					                    layout: CompiledTypeLayout {
 | 
				
			||||||
 | 
					                        ty: Clock,
 | 
				
			||||||
 | 
					                        layout: TypeLayout {
 | 
				
			||||||
 | 
					                            small_slots: StatePartLayout<SmallSlots> {
 | 
				
			||||||
 | 
					                                len: 0,
 | 
				
			||||||
 | 
					                                debug_data: [],
 | 
				
			||||||
 | 
					                                ..
 | 
				
			||||||
 | 
					                            },
 | 
				
			||||||
 | 
					                            big_slots: StatePartLayout<BigSlots> {
 | 
				
			||||||
 | 
					                                len: 1,
 | 
				
			||||||
 | 
					                                debug_data: [
 | 
				
			||||||
 | 
					                                    SlotDebugData {
 | 
				
			||||||
 | 
					                                        name: "",
 | 
				
			||||||
 | 
					                                        ty: Clock,
 | 
				
			||||||
 | 
					                                    },
 | 
				
			||||||
 | 
					                                ],
 | 
				
			||||||
 | 
					                                ..
 | 
				
			||||||
 | 
					                            },
 | 
				
			||||||
 | 
					                            sim_only_slots: StatePartLayout<SimOnlySlots> {
 | 
				
			||||||
 | 
					                                len: 0,
 | 
				
			||||||
 | 
					                                debug_data: [],
 | 
				
			||||||
 | 
					                                layout_data: [],
 | 
				
			||||||
 | 
					                                ..
 | 
				
			||||||
 | 
					                            },
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					                        body: Scalar,
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    range: TypeIndexRange {
 | 
				
			||||||
 | 
					                        small_slots: StatePartIndexRange<SmallSlots> { start: 0, len: 0 },
 | 
				
			||||||
 | 
					                        big_slots: StatePartIndexRange<BigSlots> { start: 0, len: 1 },
 | 
				
			||||||
 | 
					                        sim_only_slots: StatePartIndexRange<SimOnlySlots> { start: 0, len: 0 },
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    write: None,
 | 
				
			||||||
 | 
					                }: SimValue {
 | 
				
			||||||
 | 
					                    ty: Clock,
 | 
				
			||||||
 | 
					                    value: OpaqueSimValue {
 | 
				
			||||||
 | 
					                        bits: 0x0_u1,
 | 
				
			||||||
 | 
					                        sim_only_values: [],
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            changed: Cell {
 | 
				
			||||||
 | 
					                value: false,
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            ..
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_compiled_value: {
 | 
				
			||||||
 | 
					        CompiledValue {
 | 
				
			||||||
 | 
					            layout: CompiledTypeLayout {
 | 
				
			||||||
 | 
					                ty: Clock,
 | 
				
			||||||
 | 
					                layout: TypeLayout {
 | 
				
			||||||
 | 
					                    small_slots: StatePartLayout<SmallSlots> {
 | 
				
			||||||
 | 
					                        len: 0,
 | 
				
			||||||
 | 
					                        debug_data: [],
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    big_slots: StatePartLayout<BigSlots> {
 | 
				
			||||||
 | 
					                        len: 1,
 | 
				
			||||||
 | 
					                        debug_data: [
 | 
				
			||||||
 | 
					                            SlotDebugData {
 | 
				
			||||||
 | 
					                                name: "",
 | 
				
			||||||
 | 
					                                ty: Clock,
 | 
				
			||||||
 | 
					                            },
 | 
				
			||||||
 | 
					                        ],
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    sim_only_slots: StatePartLayout<SimOnlySlots> {
 | 
				
			||||||
 | 
					                        len: 0,
 | 
				
			||||||
 | 
					                        debug_data: [],
 | 
				
			||||||
 | 
					                        layout_data: [],
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                body: Scalar,
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            range: TypeIndexRange {
 | 
				
			||||||
 | 
					                small_slots: StatePartIndexRange<SmallSlots> { start: 0, len: 0 },
 | 
				
			||||||
 | 
					                big_slots: StatePartIndexRange<BigSlots> { start: 0, len: 1 },
 | 
				
			||||||
 | 
					                sim_only_slots: StatePartIndexRange<SimOnlySlots> { start: 0, len: 0 },
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            write: None,
 | 
				
			||||||
 | 
					        }: (
 | 
				
			||||||
 | 
					            SimValue {
 | 
				
			||||||
 | 
					                ty: Clock,
 | 
				
			||||||
 | 
					                value: OpaqueSimValue {
 | 
				
			||||||
 | 
					                    bits: 0x0_u1,
 | 
				
			||||||
 | 
					                    sim_only_values: [],
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                SensitivitySet {
 | 
				
			||||||
 | 
					                    id: 198,
 | 
				
			||||||
 | 
					                    ..
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    ..
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										1467
									
								
								crates/fayalite/tests/sim/expected/sim_fork_join.vcd
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1467
									
								
								crates/fayalite/tests/sim/expected/sim_fork_join.vcd
									
										
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							| 
						 | 
					@ -717,52 +717,6 @@ Simulation {
 | 
				
			||||||
            running_generator: Some(
 | 
					            running_generator: Some(
 | 
				
			||||||
                ...,
 | 
					                ...,
 | 
				
			||||||
            ),
 | 
					            ),
 | 
				
			||||||
            wait_targets: {
 | 
					 | 
				
			||||||
                Change {
 | 
					 | 
				
			||||||
                    key: CompiledValue {
 | 
					 | 
				
			||||||
                        layout: CompiledTypeLayout {
 | 
					 | 
				
			||||||
                            ty: Clock,
 | 
					 | 
				
			||||||
                            layout: TypeLayout {
 | 
					 | 
				
			||||||
                                small_slots: StatePartLayout<SmallSlots> {
 | 
					 | 
				
			||||||
                                    len: 0,
 | 
					 | 
				
			||||||
                                    debug_data: [],
 | 
					 | 
				
			||||||
                                    ..
 | 
					 | 
				
			||||||
                                },
 | 
					 | 
				
			||||||
                                big_slots: StatePartLayout<BigSlots> {
 | 
					 | 
				
			||||||
                                    len: 1,
 | 
					 | 
				
			||||||
                                    debug_data: [
 | 
					 | 
				
			||||||
                                        SlotDebugData {
 | 
					 | 
				
			||||||
                                            name: "",
 | 
					 | 
				
			||||||
                                            ty: Clock,
 | 
					 | 
				
			||||||
                                        },
 | 
					 | 
				
			||||||
                                    ],
 | 
					 | 
				
			||||||
                                    ..
 | 
					 | 
				
			||||||
                                },
 | 
					 | 
				
			||||||
                                sim_only_slots: StatePartLayout<SimOnlySlots> {
 | 
					 | 
				
			||||||
                                    len: 0,
 | 
					 | 
				
			||||||
                                    debug_data: [],
 | 
					 | 
				
			||||||
                                    layout_data: [],
 | 
					 | 
				
			||||||
                                    ..
 | 
					 | 
				
			||||||
                                },
 | 
					 | 
				
			||||||
                            },
 | 
					 | 
				
			||||||
                            body: Scalar,
 | 
					 | 
				
			||||||
                        },
 | 
					 | 
				
			||||||
                        range: TypeIndexRange {
 | 
					 | 
				
			||||||
                            small_slots: StatePartIndexRange<SmallSlots> { start: 0, len: 0 },
 | 
					 | 
				
			||||||
                            big_slots: StatePartIndexRange<BigSlots> { start: 4, len: 1 },
 | 
					 | 
				
			||||||
                            sim_only_slots: StatePartIndexRange<SimOnlySlots> { start: 6, len: 0 },
 | 
					 | 
				
			||||||
                        },
 | 
					 | 
				
			||||||
                        write: None,
 | 
					 | 
				
			||||||
                    },
 | 
					 | 
				
			||||||
                    value: SimValue {
 | 
					 | 
				
			||||||
                        ty: Clock,
 | 
					 | 
				
			||||||
                        value: OpaqueSimValue {
 | 
					 | 
				
			||||||
                            bits: 0x1_u1,
 | 
					 | 
				
			||||||
                            sim_only_values: [],
 | 
					 | 
				
			||||||
                        },
 | 
					 | 
				
			||||||
                    },
 | 
					 | 
				
			||||||
                },
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        SimulationExternModuleState {
 | 
					        SimulationExternModuleState {
 | 
				
			||||||
            module_state: SimulationModuleState {
 | 
					            module_state: SimulationModuleState {
 | 
				
			||||||
| 
						 | 
					@ -922,55 +876,8 @@ Simulation {
 | 
				
			||||||
            running_generator: Some(
 | 
					            running_generator: Some(
 | 
				
			||||||
                ...,
 | 
					                ...,
 | 
				
			||||||
            ),
 | 
					            ),
 | 
				
			||||||
            wait_targets: {
 | 
					 | 
				
			||||||
                Change {
 | 
					 | 
				
			||||||
                    key: CompiledValue {
 | 
					 | 
				
			||||||
                        layout: CompiledTypeLayout {
 | 
					 | 
				
			||||||
                            ty: Clock,
 | 
					 | 
				
			||||||
                            layout: TypeLayout {
 | 
					 | 
				
			||||||
                                small_slots: StatePartLayout<SmallSlots> {
 | 
					 | 
				
			||||||
                                    len: 0,
 | 
					 | 
				
			||||||
                                    debug_data: [],
 | 
					 | 
				
			||||||
                                    ..
 | 
					 | 
				
			||||||
                                },
 | 
					 | 
				
			||||||
                                big_slots: StatePartLayout<BigSlots> {
 | 
					 | 
				
			||||||
                                    len: 1,
 | 
					 | 
				
			||||||
                                    debug_data: [
 | 
					 | 
				
			||||||
                                        SlotDebugData {
 | 
					 | 
				
			||||||
                                            name: "",
 | 
					 | 
				
			||||||
                                            ty: Clock,
 | 
					 | 
				
			||||||
                                        },
 | 
					 | 
				
			||||||
                                    ],
 | 
					 | 
				
			||||||
                                    ..
 | 
					 | 
				
			||||||
                                },
 | 
					 | 
				
			||||||
                                sim_only_slots: StatePartLayout<SimOnlySlots> {
 | 
					 | 
				
			||||||
                                    len: 0,
 | 
					 | 
				
			||||||
                                    debug_data: [],
 | 
					 | 
				
			||||||
                                    layout_data: [],
 | 
					 | 
				
			||||||
                                    ..
 | 
					 | 
				
			||||||
                                },
 | 
					 | 
				
			||||||
                            },
 | 
					 | 
				
			||||||
                            body: Scalar,
 | 
					 | 
				
			||||||
                        },
 | 
					 | 
				
			||||||
                        range: TypeIndexRange {
 | 
					 | 
				
			||||||
                            small_slots: StatePartIndexRange<SmallSlots> { start: 4, len: 0 },
 | 
					 | 
				
			||||||
                            big_slots: StatePartIndexRange<BigSlots> { start: 12, len: 1 },
 | 
					 | 
				
			||||||
                            sim_only_slots: StatePartIndexRange<SimOnlySlots> { start: 13, len: 0 },
 | 
					 | 
				
			||||||
                        },
 | 
					 | 
				
			||||||
                        write: None,
 | 
					 | 
				
			||||||
                    },
 | 
					 | 
				
			||||||
                    value: SimValue {
 | 
					 | 
				
			||||||
                        ty: Clock,
 | 
					 | 
				
			||||||
                        value: OpaqueSimValue {
 | 
					 | 
				
			||||||
                            bits: 0x1_u1,
 | 
					 | 
				
			||||||
                            sim_only_values: [],
 | 
					 | 
				
			||||||
                        },
 | 
					 | 
				
			||||||
                    },
 | 
					 | 
				
			||||||
                },
 | 
					 | 
				
			||||||
            },
 | 
					 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    state_ready_to_run: false,
 | 
					 | 
				
			||||||
    trace_decls: TraceModule {
 | 
					    trace_decls: TraceModule {
 | 
				
			||||||
        name: "sim_only_connects",
 | 
					        name: "sim_only_connects",
 | 
				
			||||||
        children: [
 | 
					        children: [
 | 
				
			||||||
| 
						 | 
					@ -1628,9 +1535,214 @@ Simulation {
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
        ),
 | 
					        ),
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
    instant: 16 μs,
 | 
					 | 
				
			||||||
    clocks_triggered: [
 | 
					    clocks_triggered: [
 | 
				
			||||||
        StatePartIndex<SmallSlots>(1),
 | 
					        StatePartIndex<SmallSlots>(1),
 | 
				
			||||||
    ],
 | 
					    ],
 | 
				
			||||||
 | 
					    event_queue: EventQueue(EventQueueData {
 | 
				
			||||||
 | 
					        instant: 16 μs,
 | 
				
			||||||
 | 
					        events: {},
 | 
				
			||||||
 | 
					    }),
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_address: {
 | 
				
			||||||
 | 
					        SensitivitySet {
 | 
				
			||||||
 | 
					            id: 30,
 | 
				
			||||||
 | 
					            values: {
 | 
				
			||||||
 | 
					                CompiledValue {
 | 
				
			||||||
 | 
					                    layout: CompiledTypeLayout {
 | 
				
			||||||
 | 
					                        ty: Clock,
 | 
				
			||||||
 | 
					                        layout: TypeLayout {
 | 
				
			||||||
 | 
					                            small_slots: StatePartLayout<SmallSlots> {
 | 
				
			||||||
 | 
					                                len: 0,
 | 
				
			||||||
 | 
					                                debug_data: [],
 | 
				
			||||||
 | 
					                                ..
 | 
				
			||||||
 | 
					                            },
 | 
				
			||||||
 | 
					                            big_slots: StatePartLayout<BigSlots> {
 | 
				
			||||||
 | 
					                                len: 1,
 | 
				
			||||||
 | 
					                                debug_data: [
 | 
				
			||||||
 | 
					                                    SlotDebugData {
 | 
				
			||||||
 | 
					                                        name: "",
 | 
				
			||||||
 | 
					                                        ty: Clock,
 | 
				
			||||||
 | 
					                                    },
 | 
				
			||||||
 | 
					                                ],
 | 
				
			||||||
 | 
					                                ..
 | 
				
			||||||
 | 
					                            },
 | 
				
			||||||
 | 
					                            sim_only_slots: StatePartLayout<SimOnlySlots> {
 | 
				
			||||||
 | 
					                                len: 0,
 | 
				
			||||||
 | 
					                                debug_data: [],
 | 
				
			||||||
 | 
					                                layout_data: [],
 | 
				
			||||||
 | 
					                                ..
 | 
				
			||||||
 | 
					                            },
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					                        body: Scalar,
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    range: TypeIndexRange {
 | 
				
			||||||
 | 
					                        small_slots: StatePartIndexRange<SmallSlots> { start: 0, len: 0 },
 | 
				
			||||||
 | 
					                        big_slots: StatePartIndexRange<BigSlots> { start: 4, len: 1 },
 | 
				
			||||||
 | 
					                        sim_only_slots: StatePartIndexRange<SimOnlySlots> { start: 6, len: 0 },
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    write: None,
 | 
				
			||||||
 | 
					                }: SimValue {
 | 
				
			||||||
 | 
					                    ty: Clock,
 | 
				
			||||||
 | 
					                    value: OpaqueSimValue {
 | 
				
			||||||
 | 
					                        bits: 0x1_u1,
 | 
				
			||||||
 | 
					                        sim_only_values: [],
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            changed: Cell {
 | 
				
			||||||
 | 
					                value: false,
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            ..
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        SensitivitySet {
 | 
				
			||||||
 | 
					            id: 31,
 | 
				
			||||||
 | 
					            values: {
 | 
				
			||||||
 | 
					                CompiledValue {
 | 
				
			||||||
 | 
					                    layout: CompiledTypeLayout {
 | 
				
			||||||
 | 
					                        ty: Clock,
 | 
				
			||||||
 | 
					                        layout: TypeLayout {
 | 
				
			||||||
 | 
					                            small_slots: StatePartLayout<SmallSlots> {
 | 
				
			||||||
 | 
					                                len: 0,
 | 
				
			||||||
 | 
					                                debug_data: [],
 | 
				
			||||||
 | 
					                                ..
 | 
				
			||||||
 | 
					                            },
 | 
				
			||||||
 | 
					                            big_slots: StatePartLayout<BigSlots> {
 | 
				
			||||||
 | 
					                                len: 1,
 | 
				
			||||||
 | 
					                                debug_data: [
 | 
				
			||||||
 | 
					                                    SlotDebugData {
 | 
				
			||||||
 | 
					                                        name: "",
 | 
				
			||||||
 | 
					                                        ty: Clock,
 | 
				
			||||||
 | 
					                                    },
 | 
				
			||||||
 | 
					                                ],
 | 
				
			||||||
 | 
					                                ..
 | 
				
			||||||
 | 
					                            },
 | 
				
			||||||
 | 
					                            sim_only_slots: StatePartLayout<SimOnlySlots> {
 | 
				
			||||||
 | 
					                                len: 0,
 | 
				
			||||||
 | 
					                                debug_data: [],
 | 
				
			||||||
 | 
					                                layout_data: [],
 | 
				
			||||||
 | 
					                                ..
 | 
				
			||||||
 | 
					                            },
 | 
				
			||||||
 | 
					                        },
 | 
				
			||||||
 | 
					                        body: Scalar,
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    range: TypeIndexRange {
 | 
				
			||||||
 | 
					                        small_slots: StatePartIndexRange<SmallSlots> { start: 4, len: 0 },
 | 
				
			||||||
 | 
					                        big_slots: StatePartIndexRange<BigSlots> { start: 12, len: 1 },
 | 
				
			||||||
 | 
					                        sim_only_slots: StatePartIndexRange<SimOnlySlots> { start: 13, len: 0 },
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    write: None,
 | 
				
			||||||
 | 
					                }: SimValue {
 | 
				
			||||||
 | 
					                    ty: Clock,
 | 
				
			||||||
 | 
					                    value: OpaqueSimValue {
 | 
				
			||||||
 | 
					                        bits: 0x1_u1,
 | 
				
			||||||
 | 
					                        sim_only_values: [],
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            changed: Cell {
 | 
				
			||||||
 | 
					                value: false,
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            ..
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    waiting_sensitivity_sets_by_compiled_value: {
 | 
				
			||||||
 | 
					        CompiledValue {
 | 
				
			||||||
 | 
					            layout: CompiledTypeLayout {
 | 
				
			||||||
 | 
					                ty: Clock,
 | 
				
			||||||
 | 
					                layout: TypeLayout {
 | 
				
			||||||
 | 
					                    small_slots: StatePartLayout<SmallSlots> {
 | 
				
			||||||
 | 
					                        len: 0,
 | 
				
			||||||
 | 
					                        debug_data: [],
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    big_slots: StatePartLayout<BigSlots> {
 | 
				
			||||||
 | 
					                        len: 1,
 | 
				
			||||||
 | 
					                        debug_data: [
 | 
				
			||||||
 | 
					                            SlotDebugData {
 | 
				
			||||||
 | 
					                                name: "",
 | 
				
			||||||
 | 
					                                ty: Clock,
 | 
				
			||||||
 | 
					                            },
 | 
				
			||||||
 | 
					                        ],
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    sim_only_slots: StatePartLayout<SimOnlySlots> {
 | 
				
			||||||
 | 
					                        len: 0,
 | 
				
			||||||
 | 
					                        debug_data: [],
 | 
				
			||||||
 | 
					                        layout_data: [],
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                body: Scalar,
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            range: TypeIndexRange {
 | 
				
			||||||
 | 
					                small_slots: StatePartIndexRange<SmallSlots> { start: 0, len: 0 },
 | 
				
			||||||
 | 
					                big_slots: StatePartIndexRange<BigSlots> { start: 4, len: 1 },
 | 
				
			||||||
 | 
					                sim_only_slots: StatePartIndexRange<SimOnlySlots> { start: 6, len: 0 },
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            write: None,
 | 
				
			||||||
 | 
					        }: (
 | 
				
			||||||
 | 
					            SimValue {
 | 
				
			||||||
 | 
					                ty: Clock,
 | 
				
			||||||
 | 
					                value: OpaqueSimValue {
 | 
				
			||||||
 | 
					                    bits: 0x1_u1,
 | 
				
			||||||
 | 
					                    sim_only_values: [],
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                SensitivitySet {
 | 
				
			||||||
 | 
					                    id: 30,
 | 
				
			||||||
 | 
					                    ..
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
 | 
					        CompiledValue {
 | 
				
			||||||
 | 
					            layout: CompiledTypeLayout {
 | 
				
			||||||
 | 
					                ty: Clock,
 | 
				
			||||||
 | 
					                layout: TypeLayout {
 | 
				
			||||||
 | 
					                    small_slots: StatePartLayout<SmallSlots> {
 | 
				
			||||||
 | 
					                        len: 0,
 | 
				
			||||||
 | 
					                        debug_data: [],
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    big_slots: StatePartLayout<BigSlots> {
 | 
				
			||||||
 | 
					                        len: 1,
 | 
				
			||||||
 | 
					                        debug_data: [
 | 
				
			||||||
 | 
					                            SlotDebugData {
 | 
				
			||||||
 | 
					                                name: "",
 | 
				
			||||||
 | 
					                                ty: Clock,
 | 
				
			||||||
 | 
					                            },
 | 
				
			||||||
 | 
					                        ],
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                    sim_only_slots: StatePartLayout<SimOnlySlots> {
 | 
				
			||||||
 | 
					                        len: 0,
 | 
				
			||||||
 | 
					                        debug_data: [],
 | 
				
			||||||
 | 
					                        layout_data: [],
 | 
				
			||||||
 | 
					                        ..
 | 
				
			||||||
 | 
					                    },
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					                body: Scalar,
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            range: TypeIndexRange {
 | 
				
			||||||
 | 
					                small_slots: StatePartIndexRange<SmallSlots> { start: 4, len: 0 },
 | 
				
			||||||
 | 
					                big_slots: StatePartIndexRange<BigSlots> { start: 12, len: 1 },
 | 
				
			||||||
 | 
					                sim_only_slots: StatePartIndexRange<SimOnlySlots> { start: 13, len: 0 },
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            write: None,
 | 
				
			||||||
 | 
					        }: (
 | 
				
			||||||
 | 
					            SimValue {
 | 
				
			||||||
 | 
					                ty: Clock,
 | 
				
			||||||
 | 
					                value: OpaqueSimValue {
 | 
				
			||||||
 | 
					                    bits: 0x1_u1,
 | 
				
			||||||
 | 
					                    sim_only_values: [],
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                SensitivitySet {
 | 
				
			||||||
 | 
					                    id: 31,
 | 
				
			||||||
 | 
					                    ..
 | 
				
			||||||
 | 
					                },
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
    ..
 | 
					    ..
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -72,22 +72,22 @@ s{} 8
 | 
				
			||||||
$end
 | 
					$end
 | 
				
			||||||
#1000000
 | 
					#1000000
 | 
				
			||||||
1!
 | 
					1!
 | 
				
			||||||
 | 
					s{\"extra\":\x20\"value\"} $
 | 
				
			||||||
1'
 | 
					1'
 | 
				
			||||||
 | 
					s{\"extra\":\x20\"value\"} )
 | 
				
			||||||
1+
 | 
					1+
 | 
				
			||||||
 | 
					s{\"extra\":\x20\"value\"} -
 | 
				
			||||||
10
 | 
					10
 | 
				
			||||||
11
 | 
					11
 | 
				
			||||||
15
 | 
					15
 | 
				
			||||||
s{\"extra\":\x20\"value\"} $
 | 
					 | 
				
			||||||
s{\"extra\":\x20\"value\"} )
 | 
					 | 
				
			||||||
s{\"extra\":\x20\"value\"} -
 | 
					 | 
				
			||||||
s{\"bar\":\x20\"\",\x20\"extra\":\x20\"value\",\x20\"foo\":\x20\"baz\"} *
 | 
					 | 
				
			||||||
s{\"bar\":\x20\"\",\x20\"foo\":\x20\"baz\"} 4
 | 
					 | 
				
			||||||
s{\"bar\":\x20\"\",\x20\"extra\":\x20\"value\",\x20\"foo\":\x20\"baz\"} %
 | 
					s{\"bar\":\x20\"\",\x20\"extra\":\x20\"value\",\x20\"foo\":\x20\"baz\"} %
 | 
				
			||||||
s{\"bar\":\x20\"\",\x20\"foo\":\x20\"baz\"} &
 | 
					s{\"bar\":\x20\"\",\x20\"extra\":\x20\"value\",\x20\"foo\":\x20\"baz\"} *
 | 
				
			||||||
s{\"bar\":\x20\"\",\x20\"extra\":\x20\"value\",\x20\"foo\":\x20\"baz\"} .
 | 
					s{\"bar\":\x20\"\",\x20\"extra\":\x20\"value\",\x20\"foo\":\x20\"baz\"} .
 | 
				
			||||||
s{\"bar\":\x20\"\",\x20\"extra\":\x20\"value\",\x20\"foo\":\x20\"baz\"} 3
 | 
					s{\"bar\":\x20\"\",\x20\"extra\":\x20\"value\",\x20\"foo\":\x20\"baz\"} 3
 | 
				
			||||||
s{\"bar\":\x20\"\",\x20\"extra\":\x20\"value\",\x20\"foo\":\x20\"baz\"} 7
 | 
					s{\"bar\":\x20\"\",\x20\"extra\":\x20\"value\",\x20\"foo\":\x20\"baz\"} 7
 | 
				
			||||||
s{\"bar\":\x20\"\",\x20\"foo\":\x20\"baz\"} 8
 | 
					s{\"bar\":\x20\"baz\",\x20\"extra\":\x20\"value\",\x20\"foo\":\x20\"baz\"} &
 | 
				
			||||||
 | 
					s{\"bar\":\x20\"baz\",\x20\"extra\":\x20\"value\",\x20\"foo\":\x20\"baz\"} 4
 | 
				
			||||||
 | 
					s{\"bar\":\x20\"baz\",\x20\"extra\":\x20\"value\",\x20\"foo\":\x20\"baz\"} 8
 | 
				
			||||||
#2000000
 | 
					#2000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
0"
 | 
					0"
 | 
				
			||||||
| 
						 | 
					@ -107,9 +107,6 @@ s{\"extra\":\x20\"value\"} /
 | 
				
			||||||
00
 | 
					00
 | 
				
			||||||
11
 | 
					11
 | 
				
			||||||
15
 | 
					15
 | 
				
			||||||
s{\"bar\":\x20\"baz\",\x20\"extra\":\x20\"value\",\x20\"foo\":\x20\"baz\"} 4
 | 
					 | 
				
			||||||
s{\"bar\":\x20\"baz\",\x20\"extra\":\x20\"value\",\x20\"foo\":\x20\"baz\"} &
 | 
					 | 
				
			||||||
s{\"bar\":\x20\"baz\",\x20\"extra\":\x20\"value\",\x20\"foo\":\x20\"baz\"} 8
 | 
					 | 
				
			||||||
#4000000
 | 
					#4000000
 | 
				
			||||||
0!
 | 
					0!
 | 
				
			||||||
0'
 | 
					0'
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue