Simulation { state: State { insns: Insns { state_layout: StateLayout { ty: TypeLayout { small_slots: StatePartLayout { len: 6, debug_data: [ 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: Enum { A, B, C, }, }, ], .. }, big_slots: StatePartLayout { len: 103, debug_data: [ SlotDebugData { name: "InstantiatedModule(enums: enums).enums::cd.clk", ty: Clock, }, SlotDebugData { name: "InstantiatedModule(enums: enums).enums::cd.rst", ty: SyncReset, }, SlotDebugData { name: "InstantiatedModule(enums: enums).enums::en", ty: Bool, }, SlotDebugData { name: "InstantiatedModule(enums: enums).enums::which_in", ty: UInt<2>, }, SlotDebugData { name: "InstantiatedModule(enums: enums).enums::data_in", ty: UInt<4>, }, SlotDebugData { name: "InstantiatedModule(enums: enums).enums::which_out", ty: UInt<2>, }, SlotDebugData { name: "InstantiatedModule(enums: enums).enums::data_out", ty: UInt<4>, }, SlotDebugData { name: "InstantiatedModule(enums: enums).enums::b_out", ty: Enum { HdlNone, HdlSome(Bundle {0: UInt<1>, 1: Bool}), }, }, SlotDebugData { name: ".0", ty: UInt<1>, }, SlotDebugData { name: ".1", ty: Bool, }, SlotDebugData { name: "", ty: UInt<3>, }, SlotDebugData { name: "", ty: UInt<2>, }, SlotDebugData { name: "", ty: UInt<1>, }, SlotDebugData { name: "", ty: UInt<1>, }, SlotDebugData { name: "", ty: Bool, }, SlotDebugData { name: "InstantiatedModule(enums: enums).enums::the_reg", ty: Enum { A, B(Bundle {0: UInt<1>, 1: Bool}), C(Bundle {a: Array, 2>, b: SInt<2>}), }, }, SlotDebugData { name: "InstantiatedModule(enums: enums).enums::the_reg$next", ty: Enum { A, B(Bundle {0: UInt<1>, 1: Bool}), C(Bundle {a: Array, 2>, b: SInt<2>}), }, }, SlotDebugData { name: "", ty: UInt<6>, }, SlotDebugData { name: "", ty: Enum { A, B(Bundle {0: UInt<1>, 1: Bool}), C(Bundle {a: Array, 2>, b: SInt<2>}), }, }, SlotDebugData { name: ".0", ty: UInt<1>, }, SlotDebugData { name: ".1", ty: Bool, }, SlotDebugData { name: "", ty: UInt<6>, }, SlotDebugData { name: "", ty: UInt<2>, }, SlotDebugData { name: "", ty: UInt<1>, }, SlotDebugData { name: "", ty: UInt<1>, }, SlotDebugData { name: "", ty: Bool, }, SlotDebugData { name: ".a[0]", ty: UInt<1>, }, SlotDebugData { name: ".a[1]", ty: UInt<1>, }, SlotDebugData { name: ".b", ty: SInt<2>, }, SlotDebugData { name: "[0]", ty: UInt<1>, }, SlotDebugData { name: "[1]", ty: UInt<1>, }, SlotDebugData { name: "", ty: UInt<4>, }, SlotDebugData { name: "", ty: UInt<2>, }, SlotDebugData { name: "", ty: UInt<1>, }, SlotDebugData { name: "", ty: UInt<1>, }, SlotDebugData { name: "", ty: UInt<2>, }, SlotDebugData { name: "", ty: SInt<2>, }, SlotDebugData { name: "", ty: UInt<2>, }, SlotDebugData { name: "", ty: Bool, }, SlotDebugData { name: "", ty: UInt<2>, }, SlotDebugData { name: "", ty: Bool, }, SlotDebugData { name: ".0", ty: UInt<2>, }, SlotDebugData { name: ".1.0", ty: UInt<1>, }, SlotDebugData { name: ".1.1", ty: Bool, }, SlotDebugData { name: ".0", ty: UInt<1>, }, SlotDebugData { name: ".1", ty: Bool, }, SlotDebugData { name: "", ty: UInt<1>, }, SlotDebugData { name: "", ty: Bool, }, SlotDebugData { name: "", ty: UInt<1>, }, SlotDebugData { name: "", ty: UInt<1>, }, SlotDebugData { name: "", ty: Bool, }, SlotDebugData { name: "", ty: UInt<1>, }, SlotDebugData { name: "", ty: UInt<2>, }, SlotDebugData { name: "", ty: UInt<2>, }, SlotDebugData { name: "", ty: UInt<4>, }, SlotDebugData { name: "", ty: UInt<4>, }, SlotDebugData { name: "", ty: UInt<6>, }, SlotDebugData { name: "", ty: Enum { A, B(Bundle {0: UInt<1>, 1: Bool}), C(Bundle {a: Array, 2>, b: SInt<2>}), }, }, SlotDebugData { name: ".0", ty: UInt<2>, }, SlotDebugData { name: ".1.a[0]", ty: UInt<1>, }, SlotDebugData { name: ".1.a[1]", ty: UInt<1>, }, SlotDebugData { name: ".1.b", ty: SInt<2>, }, SlotDebugData { name: "", ty: UInt<2>, }, SlotDebugData { name: ".a[0]", ty: UInt<1>, }, SlotDebugData { name: ".a[1]", ty: UInt<1>, }, SlotDebugData { name: ".b", ty: SInt<2>, }, SlotDebugData { name: "[0]", ty: UInt<1>, }, SlotDebugData { name: "[1]", ty: UInt<1>, }, SlotDebugData { name: "", ty: UInt<1>, }, SlotDebugData { name: "", ty: UInt<2>, }, SlotDebugData { name: "", ty: SInt<2>, }, SlotDebugData { name: "", ty: UInt<2>, }, SlotDebugData { name: "", ty: UInt<2>, }, SlotDebugData { name: "", ty: UInt<2>, }, SlotDebugData { name: "", ty: UInt<4>, }, SlotDebugData { name: "", ty: UInt<4>, }, SlotDebugData { name: "", ty: UInt<6>, }, SlotDebugData { name: "", ty: UInt<6>, }, SlotDebugData { name: "", ty: UInt<6>, }, SlotDebugData { name: "", ty: Enum { A, B(Bundle {0: UInt<1>, 1: Bool}), C(Bundle {a: Array, 2>, b: SInt<2>}), }, }, SlotDebugData { name: "", ty: UInt<3>, }, SlotDebugData { name: "", ty: Enum { HdlNone, HdlSome(Bundle {0: UInt<1>, 1: Bool}), }, }, SlotDebugData { name: "", ty: UInt<4>, }, SlotDebugData { name: "", ty: UInt<1>, }, SlotDebugData { name: "", ty: UInt<2>, }, SlotDebugData { name: "", ty: UInt<2>, }, SlotDebugData { name: "", ty: UInt<4>, }, SlotDebugData { name: ".0", ty: UInt<1>, }, SlotDebugData { name: ".1.0", ty: UInt<1>, }, SlotDebugData { name: ".1.1", ty: Bool, }, SlotDebugData { name: "", ty: UInt<1>, }, SlotDebugData { name: "", ty: UInt<1>, }, SlotDebugData { name: "", ty: UInt<2>, }, SlotDebugData { name: "", ty: UInt<2>, }, SlotDebugData { name: "", ty: UInt<3>, }, SlotDebugData { name: "", ty: UInt<3>, }, SlotDebugData { name: "", ty: UInt<3>, }, SlotDebugData { name: "", ty: Enum { HdlNone, HdlSome(Bundle {0: UInt<1>, 1: Bool}), }, }, SlotDebugData { name: "", ty: UInt<2>, }, SlotDebugData { name: "", ty: UInt<2>, }, SlotDebugData { name: "", ty: UInt<2>, }, SlotDebugData { name: "", ty: UInt<4>, }, SlotDebugData { name: "", ty: UInt<4>, }, ], .. }, }, memories: StatePartLayout { len: 0, debug_data: [], layout_data: [], .. }, }, insns: [ // at: module-XXXXXXXXXX.rs:1:1 0: Const { dest: StatePartIndex(90), // (0x1) SlotDebugData { name: "", ty: UInt<1> }, value: 0x1, }, 1: Const { dest: StatePartIndex(82), // (0x0) SlotDebugData { name: "", ty: UInt<4> }, value: 0x0, }, 2: Const { dest: StatePartIndex(80), // (0x0) SlotDebugData { name: "", ty: UInt<3> }, value: 0x0, }, 3: Copy { dest: StatePartIndex(81), // (0x0) SlotDebugData { name: "", ty: Enum {HdlNone, HdlSome(Bundle {0: UInt<1>, 1: Bool})} }, src: StatePartIndex(80), // (0x0) SlotDebugData { name: "", ty: UInt<3> }, }, // at: module-XXXXXXXXXX.rs:16:1 4: Copy { dest: StatePartIndex(7), // (0x0) SlotDebugData { name: "InstantiatedModule(enums: enums).enums::b_out", ty: Enum {HdlNone, HdlSome(Bundle {0: UInt<1>, 1: Bool})} }, src: StatePartIndex(81), // (0x0) SlotDebugData { name: "", ty: Enum {HdlNone, HdlSome(Bundle {0: UInt<1>, 1: Bool})} }, }, // at: module-XXXXXXXXXX.rs:1:1 5: SliceInt { dest: StatePartIndex(69), // (0x3) SlotDebugData { name: "", ty: UInt<2> }, src: StatePartIndex(4), // (0xf) SlotDebugData { name: "InstantiatedModule(enums: enums).enums::data_in", ty: UInt<4> }, start: 2, len: 2, }, 6: CastToSInt { dest: StatePartIndex(70), // (-0x1) SlotDebugData { name: "", ty: SInt<2> }, src: StatePartIndex(69), // (0x3) SlotDebugData { name: "", ty: UInt<2> }, dest_width: 2, }, 7: Const { dest: StatePartIndex(62), // (0x2) SlotDebugData { name: "", ty: UInt<2> }, value: 0x2, }, 8: SliceInt { dest: StatePartIndex(49), // (0x1) SlotDebugData { name: "", ty: UInt<1> }, src: StatePartIndex(4), // (0xf) SlotDebugData { name: "InstantiatedModule(enums: enums).enums::data_in", ty: UInt<4> }, start: 1, len: 1, }, 9: Copy { dest: StatePartIndex(50), // (0x1) SlotDebugData { name: "", ty: Bool }, src: StatePartIndex(49), // (0x1) SlotDebugData { name: "", ty: UInt<1> }, }, 10: Copy { dest: StatePartIndex(68), // (0x1) SlotDebugData { name: "", ty: UInt<1> }, src: StatePartIndex(50), // (0x1) SlotDebugData { name: "", ty: Bool }, }, 11: SliceInt { dest: StatePartIndex(46), // (0x1) SlotDebugData { name: "", ty: UInt<1> }, src: StatePartIndex(4), // (0xf) SlotDebugData { name: "InstantiatedModule(enums: enums).enums::data_in", ty: UInt<4> }, start: 0, len: 1, }, 12: Copy { dest: StatePartIndex(47), // (0x1) SlotDebugData { name: "", ty: Bool }, src: StatePartIndex(46), // (0x1) SlotDebugData { name: "", ty: UInt<1> }, }, 13: Copy { dest: StatePartIndex(48), // (0x1) SlotDebugData { name: "", ty: UInt<1> }, src: StatePartIndex(47), // (0x1) SlotDebugData { name: "", ty: Bool }, }, 14: Copy { dest: StatePartIndex(44), // (0x1) SlotDebugData { name: ".0", ty: UInt<1> }, src: StatePartIndex(48), // (0x1) SlotDebugData { name: "", ty: UInt<1> }, }, 15: Copy { dest: StatePartIndex(45), // (0x1) SlotDebugData { name: ".1", ty: Bool }, src: StatePartIndex(50), // (0x1) SlotDebugData { name: "", ty: Bool }, }, 16: Copy { dest: StatePartIndex(66), // (0x1) SlotDebugData { name: "[0]", ty: UInt<1> }, src: StatePartIndex(48), // (0x1) SlotDebugData { name: "", ty: UInt<1> }, }, 17: Copy { dest: StatePartIndex(67), // (0x1) SlotDebugData { name: "[1]", ty: UInt<1> }, src: StatePartIndex(68), // (0x1) SlotDebugData { name: "", ty: UInt<1> }, }, 18: Copy { dest: StatePartIndex(63), // (0x1) SlotDebugData { name: ".a[0]", ty: UInt<1> }, src: StatePartIndex(66), // (0x1) SlotDebugData { name: "[0]", ty: UInt<1> }, }, 19: Copy { dest: StatePartIndex(64), // (0x1) SlotDebugData { name: ".a[1]", ty: UInt<1> }, src: StatePartIndex(67), // (0x1) SlotDebugData { name: "[1]", ty: UInt<1> }, }, 20: Copy { dest: StatePartIndex(65), // (-0x1) SlotDebugData { name: ".b", ty: SInt<2> }, src: StatePartIndex(70), // (-0x1) SlotDebugData { name: "", ty: SInt<2> }, }, 21: Copy { dest: StatePartIndex(58), // (0x2) SlotDebugData { name: ".0", ty: UInt<2> }, src: StatePartIndex(62), // (0x2) SlotDebugData { name: "", ty: UInt<2> }, }, 22: Copy { dest: StatePartIndex(59), // (0x1) SlotDebugData { name: ".1.a[0]", ty: UInt<1> }, src: StatePartIndex(63), // (0x1) SlotDebugData { name: ".a[0]", ty: UInt<1> }, }, 23: Copy { dest: StatePartIndex(60), // (0x1) SlotDebugData { name: ".1.a[1]", ty: UInt<1> }, src: StatePartIndex(64), // (0x1) SlotDebugData { name: ".a[1]", ty: UInt<1> }, }, 24: Copy { dest: StatePartIndex(61), // (-0x1) SlotDebugData { name: ".1.b", ty: SInt<2> }, src: StatePartIndex(65), // (-0x1) SlotDebugData { name: ".b", ty: SInt<2> }, }, 25: Shl { dest: StatePartIndex(71), // (0x2) SlotDebugData { name: "", ty: UInt<2> }, lhs: StatePartIndex(60), // (0x1) SlotDebugData { name: ".1.a[1]", ty: UInt<1> }, rhs: 1, }, 26: Or { dest: StatePartIndex(72), // (0x3) SlotDebugData { name: "", ty: UInt<2> }, lhs: StatePartIndex(59), // (0x1) SlotDebugData { name: ".1.a[0]", ty: UInt<1> }, rhs: StatePartIndex(71), // (0x2) SlotDebugData { name: "", ty: UInt<2> }, }, 27: CastToUInt { dest: StatePartIndex(73), // (0x3) SlotDebugData { name: "", ty: UInt<2> }, src: StatePartIndex(61), // (-0x1) SlotDebugData { name: ".1.b", ty: SInt<2> }, dest_width: 2, }, 28: Shl { dest: StatePartIndex(74), // (0xc) SlotDebugData { name: "", ty: UInt<4> }, lhs: StatePartIndex(73), // (0x3) SlotDebugData { name: "", ty: UInt<2> }, rhs: 2, }, 29: Or { dest: StatePartIndex(75), // (0xf) SlotDebugData { name: "", ty: UInt<4> }, lhs: StatePartIndex(72), // (0x3) SlotDebugData { name: "", ty: UInt<2> }, rhs: StatePartIndex(74), // (0xc) SlotDebugData { name: "", ty: UInt<4> }, }, 30: Shl { dest: StatePartIndex(76), // (0x3c) SlotDebugData { name: "", ty: UInt<6> }, lhs: StatePartIndex(75), // (0xf) SlotDebugData { name: "", ty: UInt<4> }, rhs: 2, }, 31: Or { dest: StatePartIndex(77), // (0x3e) SlotDebugData { name: "", ty: UInt<6> }, lhs: StatePartIndex(58), // (0x2) SlotDebugData { name: ".0", ty: UInt<2> }, rhs: StatePartIndex(76), // (0x3c) SlotDebugData { name: "", ty: UInt<6> }, }, 32: CastToUInt { dest: StatePartIndex(78), // (0x3e) SlotDebugData { name: "", ty: UInt<6> }, src: StatePartIndex(77), // (0x3e) SlotDebugData { name: "", ty: UInt<6> }, dest_width: 6, }, 33: Copy { dest: StatePartIndex(79), // (0x3e) SlotDebugData { name: "", ty: Enum {A, B(Bundle {0: UInt<1>, 1: Bool}), C(Bundle {a: Array, 2>, b: SInt<2>})} }, src: StatePartIndex(78), // (0x3e) SlotDebugData { name: "", ty: UInt<6> }, }, 34: Const { dest: StatePartIndex(39), // (0x1) SlotDebugData { name: "", ty: UInt<2> }, value: 0x1, }, 35: CmpEq { dest: StatePartIndex(40), // (0x0) SlotDebugData { name: "", ty: Bool }, lhs: StatePartIndex(3), // (0x2) SlotDebugData { name: "InstantiatedModule(enums: enums).enums::which_in", ty: UInt<2> }, rhs: StatePartIndex(39), // (0x1) SlotDebugData { name: "", ty: UInt<2> }, }, 36: Copy { dest: StatePartIndex(41), // (0x1) SlotDebugData { name: ".0", ty: UInt<2> }, src: StatePartIndex(39), // (0x1) SlotDebugData { name: "", ty: UInt<2> }, }, 37: Copy { dest: StatePartIndex(42), // (0x1) SlotDebugData { name: ".1.0", ty: UInt<1> }, src: StatePartIndex(44), // (0x1) SlotDebugData { name: ".0", ty: UInt<1> }, }, 38: Copy { dest: StatePartIndex(43), // (0x1) SlotDebugData { name: ".1.1", ty: Bool }, src: StatePartIndex(45), // (0x1) SlotDebugData { name: ".1", ty: Bool }, }, 39: Copy { dest: StatePartIndex(51), // (0x1) SlotDebugData { name: "", ty: UInt<1> }, src: StatePartIndex(43), // (0x1) SlotDebugData { name: ".1.1", ty: Bool }, }, 40: Shl { dest: StatePartIndex(52), // (0x2) SlotDebugData { name: "", ty: UInt<2> }, lhs: StatePartIndex(51), // (0x1) SlotDebugData { name: "", ty: UInt<1> }, rhs: 1, }, 41: Or { dest: StatePartIndex(53), // (0x3) SlotDebugData { name: "", ty: UInt<2> }, lhs: StatePartIndex(42), // (0x1) SlotDebugData { name: ".1.0", ty: UInt<1> }, rhs: StatePartIndex(52), // (0x2) SlotDebugData { name: "", ty: UInt<2> }, }, 42: Shl { dest: StatePartIndex(54), // (0xc) SlotDebugData { name: "", ty: UInt<4> }, lhs: StatePartIndex(53), // (0x3) SlotDebugData { name: "", ty: UInt<2> }, rhs: 2, }, 43: Or { dest: StatePartIndex(55), // (0xd) SlotDebugData { name: "", ty: UInt<4> }, lhs: StatePartIndex(41), // (0x1) SlotDebugData { name: ".0", ty: UInt<2> }, rhs: StatePartIndex(54), // (0xc) SlotDebugData { name: "", ty: UInt<4> }, }, 44: CastToUInt { dest: StatePartIndex(56), // (0xd) SlotDebugData { name: "", ty: UInt<6> }, src: StatePartIndex(55), // (0xd) SlotDebugData { name: "", ty: UInt<4> }, dest_width: 6, }, 45: Copy { dest: StatePartIndex(57), // (0xd) SlotDebugData { name: "", ty: Enum {A, B(Bundle {0: UInt<1>, 1: Bool}), C(Bundle {a: Array, 2>, b: SInt<2>})} }, src: StatePartIndex(56), // (0xd) SlotDebugData { name: "", ty: UInt<6> }, }, 46: Const { dest: StatePartIndex(37), // (0x0) SlotDebugData { name: "", ty: UInt<2> }, value: 0x0, }, 47: CmpEq { dest: StatePartIndex(38), // (0x0) SlotDebugData { name: "", ty: Bool }, lhs: StatePartIndex(3), // (0x2) SlotDebugData { name: "InstantiatedModule(enums: enums).enums::which_in", ty: UInt<2> }, rhs: StatePartIndex(37), // (0x0) SlotDebugData { name: "", ty: UInt<2> }, }, 48: Copy { dest: StatePartIndex(21), // (0x3e) SlotDebugData { name: "", ty: UInt<6> }, src: StatePartIndex(15), // (0x3e) SlotDebugData { name: "InstantiatedModule(enums: enums).enums::the_reg", ty: Enum {A, B(Bundle {0: UInt<1>, 1: Bool}), C(Bundle {a: Array, 2>, b: SInt<2>})} }, }, 49: SliceInt { dest: StatePartIndex(22), // (0x3) SlotDebugData { name: "", ty: UInt<2> }, src: StatePartIndex(21), // (0x3e) SlotDebugData { name: "", ty: UInt<6> }, start: 2, len: 2, }, 50: SliceInt { dest: StatePartIndex(23), // (0x1) SlotDebugData { name: "", ty: UInt<1> }, src: StatePartIndex(22), // (0x3) SlotDebugData { name: "", ty: UInt<2> }, start: 0, len: 1, }, 51: SliceInt { dest: StatePartIndex(24), // (0x1) SlotDebugData { name: "", ty: UInt<1> }, src: StatePartIndex(22), // (0x3) SlotDebugData { name: "", ty: UInt<2> }, start: 1, len: 1, }, 52: Copy { dest: StatePartIndex(25), // (0x1) SlotDebugData { name: "", ty: Bool }, src: StatePartIndex(24), // (0x1) SlotDebugData { name: "", ty: UInt<1> }, }, 53: Copy { dest: StatePartIndex(19), // (0x1) SlotDebugData { name: ".0", ty: UInt<1> }, src: StatePartIndex(23), // (0x1) SlotDebugData { name: "", ty: UInt<1> }, }, 54: Copy { dest: StatePartIndex(20), // (0x1) SlotDebugData { name: ".1", ty: Bool }, src: StatePartIndex(25), // (0x1) SlotDebugData { name: "", ty: Bool }, }, 55: Copy { dest: StatePartIndex(83), // (0x1) SlotDebugData { name: "", ty: UInt<1> }, src: StatePartIndex(20), // (0x1) SlotDebugData { name: ".1", ty: Bool }, }, 56: Shl { dest: StatePartIndex(84), // (0x2) SlotDebugData { name: "", ty: UInt<2> }, lhs: StatePartIndex(83), // (0x1) SlotDebugData { name: "", ty: UInt<1> }, rhs: 1, }, 57: Or { dest: StatePartIndex(85), // (0x3) SlotDebugData { name: "", ty: UInt<2> }, lhs: StatePartIndex(19), // (0x1) SlotDebugData { name: ".0", ty: UInt<1> }, rhs: StatePartIndex(84), // (0x2) SlotDebugData { name: "", ty: UInt<2> }, }, 58: CastToUInt { dest: StatePartIndex(86), // (0x3) SlotDebugData { name: "", ty: UInt<4> }, src: StatePartIndex(85), // (0x3) SlotDebugData { name: "", ty: UInt<2> }, dest_width: 4, }, 59: Copy { dest: StatePartIndex(87), // (0x1) SlotDebugData { name: ".0", ty: UInt<1> }, src: StatePartIndex(90), // (0x1) SlotDebugData { name: "", ty: UInt<1> }, }, 60: Copy { dest: StatePartIndex(88), // (0x1) SlotDebugData { name: ".1.0", ty: UInt<1> }, src: StatePartIndex(19), // (0x1) SlotDebugData { name: ".0", ty: UInt<1> }, }, 61: Copy { dest: StatePartIndex(89), // (0x1) SlotDebugData { name: ".1.1", ty: Bool }, src: StatePartIndex(20), // (0x1) SlotDebugData { name: ".1", ty: Bool }, }, 62: Copy { dest: StatePartIndex(91), // (0x1) SlotDebugData { name: "", ty: UInt<1> }, src: StatePartIndex(89), // (0x1) SlotDebugData { name: ".1.1", ty: Bool }, }, 63: Shl { dest: StatePartIndex(92), // (0x2) SlotDebugData { name: "", ty: UInt<2> }, lhs: StatePartIndex(91), // (0x1) SlotDebugData { name: "", ty: UInt<1> }, rhs: 1, }, 64: Or { dest: StatePartIndex(93), // (0x3) SlotDebugData { name: "", ty: UInt<2> }, lhs: StatePartIndex(88), // (0x1) SlotDebugData { name: ".1.0", ty: UInt<1> }, rhs: StatePartIndex(92), // (0x2) SlotDebugData { name: "", ty: UInt<2> }, }, 65: Shl { dest: StatePartIndex(94), // (0x6) SlotDebugData { name: "", ty: UInt<3> }, lhs: StatePartIndex(93), // (0x3) SlotDebugData { name: "", ty: UInt<2> }, rhs: 1, }, 66: Or { dest: StatePartIndex(95), // (0x7) SlotDebugData { name: "", ty: UInt<3> }, lhs: StatePartIndex(87), // (0x1) SlotDebugData { name: ".0", ty: UInt<1> }, rhs: StatePartIndex(94), // (0x6) SlotDebugData { name: "", ty: UInt<3> }, }, 67: CastToUInt { dest: StatePartIndex(96), // (0x7) SlotDebugData { name: "", ty: UInt<3> }, src: StatePartIndex(95), // (0x7) SlotDebugData { name: "", ty: UInt<3> }, dest_width: 3, }, 68: Copy { dest: StatePartIndex(97), // (0x7) SlotDebugData { name: "", ty: Enum {HdlNone, HdlSome(Bundle {0: UInt<1>, 1: Bool})} }, src: StatePartIndex(96), // (0x7) SlotDebugData { name: "", ty: UInt<3> }, }, 69: SliceInt { dest: StatePartIndex(31), // (0xf) SlotDebugData { name: "", ty: UInt<4> }, src: StatePartIndex(21), // (0x3e) SlotDebugData { name: "", ty: UInt<6> }, start: 2, len: 4, }, 70: SliceInt { dest: StatePartIndex(32), // (0x3) SlotDebugData { name: "", ty: UInt<2> }, src: StatePartIndex(31), // (0xf) SlotDebugData { name: "", ty: UInt<4> }, start: 0, len: 2, }, 71: SliceInt { dest: StatePartIndex(33), // (0x1) SlotDebugData { name: "", ty: UInt<1> }, src: StatePartIndex(32), // (0x3) SlotDebugData { name: "", ty: UInt<2> }, start: 0, len: 1, }, 72: SliceInt { dest: StatePartIndex(34), // (0x1) SlotDebugData { name: "", ty: UInt<1> }, src: StatePartIndex(32), // (0x3) SlotDebugData { name: "", ty: UInt<2> }, start: 1, len: 1, }, 73: Copy { dest: StatePartIndex(29), // (0x1) SlotDebugData { name: "[0]", ty: UInt<1> }, src: StatePartIndex(33), // (0x1) SlotDebugData { name: "", ty: UInt<1> }, }, 74: Copy { dest: StatePartIndex(30), // (0x1) SlotDebugData { name: "[1]", ty: UInt<1> }, src: StatePartIndex(34), // (0x1) SlotDebugData { name: "", ty: UInt<1> }, }, 75: SliceInt { dest: StatePartIndex(35), // (0x3) SlotDebugData { name: "", ty: UInt<2> }, src: StatePartIndex(31), // (0xf) SlotDebugData { name: "", ty: UInt<4> }, start: 2, len: 2, }, 76: CastToSInt { dest: StatePartIndex(36), // (-0x1) SlotDebugData { name: "", ty: SInt<2> }, src: StatePartIndex(35), // (0x3) SlotDebugData { name: "", ty: UInt<2> }, dest_width: 2, }, 77: Copy { dest: StatePartIndex(26), // (0x1) SlotDebugData { name: ".a[0]", ty: UInt<1> }, src: StatePartIndex(29), // (0x1) SlotDebugData { name: "[0]", ty: UInt<1> }, }, 78: Copy { dest: StatePartIndex(27), // (0x1) SlotDebugData { name: ".a[1]", ty: UInt<1> }, src: StatePartIndex(30), // (0x1) SlotDebugData { name: "[1]", ty: UInt<1> }, }, 79: Copy { dest: StatePartIndex(28), // (-0x1) SlotDebugData { name: ".b", ty: SInt<2> }, src: StatePartIndex(36), // (-0x1) SlotDebugData { name: "", ty: SInt<2> }, }, 80: Shl { dest: StatePartIndex(98), // (0x2) SlotDebugData { name: "", ty: UInt<2> }, lhs: StatePartIndex(27), // (0x1) SlotDebugData { name: ".a[1]", ty: UInt<1> }, rhs: 1, }, 81: Or { dest: StatePartIndex(99), // (0x3) SlotDebugData { name: "", ty: UInt<2> }, lhs: StatePartIndex(26), // (0x1) SlotDebugData { name: ".a[0]", ty: UInt<1> }, rhs: StatePartIndex(98), // (0x2) SlotDebugData { name: "", ty: UInt<2> }, }, 82: CastToUInt { dest: StatePartIndex(100), // (0x3) SlotDebugData { name: "", ty: UInt<2> }, src: StatePartIndex(28), // (-0x1) SlotDebugData { name: ".b", ty: SInt<2> }, dest_width: 2, }, 83: Shl { dest: StatePartIndex(101), // (0xc) SlotDebugData { name: "", ty: UInt<4> }, lhs: StatePartIndex(100), // (0x3) SlotDebugData { name: "", ty: UInt<2> }, rhs: 2, }, 84: Or { dest: StatePartIndex(102), // (0xf) SlotDebugData { name: "", ty: UInt<4> }, lhs: StatePartIndex(99), // (0x3) SlotDebugData { name: "", ty: UInt<2> }, rhs: StatePartIndex(101), // (0xc) SlotDebugData { name: "", ty: UInt<4> }, }, // at: module-XXXXXXXXXX.rs:9:1 85: AndBigWithSmallImmediate { dest: StatePartIndex(5), // (0x2 2) SlotDebugData { name: "", ty: Enum {A, B, C} }, lhs: StatePartIndex(15), // (0x3e) SlotDebugData { name: "InstantiatedModule(enums: enums).enums::the_reg", ty: Enum {A, B(Bundle {0: UInt<1>, 1: Bool}), C(Bundle {a: Array, 2>, b: SInt<2>})} }, rhs: 0x3, }, // at: module-XXXXXXXXXX.rs:17:1 86: BranchIfSmallNeImmediate { target: 89, lhs: StatePartIndex(5), // (0x2 2) SlotDebugData { name: "", ty: Enum {A, B, C} }, rhs: 0x0, }, // at: module-XXXXXXXXXX.rs:18:1 87: Copy { dest: StatePartIndex(5), // (0x2) SlotDebugData { name: "InstantiatedModule(enums: enums).enums::which_out", ty: UInt<2> }, src: StatePartIndex(37), // (0x0) SlotDebugData { name: "", ty: UInt<2> }, }, // at: module-XXXXXXXXXX.rs:19:1 88: Copy { dest: StatePartIndex(6), // (0xf) SlotDebugData { name: "InstantiatedModule(enums: enums).enums::data_out", ty: UInt<4> }, src: StatePartIndex(82), // (0x0) SlotDebugData { name: "", ty: UInt<4> }, }, // at: module-XXXXXXXXXX.rs:17:1 89: BranchIfSmallNeImmediate { target: 93, lhs: StatePartIndex(5), // (0x2 2) SlotDebugData { name: "", ty: Enum {A, B, C} }, rhs: 0x1, }, // at: module-XXXXXXXXXX.rs:20:1 90: Copy { dest: StatePartIndex(5), // (0x2) SlotDebugData { name: "InstantiatedModule(enums: enums).enums::which_out", ty: UInt<2> }, src: StatePartIndex(39), // (0x1) SlotDebugData { name: "", ty: UInt<2> }, }, // at: module-XXXXXXXXXX.rs:21:1 91: Copy { dest: StatePartIndex(6), // (0xf) SlotDebugData { name: "InstantiatedModule(enums: enums).enums::data_out", ty: UInt<4> }, src: StatePartIndex(86), // (0x3) SlotDebugData { name: "", ty: UInt<4> }, }, // at: module-XXXXXXXXXX.rs:22:1 92: Copy { dest: StatePartIndex(7), // (0x0) SlotDebugData { name: "InstantiatedModule(enums: enums).enums::b_out", ty: Enum {HdlNone, HdlSome(Bundle {0: UInt<1>, 1: Bool})} }, src: StatePartIndex(97), // (0x7) SlotDebugData { name: "", ty: Enum {HdlNone, HdlSome(Bundle {0: UInt<1>, 1: Bool})} }, }, // at: module-XXXXXXXXXX.rs:17:1 93: BranchIfSmallNeImmediate { target: 96, lhs: StatePartIndex(5), // (0x2 2) SlotDebugData { name: "", ty: Enum {A, B, C} }, rhs: 0x2, }, // at: module-XXXXXXXXXX.rs:23:1 94: Copy { dest: StatePartIndex(5), // (0x2) SlotDebugData { name: "InstantiatedModule(enums: enums).enums::which_out", ty: UInt<2> }, src: StatePartIndex(62), // (0x2) SlotDebugData { name: "", ty: UInt<2> }, }, // at: module-XXXXXXXXXX.rs:24:1 95: Copy { dest: StatePartIndex(6), // (0xf) SlotDebugData { name: "InstantiatedModule(enums: enums).enums::data_out", ty: UInt<4> }, src: StatePartIndex(102), // (0xf) SlotDebugData { name: "", ty: UInt<4> }, }, // at: module-XXXXXXXXXX.rs:9:1 96: IsNonZeroDestIsSmall { dest: StatePartIndex(4), // (0x0 0) SlotDebugData { name: "", ty: Bool }, src: StatePartIndex(1), // (0x0) SlotDebugData { name: "InstantiatedModule(enums: enums).enums::cd.rst", ty: SyncReset }, }, // at: module-XXXXXXXXXX.rs:1:1 97: Const { dest: StatePartIndex(17), // (0x0) SlotDebugData { name: "", ty: UInt<6> }, value: 0x0, }, 98: Copy { dest: StatePartIndex(18), // (0x0) SlotDebugData { name: "", ty: Enum {A, B(Bundle {0: UInt<1>, 1: Bool}), C(Bundle {a: Array, 2>, b: SInt<2>})} }, src: StatePartIndex(17), // (0x0) SlotDebugData { name: "", ty: UInt<6> }, }, // at: module-XXXXXXXXXX.rs:10:1 99: BranchIfZero { target: 107, value: StatePartIndex(2), // (0x1) SlotDebugData { name: "InstantiatedModule(enums: enums).enums::en", ty: Bool }, }, // at: module-XXXXXXXXXX.rs:11:1 100: BranchIfZero { target: 102, value: StatePartIndex(38), // (0x0) SlotDebugData { name: "", ty: Bool }, }, // at: module-XXXXXXXXXX.rs:12:1 101: Copy { dest: StatePartIndex(16), // (0x3e) SlotDebugData { name: "InstantiatedModule(enums: enums).enums::the_reg$next", ty: Enum {A, B(Bundle {0: UInt<1>, 1: Bool}), C(Bundle {a: Array, 2>, b: SInt<2>})} }, src: StatePartIndex(18), // (0x0) SlotDebugData { name: "", ty: Enum {A, B(Bundle {0: UInt<1>, 1: Bool}), C(Bundle {a: Array, 2>, b: SInt<2>})} }, }, // at: module-XXXXXXXXXX.rs:11:1 102: BranchIfNonZero { target: 107, value: StatePartIndex(38), // (0x0) SlotDebugData { name: "", ty: Bool }, }, // at: module-XXXXXXXXXX.rs:13:1 103: BranchIfZero { target: 105, value: StatePartIndex(40), // (0x0) SlotDebugData { name: "", ty: Bool }, }, // at: module-XXXXXXXXXX.rs:14:1 104: Copy { dest: StatePartIndex(16), // (0x3e) SlotDebugData { name: "InstantiatedModule(enums: enums).enums::the_reg$next", ty: Enum {A, B(Bundle {0: UInt<1>, 1: Bool}), C(Bundle {a: Array, 2>, b: SInt<2>})} }, src: StatePartIndex(57), // (0xd) SlotDebugData { name: "", ty: Enum {A, B(Bundle {0: UInt<1>, 1: Bool}), C(Bundle {a: Array, 2>, b: SInt<2>})} }, }, // at: module-XXXXXXXXXX.rs:13:1 105: BranchIfNonZero { target: 107, value: StatePartIndex(40), // (0x0) SlotDebugData { name: "", ty: Bool }, }, // at: module-XXXXXXXXXX.rs:15:1 106: Copy { dest: StatePartIndex(16), // (0x3e) SlotDebugData { name: "InstantiatedModule(enums: enums).enums::the_reg$next", ty: Enum {A, B(Bundle {0: UInt<1>, 1: Bool}), C(Bundle {a: Array, 2>, b: SInt<2>})} }, src: StatePartIndex(79), // (0x3e) SlotDebugData { name: "", ty: Enum {A, B(Bundle {0: UInt<1>, 1: Bool}), C(Bundle {a: Array, 2>, b: SInt<2>})} }, }, // at: module-XXXXXXXXXX.rs:9:1 107: IsNonZeroDestIsSmall { dest: StatePartIndex(3), // (0x1 1) SlotDebugData { name: "", ty: Bool }, src: StatePartIndex(0), // (0x1) SlotDebugData { name: "InstantiatedModule(enums: enums).enums::cd.clk", ty: Clock }, }, 108: AndSmall { dest: StatePartIndex(2), // (0x0 0) SlotDebugData { name: "", ty: Bool }, lhs: StatePartIndex(3), // (0x1 1) SlotDebugData { name: "", ty: Bool }, rhs: StatePartIndex(1), // (0x0 0) SlotDebugData { name: "", ty: Bool }, }, // at: module-XXXXXXXXXX.rs:1:1 109: Copy { dest: StatePartIndex(10), // (0x0) SlotDebugData { name: "", ty: UInt<3> }, src: StatePartIndex(7), // (0x0) SlotDebugData { name: "InstantiatedModule(enums: enums).enums::b_out", ty: Enum {HdlNone, HdlSome(Bundle {0: UInt<1>, 1: Bool})} }, }, 110: SliceInt { dest: StatePartIndex(11), // (0x0) SlotDebugData { name: "", ty: UInt<2> }, src: StatePartIndex(10), // (0x0) SlotDebugData { name: "", ty: UInt<3> }, start: 1, len: 2, }, 111: SliceInt { dest: StatePartIndex(12), // (0x0) SlotDebugData { name: "", ty: UInt<1> }, src: StatePartIndex(11), // (0x0) SlotDebugData { name: "", ty: UInt<2> }, start: 0, len: 1, }, 112: SliceInt { dest: StatePartIndex(13), // (0x0) SlotDebugData { name: "", ty: UInt<1> }, src: StatePartIndex(11), // (0x0) SlotDebugData { name: "", ty: UInt<2> }, start: 1, len: 1, }, 113: Copy { dest: StatePartIndex(14), // (0x0) SlotDebugData { name: "", ty: Bool }, src: StatePartIndex(13), // (0x0) SlotDebugData { name: "", ty: UInt<1> }, }, 114: Copy { dest: StatePartIndex(8), // (0x0) SlotDebugData { name: ".0", ty: UInt<1> }, src: StatePartIndex(12), // (0x0) SlotDebugData { name: "", ty: UInt<1> }, }, 115: Copy { dest: StatePartIndex(9), // (0x0) SlotDebugData { name: ".1", ty: Bool }, src: StatePartIndex(14), // (0x0) SlotDebugData { name: "", ty: Bool }, }, // at: module-XXXXXXXXXX.rs:8:1 116: AndBigWithSmallImmediate { dest: StatePartIndex(0), // (0x0 0) SlotDebugData { name: "", ty: Enum {HdlNone, HdlSome} }, lhs: StatePartIndex(7), // (0x0) SlotDebugData { name: "InstantiatedModule(enums: enums).enums::b_out", ty: Enum {HdlNone, HdlSome(Bundle {0: UInt<1>, 1: Bool})} }, rhs: 0x1, }, // at: module-XXXXXXXXXX.rs:9:1 117: BranchIfSmallZero { target: 122, value: StatePartIndex(2), // (0x0 0) SlotDebugData { name: "", ty: Bool }, }, 118: BranchIfSmallNonZero { target: 121, value: StatePartIndex(4), // (0x0 0) SlotDebugData { name: "", ty: Bool }, }, 119: Copy { dest: StatePartIndex(15), // (0x3e) SlotDebugData { name: "InstantiatedModule(enums: enums).enums::the_reg", ty: Enum {A, B(Bundle {0: UInt<1>, 1: Bool}), C(Bundle {a: Array, 2>, b: SInt<2>})} }, src: StatePartIndex(16), // (0x3e) SlotDebugData { name: "InstantiatedModule(enums: enums).enums::the_reg$next", ty: Enum {A, B(Bundle {0: UInt<1>, 1: Bool}), C(Bundle {a: Array, 2>, b: SInt<2>})} }, }, 120: Branch { target: 122, }, 121: Copy { dest: StatePartIndex(15), // (0x3e) SlotDebugData { name: "InstantiatedModule(enums: enums).enums::the_reg", ty: Enum {A, B(Bundle {0: UInt<1>, 1: Bool}), C(Bundle {a: Array, 2>, b: SInt<2>})} }, src: StatePartIndex(18), // (0x0) SlotDebugData { name: "", ty: Enum {A, B(Bundle {0: UInt<1>, 1: Bool}), C(Bundle {a: Array, 2>, b: SInt<2>})} }, }, 122: XorSmallImmediate { dest: StatePartIndex(1), // (0x0 0) SlotDebugData { name: "", ty: Bool }, lhs: StatePartIndex(3), // (0x1 1) SlotDebugData { name: "", ty: Bool }, rhs: 0x1, }, // at: module-XXXXXXXXXX.rs:1:1 123: Return, ], .. }, pc: 123, memory_write_log: [], memories: StatePart { value: [], }, small_slots: StatePart { value: [ 0, 0, 0, 1, 0, 2, ], }, big_slots: StatePart { value: [ 1, 0, 1, 2, 15, 2, 15, 0, 0, 0, 0, 0, 0, 0, 0, 62, 62, 0, 0, 1, 1, 62, 3, 1, 1, 1, 1, 1, -1, 1, 1, 15, 3, 1, 1, 3, -1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 12, 13, 13, 13, 2, 1, 1, -1, 2, 1, 1, -1, 1, 1, 1, 3, -1, 2, 3, 3, 12, 15, 60, 62, 62, 62, 0, 0, 0, 1, 2, 3, 3, 1, 1, 1, 1, 1, 2, 3, 6, 7, 7, 7, 2, 3, 3, 12, 15, ], }, }, io: Instance { name: ::enums, instantiated: Module { name: enums, .. }, }, uninitialized_inputs: {}, io_targets: { Instance { name: ::enums, instantiated: Module { name: enums, .. }, }.b_out: CompiledValue { layout: CompiledTypeLayout { ty: Enum { HdlNone, HdlSome(Bundle {0: UInt<1>, 1: Bool}), }, layout: TypeLayout { small_slots: StatePartLayout { len: 0, debug_data: [], .. }, big_slots: StatePartLayout { len: 1, debug_data: [ SlotDebugData { name: "InstantiatedModule(enums: enums).enums::b_out", ty: Enum { HdlNone, HdlSome(Bundle {0: UInt<1>, 1: Bool}), }, }, ], .. }, }, body: Scalar, }, range: TypeIndexRange { small_slots: StatePartIndexRange { start: 0, len: 0 }, big_slots: StatePartIndexRange { start: 7, len: 1 }, }, write: None, }, Instance { name: ::enums, instantiated: Module { name: enums, .. }, }.cd: CompiledValue { layout: CompiledTypeLayout { ty: Bundle { /* offset = 0 */ clk: Clock, /* offset = 1 */ rst: SyncReset, }, layout: TypeLayout { small_slots: StatePartLayout { len: 0, debug_data: [], .. }, big_slots: StatePartLayout { len: 2, debug_data: [ SlotDebugData { name: "InstantiatedModule(enums: enums).enums::cd.clk", ty: Clock, }, SlotDebugData { name: "InstantiatedModule(enums: enums).enums::cd.rst", ty: SyncReset, }, ], .. }, }, body: Bundle { fields: [ CompiledBundleField { offset: TypeIndex { small_slots: StatePartIndex(0), big_slots: StatePartIndex(0), }, ty: CompiledTypeLayout { ty: Clock, layout: TypeLayout { small_slots: StatePartLayout { len: 0, debug_data: [], .. }, big_slots: StatePartLayout { len: 1, debug_data: [ SlotDebugData { name: "", ty: Clock, }, ], .. }, }, body: Scalar, }, }, CompiledBundleField { offset: TypeIndex { small_slots: StatePartIndex(0), big_slots: StatePartIndex(1), }, ty: CompiledTypeLayout { ty: SyncReset, layout: TypeLayout { small_slots: StatePartLayout { len: 0, debug_data: [], .. }, big_slots: StatePartLayout { len: 1, debug_data: [ SlotDebugData { name: "", ty: SyncReset, }, ], .. }, }, body: Scalar, }, }, ], }, }, range: TypeIndexRange { small_slots: StatePartIndexRange { start: 0, len: 0 }, big_slots: StatePartIndexRange { start: 0, len: 2 }, }, write: None, }, Instance { name: ::enums, instantiated: Module { name: enums, .. }, }.cd.clk: CompiledValue { layout: CompiledTypeLayout { ty: Clock, layout: TypeLayout { small_slots: StatePartLayout { len: 0, debug_data: [], .. }, big_slots: StatePartLayout { len: 1, debug_data: [ SlotDebugData { name: "", ty: Clock, }, ], .. }, }, body: Scalar, }, range: TypeIndexRange { small_slots: StatePartIndexRange { start: 0, len: 0 }, big_slots: StatePartIndexRange { start: 0, len: 1 }, }, write: None, }, Instance { name: ::enums, instantiated: Module { name: enums, .. }, }.cd.rst: CompiledValue { layout: CompiledTypeLayout { ty: SyncReset, layout: TypeLayout { small_slots: StatePartLayout { len: 0, debug_data: [], .. }, big_slots: StatePartLayout { len: 1, debug_data: [ SlotDebugData { name: "", ty: SyncReset, }, ], .. }, }, body: Scalar, }, range: TypeIndexRange { small_slots: StatePartIndexRange { start: 0, len: 0 }, big_slots: StatePartIndexRange { start: 1, len: 1 }, }, write: None, }, Instance { name: ::enums, instantiated: Module { name: enums, .. }, }.data_in: CompiledValue { layout: CompiledTypeLayout { ty: UInt<4>, layout: TypeLayout { small_slots: StatePartLayout { len: 0, debug_data: [], .. }, big_slots: StatePartLayout { len: 1, debug_data: [ SlotDebugData { name: "InstantiatedModule(enums: enums).enums::data_in", ty: UInt<4>, }, ], .. }, }, body: Scalar, }, range: TypeIndexRange { small_slots: StatePartIndexRange { start: 0, len: 0 }, big_slots: StatePartIndexRange { start: 4, len: 1 }, }, write: None, }, Instance { name: ::enums, instantiated: Module { name: enums, .. }, }.data_out: CompiledValue { layout: CompiledTypeLayout { ty: UInt<4>, layout: TypeLayout { small_slots: StatePartLayout { len: 0, debug_data: [], .. }, big_slots: StatePartLayout { len: 1, debug_data: [ SlotDebugData { name: "InstantiatedModule(enums: enums).enums::data_out", ty: UInt<4>, }, ], .. }, }, body: Scalar, }, range: TypeIndexRange { small_slots: StatePartIndexRange { start: 0, len: 0 }, big_slots: StatePartIndexRange { start: 6, len: 1 }, }, write: None, }, Instance { name: ::enums, instantiated: Module { name: enums, .. }, }.en: CompiledValue { layout: CompiledTypeLayout { ty: Bool, layout: TypeLayout { small_slots: StatePartLayout { len: 0, debug_data: [], .. }, big_slots: StatePartLayout { len: 1, debug_data: [ SlotDebugData { name: "InstantiatedModule(enums: enums).enums::en", ty: Bool, }, ], .. }, }, body: Scalar, }, range: TypeIndexRange { small_slots: StatePartIndexRange { start: 0, len: 0 }, big_slots: StatePartIndexRange { start: 2, len: 1 }, }, write: None, }, Instance { name: ::enums, instantiated: Module { name: enums, .. }, }.which_in: CompiledValue { layout: CompiledTypeLayout { ty: UInt<2>, layout: TypeLayout { small_slots: StatePartLayout { len: 0, debug_data: [], .. }, big_slots: StatePartLayout { len: 1, debug_data: [ SlotDebugData { name: "InstantiatedModule(enums: enums).enums::which_in", ty: UInt<2>, }, ], .. }, }, body: Scalar, }, range: TypeIndexRange { small_slots: StatePartIndexRange { start: 0, len: 0 }, big_slots: StatePartIndexRange { start: 3, len: 1 }, }, write: None, }, Instance { name: ::enums, instantiated: Module { name: enums, .. }, }.which_out: CompiledValue { layout: CompiledTypeLayout { ty: UInt<2>, layout: TypeLayout { small_slots: StatePartLayout { len: 0, debug_data: [], .. }, big_slots: StatePartLayout { len: 1, debug_data: [ SlotDebugData { name: "InstantiatedModule(enums: enums).enums::which_out", ty: UInt<2>, }, ], .. }, }, body: Scalar, }, range: TypeIndexRange { small_slots: StatePartIndexRange { start: 0, len: 0 }, big_slots: StatePartIndexRange { start: 5, len: 1 }, }, write: None, }, }, made_initial_step: true, needs_settle: false, trace_decls: TraceModule { name: "enums", 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: "en", child: TraceBool { location: TraceScalarId(2), name: "en", flow: Source, }, ty: Bool, flow: Source, }, TraceModuleIO { name: "which_in", child: TraceUInt { location: TraceScalarId(3), name: "which_in", ty: UInt<2>, flow: Source, }, ty: UInt<2>, flow: Source, }, TraceModuleIO { name: "data_in", child: TraceUInt { location: TraceScalarId(4), name: "data_in", ty: UInt<4>, flow: Source, }, ty: UInt<4>, flow: Source, }, TraceModuleIO { name: "which_out", child: TraceUInt { location: TraceScalarId(5), name: "which_out", ty: UInt<2>, flow: Sink, }, ty: UInt<2>, flow: Sink, }, TraceModuleIO { name: "data_out", child: TraceUInt { location: TraceScalarId(6), name: "data_out", ty: UInt<4>, flow: Sink, }, ty: UInt<4>, flow: Sink, }, TraceModuleIO { name: "b_out", child: TraceEnumWithFields { name: "b_out", discriminant: TraceEnumDiscriminant { location: TraceScalarId(7), name: "$tag", ty: Enum { HdlNone, HdlSome(Bundle {0: UInt<1>, 1: Bool}), }, flow: Sink, }, non_empty_fields: [ TraceBundle { name: "HdlSome", fields: [ TraceUInt { location: TraceScalarId(8), name: "0", ty: UInt<1>, flow: Source, }, TraceBool { location: TraceScalarId(9), name: "1", flow: Source, }, ], ty: Bundle { /* offset = 0 */ 0: UInt<1>, /* offset = 1 */ 1: Bool, }, flow: Source, }, ], ty: Enum { HdlNone, HdlSome(Bundle {0: UInt<1>, 1: Bool}), }, flow: Sink, }, ty: Enum { HdlNone, HdlSome(Bundle {0: UInt<1>, 1: Bool}), }, flow: Sink, }, TraceReg { name: "the_reg", child: TraceEnumWithFields { name: "the_reg", discriminant: TraceEnumDiscriminant { location: TraceScalarId(10), name: "$tag", ty: Enum { A, B(Bundle {0: UInt<1>, 1: Bool}), C(Bundle {a: Array, 2>, b: SInt<2>}), }, flow: Duplex, }, non_empty_fields: [ TraceBundle { name: "B", fields: [ TraceUInt { location: TraceScalarId(11), name: "0", ty: UInt<1>, flow: Source, }, TraceBool { location: TraceScalarId(12), name: "1", flow: Source, }, ], ty: Bundle { /* offset = 0 */ 0: UInt<1>, /* offset = 1 */ 1: Bool, }, flow: Source, }, TraceBundle { name: "C", fields: [ TraceArray { name: "a", elements: [ TraceUInt { location: TraceScalarId(13), name: "[0]", ty: UInt<1>, flow: Source, }, TraceUInt { location: TraceScalarId(14), name: "[1]", ty: UInt<1>, flow: Source, }, ], ty: Array, 2>, flow: Source, }, TraceSInt { location: TraceScalarId(15), name: "b", ty: SInt<2>, flow: Source, }, ], ty: Bundle { /* offset = 0 */ a: Array, 2>, /* offset = 2 */ b: SInt<2>, }, flow: Source, }, ], ty: Enum { A, B(Bundle {0: UInt<1>, 1: Bool}), C(Bundle {a: Array, 2>, b: SInt<2>}), }, flow: Duplex, }, ty: Enum { A, B(Bundle {0: UInt<1>, 1: Bool}), C(Bundle {a: Array, 2>, b: SInt<2>}), }, }, ], }, traces: [ SimTrace { id: TraceScalarId(0), kind: BigClock { index: StatePartIndex(0), }, state: 0x1, last_state: 0x1, }, SimTrace { id: TraceScalarId(1), kind: BigSyncReset { index: StatePartIndex(1), }, state: 0x0, last_state: 0x0, }, SimTrace { id: TraceScalarId(2), kind: BigBool { index: StatePartIndex(2), }, state: 0x1, last_state: 0x1, }, SimTrace { id: TraceScalarId(3), kind: BigUInt { index: StatePartIndex(3), ty: UInt<2>, }, state: 0x2, last_state: 0x2, }, SimTrace { id: TraceScalarId(4), kind: BigUInt { index: StatePartIndex(4), ty: UInt<4>, }, state: 0xf, last_state: 0xf, }, SimTrace { id: TraceScalarId(5), kind: BigUInt { index: StatePartIndex(5), ty: UInt<2>, }, state: 0x2, last_state: 0x2, }, SimTrace { id: TraceScalarId(6), kind: BigUInt { index: StatePartIndex(6), ty: UInt<4>, }, state: 0xf, last_state: 0xf, }, SimTrace { id: TraceScalarId(7), kind: EnumDiscriminant { index: StatePartIndex(0), ty: Enum { HdlNone, HdlSome(Bundle {0: UInt<1>, 1: Bool}), }, }, state: 0x0, last_state: 0x0, }, SimTrace { id: TraceScalarId(8), kind: BigUInt { index: StatePartIndex(8), ty: UInt<1>, }, state: 0x0, last_state: 0x0, }, SimTrace { id: TraceScalarId(9), kind: BigBool { index: StatePartIndex(9), }, state: 0x0, last_state: 0x0, }, SimTrace { id: TraceScalarId(10), kind: EnumDiscriminant { index: StatePartIndex(5), ty: Enum { A, B(Bundle {0: UInt<1>, 1: Bool}), C(Bundle {a: Array, 2>, b: SInt<2>}), }, }, state: 0x2, last_state: 0x2, }, SimTrace { id: TraceScalarId(11), kind: BigUInt { index: StatePartIndex(19), ty: UInt<1>, }, state: 0x1, last_state: 0x1, }, SimTrace { id: TraceScalarId(12), kind: BigBool { index: StatePartIndex(20), }, state: 0x1, last_state: 0x1, }, SimTrace { id: TraceScalarId(13), kind: BigUInt { index: StatePartIndex(26), ty: UInt<1>, }, state: 0x1, last_state: 0x1, }, SimTrace { id: TraceScalarId(14), kind: BigUInt { index: StatePartIndex(27), ty: UInt<1>, }, state: 0x1, last_state: 0x1, }, SimTrace { id: TraceScalarId(15), kind: BigSInt { index: StatePartIndex(28), ty: SInt<2>, }, state: 0x3, last_state: 0x3, }, ], trace_memories: {}, trace_writers: [ Running( VcdWriter { finished_init: true, timescale: 1 ps, .. }, ), ], instant: 16 μs, clocks_triggered: [ StatePartIndex(2), ], .. }