diff --git a/verilog/apr.v b/verilog/apr.v index 3343dd0..956a889 100644 --- a/verilog/apr.v +++ b/verilog/apr.v @@ -450,7 +450,7 @@ module apr( ar_t3 & et4_ar_pse), .p(et4)); pa e_pa5(.clk(clk), .reset(reset), - .in(et4_D & ~et5_inh /* XXX | iot_t3_D*/), + .in(et4_D & ~et5_inh | iot_t3_D), .p(et5)); pa e_pa6(.clk(clk), .reset(reset), .in(et5_D & e_long), @@ -2134,8 +2134,8 @@ module apr( wire iot_final_setup; wire iot_reset; - wire iot_t0 = 0; - wire iot_t0a = 0; + wire iot_t0; + wire iot_t0a; wire iot_t2; wire iot_t3; wire iot_t3a; @@ -2162,6 +2162,12 @@ module apr( pa iot_pa4(.clk(clk), .reset(reset), .in(iot_t3 & iot_datao), .p(iobus_datao_set)); + pa iot_pa5(.clk(clk), .reset(reset), + .in(et4 & iot_blk), + .p(iot_t0)); + pa iot_pa6(.clk(clk), .reset(reset), + .in(mc_rs_t1 & iot_f0a), + .p(iot_t0a)); assign iobus_iob_fm_datai = iot_datai & iot_drive; assign iobus_iob_fm_status = iot_status & iot_drive; wire iob_fm_ar1 = iot_outgoing & iot_drive; diff --git a/verilog/test.gtkw b/verilog/test.gtkw index c8c101b..cce817e 100644 --- a/verilog/test.gtkw +++ b/verilog/test.gtkw @@ -1,15 +1,15 @@ [*] [*] GTKWave Analyzer v3.3.76 (w)1999-2016 BSI -[*] Sun Nov 20 23:19:44 2016 +[*] Mon Nov 21 10:43:37 2016 [*] [dumpfile] "/home/aap/src/pdp6/verilog/dump.vcd" -[dumpfile_mtime] "Sun Nov 20 15:05:49 2016" -[dumpfile_size] 137687 +[dumpfile_mtime] "Mon Nov 21 10:38:44 2016" +[dumpfile_size] 250577 [savefile] "/home/aap/src/pdp6/verilog/test.gtkw" -[timestart] 4220 +[timestart] 4906 [size] 1920 1080 [pos] -1 -1 -*-7.832355 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +*-7.734977 5505 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 [treeopen] test. [treeopen] test.pdp6. [treeopen] test.pdp6.mem0. @@ -60,6 +60,8 @@ test.pdp6.apr0.ir[0:17] test.pdp6.apr0.mb[0:35] test.pdp6.apr0.ar[0:35] test.pdp6.apr0.mq[0:35] +test.pdp6.apr0.sc[0:8] +test.pdp6.apr0.fe[0:8] test.pdp6.apr0.datasw[0:35] test.pdp6.apr0.mas[18:35] @1000200 @@ -386,7 +388,7 @@ test.pdp6.apr0.iot_consz test.pdp6.apr0.iot_conso @1401200 -IOT -@800200 +@c00200 -misc @28 test.pdp6.apr0.ar_com_cont @@ -407,7 +409,7 @@ test.pdp6.apr0.pc_inc_et9 test.pdp6.apr0.pc_inc_inh_et0 test.pdp6.apr0.pc_set_OR_pc_inc test.pdp6.apr0.pc_set_enable -@1000200 +@1401200 -misc @c00200 -cpa @@ -437,5 +439,21 @@ test.pdp6.apr0.iobus_pi_req[1:7] test.pdp6.apr0.cpa_req[1:7] @1401200 -cpa +@800200 +-shift +@28 +test.pdp6.apr0.sht0 +test.pdp6.apr0.sht1 +test.pdp6.apr0.shf1 +@29 +test.pdp6.apr0.sht1a +@200 +- +@28 +test.pdp6.apr0.sct0 +test.pdp6.apr0.sct1 +test.pdp6.apr0.sct2 +@1000200 +-shift [pattern_trace] 1 [pattern_trace] 0 diff --git a/verilog/test.v b/verilog/test.v index 02572a1..b050acf 100644 --- a/verilog/test.v +++ b/verilog/test.v @@ -160,7 +160,7 @@ module test; #20 reset = 0; pdp6.datasw = 36'o111777222666; - pdp6.mas = 18'o000034; + pdp6.mas = 18'o000030; pdp6.fmem0.ff['o0] = 36'o000000_010000; pdp6.fmem0.ff['o1] = 36'o000000_010222; @@ -169,6 +169,7 @@ module test; pdp6.fmem0.ff['o4] = 36'o000000_010304; pdp6.fmem0.ff['o5] = 36'o377777_777777; pdp6.fmem0.ff['o6] = 36'o444000_222000; + pdp6.fmem0.ff['o7] = 36'o777776_000010; pdp6.fmem0.ff['o17] = 36'o777000_001000; // PDL ptr // pdp6.fmem0.ff['o17] = 36'o777000_777777; // PDL ptr pdp6.mem0.core['o20] = 36'o200_064_000104; // MOVE 1,@104(4) FAC_INH @@ -179,15 +180,17 @@ module test; pdp6.mem0.core['o25] = 36'o700240_000005; // CONI APR,5 pdp6.mem0.core['o26] = 36'o700140_000006; // DATAO APR,6 pdp6.mem0.core['o27] = 36'o700040_000005; // DATAI APR,5 - pdp6.mem0.core['o30] = 36'o700640_000005; // CONI APR,5 - pdp6.mem0.core['o31] = 36'o260740_000020; // PUSHJ 17,20 - pdp6.mem0.core['o31] = 36'o250040_000000; // AOS 1, - pdp6.mem0.core['o32] = 36'o270000_000001; // ADD 0,1 - pdp6.mem0.core['o33] = 36'o274000_000001; // SUB 0,1 + pdp6.mem0.core['o30] = 36'o700000_000007; // BLKI APR,7 - pdp6.mem0.core['o34] = 36'o245_100_000003; // ROTC 2,3 - pdp6.mem0.core['o35] = 36'o245_100_777775; // ROTC 2,-3 - pdp6.mem0.core['o36] = 36'o244_100_000001; // ASHC 2,1 + pdp6.mem0.core['o40] = 36'o700640_000005; // CONI APR,5 + pdp6.mem0.core['o41] = 36'o260740_000020; // PUSHJ 17,20 + pdp6.mem0.core['o41] = 36'o250040_000000; // AOS 1, + pdp6.mem0.core['o42] = 36'o270000_000001; // ADD 0,1 + pdp6.mem0.core['o43] = 36'o274000_000001; // SUB 0,1 + + pdp6.mem0.core['o54] = 36'o245_100_000003; // ROTC 2,3 + pdp6.mem0.core['o55] = 36'o245_100_777775; // ROTC 2,-3 + pdp6.mem0.core['o56] = 36'o244_100_000001; // ASHC 2,1 pdp6.mem0.core['o10410] = 36'o000_000_000333; end