MCPcopy Create free account
hub / github.com/djhworld/simple-computer / step

Method step

components/stepper.go:76–120  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

74}
75
76func (s *Stepper) step() {
77 s.clockInNotGate.Update(s.clockIn.Get())
78 s.resetNotGate.Update(s.reset.Get())
79
80 s.inputOrGates[0].Update(s.reset.Get(), s.clockInNotGate.Output())
81 s.inputOrGates[1].Update(s.reset.Get(), s.clockIn.Get())
82
83 s.bits[0].Update(s.resetNotGate.Output(), s.inputOrGates[0].Output())
84 s.bits[1].Update(s.bits[0].Get(), s.inputOrGates[1].Output())
85 s.outputNotGates[0].Update(s.bits[1].Get())
86 s.outputOrGate.Update(s.outputNotGates[0].Output(), s.reset.Get())
87
88 s.bits[2].Update(s.bits[1].Get(), s.inputOrGates[0].Output())
89 s.bits[3].Update(s.bits[2].Get(), s.inputOrGates[1].Output())
90 s.outputNotGates[1].Update(s.bits[3].Get())
91 s.outputAndGates[0].Update(s.outputNotGates[1].Output(), s.bits[1].Get())
92
93 s.bits[4].Update(s.bits[3].Get(), s.inputOrGates[0].Output())
94 s.bits[5].Update(s.bits[4].Get(), s.inputOrGates[1].Output())
95 s.outputNotGates[2].Update(s.bits[5].Get())
96 s.outputAndGates[1].Update(s.outputNotGates[2].Output(), s.bits[3].Get())
97
98 s.bits[6].Update(s.bits[5].Get(), s.inputOrGates[0].Output())
99 s.bits[7].Update(s.bits[6].Get(), s.inputOrGates[1].Output())
100 s.outputNotGates[3].Update(s.bits[7].Get())
101 s.outputAndGates[2].Update(s.outputNotGates[3].Output(), s.bits[5].Get())
102
103 s.bits[8].Update(s.bits[7].Get(), s.inputOrGates[0].Output())
104 s.bits[9].Update(s.bits[8].Get(), s.inputOrGates[1].Output())
105 s.outputNotGates[4].Update(s.bits[9].Get())
106 s.outputAndGates[3].Update(s.outputNotGates[4].Output(), s.bits[7].Get())
107
108 s.bits[10].Update(s.bits[9].Get(), s.inputOrGates[0].Output())
109 s.bits[11].Update(s.bits[10].Get(), s.inputOrGates[1].Output())
110 s.outputNotGates[5].Update(s.bits[11].Get())
111 s.outputAndGates[4].Update(s.outputNotGates[5].Output(), s.bits[9].Get())
112
113 s.outputs[0].Update(s.outputOrGate.Output())
114 s.outputs[1].Update(s.outputAndGates[0].Output())
115 s.outputs[2].Update(s.outputAndGates[1].Output())
116 s.outputs[3].Update(s.outputAndGates[2].Output())
117 s.outputs[4].Update(s.outputAndGates[3].Output())
118 s.outputs[5].Update(s.outputAndGates[4].Output())
119 s.outputs[6].Update(s.bits[11].Get())
120}

Callers 1

UpdateMethod · 0.95

Calls 3

UpdateMethod · 0.65
GetMethod · 0.45
OutputMethod · 0.45

Tested by

no test coverage detected