From 093c51e6255e4863a35d39d5161cd1f5d21b0531 Mon Sep 17 00:00:00 2001 From: brad Date: Sat, 5 Jun 2010 15:58:50 +0000 Subject: [PATCH] --- verif/NOTEs.txt | 55 +++++++++++++++++++++++++++++++++++++++++++++++ verif/fake_uart.v | 30 +++++++++++++++++++------- verif/run.sh | 8 ------- verif/test_pdp8.v | 5 ++--- verif/tss8.cmd | 3 +-- 5 files changed, 80 insertions(+), 21 deletions(-) diff --git a/verif/NOTEs.txt b/verif/NOTEs.txt index 24211d2..3b8aae2 100644 --- a/verif/NOTEs.txt +++ b/verif/NOTEs.txt @@ -262,3 +262,58 @@ rf: read dma to 36777, count 7000; disk_addr 455000 (154112) EMA 45 DMA 5000 rf: write dma to 25777, count 6000; disk_addr 16000 (7168) EMA 1 DMA 6000 xxx boom 5; cycles 1100000 +----------------- + +xxx rf_go! read (rf_da 20000, wc 0, ma 7777) +xxx rf_go! read (rf_da 20000, wc 0, ma 7777) +xxx rf_go! read (rf_da 310000, wc 0, ma 7777) +xxx rf_go! read (rf_da 10000, wc 0, ma 7777) +xxx rf_go! write (rf_da 10000, wc 0, ma 7777) +xxx rf_go! read (rf_da 30000, wc 0, ma 7777) +xxx rf_go! read (rf_da 40000, wc 0, ma 7777) +xxx rf_go! read (rf_da 0, wc 0, ma 7777) +xxx rf_go! read (rf_da 10000, wc 0, ma 7777) +xxx rf_go! read (rf_da 310000, wc 7400, ma 5377) +xxx rf_go! write (rf_da 16000, wc 6000, ma 5777) +xxx rf_go! read (rf_da 0, wc 0, ma 7777) +xxx rf_go! read (rf_da 10000, wc 0, ma 7777) +xxx rf_go! read (rf_da 310400, wc 7400, ma 5377) +xxx rf_go! write (rf_da 16000, wc 6000, ma 5777) +xxx rf_go! read (rf_da 0, wc 0, ma 7777) +xxx rf_go! read (rf_da 321400, wc 7400, ma 7777) +xxx rf_go! read (rf_da 325000, wc 5000, ma 377) +xxx rf_go! read (rf_da 10000, wc 0, ma 7777) +xxx rf_go! read (rf_da 310400, wc 7400, ma 5377) +xxx rf_go! read (rf_da 330000, wc 4400, ma 3377) +xxx rf_go! read (rf_da 333400, wc 7000, ma 6777) +xxx rf_go! write (rf_da 16000, wc 6000, ma 5777) + +rf: start! read disk_addr 0000000 (000 0000) (ma 06604 wc 7601) +rf: start! read disk_addr 0000000 (000 0000) (ma 07004 wc 0001) +rf: start! read disk_addr 0020000 (002 0000) (ma 20000 wc 0001) + +rf: start! read disk_addr 0020000 (002 0000) (ma 00000 wc 0001) +rf: start! read disk_addr 0020000 (002 0000) (ma 20000 wc 0001) +rf: start! read disk_addr 0310000 (031 0000) (ma 10000 wc 0001) +rf: start! read disk_addr 0010000 (001 0000) (ma 10000 wc 0001) +rf: start! write disk_addr 0010000 (001 0000) (ma 10000 wc 0001) +rf: start! read disk_addr 0030000 (003 0000) (ma 00000 wc 0001) +rf: start! read disk_addr 0040000 (004 0000) (ma 10000 wc 0001) +rf: start! read disk_addr 0000000 (000 0000) (ma 20000 wc 0001) +rf: start! read disk_addr 0010000 (001 0000) (ma 20000 wc 0001) +rf: start! read disk_addr 0310000 (031 0000) (ma 25400 wc 7401) +rf: start! write disk_addr 0016000 (001 6000) (ma 26000 wc 6001) +rf: start! read disk_addr 0000000 (000 0000) (ma 20000 wc 0001) +rf: start! read disk_addr 0010000 (001 0000) (ma 20000 wc 0001) +rf: start! read disk_addr 0310400 (031 0400) (ma 25400 wc 7401) +rf: start! write disk_addr 0016000 (001 6000) (ma 26000 wc 6001) +rf: start! read disk_addr 0000000 (000 0000) (ma 20000 wc 0001) +rf: start! read disk_addr 0321400 (032 1400) (ma 30000 wc 7401) +rf: start! read disk_addr 0325000 (032 5000) (ma 30400 wc 5001) +rf: start! read disk_addr 0010000 (001 0000) (ma 20000 wc 0001) +rf: start! read disk_addr 0310400 (031 0400) (ma 25400 wc 7401) +rf: start! read disk_addr 0330000 (033 0000) (ma 33400 wc 4401) +rf: start! read disk_addr 0333400 (033 3400) (ma 37000 wc 7001) +rf: start! write disk_addr 0016000 (001 6000) (ma 26000 wc 6001) + +rf: start! read disk_addr 0000000 (000 0000) (ma 20000 wc 0001) diff --git a/verif/fake_uart.v b/verif/fake_uart.v index 1e64cde..9684e07 100644 --- a/verif/fake_uart.v +++ b/verif/fake_uart.v @@ -57,11 +57,13 @@ module fake_uart(clk, reset, state, begin if (t_state == 1) begin - t_delay = 20; + t_delay = 38/*20*/; end if (t_delay > 0) begin - t_delay = t_delay - 1; + if (state == 4'b0001) + t_delay = t_delay - 1; +// t_delay = t_delay - 1; if (t_delay == 0) begin t_done = 1; @@ -89,7 +91,7 @@ module fake_uart(clk, reset, state, // begin // $display("xxx want input; cycles %d", cycles); // end - if (r_index == r_count && cycles == 200000) + if (r_index == r_count && cycles == 110000/*200000*/) begin rdata[0] = "L"; rdata[1] = "O"; @@ -110,7 +112,7 @@ module fake_uart(clk, reset, state, r_refires = 1; $display("xxx boom 1; cycles %d", cycles); end - if (r_index == r_count && cycles == 300000) + if (r_index == r_count && cycles == 120000/*300000*/) begin rdata[0] = "\215"; r_index = 0; @@ -118,7 +120,7 @@ module fake_uart(clk, reset, state, r_refires = 2; $display("xxx boom 2; cycles %d", cycles); end - if (r_index == r_count && cycles == 400000) + if (r_index == r_count && cycles == 130000/*400000*/) begin rdata[0] = "\215"; r_index = 0; @@ -127,8 +129,9 @@ module fake_uart(clk, reset, state, $display("xxx boom 3; cycles %d", cycles); end //`define msg_rcat 1 -`define msg_rfocal 1 - if (r_index == r_count && cycles == 500000) +//`define msg_rfocal 1 +`define msg_pald 1 + if (r_index == r_count && cycles == 300000/*500000*/) begin `ifdef msg_rcat rdata[0] = "R"; @@ -151,11 +154,22 @@ module fake_uart(clk, reset, state, rdata[7] = "\215"; r_index = 0; r_count = 8; +`endif +`ifdef msg_pald + rdata[0] = "R"; + rdata[1] = " "; + rdata[2] = "P"; + rdata[3] = "A"; + rdata[4] = "L"; + rdata[5] = "D"; + rdata[6] = "\215"; + r_index = 0; + r_count = 7; `endif r_refires = 4; $display("xxx boom 4; cycles %d", cycles); end - if (r_index == r_count && cycles == 600000) + if (r_index == r_count && cycles == 400000/*600000*/) begin rdata[0] = "\215"; r_index = 0; diff --git a/verif/run.sh b/verif/run.sh index c82f3e7..72b3ece 100755 --- a/verif/run.sh +++ b/verif/run.sh @@ -6,14 +6,6 @@ test_pdp8.v exit 0 -../cver/gplcver-2.12a.src/bin/cver \ - +loadvpi=../pli/rf/pli_rf.so:vpi_compat_bootstrap \ - +showpc \ - +cycles=2000000 \ - +pc=07400 \ - test_pdp8.v -exit 0 - # +loadvpi=../pli/disassemble/pli_disassemble.so:vpi_compat_bootstrap \ # diff --git a/verif/test_pdp8.v b/verif/test_pdp8.v index c838235..6e2a067 100644 --- a/verif/test_pdp8.v +++ b/verif/test_pdp8.v @@ -336,11 +336,10 @@ module test; $finish; if (show_one_pc) - #1 $display("pc %o ir %o l%b ac %o ion %o (IF%o DF%o UF%o SF%o IB%o UB%o) %b", + #1 $display("pc %o ir %o l%b ac %o ion %o (IF%o DF%o UF%o SF%o IB%o UB%o)", cpu.pc, cpu.mb, cpu.l, cpu.ac, cpu.interrupt_enable, - cpu.IF, cpu.DF, cpu.UF, cpu.SF, cpu.IB, cpu.UB, - cpu.interrupt_inhibit_delay); + cpu.IF, cpu.DF, cpu.UF, cpu.SF, cpu.IB, cpu.UB); `ifdef xxx if (show_one_pc) diff --git a/verif/tss8.cmd b/verif/tss8.cmd index 78f16b2..98effd4 100644 --- a/verif/tss8.cmd +++ b/verif/tss8.cmd @@ -1,8 +1,7 @@ -load ../tss8/tss8_init.bin set rf enabled set df disabled attach rf rf.dsk -run 24200 +boot rf exit