fayalite/crates/fayalite/tests/sim/expected/array_rw.txt
Jacob Lifshay d1bd176b28
All checks were successful
/ deps (pull_request) Successful in 11m39s
/ test (pull_request) Successful in 3m55s
implement simulation of extern modules
2025-03-21 01:47:14 -07:00

1696 lines
66 KiB
Plaintext

Simulation {
state: State {
insns: Insns {
state_layout: StateLayout {
ty: TypeLayout {
small_slots: StatePartLayout<SmallSlots> {
len: 2,
debug_data: [
SlotDebugData {
name: "",
ty: UInt<8>,
},
SlotDebugData {
name: "",
ty: UInt<8>,
},
],
..
},
big_slots: StatePartLayout<BigSlots> {
len: 54,
debug_data: [
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_in[0]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_in[1]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_in[2]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_in[3]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_in[4]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_in[5]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_in[6]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_in[7]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_in[8]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_in[9]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_in[10]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_in[11]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_in[12]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_in[13]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_in[14]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_in[15]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_out[0]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_out[1]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_out[2]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_out[3]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_out[4]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_out[5]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_out[6]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_out[7]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_out[8]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_out[9]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_out[10]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_out[11]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_out[12]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_out[13]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_out[14]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_out[15]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::read_index",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::read_data",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::write_index",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::write_data",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::write_en",
ty: Bool,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[0]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[1]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[2]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[3]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[4]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[5]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[6]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[7]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[8]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[9]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[10]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[11]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[12]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[13]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[14]",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[15]",
ty: UInt<8>,
},
SlotDebugData {
name: "",
ty: UInt<8>,
},
],
..
},
},
memories: StatePartLayout<Memories> {
len: 0,
debug_data: [],
layout_data: [],
..
},
},
insns: [
// at: module-XXXXXXXXXX.rs:1:1
0: CastBigToArrayIndex {
dest: StatePartIndex<SmallSlots>(1), // (0x0 0) SlotDebugData { name: "", ty: UInt<8> },
src: StatePartIndex<BigSlots>(32), // (0x0) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::read_index", ty: UInt<8> },
},
1: CastBigToArrayIndex {
dest: StatePartIndex<SmallSlots>(0), // (0x10 16) SlotDebugData { name: "", ty: UInt<8> },
src: StatePartIndex<BigSlots>(34), // (0x10) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::write_index", ty: UInt<8> },
},
// at: module-XXXXXXXXXX.rs:10:1
2: Copy {
dest: StatePartIndex<BigSlots>(37), // (0xff) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[0]", ty: UInt<8> },
src: StatePartIndex<BigSlots>(0), // (0xff) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_in[0]", ty: UInt<8> },
},
3: Copy {
dest: StatePartIndex<BigSlots>(38), // (0x7f) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[1]", ty: UInt<8> },
src: StatePartIndex<BigSlots>(1), // (0x7f) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_in[1]", ty: UInt<8> },
},
4: Copy {
dest: StatePartIndex<BigSlots>(39), // (0x3f) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[2]", ty: UInt<8> },
src: StatePartIndex<BigSlots>(2), // (0x3f) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_in[2]", ty: UInt<8> },
},
5: Copy {
dest: StatePartIndex<BigSlots>(40), // (0x1f) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[3]", ty: UInt<8> },
src: StatePartIndex<BigSlots>(3), // (0x1f) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_in[3]", ty: UInt<8> },
},
6: Copy {
dest: StatePartIndex<BigSlots>(41), // (0xf) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[4]", ty: UInt<8> },
src: StatePartIndex<BigSlots>(4), // (0xf) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_in[4]", ty: UInt<8> },
},
7: Copy {
dest: StatePartIndex<BigSlots>(42), // (0x7) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[5]", ty: UInt<8> },
src: StatePartIndex<BigSlots>(5), // (0x7) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_in[5]", ty: UInt<8> },
},
8: Copy {
dest: StatePartIndex<BigSlots>(43), // (0x3) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[6]", ty: UInt<8> },
src: StatePartIndex<BigSlots>(6), // (0x3) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_in[6]", ty: UInt<8> },
},
9: Copy {
dest: StatePartIndex<BigSlots>(44), // (0x1) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[7]", ty: UInt<8> },
src: StatePartIndex<BigSlots>(7), // (0x1) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_in[7]", ty: UInt<8> },
},
10: Copy {
dest: StatePartIndex<BigSlots>(45), // (0x0) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[8]", ty: UInt<8> },
src: StatePartIndex<BigSlots>(8), // (0x0) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_in[8]", ty: UInt<8> },
},
11: Copy {
dest: StatePartIndex<BigSlots>(46), // (0x80) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[9]", ty: UInt<8> },
src: StatePartIndex<BigSlots>(9), // (0x80) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_in[9]", ty: UInt<8> },
},
12: Copy {
dest: StatePartIndex<BigSlots>(47), // (0xc0) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[10]", ty: UInt<8> },
src: StatePartIndex<BigSlots>(10), // (0xc0) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_in[10]", ty: UInt<8> },
},
13: Copy {
dest: StatePartIndex<BigSlots>(48), // (0xe0) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[11]", ty: UInt<8> },
src: StatePartIndex<BigSlots>(11), // (0xe0) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_in[11]", ty: UInt<8> },
},
14: Copy {
dest: StatePartIndex<BigSlots>(49), // (0xf0) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[12]", ty: UInt<8> },
src: StatePartIndex<BigSlots>(12), // (0xf0) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_in[12]", ty: UInt<8> },
},
15: Copy {
dest: StatePartIndex<BigSlots>(50), // (0xf8) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[13]", ty: UInt<8> },
src: StatePartIndex<BigSlots>(13), // (0xf8) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_in[13]", ty: UInt<8> },
},
16: Copy {
dest: StatePartIndex<BigSlots>(51), // (0xfc) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[14]", ty: UInt<8> },
src: StatePartIndex<BigSlots>(14), // (0xfc) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_in[14]", ty: UInt<8> },
},
17: Copy {
dest: StatePartIndex<BigSlots>(52), // (0xfe) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[15]", ty: UInt<8> },
src: StatePartIndex<BigSlots>(15), // (0xfe) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_in[15]", ty: UInt<8> },
},
// at: module-XXXXXXXXXX.rs:12:1
18: BranchIfZero {
target: 20,
value: StatePartIndex<BigSlots>(36), // (0x1) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::write_en", ty: Bool },
},
// at: module-XXXXXXXXXX.rs:13:1
19: WriteIndexed {
dest: StatePartIndex<BigSlots>(37) /* (0xff) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[0]", ty: UInt<8> } */ [StatePartIndex<SmallSlots>(0) /* (0x10 16) SlotDebugData { name: "", ty: UInt<8> } */ , len=16, stride=1],,
src: StatePartIndex<BigSlots>(35), // (0x0) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::write_data", ty: UInt<8> },
},
// at: module-XXXXXXXXXX.rs:11:1
20: Copy {
dest: StatePartIndex<BigSlots>(16), // (0xff) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_out[0]", ty: UInt<8> },
src: StatePartIndex<BigSlots>(37), // (0xff) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[0]", ty: UInt<8> },
},
21: Copy {
dest: StatePartIndex<BigSlots>(17), // (0x7f) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_out[1]", ty: UInt<8> },
src: StatePartIndex<BigSlots>(38), // (0x7f) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[1]", ty: UInt<8> },
},
22: Copy {
dest: StatePartIndex<BigSlots>(18), // (0x3f) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_out[2]", ty: UInt<8> },
src: StatePartIndex<BigSlots>(39), // (0x3f) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[2]", ty: UInt<8> },
},
23: Copy {
dest: StatePartIndex<BigSlots>(19), // (0x1f) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_out[3]", ty: UInt<8> },
src: StatePartIndex<BigSlots>(40), // (0x1f) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[3]", ty: UInt<8> },
},
24: Copy {
dest: StatePartIndex<BigSlots>(20), // (0xf) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_out[4]", ty: UInt<8> },
src: StatePartIndex<BigSlots>(41), // (0xf) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[4]", ty: UInt<8> },
},
25: Copy {
dest: StatePartIndex<BigSlots>(21), // (0x7) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_out[5]", ty: UInt<8> },
src: StatePartIndex<BigSlots>(42), // (0x7) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[5]", ty: UInt<8> },
},
26: Copy {
dest: StatePartIndex<BigSlots>(22), // (0x3) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_out[6]", ty: UInt<8> },
src: StatePartIndex<BigSlots>(43), // (0x3) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[6]", ty: UInt<8> },
},
27: Copy {
dest: StatePartIndex<BigSlots>(23), // (0x1) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_out[7]", ty: UInt<8> },
src: StatePartIndex<BigSlots>(44), // (0x1) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[7]", ty: UInt<8> },
},
28: Copy {
dest: StatePartIndex<BigSlots>(24), // (0x0) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_out[8]", ty: UInt<8> },
src: StatePartIndex<BigSlots>(45), // (0x0) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[8]", ty: UInt<8> },
},
29: Copy {
dest: StatePartIndex<BigSlots>(25), // (0x80) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_out[9]", ty: UInt<8> },
src: StatePartIndex<BigSlots>(46), // (0x80) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[9]", ty: UInt<8> },
},
30: Copy {
dest: StatePartIndex<BigSlots>(26), // (0xc0) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_out[10]", ty: UInt<8> },
src: StatePartIndex<BigSlots>(47), // (0xc0) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[10]", ty: UInt<8> },
},
31: Copy {
dest: StatePartIndex<BigSlots>(27), // (0xe0) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_out[11]", ty: UInt<8> },
src: StatePartIndex<BigSlots>(48), // (0xe0) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[11]", ty: UInt<8> },
},
32: Copy {
dest: StatePartIndex<BigSlots>(28), // (0xf0) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_out[12]", ty: UInt<8> },
src: StatePartIndex<BigSlots>(49), // (0xf0) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[12]", ty: UInt<8> },
},
33: Copy {
dest: StatePartIndex<BigSlots>(29), // (0xf8) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_out[13]", ty: UInt<8> },
src: StatePartIndex<BigSlots>(50), // (0xf8) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[13]", ty: UInt<8> },
},
34: Copy {
dest: StatePartIndex<BigSlots>(30), // (0xfc) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_out[14]", ty: UInt<8> },
src: StatePartIndex<BigSlots>(51), // (0xfc) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[14]", ty: UInt<8> },
},
35: Copy {
dest: StatePartIndex<BigSlots>(31), // (0xfe) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_out[15]", ty: UInt<8> },
src: StatePartIndex<BigSlots>(52), // (0xfe) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[15]", ty: UInt<8> },
},
// at: module-XXXXXXXXXX.rs:14:1
36: ReadIndexed {
dest: StatePartIndex<BigSlots>(53), // (0xff) SlotDebugData { name: "", ty: UInt<8> },
src: StatePartIndex<BigSlots>(37) /* (0xff) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::array_wire[0]", ty: UInt<8> } */ [StatePartIndex<SmallSlots>(1) /* (0x0 0) SlotDebugData { name: "", ty: UInt<8> } */ , len=16, stride=1],,
},
37: Copy {
dest: StatePartIndex<BigSlots>(33), // (0xff) SlotDebugData { name: "InstantiatedModule(array_rw: array_rw).array_rw::read_data", ty: UInt<8> },
src: StatePartIndex<BigSlots>(53), // (0xff) SlotDebugData { name: "", ty: UInt<8> },
},
// at: module-XXXXXXXXXX.rs:1:1
38: Return,
],
..
},
pc: 38,
memory_write_log: [],
memories: StatePart {
value: [],
},
small_slots: StatePart {
value: [
16,
0,
],
},
big_slots: StatePart {
value: [
255,
127,
63,
31,
15,
7,
3,
1,
0,
128,
192,
224,
240,
248,
252,
254,
255,
127,
63,
31,
15,
7,
3,
1,
0,
128,
192,
224,
240,
248,
252,
254,
0,
255,
16,
0,
1,
255,
127,
63,
31,
15,
7,
3,
1,
0,
128,
192,
224,
240,
248,
252,
254,
255,
],
},
},
io: Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
},
main_module: SimulationModuleState {
base_targets: [
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.array_in,
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.array_out,
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.read_index,
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.read_data,
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.write_index,
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.write_data,
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.write_en,
],
uninitialized_ios: {},
io_targets: {
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.array_in,
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.array_in[0],
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.array_in[10],
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.array_in[11],
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.array_in[12],
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.array_in[13],
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.array_in[14],
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.array_in[15],
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.array_in[1],
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.array_in[2],
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.array_in[3],
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.array_in[4],
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.array_in[5],
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.array_in[6],
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.array_in[7],
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.array_in[8],
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.array_in[9],
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.array_out,
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.array_out[0],
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.array_out[10],
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.array_out[11],
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.array_out[12],
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.array_out[13],
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.array_out[14],
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.array_out[15],
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.array_out[1],
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.array_out[2],
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.array_out[3],
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.array_out[4],
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.array_out[5],
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.array_out[6],
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.array_out[7],
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.array_out[8],
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.array_out[9],
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.read_data,
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.read_index,
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.write_data,
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.write_en,
Instance {
name: <simulator>::array_rw,
instantiated: Module {
name: array_rw,
..
},
}.write_index,
},
did_initial_settle: true,
},
extern_modules: [],
state_ready_to_run: false,
trace_decls: TraceModule {
name: "array_rw",
children: [
TraceModuleIO {
name: "array_in",
child: TraceArray {
name: "array_in",
elements: [
TraceUInt {
location: TraceScalarId(0),
name: "[0]",
ty: UInt<8>,
flow: Source,
},
TraceUInt {
location: TraceScalarId(1),
name: "[1]",
ty: UInt<8>,
flow: Source,
},
TraceUInt {
location: TraceScalarId(2),
name: "[2]",
ty: UInt<8>,
flow: Source,
},
TraceUInt {
location: TraceScalarId(3),
name: "[3]",
ty: UInt<8>,
flow: Source,
},
TraceUInt {
location: TraceScalarId(4),
name: "[4]",
ty: UInt<8>,
flow: Source,
},
TraceUInt {
location: TraceScalarId(5),
name: "[5]",
ty: UInt<8>,
flow: Source,
},
TraceUInt {
location: TraceScalarId(6),
name: "[6]",
ty: UInt<8>,
flow: Source,
},
TraceUInt {
location: TraceScalarId(7),
name: "[7]",
ty: UInt<8>,
flow: Source,
},
TraceUInt {
location: TraceScalarId(8),
name: "[8]",
ty: UInt<8>,
flow: Source,
},
TraceUInt {
location: TraceScalarId(9),
name: "[9]",
ty: UInt<8>,
flow: Source,
},
TraceUInt {
location: TraceScalarId(10),
name: "[10]",
ty: UInt<8>,
flow: Source,
},
TraceUInt {
location: TraceScalarId(11),
name: "[11]",
ty: UInt<8>,
flow: Source,
},
TraceUInt {
location: TraceScalarId(12),
name: "[12]",
ty: UInt<8>,
flow: Source,
},
TraceUInt {
location: TraceScalarId(13),
name: "[13]",
ty: UInt<8>,
flow: Source,
},
TraceUInt {
location: TraceScalarId(14),
name: "[14]",
ty: UInt<8>,
flow: Source,
},
TraceUInt {
location: TraceScalarId(15),
name: "[15]",
ty: UInt<8>,
flow: Source,
},
],
ty: Array<UInt<8>, 16>,
flow: Source,
},
ty: Array<UInt<8>, 16>,
flow: Source,
},
TraceModuleIO {
name: "array_out",
child: TraceArray {
name: "array_out",
elements: [
TraceUInt {
location: TraceScalarId(16),
name: "[0]",
ty: UInt<8>,
flow: Sink,
},
TraceUInt {
location: TraceScalarId(17),
name: "[1]",
ty: UInt<8>,
flow: Sink,
},
TraceUInt {
location: TraceScalarId(18),
name: "[2]",
ty: UInt<8>,
flow: Sink,
},
TraceUInt {
location: TraceScalarId(19),
name: "[3]",
ty: UInt<8>,
flow: Sink,
},
TraceUInt {
location: TraceScalarId(20),
name: "[4]",
ty: UInt<8>,
flow: Sink,
},
TraceUInt {
location: TraceScalarId(21),
name: "[5]",
ty: UInt<8>,
flow: Sink,
},
TraceUInt {
location: TraceScalarId(22),
name: "[6]",
ty: UInt<8>,
flow: Sink,
},
TraceUInt {
location: TraceScalarId(23),
name: "[7]",
ty: UInt<8>,
flow: Sink,
},
TraceUInt {
location: TraceScalarId(24),
name: "[8]",
ty: UInt<8>,
flow: Sink,
},
TraceUInt {
location: TraceScalarId(25),
name: "[9]",
ty: UInt<8>,
flow: Sink,
},
TraceUInt {
location: TraceScalarId(26),
name: "[10]",
ty: UInt<8>,
flow: Sink,
},
TraceUInt {
location: TraceScalarId(27),
name: "[11]",
ty: UInt<8>,
flow: Sink,
},
TraceUInt {
location: TraceScalarId(28),
name: "[12]",
ty: UInt<8>,
flow: Sink,
},
TraceUInt {
location: TraceScalarId(29),
name: "[13]",
ty: UInt<8>,
flow: Sink,
},
TraceUInt {
location: TraceScalarId(30),
name: "[14]",
ty: UInt<8>,
flow: Sink,
},
TraceUInt {
location: TraceScalarId(31),
name: "[15]",
ty: UInt<8>,
flow: Sink,
},
],
ty: Array<UInt<8>, 16>,
flow: Sink,
},
ty: Array<UInt<8>, 16>,
flow: Sink,
},
TraceModuleIO {
name: "read_index",
child: TraceUInt {
location: TraceScalarId(32),
name: "read_index",
ty: UInt<8>,
flow: Source,
},
ty: UInt<8>,
flow: Source,
},
TraceModuleIO {
name: "read_data",
child: TraceUInt {
location: TraceScalarId(33),
name: "read_data",
ty: UInt<8>,
flow: Sink,
},
ty: UInt<8>,
flow: Sink,
},
TraceModuleIO {
name: "write_index",
child: TraceUInt {
location: TraceScalarId(34),
name: "write_index",
ty: UInt<8>,
flow: Source,
},
ty: UInt<8>,
flow: Source,
},
TraceModuleIO {
name: "write_data",
child: TraceUInt {
location: TraceScalarId(35),
name: "write_data",
ty: UInt<8>,
flow: Source,
},
ty: UInt<8>,
flow: Source,
},
TraceModuleIO {
name: "write_en",
child: TraceBool {
location: TraceScalarId(36),
name: "write_en",
flow: Source,
},
ty: Bool,
flow: Source,
},
TraceWire {
name: "array_wire",
child: TraceArray {
name: "array_wire",
elements: [
TraceUInt {
location: TraceScalarId(37),
name: "[0]",
ty: UInt<8>,
flow: Duplex,
},
TraceUInt {
location: TraceScalarId(38),
name: "[1]",
ty: UInt<8>,
flow: Duplex,
},
TraceUInt {
location: TraceScalarId(39),
name: "[2]",
ty: UInt<8>,
flow: Duplex,
},
TraceUInt {
location: TraceScalarId(40),
name: "[3]",
ty: UInt<8>,
flow: Duplex,
},
TraceUInt {
location: TraceScalarId(41),
name: "[4]",
ty: UInt<8>,
flow: Duplex,
},
TraceUInt {
location: TraceScalarId(42),
name: "[5]",
ty: UInt<8>,
flow: Duplex,
},
TraceUInt {
location: TraceScalarId(43),
name: "[6]",
ty: UInt<8>,
flow: Duplex,
},
TraceUInt {
location: TraceScalarId(44),
name: "[7]",
ty: UInt<8>,
flow: Duplex,
},
TraceUInt {
location: TraceScalarId(45),
name: "[8]",
ty: UInt<8>,
flow: Duplex,
},
TraceUInt {
location: TraceScalarId(46),
name: "[9]",
ty: UInt<8>,
flow: Duplex,
},
TraceUInt {
location: TraceScalarId(47),
name: "[10]",
ty: UInt<8>,
flow: Duplex,
},
TraceUInt {
location: TraceScalarId(48),
name: "[11]",
ty: UInt<8>,
flow: Duplex,
},
TraceUInt {
location: TraceScalarId(49),
name: "[12]",
ty: UInt<8>,
flow: Duplex,
},
TraceUInt {
location: TraceScalarId(50),
name: "[13]",
ty: UInt<8>,
flow: Duplex,
},
TraceUInt {
location: TraceScalarId(51),
name: "[14]",
ty: UInt<8>,
flow: Duplex,
},
TraceUInt {
location: TraceScalarId(52),
name: "[15]",
ty: UInt<8>,
flow: Duplex,
},
],
ty: Array<UInt<8>, 16>,
flow: Duplex,
},
ty: Array<UInt<8>, 16>,
},
],
},
traces: [
SimTrace {
id: TraceScalarId(0),
kind: BigUInt {
index: StatePartIndex<BigSlots>(0),
ty: UInt<8>,
},
state: 0xff,
last_state: 0xff,
},
SimTrace {
id: TraceScalarId(1),
kind: BigUInt {
index: StatePartIndex<BigSlots>(1),
ty: UInt<8>,
},
state: 0x7f,
last_state: 0x7f,
},
SimTrace {
id: TraceScalarId(2),
kind: BigUInt {
index: StatePartIndex<BigSlots>(2),
ty: UInt<8>,
},
state: 0x3f,
last_state: 0x3f,
},
SimTrace {
id: TraceScalarId(3),
kind: BigUInt {
index: StatePartIndex<BigSlots>(3),
ty: UInt<8>,
},
state: 0x1f,
last_state: 0x1f,
},
SimTrace {
id: TraceScalarId(4),
kind: BigUInt {
index: StatePartIndex<BigSlots>(4),
ty: UInt<8>,
},
state: 0x0f,
last_state: 0x0f,
},
SimTrace {
id: TraceScalarId(5),
kind: BigUInt {
index: StatePartIndex<BigSlots>(5),
ty: UInt<8>,
},
state: 0x07,
last_state: 0x07,
},
SimTrace {
id: TraceScalarId(6),
kind: BigUInt {
index: StatePartIndex<BigSlots>(6),
ty: UInt<8>,
},
state: 0x03,
last_state: 0x03,
},
SimTrace {
id: TraceScalarId(7),
kind: BigUInt {
index: StatePartIndex<BigSlots>(7),
ty: UInt<8>,
},
state: 0x01,
last_state: 0x01,
},
SimTrace {
id: TraceScalarId(8),
kind: BigUInt {
index: StatePartIndex<BigSlots>(8),
ty: UInt<8>,
},
state: 0x00,
last_state: 0x00,
},
SimTrace {
id: TraceScalarId(9),
kind: BigUInt {
index: StatePartIndex<BigSlots>(9),
ty: UInt<8>,
},
state: 0x80,
last_state: 0x80,
},
SimTrace {
id: TraceScalarId(10),
kind: BigUInt {
index: StatePartIndex<BigSlots>(10),
ty: UInt<8>,
},
state: 0xc0,
last_state: 0xc0,
},
SimTrace {
id: TraceScalarId(11),
kind: BigUInt {
index: StatePartIndex<BigSlots>(11),
ty: UInt<8>,
},
state: 0xe0,
last_state: 0xe0,
},
SimTrace {
id: TraceScalarId(12),
kind: BigUInt {
index: StatePartIndex<BigSlots>(12),
ty: UInt<8>,
},
state: 0xf0,
last_state: 0xf0,
},
SimTrace {
id: TraceScalarId(13),
kind: BigUInt {
index: StatePartIndex<BigSlots>(13),
ty: UInt<8>,
},
state: 0xf8,
last_state: 0xf8,
},
SimTrace {
id: TraceScalarId(14),
kind: BigUInt {
index: StatePartIndex<BigSlots>(14),
ty: UInt<8>,
},
state: 0xfc,
last_state: 0xfc,
},
SimTrace {
id: TraceScalarId(15),
kind: BigUInt {
index: StatePartIndex<BigSlots>(15),
ty: UInt<8>,
},
state: 0xfe,
last_state: 0xfe,
},
SimTrace {
id: TraceScalarId(16),
kind: BigUInt {
index: StatePartIndex<BigSlots>(16),
ty: UInt<8>,
},
state: 0xff,
last_state: 0xff,
},
SimTrace {
id: TraceScalarId(17),
kind: BigUInt {
index: StatePartIndex<BigSlots>(17),
ty: UInt<8>,
},
state: 0x7f,
last_state: 0x7f,
},
SimTrace {
id: TraceScalarId(18),
kind: BigUInt {
index: StatePartIndex<BigSlots>(18),
ty: UInt<8>,
},
state: 0x3f,
last_state: 0x3f,
},
SimTrace {
id: TraceScalarId(19),
kind: BigUInt {
index: StatePartIndex<BigSlots>(19),
ty: UInt<8>,
},
state: 0x1f,
last_state: 0x1f,
},
SimTrace {
id: TraceScalarId(20),
kind: BigUInt {
index: StatePartIndex<BigSlots>(20),
ty: UInt<8>,
},
state: 0x0f,
last_state: 0x0f,
},
SimTrace {
id: TraceScalarId(21),
kind: BigUInt {
index: StatePartIndex<BigSlots>(21),
ty: UInt<8>,
},
state: 0x07,
last_state: 0x07,
},
SimTrace {
id: TraceScalarId(22),
kind: BigUInt {
index: StatePartIndex<BigSlots>(22),
ty: UInt<8>,
},
state: 0x03,
last_state: 0x03,
},
SimTrace {
id: TraceScalarId(23),
kind: BigUInt {
index: StatePartIndex<BigSlots>(23),
ty: UInt<8>,
},
state: 0x01,
last_state: 0x01,
},
SimTrace {
id: TraceScalarId(24),
kind: BigUInt {
index: StatePartIndex<BigSlots>(24),
ty: UInt<8>,
},
state: 0x00,
last_state: 0x00,
},
SimTrace {
id: TraceScalarId(25),
kind: BigUInt {
index: StatePartIndex<BigSlots>(25),
ty: UInt<8>,
},
state: 0x80,
last_state: 0x80,
},
SimTrace {
id: TraceScalarId(26),
kind: BigUInt {
index: StatePartIndex<BigSlots>(26),
ty: UInt<8>,
},
state: 0xc0,
last_state: 0xc0,
},
SimTrace {
id: TraceScalarId(27),
kind: BigUInt {
index: StatePartIndex<BigSlots>(27),
ty: UInt<8>,
},
state: 0xe0,
last_state: 0xe0,
},
SimTrace {
id: TraceScalarId(28),
kind: BigUInt {
index: StatePartIndex<BigSlots>(28),
ty: UInt<8>,
},
state: 0xf0,
last_state: 0xf0,
},
SimTrace {
id: TraceScalarId(29),
kind: BigUInt {
index: StatePartIndex<BigSlots>(29),
ty: UInt<8>,
},
state: 0xf8,
last_state: 0xf8,
},
SimTrace {
id: TraceScalarId(30),
kind: BigUInt {
index: StatePartIndex<BigSlots>(30),
ty: UInt<8>,
},
state: 0xfc,
last_state: 0xfc,
},
SimTrace {
id: TraceScalarId(31),
kind: BigUInt {
index: StatePartIndex<BigSlots>(31),
ty: UInt<8>,
},
state: 0xfe,
last_state: 0xe1,
},
SimTrace {
id: TraceScalarId(32),
kind: BigUInt {
index: StatePartIndex<BigSlots>(32),
ty: UInt<8>,
},
state: 0x00,
last_state: 0x00,
},
SimTrace {
id: TraceScalarId(33),
kind: BigUInt {
index: StatePartIndex<BigSlots>(33),
ty: UInt<8>,
},
state: 0xff,
last_state: 0xff,
},
SimTrace {
id: TraceScalarId(34),
kind: BigUInt {
index: StatePartIndex<BigSlots>(34),
ty: UInt<8>,
},
state: 0x10,
last_state: 0x0f,
},
SimTrace {
id: TraceScalarId(35),
kind: BigUInt {
index: StatePartIndex<BigSlots>(35),
ty: UInt<8>,
},
state: 0x00,
last_state: 0xe1,
},
SimTrace {
id: TraceScalarId(36),
kind: BigBool {
index: StatePartIndex<BigSlots>(36),
},
state: 0x1,
last_state: 0x1,
},
SimTrace {
id: TraceScalarId(37),
kind: BigUInt {
index: StatePartIndex<BigSlots>(37),
ty: UInt<8>,
},
state: 0xff,
last_state: 0xff,
},
SimTrace {
id: TraceScalarId(38),
kind: BigUInt {
index: StatePartIndex<BigSlots>(38),
ty: UInt<8>,
},
state: 0x7f,
last_state: 0x7f,
},
SimTrace {
id: TraceScalarId(39),
kind: BigUInt {
index: StatePartIndex<BigSlots>(39),
ty: UInt<8>,
},
state: 0x3f,
last_state: 0x3f,
},
SimTrace {
id: TraceScalarId(40),
kind: BigUInt {
index: StatePartIndex<BigSlots>(40),
ty: UInt<8>,
},
state: 0x1f,
last_state: 0x1f,
},
SimTrace {
id: TraceScalarId(41),
kind: BigUInt {
index: StatePartIndex<BigSlots>(41),
ty: UInt<8>,
},
state: 0x0f,
last_state: 0x0f,
},
SimTrace {
id: TraceScalarId(42),
kind: BigUInt {
index: StatePartIndex<BigSlots>(42),
ty: UInt<8>,
},
state: 0x07,
last_state: 0x07,
},
SimTrace {
id: TraceScalarId(43),
kind: BigUInt {
index: StatePartIndex<BigSlots>(43),
ty: UInt<8>,
},
state: 0x03,
last_state: 0x03,
},
SimTrace {
id: TraceScalarId(44),
kind: BigUInt {
index: StatePartIndex<BigSlots>(44),
ty: UInt<8>,
},
state: 0x01,
last_state: 0x01,
},
SimTrace {
id: TraceScalarId(45),
kind: BigUInt {
index: StatePartIndex<BigSlots>(45),
ty: UInt<8>,
},
state: 0x00,
last_state: 0x00,
},
SimTrace {
id: TraceScalarId(46),
kind: BigUInt {
index: StatePartIndex<BigSlots>(46),
ty: UInt<8>,
},
state: 0x80,
last_state: 0x80,
},
SimTrace {
id: TraceScalarId(47),
kind: BigUInt {
index: StatePartIndex<BigSlots>(47),
ty: UInt<8>,
},
state: 0xc0,
last_state: 0xc0,
},
SimTrace {
id: TraceScalarId(48),
kind: BigUInt {
index: StatePartIndex<BigSlots>(48),
ty: UInt<8>,
},
state: 0xe0,
last_state: 0xe0,
},
SimTrace {
id: TraceScalarId(49),
kind: BigUInt {
index: StatePartIndex<BigSlots>(49),
ty: UInt<8>,
},
state: 0xf0,
last_state: 0xf0,
},
SimTrace {
id: TraceScalarId(50),
kind: BigUInt {
index: StatePartIndex<BigSlots>(50),
ty: UInt<8>,
},
state: 0xf8,
last_state: 0xf8,
},
SimTrace {
id: TraceScalarId(51),
kind: BigUInt {
index: StatePartIndex<BigSlots>(51),
ty: UInt<8>,
},
state: 0xfc,
last_state: 0xfc,
},
SimTrace {
id: TraceScalarId(52),
kind: BigUInt {
index: StatePartIndex<BigSlots>(52),
ty: UInt<8>,
},
state: 0xfe,
last_state: 0xe1,
},
],
trace_memories: {},
trace_writers: [
Running(
VcdWriter {
finished_init: true,
timescale: 1 ps,
..
},
),
],
instant: 34 μs,
clocks_triggered: [],
..
}