1
0
Fork 0
fayalite/crates/fayalite/tests/sim/expected/queue_3_false_false.txt

2162 lines
No EOL
94 KiB
Text

Simulation {
state: State {
insns: Insns {
state_layout: StateLayout {
ty: TypeLayout {
small_slots: StatePartLayout<SmallSlots> {
len: 18,
debug_data: [
SlotDebugData {
name: "",
ty: Enum {
HdlNone,
HdlSome,
},
},
SlotDebugData {
name: "",
ty: Enum {
HdlNone,
HdlSome,
},
},
SlotDebugData {
name: "",
ty: Bool,
},
SlotDebugData {
name: "",
ty: Bool,
},
SlotDebugData {
name: "",
ty: Bool,
},
SlotDebugData {
name: "",
ty: Bool,
},
SlotDebugData {
name: "",
ty: UInt<2>,
},
SlotDebugData {
name: "",
ty: Bool,
},
SlotDebugData {
name: "",
ty: Bool,
},
SlotDebugData {
name: "",
ty: Bool,
},
SlotDebugData {
name: "",
ty: Bool,
},
SlotDebugData {
name: "",
ty: UInt<2>,
},
SlotDebugData {
name: "",
ty: UInt<2>,
},
SlotDebugData {
name: "",
ty: Bool,
},
SlotDebugData {
name: "",
ty: Bool,
},
SlotDebugData {
name: "",
ty: Bool,
},
SlotDebugData {
name: "",
ty: Bool,
},
SlotDebugData {
name: "",
ty: Bool,
},
],
..
},
big_slots: StatePartLayout<BigSlots> {
len: 73,
debug_data: [
SlotDebugData {
name: "InstantiatedModule(queue: queue).queue::cd.clk",
ty: Clock,
},
SlotDebugData {
name: "InstantiatedModule(queue: queue).queue::cd.rst",
ty: SyncReset,
},
SlotDebugData {
name: "InstantiatedModule(queue: queue).queue::inp.data",
ty: Enum {
HdlNone,
HdlSome(UInt<8>),
},
},
SlotDebugData {
name: "InstantiatedModule(queue: queue).queue::inp.ready",
ty: Bool,
},
SlotDebugData {
name: "",
ty: UInt<9>,
},
SlotDebugData {
name: "",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(queue: queue).queue::out.data",
ty: Enum {
HdlNone,
HdlSome(UInt<8>),
},
},
SlotDebugData {
name: "InstantiatedModule(queue: queue).queue::out.ready",
ty: Bool,
},
SlotDebugData {
name: "",
ty: UInt<9>,
},
SlotDebugData {
name: "",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(queue: queue).queue::count",
ty: UInt<2>,
},
SlotDebugData {
name: "InstantiatedModule(queue: queue).queue::mem::r0.addr",
ty: UInt<2>,
},
SlotDebugData {
name: "InstantiatedModule(queue: queue).queue::mem::r0.en",
ty: Bool,
},
SlotDebugData {
name: "InstantiatedModule(queue: queue).queue::mem::r0.clk",
ty: Clock,
},
SlotDebugData {
name: "InstantiatedModule(queue: queue).queue::mem::r0.data",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(queue: queue).queue::mem::w1.addr",
ty: UInt<2>,
},
SlotDebugData {
name: "InstantiatedModule(queue: queue).queue::mem::w1.en",
ty: Bool,
},
SlotDebugData {
name: "InstantiatedModule(queue: queue).queue::mem::w1.clk",
ty: Clock,
},
SlotDebugData {
name: "InstantiatedModule(queue: queue).queue::mem::w1.data",
ty: UInt<8>,
},
SlotDebugData {
name: "InstantiatedModule(queue: queue).queue::mem::w1.mask",
ty: Bool,
},
SlotDebugData {
name: "",
ty: UInt<8>,
},
SlotDebugData {
name: "",
ty: Bool,
},
SlotDebugData {
name: "InstantiatedModule(queue: queue).queue::inp_index_reg",
ty: UInt<2>,
},
SlotDebugData {
name: "InstantiatedModule(queue: queue).queue::inp_index_reg$next",
ty: UInt<2>,
},
SlotDebugData {
name: "",
ty: UInt<2>,
},
SlotDebugData {
name: "InstantiatedModule(queue: queue).queue::out_index_reg",
ty: UInt<2>,
},
SlotDebugData {
name: "InstantiatedModule(queue: queue).queue::out_index_reg$next",
ty: UInt<2>,
},
SlotDebugData {
name: "InstantiatedModule(queue: queue).queue::maybe_full_reg",
ty: Bool,
},
SlotDebugData {
name: "InstantiatedModule(queue: queue).queue::maybe_full_reg$next",
ty: Bool,
},
SlotDebugData {
name: "",
ty: Bool,
},
SlotDebugData {
name: "InstantiatedModule(queue: queue).queue::inp_firing",
ty: Bool,
},
SlotDebugData {
name: "InstantiatedModule(queue: queue).queue::firing",
ty: Bool,
},
SlotDebugData {
name: "InstantiatedModule(queue: queue).queue::out_firing",
ty: Bool,
},
SlotDebugData {
name: "InstantiatedModule(queue: queue).queue::firing",
ty: Bool,
},
SlotDebugData {
name: "InstantiatedModule(queue: queue).queue::indexes_equal",
ty: Bool,
},
SlotDebugData {
name: "",
ty: Bool,
},
SlotDebugData {
name: "InstantiatedModule(queue: queue).queue::empty",
ty: Bool,
},
SlotDebugData {
name: "",
ty: Bool,
},
SlotDebugData {
name: "",
ty: Bool,
},
SlotDebugData {
name: "InstantiatedModule(queue: queue).queue::full",
ty: Bool,
},
SlotDebugData {
name: "",
ty: Bool,
},
SlotDebugData {
name: "",
ty: Bool,
},
SlotDebugData {
name: "InstantiatedModule(queue: queue).queue::unwrap_or_else_out",
ty: UInt<8>,
},
SlotDebugData {
name: "",
ty: UInt<8>,
},
SlotDebugData {
name: "",
ty: Bool,
},
SlotDebugData {
name: "",
ty: Bool,
},
SlotDebugData {
name: ".0",
ty: UInt<1>,
},
SlotDebugData {
name: ".1",
ty: UInt<8>,
},
SlotDebugData {
name: "",
ty: UInt<1>,
},
SlotDebugData {
name: "",
ty: UInt<9>,
},
SlotDebugData {
name: "",
ty: UInt<9>,
},
SlotDebugData {
name: "",
ty: UInt<9>,
},
SlotDebugData {
name: "",
ty: Enum {
HdlNone,
HdlSome(UInt<8>),
},
},
SlotDebugData {
name: "",
ty: UInt<9>,
},
SlotDebugData {
name: "",
ty: Enum {
HdlNone,
HdlSome(UInt<8>),
},
},
SlotDebugData {
name: "",
ty: Bool,
},
SlotDebugData {
name: "",
ty: UInt<64>,
},
SlotDebugData {
name: "",
ty: Bool,
},
SlotDebugData {
name: "",
ty: UInt<0>,
},
SlotDebugData {
name: "",
ty: UInt<2>,
},
SlotDebugData {
name: "",
ty: UInt<3>,
},
SlotDebugData {
name: "",
ty: UInt<2>,
},
SlotDebugData {
name: "",
ty: Bool,
},
SlotDebugData {
name: "",
ty: UInt<3>,
},
SlotDebugData {
name: "",
ty: UInt<2>,
},
SlotDebugData {
name: "",
ty: UInt<64>,
},
SlotDebugData {
name: "",
ty: UInt<2>,
},
SlotDebugData {
name: "",
ty: Bool,
},
SlotDebugData {
name: "",
ty: UInt<65>,
},
SlotDebugData {
name: "",
ty: UInt<66>,
},
SlotDebugData {
name: "",
ty: UInt<2>,
},
SlotDebugData {
name: "",
ty: UInt<3>,
},
SlotDebugData {
name: "",
ty: UInt<2>,
},
],
..
},
sim_only_slots: StatePartLayout<SimOnlySlots> {
len: 0,
debug_data: [],
layout_data: [],
..
},
},
memories: StatePartLayout<Memories> {
len: 1,
debug_data: [
(),
],
layout_data: [
MemoryData {
array_type: Array<UInt<8>, 3>,
data: [
// len = 0x3
[0x0]: 0x00,
[0x1]: 0x00,
[0x2]: 0x00,
],
},
],
..
},
},
insns: [
// at: ready_valid.rs:64:1
0: SubU {
dest: StatePartIndex<BigSlots>(71), // (0x2) SlotDebugData { name: "", ty: UInt<3> },
lhs: StatePartIndex<BigSlots>(22), // (0x2) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::inp_index_reg", ty: UInt<2> },
rhs: StatePartIndex<BigSlots>(25), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::out_index_reg", ty: UInt<2> },
dest_width: 3,
},
1: CastToUInt {
dest: StatePartIndex<BigSlots>(72), // (0x2) SlotDebugData { name: "", ty: UInt<2> },
src: StatePartIndex<BigSlots>(71), // (0x2) SlotDebugData { name: "", ty: UInt<3> },
dest_width: 2,
},
2: CmpLt {
dest: StatePartIndex<BigSlots>(67), // (0x0) SlotDebugData { name: "", ty: Bool },
lhs: StatePartIndex<BigSlots>(22), // (0x2) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::inp_index_reg", ty: UInt<2> },
rhs: StatePartIndex<BigSlots>(25), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::out_index_reg", ty: UInt<2> },
},
3: Const {
dest: StatePartIndex<BigSlots>(65), // (0x3) SlotDebugData { name: "", ty: UInt<64> },
value: 0x3,
},
4: CastToUInt {
dest: StatePartIndex<BigSlots>(66), // (0x3) SlotDebugData { name: "", ty: UInt<2> },
src: StatePartIndex<BigSlots>(65), // (0x3) SlotDebugData { name: "", ty: UInt<64> },
dest_width: 2,
},
5: Add {
dest: StatePartIndex<BigSlots>(68), // (0x5) SlotDebugData { name: "", ty: UInt<65> },
lhs: StatePartIndex<BigSlots>(22), // (0x2) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::inp_index_reg", ty: UInt<2> },
rhs: StatePartIndex<BigSlots>(65), // (0x3) SlotDebugData { name: "", ty: UInt<64> },
},
6: SubU {
dest: StatePartIndex<BigSlots>(69), // (0x5) SlotDebugData { name: "", ty: UInt<66> },
lhs: StatePartIndex<BigSlots>(68), // (0x5) SlotDebugData { name: "", ty: UInt<65> },
rhs: StatePartIndex<BigSlots>(25), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::out_index_reg", ty: UInt<2> },
dest_width: 66,
},
7: CastToUInt {
dest: StatePartIndex<BigSlots>(70), // (0x1) SlotDebugData { name: "", ty: UInt<2> },
src: StatePartIndex<BigSlots>(69), // (0x5) SlotDebugData { name: "", ty: UInt<66> },
dest_width: 2,
},
8: Const {
dest: StatePartIndex<BigSlots>(58), // (0x0) SlotDebugData { name: "", ty: UInt<0> },
value: 0x0,
},
9: CastToUInt {
dest: StatePartIndex<BigSlots>(59), // (0x0) SlotDebugData { name: "", ty: UInt<2> },
src: StatePartIndex<BigSlots>(58), // (0x0) SlotDebugData { name: "", ty: UInt<0> },
dest_width: 2,
},
10: Const {
dest: StatePartIndex<BigSlots>(56), // (0x2) SlotDebugData { name: "", ty: UInt<64> },
value: 0x2,
},
11: CmpEq {
dest: StatePartIndex<BigSlots>(57), // (0x1) SlotDebugData { name: "", ty: Bool },
lhs: StatePartIndex<BigSlots>(22), // (0x2) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::inp_index_reg", ty: UInt<2> },
rhs: StatePartIndex<BigSlots>(56), // (0x2) SlotDebugData { name: "", ty: UInt<64> },
},
12: CmpEq {
dest: StatePartIndex<BigSlots>(62), // (0x0) SlotDebugData { name: "", ty: Bool },
lhs: StatePartIndex<BigSlots>(25), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::out_index_reg", ty: UInt<2> },
rhs: StatePartIndex<BigSlots>(56), // (0x2) SlotDebugData { name: "", ty: UInt<64> },
},
13: Const {
dest: StatePartIndex<BigSlots>(53), // (0x0) SlotDebugData { name: "", ty: UInt<9> },
value: 0x0,
},
14: Copy {
dest: StatePartIndex<BigSlots>(54), // (0x0) SlotDebugData { name: "", ty: Enum {HdlNone, HdlSome(UInt<8>)} },
src: StatePartIndex<BigSlots>(53), // (0x0) SlotDebugData { name: "", ty: UInt<9> },
},
15: Const {
dest: StatePartIndex<BigSlots>(48), // (0x1) SlotDebugData { name: "", ty: UInt<1> },
value: 0x1,
},
16: Add {
dest: StatePartIndex<BigSlots>(60), // (0x3) SlotDebugData { name: "", ty: UInt<3> },
lhs: StatePartIndex<BigSlots>(22), // (0x2) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::inp_index_reg", ty: UInt<2> },
rhs: StatePartIndex<BigSlots>(48), // (0x1) SlotDebugData { name: "", ty: UInt<1> },
},
17: CastToUInt {
dest: StatePartIndex<BigSlots>(61), // (0x3) SlotDebugData { name: "", ty: UInt<2> },
src: StatePartIndex<BigSlots>(60), // (0x3) SlotDebugData { name: "", ty: UInt<3> },
dest_width: 2,
},
18: Add {
dest: StatePartIndex<BigSlots>(63), // (0x1) SlotDebugData { name: "", ty: UInt<3> },
lhs: StatePartIndex<BigSlots>(25), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::out_index_reg", ty: UInt<2> },
rhs: StatePartIndex<BigSlots>(48), // (0x1) SlotDebugData { name: "", ty: UInt<1> },
},
19: CastToUInt {
dest: StatePartIndex<BigSlots>(64), // (0x1) SlotDebugData { name: "", ty: UInt<2> },
src: StatePartIndex<BigSlots>(63), // (0x1) SlotDebugData { name: "", ty: UInt<3> },
dest_width: 2,
},
20: Const {
dest: StatePartIndex<BigSlots>(43), // (0x0) SlotDebugData { name: "", ty: UInt<8> },
value: 0x0,
},
// at: ready_valid.rs:118:30
21: Copy {
dest: StatePartIndex<BigSlots>(42), // (0x28) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::unwrap_or_else_out", ty: UInt<8> },
src: StatePartIndex<BigSlots>(43), // (0x0) SlotDebugData { name: "", ty: UInt<8> },
},
// at: ready_valid.rs:117:5
22: Copy {
dest: StatePartIndex<BigSlots>(17), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::mem::w1.clk", ty: Clock },
src: StatePartIndex<BigSlots>(0), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::cd.clk", ty: Clock },
},
// at: ready_valid.rs:115:5
23: Copy {
dest: StatePartIndex<BigSlots>(15), // (0x2) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::mem::w1.addr", ty: UInt<2> },
src: StatePartIndex<BigSlots>(22), // (0x2) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::inp_index_reg", ty: UInt<2> },
},
// at: ready_valid.rs:114:5
24: Copy {
dest: StatePartIndex<BigSlots>(13), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::mem::r0.clk", ty: Clock },
src: StatePartIndex<BigSlots>(0), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::cd.clk", ty: Clock },
},
// at: ready_valid.rs:64:1
25: Const {
dest: StatePartIndex<BigSlots>(41), // (0x1) SlotDebugData { name: "", ty: Bool },
value: 0x1,
},
// at: ready_valid.rs:113:5
26: Copy {
dest: StatePartIndex<BigSlots>(12), // (0x1) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::mem::r0.en", ty: Bool },
src: StatePartIndex<BigSlots>(41), // (0x1) SlotDebugData { name: "", ty: Bool },
},
// at: ready_valid.rs:119:5
27: Copy {
dest: StatePartIndex<BigSlots>(19), // (0x1) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::mem::w1.mask", ty: Bool },
src: StatePartIndex<BigSlots>(41), // (0x1) SlotDebugData { name: "", ty: Bool },
},
// at: ready_valid.rs:112:5
28: Copy {
dest: StatePartIndex<BigSlots>(11), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::mem::r0.addr", ty: UInt<2> },
src: StatePartIndex<BigSlots>(25), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::out_index_reg", ty: UInt<2> },
},
// at: ready_valid.rs:64:1
29: NotU {
dest: StatePartIndex<BigSlots>(37), // (0x0) SlotDebugData { name: "", ty: Bool },
src: StatePartIndex<BigSlots>(27), // (0x1) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::maybe_full_reg", ty: Bool },
width: 1,
},
30: CmpEq {
dest: StatePartIndex<BigSlots>(35), // (0x0) SlotDebugData { name: "", ty: Bool },
lhs: StatePartIndex<BigSlots>(22), // (0x2) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::inp_index_reg", ty: UInt<2> },
rhs: StatePartIndex<BigSlots>(25), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::out_index_reg", ty: UInt<2> },
},
// at: ready_valid.rs:104:5
31: Copy {
dest: StatePartIndex<BigSlots>(34), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::indexes_equal", ty: Bool },
src: StatePartIndex<BigSlots>(35), // (0x0) SlotDebugData { name: "", ty: Bool },
},
// at: ready_valid.rs:64:1
32: And {
dest: StatePartIndex<BigSlots>(38), // (0x0) SlotDebugData { name: "", ty: Bool },
lhs: StatePartIndex<BigSlots>(34), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::indexes_equal", ty: Bool },
rhs: StatePartIndex<BigSlots>(37), // (0x0) SlotDebugData { name: "", ty: Bool },
},
// at: ready_valid.rs:107:5
33: Copy {
dest: StatePartIndex<BigSlots>(36), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::empty", ty: Bool },
src: StatePartIndex<BigSlots>(38), // (0x0) SlotDebugData { name: "", ty: Bool },
},
// at: ready_valid.rs:64:1
34: NotU {
dest: StatePartIndex<BigSlots>(45), // (0x1) SlotDebugData { name: "", ty: Bool },
src: StatePartIndex<BigSlots>(36), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::empty", ty: Bool },
width: 1,
},
35: And {
dest: StatePartIndex<BigSlots>(40), // (0x0) SlotDebugData { name: "", ty: Bool },
lhs: StatePartIndex<BigSlots>(34), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::indexes_equal", ty: Bool },
rhs: StatePartIndex<BigSlots>(27), // (0x1) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::maybe_full_reg", ty: Bool },
},
// at: ready_valid.rs:110:5
36: Copy {
dest: StatePartIndex<BigSlots>(39), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::full", ty: Bool },
src: StatePartIndex<BigSlots>(40), // (0x0) SlotDebugData { name: "", ty: Bool },
},
// at: ready_valid.rs:64:1
37: NotU {
dest: StatePartIndex<BigSlots>(44), // (0x1) SlotDebugData { name: "", ty: Bool },
src: StatePartIndex<BigSlots>(39), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::full", ty: Bool },
width: 1,
},
// at: ready_valid.rs:121:5
38: Copy {
dest: StatePartIndex<BigSlots>(3), // (0x1) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::inp.ready", ty: Bool },
src: StatePartIndex<BigSlots>(44), // (0x1) SlotDebugData { name: "", ty: Bool },
},
// at: ready_valid.rs:166:5
39: BranchIfZero {
target: 44,
value: StatePartIndex<BigSlots>(34), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::indexes_equal", ty: Bool },
},
// at: ready_valid.rs:168:9
40: BranchIfZero {
target: 42,
value: StatePartIndex<BigSlots>(27), // (0x1) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::maybe_full_reg", ty: Bool },
},
// at: ready_valid.rs:169:13
41: Copy {
dest: StatePartIndex<BigSlots>(10), // (0x2) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::count", ty: UInt<2> },
src: StatePartIndex<BigSlots>(66), // (0x3) SlotDebugData { name: "", ty: UInt<2> },
},
// at: ready_valid.rs:168:9
42: BranchIfNonZero {
target: 44,
value: StatePartIndex<BigSlots>(27), // (0x1) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::maybe_full_reg", ty: Bool },
},
// at: ready_valid.rs:171:13
43: Copy {
dest: StatePartIndex<BigSlots>(10), // (0x2) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::count", ty: UInt<2> },
src: StatePartIndex<BigSlots>(59), // (0x0) SlotDebugData { name: "", ty: UInt<2> },
},
// at: ready_valid.rs:166:5
44: BranchIfNonZero {
target: 49,
value: StatePartIndex<BigSlots>(34), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::indexes_equal", ty: Bool },
},
// at: ready_valid.rs:186:13
45: BranchIfZero {
target: 47,
value: StatePartIndex<BigSlots>(67), // (0x0) SlotDebugData { name: "", ty: Bool },
},
// at: ready_valid.rs:187:17
46: Copy {
dest: StatePartIndex<BigSlots>(10), // (0x2) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::count", ty: UInt<2> },
src: StatePartIndex<BigSlots>(70), // (0x1) SlotDebugData { name: "", ty: UInt<2> },
},
// at: ready_valid.rs:186:13
47: BranchIfNonZero {
target: 49,
value: StatePartIndex<BigSlots>(67), // (0x0) SlotDebugData { name: "", ty: Bool },
},
// at: ready_valid.rs:189:17
48: Copy {
dest: StatePartIndex<BigSlots>(10), // (0x2) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::count", ty: UInt<2> },
src: StatePartIndex<BigSlots>(72), // (0x2) SlotDebugData { name: "", ty: UInt<2> },
},
// at: ready_valid.rs:88:26
49: Copy {
dest: StatePartIndex<BigSlots>(28), // (0x1) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::maybe_full_reg$next", ty: Bool },
src: StatePartIndex<BigSlots>(27), // (0x1) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::maybe_full_reg", ty: Bool },
},
// at: ready_valid.rs:64:1
50: Const {
dest: StatePartIndex<BigSlots>(29), // (0x0) SlotDebugData { name: "", ty: Bool },
value: 0x0,
},
// at: ready_valid.rs:86:25
51: Copy {
dest: StatePartIndex<BigSlots>(26), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::out_index_reg$next", ty: UInt<2> },
src: StatePartIndex<BigSlots>(25), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::out_index_reg", ty: UInt<2> },
},
// at: ready_valid.rs:84:31
52: IsNonZeroDestIsSmall {
dest: StatePartIndex<SmallSlots>(17), // (0x0 0) SlotDebugData { name: "", ty: Bool },
src: StatePartIndex<BigSlots>(1), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::cd.rst", ty: SyncReset },
},
53: IsNonZeroDestIsSmall {
dest: StatePartIndex<SmallSlots>(16), // (0x0 0) SlotDebugData { name: "", ty: Bool },
src: StatePartIndex<BigSlots>(0), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::cd.clk", ty: Clock },
},
54: AndSmall {
dest: StatePartIndex<SmallSlots>(15), // (0x0 0) SlotDebugData { name: "", ty: Bool },
lhs: StatePartIndex<SmallSlots>(16), // (0x0 0) SlotDebugData { name: "", ty: Bool },
rhs: StatePartIndex<SmallSlots>(14), // (0x1 1) SlotDebugData { name: "", ty: Bool },
},
55: Copy {
dest: StatePartIndex<BigSlots>(23), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::inp_index_reg$next", ty: UInt<2> },
src: StatePartIndex<BigSlots>(22), // (0x2) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::inp_index_reg", ty: UInt<2> },
},
// at: ready_valid.rs:64:1
56: Const {
dest: StatePartIndex<BigSlots>(24), // (0x0) SlotDebugData { name: "", ty: UInt<2> },
value: 0x0,
},
// at: ready_valid.rs:91:19
57: CastBigToArrayIndex {
dest: StatePartIndex<SmallSlots>(11), // (0x2 2) SlotDebugData { name: "", ty: UInt<2> },
src: StatePartIndex<BigSlots>(15), // (0x2) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::mem::w1.addr", ty: UInt<2> },
},
58: IsNonZeroDestIsSmall {
dest: StatePartIndex<SmallSlots>(9), // (0x0 0) SlotDebugData { name: "", ty: Bool },
src: StatePartIndex<BigSlots>(17), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::mem::w1.clk", ty: Clock },
},
59: AndSmall {
dest: StatePartIndex<SmallSlots>(8), // (0x0 0) SlotDebugData { name: "", ty: Bool },
lhs: StatePartIndex<SmallSlots>(9), // (0x0 0) SlotDebugData { name: "", ty: Bool },
rhs: StatePartIndex<SmallSlots>(7), // (0x1 1) SlotDebugData { name: "", ty: Bool },
},
60: CastBigToArrayIndex {
dest: StatePartIndex<SmallSlots>(6), // (0x0 0) SlotDebugData { name: "", ty: UInt<2> },
src: StatePartIndex<BigSlots>(11), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::mem::r0.addr", ty: UInt<2> },
},
61: IsNonZeroDestIsSmall {
dest: StatePartIndex<SmallSlots>(5), // (0x1 1) SlotDebugData { name: "", ty: Bool },
src: StatePartIndex<BigSlots>(12), // (0x1) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::mem::r0.en", ty: Bool },
},
62: BranchIfSmallZero {
target: 65,
value: StatePartIndex<SmallSlots>(5), // (0x1 1) SlotDebugData { name: "", ty: Bool },
},
63: MemoryReadUInt {
dest: StatePartIndex<BigSlots>(14), // (0x27) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::mem::r0.data", ty: UInt<8> },
memory: StatePartIndex<Memories>(0), // (MemoryData {
// array_type: Array<UInt<8>, 3>,
// data: [
// // len = 0x3
// [0x0]: 0x27,
// [0x1]: 0x28,
// [0x2]: 0x26,
// ],
// }) (),
addr: StatePartIndex<SmallSlots>(6), // (0x0 0) SlotDebugData { name: "", ty: UInt<2> },
stride: 8,
start: 0,
width: 8,
},
64: Branch {
target: 66,
},
65: Const {
dest: StatePartIndex<BigSlots>(14), // (0x27) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::mem::r0.data", ty: UInt<8> },
value: 0x0,
},
// at: ready_valid.rs:64:1
66: Copy {
dest: StatePartIndex<BigSlots>(46), // (0x1) SlotDebugData { name: ".0", ty: UInt<1> },
src: StatePartIndex<BigSlots>(48), // (0x1) SlotDebugData { name: "", ty: UInt<1> },
},
67: Copy {
dest: StatePartIndex<BigSlots>(47), // (0x27) SlotDebugData { name: ".1", ty: UInt<8> },
src: StatePartIndex<BigSlots>(14), // (0x27) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::mem::r0.data", ty: UInt<8> },
},
68: Shl {
dest: StatePartIndex<BigSlots>(49), // (0x4e) SlotDebugData { name: "", ty: UInt<9> },
lhs: StatePartIndex<BigSlots>(47), // (0x27) SlotDebugData { name: ".1", ty: UInt<8> },
rhs: 1,
},
69: Or {
dest: StatePartIndex<BigSlots>(50), // (0x4f) SlotDebugData { name: "", ty: UInt<9> },
lhs: StatePartIndex<BigSlots>(46), // (0x1) SlotDebugData { name: ".0", ty: UInt<1> },
rhs: StatePartIndex<BigSlots>(49), // (0x4e) SlotDebugData { name: "", ty: UInt<9> },
},
70: CastToUInt {
dest: StatePartIndex<BigSlots>(51), // (0x4f) SlotDebugData { name: "", ty: UInt<9> },
src: StatePartIndex<BigSlots>(50), // (0x4f) SlotDebugData { name: "", ty: UInt<9> },
dest_width: 9,
},
71: Copy {
dest: StatePartIndex<BigSlots>(52), // (0x4f) SlotDebugData { name: "", ty: Enum {HdlNone, HdlSome(UInt<8>)} },
src: StatePartIndex<BigSlots>(51), // (0x4f) SlotDebugData { name: "", ty: UInt<9> },
},
// at: ready_valid.rs:130:5
72: BranchIfZero {
target: 74,
value: StatePartIndex<BigSlots>(45), // (0x1) SlotDebugData { name: "", ty: Bool },
},
// at: ready_valid.rs:131:9
73: Copy {
dest: StatePartIndex<BigSlots>(6), // (0x4f) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::out.data", ty: Enum {HdlNone, HdlSome(UInt<8>)} },
src: StatePartIndex<BigSlots>(52), // (0x4f) SlotDebugData { name: "", ty: Enum {HdlNone, HdlSome(UInt<8>)} },
},
// at: ready_valid.rs:130:5
74: BranchIfNonZero {
target: 76,
value: StatePartIndex<BigSlots>(45), // (0x1) SlotDebugData { name: "", ty: Bool },
},
// at: ready_valid.rs:136:13
75: Copy {
dest: StatePartIndex<BigSlots>(6), // (0x4f) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::out.data", ty: Enum {HdlNone, HdlSome(UInt<8>)} },
src: StatePartIndex<BigSlots>(54), // (0x0) SlotDebugData { name: "", ty: Enum {HdlNone, HdlSome(UInt<8>)} },
},
// at: ready_valid.rs:91:19
76: IsNonZeroDestIsSmall {
dest: StatePartIndex<SmallSlots>(4), // (0x0 0) SlotDebugData { name: "", ty: Bool },
src: StatePartIndex<BigSlots>(13), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::mem::r0.clk", ty: Clock },
},
77: AndSmall {
dest: StatePartIndex<SmallSlots>(3), // (0x0 0) SlotDebugData { name: "", ty: Bool },
lhs: StatePartIndex<SmallSlots>(4), // (0x0 0) SlotDebugData { name: "", ty: Bool },
rhs: StatePartIndex<SmallSlots>(2), // (0x1 1) SlotDebugData { name: "", ty: Bool },
},
// at: ready_valid.rs:64:1
78: Copy {
dest: StatePartIndex<BigSlots>(8), // (0x4f) SlotDebugData { name: "", ty: UInt<9> },
src: StatePartIndex<BigSlots>(6), // (0x4f) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::out.data", ty: Enum {HdlNone, HdlSome(UInt<8>)} },
},
79: SliceInt {
dest: StatePartIndex<BigSlots>(9), // (0x27) SlotDebugData { name: "", ty: UInt<8> },
src: StatePartIndex<BigSlots>(8), // (0x4f) SlotDebugData { name: "", ty: UInt<9> },
start: 1,
len: 8,
},
// at: ready_valid.rs:79:32
80: AndBigWithSmallImmediate {
dest: StatePartIndex<SmallSlots>(1), // (0x1 1) SlotDebugData { name: "", ty: Enum {HdlNone, HdlSome} },
lhs: StatePartIndex<BigSlots>(6), // (0x4f) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::out.data", ty: Enum {HdlNone, HdlSome(UInt<8>)} },
rhs: 0x1,
},
// at: ready_valid.rs:19:9
81: BranchIfSmallNeImmediate {
target: 83,
lhs: StatePartIndex<SmallSlots>(1), // (0x1 1) SlotDebugData { name: "", ty: Enum {HdlNone, HdlSome} },
rhs: 0x0,
},
// at: ready_valid.rs:20:24
82: Copy {
dest: StatePartIndex<BigSlots>(33), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::firing", ty: Bool },
src: StatePartIndex<BigSlots>(29), // (0x0) SlotDebugData { name: "", ty: Bool },
},
// at: ready_valid.rs:19:9
83: BranchIfSmallNeImmediate {
target: 85,
lhs: StatePartIndex<SmallSlots>(1), // (0x1 1) SlotDebugData { name: "", ty: Enum {HdlNone, HdlSome} },
rhs: 0x1,
},
// at: ready_valid.rs:21:27
84: Copy {
dest: StatePartIndex<BigSlots>(33), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::firing", ty: Bool },
src: StatePartIndex<BigSlots>(7), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::out.ready", ty: Bool },
},
// at: ready_valid.rs:101:5
85: Copy {
dest: StatePartIndex<BigSlots>(32), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::out_firing", ty: Bool },
src: StatePartIndex<BigSlots>(33), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::firing", ty: Bool },
},
// at: ready_valid.rs:156:5
86: BranchIfZero {
target: 91,
value: StatePartIndex<BigSlots>(32), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::out_firing", ty: Bool },
},
// at: ready_valid.rs:158:9
87: BranchIfZero {
target: 89,
value: StatePartIndex<BigSlots>(62), // (0x0) SlotDebugData { name: "", ty: Bool },
},
// at: ready_valid.rs:159:13
88: Copy {
dest: StatePartIndex<BigSlots>(26), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::out_index_reg$next", ty: UInt<2> },
src: StatePartIndex<BigSlots>(59), // (0x0) SlotDebugData { name: "", ty: UInt<2> },
},
// at: ready_valid.rs:158:9
89: BranchIfNonZero {
target: 91,
value: StatePartIndex<BigSlots>(62), // (0x0) SlotDebugData { name: "", ty: Bool },
},
// at: ready_valid.rs:161:13
90: Copy {
dest: StatePartIndex<BigSlots>(26), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::out_index_reg$next", ty: UInt<2> },
src: StatePartIndex<BigSlots>(64), // (0x1) SlotDebugData { name: "", ty: UInt<2> },
},
// at: ready_valid.rs:64:1
91: Copy {
dest: StatePartIndex<BigSlots>(4), // (0x51) SlotDebugData { name: "", ty: UInt<9> },
src: StatePartIndex<BigSlots>(2), // (0x51) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::inp.data", ty: Enum {HdlNone, HdlSome(UInt<8>)} },
},
92: SliceInt {
dest: StatePartIndex<BigSlots>(5), // (0x28) SlotDebugData { name: "", ty: UInt<8> },
src: StatePartIndex<BigSlots>(4), // (0x51) SlotDebugData { name: "", ty: UInt<9> },
start: 1,
len: 8,
},
// at: ready_valid.rs:77:32
93: AndBigWithSmallImmediate {
dest: StatePartIndex<SmallSlots>(0), // (0x1 1) SlotDebugData { name: "", ty: Enum {HdlNone, HdlSome} },
lhs: StatePartIndex<BigSlots>(2), // (0x51) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::inp.data", ty: Enum {HdlNone, HdlSome(UInt<8>)} },
rhs: 0x1,
},
// at: ready_valid.rs:19:9
94: BranchIfSmallNeImmediate {
target: 96,
lhs: StatePartIndex<SmallSlots>(0), // (0x1 1) SlotDebugData { name: "", ty: Enum {HdlNone, HdlSome} },
rhs: 0x0,
},
// at: ready_valid.rs:20:24
95: Copy {
dest: StatePartIndex<BigSlots>(31), // (0x1) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::firing", ty: Bool },
src: StatePartIndex<BigSlots>(29), // (0x0) SlotDebugData { name: "", ty: Bool },
},
// at: ready_valid.rs:19:9
96: BranchIfSmallNeImmediate {
target: 98,
lhs: StatePartIndex<SmallSlots>(0), // (0x1 1) SlotDebugData { name: "", ty: Enum {HdlNone, HdlSome} },
rhs: 0x1,
},
// at: ready_valid.rs:21:27
97: Copy {
dest: StatePartIndex<BigSlots>(31), // (0x1) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::firing", ty: Bool },
src: StatePartIndex<BigSlots>(3), // (0x1) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::inp.ready", ty: Bool },
},
// at: ready_valid.rs:98:5
98: Copy {
dest: StatePartIndex<BigSlots>(30), // (0x1) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::inp_firing", ty: Bool },
src: StatePartIndex<BigSlots>(31), // (0x1) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::firing", ty: Bool },
},
// at: ready_valid.rs:116:5
99: Copy {
dest: StatePartIndex<BigSlots>(16), // (0x1) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::mem::w1.en", ty: Bool },
src: StatePartIndex<BigSlots>(30), // (0x1) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::inp_firing", ty: Bool },
},
// at: ready_valid.rs:91:19
100: IsNonZeroDestIsSmall {
dest: StatePartIndex<SmallSlots>(10), // (0x1 1) SlotDebugData { name: "", ty: Bool },
src: StatePartIndex<BigSlots>(16), // (0x1) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::mem::w1.en", ty: Bool },
},
// at: ready_valid.rs:64:1
101: CmpNe {
dest: StatePartIndex<BigSlots>(55), // (0x1) SlotDebugData { name: "", ty: Bool },
lhs: StatePartIndex<BigSlots>(30), // (0x1) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::inp_firing", ty: Bool },
rhs: StatePartIndex<BigSlots>(32), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::out_firing", ty: Bool },
},
// at: ready_valid.rs:141:5
102: BranchIfZero {
target: 104,
value: StatePartIndex<BigSlots>(55), // (0x1) SlotDebugData { name: "", ty: Bool },
},
// at: ready_valid.rs:142:9
103: Copy {
dest: StatePartIndex<BigSlots>(28), // (0x1) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::maybe_full_reg$next", ty: Bool },
src: StatePartIndex<BigSlots>(30), // (0x1) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::inp_firing", ty: Bool },
},
// at: ready_valid.rs:146:5
104: BranchIfZero {
target: 109,
value: StatePartIndex<BigSlots>(30), // (0x1) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::inp_firing", ty: Bool },
},
// at: ready_valid.rs:148:9
105: BranchIfZero {
target: 107,
value: StatePartIndex<BigSlots>(57), // (0x1) SlotDebugData { name: "", ty: Bool },
},
// at: ready_valid.rs:149:13
106: Copy {
dest: StatePartIndex<BigSlots>(23), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::inp_index_reg$next", ty: UInt<2> },
src: StatePartIndex<BigSlots>(59), // (0x0) SlotDebugData { name: "", ty: UInt<2> },
},
// at: ready_valid.rs:148:9
107: BranchIfNonZero {
target: 109,
value: StatePartIndex<BigSlots>(57), // (0x1) SlotDebugData { name: "", ty: Bool },
},
// at: ready_valid.rs:151:13
108: Copy {
dest: StatePartIndex<BigSlots>(23), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::inp_index_reg$next", ty: UInt<2> },
src: StatePartIndex<BigSlots>(61), // (0x3) SlotDebugData { name: "", ty: UInt<2> },
},
// at: ready_valid.rs:118:30
109: BranchIfSmallNeImmediate {
target: 111,
lhs: StatePartIndex<SmallSlots>(0), // (0x1 1) SlotDebugData { name: "", ty: Enum {HdlNone, HdlSome} },
rhs: 0x1,
},
110: Copy {
dest: StatePartIndex<BigSlots>(42), // (0x28) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::unwrap_or_else_out", ty: UInt<8> },
src: StatePartIndex<BigSlots>(5), // (0x28) SlotDebugData { name: "", ty: UInt<8> },
},
// at: ready_valid.rs:118:5
111: Copy {
dest: StatePartIndex<BigSlots>(18), // (0x28) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::mem::w1.data", ty: UInt<8> },
src: StatePartIndex<BigSlots>(42), // (0x28) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::unwrap_or_else_out", ty: UInt<8> },
},
// at: ready_valid.rs:84:31
112: BranchIfSmallZero {
target: 117,
value: StatePartIndex<SmallSlots>(15), // (0x0 0) SlotDebugData { name: "", ty: Bool },
},
113: BranchIfSmallNonZero {
target: 116,
value: StatePartIndex<SmallSlots>(17), // (0x0 0) SlotDebugData { name: "", ty: Bool },
},
114: Copy {
dest: StatePartIndex<BigSlots>(22), // (0x2) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::inp_index_reg", ty: UInt<2> },
src: StatePartIndex<BigSlots>(23), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::inp_index_reg$next", ty: UInt<2> },
},
115: Branch {
target: 117,
},
116: Copy {
dest: StatePartIndex<BigSlots>(22), // (0x2) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::inp_index_reg", ty: UInt<2> },
src: StatePartIndex<BigSlots>(24), // (0x0) SlotDebugData { name: "", ty: UInt<2> },
},
// at: ready_valid.rs:86:25
117: BranchIfSmallZero {
target: 122,
value: StatePartIndex<SmallSlots>(15), // (0x0 0) SlotDebugData { name: "", ty: Bool },
},
118: BranchIfSmallNonZero {
target: 121,
value: StatePartIndex<SmallSlots>(17), // (0x0 0) SlotDebugData { name: "", ty: Bool },
},
119: Copy {
dest: StatePartIndex<BigSlots>(25), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::out_index_reg", ty: UInt<2> },
src: StatePartIndex<BigSlots>(26), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::out_index_reg$next", ty: UInt<2> },
},
120: Branch {
target: 122,
},
121: Copy {
dest: StatePartIndex<BigSlots>(25), // (0x0) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::out_index_reg", ty: UInt<2> },
src: StatePartIndex<BigSlots>(24), // (0x0) SlotDebugData { name: "", ty: UInt<2> },
},
// at: ready_valid.rs:88:26
122: BranchIfSmallZero {
target: 127,
value: StatePartIndex<SmallSlots>(15), // (0x0 0) SlotDebugData { name: "", ty: Bool },
},
123: BranchIfSmallNonZero {
target: 126,
value: StatePartIndex<SmallSlots>(17), // (0x0 0) SlotDebugData { name: "", ty: Bool },
},
124: Copy {
dest: StatePartIndex<BigSlots>(27), // (0x1) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::maybe_full_reg", ty: Bool },
src: StatePartIndex<BigSlots>(28), // (0x1) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::maybe_full_reg$next", ty: Bool },
},
125: Branch {
target: 127,
},
126: Copy {
dest: StatePartIndex<BigSlots>(27), // (0x1) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::maybe_full_reg", ty: Bool },
src: StatePartIndex<BigSlots>(29), // (0x0) SlotDebugData { name: "", ty: Bool },
},
// at: ready_valid.rs:91:19
127: BranchIfSmallZero {
target: 128,
value: StatePartIndex<SmallSlots>(3), // (0x0 0) SlotDebugData { name: "", ty: Bool },
},
128: BranchIfSmallZero {
target: 136,
value: StatePartIndex<SmallSlots>(8), // (0x0 0) SlotDebugData { name: "", ty: Bool },
},
129: CopySmall {
dest: StatePartIndex<SmallSlots>(12), // (0x1 1) SlotDebugData { name: "", ty: UInt<2> },
src: StatePartIndex<SmallSlots>(11), // (0x2 2) SlotDebugData { name: "", ty: UInt<2> },
},
130: CopySmall {
dest: StatePartIndex<SmallSlots>(13), // (0x1 1) SlotDebugData { name: "", ty: Bool },
src: StatePartIndex<SmallSlots>(10), // (0x1 1) SlotDebugData { name: "", ty: Bool },
},
131: Copy {
dest: StatePartIndex<BigSlots>(20), // (0x28) SlotDebugData { name: "", ty: UInt<8> },
src: StatePartIndex<BigSlots>(18), // (0x28) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::mem::w1.data", ty: UInt<8> },
},
132: Copy {
dest: StatePartIndex<BigSlots>(21), // (0x1) SlotDebugData { name: "", ty: Bool },
src: StatePartIndex<BigSlots>(19), // (0x1) SlotDebugData { name: "InstantiatedModule(queue: queue).queue::mem::w1.mask", ty: Bool },
},
133: BranchIfSmallZero {
target: 136,
value: StatePartIndex<SmallSlots>(13), // (0x1 1) SlotDebugData { name: "", ty: Bool },
},
134: BranchIfZero {
target: 136,
value: StatePartIndex<BigSlots>(21), // (0x1) SlotDebugData { name: "", ty: Bool },
},
135: MemoryWriteUInt {
value: StatePartIndex<BigSlots>(20), // (0x28) SlotDebugData { name: "", ty: UInt<8> },
memory: StatePartIndex<Memories>(0), // (MemoryData {
// array_type: Array<UInt<8>, 3>,
// data: [
// // len = 0x3
// [0x0]: 0x27,
// [0x1]: 0x28,
// [0x2]: 0x26,
// ],
// }) (),
addr: StatePartIndex<SmallSlots>(12), // (0x1 1) SlotDebugData { name: "", ty: UInt<2> },
stride: 8,
start: 0,
width: 8,
},
136: XorSmallImmediate {
dest: StatePartIndex<SmallSlots>(2), // (0x1 1) SlotDebugData { name: "", ty: Bool },
lhs: StatePartIndex<SmallSlots>(4), // (0x0 0) SlotDebugData { name: "", ty: Bool },
rhs: 0x1,
},
137: XorSmallImmediate {
dest: StatePartIndex<SmallSlots>(7), // (0x1 1) SlotDebugData { name: "", ty: Bool },
lhs: StatePartIndex<SmallSlots>(9), // (0x0 0) SlotDebugData { name: "", ty: Bool },
rhs: 0x1,
},
// at: ready_valid.rs:84:31
138: XorSmallImmediate {
dest: StatePartIndex<SmallSlots>(14), // (0x1 1) SlotDebugData { name: "", ty: Bool },
lhs: StatePartIndex<SmallSlots>(16), // (0x0 0) SlotDebugData { name: "", ty: Bool },
rhs: 0x1,
},
// at: ready_valid.rs:64:1
139: Return,
],
..
},
pc: 139,
memory_write_log: [],
memories: StatePart {
value: [
MemoryData {
array_type: Array<UInt<8>, 3>,
data: [
// len = 0x3
[0x0]: 0x27,
[0x1]: 0x28,
[0x2]: 0x26,
],
},
],
},
small_slots: StatePart {
value: [
1,
1,
1,
0,
0,
1,
0,
1,
0,
0,
1,
2,
1,
1,
1,
0,
0,
0,
],
},
big_slots: StatePart {
value: [
0,
0,
81,
1,
81,
40,
79,
0,
79,
39,
2,
0,
1,
0,
39,
2,
1,
0,
40,
1,
40,
1,
2,
0,
0,
0,
0,
1,
1,
0,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
1,
40,
0,
1,
1,
1,
39,
1,
78,
79,
79,
79,
0,
0,
1,
2,
1,
0,
0,
3,
3,
0,
1,
1,
3,
3,
0,
5,
5,
1,
2,
2,
],
},
sim_only_slots: StatePart {
value: [],
},
},
io: Instance {
name: <simulator>::queue,
instantiated: Module {
name: queue,
..
},
},
main_module: SimulationModuleState {
base_targets: [
Instance {
name: <simulator>::queue,
instantiated: Module {
name: queue,
..
},
}.cd,
Instance {
name: <simulator>::queue,
instantiated: Module {
name: queue,
..
},
}.inp,
Instance {
name: <simulator>::queue,
instantiated: Module {
name: queue,
..
},
}.out,
Instance {
name: <simulator>::queue,
instantiated: Module {
name: queue,
..
},
}.count,
],
uninitialized_ios: {},
io_targets: {
Instance {
name: <simulator>::queue,
instantiated: Module {
name: queue,
..
},
}.cd,
Instance {
name: <simulator>::queue,
instantiated: Module {
name: queue,
..
},
}.cd.clk,
Instance {
name: <simulator>::queue,
instantiated: Module {
name: queue,
..
},
}.cd.rst,
Instance {
name: <simulator>::queue,
instantiated: Module {
name: queue,
..
},
}.count,
Instance {
name: <simulator>::queue,
instantiated: Module {
name: queue,
..
},
}.inp,
Instance {
name: <simulator>::queue,
instantiated: Module {
name: queue,
..
},
}.inp.data,
Instance {
name: <simulator>::queue,
instantiated: Module {
name: queue,
..
},
}.inp.ready,
Instance {
name: <simulator>::queue,
instantiated: Module {
name: queue,
..
},
}.out,
Instance {
name: <simulator>::queue,
instantiated: Module {
name: queue,
..
},
}.out.data,
Instance {
name: <simulator>::queue,
instantiated: Module {
name: queue,
..
},
}.out.ready,
},
did_initial_settle: true,
clocks_for_past: {},
},
extern_modules: [],
trace_decls: TraceModule {
name: "queue",
children: [
TraceModuleIO {
name: "cd",
child: TraceBundle {
name: "cd",
fields: [
TraceClock {
location: TraceScalarId(0),
name: "clk",
flow: Source,
},
TraceSyncReset {
location: TraceScalarId(1),
name: "rst",
flow: Source,
},
],
ty: Bundle {
/* offset = 0 */
clk: Clock,
/* offset = 1 */
rst: SyncReset,
},
flow: Source,
},
ty: Bundle {
/* offset = 0 */
clk: Clock,
/* offset = 1 */
rst: SyncReset,
},
flow: Source,
},
TraceModuleIO {
name: "inp",
child: TraceBundle {
name: "inp",
fields: [
TraceEnumWithFields {
name: "data",
discriminant: TraceEnumDiscriminant {
location: TraceScalarId(2),
name: "$tag",
ty: Enum {
HdlNone,
HdlSome(UInt<8>),
},
flow: Source,
},
non_empty_fields: [
TraceUInt {
location: TraceScalarId(3),
name: "HdlSome",
ty: UInt<8>,
flow: Source,
},
],
ty: Enum {
HdlNone,
HdlSome(UInt<8>),
},
flow: Source,
},
TraceBool {
location: TraceScalarId(4),
name: "ready",
flow: Sink,
},
],
ty: Bundle {
/* offset = 0 */
data: Enum {
HdlNone,
HdlSome(UInt<8>),
},
#[hdl(flip)] /* offset = 9 */
ready: Bool,
},
flow: Source,
},
ty: Bundle {
/* offset = 0 */
data: Enum {
HdlNone,
HdlSome(UInt<8>),
},
#[hdl(flip)] /* offset = 9 */
ready: Bool,
},
flow: Source,
},
TraceModuleIO {
name: "out",
child: TraceBundle {
name: "out",
fields: [
TraceEnumWithFields {
name: "data",
discriminant: TraceEnumDiscriminant {
location: TraceScalarId(5),
name: "$tag",
ty: Enum {
HdlNone,
HdlSome(UInt<8>),
},
flow: Sink,
},
non_empty_fields: [
TraceUInt {
location: TraceScalarId(6),
name: "HdlSome",
ty: UInt<8>,
flow: Source,
},
],
ty: Enum {
HdlNone,
HdlSome(UInt<8>),
},
flow: Sink,
},
TraceBool {
location: TraceScalarId(7),
name: "ready",
flow: Source,
},
],
ty: Bundle {
/* offset = 0 */
data: Enum {
HdlNone,
HdlSome(UInt<8>),
},
#[hdl(flip)] /* offset = 9 */
ready: Bool,
},
flow: Sink,
},
ty: Bundle {
/* offset = 0 */
data: Enum {
HdlNone,
HdlSome(UInt<8>),
},
#[hdl(flip)] /* offset = 9 */
ready: Bool,
},
flow: Sink,
},
TraceModuleIO {
name: "count",
child: TraceUInt {
location: TraceScalarId(8),
name: "count",
ty: UInt<2>,
flow: Sink,
},
ty: UInt<2>,
flow: Sink,
},
TraceMem {
id: TraceMemoryId(0),
name: "mem",
stride: 8,
element_type: TraceUInt {
location: TraceMemoryLocation {
id: TraceMemoryId(0),
depth: 3,
stride: 8,
start: 0,
len: 8,
},
name: "mem",
ty: UInt<8>,
flow: Duplex,
},
ports: [
TraceMemPort {
name: "r0",
bundle: TraceBundle {
name: "r0",
fields: [
TraceUInt {
location: TraceScalarId(9),
name: "addr",
ty: UInt<2>,
flow: Sink,
},
TraceBool {
location: TraceScalarId(10),
name: "en",
flow: Sink,
},
TraceClock {
location: TraceScalarId(11),
name: "clk",
flow: Sink,
},
TraceUInt {
location: TraceScalarId(12),
name: "data",
ty: UInt<8>,
flow: Source,
},
],
ty: Bundle {
/* offset = 0 */
addr: UInt<2>,
/* offset = 2 */
en: Bool,
/* offset = 3 */
clk: Clock,
#[hdl(flip)] /* offset = 4 */
data: UInt<8>,
},
flow: Sink,
},
ty: Bundle {
/* offset = 0 */
addr: UInt<2>,
/* offset = 2 */
en: Bool,
/* offset = 3 */
clk: Clock,
#[hdl(flip)] /* offset = 4 */
data: UInt<8>,
},
},
TraceMemPort {
name: "w1",
bundle: TraceBundle {
name: "w1",
fields: [
TraceUInt {
location: TraceScalarId(13),
name: "addr",
ty: UInt<2>,
flow: Sink,
},
TraceBool {
location: TraceScalarId(14),
name: "en",
flow: Sink,
},
TraceClock {
location: TraceScalarId(15),
name: "clk",
flow: Sink,
},
TraceUInt {
location: TraceScalarId(16),
name: "data",
ty: UInt<8>,
flow: Sink,
},
TraceBool {
location: TraceScalarId(17),
name: "mask",
flow: Sink,
},
],
ty: Bundle {
/* offset = 0 */
addr: UInt<2>,
/* offset = 2 */
en: Bool,
/* offset = 3 */
clk: Clock,
/* offset = 4 */
data: UInt<8>,
/* offset = 12 */
mask: Bool,
},
flow: Sink,
},
ty: Bundle {
/* offset = 0 */
addr: UInt<2>,
/* offset = 2 */
en: Bool,
/* offset = 3 */
clk: Clock,
/* offset = 4 */
data: UInt<8>,
/* offset = 12 */
mask: Bool,
},
},
],
array_type: Array<UInt<8>, 3>,
},
TraceReg {
name: "inp_index_reg",
child: TraceUInt {
location: TraceScalarId(18),
name: "inp_index_reg",
ty: UInt<2>,
flow: Duplex,
},
ty: UInt<2>,
},
TraceReg {
name: "out_index_reg",
child: TraceUInt {
location: TraceScalarId(19),
name: "out_index_reg",
ty: UInt<2>,
flow: Duplex,
},
ty: UInt<2>,
},
TraceReg {
name: "maybe_full_reg",
child: TraceBool {
location: TraceScalarId(20),
name: "maybe_full_reg",
flow: Duplex,
},
ty: Bool,
},
TraceWire {
name: "inp_firing",
child: TraceBool {
location: TraceScalarId(21),
name: "inp_firing",
flow: Duplex,
},
ty: Bool,
},
TraceWire {
name: "firing",
child: TraceBool {
location: TraceScalarId(22),
name: "firing",
flow: Duplex,
},
ty: Bool,
},
TraceWire {
name: "out_firing",
child: TraceBool {
location: TraceScalarId(23),
name: "out_firing",
flow: Duplex,
},
ty: Bool,
},
TraceWire {
name: "firing",
child: TraceBool {
location: TraceScalarId(24),
name: "firing",
flow: Duplex,
},
ty: Bool,
},
TraceWire {
name: "indexes_equal",
child: TraceBool {
location: TraceScalarId(25),
name: "indexes_equal",
flow: Duplex,
},
ty: Bool,
},
TraceWire {
name: "empty",
child: TraceBool {
location: TraceScalarId(26),
name: "empty",
flow: Duplex,
},
ty: Bool,
},
TraceWire {
name: "full",
child: TraceBool {
location: TraceScalarId(27),
name: "full",
flow: Duplex,
},
ty: Bool,
},
TraceWire {
name: "unwrap_or_else_out",
child: TraceUInt {
location: TraceScalarId(28),
name: "unwrap_or_else_out",
ty: UInt<8>,
flow: Duplex,
},
ty: UInt<8>,
},
],
},
traces: [
SimTrace {
id: TraceScalarId(0),
kind: BigClock {
index: StatePartIndex<BigSlots>(0),
},
state: 0x0,
last_state: 0x1,
},
SimTrace {
id: TraceScalarId(1),
kind: BigSyncReset {
index: StatePartIndex<BigSlots>(1),
},
state: 0x0,
last_state: 0x0,
},
SimTrace {
id: TraceScalarId(2),
kind: EnumDiscriminant {
index: StatePartIndex<SmallSlots>(0),
ty: Enum {
HdlNone,
HdlSome(UInt<8>),
},
},
state: 0x1,
last_state: 0x1,
},
SimTrace {
id: TraceScalarId(3),
kind: BigUInt {
index: StatePartIndex<BigSlots>(5),
ty: UInt<8>,
},
state: 0x28,
last_state: 0x28,
},
SimTrace {
id: TraceScalarId(4),
kind: BigBool {
index: StatePartIndex<BigSlots>(3),
},
state: 0x1,
last_state: 0x1,
},
SimTrace {
id: TraceScalarId(5),
kind: EnumDiscriminant {
index: StatePartIndex<SmallSlots>(1),
ty: Enum {
HdlNone,
HdlSome(UInt<8>),
},
},
state: 0x1,
last_state: 0x1,
},
SimTrace {
id: TraceScalarId(6),
kind: BigUInt {
index: StatePartIndex<BigSlots>(9),
ty: UInt<8>,
},
state: 0x27,
last_state: 0x27,
},
SimTrace {
id: TraceScalarId(7),
kind: BigBool {
index: StatePartIndex<BigSlots>(7),
},
state: 0x0,
last_state: 0x0,
},
SimTrace {
id: TraceScalarId(8),
kind: BigUInt {
index: StatePartIndex<BigSlots>(10),
ty: UInt<2>,
},
state: 0x2,
last_state: 0x2,
},
SimTrace {
id: TraceScalarId(9),
kind: BigUInt {
index: StatePartIndex<BigSlots>(11),
ty: UInt<2>,
},
state: 0x0,
last_state: 0x0,
},
SimTrace {
id: TraceScalarId(10),
kind: BigBool {
index: StatePartIndex<BigSlots>(12),
},
state: 0x1,
last_state: 0x1,
},
SimTrace {
id: TraceScalarId(11),
kind: BigClock {
index: StatePartIndex<BigSlots>(13),
},
state: 0x0,
last_state: 0x1,
},
SimTrace {
id: TraceScalarId(12),
kind: BigUInt {
index: StatePartIndex<BigSlots>(14),
ty: UInt<8>,
},
state: 0x27,
last_state: 0x27,
},
SimTrace {
id: TraceScalarId(13),
kind: BigUInt {
index: StatePartIndex<BigSlots>(15),
ty: UInt<2>,
},
state: 0x2,
last_state: 0x2,
},
SimTrace {
id: TraceScalarId(14),
kind: BigBool {
index: StatePartIndex<BigSlots>(16),
},
state: 0x1,
last_state: 0x1,
},
SimTrace {
id: TraceScalarId(15),
kind: BigClock {
index: StatePartIndex<BigSlots>(17),
},
state: 0x0,
last_state: 0x1,
},
SimTrace {
id: TraceScalarId(16),
kind: BigUInt {
index: StatePartIndex<BigSlots>(18),
ty: UInt<8>,
},
state: 0x28,
last_state: 0x28,
},
SimTrace {
id: TraceScalarId(17),
kind: BigBool {
index: StatePartIndex<BigSlots>(19),
},
state: 0x1,
last_state: 0x1,
},
SimTrace {
id: TraceScalarId(18),
kind: BigUInt {
index: StatePartIndex<BigSlots>(22),
ty: UInt<2>,
},
state: 0x2,
last_state: 0x2,
},
SimTrace {
id: TraceScalarId(19),
kind: BigUInt {
index: StatePartIndex<BigSlots>(25),
ty: UInt<2>,
},
state: 0x0,
last_state: 0x0,
},
SimTrace {
id: TraceScalarId(20),
kind: BigBool {
index: StatePartIndex<BigSlots>(27),
},
state: 0x1,
last_state: 0x1,
},
SimTrace {
id: TraceScalarId(21),
kind: BigBool {
index: StatePartIndex<BigSlots>(30),
},
state: 0x1,
last_state: 0x1,
},
SimTrace {
id: TraceScalarId(22),
kind: BigBool {
index: StatePartIndex<BigSlots>(31),
},
state: 0x1,
last_state: 0x1,
},
SimTrace {
id: TraceScalarId(23),
kind: BigBool {
index: StatePartIndex<BigSlots>(32),
},
state: 0x0,
last_state: 0x0,
},
SimTrace {
id: TraceScalarId(24),
kind: BigBool {
index: StatePartIndex<BigSlots>(33),
},
state: 0x0,
last_state: 0x0,
},
SimTrace {
id: TraceScalarId(25),
kind: BigBool {
index: StatePartIndex<BigSlots>(34),
},
state: 0x0,
last_state: 0x0,
},
SimTrace {
id: TraceScalarId(26),
kind: BigBool {
index: StatePartIndex<BigSlots>(36),
},
state: 0x0,
last_state: 0x0,
},
SimTrace {
id: TraceScalarId(27),
kind: BigBool {
index: StatePartIndex<BigSlots>(39),
},
state: 0x0,
last_state: 0x0,
},
SimTrace {
id: TraceScalarId(28),
kind: BigUInt {
index: StatePartIndex<BigSlots>(42),
ty: UInt<8>,
},
state: 0x28,
last_state: 0x28,
},
],
trace_memories: {
StatePartIndex<Memories>(0): TraceMem {
id: TraceMemoryId(0),
name: "mem",
stride: 8,
element_type: TraceUInt {
location: TraceMemoryLocation {
id: TraceMemoryId(0),
depth: 3,
stride: 8,
start: 0,
len: 8,
},
name: "mem",
ty: UInt<8>,
flow: Duplex,
},
ports: [
TraceMemPort {
name: "r0",
bundle: TraceBundle {
name: "r0",
fields: [
TraceUInt {
location: TraceScalarId(9),
name: "addr",
ty: UInt<2>,
flow: Sink,
},
TraceBool {
location: TraceScalarId(10),
name: "en",
flow: Sink,
},
TraceClock {
location: TraceScalarId(11),
name: "clk",
flow: Sink,
},
TraceUInt {
location: TraceScalarId(12),
name: "data",
ty: UInt<8>,
flow: Source,
},
],
ty: Bundle {
/* offset = 0 */
addr: UInt<2>,
/* offset = 2 */
en: Bool,
/* offset = 3 */
clk: Clock,
#[hdl(flip)] /* offset = 4 */
data: UInt<8>,
},
flow: Sink,
},
ty: Bundle {
/* offset = 0 */
addr: UInt<2>,
/* offset = 2 */
en: Bool,
/* offset = 3 */
clk: Clock,
#[hdl(flip)] /* offset = 4 */
data: UInt<8>,
},
},
TraceMemPort {
name: "w1",
bundle: TraceBundle {
name: "w1",
fields: [
TraceUInt {
location: TraceScalarId(13),
name: "addr",
ty: UInt<2>,
flow: Sink,
},
TraceBool {
location: TraceScalarId(14),
name: "en",
flow: Sink,
},
TraceClock {
location: TraceScalarId(15),
name: "clk",
flow: Sink,
},
TraceUInt {
location: TraceScalarId(16),
name: "data",
ty: UInt<8>,
flow: Sink,
},
TraceBool {
location: TraceScalarId(17),
name: "mask",
flow: Sink,
},
],
ty: Bundle {
/* offset = 0 */
addr: UInt<2>,
/* offset = 2 */
en: Bool,
/* offset = 3 */
clk: Clock,
/* offset = 4 */
data: UInt<8>,
/* offset = 12 */
mask: Bool,
},
flow: Sink,
},
ty: Bundle {
/* offset = 0 */
addr: UInt<2>,
/* offset = 2 */
en: Bool,
/* offset = 3 */
clk: Clock,
/* offset = 4 */
data: UInt<8>,
/* offset = 12 */
mask: Bool,
},
},
],
array_type: Array<UInt<8>, 3>,
},
},
trace_writers: [
Running(
VcdWriter {
finished_init: true,
timescale: 1 ps,
..
},
),
],
clocks_triggered: [
StatePartIndex<SmallSlots>(3),
StatePartIndex<SmallSlots>(8),
StatePartIndex<SmallSlots>(15),
],
event_queue: EventQueue(EventQueueData {
instant: 100 μs,
events: {},
}),
waiting_sensitivity_sets_by_address: {},
waiting_sensitivity_sets_by_compiled_value: {},
..
}