https://youtu.be/6vEq3pHZQLw 00:01 user error :D I looked up _grpa1q in the report file instead of grpa1q! 01:15 find grpa1q correctly in seq.rep file: 0.grpa1q/seqcirc[0:0]1 out: J103 13.9, 1.1 1L-U2B => Q.0.grpa1q/seqcirc[0:0]1 => D485 15.1,13.5 D2_1.0._ln_wrt/seqcirc[0:0]2<1> => D283 16.1, 6.4 D3_1.0._alua_m1/seqcirc[0:0]3<1> => D259 15.1, 3.3 D4_1.0._ac_aluq/seqcirc[0:0]3<1> => D460 12.1, 7.2 D5_1.0._alub_ac/seqcirc[0:0]3<1> => D632 10.1,10.3 D6_1.0._endinst/seqcirc[0:0]2<1> in: D251 13.1, 1.1 <= Q.0._grpa1q/seqcirc[0:0]2 ...and it shows -2.0V coming out top pin of J103 for grpa1q which matches the -2.0V we measured for grpa1q going into the _ac_aluq gate 01:50 and we show a strong 1 (+4.0V) going into that gate on D251 02:07 the 7300 opcode is a group 1 instruction, and grpa1q is LOW but should be HIGH, because we are supposed to be doing a group 1 instruction 02:35 and we have +4.1V going into the inverter D251, signal name _grpa1q _grpa1q (active low) --- D251 --- inverter --- J103 --- grpa1q (active high) +4.1V -2.0V 02:50 _grpa1q is HIGH (+4.1V) but it should be LOW because we are doing a group 1 instruction ...so we need to figure out why it is HIGH 03:25 NOW we want the entry for _grpa1q in the seq.rep file: 0._grpa1q/seqcirc[0:0]2 out: J104 14.9, 1.1 1L-U2A => Q.0._grpa1q/seqcirc[0:0]2 => J21 14.3, 0.2 Conn/dcon<6> => D479 15.1, 1.1 D1_1.0.inc_axb/seqcirc[0:0]2<1> => D251 13.1, 1.1 D_1.0.grpa1q/seqcirc[0:0]1<1> => D273 16.1, 4.3 D_2.0._alu_and/seqcirc[0:0]2<1> in: D248 14.1, 1.1 <= Q.0.opr1q/seqcirc[0:0]2 and D249 14.1, 1.3 <= I25/acon _maq[8:8] confirm J104 is still +4.1V 04:23 look for _grpa1q in seq.mod file: _grpa1q = ~ (opr1q & _maq[8]); ...it is a 2-input NAND gate which matches the report entry for J104 that we just got in the last step J104 is the output _grpa1q signal D248 is where the opr1q signal comes in D249 is where the _maq[8] signal comes in opr1q = first exec cycle of an operate instruction _maq[8] = MA register bit 8, active low 06:54 well I should know where it is, because I looked it up 4 minutes ago but here it is again: 0._grpa1q/seqcirc[0:0]2 out: J104 14.9, 1.1 1L-U2A => Q.0._grpa1q/seqcirc[0:0]2 => J21 14.3, 0.2 Conn/dcon<6> => D479 15.1, 1.1 D1_1.0.inc_axb/seqcirc[0:0]2<1> => D251 13.1, 1.1 D_1.0.grpa1q/seqcirc[0:0]1<1> => D273 16.1, 4.3 D_2.0._alu_and/seqcirc[0:0]2<1> in: D248 14.1, 1.1 <= Q.0.opr1q/seqcirc[0:0]2 and D249 14.1, 1.3 <= I25/acon _maq[8:8] [BAD] -5V opr1q ---- D248 ---- NAND ---- J104 ---- +4.1V [BAD] [GOOD] +5V _maq[8] ---- D249 ---- 11:18 search seq.mod for opr1q: opr1q = ~ (_exec1q | _ir_opr); ...which is a 2-input NOR gate _exec1q ------ NOR ----- -5V [RONG] _ir_opr ------ 14:18 search seq.rep for opr1q: 0.opr1q/seqcirc[0:0]2 out: J92 14.9, 2.6 1L-U6A => Q.0.opr1q/seqcirc[0:0]2 => D248 14.1, 1.1 D_1.0._grpa1q/seqcirc[0:0]2<1> => D208 14.1,13.1 D_1.~0.grpb1q/seqcirc[0:0]1<1> in: D204 14.1, 2.6 <= Q.f.0.DFF/exec1/seqcirc or D206 14.1, 3.0 <= Q.0._ir_opr/seqcirc[0:0]2 [BAAD] _exec1q +3.7V ----- D204 ------ NOR ----- J92 ------ -5.1V [RONG] [GOOD] _ir_opr -8.6V ----- D206 ------ 18:55 check if test program reports EXEC1 pin on backplane is in error, and it did report the error 20:08 search seq.rep for the exec1 flipflop 0.DFF/exec1/seqcirc f Q out: J50 6.9,11.6 4R-U6A => Q.f.0.DFF/exec1/seqcirc => D158 10.1, 7.3 D1_1.0.arith1q/seqcirc[0:0]2<1> => D177 13.1, 8.6 D1_1.0.dca1q/seqcirc[0:0]2<1> => D275 15.1,11.6 D1_1.0.iot1q/seqcirc[0:0]2<1> => D185 11.1,10.9 D1_1.0.isz1q/seqcirc[0:0]2<1> => D139 13.1, 5.6 D1_1.0.jmp1q/seqcirc[0:0]2<1> => D147 15.1,10.1 D1_1.0.jms1q/seqcirc[0:0]2<1> => D204 14.1, 2.6 D1_1.0.opr1q/seqcirc[0:0]2<1> => D97 5.1,11.8 D_2.e.0.DFF/exec1/seqcirc<1> e _Q out: J49 5.9,11.6 4R-U6B => Q.e.0.DFF/exec1/seqcirc => J21 14.7, 0.2 Conn/dcon<10> => D590 9.1,13.5 D2_1.0._exec2d/seqcirc[0:0]5<1> => D292 12.1, 3.1 D4_1.0._alua_ma/seqcirc[0:0]4<1> => D295 12.1, 3.5 D5_1.0._alua_ma/seqcirc[0:0]4<1> => D475 16.1,13.1 D_1.0._dfrm/seqcirc[0:0]2<1> => D118 13.1, 7.1 D_1.0._jump/seqcirc[0:0]2<1> => D99 6.1,11.6 D_1.f.0.DFF/exec1/seqcirc<1> a D in: D82 1.1,11.6 <= Q.0._exec1d/seqcirc[0:0]6 b T in: D86 2.1,11.8 <= Q.0.clok0c/seqcirc[0:0]1 c T in: D89 3.1,11.6 <= Q.0.clok0c/seqcirc[0:0]1 d _PS in: D94 4.1,12.0 <= Q.0._resetc/seqcirc[0:0]1 f _PS in: D101 6.1,12.0 <= Q.0._resetc/seqcirc[0:0]1 +---------+ | | | D Q | | | | | | T _Q | | | +---------+ 22:10 look for EXEC1 flipflop in seq.mod: exec1: DFF (_PS:_resetc, _PC:1, T:clok0c, D:_exec1d, Q:_exec1q, _Q:exec1q); the D input is _exec1d which is an ACTIVE LOW input signal and the Q output is _exec1q which is an ACTIVE LOW output and the _Q output is exec1q which is an ACTIVE HIGH output so we can label our flipflop: +---------+ | | _exec1d | D Q | _exec1q - active low J50 -- +3.8V | | | | | T _Q | exec1q - active high J49 -- -0.6V | | +---------+ 26:10 it should be in EXEC1 state so J49 should be HIGH and J50 should be LOW Next part will be to write a little test script to pound the flipflop and measure it with the oscilloscope.