URL
https://opencores.org/ocsvn/w11/w11/trunk
Subversion Repositories w11
Compare Revisions
- This comparison shows the changes necessary to convert path
/w11
- from Rev 24 to Rev 25
- ↔ Reverse comparison
Rev 24 → Rev 25
/trunk/tools/asm-11/tests/test_0120_op_rg.mac
1,4 → 1,4
; $Id: test_0120_op_rg.mac 501 2013-03-30 13:53:39Z mueller $ |
; $Id: test_0120_op_rg.mac 575 2014-07-27 20:55:41Z mueller $ |
; |
; test opcodes with 1 1/2 operands |
; |
9,7 → 9,6
pa: .word a |
|
sub: rts pc ;;!! 001004: 000207 |
|
jsr pc,sub ;;!! 001006: 004767 177772 |
|
xor r1,a ;;!! 074167 177762 |
19,4 → 18,8
ash #12,r3 ;;!! 072327 000012 |
ashc @#a,r4 ;;!! 073437 001000 |
|
; test call + return aliases too |
sub1: return ;;!! 000207 |
call sub1 ;;!! 004767 177772 |
|
.end |
trunk/tools/asm-11/tests
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/asm-11/tests-err
===================================================================
--- trunk/tools/asm-11/tests-err (revision 24)
+++ trunk/tools/asm-11/tests-err (revision 25)
trunk/tools/asm-11/tests-err
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/asm-11/w11/sys/dl11
===================================================================
--- trunk/tools/asm-11/w11/sys/dl11 (revision 24)
+++ trunk/tools/asm-11/w11/sys/dl11 (revision 25)
trunk/tools/asm-11/w11/sys/dl11
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/asm-11/w11/sys
===================================================================
--- trunk/tools/asm-11/w11/sys (revision 24)
+++ trunk/tools/asm-11/w11/sys (revision 25)
trunk/tools/asm-11/w11/sys
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/asm-11/w11
===================================================================
--- trunk/tools/asm-11/w11 (revision 24)
+++ trunk/tools/asm-11/w11 (revision 25)
trunk/tools/asm-11/w11
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/asm-11
===================================================================
--- trunk/tools/asm-11 (revision 24)
+++ trunk/tools/asm-11 (revision 25)
trunk/tools/asm-11
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/fx2/src/lib
===================================================================
--- trunk/tools/fx2/src/lib (revision 24)
+++ trunk/tools/fx2/src/lib (revision 25)
trunk/tools/fx2/src/lib
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/fx2/src
===================================================================
--- trunk/tools/fx2/src (revision 24)
+++ trunk/tools/fx2/src (revision 25)
trunk/tools/fx2/src
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/fx2/bin
===================================================================
--- trunk/tools/fx2/bin (revision 24)
+++ trunk/tools/fx2/bin (revision 25)
trunk/tools/fx2/bin
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/fx2/sys
===================================================================
--- trunk/tools/fx2/sys (revision 24)
+++ trunk/tools/fx2/sys (revision 25)
trunk/tools/fx2/sys
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/fx2
===================================================================
--- trunk/tools/fx2 (revision 24)
+++ trunk/tools/fx2 (revision 25)
trunk/tools/fx2
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/simh
===================================================================
--- trunk/tools/simh (revision 24)
+++ trunk/tools/simh (revision 25)
trunk/tools/simh
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/tcl/rlink
===================================================================
--- trunk/tools/tcl/rlink (revision 24)
+++ trunk/tools/tcl/rlink (revision 25)
trunk/tools/tcl/rlink
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/tcl/rutil/util.tcl
===================================================================
--- trunk/tools/tcl/rutil/util.tcl (revision 24)
+++ trunk/tools/tcl/rutil/util.tcl (revision 25)
@@ -1,6 +1,6 @@
-# $Id: util.tcl 517 2013-05-09 21:34:45Z mueller $
+# $Id: util.tcl 569 2014-07-13 14:36:32Z mueller $
#
-# Copyright 2011-2013 by Walter F.J. Mueller
+# Copyright 2011-2014 by Walter F.J. Mueller
#
# This program is free software; you may redistribute and/or modify it under
# the terms of the GNU General Public License as published by the Free
@@ -13,6 +13,7 @@
#
# Revision History:
# Date Rev Version Comment
+# 2014-07-12 569 1.0.2 add sxt16 and sxt32
# 2013-05-09 517 1.0.1 add optlist2arr
# 2011-03-27 374 1.0 Initial version
# 2011-03-19 372 0.1 First draft
@@ -24,7 +25,7 @@
namespace eval rutil {
#
- # optlist2arr: process options arguments given as key value list
+ # optlist2arr: process options arguments given as key value list -----------
#
proc optlist2arr {outarrname refarrname optlist} {
upvar $outarrname outarr
@@ -41,7 +42,7 @@
}
#
- # regdsc: setup a register descriptor
+ # regdsc: setup a register descriptor --------------------------------------
#
proc regdsc {name args} {
upvar $name rdsc
@@ -82,7 +83,7 @@
}
#
- # regdsc_print: print register descriptor
+ # regdsc_print: print register descriptor ----------------------------------
#
proc regdsc_print {name} {
upvar $name rdsc
@@ -120,7 +121,7 @@
}
#
- # regbld: build a register value from a list of fields
+ # regbld: build a register value from a list of fields ---------------------
#
proc regbld {name args} {
upvar $name rdsc
@@ -164,7 +165,7 @@
}
#
- # regget: extract field from a register value
+ # regget: extract field from a register value ------------------------------
#
proc regget {name val} {
upvar $name fdsc
@@ -175,7 +176,7 @@
}
#
- # regtxt: convert register value to a text string
+ # regtxt: convert register value to a text string --------------------------
#
proc regtxt {name val} {
upvar $name rdsc
@@ -198,13 +199,36 @@
return $rval
}
#
- # errcnt2txt: returns "PASS" if 0 and "FAIL" otherwise
+ # errcnt2txt: returns "PASS" if 0 and "FAIL" otherwise ---------------------
#
proc errcnt2txt {errcnt} {
if {$errcnt} {return "FAIL"}
return "PASS"
}
+ #
+ # sxt16: 16 bit sign extend ------------------------------------------------
+ #
+ proc sxt16 {val} {
+ if {$val & 0x8000} { # bit 15 set ?
+ set val [expr $val | ~ 077777]; # --> set bits 15 and higher
+ }
+ return $val
+ }
+ #
+ # sxt32: 32 bit sign extend ------------------------------------------------
+ #
+ proc sxt32 {val} {
+ if {$val & 0x80000000} { # bit 31 set ?
+ set val [expr $val | ~ 017777777777]; # --> set bits 31 and higher
+ }
+ return $val
+ }
+
+ #
+ # ! export reg... procs to global scope ------------------------------------
+ #
+
namespace export regdsc
namespace export regdsc_print
namespace export regbld
trunk/tools/tcl/rutil
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/tcl/rbemon
===================================================================
--- trunk/tools/tcl/rbemon (revision 24)
+++ trunk/tools/tcl/rbemon (revision 25)
trunk/tools/tcl/rbemon
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/tcl/rbtest
===================================================================
--- trunk/tools/tcl/rbtest (revision 24)
+++ trunk/tools/tcl/rbtest (revision 25)
trunk/tools/tcl/rbtest
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/tcl/rbbram
===================================================================
--- trunk/tools/tcl/rbbram (revision 24)
+++ trunk/tools/tcl/rbbram (revision 25)
trunk/tools/tcl/rbbram
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/tcl/rbmoni
===================================================================
--- trunk/tools/tcl/rbmoni (revision 24)
+++ trunk/tools/tcl/rbmoni (revision 25)
trunk/tools/tcl/rbmoni
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/tcl/rbs3hio
===================================================================
--- trunk/tools/tcl/rbs3hio (revision 24)
+++ trunk/tools/tcl/rbs3hio (revision 25)
trunk/tools/tcl/rbs3hio
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/tcl/tst_rlink
===================================================================
--- trunk/tools/tcl/tst_rlink (revision 24)
+++ trunk/tools/tcl/tst_rlink (revision 25)
trunk/tools/tcl/tst_rlink
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/tcl/rw11/asm.tcl
===================================================================
--- trunk/tools/tcl/rw11/asm.tcl (revision 24)
+++ trunk/tools/tcl/rw11/asm.tcl (revision 25)
@@ -1,4 +1,4 @@
-# $Id: asm.tcl 552 2014-03-02 23:02:00Z mueller $
+# $Id: asm.tcl 575 2014-07-27 20:55:41Z mueller $
#
# Copyright 2013-2014 by Walter F.J. Mueller
#
@@ -13,6 +13,8 @@
#
# Revision History:
# Date Rev Version Comment
+# 2014-07-26 575 1.0.3 add asmwait_tout variable, use in asmwait
+# 2014-07-10 568 1.0.2 add errcnt return for asmtreg and asmtmem
# 2014-03-01 552 1.0.1 BUGFIX: asmwait checks now pc if stop: defined
# 2013-04-26 510 1.0 Initial version (extracted from util.tcl)
#
@@ -24,6 +26,8 @@
namespace eval rw11 {
+ variable asmwait_tout 10.
+
#
# asmrun: run a program loaded with ldasm
#
@@ -66,8 +70,12 @@
#
# asmwait: wait for completion of a program loaded with ldasm
#
- proc asmwait {cpu symName {tout 10.}} {
+ proc asmwait {cpu symName {tout 0.}} {
upvar 1 $symName sym
+ variable asmwait_tout
+ if {$tout <= 0.} { # if not specified
+ set tout $asmwait_tout; # use default value
+ }
set dt [$cpu wtcpu -reset $tout]
if {$dt >= 0 && [info exists sym(stop)]} {
$cpu cp -rpc -edata $sym(stop)
@@ -84,8 +92,9 @@
foreach key [lsort [array names defs]] {
append cpcmd " -r$key -edata $defs($key)"
}
+ set errbeg [rlc errcnt]
eval $cpu cp $cpcmd
- return ""
+ return [expr [rlc errcnt] - $errbeg]
}
#
@@ -96,8 +105,9 @@
if {$nw == 0} {
error "asmtreg called with empty list"
}
+ set errbeg [rlc errcnt]
$cpu cp -wal $base -brm $nw -edata $list
- return ""
+ return [expr [rlc errcnt] - $errbeg]
}
}
/trunk/tools/tcl/rw11/util.tcl
1,6 → 1,6
# $Id: util.tcl 553 2014-03-17 06:40:08Z mueller $ |
# $Id: util.tcl 575 2014-07-27 20:55:41Z mueller $ |
# |
# Copyright 2013- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
# Copyright 2013-2014 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
# |
# This program is free software; you may redistribute and/or modify it under |
# the terms of the GNU General Public License as published by the Free |
13,6 → 13,9
# |
# Revision History: |
# Date Rev Version Comment |
# 2014-07-26 575 1.2.2 run_pdpcp: add tout argument |
# 2014-06-27 565 1.2.1 temporarily hide RL11 |
# 2014-06-08 561 1.2 setup_sys: add RL11 |
# 2014-03-07 553 1.1.3 move definitions to defs.tcl |
# 2013-05-09 517 1.1.2 add setup_(tt|lp|pp|ostr) device setup procs |
# 2013-04-26 510 1.1.1 split, asm* and tbench* into separate files |
46,6 → 49,7
cpu0 add dl11 |
cpu0 add dl11 -base 0176500 -lam 2 |
cpu0 add rk11 |
## cpu0 add rl11 |
cpu0 add lp11 |
cpu0 add pc11 |
rlw start |
152,9 → 156,9
# |
# run_pdpcp: execute pdpcp type command file |
# |
proc run_pdpcp {fname {cpu "cpu0"}} { |
proc run_pdpcp {fname {tout 10.} {cpu "cpu0"}} { |
rlc errcnt -clear |
set code [exec ticonv_pdpcp $cpu $fname] |
set code [exec ticonv_pdpcp --tout=$tout $cpu $fname] |
eval $code |
set errcnt [rlc errcnt] |
if { $errcnt } { |
trunk/tools/tcl/rw11
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/tcl
===================================================================
--- trunk/tools/tcl (revision 24)
+++ trunk/tools/tcl (revision 25)
trunk/tools/tcl
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/tbench/test_w11a_inst_traps.tcl
===================================================================
--- trunk/tools/tbench/test_w11a_inst_traps.tcl (revision 24)
+++ trunk/tools/tbench/test_w11a_inst_traps.tcl (revision 25)
@@ -1,4 +1,4 @@
-# $Id: test_w11a_inst_traps.tcl 552 2014-03-02 23:02:00Z mueller $
+# $Id: test_w11a_inst_traps.tcl 575 2014-07-27 20:55:41Z mueller $
#
# Copyright 2013-2014 by Walter F.J. Mueller
# License disclaimer see LICENSE_gpl_v2.txt in $RETROBASE directory
@@ -5,6 +5,7 @@
#
# Revision History:
# Date Rev Version Comment
+# 2014-07-27 575 1.0.2 drop tout value from asmwait, reply on asmwait_tout
# 2014-03-01 552 1.0.1 check that unused regs stay 0; use stack:; check sp;
# 2013-04-01 502 1.0 Initial version
#
@@ -70,7 +71,7 @@
}
rw11::asmrun $cpu sym [list r5 $sym(data) ]
-rw11::asmwait $cpu sym 1.0
+rw11::asmwait $cpu sym
rw11::asmtreg $cpu [list r0 0 \
r1 0 \
r2 0 \
/trunk/tools/tbench/test_w11a_dstm_word_flow.tcl
1,4 → 1,4
# $Id: test_w11a_dstm_word_flow.tcl 552 2014-03-02 23:02:00Z mueller $ |
# $Id: test_w11a_dstm_word_flow.tcl 575 2014-07-27 20:55:41Z mueller $ |
# |
# Copyright 2013-2014 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
# License disclaimer see LICENSE_gpl_v2.txt in $RETROBASE directory |
5,6 → 5,7
# |
# Revision History: |
# Date Rev Version Comment |
# 2014-07-27 575 1.0.2 drop tout value from asmwait, reply on asmwait_tout |
# 2014-03-01 552 1.0.1 check that unused regs stay 0 |
# 2013-03-31 502 1.0 Initial version |
# |
55,7 → 56,7
r3 $sym(pdata3) \ |
r4 $sym(data4e) \ |
r5 $sym(pdat5e) ] |
rw11::asmwait $cpu sym 1.0 |
rw11::asmwait $cpu sym |
rw11::asmtreg $cpu [list r0 011 \ |
r1 $sym(data1) \ |
r2 [expr {$sym(data2) + 4}] \ |
92,7 → 93,7
|
rw11::asmrun $cpu sym [list r0 [expr {$sym(data0)-020}] \ |
r1 [expr {$sym(pdata1)-040}] ] |
rw11::asmwait $cpu sym 1.0 |
rw11::asmwait $cpu sym |
rw11::asmtreg $cpu [list r0 [expr {$sym(data0)-020}] \ |
r1 [expr {$sym(pdata1)-040}] \ |
r2 0 \ |
/trunk/tools/tbench/test_w11a_srcr_word_flow.tcl
1,4 → 1,4
# $Id: test_w11a_srcr_word_flow.tcl 552 2014-03-02 23:02:00Z mueller $ |
# $Id: test_w11a_srcr_word_flow.tcl 575 2014-07-27 20:55:41Z mueller $ |
# |
# Copyright 2013- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
# License disclaimer see LICENSE_gpl_v2.txt in $RETROBASE directory |
5,6 → 5,7
# |
# Revision History: |
# Date Rev Version Comment |
# 2014-07-27 575 1.0.2 drop tout value from asmwait, reply on asmwait_tout |
# 2014-03-01 552 1.0.1 check sp |
# 2013-03-31 502 1.0 Initial version |
# |
31,7 → 32,7
} |
|
rw11::asmrun $cpu sym [list r0 01234] |
rw11::asmwait $cpu sym 1.0 |
rw11::asmwait $cpu sym |
rw11::asmtreg $cpu [list r0 01234 \ |
r1 01234 \ |
r2 $sym(stack) \ |
65,7 → 66,7
} |
|
rw11::asmrun $cpu sym [list r0 $sym(data)] |
rw11::asmwait $cpu sym 1.0 |
rw11::asmwait $cpu sym |
rw11::asmtreg $cpu [list r0 $sym(data) \ |
r1 001001 \ |
r2 001001 \ |
101,7 → 102,7
} |
|
rw11::asmrun $cpu sym [list r0 $sym(pdata)] |
rw11::asmwait $cpu sym 1.0 |
rw11::asmwait $cpu sym |
rw11::asmtreg $cpu [list r0 $sym(pdata) \ |
r1 002001 \ |
r2 002002 \ |
138,7 → 139,7
} |
|
rw11::asmrun $cpu sym [list r0 $sym(data)] |
rw11::asmwait $cpu sym 1.0 |
rw11::asmwait $cpu sym |
rw11::asmtreg $cpu [list r0 $sym(data) \ |
r1 003001 \ |
r2 003002 \ |
171,7 → 172,7
} |
|
rw11::asmrun $cpu sym {} |
rw11::asmwait $cpu sym 1.0 |
rw11::asmwait $cpu sym |
rw11::asmtreg $cpu [list r0 0 \ |
r1 004001 \ |
r2 004002 \ |
/trunk/tools/tbench/w11a_all.dat
1,4 → 1,4
# $Id: w11a_all.dat 552 2014-03-02 23:02:00Z mueller $ |
# $Id: w11a_all.dat 569 2014-07-13 14:36:32Z mueller $ |
# |
## steering file for all w11a tests |
# |
12,3 → 12,6
test_w11a_dstm_word_flow.tcl |
test_w11a_dsta_flow.tcl |
test_w11a_inst_traps.tcl |
# |
test_w11a_div.tcl |
# |
/trunk/tools/tbench/test_w11a_dsta_flow.tcl
1,4 → 1,4
# $Id: test_w11a_dsta_flow.tcl 552 2014-03-02 23:02:00Z mueller $ |
# $Id: test_w11a_dsta_flow.tcl 575 2014-07-27 20:55:41Z mueller $ |
# |
# Copyright 2013-2014 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
# License disclaimer see LICENSE_gpl_v2.txt in $RETROBASE directory |
5,6 → 5,7
# |
# Revision History: |
# Date Rev Version Comment |
# 2014-07-27 575 1.0.2 drop tout value from asmwait, reply on asmwait_tout |
# 2014-03-01 552 1.0.1 use stack:; check sp; |
# 2013-03-31 502 1.0 Initial version |
# |
69,7 → 70,7
r3 [expr {$sym(sub30)+2}] \ |
r4 $sym(psub4e) \ |
r5 $sym(data) ] |
rw11::asmwait $cpu sym 1.0 |
rw11::asmwait $cpu sym |
rw11::asmtreg $cpu [list r0 $sym(sub00) \ |
r1 [expr {$sym(sub10)+2}] \ |
r2 [expr {$sym(psub2)+4}] \ |
129,7 → 130,7
rw11::asmrun $cpu sym [list r0 [expr {$sym(sub00)-020}] \ |
r1 [expr {$sym(psub10)-040}] \ |
r5 $sym(data) ] |
rw11::asmwait $cpu sym 1.0 |
rw11::asmwait $cpu sym |
rw11::asmtreg $cpu [list r0 [expr {$sym(sub00)-020}] \ |
r1 [expr {$sym(psub10)-040}] \ |
r2 0 \ |
/trunk/tools/tbench/test_w11a_div.tcl
0,0 → 1,390
# $Id: test_w11a_div.tcl 575 2014-07-27 20:55:41Z mueller $ |
# |
# Copyright 2014- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
# License disclaimer see LICENSE_gpl_v2.txt in $RETROBASE directory |
# |
# Revision History: |
# Date Rev Version Comment |
# 2014-07-27 575 1.0.2 drop tout value from asmwait, reply on asmwait_tout |
# 2014-07-20 570 1.0.2 add rw11::div_show_test; test late div quit cases |
# 2014-07-12 569 1.0.1 move sxt16/32 to rutil |
# 2014-07-11 568 1.0 Initial version |
# 2014-06-29 566 0.1 First draft |
# |
# Test div instruction |
# |
|
namespace eval rw11 { |
|
# |
# div_simh: calculate expected division result as pdp11 simh does it ------- |
# |
# this pdp11 div emulation adopted from pdp11_cpu.c (git head 2014-06-09) |
proc div_simh {ddi dri} { |
set src2 $dri |
set src $ddi |
set qd [expr ($ddi>>16) & 0xffff]; # w11a default for V=1 bailouts |
set rd [expr $ddi & 0xffff]; # " |
set n [expr {($ddi<0) ^ ($dri<0)}]; # " |
set z 0; # " |
|
# quit if divident larger than possible 16 bit signed products |
if {$src > 1073774591 || $src < -1073741823} { |
return [list $qd $rd $n $z 1 0] |
} |
# quit if divisor zero |
if {$src2 == 0} { |
return [list $qd $rd $n $z 1 1] |
} |
|
if {$src2 & 0x8000} { |
set src2 [expr $src2 | ~ 077777] |
} |
if {$src & 0x80000000} { |
set src [expr $src | ~ 017777777777] |
} |
|
# Tcl "/" uses 'round down' sematics, while C (and PDP11) 'round to 0' |
# ddi dri Tcl C/C++ |
# 34 5 q= 6 r= 4 q= 6 r= 4 |
# 34 -5 q= 7 r=-1 q=-6 r= 4 |
# -34 5 q=-7 r= 1 q=-6 r=-4 |
# -34 -5 q= 6 r=-4 q= 6 r=-4 |
# Tcl --> r same sign as divisor |
# C --> r same sign as divident |
# so add correction step to always get C/C++/PDP11 divide semantics |
# |
set q [expr $src / $src2] |
set r [expr ($src - ($src2 * $q))] |
|
if {$r!=0 && (($src<0) ^ ($r<0))} { # divident and remainder diff sign |
set r [expr $r - $src2] |
set q [expr $q + (($q<0)?1:-1)] |
} |
|
if {($q > 32767) || ($q < -32768)} { |
return [list $qd $rd $n $z 1 0] |
} |
|
set n [expr {$q < 0}] |
set z [expr {$q == 0}] |
return [list $q $r $n $z 0 0] |
} |
|
# |
# div_testd3: test division ddh,ddl,,dr + expected result ------------------ |
# |
proc div_testd3 {cpu symName ddh ddl dr q r n z v c} { |
upvar 1 $symName sym |
set nzvc [expr {($n<<3) | ($z<<2) | ($v<<1) | $c}] |
set dr16 [expr {$dr & 0xffff}] |
set q16 [expr {$q & 0xffff}] |
set r16 [expr {$r & 0xffff}] |
|
# use rw11::div_show_test to enable generation of divtst files |
if {[info exists rw11::div_show_test] && $rw11::div_show_test} { |
set ddi [expr (($ddh&0xffff)<<16) + ($ddl&0xffff)] |
set ddi [rutil::sxt32 $ddi] |
set dri [rutil::sxt16 $dr16] |
set qi [rutil::sxt16 $q16] |
set ri [rutil::sxt16 $r16] |
puts [format "%06o %06o %06o : %d%d%d%d %06o %06o # %11d/%6d:%6d,%6d" \ |
$ddh $ddl $dr16 $n $z $v $c $q16 $r16 $ddi $dri $qi $ri ] |
} |
|
rw11::asmrun $cpu sym [list r0 $ddh r1 $ddl r2 $dr16] |
rw11::asmwait $cpu sym |
|
if {!$v && !$c} { # test q and r only when V=0 C=0 expected |
lappend treglist r0 $q16 r1 $r16 |
} |
lappend treglist r3 $nzvc |
|
set errcnt [rw11::asmtreg $cpu $treglist] |
|
if {$errcnt} { |
puts [format \ |
"div FAIL: dd=%06o,%06o dr=%06o exp: q=%06o r=%06o nzvc=%d%d%d%d" \ |
$ddh $ddl $dr16 $q16 $r16 $n $z $v $c] |
} |
return $errcnt |
} |
|
# |
# div_testd2: test division dd,dr + expected result ------------------------ |
# |
proc div_testd2 {cpu symName dd dr q r n z v c} { |
upvar 1 $symName sym |
set ddh [expr {($dd>>16) & 0xffff}] |
set ddl [expr { $dd & 0xffff}] |
return [div_testd3 $cpu sym $ddh $ddl $dr $q $r $n $z $v $c] |
} |
|
# |
# div_testdqr: test division, give divisor, quotient and remainder --------- |
# |
proc div_testdqr {cpu symName dri qi ri} { |
upvar 1 $symName sym |
set dri [rutil::sxt16 $dri] |
set qi [rutil::sxt16 $qi] |
set ri [rutil::sxt16 $ri] |
set ddi [expr {$dri*$qi + $ri}] |
|
set simhres [div_simh $ddi $dri] |
set q [lindex $simhres 0] |
set r [lindex $simhres 1] |
set n [lindex $simhres 2] |
set z [lindex $simhres 3] |
set v [lindex $simhres 4] |
set c [lindex $simhres 5] |
|
return [div_testd2 $cpu sym $ddi $dri $q $r $n $z $v $c] |
} |
} |
|
# ---------------------------------------------------------------------------- |
rlc log "test_div: test div instruction" |
|
$cpu ldasm -lst lst -sym sym { |
. = 1000 |
stack: |
start: div r2,r0 |
mov @#177776,r3 |
bic #177760,r3 |
halt |
stop: |
} |
|
rlc log " test basics (via testd2)" |
# dd dr q r n z v c |
rlc log " dr>0" |
rw11::div_testd2 $cpu sym 0 3 0 0 0 1 0 0 |
rw11::div_testd2 $cpu sym 1 3 0 1 0 1 0 0 |
rw11::div_testd2 $cpu sym 2 3 0 2 0 1 0 0 |
rw11::div_testd2 $cpu sym 3 3 1 0 0 0 0 0 |
rw11::div_testd2 $cpu sym 4 3 1 1 0 0 0 0 |
rw11::div_testd2 $cpu sym -1 3 0 -1 0 1 0 0 |
rw11::div_testd2 $cpu sym -2 3 0 -2 0 1 0 0 |
rw11::div_testd2 $cpu sym -3 3 -1 0 1 0 0 0 |
rw11::div_testd2 $cpu sym -4 3 -1 -1 1 0 0 0 |
rlc log " dr<0" |
rw11::div_testd2 $cpu sym 0 -3 0 0 0 1 0 0 |
rw11::div_testd2 $cpu sym 1 -3 0 1 0 1 0 0 |
rw11::div_testd2 $cpu sym 2 -3 0 2 0 1 0 0 |
rw11::div_testd2 $cpu sym 3 -3 -1 0 1 0 0 0 |
rw11::div_testd2 $cpu sym 4 -3 -1 1 1 0 0 0 |
rw11::div_testd2 $cpu sym -1 -3 0 -1 0 1 0 0 |
rw11::div_testd2 $cpu sym -2 -3 0 -2 0 1 0 0 |
rw11::div_testd2 $cpu sym -3 -3 1 0 0 0 0 0 |
rw11::div_testd2 $cpu sym -4 -3 1 -1 0 0 0 0 |
rlc log " dr==0" |
rw11::div_testd2 $cpu sym 0 0 0 0 0 1 1 1 |
rw11::div_testd2 $cpu sym 1 0 0 0 0 1 1 1 |
rw11::div_testd2 $cpu sym -1 0 0 0 0 1 1 1 |
|
rlc log " test 4 quadrant basics (via testd2)" |
# dd dr q r n z v c |
rw11::div_testd2 $cpu sym 34 5 6 4 0 0 0 0 |
rw11::div_testd2 $cpu sym 34 -5 -6 4 1 0 0 0 |
rw11::div_testd2 $cpu sym -34 5 -6 -4 1 0 0 0 |
rw11::div_testd2 $cpu sym -34 -5 6 -4 0 0 0 0 |
|
rlc log " test 4 quadrant basics (via testdqr)" |
# dr q r |
rw11::div_testdqr $cpu sym 5 6 4; |
rw11::div_testdqr $cpu sym -5 -6 4; |
rw11::div_testdqr $cpu sym 5 -6 -4; |
rw11::div_testdqr $cpu sym -5 6 -4; |
|
rlc log " test q=100000 boundary cases (q = max neg value)" |
rlc log " case dd>0, dr<0 -- factor 21846" |
# dr q r |
rw11::div_testdqr $cpu sym -21846 0100000 0; # BAD-R4 |
rw11::div_testdqr $cpu sym -21846 0100000 1; # BAD-R4 |
rw11::div_testdqr $cpu sym -21846 0100000 21844; # BAD-R4 |
rw11::div_testdqr $cpu sym -21846 0100000 21845; # BAD-R4 |
rw11::div_testdqr $cpu sym -21846 0100000 21846; # v=1 |
rw11::div_testdqr $cpu sym -21846 0100000 21847; # v=1 |
|
rlc log " case dd<0, dr>0 -- factor 21846" |
rw11::div_testdqr $cpu sym 21846 0100000 0; # BAD-R4 |
rw11::div_testdqr $cpu sym 21846 0100000 -1; # BAD-R4 |
rw11::div_testdqr $cpu sym 21846 0100000 -21844; # BAD-R4 |
rw11::div_testdqr $cpu sym 21846 0100000 -21845; # BAD-R4 |
rw11::div_testdqr $cpu sym 21846 0100000 -21846; # v=1 |
rw11::div_testdqr $cpu sym 21846 0100000 -21847; # v=1 |
|
rlc log " case dd>0, dr<0 -- factor 21847" |
rw11::div_testdqr $cpu sym -21847 0100000 0; # BAD-R4 |
rw11::div_testdqr $cpu sym -21847 0100000 1; # BAD-R4 |
rw11::div_testdqr $cpu sym -21847 0100000 21845; # BAD-R4 |
rw11::div_testdqr $cpu sym -21847 0100000 21846; # BAD-R4 |
rw11::div_testdqr $cpu sym -21847 0100000 21847; # v=1 |
rw11::div_testdqr $cpu sym -21847 0100000 21848; # v=1 |
|
rlc log " case dd<0, dr>0 -- factor 21847" |
rw11::div_testdqr $cpu sym 21847 0100000 0; # BAD-R4 |
rw11::div_testdqr $cpu sym 21847 0100000 -1; # BAD-R4 |
rw11::div_testdqr $cpu sym 21847 0100000 -21845; # BAD-R4 |
rw11::div_testdqr $cpu sym 21847 0100000 -21846; # BAD-R4 |
rw11::div_testdqr $cpu sym 21847 0100000 -21847; # v=1 |
rw11::div_testdqr $cpu sym 21847 0100000 -21848; # v=1 |
|
# |
# |
rlc log " test q=077777 boundary cases (q = max pos value)" |
rlc log " case dd>0, dr>0 -- factor 21846" |
rw11::div_testdqr $cpu sym 21846 0077777 0; # |
rw11::div_testdqr $cpu sym 21846 0077777 1; # |
rw11::div_testdqr $cpu sym 21846 0077777 21844; # |
rw11::div_testdqr $cpu sym 21846 0077777 21845; # |
rw11::div_testdqr $cpu sym 21846 0077777 21846; # v=1 |
rw11::div_testdqr $cpu sym 21846 0077777 21847; # v=1 |
rlc log " case dd<0, dr<0 -- factor 21846" |
rw11::div_testdqr $cpu sym -21846 0077777 0; # |
rw11::div_testdqr $cpu sym -21846 0077777 -1; # |
rw11::div_testdqr $cpu sym -21846 0077777 -21844; # |
rw11::div_testdqr $cpu sym -21846 0077777 -21845; # |
rw11::div_testdqr $cpu sym -21846 0077777 -21846; # v=1 |
rw11::div_testdqr $cpu sym -21846 0077777 -21847; # v=1 |
rlc log " case dd>0, dr>0 -- factor 21847" |
rw11::div_testdqr $cpu sym 21847 0077777 0; # |
rw11::div_testdqr $cpu sym 21847 0077777 1; # |
rw11::div_testdqr $cpu sym 21847 0077777 21845; # |
rw11::div_testdqr $cpu sym 21847 0077777 21846; # |
rw11::div_testdqr $cpu sym 21847 0077777 21847; # v=1 |
rw11::div_testdqr $cpu sym 21847 0077777 21848; # v=1 |
rlc log " case dd<0, dr<0 -- factor 21847" |
rw11::div_testdqr $cpu sym -21847 0077777 0; # |
rw11::div_testdqr $cpu sym -21847 0077777 -1; # |
rw11::div_testdqr $cpu sym -21847 0077777 -21845; # |
rw11::div_testdqr $cpu sym -21847 0077777 -21846; # |
rw11::div_testdqr $cpu sym -21847 0077777 -21846; # v=1 |
rw11::div_testdqr $cpu sym -21847 0077777 -21847; # v=1 |
# |
# |
rlc log " test dr=100000 boundary cases (dr = max neg value)" |
rlc log " case dd<0, q>0" |
rw11::div_testdqr $cpu sym 0100000 1 0; # |
rw11::div_testdqr $cpu sym 0100000 1 -1; # |
rw11::div_testdqr $cpu sym 0100000 1 -32767; # |
rw11::div_testdqr $cpu sym 0100000 2 0; # BAD-R4 |
rw11::div_testdqr $cpu sym 0100000 2 -1; # |
rw11::div_testdqr $cpu sym 0100000 2 -32767; # |
rw11::div_testdqr $cpu sym 0100000 3 0; # |
rw11::div_testdqr $cpu sym 0100000 3 -1; # |
rw11::div_testdqr $cpu sym 0100000 3 -32767; # |
rw11::div_testdqr $cpu sym 0100000 4 0; # BAD-R4 |
rw11::div_testdqr $cpu sym 0100000 4 -1; # |
rw11::div_testdqr $cpu sym 0100000 4 -32767; # |
rw11::div_testdqr $cpu sym 0100000 6 0; # BAD-R4 |
rw11::div_testdqr $cpu sym 0100000 32762 0; # BAD-R4 |
rw11::div_testdqr $cpu sym 0100000 32764 0; # BAD-R4 |
rw11::div_testdqr $cpu sym 0100000 32765 0; # |
rw11::div_testdqr $cpu sym 0100000 32766 0; # BAD-R4 |
rw11::div_testdqr $cpu sym 0100000 32766 -1; # |
rw11::div_testdqr $cpu sym 0100000 32766 -32767; # |
rw11::div_testdqr $cpu sym 0100000 32767 0; # |
rw11::div_testdqr $cpu sym 0100000 32767 -1; # |
rw11::div_testdqr $cpu sym 0100000 32767 -32767; # |
rlc log " case dd>0, q<0" |
rw11::div_testdqr $cpu sym 0100000 -1 0; # |
rw11::div_testdqr $cpu sym 0100000 -1 1; # |
rw11::div_testdqr $cpu sym 0100000 -1 32767; # |
rw11::div_testdqr $cpu sym 0100000 -2 0; # |
rw11::div_testdqr $cpu sym 0100000 -2 1; # |
rw11::div_testdqr $cpu sym 0100000 -2 32767; # |
rw11::div_testdqr $cpu sym 0100000 -32767 0; # |
rw11::div_testdqr $cpu sym 0100000 -32767 1; # |
rw11::div_testdqr $cpu sym 0100000 -32767 32767; # |
rw11::div_testdqr $cpu sym 0100000 -32768 0; # BAD-R4 |
rw11::div_testdqr $cpu sym 0100000 -32768 1; # BAD-R4 |
rw11::div_testdqr $cpu sym 0100000 -32768 32767; # BAD-R4 |
# |
# |
rlc log " test dr=077777 boundary cases (dr = max pos value)" |
rlc log " case dd>0, q>0" |
rw11::div_testdqr $cpu sym 077777 1 0; # |
rw11::div_testdqr $cpu sym 077777 1 1; # |
rw11::div_testdqr $cpu sym 077777 1 32766; # |
rw11::div_testdqr $cpu sym 077777 2 0; # |
rw11::div_testdqr $cpu sym 077777 2 1; # |
rw11::div_testdqr $cpu sym 077777 2 32766; # |
rw11::div_testdqr $cpu sym 077777 32766 0; # |
rw11::div_testdqr $cpu sym 077777 32766 1; # |
rw11::div_testdqr $cpu sym 077777 32766 32766; # |
rw11::div_testdqr $cpu sym 077777 32767 0; # |
rw11::div_testdqr $cpu sym 077777 32767 1; # |
rw11::div_testdqr $cpu sym 077777 32767 32766; # |
rlc log " case dd<0, q<0" |
rw11::div_testdqr $cpu sym 077777 -1 0; # |
rw11::div_testdqr $cpu sym 077777 -1 -1; # |
rw11::div_testdqr $cpu sym 077777 -1 -32766; # |
rw11::div_testdqr $cpu sym 077777 -2 0; # |
rw11::div_testdqr $cpu sym 077777 -2 -1; # |
rw11::div_testdqr $cpu sym 077777 -2 -32766; # |
rw11::div_testdqr $cpu sym 077777 -32767 0; # |
rw11::div_testdqr $cpu sym 077777 -32767 -1; # |
rw11::div_testdqr $cpu sym 077777 -32767 -32766; # |
rw11::div_testdqr $cpu sym 077777 -32768 0; # BAD-R4 |
rw11::div_testdqr $cpu sym 077777 -32768 -1; # BAD-R4 |
rw11::div_testdqr $cpu sym 077777 -32768 -32766; # BAD-R4 |
# |
# |
rlc log " test dd max cases" |
rlc log " case dd>0 dr<0 near nmax*nmax+nmax-1 = +1073774591" |
rw11::div_testdqr $cpu sym -32768 -32768 -1; # |
rw11::div_testdqr $cpu sym -32768 -32768 0; # BAD-R4 |
rw11::div_testdqr $cpu sym -32768 -32768 1; # BAD-R4 |
rw11::div_testdqr $cpu sym -32768 -32768 32766; # BAD-R4 |
rw11::div_testdqr $cpu sym -32768 -32768 32767; # c.c BAD-R4 |
rw11::div_testdqr $cpu sym -32768 -32768 32768; # v=1 |
rw11::div_testdqr $cpu sym -32768 -32768 32769; # v=1 |
rlc log " case dd>0 dr>0 near pmax*pmax+pmax-1 = +1073709055" |
rw11::div_testdqr $cpu sym 32767 32767 -1; # |
rw11::div_testdqr $cpu sym 32767 32767 0; # |
rw11::div_testdqr $cpu sym 32767 32767 1; # |
rw11::div_testdqr $cpu sym 32767 32767 32765; # |
rw11::div_testdqr $cpu sym 32767 32767 32766; # c.c |
rw11::div_testdqr $cpu sym 32767 32767 32767; # v=1 |
rw11::div_testdqr $cpu sym 32767 32767 32768; # v=1 |
rlc log " case dd<0 dr>0 near nmax*pmax+pmax-1 = -1073741822" |
rw11::div_testdqr $cpu sym 32767 -32768 1; # |
rw11::div_testdqr $cpu sym 32767 -32768 0; # BAD-R4 |
rw11::div_testdqr $cpu sym 32767 -32768 -1; # BAD-R4 |
rw11::div_testdqr $cpu sym 32767 -32768 -32765; # BAD-R4 |
rw11::div_testdqr $cpu sym 32767 -32768 -32766; # c.c BAD-R4 |
rw11::div_testdqr $cpu sym 32767 -32768 -32767; # v=1 |
rw11::div_testdqr $cpu sym 32767 -32768 -32768; # v=1 |
rlc log " case dd<0 dr<0 near pmax*nmax+nmax-1 = -1073741823" |
rw11::div_testdqr $cpu sym -32768 32767 1; # |
rw11::div_testdqr $cpu sym -32768 32767 0; # |
rw11::div_testdqr $cpu sym -32768 32767 -1; # |
rw11::div_testdqr $cpu sym -32768 32767 -32766; # |
rw11::div_testdqr $cpu sym -32768 32767 -32767; # c.c |
rw11::div_testdqr $cpu sym -32768 32767 -32768; # v=1 |
rw11::div_testdqr $cpu sym -32768 32767 -32769; # v=1 |
# |
# |
rlc log " test late div quit cases in 2 quadrant algorithm" |
# dd dr q r n z v c |
rw11::div_testd2 $cpu sym -32767 -1 32767 0 0 0 0 0; # |
rw11::div_testd2 $cpu sym -32768 -1 0 0 0 0 1 0; # |
rw11::div_testd2 $cpu sym -32769 -1 0 0 0 0 1 0; # |
# |
rw11::div_testd2 $cpu sym -65534 -2 32767 0 0 0 0 0; # |
rw11::div_testd2 $cpu sym -65535 -2 32767 -1 0 0 0 0; # |
rw11::div_testd2 $cpu sym -65536 -2 0 0 0 0 1 0; # |
rw11::div_testd2 $cpu sym -65537 -2 0 0 0 0 1 0; # |
# |
# |
rlc log " test big divident overflow cases" |
# dd dr q r n z v c |
rw11::div_testd2 $cpu sym 0x7fffffff 1 0 0 0 0 1 0; # |
rw11::div_testd2 $cpu sym 0x7fffffff 2 0 0 0 0 1 0; # |
rw11::div_testd2 $cpu sym 0x7fffffff -1 0 0 1 0 1 0; # |
rw11::div_testd2 $cpu sym 0x7fffffff -2 0 0 1 0 1 0; # |
rw11::div_testd2 $cpu sym 0x80000000 1 0 0 1 0 1 0; # |
rw11::div_testd2 $cpu sym 0x80000000 2 0 0 1 0 1 0; # |
rw11::div_testd2 $cpu sym 0x80000000 -1 0 0 0 0 1 0; # |
rw11::div_testd2 $cpu sym 0x80000000 -2 0 0 0 0 1 0; # |
/trunk/tools/tbench/test_w11a_dstw_word_flow.tcl
1,4 → 1,4
# $Id: test_w11a_dstw_word_flow.tcl 552 2014-03-02 23:02:00Z mueller $ |
# $Id: test_w11a_dstw_word_flow.tcl 575 2014-07-27 20:55:41Z mueller $ |
# |
# Copyright 2013-2014 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
# License disclaimer see LICENSE_gpl_v2.txt in $RETROBASE directory |
5,6 → 5,7
# |
# Revision History: |
# Date Rev Version Comment |
# 2014-07-27 575 1.0.2 drop tout value from asmwait, reply on asmwait_tout |
# 2014-03-01 552 1.0.1 check that unused regs stay 0 |
# 2013-03-31 502 1.0 Initial version |
# |
54,7 → 55,7
r3 $sym(pdata3) \ |
r4 $sym(data4e) \ |
r5 $sym(pdat5e) ] |
rw11::asmwait $cpu sym 1.0 |
rw11::asmwait $cpu sym |
rw11::asmtreg $cpu [list r0 0100 \ |
r1 $sym(data1) \ |
r2 [expr {$sym(data2) + 4}] \ |
91,7 → 92,7
|
rw11::asmrun $cpu sym [list r0 [expr {$sym(data0)-020}] \ |
r1 [expr {$sym(pdata1)-040}] ] |
rw11::asmwait $cpu sym 1.0 |
rw11::asmwait $cpu sym |
rw11::asmtreg $cpu [list r0 [expr {$sym(data0)-020}] \ |
r1 [expr {$sym(pdata1)-040}] \ |
r2 0 \ |
trunk/tools/tbench
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/src/librw11/Rw11UnitDisk.cpp
===================================================================
--- trunk/tools/src/librw11/Rw11UnitDisk.cpp (revision 24)
+++ trunk/tools/src/librw11/Rw11UnitDisk.cpp (revision 25)
@@ -1,4 +1,4 @@
-// $Id: Rw11UnitDisk.cpp 509 2013-04-21 20:46:20Z mueller $
+// $Id: Rw11UnitDisk.cpp 561 2014-06-09 17:22:50Z mueller $
//
// Copyright 2013- by Walter F.J. Mueller
//
@@ -19,7 +19,7 @@
/*!
\file
- \version $Id: Rw11UnitDisk.cpp 509 2013-04-21 20:46:20Z mueller $
+ \version $Id: Rw11UnitDisk.cpp 561 2014-06-09 17:22:50Z mueller $
\brief Implemenation of Rw11UnitDisk.
*/
@@ -62,7 +62,7 @@
void Rw11UnitDisk::SetType(const std::string& type)
{
- throw Rexception("Rw11UnitDisk::",
+ throw Rexception("Rw11UnitDisk::SetType",
string("Bad args: only type '") + fType + "' supported");
return;
}
/trunk/tools/src/librw11/Rw11CntlRK11.cpp
1,8 → 1,8
// $Id: Rw11CntlRK11.cpp 515 2013-05-04 17:28:59Z mueller $ |
// $Id: Rw11CntlRK11.cpp 562 2014-06-15 17:23:18Z mueller $ |
// |
// Copyright 2013- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
// Copyright 2013-2014 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
// Other credits: |
// the boot code from the simh project and Copyright Robert M Supnik |
// the boot code is from the simh project and Copyright Robert M Supnik |
// |
// This program is free software; you may redistribute and/or modify it under |
// the terms of the GNU General Public License as published by the Free |
15,6 → 15,7
// |
// Revision History: |
// Date Rev Version Comment |
// 2014-06-14 562 1.0.1 Add stats |
// 2013-04-20 508 1.0 Initial version |
// 2013-02-10 485 0.1 First draft |
// --------------------------------------------------------------------------- |
21,7 → 22,7
|
/*! |
\file |
\version $Id: Rw11CntlRK11.cpp 515 2013-05-04 17:28:59Z mueller $ |
\version $Id: Rw11CntlRK11.cpp 562 2014-06-15 17:23:18Z mueller $ |
\brief Implemenation of Rw11CntlRK11. |
*/ |
|
148,6 → 149,19
for (size_t i=0; i<NUnit(); i++) { |
fspUnit[i].reset(new Rw11UnitRK11(this, i)); |
} |
|
fStats.Define(kStatNFuncCreset , "NFuncCreset" , "func CRESET"); |
fStats.Define(kStatNFuncWrite , "NFuncWrite" , "func WRITE"); |
fStats.Define(kStatNFuncRead , "NFuncRead" , "func READ"); |
fStats.Define(kStatNFuncWchk , "NFuncWchk" , "func WCHK"); |
fStats.Define(kStatNFuncSeek , "NFuncSeek" , "func SEEK"); |
fStats.Define(kStatNFuncRchk , "NFuncRchk" , "func RCHK"); |
fStats.Define(kStatNFuncDreset , "NFuncDreset" , "func DRESET"); |
fStats.Define(kStatNFuncWlock , "NFuncWlock " , "func WLOCK"); |
fStats.Define(kStatNRdmaWrite , "NRdmaWrite" , "rdma WRITE"); |
fStats.Define(kStatNRdmaRead , "NRdmaRead" , "rdma READ"); |
fStats.Define(kStatNRdmaWchk , "NRdmaWchk" , "rdma WCHK"); |
fStats.Define(kStatNRdmaRchk , "NRdmaRchk" , "rdma RCHK"); |
} |
|
//------------------------------------------+----------------------------------- |
171,7 → 185,7
void Rw11CntlRK11::Start() |
{ |
if (fStarted || fLam<0 || !fEnable || !fProbe.Found()) |
throw Rexception("Rw11CntlDL11::Start", |
throw Rexception("Rw11CntlRK11::Start", |
"Bad state: started, no lam, not enable, not found"); |
|
// setup primary info clist |
224,7 → 238,7
uint16_t& aload, uint16_t& astart) |
{ |
uint16_t kBOOT_START = 02000; |
uint16_t bootcode[] = { // rk05 boot loader - from simh pdp11_rk.c |
uint16_t bootcode[] = { // rk11 boot loader - from simh pdp11_rk.c (v3.9) |
0042113, // "KD" |
0012706, kBOOT_START, // MOV #boot_start, SP |
0012700, uint16_t(unit), // MOV #unit, R0 ; unit number |
242,7 → 256,7
0012741, 0000005, // MOV #READ+GO, -(R1) ; read & go |
0005002, // CLR R2 |
0005003, // CLR R3 |
0012704, uint16_t(kBOOT_START+020), // MOV #START+20, R4 |
0012704, uint16_t(kBOOT_START+020), // MOV #START+20, R4 ; ?? unclear ?? |
0005005, // CLR R5 |
0105711, // TSTB (R1) |
0100376, // BPL .-4 |
376,11 → 390,13
|
// now handle the functions |
if (fu == kRKCS_CRESET) { // Control reset ----------------- |
fStats.Inc(kStatNFuncCreset); |
cpu.AddWibr(clist, fBase+kRKMR, kRKMR_M_CRESET); |
fRd_busy = false; |
|
} else if (fu == kRKCS_WRITE) { // Write ------------------------- |
// Note: WRITE+FMT is just WRITE |
fStats.Inc(kStatNFuncWrite); |
if (se >= unit.NSector()) rker |= kRKER_M_NXS; |
if (cy >= unit.NCylinder()) rker |= kRKER_M_NXC; |
if (unit.WProt()) rker |= kRKER_M_WLO; |
388,6 → 404,7
queue = true; |
|
} else if (fu == kRKCS_READ) { // Read -------------------------- |
fStats.Inc(kStatNFuncRead); |
if (se >= unit.NSector()) rker |= kRKER_M_NXS; |
if (cy >= unit.NCylinder()) rker |= kRKER_M_NXC; |
if (rkcs & kRKCS_M_IBA) rker |= kRKER_M_DRE; // not yet supported FIXME |
394,6 → 411,7
queue = true; |
|
} else if (fu == kRKCS_WCHK) { // Write Check ------------------- |
fStats.Inc(kStatNFuncWchk); |
if (se >= unit.NSector()) rker |= kRKER_M_NXS; |
if (cy >= unit.NCylinder()) rker |= kRKER_M_NXC; |
if (rkcs & kRKCS_M_IBA) rker |= kRKER_M_DRE; // not yet supported FIXME |
400,6 → 418,7
queue = true; |
|
} else if (fu == kRKCS_SEEK) { // Seek -------------------------- |
fStats.Inc(kStatNFuncSeek); |
if (se >= unit.NSector()) rker |= kRKER_M_NXS; |
if (cy >= unit.NCylinder()) rker |= kRKER_M_NXC; |
if (rker) { |
417,6 → 436,7
} |
|
} else if (fu == kRKCS_RCHK) { // Read Check -------------------- |
fStats.Inc(kStatNFuncRchk); |
if (se >= unit.NSector()) rker |= kRKER_M_NXS; |
if (cy >= unit.NCylinder()) rker |= kRKER_M_NXC; |
if (rkcs & kRKCS_M_IBA) rker |= kRKER_M_DRE; // not yet supported FIXME |
423,10 → 443,12
queue = true; |
|
} else if (fu == kRKCS_DRESET) { // Drive Reset ------------------- |
fStats.Inc(kStatNFuncDreset); |
cpu.AddWibr(clist, fBase+kRKMR, kRKMR_M_FDONE); |
cpu.AddWibr(clist, fBase+kRKMR, 1u<<dr); // issue seek done |
|
} else if (fu == kRKCS_WLOCK) { // Write Lock -------------------- |
fStats.Inc(kStatNFuncWlock); |
rkds |= kRKDS_M_WPS; // set RKDS write protect flag |
unit.SetRkds(rkds); |
unit.SetWProt(true); |
472,6 → 494,7
|
if (fu == kRKCS_WRITE) { // Write ------------------------- |
// Note: WRITE+FMT is like WRITE |
fStats.Inc(kStatNRdmaWrite); |
RlinkCommandList clist; |
size_t bsize = (fRd_nwrd>256) ? 256 : fRd_nwrd; |
cpu.AddRMem(clist, fRd_addr, (uint16_t*) buf, bsize, |
494,6 → 517,7
return 1; // requeue |
|
} else if (fu == kRKCS_READ) { |
fStats.Inc(kStatNRdmaRead); |
if ((fRd_rkcs&kRKCS_M_FMT) == 0) { // Read -------------------------- |
RerrMsg emsg; |
bool rc = unit.VirtRead(fRd_lba, 1, buf, emsg); |
533,6 → 557,7
} |
|
} else if (fu == kRKCS_WCHK) { // Write Check ------------------- |
fStats.Inc(kStatNRdmaWchk); |
uint16_t bufmem[256]; |
RlinkCommandList clist; |
size_t bsize = (fRd_nwrd>256) ? 256 : fRd_nwrd; |
565,6 → 590,7
|
} else if (fu == kRKCS_RCHK) { // Read Check -------------------- |
// Note: no DMA transfer done; done here to keep logic similar to read |
fStats.Inc(kStatNRdmaRchk); |
size_t bsize = (fRd_nwrd>256) ? 256 : fRd_nwrd; |
fRd_nwrd -= bsize; |
fRd_addr += 2*bsize; |
573,7 → 599,7
return 1; // requeue |
|
} else { |
throw Rexception("Rw11CntlDL11::RdmaHandler", |
throw Rexception("Rw11CntlRK11::RdmaHandler", |
"Bad state: bad function code"); |
} |
|
/trunk/tools/src/librw11/Makefile
1,4 → 1,4
# $Id: Makefile 529 2013-08-02 17:15:43Z mueller $ |
# $Id: Makefile 561 2014-06-09 17:22:50Z mueller $ |
# |
# Revision History: |
# Date Rev Version Comment |
28,9 → 28,9
OBJ_all += Rw11UnitDisk.o |
OBJ_all += Rw11UnitStream.o |
OBJ_all += Rw11CntlDL11.o Rw11UnitDL11.o |
OBJ_all += Rw11CntlRK11.o Rw11UnitRK11.o |
OBJ_all += Rw11CntlLP11.o Rw11UnitLP11.o |
OBJ_all += Rw11CntlPC11.o Rw11UnitPC11.o |
OBJ_all += Rw11CntlRK11.o Rw11UnitRK11.o |
OBJ_all += Rw11Virt.o |
OBJ_all += Rw11VirtTerm.o Rw11VirtTermPty.o Rw11VirtTermTcp.o |
OBJ_all += Rw11VirtDisk.o Rw11VirtDiskFile.o |
/trunk/tools/src/librw11/Rw11UnitTerm.hpp
1,4 → 1,4
// $Id: Rw11UnitTerm.hpp 515 2013-05-04 17:28:59Z mueller $ |
// $Id: Rw11UnitTerm.hpp 570 2014-07-20 19:05:11Z mueller $ |
// |
// Copyright 2013- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
// |
22,7 → 22,7
|
/*! |
\file |
\version $Id: Rw11UnitTerm.hpp 515 2013-05-04 17:28:59Z mueller $ |
\version $Id: Rw11UnitTerm.hpp 570 2014-07-20 19:05:11Z mueller $ |
\brief Declaration of class Rw11UnitTerm. |
*/ |
|
79,7 → 79,7
|
protected: |
bool fTo7bit; //<! discard parity bit on output |
bool fToEnpc; //<! escape non-printabls on output |
bool fToEnpc; //<! escape non-printables on output |
bool fTi7bit; //<! discard parity bit on input |
std::deque<uint8_t> fRcvQueue; //<! input queue |
std::string fLogFname; //<! log file name |
/trunk/tools/src/librw11/Rw11Cpu.cpp
1,6 → 1,6
// $Id: Rw11Cpu.cpp 521 2013-05-20 22:16:45Z mueller $ |
// $Id: Rw11Cpu.cpp 576 2014-08-02 12:24:28Z mueller $ |
// |
// Copyright 2013- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
// Copyright 2013-2014 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
// |
// This program is free software; you may redistribute and/or modify it under |
// the terms of the GNU General Public License as published by the Free |
13,6 → 13,7
// |
// Revision History: |
// Date Rev Version Comment |
// 2014-08-02 576 1.0.2 adopt rename of LastExpect->SetLastExpect |
// 2013-04-14 506 1.0.1 add AddLalh(),AddRMem(),AddWMem() |
// 2013-04-12 504 1.0 Initial version |
// 2013-01-27 478 0.1 First draft |
20,7 → 21,7
|
/*! |
\file |
\version $Id: Rw11Cpu.cpp 521 2013-05-20 22:16:45Z mueller $ |
\version $Id: Rw11Cpu.cpp 576 2014-08-02 12:24:28Z mueller $ |
\brief Implemenation of Rw11Cpu. |
*/ |
#include <stdlib.h> |
363,12 → 364,12
if (dsc.fProbeInt) { |
clist.AddWreg(fBase+kCp_addr_al, dsc.fAddr); |
iib = clist.AddRreg(fBase+kCp_addr_mem); |
clist.LastExpect(new RlinkCommandExpect(0,0xff)); // disable stat checking |
clist.SetLastExpect(new RlinkCommandExpect(0,0xff)); // disable stat check |
} |
if (dsc.fProbeRem) { |
AddIbrb(clist, dsc.fAddr); |
irb = AddRibr(clist, dsc.fAddr); |
clist.LastExpect(new RlinkCommandExpect(0,0xff)); // disable stat checking |
clist.SetLastExpect(new RlinkCommandExpect(0,0xff)); // disable stat check |
} |
|
Server().Exec(clist); |
/trunk/tools/src/librw11/Rw11CntlRK11.hpp
1,6 → 1,6
// $Id: Rw11CntlRK11.hpp 509 2013-04-21 20:46:20Z mueller $ |
// $Id: Rw11CntlRK11.hpp 562 2014-06-15 17:23:18Z mueller $ |
// |
// Copyright 2013- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
// Copyright 2013-2014 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
// |
// This program is free software; you may redistribute and/or modify it under |
// the terms of the GNU General Public License as published by the Free |
13,6 → 13,7
// |
// Revision History: |
// Date Rev Version Comment |
// 2014-06-14 562 1.0.1 Add stats definitions |
// 2013-04-20 508 1.0 Initial version |
// 2013-02-10 485 0.1 First draft |
// --------------------------------------------------------------------------- |
20,7 → 21,7
|
/*! |
\file |
\version $Id: Rw11CntlRK11.hpp 509 2013-04-21 20:46:20Z mueller $ |
\version $Id: Rw11CntlRK11.hpp 562 2014-06-15 17:23:18Z mueller $ |
\brief Declaration of class Rw11CntlRK11. |
*/ |
|
126,6 → 127,23
static const uint16_t kRKMR_M_CRESET= kWBit09; |
static const uint16_t kRKMR_M_FDONE = kWBit08; |
|
// statistics counter indices |
enum stats { |
kStatNFuncCreset = Rw11Cntl::kDimStat, |
kStatNFuncWrite, |
kStatNFuncRead, |
kStatNFuncWchk, |
kStatNFuncSeek, |
kStatNFuncRchk, |
kStatNFuncDreset, |
kStatNFuncWlock, |
kStatNRdmaWrite, |
kStatNRdmaRead, |
kStatNRdmaWchk, |
kStatNRdmaRchk, |
kDimStat |
}; |
|
protected: |
int AttnHandler(const RlinkServer::AttnArgs& args); |
int RdmaHandler(); |
trunk/tools/src/librw11
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/src/librwxxtpp/RtclRw11Cpu.cpp
===================================================================
--- trunk/tools/src/librwxxtpp/RtclRw11Cpu.cpp (revision 24)
+++ trunk/tools/src/librwxxtpp/RtclRw11Cpu.cpp (revision 25)
@@ -1,4 +1,4 @@
-// $Id: RtclRw11Cpu.cpp 552 2014-03-02 23:02:00Z mueller $
+// $Id: RtclRw11Cpu.cpp 576 2014-08-02 12:24:28Z mueller $
//
// Copyright 2013-2014 by Walter F.J. Mueller
//
@@ -13,6 +13,7 @@
//
// Revision History:
// Date Rev Version Comment
+// 2014-08-02 576 1.0.4 bugfix: redo estatdef logic; avoid LastExpect()
// 2014-03-02 552 1.0.3 M_cp: add -ral and -rah options (addr reg readback)
// 2013-05-19 521 1.0.2 M_cp: merge -wibrb|-wibrbbe again; add -wa
// 2013-04-26 511 1.0.1 add M_show
@@ -22,7 +23,7 @@
/*!
\file
- \version $Id: RtclRw11Cpu.cpp 552 2014-03-02 23:02:00Z mueller $
+ \version $Id: RtclRw11Cpu.cpp 576 2014-08-02 12:24:28Z mueller $
\brief Implemenation of RtclRw11Cpu.
*/
@@ -330,7 +331,8 @@
if (lsize == 0)
return args.Quit("-E: -edata not allowed on empty command list");
if (clist[lsize-1].Expect()==0) {
- clist.LastExpect(new RlinkCommandExpect());
+ clist[lsize-1].SetExpect(new RlinkCommandExpect(estatdef_val,
+ estatdef_msk));
}
if (clist[lsize-1].Command() == RlinkCommand::kCmdRblk) {
vector data;
@@ -356,7 +358,7 @@
if (!args.GetArg("??mask", mask)) return kERR;
if (args.NOptMiss() == 2) mask = 0xff;
if (clist[lsize-1].Expect()==0) {
- clist.LastExpect(new RlinkCommandExpect());
+ clist[lsize-1].SetExpect(new RlinkCommandExpect());
}
clist[lsize-1].Expect()->SetStatus(stat, mask);
@@ -371,15 +373,16 @@
}
- if (lsize != clist.Size()) { // cmd added to clist (ind=lsize!)
- if (estatdef_msk != 0xff) { // estatdef defined
- if (clist[lsize].Expect()==0) {
- clist.LastExpect(new RlinkCommandExpect());
+ if (estatdef_msk != 0xff && // estatdef defined
+ lsize != clist.Size()) { // and cmd added to clist
+ for (size_t i=lsize; iSetStatus(estatdef_val, estatdef_msk);
}
}
-
+
}
if (!args.AllDone()) return kERR;
/trunk/tools/src/librwxxtpp/Makefile
1,4 → 1,4
# $Id: Makefile 529 2013-08-02 17:15:43Z mueller $ |
# $Id: Makefile 561 2014-06-09 17:22:50Z mueller $ |
# |
# Revision History: |
# Date Rev Version Comment |
31,9 → 31,9
OBJ_all += RtclRw11UnitDisk.o |
OBJ_all += RtclRw11UnitStream.o |
OBJ_all += RtclRw11CntlDL11.o RtclRw11UnitDL11.o |
OBJ_all += RtclRw11CntlRK11.o RtclRw11UnitRK11.o |
OBJ_all += RtclRw11CntlLP11.o RtclRw11UnitLP11.o |
OBJ_all += RtclRw11CntlPC11.o RtclRw11UnitPC11.o |
OBJ_all += RtclRw11CntlRK11.o RtclRw11UnitRK11.o |
# |
DEP_all = $(OBJ_all:.o=.dep) |
# |
/trunk/tools/src/librwxxtpp/RtclRw11CntlFactory.cpp
1,6 → 1,6
// $Id: RtclRw11CntlFactory.cpp 515 2013-05-04 17:28:59Z mueller $ |
// $Id: RtclRw11CntlFactory.cpp 565 2014-06-28 12:54:08Z mueller $ |
// |
// Copyright 2013- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
// Copyright 2013-2014 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
// |
// This program is free software; you may redistribute and/or modify it under |
// the terms of the GNU General Public License as published by the Free |
13,6 → 13,8
// |
// Revision History: |
// Date Rev Version Comment |
// 2014-06-27 565 1.1.1 temporarily hide RL11 |
// 2014-06-08 561 1.1.0 add RL11 |
// 2013-05-01 513 1.0.1 add LP11 |
// 2013-03-06 495 1.0 Initial version |
// 2013-02-09 489 0.1 First draft |
20,7 → 22,7
|
/*! |
\file |
\version $Id: RtclRw11CntlFactory.cpp 515 2013-05-04 17:28:59Z mueller $ |
\version $Id: RtclRw11CntlFactory.cpp 565 2014-06-28 12:54:08Z mueller $ |
\brief Implemenation of global function RtclRw11CntlFactory. |
*/ |
|
30,6 → 32,7
|
#include "RtclRw11CntlDL11.hpp" |
#include "RtclRw11CntlRK11.hpp" |
//#include "RtclRw11CntlRL11.hpp" |
#include "RtclRw11CntlLP11.hpp" |
#include "RtclRw11CntlPC11.hpp" |
|
57,6 → 60,11
if(pobj->FactoryCmdConfig(args, cpu) != TCL_OK) return TCL_ERROR; |
pobj.release(); |
|
// } else if (type == "rl11") { // rl11 -------------------------- |
// unique_ptr<RtclRw11CntlRL11> pobj(new RtclRw11CntlRL11()); |
// if(pobj->FactoryCmdConfig(args, cpu) != TCL_OK) return TCL_ERROR; |
// pobj.release(); |
|
} else if (type == "lp11") { // lp11 -------------------------- |
unique_ptr<RtclRw11CntlLP11> pobj(new RtclRw11CntlLP11()); |
if(pobj->FactoryCmdConfig(args, cpu) != TCL_OK) return TCL_ERROR; |
trunk/tools/src/librwxxtpp
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/src/librlink/RlinkCommandList.cpp
===================================================================
--- trunk/tools/src/librlink/RlinkCommandList.cpp (revision 24)
+++ trunk/tools/src/librlink/RlinkCommandList.cpp (revision 25)
@@ -1,6 +1,6 @@
-// $Id: RlinkCommandList.cpp 495 2013-03-06 17:13:48Z mueller $
+// $Id: RlinkCommandList.cpp 576 2014-08-02 12:24:28Z mueller $
//
-// Copyright 2011-2013 by Walter F.J. Mueller
+// Copyright 2011-2014 by Walter F.J. Mueller
//
// This program is free software; you may redistribute and/or modify it under
// the terms of the GNU General Public License as published by the Free
@@ -13,6 +13,7 @@
//
// Revision History:
// Date Rev Version Comment
+// 2014-08-02 576 1.1 rename LastExpect->SetLastExpect
// 2013-05-06 495 1.0.3 add RlinkContext to Print() args
// 2013-02-03 481 1.0.2 use Rexception
// 2011-04-25 380 1.0.1 use boost/foreach
@@ -22,7 +23,7 @@
/*!
\file
- \version $Id: RlinkCommandList.cpp 495 2013-03-06 17:13:48Z mueller $
+ \version $Id: RlinkCommandList.cpp 576 2014-08-02 12:24:28Z mueller $
\brief Implemenation of class RlinkCommandList.
*/
@@ -199,10 +200,11 @@
void RlinkCommandList::LastVolatile()
{
- if (fList.size() == 0)
+ size_t ncmd = fList.size();
+ if (ncmd == 0)
throw Rexception("RlinkCommandList::LastVolatile()",
"Bad state: list empty");
- fList[fList.size()-1]->SetFlagBit(RlinkCommand::kFlagVol);
+ fList[ncmd-1]->SetFlagBit(RlinkCommand::kFlagVol);
return;
}
@@ -209,12 +211,13 @@
//------------------------------------------+-----------------------------------
//! FIXME_docs
-void RlinkCommandList::LastExpect(RlinkCommandExpect* exp)
+void RlinkCommandList::SetLastExpect(RlinkCommandExpect* pexp)
{
- if (fList.size() == 0)
- throw Rexception("RlinkCommandList::LastExpect()",
+ size_t ncmd = fList.size();
+ if (ncmd == 0)
+ throw Rexception("RlinkCommandList::SetLastExpect()",
"Bad state: list empty");
- fList[fList.size()-1]->SetExpect(exp);
+ fList[ncmd-1]->SetExpect(pexp);
return;
}
/trunk/tools/src/librlink/RlinkCommandList.hpp
1,6 → 1,6
// $Id: RlinkCommandList.hpp 495 2013-03-06 17:13:48Z mueller $ |
// $Id: RlinkCommandList.hpp 576 2014-08-02 12:24:28Z mueller $ |
// |
// Copyright 2011-2013 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
// Copyright 2011-2014 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
// |
// This program is free software; you may redistribute and/or modify it under |
// the terms of the GNU General Public License as published by the Free |
13,6 → 13,7
// |
// Revision History: |
// Date Rev Version Comment |
// 2014-08-02 576 1.1 rename LastExpect->SetLastExpect |
// 2013-05-06 495 1.0.1 add RlinkContext to Print() args; drop oper<<() |
// 2011-03-05 366 1.0 Initial version |
// 2011-01-09 354 0.1 First draft |
21,7 → 22,7
|
/*! |
\file |
\version $Id: RlinkCommandList.hpp 495 2013-03-06 17:13:48Z mueller $ |
\version $Id: RlinkCommandList.hpp 576 2014-08-02 12:24:28Z mueller $ |
\brief Declaration of class RlinkCommandList. |
*/ |
|
60,8 → 61,8
size_t AddAttn(); |
size_t AddInit(uint16_t addr, uint16_t data); |
|
void LastVolatile(); |
void LastExpect(RlinkCommandExpect* exp); |
void LastVolatile(); // deprecated !! |
void SetLastExpect(RlinkCommandExpect* exp); |
|
void Clear(); |
size_t Size() const; |
/trunk/tools/src/librlink/RlinkConnect.cpp
1,6 → 1,6
// $Id: RlinkConnect.cpp 521 2013-05-20 22:16:45Z mueller $ |
// $Id: RlinkConnect.cpp 575 2014-07-27 20:55:41Z mueller $ |
// |
// Copyright 2011-2013 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
// Copyright 2011-2014 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
// |
// This program is free software; you may redistribute and/or modify it under |
// the terms of the GNU General Public License as published by the Free |
13,6 → 13,7
// |
// Revision History: |
// Date Rev Version Comment |
// 2014-07-27 575 1.3.3 ExecPart(): increase packet tout from 5 to 15 sec |
// 2013-04-21 509 1.3.2 add SndAttn() method |
// 2013-03-01 493 1.3.1 add Server(Active..|SignalAttn)() methods |
// 2013-02-23 492 1.3 use scoped_ptr for Port; Close allways allowed |
28,7 → 29,7
|
/*! |
\file |
\version $Id: RlinkConnect.cpp 521 2013-05-20 22:16:45Z mueller $ |
\version $Id: RlinkConnect.cpp 575 2014-07-27 20:55:41Z mueller $ |
\brief Implemenation of RlinkConnect. |
*/ |
|
401,7 → 402,7
|
fRxPkt.Init(); |
// FIXME_code: parametrize timeout |
if (!fRxPkt.RcvPacket(fpPort.get(), nrcvtot, 5.0, emsg)) return false; |
if (!fRxPkt.RcvPacket(fpPort.get(), nrcvtot, 15.0, emsg)) return false; |
|
// FIXME_code: handle timeout properly |
if (fRxPkt.TestFlag(RlinkPacketBuf::kFlagTout)) { |
trunk/tools/src/librlink
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/src/librtools
===================================================================
--- trunk/tools/src/librtools (revision 24)
+++ trunk/tools/src/librtools (revision 25)
trunk/tools/src/librtools
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/src/librlinktpp/RtclRlinkConnect.cpp
===================================================================
--- trunk/tools/src/librlinktpp/RtclRlinkConnect.cpp (revision 24)
+++ trunk/tools/src/librlinktpp/RtclRlinkConnect.cpp (revision 25)
@@ -1,6 +1,6 @@
-// $Id: RtclRlinkConnect.cpp 521 2013-05-20 22:16:45Z mueller $
+// $Id: RtclRlinkConnect.cpp 576 2014-08-02 12:24:28Z mueller $
//
-// Copyright 2011-2013 by Walter F.J. Mueller
+// Copyright 2011-2014 by Walter F.J. Mueller
//
// This program is free software; you may redistribute and/or modify it under
// the terms of the GNU General Public License as published by the Free
@@ -13,6 +13,7 @@
//
// Revision History:
// Date Rev Version Comment
+// 2014-08-02 576 1.1.7 bugfix: redo estatdef logic; avoid LastExpect()
// 2013-02-23 492 1.1.6 use RlogFile.Name(); use Context().ErrorCount()
// 2013-02-22 491 1.1.5 use new RlogFile/RlogMsg interfaces
// 2013-02-02 480 1.1.4 allow empty exec commands
@@ -27,7 +28,7 @@
/*!
\file
- \version $Id: RtclRlinkConnect.cpp 521 2013-05-20 22:16:45Z mueller $
+ \version $Id: RtclRlinkConnect.cpp 576 2014-08-02 12:24:28Z mueller $
\brief Implemenation of class RtclRlinkConnect.
*/
@@ -197,7 +198,8 @@
} else if (opt == "-edata") { // -edata data ?mask --------------
if (!ClistNonEmpty(args, clist)) return kERR;
if (clist[lsize-1].Expect()==0) {
- clist.LastExpect(new RlinkCommandExpect());
+ clist[lsize-1].SetExpect(new RlinkCommandExpect(estatdef_val,
+ estatdef_msk));
}
if (clist[lsize-1].Command() == RlinkCommand::kCmdRblk) {
vector data;
@@ -222,7 +224,7 @@
if (!args.GetArg("??mask", mask)) return kERR;
if (args.NOptMiss() == 2) mask = 0xff;
if (clist[lsize-1].Expect()==0) {
- clist.LastExpect(new RlinkCommandExpect());
+ clist[lsize-1].SetExpect(new RlinkCommandExpect());
}
clist[lsize-1].Expect()->SetStatus(stat, mask);
@@ -250,14 +252,16 @@
if (!args.GetArg("??varRes", varlist)) return kERR;
}
- if (lsize != clist.Size()) { // cmd added to clist (ind=lsize!)
- if (estatdef_msk != 0xff) { // estatdef defined
- if (clist[lsize].Expect()==0) {
- clist.LastExpect(new RlinkCommandExpect());
+ if (estatdef_msk != 0xff && // estatdef defined
+ lsize != clist.Size()) { // and cmd added to clist
+ for (size_t i=lsize; iSetStatus(estatdef_val, estatdef_msk);
}
}
+
}
int nact = 0;
trunk/tools/src/librlinktpp
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/src/librutiltpp/RtclSignalAction.cpp
===================================================================
--- trunk/tools/src/librutiltpp/RtclSignalAction.cpp (revision 24)
+++ trunk/tools/src/librutiltpp/RtclSignalAction.cpp (revision 25)
@@ -1,6 +1,6 @@
-// $Id: RtclSignalAction.cpp 521 2013-05-20 22:16:45Z mueller $
+// $Id: RtclSignalAction.cpp 577 2014-08-03 20:49:42Z mueller $
//
-// Copyright 2013- by Walter F.J. Mueller
+// Copyright 2013-2014 by Walter F.J. Mueller
//
// This program is free software; you may redistribute and/or modify it under
// the terms of the GNU General Public License as published by the Free
@@ -13,12 +13,13 @@
//
// Revision History:
// Date Rev Version Comment
+// 2014-08-02 577 1.0.1 add include unistd.h (write+pipe dcl)
// 2013-05-17 521 1.0 Initial version
// ---------------------------------------------------------------------------
/*!
\file
- \version $Id: RtclSignalAction.cpp 521 2013-05-20 22:16:45Z mueller $
+ \version $Id: RtclSignalAction.cpp 577 2014-08-03 20:49:42Z mueller $
\brief Implemenation of class RtclSignalAction.
*/
@@ -25,6 +26,7 @@
#include
#include
#include
+#include
#include
trunk/tools/src/librutiltpp
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/src/librtcltools
===================================================================
--- trunk/tools/src/librtcltools (revision 24)
+++ trunk/tools/src/librtcltools (revision 25)
trunk/tools/src/librtcltools
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/src/testtclsh
===================================================================
--- trunk/tools/src/testtclsh (revision 24)
+++ trunk/tools/src/testtclsh (revision 25)
trunk/tools/src/testtclsh
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/src
===================================================================
--- trunk/tools/src (revision 24)
+++ trunk/tools/src (revision 25)
trunk/tools/src
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/bin/ticonv_pdpcp
===================================================================
--- trunk/tools/bin/ticonv_pdpcp (revision 24)
+++ trunk/tools/bin/ticonv_pdpcp (revision 25)
@@ -1,7 +1,7 @@
#!/usr/bin/perl -w
-# $Id: ticonv_pdpcp 521 2013-05-20 22:16:45Z mueller $
+# $Id: ticonv_pdpcp 576 2014-08-02 12:24:28Z mueller $
#
-# Copyright 2013- by Walter F.J. Mueller
+# Copyright 2013-2014 by Walter F.J. Mueller
#
# This program is free software; you may redistribute and/or modify it under
# the terms of the GNU General Public License as published by the Free
@@ -14,6 +14,8 @@
#
# Revision History:
# Date Rev Version Comment
+# 2014-07-31 576 1.1 add -cmax option (default = 3); support .sdef
+# 2014-07-26 575 1.0.4 add --tout option (sets wtcpu timeout)
# 2013-05-19 521 1.0.3 use -be subopt of -wibrb
# 2013-04-12 504 1.0.2 renamed from pi2ti_pdpcp; fix [rm]wi handling
# use wtcpu command; use wibrbbe command;
@@ -28,8 +30,15 @@
my %opts = ();
-GetOptions(\%opts ) || exit 1;
+GetOptions(\%opts, "tout=f", "cmax=i"
+ )
+ or die "bad options";
+sub cmdlist_do;
+sub add_edata;
+
+my @cmdlist;
+
if (scalar(@ARGV) != 2) {
print STDERR "%ticonv_pdpcp-E: usage: ticonv_pdpcp \n";
exit 1;
@@ -37,6 +46,12 @@
my $cpu = $ARGV[0];
my $fnam = $ARGV[1];
+my $tout = $opts{tout} || 10.;
+my $cmax = $opts{cmax} || 6;
+
+my $ref_sdef = 0x00; # by default check for 'hard' errors
+my $msk_sdef = 0xf0; # ignore the status bits + attn flag
+
open IFILE, $fnam or die "failed to open '$fnam'";
while () {
@@ -56,6 +71,7 @@
# C... comments -> write to rlc log --------------------------------
if ($cmd =~ /^C(.*)/) {
+ cmdlist_do();
my $msg = $1;
$msg =~ s/"/'/g;
$msg =~ s/\[/\{/g;
@@ -63,40 +79,50 @@
print "rlc log \"C $msg\"\n";
# .tocmd,.tostp,.togo,.cerr,.merr -> ignore, like pi_rri -----------
- } elsif ($cmd =~ /^\.(tocmd|tostp|togo|[cm]err)\s+(\d*)/) {
+ } elsif ($cmd =~ /^\.(tocmd|tostp|togo|[cm]err)\s+(\d*)$/) {
print "# $cmd currently ignored\n";
# .mode mode -> accept only 'pdpcp', quit otherwise ----------------
- } elsif ($cmd =~ /^\.mode\s+(.*)/) {
+ } elsif ($cmd =~ /^\.mode\s+(.*)$/) {
if ($1 ne "pdpcp") {
print "# FAIL: $cmd not supported\n";
exit 1;
}
+ # .sdef s=ref[,msk] ------------------------------------------------
+ } elsif ($cmd =~ /^\.sdef\s+s=([01]+),?([01]*)$/) {
+ cmdlist_do();
+ $ref_sdef = oct("0b$1");
+ $msk_sdef = oct("0b$2");
+
# .rlmon,.rbmon ----------------------------------------------------
- } elsif ($cmd =~ /^\.(r[lb]mon)\s+(\d)/) {
+ } elsif ($cmd =~ /^\.(r[lb]mon)\s+(\d)$/) {
+ cmdlist_do();
print "rlc oob -$1 $2\n";
# .scntl -----------------------------------------------------------
- } elsif ($cmd =~ /^\.scntl\s+(\d+)\s+(\d)/) {
+ } elsif ($cmd =~ /^\.scntl\s+(\d+)\s+(\d)$/) {
+ cmdlist_do();
print "rlc oob -sbcntl $1 $2\n";
# .anena (0|1) -> rlc exec -init -----------------------------------
- } elsif ($cmd =~ /^\.anena\s+(\d)/) {
+ } elsif ($cmd =~ /^\.anena\s+(\d)$/) {
+ cmdlist_do();
my $dat = $1 ? '[regbld rlink::INIT anena]' : '0';
print "rlc exec -init 0xff $dat\n";
print "rlc exec -attn\n";
# .reset -----------------------------------------------------------
- } elsif ($cmd =~ /^\.reset/) {
+ } elsif ($cmd =~ /^\.reset$/) {
+ cmdlist_do();
print "rlc exec -init 0 1\n";
# (write) data type commands: wrx,wps,wal,wah,wm,wmi,stapc ---
- # Note: 'stapc' must be decoeded before 'sta' !!
+ # Note: 'stapc' must be decoded before 'sta' !!
# Note: 'wibrb' must be handled separately
# Note: 'wmi' must be matched before 'wm'
- } elsif ($cmd =~ /^(wr[0-7]|wps|wal|wah|wmi|wm|stapc)\s+([0-7]+)/) {
- print "$cpu cp -$1 0$2\n";
+ } elsif ($cmd =~ /^(wr[0-7]|wps|wal|wah|wmi|wm|stapc)\s+([0-7]+)$/) {
+ push @cmdlist, "-$1 0$2";
# (write) data type commands: wibrb ---
} elsif ($cmd =~ /^(wibrb)\s+([0-7]+)/) {
@@ -103,36 +129,36 @@
my $base = oct($2);
my $be = $base & 0x3;
if ($be == 0) {
- print "$cpu cp -wibrb 0$2\n";
+ push @cmdlist, "-wibrb 0$2";
} else {
- printf "$cpu cp -wibrb 0%6.6o -be %o\n", $base&0177700, $be;
+ push @cmdlist, sprintf "-wibrb 0%6.6o -be %o", $base&0177700, $be;
}
# (read) [d=data] type commands: rrx,rps,rm,rmi --------------------
# Note: 'rmi' must be matched before 'rm'
} elsif ($cmd =~ /^(rr[0-7]|rps|rmi|rm)/) {
- print "$cpu cp -$1 ";
+ push @cmdlist, "-$1 ";
add_edata($');
- print "\n";
# bwm n ------------------------------------------------------------
- } elsif ($cmd =~ /^bwm\s+(\d+)/) {
+ } elsif ($cmd =~ /^bwm\s+(\d+)$/) {
my $nw = $1;
- print "$cpu cp -bwm {";
+ push @cmdlist, "-bwm {";
for (my $i=0; $i<$nw;) {
my $dat = ;
$dat =~ s/--.*//;
$dat =~ s/\s*//g;
next if $dat =~ m/^#/;
- print " 0$dat";
+ $cmdlist[-1] .= " 0$dat";
$i++;
}
- print "}\n";
+ $cmdlist[-1] .= "}";
+ cmdlist_do();
# brm n ------------------------------------------------------------
- } elsif ($cmd =~ /^brm\s+(\d+)/) {
+ } elsif ($cmd =~ /^brm\s+(\d+)$/) {
my $nw = $1;
- print "$cpu cp -brm $1";
+ push @cmdlist, "-brm $1";
my @data;
my @mask;
my $domask;
@@ -153,44 +179,43 @@
}
$i++;
}
- print " -edata {", join(" ",@data), "} ";
- print " {", join(" ",@mask), "} " if $domask;
- print "\n";
+ $cmdlist[-1] .= " -edata {" . join(" ",@data) . "}";
+ $cmdlist[-1] .= " {" . join(" ",@mask) . "}" if $domask;
+ cmdlist_do();
# wibr off data ---------------------------------------------------
- } elsif ($cmd =~ /^(wibr)\s+([0-7]+)\s+([0-7]+)/) {
- print "$cpu cp -$1 0$2 0$3";
- print "\n";
+ } elsif ($cmd =~ /^(wibr)\s+([0-7]+)\s+([0-7]+)$/) {
+ push @cmdlist, "-$1 0$2 0$3";
# ribr off [d=data] ------------------------------------------------
} elsif ($cmd =~ /^(ribr)\s+([0-7]+)/) {
- print "$cpu cp -$1 0$2";
+ push @cmdlist, "-$1 0$2";
add_edata($');
- print "\n";
# simple action commands: sta,sto,cont,step,rst --------------------
- } elsif ($cmd =~ /^(sta|sto|cont|step|rst)/) {
+ } elsif ($cmd =~ /^(sta|sto|cont|step|rst)$/) {
my %cmdmap = (sta => 'start',
sto => 'stop',
cont => 'continue',
step => 'step',
rst => 'reset');
- printf "$cpu cp -%s", $cmdmap{$1};
- print "\n";
+ push @cmdlist, sprintf "-%s", $cmdmap{$1};
# wtgo -> wtcpu ----------------------------------------------------
- } elsif ($cmd =~ /^(wtgo)/) {
- print "$cpu wtcpu 10.";
+ } elsif ($cmd =~ /^(wtgo)$/) {
+ cmdlist_do();
+ print "$cpu wtcpu $tout";
print "\n";
# wtlam apat -------------------------------------------------------
# Note: apat currently ignored !!
} elsif ($cmd =~ /^(wtlam)/) {
- print "$cpu wtcpu 10.";
+ cmdlist_do();
+ print "$cpu wtcpu $tout";
print "\n";
# currently unimplemented commands ... -----------------------------
- } elsif ($cmd =~ /^(\.wait|\.sdef)/) {
+ } elsif ($cmd =~ /^(\.wait)/) {
print "## TODO... $cmd\n";
} else {
@@ -198,12 +223,35 @@
exit 1;
}
+ cmdlist_do() if scalar(@cmdlist) >= $cmax;
+
}
+cmdlist_do();
+exit 0;
+
+#-------------------------------------------------------------------------------
sub add_edata {
my ($crest) = @_;
$crest =~ s/\s+//;
if ($crest =~ m/d=([0-7]+)/) {
- print " -edata 0$1";
+ $cmdlist[-1] .= " -edata 0$1";
}
}
+
+#-------------------------------------------------------------------------------
+sub cmdlist_do {
+ return unless scalar(@cmdlist);
+
+# printf "$cpu cp \\\n";
+ printf "$cpu cp -estatdef 0x%2.2x 0x%2.2x \\\n", $ref_sdef, $msk_sdef;
+ while (scalar(@cmdlist)) {
+ print " ";
+ print shift @cmdlist;
+ print " \\\n" if scalar(@cmdlist);
+ }
+ print "\n";
+ @cmdlist = ();
+ return;
+}
+
/trunk/tools/bin/vbomconv
1,7 → 1,7
#!/usr/bin/perl -w |
# $Id: vbomconv 558 2014-06-01 22:20:51Z mueller $ |
# $Id: vbomconv 575 2014-07-27 20:55:41Z mueller $ |
# |
# Copyright 2007-2013 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
# Copyright 2007-2014 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
# |
# This program is free software; you may redistribute and/or modify it under |
# the terms of the GNU General Public License as published by the Free |
14,6 → 14,7
# |
# Revision History: |
# Date Rev Version Comment |
# 2014-07-26 575 1.10.1 use XTWI_PATH now (ise/vivado switch done later) |
# 2013-10-20 543 1.10 add --viv_vhdl |
# 2012-02-05 456 1.9.4 redo filename substitution (= and :); add --get_top |
# 2012-01-02 448 1.9.3 use in ghdl_m -fexplicit also when simprim used |
220,8 → 221,8
foreach (@file_list) { |
my $file = $_; |
my $cmd = "ghdl -a"; |
$cmd .= ' -P$XILINX/ghdl/unisim' if $has_unisim; |
$cmd .= ' -P$XILINX/ghdl/simprim' if $has_simprim; |
$cmd .= ' -P$XTWI_PATH/ISE_DS/ISE/ghdl/unisim' if $has_unisim; |
$cmd .= ' -P$XTWI_PATH/ISE_DS/ISE/ghdl/simprim' if $has_simprim; |
$cmd .= " --ieee=synopsys"; |
$cmd .= " $file"; |
print "$cmd\n"; |
305,8 → 306,8
$cmd .= " -o $stem"; |
# -fexplicit needed for ISE 13.1,13.3 |
$cmd .= ' -fexplicit' if $has_unisim or $has_simprim; |
$cmd .= ' -P$XILINX/ghdl/unisim' if $has_unisim; |
$cmd .= ' -P$XILINX/ghdl/simprim' if $has_simprim; |
$cmd .= ' -P$XTWI_PATH/ISE_DS/ISE/ghdl/unisim' if $has_unisim; |
$cmd .= ' -P$XTWI_PATH/ISE_DS/ISE/ghdl/simprim' if $has_simprim; |
$cmd .= " --ieee=synopsys"; |
$cmd .= " --no-vital-checks" if $is_ssim or $is_fsim or $is_tsim; |
|
/trunk/tools/bin/tbw
1,7 → 1,7
#!/usr/bin/perl -w |
# $Id: tbw 420 2011-11-06 21:25:54Z mueller $ |
# $Id: tbw 575 2014-07-27 20:55:41Z mueller $ |
# |
# Copyright 2007-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
# Copyright 2007-2014 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
# |
# This program is free software; you may redistribute and/or modify it under |
# the terms of the GNU General Public License as published by the Free |
14,6 → 14,7
# |
# Revision History: |
# Date Rev Version Comment |
# 2014-07-27 575 1.2.4 use xtwi to start ISim models |
# 2011-11-06 420 1.2.3 fix tbw.dat parsing (allow / in file names) |
# 2010-05-23 294 1.2.2 handle tb_code's in non-local directories |
# 2010-04-18 279 1.2.1 add -help and more text to print_usage() |
236,7 → 237,7
# |
|
if ($is_isim_run) { # handle for isim 'run all' |
my $cmd = $tb_code . " " . join " ",@ARGV; |
my $cmd = "xtwi" . " " . $tb_code . " " . join " ",@ARGV; |
open (ISIM_RUN, "| $cmd") |
or die "failed to open process pipe to isim: $!"; |
print ISIM_RUN "run all\n"; |
/trunk/tools/bin/asm-11
1,7 → 1,7
#!/usr/bin/perl -w |
# $Id: asm-11 547 2013-12-29 13:10:07Z mueller $ |
# $Id: asm-11 575 2014-07-27 20:55:41Z mueller $ |
# |
# Copyright 2013- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
# Copyright 2013-2014 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
# |
# This program is free software; you may redistribute and/or modify it under |
# the terms of the GNU General Public License as published by the Free |
14,6 → 14,7
# |
# Revision History: |
# Date Rev Version Comment |
# 2014-07-26 575 1.0.3 add 'call' and 'return' to pst (as in macro-11) |
# 2013-04-07 503 1.0.2 list dot for .even,.dot,.blkb,.blkw |
# 2013-04-01 502 1.0.1 BUGFIX: -2(r0),@-2(r0) was broken, parser fixed |
# add -lsm (lsmem format) output; add implicit .word |
127,6 → 128,7
'mfpt' => {typ=>'op', val=>0000007, fmt=>'-' }, |
'jmp' => {typ=>'op', val=>0000100, fmt=>'g' }, |
'rts' => {typ=>'op', val=>0000200, fmt=>'r' }, |
'return' => {typ=>'op', val=>0000207, fmt=>'-' }, # alias for rts pc |
'spl' => {typ=>'op', val=>0000230, fmt=>'n3' }, |
'nop' => {typ=>'op', val=>0000240, fmt=>'-' }, |
'clc' => {typ=>'op', val=>0000241, fmt=>'-' }, |
148,6 → 150,7
'bgt' => {typ=>'op', val=>0003000, fmt=>'s8' }, |
'ble' => {typ=>'op', val=>0003400, fmt=>'s8' }, |
'jsr' => {typ=>'op', val=>0004000, fmt=>'rg' }, |
'call' => {typ=>'op', val=>0004700, fmt=>'g' }, # alias for jsr pc,<dst> |
'clr' => {typ=>'op', val=>0005000, fmt=>'g' }, |
'com' => {typ=>'op', val=>0005100, fmt=>'g' }, |
'inc' => {typ=>'op', val=>0005200, fmt=>'g' }, |
/trunk/tools/bin/ti_w11
1,8 → 1,9
#!/usr/bin/perl -w |
# $Id: ti_w11 516 2013-05-05 21:24:52Z mueller $ |
# $Id: ti_w11 570 2014-07-20 19:05:11Z mueller $ |
# |
# Revision History: |
# Date Rev Version Comment |
# 2014-07-13 570 1.2 bugfix: split options args into ti_rri opts and cmds |
# 2013-05-05 516 1.1 renamed to ti_w11 |
# 2013-04-26 510 1.0 Initial version (derived from dorri) |
# |
105,6 → 106,28
} |
|
# |
# process remaining arguments, separate ti_rri options and commands |
# |
|
# handle options (all starting with -) |
my @tiopts; |
while (scalar(@ARGV)) { |
last unless $ARGV[0] =~ m{^--}; |
push @tiopts, shift @ARGV; |
} |
|
# handle comands |
my @ticmds; |
while (scalar(@ARGV)) { |
my $curarg = shift @ARGV; |
if ($curarg =~ m{^@(.*)$} && ! -r $1) { |
print STDERR "ti_w11-E: file '$1' not found\n"; |
exit 1; |
} |
push @ticmds,$curarg; |
} |
|
# |
# check that either -s3/n2/n3 or -t or -u given |
# setup pi_rri options for either case |
# |
129,6 → 152,7
push @arglist, '--logl=2'; |
push @arglist, '--int' unless $opt_b; |
push @arglist, '--pack=rw11'; |
push @arglist, @tiopts; # add options from ARGV |
push @arglist, '--'; |
|
# |
144,7 → 168,6
push @arglist, 'rlc oob -sbdata 8 0x2'; |
push @arglist, 'rlc oob -sbdata 16 0x4'; |
} |
|
} |
|
# |
167,19 → 190,8
push @arglist, 'cpu0 cp -stapc 0200'; |
} |
|
# |
# all remaining commands |
# |
push @arglist, @ticmds; # add commands from ARGV |
|
while (scalar(@ARGV)) { |
my $curarg = shift @ARGV; |
if ($curarg =~ m{^@(.*)$} && ! -r $1) { |
print STDERR "ti_w11-E: file '$1' not found\n"; |
exit 1; |
} |
push @arglist,$curarg; |
} |
|
# |
# find ti_rri executable |
# |
/trunk/tools/bin/create_disk
1,7 → 1,7
#!/usr/bin/perl -w |
# $Id: create_disk 522 2013-05-24 17:50:29Z mueller $ |
# $Id: create_disk 562 2014-06-15 17:23:18Z mueller $ |
# |
# Copyright 2013- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
# Copyright 2013-2014 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
# |
# This program is free software; you may redistribute and/or modify it under |
# the terms of the GNU General Public License as published by the Free |
14,6 → 14,7
# |
# Revision History: |
# Date Rev Version Comment |
# 2014-06-14 562 1.1 BUGFIX: repair --boot; add RM02,RM05,RP04,RP07 |
# 2013-05-20 521 1.0 First draft |
# |
|
32,7 → 33,7
|
sub do_inipatt; |
sub do_badtable; |
sub do_noboot; |
sub do_boot; |
sub print_help; |
|
# disk type table |
40,7 → 41,11
RK05 => {cyl=> 203, hd=> 2, sec=> 12, bps=> 512, bad=>0}, |
RL01 => {cyl=> 256, hd=> 2, sec=> 40, bps=> 256, bad=>1}, |
RL02 => {cyl=> 512, hd=> 2, sec=> 40, bps=> 256, bad=>1}, |
RP06 => {cyl=> 815, hd=> 19, sec=> 22, bps=> 512, bad=>1} |
RM02 => {cyl=> 823, hd=> 5, sec=> 32, bps=> 512, bad=>1}, |
RM05 => {cyl=> 823, hd=> 19, sec=> 32, bps=> 512, bad=>1}, |
RP04 => {cyl=> 411, hd=> 19, sec=> 22, bps=> 512, bad=>1}, |
RP06 => {cyl=> 815, hd=> 19, sec=> 22, bps=> 512, bad=>1}, |
RP07 => {cyl=> 630, hd=> 32, sec=> 50, bps=> 512, bad=>1} |
); |
|
autoflush STDOUT 1 if (-p STDOUT); # autoflush if output into pipe |
101,7 → 106,7
do_badtable if $opts{bad}; |
|
# write dummy boot block |
do_noboot if $opts{noboot}; |
do_boot if $opts{boot}; |
|
#------------------------------------------------------------------------------- |
|
183,7 → 188,7
|
#------------------------------------------------------------------------------- |
|
sub do_noboot { |
sub do_boot { |
my @dat; |
|
push @dat, 0012700, 0000100; # start: mov #text, r0 |
219,7 → 224,7
$buf .= "\r\n"; |
|
# NOTE: the text above almost fills the first 512 bytes !! |
# don't any more text, all has been said anyway !! |
# don't add more text, all has been said anyway !! |
|
$rc = $fh->seek(0100, SEEK_SET); |
if (not $rc) {die "seek failed: $!";} |
trunk/tools/bin
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/oskit/rt11-40_rk
===================================================================
--- trunk/tools/oskit/rt11-40_rk (revision 24)
+++ trunk/tools/oskit/rt11-40_rk (revision 25)
trunk/tools/oskit/rt11-40_rk
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/oskit/unix-v5_rk
===================================================================
--- trunk/tools/oskit/unix-v5_rk (revision 24)
+++ trunk/tools/oskit/unix-v5_rk (revision 25)
trunk/tools/oskit/unix-v5_rk
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/oskit/211bsd_rk
===================================================================
--- trunk/tools/oskit/211bsd_rk (revision 24)
+++ trunk/tools/oskit/211bsd_rk (revision 25)
trunk/tools/oskit/211bsd_rk
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/oskit/rsx11m-31_rk
===================================================================
--- trunk/tools/oskit/rsx11m-31_rk (revision 24)
+++ trunk/tools/oskit/rsx11m-31_rk (revision 25)
trunk/tools/oskit/rsx11m-31_rk
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/oskit/rsx11m-40_rk
===================================================================
--- trunk/tools/oskit/rsx11m-40_rk (revision 24)
+++ trunk/tools/oskit/rsx11m-40_rk (revision 25)
trunk/tools/oskit/rsx11m-40_rk
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/oskit
===================================================================
--- trunk/tools/oskit (revision 24)
+++ trunk/tools/oskit (revision 25)
trunk/tools/oskit
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/dox/make_doxy
===================================================================
--- trunk/tools/dox/make_doxy (revision 24)
+++ trunk/tools/dox/make_doxy (revision 25)
@@ -1,8 +1,9 @@
#!/bin/sh
-# $Id: make_doxy 523 2013-05-26 21:54:55Z mueller $
+# $Id: make_doxy 563 2014-06-22 15:49:09Z mueller $
#
# Revision History:
# Date Rev Version Comment
+# 2014-06-18 563 1.0.1 BUGFIX: create directories, fix 'to view use' text
# 2013-02-05 482 1.0 Initial version
#
if [ -z "$RETROBASE" ]
@@ -23,11 +24,12 @@
exit 1
fi
#
-if [ ! -d "$RETRODOXY/w11" ]
-then
- mkdir $RETRODOXY/w11
-fi
+if [ ! -d "$RETRODOXY/w11" ]; then mkdir $RETRODOXY/w11; fi
#
+if [ ! -d "$RETRODOXY/w11/cpp" ]; then mkdir $RETRODOXY/w11/cpp; fi
+if [ ! -d "$RETRODOXY/w11/tcl" ]; then mkdir $RETRODOXY/w11/tcl; fi
+if [ ! -d "$RETRODOXY/w11/vhd" ]; then mkdir $RETRODOXY/w11/vhd; fi
+#
doxygen w11_cpp.Doxyfile 2>&1 | tee w11_cpp.dox_log
doxygen w11_tcl.Doxyfile 2>&1 | tee w11_tcl.dox_log
doxygen w11_vhd_all.Doxyfile 2>&1 | tee w11_vhd_all.dox_log
@@ -35,6 +37,6 @@
#
echo ""
echo "to view use"
-echo " firefox $RETRODOXY/doxy/w11/cpp/html/index.html &"
-echo " firefox $RETRODOXY/doxy/w11/tcl/html/index.html &"
-echo " firefox $RETRODOXY/doxy/w11/vhd/html/index.html &"
+echo " firefox $RETRODOXY/w11/cpp/html/index.html &"
+echo " firefox $RETRODOXY/w11/tcl/html/index.html &"
+echo " firefox $RETRODOXY/w11/vhd/html/index.html &"
Index: trunk/tools/dox/w11_vhd_all.Doxyfile
===================================================================
--- trunk/tools/dox/w11_vhd_all.Doxyfile (revision 24)
+++ trunk/tools/dox/w11_vhd_all.Doxyfile (revision 25)
@@ -1,15 +1,16 @@
-# Doxyfile 1.8.3.1
+# Doxyfile 1.8.7
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
DOXYFILE_ENCODING = UTF-8
-PROJECT_NAME = w11 - vhd
-PROJECT_NUMBER = 0.60
+PROJECT_NAME = "w11 - vhd"
+PROJECT_NUMBER = 0.61
PROJECT_BRIEF = "W11 CPU core and support modules"
PROJECT_LOGO =
-OUTPUT_DIRECTORY = $(RETRODOXY)/doxy/w11/vhd
+OUTPUT_DIRECTORY = $(RETRODOXY)/w11/vhd
CREATE_SUBDIRS = NO
+ALLOW_UNICODE_NAMES = NO
OUTPUT_LANGUAGE = English
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
@@ -32,7 +33,7 @@
OPTIMIZE_OUTPUT_JAVA = NO
OPTIMIZE_FOR_FORTRAN = NO
OPTIMIZE_OUTPUT_VHDL = YES
-EXTENSION_MAPPING =
+EXTENSION_MAPPING =
MARKDOWN_SUPPORT = YES
AUTOLINK_SUPPORT = YES
BUILTIN_STL_SUPPORT = YES
@@ -44,7 +45,6 @@
INLINE_GROUPED_CLASSES = NO
INLINE_SIMPLE_STRUCTS = NO
TYPEDEF_HIDES_STRUCT = NO
-SYMBOL_CACHE_SIZE = 0
LOOKUP_CACHE_SIZE = 0
#---------------------------------------------------------------------------
# Build related configuration options
@@ -64,6 +64,7 @@
CASE_SENSE_NAMES = YES
HIDE_SCOPE_NAMES = YES
SHOW_INCLUDE_FILES = YES
+SHOW_GROUPED_MEMB_INC = NO
FORCE_LOCAL_INCLUDES = NO
INLINE_INFO = YES
SORT_MEMBER_DOCS = NO
@@ -85,7 +86,7 @@
LAYOUT_FILE =
CITE_BIB_FILES =
#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
+# Configuration options related to warning and progress messages
#---------------------------------------------------------------------------
QUIET = NO
WARNINGS = YES
@@ -95,7 +96,7 @@
WARN_FORMAT = "$file:$line: $text"
WARN_LOGFILE =
#---------------------------------------------------------------------------
-# configuration options related to the input files
+# Configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = $(RETROBASE)/rtl
INPUT_ENCODING = UTF-8
@@ -120,7 +121,7 @@
FILTER_SOURCE_PATTERNS =
USE_MDFILE_AS_MAINPAGE =
#---------------------------------------------------------------------------
-# configuration options related to source browsing
+# Configuration options related to source browsing
#---------------------------------------------------------------------------
SOURCE_BROWSER = YES
INLINE_SOURCES = NO
@@ -128,16 +129,17 @@
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = YES
REFERENCES_LINK_SOURCE = YES
+SOURCE_TOOLTIPS = YES
USE_HTAGS = NO
VERBATIM_HEADERS = YES
#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
+# Configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
ALPHABETICAL_INDEX = YES
COLS_IN_ALPHA_INDEX = 5
IGNORE_PREFIX =
#---------------------------------------------------------------------------
-# configuration options related to the HTML output
+# Configuration options related to the HTML output
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT = html
@@ -186,6 +188,7 @@
MATHJAX_FORMAT = HTML-CSS
MATHJAX_RELPATH = http://www.mathjax.org/mathjax/latest
MATHJAX_EXTENSIONS =
+MATHJAX_CODEFILE =
SEARCHENGINE = YES
SERVER_BASED_SEARCH = NO
EXTERNAL_SEARCH = NO
@@ -194,7 +197,7 @@
EXTERNAL_SEARCH_ID =
EXTRA_SEARCH_MAPPINGS =
#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
+# Configuration options related to the LaTeX output
#---------------------------------------------------------------------------
GENERATE_LATEX = NO
LATEX_OUTPUT = latex
@@ -205,6 +208,7 @@
EXTRA_PACKAGES =
LATEX_HEADER =
LATEX_FOOTER =
+LATEX_EXTRA_FILES =
PDF_HYPERLINKS = YES
USE_PDFLATEX = YES
LATEX_BATCHMODE = NO
@@ -212,7 +216,7 @@
LATEX_SOURCE_CODE = NO
LATEX_BIB_STYLE = plain
#---------------------------------------------------------------------------
-# configuration options related to the RTF output
+# Configuration options related to the RTF output
#---------------------------------------------------------------------------
GENERATE_RTF = NO
RTF_OUTPUT = rtf
@@ -221,26 +225,30 @@
RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE =
#---------------------------------------------------------------------------
-# configuration options related to the man page output
+# Configuration options related to the man page output
#---------------------------------------------------------------------------
GENERATE_MAN = NO
MAN_OUTPUT = man
MAN_EXTENSION = .3
+MAN_SUBDIR =
MAN_LINKS = NO
#---------------------------------------------------------------------------
-# configuration options related to the XML output
+# Configuration options related to the XML output
#---------------------------------------------------------------------------
GENERATE_XML = NO
XML_OUTPUT = xml
-XML_SCHEMA =
-XML_DTD =
XML_PROGRAMLISTING = YES
#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
+# Configuration options related to the DOCBOOK output
#---------------------------------------------------------------------------
+GENERATE_DOCBOOK = NO
+DOCBOOK_OUTPUT = docbook
+#---------------------------------------------------------------------------
+# Configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
GENERATE_AUTOGEN_DEF = NO
#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
+# Configuration options related to the Perl module output
#---------------------------------------------------------------------------
GENERATE_PERLMOD = NO
PERLMOD_LATEX = NO
@@ -259,12 +267,13 @@
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
-# Configuration::additions related to external references
+# Configuration options related to external references
#---------------------------------------------------------------------------
TAGFILES =
GENERATE_TAGFILE = $(RETRODOXY)/w11/vhd/vhd.tag
ALLEXTERNALS = NO
EXTERNAL_GROUPS = YES
+EXTERNAL_PAGES = YES
PERL_PATH = /usr/bin/perl
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
@@ -271,6 +280,7 @@
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = YES
MSCGEN_PATH =
+DIA_PATH =
HIDE_UNDOC_RELATIONS = YES
HAVE_DOT = YES
DOT_NUM_THREADS = 0
@@ -294,6 +304,7 @@
DOT_PATH =
DOTFILE_DIRS =
MSCFILE_DIRS =
+DIAFILE_DIRS =
DOT_GRAPH_MAX_NODES = 50
MAX_DOT_GRAPH_DEPTH = 0
DOT_TRANSPARENT = NO
/trunk/tools/dox/w11_cpp.Doxyfile
1,15 → 1,16
# Doxyfile 1.8.3.1 |
# Doxyfile 1.8.7 |
|
#--------------------------------------------------------------------------- |
# Project related configuration options |
#--------------------------------------------------------------------------- |
DOXYFILE_ENCODING = UTF-8 |
PROJECT_NAME = w11 - cpp |
PROJECT_NUMBER = 0.60 |
PROJECT_NAME = "w11 - cpp" |
PROJECT_NUMBER = 0.61 |
PROJECT_BRIEF = "Backend server for Rlink and w11" |
PROJECT_LOGO = |
OUTPUT_DIRECTORY = $(RETRODOXY)/doxy/w11/cpp |
OUTPUT_DIRECTORY = $(RETRODOXY)/w11/cpp |
CREATE_SUBDIRS = NO |
ALLOW_UNICODE_NAMES = NO |
OUTPUT_LANGUAGE = English |
BRIEF_MEMBER_DESC = YES |
REPEAT_BRIEF = YES |
44,7 → 45,6
INLINE_GROUPED_CLASSES = NO |
INLINE_SIMPLE_STRUCTS = NO |
TYPEDEF_HIDES_STRUCT = NO |
SYMBOL_CACHE_SIZE = 0 |
LOOKUP_CACHE_SIZE = 0 |
#--------------------------------------------------------------------------- |
# Build related configuration options |
64,6 → 64,7
CASE_SENSE_NAMES = YES |
HIDE_SCOPE_NAMES = NO |
SHOW_INCLUDE_FILES = YES |
SHOW_GROUPED_MEMB_INC = NO |
FORCE_LOCAL_INCLUDES = NO |
INLINE_INFO = YES |
SORT_MEMBER_DOCS = NO |
85,7 → 86,7
LAYOUT_FILE = |
CITE_BIB_FILES = |
#--------------------------------------------------------------------------- |
# configuration options related to warning and progress messages |
# Configuration options related to warning and progress messages |
#--------------------------------------------------------------------------- |
QUIET = NO |
WARNINGS = YES |
95,7 → 96,7
WARN_FORMAT = "$file:$line: $text" |
WARN_LOGFILE = |
#--------------------------------------------------------------------------- |
# configuration options related to the input files |
# Configuration options related to the input files |
#--------------------------------------------------------------------------- |
INPUT = $(RETROBASE)/tools/src \ |
$(RETROBASE)/tools/dox/cpp_extra |
121,7 → 122,7
FILTER_SOURCE_PATTERNS = |
USE_MDFILE_AS_MAINPAGE = |
#--------------------------------------------------------------------------- |
# configuration options related to source browsing |
# Configuration options related to source browsing |
#--------------------------------------------------------------------------- |
SOURCE_BROWSER = YES |
INLINE_SOURCES = NO |
129,16 → 130,17
REFERENCED_BY_RELATION = YES |
REFERENCES_RELATION = YES |
REFERENCES_LINK_SOURCE = YES |
SOURCE_TOOLTIPS = YES |
USE_HTAGS = NO |
VERBATIM_HEADERS = YES |
#--------------------------------------------------------------------------- |
# configuration options related to the alphabetical class index |
# Configuration options related to the alphabetical class index |
#--------------------------------------------------------------------------- |
ALPHABETICAL_INDEX = YES |
COLS_IN_ALPHA_INDEX = 5 |
IGNORE_PREFIX = |
#--------------------------------------------------------------------------- |
# configuration options related to the HTML output |
# Configuration options related to the HTML output |
#--------------------------------------------------------------------------- |
GENERATE_HTML = YES |
HTML_OUTPUT = html |
187,6 → 189,7
MATHJAX_FORMAT = HTML-CSS |
MATHJAX_RELPATH = http://www.mathjax.org/mathjax/latest |
MATHJAX_EXTENSIONS = |
MATHJAX_CODEFILE = |
SEARCHENGINE = YES |
SERVER_BASED_SEARCH = NO |
EXTERNAL_SEARCH = NO |
195,7 → 198,7
EXTERNAL_SEARCH_ID = |
EXTRA_SEARCH_MAPPINGS = |
#--------------------------------------------------------------------------- |
# configuration options related to the LaTeX output |
# Configuration options related to the LaTeX output |
#--------------------------------------------------------------------------- |
GENERATE_LATEX = NO |
LATEX_OUTPUT = latex |
206,6 → 209,7
EXTRA_PACKAGES = |
LATEX_HEADER = |
LATEX_FOOTER = |
LATEX_EXTRA_FILES = |
PDF_HYPERLINKS = YES |
USE_PDFLATEX = YES |
LATEX_BATCHMODE = NO |
213,7 → 217,7
LATEX_SOURCE_CODE = NO |
LATEX_BIB_STYLE = plain |
#--------------------------------------------------------------------------- |
# configuration options related to the RTF output |
# Configuration options related to the RTF output |
#--------------------------------------------------------------------------- |
GENERATE_RTF = NO |
RTF_OUTPUT = rtf |
222,26 → 226,30
RTF_STYLESHEET_FILE = |
RTF_EXTENSIONS_FILE = |
#--------------------------------------------------------------------------- |
# configuration options related to the man page output |
# Configuration options related to the man page output |
#--------------------------------------------------------------------------- |
GENERATE_MAN = NO |
MAN_OUTPUT = man |
MAN_EXTENSION = .3 |
MAN_SUBDIR = |
MAN_LINKS = NO |
#--------------------------------------------------------------------------- |
# configuration options related to the XML output |
# Configuration options related to the XML output |
#--------------------------------------------------------------------------- |
GENERATE_XML = NO |
XML_OUTPUT = xml |
XML_SCHEMA = |
XML_DTD = |
XML_PROGRAMLISTING = YES |
#--------------------------------------------------------------------------- |
# configuration options for the AutoGen Definitions output |
# Configuration options related to the DOCBOOK output |
#--------------------------------------------------------------------------- |
GENERATE_DOCBOOK = NO |
DOCBOOK_OUTPUT = docbook |
#--------------------------------------------------------------------------- |
# Configuration options for the AutoGen Definitions output |
#--------------------------------------------------------------------------- |
GENERATE_AUTOGEN_DEF = NO |
#--------------------------------------------------------------------------- |
# configuration options related to the Perl module output |
# Configuration options related to the Perl module output |
#--------------------------------------------------------------------------- |
GENERATE_PERLMOD = NO |
PERLMOD_LATEX = NO |
260,12 → 268,13
EXPAND_AS_DEFINED = |
SKIP_FUNCTION_MACROS = YES |
#--------------------------------------------------------------------------- |
# Configuration::additions related to external references |
# Configuration options related to external references |
#--------------------------------------------------------------------------- |
TAGFILES = |
TAGFILES = |
GENERATE_TAGFILE = $(RETRODOXY)/w11/cpp/cpp.tag |
ALLEXTERNALS = NO |
EXTERNAL_GROUPS = YES |
EXTERNAL_PAGES = YES |
PERL_PATH = /usr/bin/perl |
#--------------------------------------------------------------------------- |
# Configuration options related to the dot tool |
272,6 → 281,7
#--------------------------------------------------------------------------- |
CLASS_DIAGRAMS = YES |
MSCGEN_PATH = |
DIA_PATH = |
HIDE_UNDOC_RELATIONS = YES |
HAVE_DOT = YES |
DOT_NUM_THREADS = 0 |
295,6 → 305,7
DOT_PATH = |
DOTFILE_DIRS = |
MSCFILE_DIRS = |
DIAFILE_DIRS = |
DOT_GRAPH_MAX_NODES = 50 |
MAX_DOT_GRAPH_DEPTH = 0 |
DOT_TRANSPARENT = NO |
/trunk/tools/dox/w11_tcl.Doxyfile
1,15 → 1,16
# Doxyfile 1.8.3.1 |
# Doxyfile 1.8.7 |
|
#--------------------------------------------------------------------------- |
# Project related configuration options |
#--------------------------------------------------------------------------- |
DOXYFILE_ENCODING = UTF-8 |
PROJECT_NAME = w11 - tcl |
PROJECT_NUMBER = 0.60 |
PROJECT_NAME = "w11 - tcl" |
PROJECT_NUMBER = 0.61 |
PROJECT_BRIEF = "Backend server for Rlink and w11" |
PROJECT_LOGO = |
OUTPUT_DIRECTORY = $(RETRODOXY)/doxy/w11/tcl |
OUTPUT_DIRECTORY = $(RETRODOXY)/w11/tcl |
CREATE_SUBDIRS = NO |
ALLOW_UNICODE_NAMES = NO |
OUTPUT_LANGUAGE = English |
BRIEF_MEMBER_DESC = YES |
REPEAT_BRIEF = YES |
32,7 → 33,7
OPTIMIZE_OUTPUT_JAVA = NO |
OPTIMIZE_FOR_FORTRAN = NO |
OPTIMIZE_OUTPUT_VHDL = NO |
EXTENSION_MAPPING = |
EXTENSION_MAPPING = |
MARKDOWN_SUPPORT = YES |
AUTOLINK_SUPPORT = YES |
BUILTIN_STL_SUPPORT = YES |
44,7 → 45,6
INLINE_GROUPED_CLASSES = NO |
INLINE_SIMPLE_STRUCTS = NO |
TYPEDEF_HIDES_STRUCT = NO |
SYMBOL_CACHE_SIZE = 0 |
LOOKUP_CACHE_SIZE = 0 |
#--------------------------------------------------------------------------- |
# Build related configuration options |
64,6 → 64,7
CASE_SENSE_NAMES = YES |
HIDE_SCOPE_NAMES = NO |
SHOW_INCLUDE_FILES = YES |
SHOW_GROUPED_MEMB_INC = NO |
FORCE_LOCAL_INCLUDES = NO |
INLINE_INFO = YES |
SORT_MEMBER_DOCS = NO |
85,7 → 86,7
LAYOUT_FILE = |
CITE_BIB_FILES = |
#--------------------------------------------------------------------------- |
# configuration options related to warning and progress messages |
# Configuration options related to warning and progress messages |
#--------------------------------------------------------------------------- |
QUIET = NO |
WARNINGS = YES |
95,7 → 96,7
WARN_FORMAT = "$file:$line: $text" |
WARN_LOGFILE = |
#--------------------------------------------------------------------------- |
# configuration options related to the input files |
# Configuration options related to the input files |
#--------------------------------------------------------------------------- |
INPUT = $(RETROBASE)/tools/tcl |
INPUT_ENCODING = UTF-8 |
102,7 → 103,7
FILE_PATTERNS = *.tcl \ |
*.dox |
RECURSIVE = YES |
EXCLUDE = |
EXCLUDE = |
EXCLUDE_SYMLINKS = NO |
EXCLUDE_PATTERNS = */.svn* \ |
*/tests/* \ |
118,7 → 119,7
FILTER_SOURCE_PATTERNS = |
USE_MDFILE_AS_MAINPAGE = |
#--------------------------------------------------------------------------- |
# configuration options related to source browsing |
# Configuration options related to source browsing |
#--------------------------------------------------------------------------- |
SOURCE_BROWSER = YES |
INLINE_SOURCES = NO |
126,16 → 127,17
REFERENCED_BY_RELATION = YES |
REFERENCES_RELATION = YES |
REFERENCES_LINK_SOURCE = YES |
SOURCE_TOOLTIPS = YES |
USE_HTAGS = NO |
VERBATIM_HEADERS = YES |
#--------------------------------------------------------------------------- |
# configuration options related to the alphabetical class index |
# Configuration options related to the alphabetical class index |
#--------------------------------------------------------------------------- |
ALPHABETICAL_INDEX = YES |
COLS_IN_ALPHA_INDEX = 5 |
IGNORE_PREFIX = |
#--------------------------------------------------------------------------- |
# configuration options related to the HTML output |
# Configuration options related to the HTML output |
#--------------------------------------------------------------------------- |
GENERATE_HTML = YES |
HTML_OUTPUT = html |
184,6 → 186,7
MATHJAX_FORMAT = HTML-CSS |
MATHJAX_RELPATH = http://www.mathjax.org/mathjax/latest |
MATHJAX_EXTENSIONS = |
MATHJAX_CODEFILE = |
SEARCHENGINE = YES |
SERVER_BASED_SEARCH = NO |
EXTERNAL_SEARCH = NO |
192,7 → 195,7
EXTERNAL_SEARCH_ID = |
EXTRA_SEARCH_MAPPINGS = |
#--------------------------------------------------------------------------- |
# configuration options related to the LaTeX output |
# Configuration options related to the LaTeX output |
#--------------------------------------------------------------------------- |
GENERATE_LATEX = NO |
LATEX_OUTPUT = latex |
203,6 → 206,7
EXTRA_PACKAGES = |
LATEX_HEADER = |
LATEX_FOOTER = |
LATEX_EXTRA_FILES = |
PDF_HYPERLINKS = YES |
USE_PDFLATEX = YES |
LATEX_BATCHMODE = NO |
210,7 → 214,7
LATEX_SOURCE_CODE = NO |
LATEX_BIB_STYLE = plain |
#--------------------------------------------------------------------------- |
# configuration options related to the RTF output |
# Configuration options related to the RTF output |
#--------------------------------------------------------------------------- |
GENERATE_RTF = NO |
RTF_OUTPUT = rtf |
219,26 → 223,30
RTF_STYLESHEET_FILE = |
RTF_EXTENSIONS_FILE = |
#--------------------------------------------------------------------------- |
# configuration options related to the man page output |
# Configuration options related to the man page output |
#--------------------------------------------------------------------------- |
GENERATE_MAN = NO |
MAN_OUTPUT = man |
MAN_EXTENSION = .3 |
MAN_SUBDIR = |
MAN_LINKS = NO |
#--------------------------------------------------------------------------- |
# configuration options related to the XML output |
# Configuration options related to the XML output |
#--------------------------------------------------------------------------- |
GENERATE_XML = NO |
XML_OUTPUT = xml |
XML_SCHEMA = |
XML_DTD = |
XML_PROGRAMLISTING = YES |
#--------------------------------------------------------------------------- |
# configuration options for the AutoGen Definitions output |
# Configuration options related to the DOCBOOK output |
#--------------------------------------------------------------------------- |
GENERATE_DOCBOOK = NO |
DOCBOOK_OUTPUT = docbook |
#--------------------------------------------------------------------------- |
# Configuration options for the AutoGen Definitions output |
#--------------------------------------------------------------------------- |
GENERATE_AUTOGEN_DEF = NO |
#--------------------------------------------------------------------------- |
# configuration options related to the Perl module output |
# Configuration options related to the Perl module output |
#--------------------------------------------------------------------------- |
GENERATE_PERLMOD = NO |
PERLMOD_LATEX = NO |
257,12 → 265,13
EXPAND_AS_DEFINED = |
SKIP_FUNCTION_MACROS = YES |
#--------------------------------------------------------------------------- |
# Configuration::additions related to external references |
# Configuration options related to external references |
#--------------------------------------------------------------------------- |
TAGFILES = |
GENERATE_TAGFILE = $(RETRODOXY)/w11/tcl/tcl.tag |
ALLEXTERNALS = NO |
EXTERNAL_GROUPS = YES |
EXTERNAL_PAGES = YES |
PERL_PATH = /usr/bin/perl |
#--------------------------------------------------------------------------- |
# Configuration options related to the dot tool |
269,6 → 278,7
#--------------------------------------------------------------------------- |
CLASS_DIAGRAMS = YES |
MSCGEN_PATH = |
DIA_PATH = |
HIDE_UNDOC_RELATIONS = YES |
HAVE_DOT = YES |
DOT_NUM_THREADS = 0 |
292,6 → 302,7
DOT_PATH = |
DOTFILE_DIRS = |
MSCFILE_DIRS = |
DIAFILE_DIRS = |
DOT_GRAPH_MAX_NODES = 50 |
MAX_DOT_GRAPH_DEPTH = 0 |
DOT_TRANSPARENT = NO |
trunk/tools/dox
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools/make/generic_cpp.mk
===================================================================
--- trunk/tools/make/generic_cpp.mk (revision 24)
+++ trunk/tools/make/generic_cpp.mk (revision 25)
@@ -1,4 +1,4 @@
-# $Id: generic_cpp.mk 434 2011-12-02 19:17:38Z mueller $
+# $Id: generic_cpp.mk 576 2014-08-02 12:24:28Z mueller $
#
# Revision History:
# Date Rev Version Comment
@@ -14,8 +14,6 @@
# -fPIC position independent code
# -Wall all warnings
#
-# -g request debugging info
-#
ifdef CCCOMMAND
CC = $(CCCOMMAND)
endif
@@ -32,8 +30,6 @@
# -fPIC position independent code
# -Wall all warnings
#
-# -g request debugging info
-#
ifdef CXXCOMMAND
CXX = $(CXXCOMMAND)
endif
Index: trunk/tools/make
===================================================================
--- trunk/tools/make (revision 24)
+++ trunk/tools/make (revision 25)
trunk/tools/make
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/tools
===================================================================
--- trunk/tools (revision 24)
+++ trunk/tools (revision 25)
trunk/tools
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/ibus/ibdr_dl11.vhd
===================================================================
--- trunk/rtl/ibus/ibdr_dl11.vhd (revision 24)
+++ trunk/rtl/ibus/ibdr_dl11.vhd (revision 25)
@@ -1,4 +1,4 @@
--- $Id: ibdr_dl11.vhd 427 2011-11-19 21:04:11Z mueller $
+-- $Id: ibdr_dl11.vhd 569 2014-07-13 14:36:32Z mueller $
--
-- Copyright 2008-2011 by Walter F.J. Mueller
--
@@ -36,7 +36,7 @@
-- 2008-08-22 161 1.0.6 use iblib; add EI_ACK_* to proc_next sens. list
-- 2008-05-09 144 1.0.5 use intreq flop, use EI_ACK
-- 2008-03-22 128 1.0.4 rename xdone -> xval (no functional change)
--- 2008-01-27 115 1.0.3 bugfix: set ilam when rbuf read by cpu;
+-- 2008-01-27 115 1.0.3 BUGFIX: set ilam when rbuf read by cpu;
-- add xdone and rrdy bits to rri xbuf read
-- 2008-01-20 113 1.0.2 fix maint mode logic (proper double buffer now)
-- 2008-01-20 112 1.0.1 use BRESET
Index: trunk/rtl/ibus/ibdr_rk11.vhd
===================================================================
--- trunk/rtl/ibus/ibdr_rk11.vhd (revision 24)
+++ trunk/rtl/ibus/ibdr_rk11.vhd (revision 25)
@@ -1,4 +1,4 @@
--- $Id: ibdr_rk11.vhd 427 2011-11-19 21:04:11Z mueller $
+-- $Id: ibdr_rk11.vhd 561 2014-06-09 17:22:50Z mueller $
--
-- Copyright 2008-2011 by Walter F.J. Mueller
--
@@ -18,10 +18,11 @@
-- Dependencies: ram_1swar_gen
-- Test bench: -
-- Target Devices: generic
--- Tool versions: xst 8.2, 9.1, 9.2, 12.1, 13.1; ghdl 0.18-0.29
+-- Tool versions: xst 8.2-14.7; ghdl 0.18-0.31
--
-- Synthesized (xst):
-- Date Rev ise Target flop lutl lutm slic t peri
+-- 2014-06-08 561 14.7 131013 xc6slx16-2 44 139 9 60 s 5.6
-- 2010-10-17 333 12.1 M53d xc3s1000-4 46 248 16 137 s 7.2
-- 2009-06-01 221 10.1.03 K39 xc3s1000-4 46 249 16 148 s 7.1
-- 2008-01-06 111 8.2.03 I34 xc3s1000-4 36 189 16 111 s 6.0
Index: trunk/rtl/ibus/ibdlib.vhd
===================================================================
--- trunk/rtl/ibus/ibdlib.vhd (revision 24)
+++ trunk/rtl/ibus/ibdlib.vhd (revision 25)
@@ -1,6 +1,6 @@
--- $Id: ibdlib.vhd 427 2011-11-19 21:04:11Z mueller $
+-- $Id: ibdlib.vhd 561 2014-06-09 17:22:50Z mueller $
--
--- Copyright 2008-2011 by Walter F.J. Mueller
+-- Copyright 2008-2014 by Walter F.J. Mueller
--
-- This program is free software; you may redistribute and/or modify it under
-- the terms of the GNU General Public License as published by the Free
@@ -16,9 +16,10 @@
-- Description: Definitions for ibus devices
--
-- Dependencies: -
--- Tool versions: xst 8.2, 9.1, 9.2, 12.1, 13.1; ghdl 0.18-0.29
+-- Tool versions: xst 8.2-14.7; ghdl 0.18-0.31
-- Revision History:
-- Date Rev Version Comment
+-- 2014-06-08 561 1.2 fix rl11 declaration
-- 2011-11-18 427 1.1.2 now numeric_std clean
-- 2010-10-23 335 1.1.1 rename RRI_LAM->RB_LAM;
-- 2010-06-11 303 1.1 use IB_MREQ.racc instead of RRI_REQ
@@ -127,6 +128,7 @@
-- fixed address: 174400
port (
CLK : in slbit; -- clock
+ CE_MSEC : in slbit; -- msec pulse
BRESET : in slbit; -- ibus reset
RB_LAM : out slbit; -- remote attention
IB_MREQ : in ib_mreq_type; -- ibus request
Index: trunk/rtl/ibus/Makefile
===================================================================
--- trunk/rtl/ibus/Makefile (revision 24)
+++ trunk/rtl/ibus/Makefile (revision 25)
@@ -1,7 +1,8 @@
-# $Id: Makefile 477 2013-01-27 14:07:10Z mueller $
+# $Id: Makefile 575 2014-07-27 20:55:41Z mueller $
#
# Revision History:
# Date Rev Version Comment
+# 2014-07-27 545 1.1.1 make reference board configurable via XTW_BOARD
# 2011-08-13 405 1.1 use includes from rtl/make
# 2008-08-22 161 1.0 Initial version
#
@@ -9,7 +10,10 @@
NGC_all = $(VBOM_all:.vbom=.ngc)
#
# reference board for test synthesis is Spartan-6 based Nexys3
-include $(RETROBASE)/rtl/make/xflow_default_nexys3.mk
+ifndef XTW_BOARD
+ XTW_BOARD=nexys3
+endif
+include $(RETROBASE)/rtl/make/xflow_default_$(XTW_BOARD).mk
#
.PHONY : all clean
#
Index: trunk/rtl/ibus/ibdr_maxisys.vhd
===================================================================
--- trunk/rtl/ibus/ibdr_maxisys.vhd (revision 24)
+++ trunk/rtl/ibus/ibdr_maxisys.vhd (revision 25)
@@ -1,6 +1,6 @@
--- $Id: ibdr_maxisys.vhd 427 2011-11-19 21:04:11Z mueller $
+-- $Id: ibdr_maxisys.vhd 565 2014-06-28 12:54:08Z mueller $
--
--- Copyright 2009-2011 by Walter F.J. Mueller
+-- Copyright 2009-2014 by Walter F.J. Mueller
--
-- This program is free software; you may redistribute and/or modify it under
-- the terms of the GNU General Public License as published by the Free
@@ -17,6 +17,7 @@
--
-- Dependencies: ibd_iist
-- ibd_kw11l
+-- ibdr_rl11
-- ibdr_rk11
-- ibdr_dl11
-- ibdr_pc11
@@ -27,15 +28,19 @@
-- ib_intmap
-- Test bench: -
-- Target Devices: generic
--- Tool versions: xst 8.2, 9.1, 9.2, 12.1, 13.1; ghdl 0.18-0.29
+-- Tool versions: xst 8.2-14.7; ghdl 0.18-0.31
--
-- Synthesized (xst):
-- Date Rev ise Target flop lutl lutm slic t peri
+-- 2014-06-08 561 14.7 131013 xc6slx16-2 380 748 18 266 s 7.1 +RL11
+-- 2014-06-08 560 14.7 131013 xc6slx16-2 311 615 8 216 s 7.1
-- 2010-10-17 333 12.1 M53d xc3s1000-4 312 1058 16 617 s 10.3
-- 2010-10-17 314 12.1 M53d xc3s1000-4 300 1094 16 626 s 10.4
--
-- Revision History:
-- Date Rev Version Comment
+-- 2014-06-27 565 1.2.1 temporarily hide RL11
+-- 2014-06-08 561 1.2 add rl11
-- 2011-11-18 427 1.1.2 now numeric_std clean
-- 2010-10-23 335 1.1.1 rename RRI_LAM->RB_LAM;
-- 2010-06-11 303 1.1 use IB_MREQ.racc instead of RRI_REQ
@@ -232,6 +237,21 @@
EI_ACK => EI_ACK_KW11L
);
+-- RL11: if true generate
+-- begin
+-- I0 : ibdr_rl11
+-- port map (
+-- CLK => CLK,
+-- CE_MSEC => CE_MSEC,
+-- BRESET => BRESET,
+-- RB_LAM => RB_LAM_RL11,
+-- IB_MREQ => IB_MREQ,
+-- IB_SRES => IB_SRES_RL11,
+-- EI_REQ => EI_REQ_RL11,
+-- EI_ACK => EI_ACK_RL11
+-- );
+-- end generate RL11;
+
RK11: if true generate
begin
I0 : ibdr_rk11
/trunk/rtl/ibus/ibdr_maxisys.vbom
5,6 → 5,7
# components |
ibd_iist.vbom |
ibd_kw11l.vbom |
## ibdr_rl11.vbom |
ibdr_rk11.vbom |
ibdr_dl11.vbom |
ibdr_pc11.vbom |
trunk/rtl/ibus
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/tst_fx2loop/nexys2/ic
===================================================================
--- trunk/rtl/sys_gen/tst_fx2loop/nexys2/ic (revision 24)
+++ trunk/rtl/sys_gen/tst_fx2loop/nexys2/ic (revision 25)
trunk/rtl/sys_gen/tst_fx2loop/nexys2/ic
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/tst_fx2loop/nexys2/ic3
===================================================================
--- trunk/rtl/sys_gen/tst_fx2loop/nexys2/ic3 (revision 24)
+++ trunk/rtl/sys_gen/tst_fx2loop/nexys2/ic3 (revision 25)
trunk/rtl/sys_gen/tst_fx2loop/nexys2/ic3
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/tst_fx2loop/nexys2
===================================================================
--- trunk/rtl/sys_gen/tst_fx2loop/nexys2 (revision 24)
+++ trunk/rtl/sys_gen/tst_fx2loop/nexys2 (revision 25)
trunk/rtl/sys_gen/tst_fx2loop/nexys2
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/tst_fx2loop/nexys3/ic
===================================================================
--- trunk/rtl/sys_gen/tst_fx2loop/nexys3/ic (revision 24)
+++ trunk/rtl/sys_gen/tst_fx2loop/nexys3/ic (revision 25)
trunk/rtl/sys_gen/tst_fx2loop/nexys3/ic
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/tst_fx2loop/nexys3/ic3
===================================================================
--- trunk/rtl/sys_gen/tst_fx2loop/nexys3/ic3 (revision 24)
+++ trunk/rtl/sys_gen/tst_fx2loop/nexys3/ic3 (revision 25)
trunk/rtl/sys_gen/tst_fx2loop/nexys3/ic3
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/tst_fx2loop/nexys3
===================================================================
--- trunk/rtl/sys_gen/tst_fx2loop/nexys3 (revision 24)
+++ trunk/rtl/sys_gen/tst_fx2loop/nexys3 (revision 25)
trunk/rtl/sys_gen/tst_fx2loop/nexys3
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/tst_fx2loop
===================================================================
--- trunk/rtl/sys_gen/tst_fx2loop (revision 24)
+++ trunk/rtl/sys_gen/tst_fx2loop (revision 25)
trunk/rtl/sys_gen/tst_fx2loop
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/tst_rlink/nexys2/tb/tb_tst_rlink_n2.vbom
===================================================================
--- trunk/rtl/sys_gen/tst_rlink/nexys2/tb/tb_tst_rlink_n2.vbom (revision 24)
+++ trunk/rtl/sys_gen/tst_rlink/nexys2/tb/tb_tst_rlink_n2.vbom (revision 25)
@@ -1,7 +1,7 @@
# configure tb_nexsy2_fusp with sys_tst_rlink_n2 target;
# use vhdl configure file (tb_tst_rlink_n2.vhd) to allow
# that all configurations will co-exist in work library
-${nexys2_aif := ../sys_tst_rlink_n2.vbom}
+${nexys2_fusp_aif := ../sys_tst_rlink_n2.vbom}
sys_conf = sys_conf_sim.vhd
../../../../bplib/nexys2/tb/tb_nexys2_fusp.vbom
tb_tst_rlink_n2.vhd
Index: trunk/rtl/sys_gen/tst_rlink/nexys2/tb/tb_tst_rlink_n2_ssim.vbom
===================================================================
--- trunk/rtl/sys_gen/tst_rlink/nexys2/tb/tb_tst_rlink_n2_ssim.vbom (revision 24)
+++ trunk/rtl/sys_gen/tst_rlink/nexys2/tb/tb_tst_rlink_n2_ssim.vbom (revision 25)
@@ -1,6 +1,6 @@
# configure for _*sim case
# Note: this tb uses sys_tst_rlink_n2.vbom in local directory
# (not in .. as usual) to allow a tb specific configure !!!
-nexys2_aif = sys_tst_rlink_n2_ssim.vhd
+nexys2_fusp_aif = sys_tst_rlink_n2_ssim.vhd
tb_tst_rlink_n2.vbom
@top:tb_tst_rlink_n2
Index: trunk/rtl/sys_gen/tst_rlink/nexys2/tb
===================================================================
--- trunk/rtl/sys_gen/tst_rlink/nexys2/tb (revision 24)
+++ trunk/rtl/sys_gen/tst_rlink/nexys2/tb (revision 25)
trunk/rtl/sys_gen/tst_rlink/nexys2/tb
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/tst_rlink/nexys2
===================================================================
--- trunk/rtl/sys_gen/tst_rlink/nexys2 (revision 24)
+++ trunk/rtl/sys_gen/tst_rlink/nexys2 (revision 25)
trunk/rtl/sys_gen/tst_rlink/nexys2
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/tst_rlink/nexys3/tb
===================================================================
--- trunk/rtl/sys_gen/tst_rlink/nexys3/tb (revision 24)
+++ trunk/rtl/sys_gen/tst_rlink/nexys3/tb (revision 25)
trunk/rtl/sys_gen/tst_rlink/nexys3/tb
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/tst_rlink/nexys3
===================================================================
--- trunk/rtl/sys_gen/tst_rlink/nexys3 (revision 24)
+++ trunk/rtl/sys_gen/tst_rlink/nexys3 (revision 25)
trunk/rtl/sys_gen/tst_rlink/nexys3
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/tst_rlink/s3board/tb
===================================================================
--- trunk/rtl/sys_gen/tst_rlink/s3board/tb (revision 24)
+++ trunk/rtl/sys_gen/tst_rlink/s3board/tb (revision 25)
trunk/rtl/sys_gen/tst_rlink/s3board/tb
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/tst_rlink/s3board
===================================================================
--- trunk/rtl/sys_gen/tst_rlink/s3board (revision 24)
+++ trunk/rtl/sys_gen/tst_rlink/s3board (revision 25)
trunk/rtl/sys_gen/tst_rlink/s3board
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/tst_rlink
===================================================================
--- trunk/rtl/sys_gen/tst_rlink (revision 24)
+++ trunk/rtl/sys_gen/tst_rlink (revision 25)
trunk/rtl/sys_gen/tst_rlink
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/w11a/tb
===================================================================
--- trunk/rtl/sys_gen/w11a/tb (revision 24)
+++ trunk/rtl/sys_gen/w11a/tb (revision 25)
trunk/rtl/sys_gen/w11a/tb
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/w11a/nexys2/tb/tb_w11a_n2_ssim.vbom
===================================================================
--- trunk/rtl/sys_gen/w11a/nexys2/tb/tb_w11a_n2_ssim.vbom (revision 24)
+++ trunk/rtl/sys_gen/w11a/nexys2/tb/tb_w11a_n2_ssim.vbom (revision 25)
@@ -1,6 +1,6 @@
# configure for _*sim case
# Note: this tb uses sys_w11a_n2.vbom in local directory
# (not in .. as usual) to allow a tb specific configure !!!
-nexys2_fusp_aif = sys_w11a_n2_ssim.vhd
+nexys2_fusp_cuff_aif = sys_w11a_n2_ssim.vhd
tb_w11a_n2.vbom
@top:tb_w11a_n2
Index: trunk/rtl/sys_gen/w11a/nexys2/tb
===================================================================
--- trunk/rtl/sys_gen/w11a/nexys2/tb (revision 24)
+++ trunk/rtl/sys_gen/w11a/nexys2/tb (revision 25)
trunk/rtl/sys_gen/w11a/nexys2/tb
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/w11a/nexys2/sys_w11a_n2.vhd
===================================================================
--- trunk/rtl/sys_gen/w11a/nexys2/sys_w11a_n2.vhd (revision 24)
+++ trunk/rtl/sys_gen/w11a/nexys2/sys_w11a_n2.vhd (revision 25)
@@ -1,4 +1,4 @@
--- $Id: sys_w11a_n2.vhd 509 2013-04-21 20:46:20Z mueller $
+-- $Id: sys_w11a_n2.vhd 561 2014-06-09 17:22:50Z mueller $
--
-- Copyright 2010-2013 by Walter F.J. Mueller
--
@@ -37,10 +37,12 @@
-- Test bench: tb/tb_sys_w11a_n2
--
-- Target Devices: generic
--- Tool versions: xst 8.2, 9.1, 9.2, 10.1, 11.4, 12.1, 13.1; ghdl 0.26-0.29
+-- Tool versions: xst 8.2-14.7; ghdl 0.26-0.31
--
-- Synthesized (xst):
-- Date Rev ise Target flop lutl lutm slic t peri
+-- 2014-06-08 561 14.7 131013 xc3s1200e-4 1626 4821 360 3052 ok: +RL11
+-- 2014-06-01 558 14.7 131013 xc3s1200e-4 1561 4597 334 2901 ok:
-- 2013-04-20 509 13.3 O76d xc3s1200e-4 1541 4598 334 2889 ok: now + FX2 !
-- 2011-12-18 440 13.1 O40d xc3s1200e-4 1450 4439 270 2740 ok: LP+PC+DL+II
-- 2011-11-18 427 13.1 O40d xc3s1200e-4 1433 4374 242 2680 ok: LP+PC+DL+II
Index: trunk/rtl/sys_gen/w11a/nexys2
===================================================================
--- trunk/rtl/sys_gen/w11a/nexys2 (revision 24)
+++ trunk/rtl/sys_gen/w11a/nexys2 (revision 25)
trunk/rtl/sys_gen/w11a/nexys2
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/w11a/nexys3/tb/tb_w11a_n3_ssim.vbom
===================================================================
--- trunk/rtl/sys_gen/w11a/nexys3/tb/tb_w11a_n3_ssim.vbom (revision 24)
+++ trunk/rtl/sys_gen/w11a/nexys3/tb/tb_w11a_n3_ssim.vbom (revision 25)
@@ -1,6 +1,6 @@
# configure for _*sim case
# Note: this tb uses sys_w11a_n3.vbom in local directory
# (not in .. as usual) to allow a tb specific configure !!!
-nexys3_fusp_aif = sys_w11a_n3_ssim.vhd
+nexys3_fusp_cuff_aif = sys_w11a_n3_ssim.vhd
tb_w11a_n3.vbom
@top:tb_w11a_n3
Index: trunk/rtl/sys_gen/w11a/nexys3/tb
===================================================================
--- trunk/rtl/sys_gen/w11a/nexys3/tb (revision 24)
+++ trunk/rtl/sys_gen/w11a/nexys3/tb (revision 25)
trunk/rtl/sys_gen/w11a/nexys3/tb
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/w11a/nexys3/sys_w11a_n3.vhd
===================================================================
--- trunk/rtl/sys_gen/w11a/nexys3/sys_w11a_n3.vhd (revision 24)
+++ trunk/rtl/sys_gen/w11a/nexys3/sys_w11a_n3.vhd (revision 25)
@@ -1,4 +1,4 @@
--- $Id: sys_w11a_n3.vhd 538 2013-10-06 17:21:25Z mueller $
+-- $Id: sys_w11a_n3.vhd 561 2014-06-09 17:22:50Z mueller $
--
-- Copyright 2011-2013 by Walter F.J. Mueller
--
@@ -37,10 +37,12 @@
-- Test bench: tb/tb_sys_w11a_n3
--
-- Target Devices: generic
--- Tool versions: xst 13.1, 14.6; ghdl 0.29
+-- Tool versions: xst 13.1-14.7; ghdl 0.29-0.31
--
-- Synthesized (xst):
-- Date Rev ise Target flop lutl lutm slic t peri
+-- 2014-06-08 561 14.7 131013 xc6slx16-2 1531 3500 142 1165 ok: +RL11
+-- 2014-05-29 556 14.7 131013 xc6slx16-2 1459 3342 128 1154 ok:
-- 2013-04-21 509 13.3 O76d xc6slx16-2 1516 3274 140 1184 ok: now + FX2 !
-- 2011-12-18 440 13.1 O40d xc6slx16-2 1441 3161 96 1084 ok: LP+PC+DL+II
-- 2011-11-20 430 13.1 O40d xc6slx16-2 1412 3206 84 1063 ok: LP+PC+DL+II
Index: trunk/rtl/sys_gen/w11a/nexys3
===================================================================
--- trunk/rtl/sys_gen/w11a/nexys3 (revision 24)
+++ trunk/rtl/sys_gen/w11a/nexys3 (revision 25)
trunk/rtl/sys_gen/w11a/nexys3
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/w11a/s3board/tb
===================================================================
--- trunk/rtl/sys_gen/w11a/s3board/tb (revision 24)
+++ trunk/rtl/sys_gen/w11a/s3board/tb (revision 25)
trunk/rtl/sys_gen/w11a/s3board/tb
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/w11a/s3board/sys_w11a_s3.vhd
===================================================================
--- trunk/rtl/sys_gen/w11a/s3board/sys_w11a_s3.vhd (revision 24)
+++ trunk/rtl/sys_gen/w11a/s3board/sys_w11a_s3.vhd (revision 25)
@@ -1,4 +1,4 @@
--- $Id: sys_w11a_s3.vhd 476 2013-01-26 22:23:53Z mueller $
+-- $Id: sys_w11a_s3.vhd 561 2014-06-09 17:22:50Z mueller $
--
-- Copyright 2007-2011 by Walter F.J. Mueller
--
@@ -35,10 +35,12 @@
-- Test bench: tb/tb_sys_w11a_s3
--
-- Target Devices: generic
--- Tool versions: xst 8.2, 9.1, 9.2, 10.1, 11.4, 12.1, 13.1; ghdl 0.18-0.29
+-- Tool versions: xst 8.2-14.7; ghdl 0.18-0.31
--
-- Synthesized (xst):
-- Date Rev ise Target flop lutl lutm slic t peri
+-- 2014-06-08 561 14.7 131013 xc3s1000-4 1374 4580 286 2776 OK: +RL11
+-- 2014-06-01 558 14.7 131013 xc3s1000-4 1301 4306 270 2614 OK:
-- 2011-12-21 442 13.1 O40d xc3s1000-4 1301 4307 270 2613 OK: LP+PC+DL+II
-- 2011-11-19 427 13.1 O40d xc3s1000-4 1322 4298 242 2616 OK: LP+PC+DL+II
-- 2010-12-30 351 12.1 M53d xc3s1000-4 1316 4291 242 2609 OK: LP+PC+DL+II
Index: trunk/rtl/sys_gen/w11a/s3board
===================================================================
--- trunk/rtl/sys_gen/w11a/s3board (revision 24)
+++ trunk/rtl/sys_gen/w11a/s3board (revision 25)
trunk/rtl/sys_gen/w11a/s3board
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/w11a
===================================================================
--- trunk/rtl/sys_gen/w11a (revision 24)
+++ trunk/rtl/sys_gen/w11a (revision 25)
trunk/rtl/sys_gen/w11a
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/tst_snhumanio/nexys2
===================================================================
--- trunk/rtl/sys_gen/tst_snhumanio/nexys2 (revision 24)
+++ trunk/rtl/sys_gen/tst_snhumanio/nexys2 (revision 25)
trunk/rtl/sys_gen/tst_snhumanio/nexys2
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/tst_snhumanio/nexys3
===================================================================
--- trunk/rtl/sys_gen/tst_snhumanio/nexys3 (revision 24)
+++ trunk/rtl/sys_gen/tst_snhumanio/nexys3 (revision 25)
trunk/rtl/sys_gen/tst_snhumanio/nexys3
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/tst_snhumanio/atlys
===================================================================
--- trunk/rtl/sys_gen/tst_snhumanio/atlys (revision 24)
+++ trunk/rtl/sys_gen/tst_snhumanio/atlys (revision 25)
trunk/rtl/sys_gen/tst_snhumanio/atlys
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/tst_snhumanio/s3board
===================================================================
--- trunk/rtl/sys_gen/tst_snhumanio/s3board (revision 24)
+++ trunk/rtl/sys_gen/tst_snhumanio/s3board (revision 25)
trunk/rtl/sys_gen/tst_snhumanio/s3board
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/tst_snhumanio
===================================================================
--- trunk/rtl/sys_gen/tst_snhumanio (revision 24)
+++ trunk/rtl/sys_gen/tst_snhumanio (revision 25)
trunk/rtl/sys_gen/tst_snhumanio
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/tst_rlink_cuff/nexys2/ic/tb/tb_tst_rlink_cuff_ic_n2_ssim.vbom
===================================================================
--- trunk/rtl/sys_gen/tst_rlink_cuff/nexys2/ic/tb/tb_tst_rlink_cuff_ic_n2_ssim.vbom (revision 24)
+++ trunk/rtl/sys_gen/tst_rlink_cuff/nexys2/ic/tb/tb_tst_rlink_cuff_ic_n2_ssim.vbom (revision 25)
@@ -1,6 +1,6 @@
# configure for _*sim case
# Note: this tb uses sys_tst_rlink_n2.vbom in local directory
# (not in .. as usual) to allow a tb specific configure !!!
-nexys2_aif = sys_tst_rlink_cuff_ic_n2_ssim.vhd
+nexys2_fusp_cuff_aif = sys_tst_rlink_cuff_ic_n2_ssim.vhd
tb_tst_rlink_cuff_ic_n2.vbom
@top:tb_tst_rlink_cuff_ic_n2
Index: trunk/rtl/sys_gen/tst_rlink_cuff/nexys2/ic/tb
===================================================================
--- trunk/rtl/sys_gen/tst_rlink_cuff/nexys2/ic/tb (revision 24)
+++ trunk/rtl/sys_gen/tst_rlink_cuff/nexys2/ic/tb (revision 25)
trunk/rtl/sys_gen/tst_rlink_cuff/nexys2/ic/tb
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/tst_rlink_cuff/nexys2/ic
===================================================================
--- trunk/rtl/sys_gen/tst_rlink_cuff/nexys2/ic (revision 24)
+++ trunk/rtl/sys_gen/tst_rlink_cuff/nexys2/ic (revision 25)
trunk/rtl/sys_gen/tst_rlink_cuff/nexys2/ic
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/tst_rlink_cuff/nexys2/ic3
===================================================================
--- trunk/rtl/sys_gen/tst_rlink_cuff/nexys2/ic3 (revision 24)
+++ trunk/rtl/sys_gen/tst_rlink_cuff/nexys2/ic3 (revision 25)
trunk/rtl/sys_gen/tst_rlink_cuff/nexys2/ic3
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/tst_rlink_cuff/nexys2
===================================================================
--- trunk/rtl/sys_gen/tst_rlink_cuff/nexys2 (revision 24)
+++ trunk/rtl/sys_gen/tst_rlink_cuff/nexys2 (revision 25)
trunk/rtl/sys_gen/tst_rlink_cuff/nexys2
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/tst_rlink_cuff/nexys3/ic/tb
===================================================================
--- trunk/rtl/sys_gen/tst_rlink_cuff/nexys3/ic/tb (revision 24)
+++ trunk/rtl/sys_gen/tst_rlink_cuff/nexys3/ic/tb (revision 25)
trunk/rtl/sys_gen/tst_rlink_cuff/nexys3/ic/tb
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/tst_rlink_cuff/nexys3/ic
===================================================================
--- trunk/rtl/sys_gen/tst_rlink_cuff/nexys3/ic (revision 24)
+++ trunk/rtl/sys_gen/tst_rlink_cuff/nexys3/ic (revision 25)
trunk/rtl/sys_gen/tst_rlink_cuff/nexys3/ic
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/tst_rlink_cuff/nexys3
===================================================================
--- trunk/rtl/sys_gen/tst_rlink_cuff/nexys3 (revision 24)
+++ trunk/rtl/sys_gen/tst_rlink_cuff/nexys3 (revision 25)
trunk/rtl/sys_gen/tst_rlink_cuff/nexys3
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/tst_rlink_cuff/atlys/ic
===================================================================
--- trunk/rtl/sys_gen/tst_rlink_cuff/atlys/ic (revision 24)
+++ trunk/rtl/sys_gen/tst_rlink_cuff/atlys/ic (revision 25)
trunk/rtl/sys_gen/tst_rlink_cuff/atlys/ic
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/tst_rlink_cuff/atlys
===================================================================
--- trunk/rtl/sys_gen/tst_rlink_cuff/atlys (revision 24)
+++ trunk/rtl/sys_gen/tst_rlink_cuff/atlys (revision 25)
trunk/rtl/sys_gen/tst_rlink_cuff/atlys
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/tst_rlink_cuff
===================================================================
--- trunk/rtl/sys_gen/tst_rlink_cuff (revision 24)
+++ trunk/rtl/sys_gen/tst_rlink_cuff (revision 25)
trunk/rtl/sys_gen/tst_rlink_cuff
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/tst_serloop/tb
===================================================================
--- trunk/rtl/sys_gen/tst_serloop/tb (revision 24)
+++ trunk/rtl/sys_gen/tst_serloop/tb (revision 25)
trunk/rtl/sys_gen/tst_serloop/tb
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/tst_serloop/nexys2/tb
===================================================================
--- trunk/rtl/sys_gen/tst_serloop/nexys2/tb (revision 24)
+++ trunk/rtl/sys_gen/tst_serloop/nexys2/tb (revision 25)
trunk/rtl/sys_gen/tst_serloop/nexys2/tb
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/tst_serloop/nexys2
===================================================================
--- trunk/rtl/sys_gen/tst_serloop/nexys2 (revision 24)
+++ trunk/rtl/sys_gen/tst_serloop/nexys2 (revision 25)
trunk/rtl/sys_gen/tst_serloop/nexys2
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/tst_serloop/nexys3/tb
===================================================================
--- trunk/rtl/sys_gen/tst_serloop/nexys3/tb (revision 24)
+++ trunk/rtl/sys_gen/tst_serloop/nexys3/tb (revision 25)
trunk/rtl/sys_gen/tst_serloop/nexys3/tb
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/tst_serloop/nexys3
===================================================================
--- trunk/rtl/sys_gen/tst_serloop/nexys3 (revision 24)
+++ trunk/rtl/sys_gen/tst_serloop/nexys3 (revision 25)
trunk/rtl/sys_gen/tst_serloop/nexys3
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/tst_serloop/s3board/tb
===================================================================
--- trunk/rtl/sys_gen/tst_serloop/s3board/tb (revision 24)
+++ trunk/rtl/sys_gen/tst_serloop/s3board/tb (revision 25)
trunk/rtl/sys_gen/tst_serloop/s3board/tb
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/tst_serloop/s3board
===================================================================
--- trunk/rtl/sys_gen/tst_serloop/s3board (revision 24)
+++ trunk/rtl/sys_gen/tst_serloop/s3board (revision 25)
trunk/rtl/sys_gen/tst_serloop/s3board
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen/tst_serloop
===================================================================
--- trunk/rtl/sys_gen/tst_serloop (revision 24)
+++ trunk/rtl/sys_gen/tst_serloop (revision 25)
trunk/rtl/sys_gen/tst_serloop
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/sys_gen
===================================================================
--- trunk/rtl/sys_gen (revision 24)
+++ trunk/rtl/sys_gen (revision 25)
trunk/rtl/sys_gen
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/bplib/fx2rlink/Makefile
===================================================================
--- trunk/rtl/bplib/fx2rlink/Makefile (revision 24)
+++ trunk/rtl/bplib/fx2rlink/Makefile (revision 25)
@@ -1,13 +1,17 @@
-# $Id: Makefile 525 2013-07-06 12:19:39Z mueller $
+# $Id: Makefile 575 2014-07-27 20:55:41Z mueller $
#
# Revision History:
# Date Rev Version Comment
+# 2014-07-27 545 1.0.1 make reference board configurable via XTW_BOARD
# 2013-04-20 509 1.0 Initial version (cloned..)
#
VBOM_all = $(wildcard *.vbom)
NGC_all = $(VBOM_all:.vbom=.ngc)
#
-include $(RETROBASE)/rtl/make/xflow_default_nexys2.mk
+ifndef XTW_BOARD
+ XTW_BOARD=nexys2
+endif
+include $(RETROBASE)/rtl/make/xflow_default_$(XTW_BOARD).mk
#
.PHONY : all clean
#
Index: trunk/rtl/bplib/fx2rlink
===================================================================
--- trunk/rtl/bplib/fx2rlink (revision 24)
+++ trunk/rtl/bplib/fx2rlink (revision 25)
trunk/rtl/bplib/fx2rlink
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/bplib/nxcramlib/tb/Makefile
===================================================================
--- trunk/rtl/bplib/nxcramlib/tb/Makefile (revision 24)
+++ trunk/rtl/bplib/nxcramlib/tb/Makefile (revision 25)
@@ -1,12 +1,16 @@
-# $Id: Makefile 477 2013-01-27 14:07:10Z mueller $
+# $Id: Makefile 575 2014-07-27 20:55:41Z mueller $
#
# Revision History:
# Date Rev Version Comment
+# 2014-07-27 545 1.0.1 make reference board configurable via XTW_BOARD
# 2011-11-26 433 1.0 Initial version (cloned)
#
EXE_all = tb_nx_cram_memctl_as
#
-include $(RETROBASE)/rtl/make/xflow_default_nexys2.mk
+ifndef XTW_BOARD
+ XTW_BOARD=nexys2
+endif
+include $(RETROBASE)/rtl/make/xflow_default_$(XTW_BOARD).mk
#
.PHONY : all all_ssim all_tsim clean
#
Index: trunk/rtl/bplib/nxcramlib/tb
===================================================================
--- trunk/rtl/bplib/nxcramlib/tb (revision 24)
+++ trunk/rtl/bplib/nxcramlib/tb (revision 25)
trunk/rtl/bplib/nxcramlib/tb
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/bplib/nxcramlib/nx_cram_memctl_as.vhd
===================================================================
--- trunk/rtl/bplib/nxcramlib/nx_cram_memctl_as.vhd (revision 24)
+++ trunk/rtl/bplib/nxcramlib/nx_cram_memctl_as.vhd (revision 25)
@@ -1,4 +1,4 @@
--- $Id: nx_cram_memctl_as.vhd 433 2011-11-27 22:04:39Z mueller $
+-- $Id: nx_cram_memctl_as.vhd 563 2014-06-22 15:49:09Z mueller $
--
-- Copyright 2010-2011 by Walter F.J. Mueller
--
@@ -44,7 +44,7 @@
-- Notes:
-- 1. READ1DELAY of 2 is needed even though the timing of the memory suggests
-- that 1 cycle is enough (T_apa is 20 ns, so 40 ns round trip is ok). A
--- short READ1 delay works in sim, but not on fpga where the data od the
+-- short READ1 delay works in sim, but not on fpga where the data of the
-- ADDR(0)=0 cycle is re-read (see notes_tst_sram_n2.txt).
-- tb_n2_cram_memctl_as_ISim_tsim works with full sdf even when T_apa is
-- 40ns or 50 ns, only T_apa 60 ns fails !
@@ -55,7 +55,7 @@
-- low-Z delay by the IOB and internal memory delays. No clash.
-- 3. There is a hidden 'bus-turn-around' cycle for a read->write change.
-- MEM_OE goes 1->0 on s_rdget1->s_wrinit and the memory will go high-z with
--- some dekal. FPGA_OE goes 0->1 in the next cycle at s_wrinit->s_wrwait0.
+-- some delay. FPGA_OE goes 0->1 in the next cycle at s_wrinit->s_wrwait0.
-- Again no clash due to the 1 cycle delay.
--
-- Nominal timings:
Index: trunk/rtl/bplib/nxcramlib/Makefile
===================================================================
--- trunk/rtl/bplib/nxcramlib/Makefile (revision 24)
+++ trunk/rtl/bplib/nxcramlib/Makefile (revision 25)
@@ -1,13 +1,17 @@
-# $Id: Makefile 477 2013-01-27 14:07:10Z mueller $
+# $Id: Makefile 575 2014-07-27 20:55:41Z mueller $
#
# Revision History:
# Date Rev Version Comment
+# 2014-07-27 545 1.0.1 make reference board configurable via XTW_BOARD
# 2011-11-26 433 1.0 Initial version (cloned..)
#
VBOM_all = $(wildcard *.vbom)
NGC_all = $(VBOM_all:.vbom=.ngc)
#
-include $(RETROBASE)/rtl/make/xflow_default_nexys2.mk
+ifndef XTW_BOARD
+ XTW_BOARD=nexys2
+endif
+include $(RETROBASE)/rtl/make/xflow_default_$(XTW_BOARD).mk
#
.PHONY : all clean
#
Index: trunk/rtl/bplib/nxcramlib
===================================================================
--- trunk/rtl/bplib/nxcramlib (revision 24)
+++ trunk/rtl/bplib/nxcramlib (revision 25)
trunk/rtl/bplib/nxcramlib
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/bplib/fx2lib/tb
===================================================================
--- trunk/rtl/bplib/fx2lib/tb (revision 24)
+++ trunk/rtl/bplib/fx2lib/tb (revision 25)
trunk/rtl/bplib/fx2lib/tb
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/bplib/fx2lib/Makefile
===================================================================
--- trunk/rtl/bplib/fx2lib/Makefile (revision 24)
+++ trunk/rtl/bplib/fx2lib/Makefile (revision 25)
@@ -1,7 +1,8 @@
-# $Id: Makefile 477 2013-01-27 14:07:10Z mueller $
+# $Id: Makefile 575 2014-07-27 20:55:41Z mueller $
#
# Revision History:
# Date Rev Version Comment
+# 2014-07-27 545 1.1.1 make reference board configurable via XTW_BOARD
# 2011-08-13 405 1.1 use includes from rtl/make
# 2010-05-23 293 1.0 Initial version (cloned..)
#
@@ -8,7 +9,10 @@
VBOM_all = $(wildcard *.vbom)
NGC_all = $(VBOM_all:.vbom=.ngc)
#
-include $(RETROBASE)/rtl/make/xflow_default_nexys2.mk
+ifndef XTW_BOARD
+ XTW_BOARD=nexys2
+endif
+include $(RETROBASE)/rtl/make/xflow_default_$(XTW_BOARD).mk
#
.PHONY : all clean
#
Index: trunk/rtl/bplib/fx2lib
===================================================================
--- trunk/rtl/bplib/fx2lib (revision 24)
+++ trunk/rtl/bplib/fx2lib (revision 25)
trunk/rtl/bplib/fx2lib
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/bplib/issi
===================================================================
--- trunk/rtl/bplib/issi (revision 24)
+++ trunk/rtl/bplib/issi (revision 25)
trunk/rtl/bplib/issi
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/bplib/micron
===================================================================
--- trunk/rtl/bplib/micron (revision 24)
+++ trunk/rtl/bplib/micron (revision 25)
trunk/rtl/bplib/micron
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/bplib/nexys2/tb/Makefile
===================================================================
--- trunk/rtl/bplib/nexys2/tb/Makefile (revision 24)
+++ trunk/rtl/bplib/nexys2/tb/Makefile (revision 25)
@@ -1,7 +1,8 @@
-# $Id: Makefile 477 2013-01-27 14:07:10Z mueller $
+# $Id: Makefile 575 2014-07-27 20:55:41Z mueller $
#
# Revision History:
# Date Rev Version Comment
+# 2014-07-27 545 1.2.2 make reference board configurable via XTW_BOARD
# 2013-01-01 467 1.2.1 add tb_nexys2_fusp_cuff_dummy
# 2011-11-26 433 1.2 remove tb_n2_cram_memctl_as (moved to nxcramlib)
# 2011-08-13 405 1.1 use includes from rtl/make
@@ -13,7 +14,10 @@
EXE_all += tb_nexys2_fusp_dummy
EXE_all += tb_nexys2_fusp_cuff_dummy
#
-include $(RETROBASE)/rtl/make/xflow_default_nexys2.mk
+ifndef XTW_BOARD
+ XTW_BOARD=nexys2
+endif
+include $(RETROBASE)/rtl/make/xflow_default_$(XTW_BOARD).mk
#
.PHONY : all all_ssim all_tsim clean
#
Index: trunk/rtl/bplib/nexys2/tb
===================================================================
--- trunk/rtl/bplib/nexys2/tb (revision 24)
+++ trunk/rtl/bplib/nexys2/tb (revision 25)
trunk/rtl/bplib/nexys2/tb
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/bplib/nexys2/Makefile
===================================================================
--- trunk/rtl/bplib/nexys2/Makefile (revision 24)
+++ trunk/rtl/bplib/nexys2/Makefile (revision 25)
@@ -1,7 +1,8 @@
-# $Id: Makefile 477 2013-01-27 14:07:10Z mueller $
+# $Id: Makefile 575 2014-07-27 20:55:41Z mueller $
#
# Revision History:
# Date Rev Version Comment
+# 2014-07-27 545 1.1.1 make reference board configurable via XTW_BOARD
# 2011-08-13 405 1.1 use includes from rtl/make
# 2010-05-23 293 1.0 Initial version (cloned..)
#
@@ -8,7 +9,10 @@
VBOM_all = $(wildcard *.vbom)
NGC_all = $(VBOM_all:.vbom=.ngc)
#
-include $(RETROBASE)/rtl/make/xflow_default_nexys2.mk
+ifndef XTW_BOARD
+ XTW_BOARD=nexys2
+endif
+include $(RETROBASE)/rtl/make/xflow_default_$(XTW_BOARD).mk
#
.PHONY : all clean
#
Index: trunk/rtl/bplib/nexys2
===================================================================
--- trunk/rtl/bplib/nexys2 (revision 24)
+++ trunk/rtl/bplib/nexys2 (revision 25)
trunk/rtl/bplib/nexys2
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/bplib/nexys3/tb/Makefile
===================================================================
--- trunk/rtl/bplib/nexys3/tb/Makefile (revision 24)
+++ trunk/rtl/bplib/nexys3/tb/Makefile (revision 25)
@@ -1,13 +1,17 @@
-# $Id: Makefile 509 2013-04-21 20:46:20Z mueller $
+# $Id: Makefile 575 2014-07-27 20:55:41Z mueller $
#
# Revision History:
# Date Rev Version Comment
+# 2014-07-27 545 1.0.1 make reference board configurable via XTW_BOARD
# 2011-11-26 432 1.0 Initial version
#
EXE_all = tb_nexys3_fusp_dummy
EXE_all += tb_nexys3_fusp_cuff_dummy
#
-include $(RETROBASE)/rtl/make/xflow_default_nexys3.mk
+ifndef XTW_BOARD
+ XTW_BOARD=nexys3
+endif
+include $(RETROBASE)/rtl/make/xflow_default_$(XTW_BOARD).mk
#
.PHONY : all all_ssim all_tsim clean
#
Index: trunk/rtl/bplib/nexys3/tb
===================================================================
--- trunk/rtl/bplib/nexys3/tb (revision 24)
+++ trunk/rtl/bplib/nexys3/tb (revision 25)
trunk/rtl/bplib/nexys3/tb
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/bplib/nexys3
===================================================================
--- trunk/rtl/bplib/nexys3 (revision 24)
+++ trunk/rtl/bplib/nexys3 (revision 25)
trunk/rtl/bplib/nexys3
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/bplib/bpgen/Makefile
===================================================================
--- trunk/rtl/bplib/bpgen/Makefile (revision 24)
+++ trunk/rtl/bplib/bpgen/Makefile (revision 25)
@@ -1,7 +1,8 @@
-# $Id: Makefile 477 2013-01-27 14:07:10Z mueller $
+# $Id: Makefile 575 2014-07-27 20:55:41Z mueller $
#
# Revision History:
# Date Rev Version Comment
+# 2014-07-27 545 1.1.1 make reference board configurable via XTW_BOARD
# 2011-08-13 405 1.1 use includes from rtl/make
# 2007-12-09 100 1.0.1 drop ISE_p definition
# 2007-09-16 83 1.0 Initial version
@@ -9,7 +10,10 @@
VBOM_all = $(wildcard *.vbom)
NGC_all = $(VBOM_all:.vbom=.ngc)
#
-include $(RETROBASE)/rtl/make/xflow_default_s3board.mk
+ifndef XTW_BOARD
+ XTW_BOARD=s3board
+endif
+include $(RETROBASE)/rtl/make/xflow_default_$(XTW_BOARD).mk
#
.PHONY : all clean
#
Index: trunk/rtl/bplib/bpgen
===================================================================
--- trunk/rtl/bplib/bpgen (revision 24)
+++ trunk/rtl/bplib/bpgen (revision 25)
trunk/rtl/bplib/bpgen
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/bplib/atlys
===================================================================
--- trunk/rtl/bplib/atlys (revision 24)
+++ trunk/rtl/bplib/atlys (revision 25)
trunk/rtl/bplib/atlys
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/bplib/s3board/tb/Makefile
===================================================================
--- trunk/rtl/bplib/s3board/tb/Makefile (revision 24)
+++ trunk/rtl/bplib/s3board/tb/Makefile (revision 25)
@@ -1,7 +1,8 @@
-# $Id: Makefile 477 2013-01-27 14:07:10Z mueller $
+# $Id: Makefile 575 2014-07-27 20:55:41Z mueller $
#
# Revision History:
# Date Rev Version Comment
+# 2014-07-27 545 1.3.1 make reference board configurable via XTW_BOARD
# 2011-08-13 405 1.3 use includes from rtl/make
# 2010-05-16 291 1.2.2 rename tb_memctl_s3sram->tb_s3_sram_memctl
# 2010-05-01 286 1.2.1 add tb_s3board_usp_dummy
@@ -13,7 +14,10 @@
EXE_all += tb_s3board_fusp_dummy
EXE_all += tb_s3_sram_memctl
#
-include $(RETROBASE)/rtl/make/xflow_default_s3board.mk
+ifndef XTW_BOARD
+ XTW_BOARD=s3board
+endif
+include $(RETROBASE)/rtl/make/xflow_default_$(XTW_BOARD).mk
#
.PHONY : all all_ssim all_tsim clean
#
Index: trunk/rtl/bplib/s3board/tb
===================================================================
--- trunk/rtl/bplib/s3board/tb (revision 24)
+++ trunk/rtl/bplib/s3board/tb (revision 25)
trunk/rtl/bplib/s3board/tb
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/bplib/s3board/Makefile
===================================================================
--- trunk/rtl/bplib/s3board/Makefile (revision 24)
+++ trunk/rtl/bplib/s3board/Makefile (revision 25)
@@ -1,7 +1,8 @@
-# $Id: Makefile 477 2013-01-27 14:07:10Z mueller $
+# $Id: Makefile 575 2014-07-27 20:55:41Z mueller $
#
# Revision History:
# Date Rev Version Comment
+# 2014-07-27 545 1.1.1 make reference board configurable via XTW_BOARD
# 2011-08-13 405 1.1 use includes from rtl/make
# 2007-12-09 100 1.0.1 drop ISE_p definition
# 2007-09-16 83 1.0 Initial version
@@ -9,7 +10,10 @@
VBOM_all = $(wildcard *.vbom)
NGC_all = $(VBOM_all:.vbom=.ngc)
#
-include $(RETROBASE)/rtl/make/xflow_default_s3board.mk
+ifndef XTW_BOARD
+ XTW_BOARD=s3board
+endif
+include $(RETROBASE)/rtl/make/xflow_default_$(XTW_BOARD).mk
#
.PHONY : all clean
#
Index: trunk/rtl/bplib/s3board
===================================================================
--- trunk/rtl/bplib/s3board (revision 24)
+++ trunk/rtl/bplib/s3board (revision 25)
trunk/rtl/bplib/s3board
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/bplib
===================================================================
--- trunk/rtl/bplib (revision 24)
+++ trunk/rtl/bplib (revision 25)
trunk/rtl/bplib
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/w11a/pdp11_dpath.vhd
===================================================================
--- trunk/rtl/w11a/pdp11_dpath.vhd (revision 24)
+++ trunk/rtl/w11a/pdp11_dpath.vhd (revision 25)
@@ -1,6 +1,6 @@
--- $Id: pdp11_dpath.vhd 427 2011-11-19 21:04:11Z mueller $
+-- $Id: pdp11_dpath.vhd 569 2014-07-13 14:36:32Z mueller $
--
--- Copyright 2006-2011 by Walter F.J. Mueller
+-- Copyright 2006-2014 by Walter F.J. Mueller
--
-- This program is free software; you may redistribute and/or modify it under
-- the terms of the GNU General Public License as published by the Free
@@ -24,9 +24,11 @@
--
-- Test bench: tb/tb_pdp11_core (implicit)
-- Target Devices: generic
--- Tool versions: xst 8.2, 9.1, 9.2, 13.1; ghdl 0.18-0.29
+-- Tool versions: xst 8.2-14.7; ghdl 0.18-0.31
+--
-- Revision History:
-- Date Rev Version Comment
+-- 2014-07-12 569 1.2.3 use DIV_QUIT and S_DIV_SR for pdp11_munit
-- 2011-11-18 427 1.2.2 now numeric_std clean
-- 2010-09-18 300 1.2.1 rename (adlm)box->(oalm)unit
-- 2010-06-13 305 1.2 rename CPDIN -> CP_DIN; add CP_DOUT out port;
@@ -190,6 +192,7 @@
S_DIV => CNTL.munit_s_div,
S_DIV_CN => CNTL.munit_s_div_cn,
S_DIV_CR => CNTL.munit_s_div_cr,
+ S_DIV_SR => CNTL.munit_s_div_sr,
S_ASH => CNTL.munit_s_ash,
S_ASH_CN => CNTL.munit_s_ash_cn,
S_ASHC => CNTL.munit_s_ashc,
@@ -197,8 +200,7 @@
SHC_TC => STAT.shc_tc,
DIV_CR => STAT.div_cr,
DIV_CQ => STAT.div_cq,
- DIV_ZERO => STAT.div_zero,
- DIV_OVFL => STAT.div_ovfl,
+ DIV_QUIT => STAT.div_quit,
DOUT => MUNIT_DOUT,
DOUTE => DRESE,
CCOUT => MUNIT_CCOUT
Index: trunk/rtl/w11a/tb/tb_pdp11core_stim.dat
===================================================================
--- trunk/rtl/w11a/tb/tb_pdp11core_stim.dat (revision 24)
+++ trunk/rtl/w11a/tb/tb_pdp11core_stim.dat (revision 25)
@@ -1,7 +1,9 @@
-# $Id: tb_pdp11core_stim.dat 351 2010-12-30 21:50:54Z mueller $
+# $Id: tb_pdp11core_stim.dat 569 2014-07-13 14:36:32Z mueller $
#
# Revision History:
# Date Rev Version Comment
+# 2014-07-13 569 2.3 after ECO-026: correct test 31.1 wrong V=1 cases
+# correct test 37.2: 2 V=1 cases have regs now updated
# 2010-06-20 308 2.2.1 add wibrb, ribr, wibr based tests
# 2010-06-13 305 2.2 adopt to new rri address and function semantics
# 2009-11-22 252 2.1.14 change SSR0 expects, adapt to ECO-021.
@@ -3099,9 +3101,9 @@
d=000004 -- ! mem(11016) div 000000,000000,021706 -> n0z1v1c0
d=000000 -- ! mem(11020) 0/9158 -> 0,0
d=000000 -- ! mem(11022)
- d=000012 -- ! mem(11024) div 177777,100000,000001->n1z0v1c0 [[s:10]]
- d=177777 -- ! mem(11026) -32768/1 -> overflow [[s:100000]]
- d=100000 -- ! mem(11030) [[s:000000]]
+ d=000010 -- ! mem(11024) div 177777,100000,000001->n1z0v1c0
+ d=100000 -- ! mem(11026) -32768/1 -> -32768,0
+ d=000000 -- ! mem(11030)
d=000002 -- ! mem(11032) div 177777,100000,177777 -> n0z0v1c0 ?? 2
d=177777 -- ! mem(11034) -32768/-1 -> overflow
d=100000 -- ! mem(11036)
@@ -3114,9 +3116,9 @@
d=000010 -- ! mem(11054) div 140000,100001,077777 -> n1z0v0c0
d=100001 -- ! mem(11056) -1073709055/32767 -> -32767,-32766
d=100002 -- ! mem(11060)
- d=000012 -- ! mem(11062) div 140000,100000,077777->n1z0v1c0 [[s:10]]
- d=140000 -- ! mem(11064) -1073709056/32767 -> overflow [[s:100000]]
- d=100000 -- ! mem(11066) [[s:000000]]
+ d=000010 -- ! mem(11062) div 140000,100000,077777->n1z0v1c0
+ d=100000 -- ! mem(11064) -1073709056/32767 -> -32768,0
+ d=000000 -- ! mem(11066)
d=000002 -- ! mem(11070) div 040000,000000,077777 -> n0z0v1c0
d=040000 -- ! mem(11072) 1073741824/32767 -> overflow
d=000000 -- ! mem(11074)
@@ -3874,7 +3876,7 @@
177777 -- 177777,177777,177777, 0, 1, 0#
177777 --
177777 --
- 000000 -- 0,177777,177777,12, 0,177777#
+ 000000 -- 0,177777,177777,12, 0,177777# w11a:12,000001,000000
177777 --
177777 --
177777 -- 177777, 0,177777, 2,177777, 0#
@@ -3901,7 +3903,7 @@
000000 -- 0,177777, 1, 2, 0,177777#
177777 --
000001 --
- 177777 -- 177777, 45716, 1,12,177777, 45716#
+ 177777 -- 177777, 45716, 1,12,177777, 45716# w11a:12,045716,000000
045716 --
000001 --
000000 -- 0, 2,177770, 4, 0, 2#
@@ -3939,9 +3941,9 @@
d=000000 --!177777,177777,177777, 0, 1, 0#
d=000001 --!
d=000000 --!
- d=000012 --! 0,177777,177777,12, 0,177777#
+ d=000012 --! 0,177777,177777,12, 0,177777# w11a:12,000001,000000
+ d=000001 --!
d=000000 --!
- d=177777 --!
d=000002 --!177777, 0,177777, 2,177777, 0#
d=177777 --!
d=000000 --!
@@ -3966,9 +3968,9 @@
d=000002 --! 0,177777, 1, 2, 0,177777#
d=000000 --!
d=177777 --!
- d=000012 --!177777, 45716, 1,12,177777, 45716#
- d=177777 --!
+ d=000012 --!177777, 45716, 1,12,177777, 45716# w11a:12,045716,000000
d=045716 --!
+ d=000000 --!
d=000004 --! 0, 2,177770, 4, 0, 2#
d=000000 --!
d=000002 --!
Index: trunk/rtl/w11a/tb/Makefile
===================================================================
--- trunk/rtl/w11a/tb/Makefile (revision 24)
+++ trunk/rtl/w11a/tb/Makefile (revision 25)
@@ -1,7 +1,8 @@
-# $Id: Makefile 477 2013-01-27 14:07:10Z mueller $
+# $Id: Makefile 575 2014-07-27 20:55:41Z mueller $
#
# Revision History:
# Date Rev Version Comment
+# 2014-07-27 545 1.4.1 make reference board configurable via XTW_BOARD
# 2011-08-13 405 1.4 use includes from rtl/make
# 2010-12-30 351 1.3 retire tb_rripdp_pdp11core tb_rriext_pdp11core
# 2009-11-22 252 1.2 add ISim support
@@ -11,8 +12,12 @@
#
EXE_all = tb_pdp11core
#
-# reference board for test synthesis is Spartan-6 based Nexys3
-include $(RETROBASE)/rtl/make/xflow_default_nexys3.mk
+# default reference board for test synthesis is Spartan-6 based Nexys3
+ifndef XTW_BOARD
+ XTW_BOARD=nexys3
+endif
+include $(RETROBASE)/rtl/make/xflow_default_$(XTW_BOARD).mk
+
#
.PHONY : all all_ssim all_tsim clean
#
Index: trunk/rtl/w11a/tb
===================================================================
--- trunk/rtl/w11a/tb (revision 24)
+++ trunk/rtl/w11a/tb (revision 25)
trunk/rtl/w11a/tb
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/w11a/Makefile
===================================================================
--- trunk/rtl/w11a/Makefile (revision 24)
+++ trunk/rtl/w11a/Makefile (revision 25)
@@ -1,7 +1,8 @@
-# $Id: Makefile 477 2013-01-27 14:07:10Z mueller $
+# $Id: Makefile 575 2014-07-27 20:55:41Z mueller $
#
# Revision History:
# Date Rev Version Comment
+# 2014-07-27 545 1.1.1 make reference board configurable via XTW_BOARD
# 2011-08-13 405 1.1 use includes from rtl/make
# 2007-12-09 100 1.0.1 drop ISE_p def
# 2007-07-08 65 1.0 Initial version
@@ -10,7 +11,10 @@
NGC_all = $(VBOM_all:.vbom=.ngc)
#
# reference board for test synthesis is Spartan-6 based Nexys3
-include $(RETROBASE)/rtl/make/xflow_default_nexys3.mk
+ifndef XTW_BOARD
+ XTW_BOARD=nexys3
+endif
+include $(RETROBASE)/rtl/make/xflow_default_$(XTW_BOARD).mk
#
.PHONY : all clean
#
Index: trunk/rtl/w11a/pdp11_sequencer.vhd
===================================================================
--- trunk/rtl/w11a/pdp11_sequencer.vhd (revision 24)
+++ trunk/rtl/w11a/pdp11_sequencer.vhd (revision 25)
@@ -1,4 +1,4 @@
--- $Id: pdp11_sequencer.vhd 556 2014-05-29 19:01:39Z mueller $
+-- $Id: pdp11_sequencer.vhd 569 2014-07-13 14:36:32Z mueller $
--
-- Copyright 2006-2014 by Walter F.J. Mueller
--
@@ -18,10 +18,13 @@
-- Dependencies: ib_sel
-- Test bench: tb/tb_pdp11_core (implicit)
-- Target Devices: generic
--- Tool versions: xst 8.2-14.7; viv 2014.1; ghdl 0.18-0.29
+-- Tool versions: xst 8.2-14.7; viv 2014.1; ghdl 0.18-0.31
--
-- Revision History:
-- Date Rev Version Comment
+-- 2014-07-12 569 1.5.1 rename s_opg_div_zero -> s_opg_div_quit;
+-- use DP_STAT.div_quit; set munit_s_div_sr;
+-- BUGFIX: s_opg_div_sr: check for late div_quit
-- 2014-04-20 554 1.5 now vivado compatible (add dummy assigns in procs)
-- 2011-11-18 427 1.4.2 now numeric_std clean
-- 2010-10-23 335 1.4.1 use ib_sel
@@ -181,7 +184,7 @@
s_opg_div_cr,
s_opg_div_sq,
s_opg_div_sr,
- s_opg_div_zero,
+ s_opg_div_quit,
s_opg_ash,
s_opg_ash_cn,
s_opg_ashc,
@@ -1708,8 +1711,8 @@
ndpcntl.dsrc_sel := c_dpath_dsrc_res; -- DSRC = DRES
ndpcntl.dtmp_sel := c_dpath_dtmp_drese; -- DTMP = DRESE
nstate := s_opg_div_cn;
- if DP_STAT.div_zero='1' or DP_STAT.div_ovfl='1' then
- nstate := s_opg_div_zero;
+ if DP_STAT.div_quit = '1' then
+ nstate := s_opg_div_quit;
else
ndpcntl.dsrc_we := '1'; -- update DSRC
ndpcntl.dtmp_we := '1'; -- update DTMP
@@ -1718,7 +1721,7 @@
nstate := s_opg_div_cr;
end if;
- when s_opg_div_cr => -- DIV (reminder correction)
+ when s_opg_div_cr => -- DIV (remainder correction)
ndpcntl.munit_s_div_cr := '1';
ndpcntl.dres_sel := R_IDSTAT.res_sel; -- DRES = choice of idec
ndpcntl.dsrc_sel := c_dpath_dsrc_res; -- DSRC = DRES
@@ -1725,7 +1728,7 @@
ndpcntl.dsrc_we := DP_STAT.div_cr; -- update DSRC
nstate := s_opg_div_sq;
- when s_opg_div_sq => -- DIV (store quotient)
+ when s_opg_div_sq => -- DIV (correct and store quotient)
ndpcntl.ounit_asel := c_ounit_asel_dtmp; -- OUNIT A=DTMP
ndpcntl.ounit_const := "00000000"&DP_STAT.div_cq;-- OUNIT const = Q corr.
ndpcntl.ounit_bsel := c_ounit_bsel_const; -- OUNIT B=const (q cor)
@@ -1736,7 +1739,8 @@
ndpcntl.dtmp_we := '1'; -- update DTMP (Q)
nstate := s_opg_div_sr;
- when s_opg_div_sr => -- DIV (store reminder)
+ when s_opg_div_sr => -- DIV (store remainder)
+ ndpcntl.munit_s_div_sr := '1';
ndpcntl.ounit_asel := c_ounit_asel_dsrc; -- OUNIT A=DSRC
ndpcntl.ounit_bsel := c_ounit_bsel_const; -- OUNIT B=const (0)
ndpcntl.dres_sel := c_dpath_res_ounit; -- DRES = OUNIT
@@ -1743,9 +1747,13 @@
ndpcntl.gpr_adst := SRCREG(2 downto 1) & "1";-- write odd reg !
ndpcntl.gpr_we := '1';
ndpcntl.psr_ccwe := '1';
- do_fork_next(nstate, nstatus, nmmumoni);
-
- when s_opg_div_zero => -- DIV (/0 or 0/ abort)
+ if DP_STAT.div_quit = '1' then
+ nstate := s_opg_div_quit;
+ else
+ do_fork_next(nstate, nstatus, nmmumoni);
+ end if;
+
+ when s_opg_div_quit => -- DIV (0/ or /0 or V=1 aborts)
ndpcntl.psr_ccwe := '1';
do_fork_next(nstate, nstatus, nmmumoni);
/trunk/rtl/w11a/pdp11_munit.vhd
1,6 → 1,6
-- $Id: pdp11_munit.vhd 427 2011-11-19 21:04:11Z mueller $ |
-- $Id: pdp11_munit.vhd 577 2014-08-03 20:49:42Z mueller $ |
-- |
-- Copyright 2006-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- Copyright 2006-2014 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
-- This program is free software; you may redistribute and/or modify it under |
-- the terms of the GNU General Public License as published by the Free |
18,9 → 18,20
-- Dependencies: - |
-- Test bench: tb/tb_pdp11_core (implicit) |
-- Target Devices: generic |
-- Tool versions: xst 8.2, 9.1, 9.2, 13.1; ghdl 0.18-0.29 |
-- Tool versions: xst 8.2-14.7; ghdl 0.18-0.31 |
-- |
-- Synthesized (xst): |
-- Date Rev ise Target flop lutl lutm slic t peri |
-- 2014-07-12 569 14.7 131013 xc6slx16-2 30 154 0 46 s 6.8 |
-- 2014-07-11 568 14.7 131013 xc6slx16-2 28 123 0 47 s 5.6 |
-- |
-- Revision History: |
-- Date Rev Version Comment |
-- 2014-08-05 578 1.2.3 fix proc_div sensitivity list |
-- 2014-08-03 577 1.2.2 use DTMP_POS rather signed(Q)>0 (xst bug for S-3) |
-- 2014-07-26 575 1.2.1 fix proc_omux sensitivity list |
-- 2014-07-12 569 1.2 merge DIV_ZERO+DIV_OVFL to DIV_QUIT; add S_DIV_SR |
-- BUGFIX: fix divide logic, dr+q max neg issues |
-- 2011-11-18 427 1.1.1 now numeric_std clean |
-- 2010-09-18 300 1.1 renamed from mbox |
-- 2007-06-14 56 1.0.1 Use slvtypes.all |
44,18 → 55,18
DTMP : in slv16; -- 'tmp' data in |
GPR_DSRC : in slv16; -- 'src' data from GPR |
FUNC : in slv2; -- function |
S_DIV : in slbit; -- s_opg_div state |
S_DIV_CN : in slbit; -- s_opg_div_cn state |
S_DIV_CR : in slbit; -- s_opg_div_cr state |
S_DIV : in slbit; -- s_opg_div state (load dd_low) |
S_DIV_CN : in slbit; -- s_opg_div_cn state (1st..16th cycle) |
S_DIV_CR : in slbit; -- s_opg_div_cr state (remainder corr.) |
S_DIV_SR : in slbit; -- s_opg_div_sr state (store remainder) |
S_ASH : in slbit; -- s_opg_ash state |
S_ASH_CN : in slbit; -- s_opg_ash_cn state |
S_ASHC : in slbit; -- s_opg_ashc state |
S_ASHC_CN : in slbit; -- s_opg_ashc_cn state |
SHC_TC : out slbit; -- last shc cycle (shc==0) |
DIV_CR : out slbit; -- division: reminder correction needed |
DIV_CR : out slbit; -- division: remainder correction needed |
DIV_CQ : out slbit; -- division: quotient correction needed |
DIV_ZERO : out slbit; -- division: divident or divisor zero |
DIV_OVFL : out slbit; -- division: overflow |
DIV_QUIT : out slbit; -- division: abort (0/ or /0 or V=1) |
DOUT : out slv16; -- data output |
DOUTE : out slv16; -- data output extra |
CCOUT : out slv4 -- condition codes out |
66,6 → 77,8
|
signal R_DD_L : slv16 := (others=>'0'); -- divident, low order part |
signal R_DDO_LT : slbit := '0'; -- original sign bit of divident |
signal R_MAXFIX : slbit := '0'; -- maxfix flag for division |
signal R_QO_LT : slbit := '0'; -- expected q sign for division |
signal R_DIV_V : slbit := '0'; -- V flag for division |
signal R_SHC : slv6 := (others=>'0'); -- shift counter for div and ash/c |
signal R_C1 : slbit := '0'; -- first cycle indicator |
75,6 → 88,8
|
signal NEXT_DD_L : slv16 := (others=>'0'); |
signal NEXT_DDO_LT : slbit := '0'; |
signal NEXT_MAXFIX : slbit := '0'; |
signal NEXT_QO_LT : slbit := '0'; |
signal NEXT_DIV_V : slbit := '0'; |
signal NEXT_SHC : slv6 := (others=>'0'); |
signal NEXT_C1 : slbit := '0'; |
85,9 → 100,11
signal SHC_TC_L : slbit := '0'; |
|
signal DDST_ZERO : slbit := '0'; |
signal DDST_NMAX : slbit := '0'; |
signal DSRC_ZERO : slbit := '0'; |
signal DSRC_ONES : slbit := '0'; |
signal DTMP_ZERO : slbit := '0'; |
signal DTMP_POS : slbit := '0'; |
|
signal DOUT_DIV : slv16 := (others=>'0'); |
signal DOUTE_DIV : slv16 := (others=>'0'); |
103,6 → 120,8
if rising_edge(CLK) then |
R_DD_L <= NEXT_DD_L; |
R_DDO_LT <= NEXT_DDO_LT; |
R_MAXFIX <= NEXT_MAXFIX; |
R_QO_LT <= NEXT_QO_LT; |
R_DIV_V <= NEXT_DIV_V; |
R_SHC <= NEXT_SHC; |
R_C1 <= NEXT_C1; |
116,13 → 135,18
begin |
|
DDST_ZERO <= '0'; |
DDST_NMAX <= '0'; |
DSRC_ZERO <= '0'; |
DSRC_ONES <= '0'; |
DTMP_ZERO <= '0'; |
DTMP_POS <= '0'; |
|
if unsigned(DDST) = 0 then |
DDST_ZERO <= '1'; |
end if; |
if DDST = "1000000000000000" then |
DDST_NMAX <= '1'; |
end if; |
if unsigned(DSRC) = 0 then |
DSRC_ZERO <= '1'; |
end if; |
132,6 → 156,9
if unsigned(DTMP) = 0 then |
DTMP_ZERO <= '1'; |
end if; |
if signed(DTMP) > 0 then |
DTMP_POS <= '1'; |
end if; |
|
end process proc_comm; |
|
168,13 → 195,17
end process proc_shc; |
|
proc_div: process (DDST, DSRC, DTMP, GPR_DSRC, DR, DD_H, Q, |
R_DD_L, R_DDO_LT, R_DIV_V, R_SHC, R_C1, |
S_DIV, S_DIV_CN, S_DIV_CR, |
DDST_ZERO, DSRC_ZERO, DTMP_ZERO) |
|
R_DD_L, R_DDO_LT, R_MAXFIX, R_QO_LT, R_DIV_V, R_SHC, R_C1, |
S_DIV, S_DIV_CN, S_DIV_CR, S_DIV_SR, |
DDST_ZERO, DDST_NMAX, DSRC_ZERO, DTMP_ZERO, DTMP_POS) |
|
variable div_zero : slbit := '0'; |
variable div_ovfl : slbit := '0'; |
variable shftdd : slbit := '0'; |
variable subadd : slbit := '0'; |
|
variable dd_le : slbit := '0'; |
variable dd_ge : slbit := '0'; |
variable dd_gt : slbit := '0'; |
|
variable qbit : slbit := '0'; |
188,10 → 219,12
|
NEXT_DD_L <= R_DD_L; |
NEXT_DDO_LT <= R_DDO_LT; |
NEXT_MAXFIX <= R_MAXFIX; |
NEXT_QO_LT <= R_QO_LT; |
NEXT_DIV_V <= R_DIV_V; |
|
DIV_ZERO <= '0'; |
DIV_OVFL <= '0'; |
div_zero := '0'; |
div_ovfl := '0'; |
|
qbit_1 := not (DR(15) xor DD_H(15)); -- !(dr<0 ^ dd_h<0) |
|
204,8 → 237,6
|
if R_C1 = '1' then |
subadd := qbit_1; |
DIV_ZERO <= DDST_ZERO or |
(DSRC_ZERO and DTMP_ZERO); -- note: DTMP here still dd_low ! |
else |
subadd := Q(0); |
end if; |
216,6 → 247,16
dd_h_new := slv(signed(dd_h_old) - signed(DR)); |
end if; |
|
dd_le := '0'; |
if signed(dd_h_new) <= 0 then |
dd_le := '1'; -- set if dd_new_h <= 0 |
end if; |
|
dd_ge := '0'; |
if signed(dd_h_new) >= -1 then |
dd_ge := '1'; -- set if dd_new_h >= -1 |
end if; |
|
dd_gt := '0'; |
if dd_h_new(15) = '0' and |
(unsigned(dd_h_new(14 downto 0))/=0 or |
227,19 → 268,59
if R_DDO_LT = '0' then |
qbit_n := DR(15) xor not dd_h_new(15); -- b_dr_lt ^ !b_dd_lt |
else |
qbit_n := DR(15) xor dd_gt; -- b_dr_lt ^ b_dd_gt |
if R_MAXFIX = '0' then |
qbit_n := DR(15) xor dd_gt; -- b_dr_lt ^ b_dd_gt |
else |
qbit_n := dd_h_new(15); -- b_dd_lt |
end if; |
end if; |
|
if S_DIV = '1' then |
NEXT_DDO_LT <= DD_H(15); |
NEXT_DD_L <= GPR_DSRC; |
NEXT_DD_L <= GPR_DSRC; |
NEXT_MAXFIX <= '0'; |
if DDST_NMAX = '1' and GPR_DSRC = "0000000000000000" then |
NEXT_MAXFIX <= '1'; -- b_dr_nmax && (ddi_l == 0) |
end if; |
NEXT_QO_LT <= DD_H(15) xor DR(15); -- b_di_lt ^ b_dr_lt |
end if; |
|
if R_C1 = '1' then |
NEXT_DIV_V <= (DD_H(15) xor DD_H(14)) or |
(DD_H(15) xor (DR(15) xor qbit_n)); |
DIV_OVFL <= (DD_H(15) xor DD_H(14)) or --??? cleanup |
(DD_H(15) xor (DR(15) xor qbit_n)); --??? cleanup |
div_zero := DDST_ZERO or |
(DSRC_ZERO and DTMP_ZERO); -- note: DTMP here still dd_low ! |
|
if DDST_NMAX='0' and (DD_H(15) xor DD_H(14)) = '1' then |
div_ovfl := '1'; -- !b_dr_nmax && (b_di_31 != b_di_30) |
end if; |
|
if R_DDO_LT = '0' then -- if (!b_di_lt) |
if R_QO_LT = '0' then -- if (!b_qo_lt) |
if dd_h_new(15) = '0' then -- if (!b_dd_lt) |
div_ovfl := '1'; |
end if; |
else -- else |
if dd_le = '0' then -- if (!b_dd_le) |
div_ovfl := '1'; |
end if; |
end if; |
else |
if R_QO_LT = '0' then -- if (!b_qo_lt) |
if dd_gt = '0' then -- if (!b_dd_gt) |
div_ovfl := '1'; |
end if; |
else -- else |
if dd_ge = '0' then -- if (!b_dd_ge) |
div_ovfl := '1'; |
end if; |
end if; |
end if; |
NEXT_DIV_V <= div_ovfl; |
|
elsif S_DIV_SR = '1' then |
if R_QO_LT='1' and DTMP_POS='1' then |
div_ovfl := '1'; |
end if; |
NEXT_DIV_V <= div_ovfl; |
end if; |
|
if S_DIV_CN = '1' then |
252,10 → 333,13
qbit := qbit_1; |
end if; |
|
DIV_CR <= not (R_DDO_LT xor |
(DR(15) xor Q(0))); --!(b_ddo_lt ^ (b_dr_lt ^ b_qbit)); |
DIV_CQ <= R_DDO_LT xor DR(15); -- b_ddo_lt ^ b_dr_lt; |
DIV_QUIT <= div_zero or div_ovfl; |
|
DIV_CR <= R_MAXFIX or -- b_maxfix | (!(b_ddo_lt ^ (b_dr_lt ^ b_qbit))) |
(not (R_DDO_LT xor (DR(15) xor Q(0)))); |
DIV_CQ <= R_MAXFIX or -- b_maxfix | (b_ddo_lt ^ b_dr_lt) |
(R_DDO_LT xor DR(15)); |
|
DOUT_DIV <= dd_h_new; |
DOUTE_DIV <= Q(14 downto 0) & qbit; |
|
293,7 → 377,7
end process proc_ash; |
|
proc_omux: process (DSRC, DDST, DTMP, FUNC, |
R_ASH_V, R_ASH_C, R_SHC, R_DIV_V, |
R_ASH_V, R_ASH_C, R_SHC, R_DIV_V, R_QO_LT, |
DOUT_DIV, DOUTE_DIV, |
DSRC_ZERO, DSRC_ONES, DTMP_ZERO, DDST_ZERO) |
|
366,7 → 450,7
CCOUT(3) <= '0'; -- N=0 if div/0 |
CCOUT(2) <= '1'; -- Z=1 if div/0 |
elsif R_DIV_V = '1' then |
CCOUT(3) <= DSRC(15) xor DDST(15); -- N (from unchanged reg) |
CCOUT(3) <= R_QO_LT; -- N (send expected sign) |
CCOUT(2) <= '0'; -- Z (from unchanged reg) ??? veri |
else |
CCOUT(3) <= DTMP(15); -- N (from Q (DTMP)) |
/trunk/rtl/w11a/pdp11.vhd
1,6 → 1,6
-- $Id: pdp11.vhd 427 2011-11-19 21:04:11Z mueller $ |
-- $Id: pdp11.vhd 569 2014-07-13 14:36:32Z mueller $ |
-- |
-- Copyright 2006-2011 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- Copyright 2006-2014 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de> |
-- |
-- This program is free software; you may redistribute and/or modify it under |
-- the terms of the GNU General Public License as published by the Free |
16,9 → 16,12
-- Description: Definitions for pdp11 components |
-- |
-- Dependencies: - |
-- Tool versions: xst 8.2, 9.1, 9.2, 11.4, 12.1, 13.1; ghdl 0.18-0.29 |
-- Tool versions: xst 8.2-14.7; ghdl 0.18-0.31 |
-- |
-- Revision History: |
-- Date Rev Version Comment |
-- 2014-07-12 569 1.4.9 dpath_stat_type: merge div_zero+div_ovfl to div_quit |
-- dpath_cntl_type: add munit_s_div_sr |
-- 2011-11-18 427 1.4.8 now numeric_std clean |
-- 2010-12-30 351 1.4.7 rename pdp11_core_rri->pdp11_core_rbus; use rblib |
-- 2010-10-23 335 1.4.6 rename RRI_LAM->RB_LAM; |
162,6 → 165,7
munit_s_div : slbit; -- munit s_opg_div state |
munit_s_div_cn : slbit; -- munit s_opg_div_cn state |
munit_s_div_cr : slbit; -- munit s_opg_div_cr state |
munit_s_div_sr : slbit; -- munit s_opg_div_sr state |
munit_s_ash : slbit; -- munit s_opg_ash state |
munit_s_ash_cn : slbit; -- munit s_opg_ash_cn state |
munit_s_ashc : slbit; -- munit s_opg_ashc state |
180,7 → 184,7
"00",'0',"000000000","00",'0', -- ounit |
"00","00","00",'0',"000",'0', -- aunit |
"0000",'0', -- lunit |
"00",'0','0','0','0','0','0','0', -- munit |
"00",'0','0','0','0','0','0','0','0',-- munit |
'0',"000","000","00",'0' -- rest |
); |
|
211,10 → 215,9
type dpath_stat_type is record -- data path status |
ccout_z : slbit; -- current effective Z cc flag |
shc_tc : slbit; -- last shc cycle (shc==0) |
div_cr : slbit; -- division: reminder correction needed |
div_cr : slbit; -- division: remainder correction needed |
div_cq : slbit; -- division: quotient correction needed |
div_zero : slbit; -- division: divident or divisor zero |
div_ovfl : slbit; -- division: overflow |
div_quit : slbit; -- division: abort (0/ or /0 or V=1) |
end record dpath_stat_type; |
|
constant dpath_stat_init : dpath_stat_type := (others=>'0'); |
790,18 → 793,18
DTMP : in slv16; -- 'tmp' data in |
GPR_DSRC : in slv16; -- 'src' data from GPR |
FUNC : in slv2; -- function |
S_DIV : in slbit; -- s_opg_div state |
S_DIV_CN : in slbit; -- s_opg_div_cn state |
S_DIV_CR : in slbit; -- s_opg_div_cr state |
S_DIV : in slbit; -- s_opg_div state (load dd_low) |
S_DIV_CN : in slbit; -- s_opg_div_cn state (1st..16th cycle) |
S_DIV_CR : in slbit; -- s_opg_div_cr state (remainder corr.) |
S_DIV_SR : in slbit; -- s_opg_div_sr state (store remainder) |
S_ASH : in slbit; -- s_opg_ash state |
S_ASH_CN : in slbit; -- s_opg_ash_cn state |
S_ASHC : in slbit; -- s_opg_ashc state |
S_ASHC_CN : in slbit; -- s_opg_ashc_cn state |
SHC_TC : out slbit; -- last shc cycle (shc==0) |
DIV_CR : out slbit; -- division: reminder correction needed |
DIV_CR : out slbit; -- division: remainder correction needed |
DIV_CQ : out slbit; -- division: quotient correction needed |
DIV_ZERO : out slbit; -- division: divident or divisor zero |
DIV_OVFL : out slbit; -- division: overflow |
DIV_QUIT : out slbit; -- division: abort (0/ or /0 or V=1) |
DOUT : out slv16; -- data output |
DOUTE : out slv16; -- data output extra |
CCOUT : out slv4 -- condition codes out |
trunk/rtl/w11a
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/vlib/rlink/tb/rlink_cext.c
===================================================================
--- trunk/rtl/vlib/rlink/tb/rlink_cext.c (revision 24)
+++ trunk/rtl/vlib/rlink/tb/rlink_cext.c (revision 25)
@@ -1,6 +1,6 @@
-/* $Id: rlink_cext.c 366 2011-03-05 14:55:15Z mueller $
+/* $Id: rlink_cext.c 575 2014-07-27 20:55:41Z mueller $
*
- * Copyright 2007-2010 by Walter F.J. Mueller
+ * Copyright 2007-2014 by Walter F.J. Mueller
*
* This program is free software; you may redistribute and/or modify it under
* the terms of the GNU General Public License as published by the Free
@@ -13,6 +13,8 @@
*
* Revision History:
* Date Rev Vers Comment
+ * 2014-07-27 575 1.3.2 add ssize_t -> int casts to avoid warnings
+ * add fflush(stdout) after standart open/close msgs
* 2011-03-05 366 1.3.1 add RLINK_CEXT_TRACE=2 trace level
* 2010-12-29 351 1.3 rename cext_rriext -> rlink_cext; rename functions
* cext_* -> rlink_cext_* and fifo file names
@@ -80,7 +82,7 @@
ssize_t nbyte;
nbyte = read(fd_rx, buf, 1);
if (io_trace > 1) {
- printf("rlink_cext-I: read rc=%d", nbyte);
+ printf("rlink_cext-I: read rc=%d", (int)nbyte);
if (nbyte < 0) printf(" errno=%d %s", errno, strerror(errno));
printf("\n");
}
@@ -123,6 +125,8 @@
return -2;
}
printf("rlink_cext-I: connected to rlink_cext_fifo_rx\n");
+ fflush(stdout);
+
fd_tx = open("rlink_cext_fifo_tx", O_WRONLY);
if (fd_tx <= 0) {
perror("rlink_cext-E: failed to open rlink_cext_fifo_tx");
@@ -129,6 +133,8 @@
return -2;
}
printf("rlink_cext-I: connected to rlink_cext_fifo_tx\n");
+ fflush(stdout);
+
nidle = 0;
ncesc = 0;
nside = -1;
@@ -154,6 +160,7 @@
if (qr_eof != 0) { /* EOF seen */
if (ncesc >= 2) { /* two+ CESC seen ? */
printf("rlink_cext-I: seen EOF, wait for reconnect\n");
+ fflush(stdout);
close(fd_rx);
close(fd_tx);
fd_rx = -1;
@@ -163,7 +170,9 @@
}
printf("rlink_cext-I: seen EOF, schedule clock stop and exit\n");
+ fflush(stdout);
return -1; /* signal EOF seen */
+
} else if (qr_err == EAGAIN) { /* nothing read, return idle */
if (nidle < 8 || (nidle%1024)==0) {
irc = sched_yield();
@@ -223,7 +232,7 @@
buf[0] = (unsigned char) dat;
nbyte = write(fd_tx, buf, 1);
if (io_trace > 1) {
- printf("rlink_cext-I: write rc=%d", nbyte);
+ printf("rlink_cext-I: write rc=%d", (int)nbyte);
if (nbyte < 0) printf(" errno=%d %s", errno, strerror(errno));
printf("\n");
}
/trunk/rtl/vlib/rlink/tb/Makefile
1,7 → 1,8
# $Id: Makefile 477 2013-01-27 14:07:10Z mueller $ |
# $Id: Makefile 575 2014-07-27 20:55:41Z mueller $ |
# |
# Revision History: |
# Date Rev Version Comment |
# 2014-07-27 545 1.4.1 make reference board configurable via XTW_BOARD |
# 2011-08-13 405 1.4 use includes from rtl/make |
# 2010-12-05 343 1.3 rri->rlink renames |
# 2009-11-21 252 1.2 add ISim support |
14,7 → 15,10
EXE_all += tb_rlink_sp1c |
# |
# reference board for test synthesis is Spartan-6 based Nexys3 |
include $(RETROBASE)/rtl/make/xflow_default_nexys3.mk |
ifndef XTW_BOARD |
XTW_BOARD=nexys3 |
endif |
include $(RETROBASE)/rtl/make/xflow_default_$(XTW_BOARD).mk |
# |
.PHONY : all all_ssim all_tsim clean |
# |
trunk/rtl/vlib/rlink/tb
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/vlib/rlink/Makefile
===================================================================
--- trunk/rtl/vlib/rlink/Makefile (revision 24)
+++ trunk/rtl/vlib/rlink/Makefile (revision 25)
@@ -1,7 +1,8 @@
-# $Id: Makefile 477 2013-01-27 14:07:10Z mueller $
+# $Id: Makefile 575 2014-07-27 20:55:41Z mueller $
#
# Revision History:
# Date Rev Version Comment
+# 2014-07-27 545 1.1.1 make reference board configurable via XTW_BOARD
# 2011-08-13 405 1.1 use includes from rtl/make
# 2007-12-09 100 1.0.1 drop ISE_p definition
# 2007-07-06 64 1.0 Initial version
@@ -10,7 +11,10 @@
NGC_all = $(VBOM_all:.vbom=.ngc)
#
# reference board for test synthesis is Spartan-6 based Nexys3
-include $(RETROBASE)/rtl/make/xflow_default_nexys3.mk
+ifndef XTW_BOARD
+ XTW_BOARD=nexys3
+endif
+include $(RETROBASE)/rtl/make/xflow_default_$(XTW_BOARD)
#
.PHONY : all clean
#
Index: trunk/rtl/vlib/rlink
===================================================================
--- trunk/rtl/vlib/rlink (revision 24)
+++ trunk/rtl/vlib/rlink (revision 25)
trunk/rtl/vlib/rlink
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/vlib/simlib
===================================================================
--- trunk/rtl/vlib/simlib (revision 24)
+++ trunk/rtl/vlib/simlib (revision 25)
trunk/rtl/vlib/simlib
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/vlib/genlib/Makefile
===================================================================
--- trunk/rtl/vlib/genlib/Makefile (revision 24)
+++ trunk/rtl/vlib/genlib/Makefile (revision 25)
@@ -1,7 +1,8 @@
-# $Id: Makefile 477 2013-01-27 14:07:10Z mueller $
+# $Id: Makefile 575 2014-07-27 20:55:41Z mueller $
#
# Revision History:
# Date Rev Version Comment
+# 2014-07-27 545 1.2.1 make reference board configurable via XTW_BOARD
# 2011-08-13 405 1.2 use includes from rtl/make
# 2007-12-09 100 1.1.1 drop ISE_p definition
# 2007-06-03 47 1.1 use Makefile.xflow
@@ -11,7 +12,10 @@
NGC_all = $(VBOM_all:.vbom=.ngc)
#
# reference board for test synthesis is Spartan-6 based Nexys3
-include $(RETROBASE)/rtl/make/xflow_default_nexys3.mk
+ifndef XTW_BOARD
+ XTW_BOARD=nexys3
+endif
+include $(RETROBASE)/rtl/make/xflow_default_$(XTW_BOARD).mk
#
.PHONY : all clean
#
Index: trunk/rtl/vlib/genlib
===================================================================
--- trunk/rtl/vlib/genlib (revision 24)
+++ trunk/rtl/vlib/genlib (revision 25)
trunk/rtl/vlib/genlib
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/vlib/comlib/misc
===================================================================
--- trunk/rtl/vlib/comlib/misc (revision 24)
+++ trunk/rtl/vlib/comlib/misc (revision 25)
trunk/rtl/vlib/comlib/misc
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/vlib/comlib/Makefile
===================================================================
--- trunk/rtl/vlib/comlib/Makefile (revision 24)
+++ trunk/rtl/vlib/comlib/Makefile (revision 25)
@@ -1,7 +1,8 @@
-# $Id: Makefile 477 2013-01-27 14:07:10Z mueller $
+# $Id: Makefile 575 2014-07-27 20:55:41Z mueller $
#
# Revision History:
# Date Rev Version Comment
+# 2014-07-27 545 1.2.1 make reference board configurable via XTW_BOARD
# 2011-08-13 405 1.2 use includes from rtl/make
# 2007-07-06 64 1.1 use Makefile.xflow
# 2007-06-03 45 1.0 Initial version
@@ -10,7 +11,10 @@
NGC_all = $(VBOM_all:.vbom=.ngc)
#
# reference board for test synthesis is Spartan-6 based Nexys3
-include $(RETROBASE)/rtl/make/xflow_default_nexys3.mk
+ifndef XTW_BOARD
+ XTW_BOARD=nexys3
+endif
+include $(RETROBASE)/rtl/make/xflow_default_$(XTW_BOARD).mk
#
.PHONY : all clean
#
Index: trunk/rtl/vlib/comlib
===================================================================
--- trunk/rtl/vlib/comlib (revision 24)
+++ trunk/rtl/vlib/comlib (revision 25)
trunk/rtl/vlib/comlib
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/vlib/memlib/Makefile
===================================================================
--- trunk/rtl/vlib/memlib/Makefile (revision 24)
+++ trunk/rtl/vlib/memlib/Makefile (revision 25)
@@ -1,7 +1,8 @@
-# $Id: Makefile 477 2013-01-27 14:07:10Z mueller $
+# $Id: Makefile 575 2014-07-27 20:55:41Z mueller $
#
# Revision History:
# Date Rev Version Comment
+# 2014-07-27 545 1.1.1 make reference board configurable via XTW_BOARD
# 2011-08-13 405 1.1 use includes from rtl/make
# 2007-12-09 100 1.0.1 drop ISE_p definition
# 2007-06-03 45 1.0 Initial version
@@ -10,7 +11,10 @@
NGC_all = $(VBOM_all:.vbom=.ngc)
#
# reference board for test synthesis is Spartan-6 based Nexys3
-include $(RETROBASE)/rtl/make/xflow_default_nexys3.mk
+ifndef XTW_BOARD
+ XTW_BOARD=nexys3
+endif
+include $(RETROBASE)/rtl/make/xflow_default_$(XTW_BOARD).mk
#
.PHONY : all clean
#
Index: trunk/rtl/vlib/memlib
===================================================================
--- trunk/rtl/vlib/memlib (revision 24)
+++ trunk/rtl/vlib/memlib (revision 25)
trunk/rtl/vlib/memlib
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/vlib/rbus/Makefile
===================================================================
--- trunk/rtl/vlib/rbus/Makefile (revision 24)
+++ trunk/rtl/vlib/rbus/Makefile (revision 25)
@@ -1,7 +1,8 @@
-# $Id: Makefile 477 2013-01-27 14:07:10Z mueller $
+# $Id: Makefile 575 2014-07-27 20:55:41Z mueller $
#
# Revision History:
# Date Rev Version Comment
+# 2014-07-27 545 1.1.1 make reference board configurable via XTW_BOARD
# 2011-08-13 405 1.1 use includes from rtl/make
# 2007-12-09 100 1.0.1 drop ISE_p definition
# 2007-07-06 64 1.0 Initial version
@@ -10,7 +11,10 @@
NGC_all = $(VBOM_all:.vbom=.ngc)
#
# reference board for test synthesis is Spartan-6 based Nexys3
-include $(RETROBASE)/rtl/make/xflow_default_nexys3.mk
+ifndef XTW_BOARD
+ XTW_BOARD=nexys3
+endif
+include $(RETROBASE)/rtl/make/xflow_default_$(XTW_BOARD).mk
#
.PHONY : all clean
#
Index: trunk/rtl/vlib/rbus
===================================================================
--- trunk/rtl/vlib/rbus (revision 24)
+++ trunk/rtl/vlib/rbus (revision 25)
trunk/rtl/vlib/rbus
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/vlib/serport/tb/Makefile
===================================================================
--- trunk/rtl/vlib/serport/tb/Makefile (revision 24)
+++ trunk/rtl/vlib/serport/tb/Makefile (revision 25)
@@ -1,7 +1,8 @@
-# $Id: Makefile 477 2013-01-27 14:07:10Z mueller $
+# $Id: Makefile 575 2014-07-27 20:55:41Z mueller $
#
# Revision History:
# Date Rev Version Comment
+# 2014-07-27 545 1.3.1 make reference board configurable via XTW_BOARD
# 2011-08-13 405 1.3 use includes from rtl/make
# 2009-11-21 252 1.2 add ISim support
# 2007-11-26 98 1.1 use make includes
@@ -12,7 +13,10 @@
EXE_all += tb_serport_autobaud
#
# reference board for test synthesis is Spartan-6 based Nexys3
-include $(RETROBASE)/rtl/make/xflow_default_nexys3.mk
+ifndef XTW_BOARD
+ XTW_BOARD=nexys3
+endif
+include $(RETROBASE)/rtl/make/xflow_default_$(XTW_BOARD).mk
#
.PHONY : all all_ssim all_tsim clean
#
Index: trunk/rtl/vlib/serport/tb
===================================================================
--- trunk/rtl/vlib/serport/tb (revision 24)
+++ trunk/rtl/vlib/serport/tb (revision 25)
trunk/rtl/vlib/serport/tb
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/vlib/serport/Makefile
===================================================================
--- trunk/rtl/vlib/serport/Makefile (revision 24)
+++ trunk/rtl/vlib/serport/Makefile (revision 25)
@@ -1,7 +1,8 @@
-# $Id: Makefile 477 2013-01-27 14:07:10Z mueller $
+# $Id: Makefile 575 2014-07-27 20:55:41Z mueller $
#
# Revision History:
# Date Rev Version Comment
+# 2014-07-27 545 1.1.1 make reference board configurable via XTW_BOARD
# 2011-08-13 405 1.1 use includes from rtl/make
# 2007-12-09 100 1.0.1 drop ISE_p definition
# 2007-07-03 45 1.0 Initial version
@@ -10,7 +11,10 @@
NGC_all = $(VBOM_all:.vbom=.ngc)
#
# reference board for test synthesis is Spartan-6 based Nexys3
-include $(RETROBASE)/rtl/make/xflow_default_nexys3.mk
+ifndef XTW_BOARD
+ XTW_BOARD=nexys3
+endif
+include $(RETROBASE)/rtl/make/xflow_default_$(XTW_BOARD).mk
#
.PHONY : all clean
#
Index: trunk/rtl/vlib/serport
===================================================================
--- trunk/rtl/vlib/serport (revision 24)
+++ trunk/rtl/vlib/serport (revision 25)
trunk/rtl/vlib/serport
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/vlib/xlib/Makefile
===================================================================
--- trunk/rtl/vlib/xlib/Makefile (revision 24)
+++ trunk/rtl/vlib/xlib/Makefile (revision 25)
@@ -1,7 +1,8 @@
-# $Id: Makefile 477 2013-01-27 14:07:10Z mueller $
+# $Id: Makefile 575 2014-07-27 20:55:41Z mueller $
#
# Revision History:
# Date Rev Version omment
+# 2014-07-27 545 1.1.1 make reference board configurable via XTW_BOARD
# 2011-08-13 405 1.1 use includes from rtl/make
# 2007-12-08 100 1.0 Initial version
#
@@ -9,7 +10,10 @@
NGC_all = $(VBOM_all:.vbom=.ngc)
#
# reference board for test synthesis is Spartan-6 based Nexys3
-include $(RETROBASE)/rtl/make/xflow_default_nexys3.mk
+ifndef XTW_BOARD
+ XTW_BOARD=nexys3
+endif
+include $(RETROBASE)/rtl/make/xflow_default_$(XTW_BOARD).mk
#
.PHONY : all clean
#
Index: trunk/rtl/vlib/xlib
===================================================================
--- trunk/rtl/vlib/xlib (revision 24)
+++ trunk/rtl/vlib/xlib (revision 25)
trunk/rtl/vlib/xlib
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/vlib
===================================================================
--- trunk/rtl/vlib (revision 24)
+++ trunk/rtl/vlib (revision 25)
trunk/rtl/vlib
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl/make/generic_ghdl.mk
===================================================================
--- trunk/rtl/make/generic_ghdl.mk (revision 24)
+++ trunk/rtl/make/generic_ghdl.mk (revision 25)
@@ -1,7 +1,8 @@
-# $Id: generic_ghdl.mk 477 2013-01-27 14:07:10Z mueller $
+# $Id: generic_ghdl.mk 575 2014-07-27 20:55:41Z mueller $
#
# Revision History:
# Date Rev Version Comment
+# 2014-07-26 575 1.3.2 use XTWI_PATH now (ise/vivado switch done later)
# 2013-01-27 477 1.3.1 use dontincdep.mk to suppress .dep include on clean
# 2011-08-13 405 1.3 renamed, moved to rtl/make;
# 2007-11-04 95 1.2.2 fix find statement in ghdl_tmp_clean
@@ -11,8 +12,8 @@
# 2007-06-10 52 1.0 Initial version
#
GHDLIEEE = --ieee=synopsys
-GHDLUNISIM = -P$(XILINX)/ghdl/unisim
-GHDLSIMPRIM = -P$(XILINX)/ghdl/simprim
+GHDLUNISIM = -P$(XTWI_PATH)/ISE_DS/ISE/ghdl/unisim
+GHDLSIMPRIM = -P$(XTWI_PATH)/ISE_DS/ISE/ghdl/simprim
GHDL = ghdl
COMPILE.vhd = $(GHDL) -a $(GHDLIEEE)
LINK.vhd = $(GHDL) -e $(GHDLIEEE)
Index: trunk/rtl/make
===================================================================
--- trunk/rtl/make (revision 24)
+++ trunk/rtl/make (revision 25)
trunk/rtl/make
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/rtl
===================================================================
--- trunk/rtl (revision 24)
+++ trunk/rtl (revision 25)
trunk/rtl
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/doc/FILES.txt
===================================================================
--- trunk/doc/FILES.txt (nonexistent)
+++ trunk/doc/FILES.txt (revision 25)
@@ -0,0 +1,63 @@
+$Id: FILES.txt 577 2014-08-03 20:49:42Z mueller $
+
+Short description of the directory layout, what is where ?
+
+ doc Documentation
+ doc/man man pages for retro11 commands
+ rtl VHDL sources
+ rtl/bplib - board and component support libs
+ rtl/bplib/atlys - for Digilent Atlys board
+ rtl/bplib/fx2lib - for Cypress FX2 USB interface controller
+ rtl/bplib/issi - for ISSI parts
+ rtl/bplib/micron - for Micron parts
+ rtl/bplib/nexys2 - for Digilent Nexsy2 board
+ rtl/bplib/nexys3 - for Digilent Nexsy3 board
+ rtl/bplib/nxcramlib - for CRAM part used in Nexys2/3
+ rtl/bplib/s3board - for Digilent S3BOARD
+ rtl/ibus - ibus devices (UNIBUS peripherals)
+ rtl/sys_gen - top level designs
+ rtl/sys_gen/tst_fx2loop - top level designs for Cypress FX2 tester
+ nexys2,nexys3 - systems for Nexsy2,Nexsy3
+ rtl/sys_gen/tst_rlink - top level designs for an rlink tester
+ nexys2,nexys3,s3board - systems for Nexsy2,Nexsy3,S3BOARD
+ rtl/sys_gen/tst_rlink_cuff - top level designs for rlink over FX2 tester
+ nexys2,nexys3,atlys - systems for Atlys,Nexsy2,Nexsy3
+ rtl/sys_gen/tst_serloop - top level designs for serport loop tester
+ nexys2,nexys3,s3board - systems for Nexsy2,Nexsy3,S3BOARD
+ rtl/sys_gen/tst_snhumanio - top level designs for human I/O tester
+ atlys,nexys2,nexys3,s3board - systems for Atlys,Nexsy2,Nexsy3,S3BOARD
+ rtl/sys_gen/w11a - top level designs for w11a SoC
+ nexys2,nexys3,s3board - w11a systems for Nexsy2,Nexsy3,S3BOARD
+ rtl/vlib - VHDL component libs
+ rtl/vlib/comlib - communication
+ rtl/vlib/genlib - general
+ rtl/vlib/memlib - memory
+ rtl/vlib/rbus - rri: rbus
+ rtl/vlib/rlink - rri: rlink
+ rtl/vlib/serport - serial port (UART)
+ rtl/vlib/simlib - simulation helper lib
+ rtl/vlib/xlib - Xilinx specific components
+ rtl/w11a - w11a core
+ tools helper programs
+ tools/asm-11 - pdp-11 assembler code
+ tools/asm-11/tests - test bench for asm-11
+ tools/asm-11/tests-err - test bench for asm-11 (error check part)
+ tools/bin - scripts and binaries
+ tools/dox - Doxygen documentation configuration
+ tools/make - make includes
+ tools/fx2 - Firmware for Cypress FX2 USB Interface
+ tools/fx2/bin - pre-build firmware images in .ihx format
+ tools/fx2/src - C and asm sources
+ tools/fx2/sys - udev rules for USB on fpga eval boards
+ tools/oskit - setup files for Operation System kits
+ tools/oskit/... - several PDP-11 system kits available
+ tools/src - C++ sources for rlink backend software
+ tools/src/librlink - basic rlink interface
+ tools/src/librlinktpp - C++ to tcl binding for rlink interface
+ tools/src/librtcltools - support classes to implement Tcl bindings
+ tools/src/librtools - general support classes and methods
+ tools/src/librutiltpp - Tcl support commands implemented in C++
+ tools/src/librw11 - w11 over rlink interface
+ tools/src/librwxxtpp - C++ to tcl binding for w11 over rlink iface
+ tools/tbench - w11 CPU test bench
+ tools/tcl - Tcl scripts
Index: trunk/doc/INSTALL.txt
===================================================================
--- trunk/doc/INSTALL.txt (revision 24)
+++ trunk/doc/INSTALL.txt (revision 25)
@@ -1,4 +1,4 @@
-# $Id: INSTALL.txt 559 2014-06-06 21:26:47Z mueller $
+# $Id: INSTALL.txt 576 2014-08-02 12:24:28Z mueller $
Guide to install and build w11a systems, test benches and support software
@@ -15,13 +15,16 @@
b. Setup Tcl packages
c. Rebuild Cypress FX2 firmware
6. The build system
+ 6 a. Setting up Xilinx environment with xtwi
7. Building test benches
a. General instructions
b. Available test benches
8. Building systems
a. General instructions
- b. Configuring FPGAs
- c. Available systems
+ b. Configuring FPGAs (via make flow)
+ c. Configuring FPGAs (directly via config_wrapper)
+ d. Available systems
+ e. Available bitkits with bit and log files
9. Generate Doxygen based source code view
1. Download ---------------------------------------------------------------
@@ -178,11 +181,11 @@
Two helper scripts will create these libraries:
-
+
cd $RETROBASE
- xilinx_ghdl_unisim
- xilinx_ghdl_simprim
+ xtwi xilinx_ghdl_unisim
+ xtwi xilinx_ghdl_simprim
If you have several WebPack versions installed, repeat for each version.
@@ -204,6 +207,13 @@
cd $RETROBASE/tools/src
make -j 4
+ Default is to compile with -O2 and without -g. These options can be
+ overwritten with the CXXOPTFLAGS enviromnent variable (or make opion).
+ To build with -O3 optimize use
+ make -j 4 CXXOPTFLAGS=-O3
+ To build a debug version with full symbol table use
+ make -j 4 CXXOPTFLAGS=-g
+
To cleanup, e.g. before a re-build
cd $RETROBASE/tools/src
@@ -259,18 +269,19 @@
files, often in proper compilation order (libraries before components).
The different tools have different formats of these 'project files'.
- The build system employed in this project is based on
- "VHDL bill of material" or 'vbom' files
- which list for each vhdl source file the libraries and sources for
- the instantiated components, the later via their vbom, and last but
- not least the name of the vhdl source file. All file name are relative
- to the current directory. A recursive traversal through all vbom's gives
- for each vhld module all sources needed to compile it. The vbomconv script
- in tools/bin does this, and generates depending on options
- - make dependency files
- - ISE xst project files
- - ISE ISim project files
- - ghdl commands for analysis, inspection and make step
+ The build system employed in this project is based on manifest files called
+ 'vbom' or "VHDL bill of material" files
+ which list for each vhdl source file the libraries and sources for the
+ instantiated components, the later via their vbom, and last but not least
+ the name of the vhdl source file.
+ All file name are relative to the current directory. A recursive traversal
+ through all vbom's gives for each vhld module all sources needed to compile
+ it. The vbomconv script in tools/bin does this, and generates depending on
+ options
+ - make dependency files
+ - ISE xst project files
+ - ISE ISim project files
+ - ghdl commands for analysis, inspection and make step
The master make files contain pattern rules like
%.ngc : %.vbom -- synthesize with xst
@@ -277,10 +288,24 @@
% : %.vbom -- build functional model test bench
which encapsulate all the vbomconf magic
- A full w11a is build from more than 80 source files, test benches from
+ A full w11a is build from about 100 source files, test benches from
even more. Using the vbom's a large number of designs can be easily
maintained.
+6a. Setting up Xilinx environment with xtwi --------------------------
+
+ The Xilinx ISE setup script redefines PATH and LD_LIBRARY_PATH. The ISE
+ tools run fine in this environment, but other installed programs on the
+ system can (and actually do) fail.
+
+ The build system uses a small wrapper script called xtwi to encapsulate
+ the Xilinx environment. It expects that the environment variable XTWI_PATH
+ is setup to the install path of the ISE version to be used. Without the
+ /ISE_DS/ which is added by the ISE installation procedure !
+
+ Note: don't run the ISE setup scripts ..../settings(32|64).sh in your
+ working shell. Setup only XTWI_PATH !
+
7. Building test benches --------------------------------------------------
7a. General instructions ---------------------------------------------
@@ -311,6 +336,8 @@
8a. General instructions ---------------------------------------------
+ First ensure that XTWI_PATH is setup, see section 6a.
+
To generate a bit file for a system named all is needed is
make .bit
@@ -334,6 +361,11 @@
make .jconfig
+ If a svf file is required for configuring the FPGA a svf can be created
+ from a bit file with
+
+ make .svf
+
If only the xst or par output is wanted just use
make .ngc
@@ -349,7 +381,7 @@
after a re-build.
-8b. Configuring FPGAs ------------------------------------------------
+8b. Configuring FPGAs (via make flow) --------------------------------
The make flow supports also loading the bitstream into FPGAs, either
via Xilinx Impact, or via the Cypress FX2 USB controller is available.
@@ -369,20 +401,23 @@
.bit file, and configure the FPGA. In case the bit file is out-of-date
the whole design will be re-implemented before.
-8c. Available systems ------------------------------------------------
+8c. Configuring FPGAs (directly via config_wrapper) ------------------
+ The make flow described above uses two scripts
+ config_wrapper # must be used with xtwi !
+ fx2load_wrapper
+ which can be used directly for loading available bit or svf files into
+ the FPGA. For detailed documentation see the respective man pages.
+
+ Examples for the supported boards are given in section 8e.
+
+8d. Available systems ------------------------------------------------
+
Currently ready to build versions exist for
- Digilent S3BOARD (-1000 FPGA version)
- Digilent Nexys2 board (-1200 FPGA version)
- Digilent Nexys3 board
- Tarballs with ready to use bit file and and all logfiles from the tool
- chain can be downloaded from
- http://www.retro11.de/data/oc_w11/bitkits/
- This area is organized in folders for different releases. The tarball
- file names contain information about release, Xlinix tool, and design:
- __.tgz
-
To build the designs locally use
1. rlink tester
@@ -428,6 +463,39 @@
cd $RETROBASE/rtl/sys_gen/w11a/nexys3
make sys_w11a_n3.bit
+8e. Available bitkits with bit and log files -------------------------
+
+ Tarballs with ready to use bit files and all logfiles from the tool
+ chain can be downloaded from
+ http://www.retro11.de/data/oc_w11/bitkits/
+ This area is organized in folders for different releases. The tarball
+ file names contain information about release, Xlinix tool, and design:
+ __.tgz
+
+ These designs can be loaded with config_wrapper into the FPGA. The
+ procedures for the supported boards are given below.
+
+ Notes:
+ 1. XTWI_PATH and RETROBASE environment variables must be defined.
+ 2. config_wrapper bit2svf is only needed once to create the svf files.
+ 3. fx2load_wrapper is needed once after each board power on.
+
+ a. for Digilent S3BOARD (using ISE Impact)
+
+ xtwi config_wrapper --board=s3board iconfig .bit
+
+ b. for Digilent Nexys2 board (using Cypress FX2 USB controller)
+
+ xtwi config_wrapper --board=nexys2 bit2svf .bit
+ fx2load_wrapper --board=nexys2 --file=nexys2_jtag_2fifo_ic.ihx
+ xtwi config_wrapper --board=nexys2 jconfig .svf
+
+ c. for Digilent Nexys3 board (using Cypress FX2 USB controller)
+
+ xtwi config_wrapper --board=nexys3 bit2svf .bit
+ fx2load_wrapper --board=nexys3 --file=nexys3_jtag_2fifo_ic.ihx
+ xtwi config_wrapper --board=nexys3 jconfig .svf
+
9. Generate Doxygen based source code view --------------------------------
Currently there is not much real documentation included in the source
/trunk/doc/w11a_os_guide.txt
1,4 → 1,4
# $Id: w11a_os_guide.txt 547 2013-12-29 13:10:07Z mueller $ |
# $Id: w11a_os_guide.txt 563 2014-06-22 15:49:09Z mueller $ |
|
Guide to run operating system images on w11a systems |
|
162,12 → 162,14
Legal and license issues: |
|
Unfortunately there is no general hobbyist license for DEC operating |
systems for PDP-11 computers. The 'Mentec license' commonly understood |
systems for PDP-11 computers. The 'Mentec license' is commonly understood |
to cover the some older versions of DEC operating systems, for example |
- RT-11 V5.3 or prior |
- RSX-11M V4.3 or prior |
- RSX-11M PLUS V3.0 or prior |
on software simulators, most notably on the 'simh' suite. |
on a simulator. It is commonly assumed that the license terms cover the |
usage of the PDP11 simulator from the 'simh' suite. Usage of the e11 |
simulator is not covered according to the author of e11. |
|
HOWEVER: THIS LICENSE DOES NOT COVER THE USAGE OF THESE HISTORIC DEC |
OPERATING SYSTEMS ON ANY 'REAL HARDWARE' IMPLEMENTATION OF A |
/trunk/doc/w11a_tb_guide.txt
1,4 → 1,4
# $Id: w11a_tb_guide.txt 547 2013-12-29 13:10:07Z mueller $ |
# $Id: w11a_tb_guide.txt 578 2014-08-05 21:28:19Z mueller $ |
|
Guide to running w11a test benches |
|
68,7 → 68,6
-> 1269955.0 ns 63488: DONE |
-> real 0m01.178s user 0m01.172s sys 0m00.020s |
|
|
- serport receiver/transmitter test |
make tb_serport_uart_rxtx |
time tbw tb_serport_uart_rxtx |\ |
101,7 → 100,6
-> 24695.0 ns 1225: DONE |
-> real 0m0.133s user 0m0.104s sys 0m0.008s |
|
|
time tbw tb_rlink_sp1c tb_rlink_stim.dat |\ |
tee tb_rlink_sp1c_dsim.log | egrep "(FAIL|DONE)" |
-> 551935.0 ns 27587: DONE |
113,15 → 111,15
make tb_pdp11core |
time tbw tb_pdp11core |\ |
tee tb_pdp11core_dsim.log | egrep "(FAIL|DONE)" |
-> 1220255.0 ns 61003: DONE |
-> 1220255.0 ns 61073: DONE |
-> real 0m10.736s user 0m10.713s sys 0m00.060s |
|
- w11a core test (using post-synthesis model) |
|
make ghdl_tmp_clean tb_pdp11core_ssim |
make ghdl_tmp_clean && make tb_pdp11core_ssim |
time tbw tb_pdp11core_ssim |\ |
tee tb_pdp11core_ssim.log | egrep "(FAIL|DONE)" |
-> 1220255.0 ns 61003: DONE |
-> 1220255.0 ns 61073: DONE |
-> real 1m09.738s user 1m09.588s sys 0m00.096s |
|
- s3board sram controller test |
133,7 → 131,6
-> 5015.0 ns 241: DONE |
-> real 0m00.113s user 0m00.068s sys 0m00.016s |
|
|
- nexys2/nexys3 cram controller test |
|
cd $RETROBASE/rtl/bplib/nxcramlib/tb |
143,7 → 140,6
-> 24272.5 ns 1204: DONE |
-> real 0m00.343s user 0m00.248s sys 0m00.100s |
|
|
3. System tests benches --------------------------------------------------- |
|
The system tests allow to verify to verify a full system design. |
252,8 → 248,8
"rw11::setup_cpu" \ |
"rw11::run_pdpcp ../../../../w11a/tb/tb_pdp11core_stim.dat" |\ |
tee tb_w11a_s3_stim2_dsim.log | egrep "(-[EFW]:|FAIL|PEND|DONE)" |
-> 10225140.0 ns 511247: DONE |
-> real 0m52.105s user 0m51.871s sys 0m0.376s |
-> 7328980.0 ns 366439: DONE |
-> real 0m45.225s user 0m43.631s sys 0m0.400s |
|
- sys_w11a_n2 test bench |
|
263,8 → 259,8
"rw11::setup_cpu" \ |
"rw11::run_pdpcp ../../../../w11a/tb/tb_pdp11core_stim.dat" |\ |
tee tb_w11a_n2_stim2_dsim.log | egrep "(-[EFW]:|FAIL|PEND|DONE)" |
-> 10278380.0 ns 513908: DONE |
-> real 1m2.951s user 1m2.628s sys 0m0.532s |
-> 7372840.0 ns 368631: DONE |
-> real 0m55.536s user 0m52.967s sys 0m0.520s |
|
- sys_w11a_n3 test bench |
|
274,8 → 270,8
"rw11::setup_cpu" \ |
"rw11::run_pdpcp ../../../../w11a/tb/tb_pdp11core_stim.dat" |\ |
tee tb_w11a_n3_stim2_dsim.log | egrep "(-[EFW]:|FAIL|PEND|DONE)" |
-> 5167410.0 ns 516720: DONE |
-> real 1m5.322s user 1m5.072s sys 0m0.500s |
-> 5121571.1 ns 368738: DONE |
-> real 0m54.908s user 0m51.831s sys 0m0.512s |
|
A new, modular w11a test bench is under construction. So far it is very |
incomplete. This very preliminary version can be executed with |
287,6 → 283,6
time ti_rri --pack=rw11 --run="tbw tb_w11a_n2" --fifo --logl=3 -- \ |
"rw11::setup_cpu" "rw11::tbench @w11a_all.dat" | \ |
tee w11a_tbench_dsim.log | egrep "(-[EFW]:|FAIL|PASS|DONE)" |
-> 904180.0 ns 45198: DONE |
-> real 0m5.539s user 0m5.748s sys 0m0.204s |
-> 5019660.0 ns 250972: DONE |
-> real 0m32.501s user 0m31.082s sys 0m0.500s |
|
/trunk/doc/ECO-026-div.txt
0,0 → 1,108
$Id: ECO-026-div.txt 579 2014-08-08 20:39:46Z mueller $ |
|
Scope: |
Introduced in release w11a_V0.61 |
Affects: all w11a systems |
|
Symptom summary: |
The div instruction gave wrong results in some corner cases when either |
divisor or quotient were the largest negative integer (100000 or -32768): |
1. wrong q and r when dd=n*(-32768), dr=-32768 with n even |
2. V=1 set when division solvable and proper result is q=-32768 |
|
Background: |
The PDP-11/70 (KB11-C) and the w11a use very different division algorithms. |
Both use a non-restoring divide. |
- The KB11-C uses a straight forward 2 quadrant core algorithm for positive |
dividends and positive or negative divisors. Negative dividends are first |
converted to positive, the results later corrected. This leads to quite |
complex implementation with 35 micro states. |
- The w11a uses a 4 quadrant algorithm which directly allows positive and |
negative dividends and divisors. The qbit logic is much more complex in |
this case. Advantage is that the whole divide algorithm can be implemented |
with only 6 states in the main sequencer. |
|
In twos complement integer arithmetic, as used in the pdp11 and almost all |
contemporary computers, the range of positive and negative numbers is |
different, for 16 bit for example |
oct 100000 to 077777 |
dec -32768 to +32767 |
so the smallest negative number has no positive counterpart. Trying to negate |
the smallest negative number leads to the same number |
mov #100000, r0 |
neg r0 --> r0 = 100000; V=1 |
|
These special properties of the largest negative number easily lead to corner |
cases which require special treatment, both the KB11-C and the w11a divide |
algorithms need special rules and checks for this. |
|
Summary of issues: |
1. when dividend was dd=n*(-32768) with an even n and the divisor was |
dr=-32768 the old w11a algorithm returned wrong quotient and remainder |
values and V=0 status. |
2. for all divisions which result in a quotient of -32768 the old w11a |
algorithm set the overflow (V=1) condition. Since in this case the |
destination registers were not updated and still contained the |
dividend, software not checking the V code saw wrong quotient and |
remainder values. |
|
Fixes: |
- Issue 1: wrong q and r for dd=n*(-32768), dr=-32768 with n even. |
- the corner case is detected in state s_opg_div by testing that divisor |
is 0100000 and low order part of dividend is zero. When detected, the |
qbit logic is modified and quotient and remainder corrections are done |
unconditionally. |
|
- Issue 2: V=1 set when division solvable and proper result is q=-32768. |
The divide core algorithm calculates the correct q and r, only the |
overflow testing was incorrect. |
The old algorithm had two overflow abort conditions |
- a check that bit 31 and 30 of the dividend are equal |
- a check after the first division cycle |
The new algorithm now has three overflow abort conditions |
- the bit 31/30 check on the dividend was too restrictive. Valid divisions |
with dd=(-32768)*(-32768)+n and dr=-32768 giving q=-32768 and r=n would |
be rejected. The 31/30 check is now only applied when the divisor is not |
equal 0100000 |
- the division abort condition in the first division cycle was completely |
revised, this avoids that solvable divisions are aborted at this stage |
- the first two conditions don't catch all overflow situations. The |
remaining ones all have after the quotient correction stage q>0 when |
a negative quotient is expected. A third overflow check was added to |
s_opg_div_sr to handle these cases. |
|
Side effects: |
- the old implementation guaranteed that the destination registers were |
unchanged in case of overflow. The new does not, the overflow check in |
s_opg_div_sr is done after the quotient is stored, and storing remainder |
is not suppressed in case of overflow. So both q and r regs are changed. |
- with additional states it could be guaranteed that destination registers |
are never updated in case of overflow. See proviso below. |
- the pdp-11/70 KB11-C in most cases keeps destination registers unchanged |
in case of overflow, but also has a late check after one register has |
been modified. |
- the J11 never updates registers in case of overflow. A case like |
0,177777 / 177777 were w11a now updates regs is known from J11 |
diagnostics to not update in J11. |
- simh always preserves the destination registers in case of overflow. |
|
!! the pdp11 processor handbook considers the destination registers as !! |
!! undefined in case of division overflow, so the w11a behavior is OK. !! |
|
Provisos: |
- the behavior after V=1 aborts of a div instruction is now different in |
- w11a --> regs updated under some rare conditions |
- KB11-C --> regs updated under some rare conditions |
but in cases different from w11a |
- 11/44 --> regs updated under some conditions (see v7_longdivide_bug.txt) |
- J11 --> regs never updated |
- simh --> regs never updated |
--> that can lead to spurious failures in original DEC diagnostics when |
they test the complete response |
--> even though the current w11a behavious is full within specs it is unclear |
whether all software tolerates this, especially non-DEC OS. Unix V7 is |
known to have an issue with ldiv and CPUs not preserving regs, see |
http://minnie.tuhs.org/PUPS/v7_longdivide_bug.txt |
--> Only further studes can show whether it is worth the effort and the |
slow down of 1-2 cycles to guarantee preserved registers. |
|
/trunk/doc/README-w11a_V.50-w11a_V0.60.txt
0,0 → 1,608
$Id: README-w11a_V.50-w11a_V0.60.txt 578 2014-08-05 21:28:19Z mueller $ |
|
Release notes for w11a |
|
Table of content: |
|
1. Documentation |
2. Files |
3. Change Log |
|
1. Documentation ------------------------------------------------------------- |
|
More detailed information on installation, build and test can be found |
in the doc directory, specifically |
|
* README.txt: release notes |
* INSTALL.txt: installation and building test benches and systems |
* w11a_tb_guide.txt: running test benches |
* w11a_os_guide.txt: booting operating systems |
* w11a_known_issues.txt: known differences, limitations and issues |
|
2. Files --------------------------------------------------------------------- |
|
doc Documentation |
doc/man man pages for retro11 commands |
rtl VHDL sources |
rtl/bplib - board and component support libs |
rtl/bplib/atlys - for Digilent Atlys board |
rtl/bplib/fx2lib - for Cypress FX2 USB interface controller |
rtl/bplib/issi - for ISSI parts |
rtl/bplib/micron - for Micron parts |
rtl/bplib/nexys2 - for Digilent Nexsy2 board |
rtl/bplib/nexys3 - for Digilent Nexsy3 board |
rtl/bplib/nxcramlib - for CRAM part used in Nexys2/3 |
rtl/bplib/s3board - for Digilent S3BOARD |
rtl/ibus - ibus devices (UNIBUS peripherals) |
rtl/sys_gen - top level designs |
rtl/sys_gen/tst_fx2loop - top level designs for Cypress FX2 tester |
nexys2,nexys3 - systems for Nexsy2,Nexsy3 |
rtl/sys_gen/tst_rlink - top level designs for an rlink tester |
nexys2,nexys3,s3board - systems for Nexsy2,Nexsy3,S3BOARD |
rtl/sys_gen/tst_rlink_cuff - top level designs for rlink over FX2 tester |
nexys2,nexys3,atlys - systems for Atlys,Nexsy2,Nexsy3 |
rtl/sys_gen/tst_serloop - top level designs for serport loop tester |
nexys2,nexys3,s3board - systems for Nexsy2,Nexsy3,S3BOARD |
rtl/sys_gen/tst_snhumanio - top level designs for human I/O tester |
atlys,nexys2,nexys3,s3board - systems for Atlys,Nexsy2,Nexsy3,S3BOARD |
rtl/sys_gen/w11a - top level designs for w11a SoC |
nexys2,nexys3,s3board - w11a systems for Nexsy2,Nexsy3,S3BOARD |
rtl/vlib - VHDL component libs |
rtl/vlib/comlib - communication |
rtl/vlib/genlib - general |
rtl/vlib/memlib - memory |
rtl/vlib/rbus - rri: rbus |
rtl/vlib/rlink - rri: rlink |
rtl/vlib/serport - serial port (UART) |
rtl/vlib/simlib - simulation helper lib |
rtl/vlib/xlib - Xilinx specific components |
rtl/w11a - w11a core |
tools helper programs |
tools/asm-11 - pdp-11 assembler code |
tools/asm-11/tests - test bench for asm-11 |
tools/asm-11/tests-err - test bench for asm-11 (error check part) |
tools/bin - scripts and binaries |
tools/dox - Doxygen documentation configuration |
tools/make - make includes |
tools/fx2 - Firmware for Cypress FX2 USB Interface |
tools/fx2/bin - pre-build firmware images in .ihx format |
tools/fx2/src - C and asm sources |
tools/fx2/sys - udev rules for USB on fpga eval boards |
tools/oskit - setup files for Operation System kits |
tools/oskit/... - several PDP-11 system kits available |
tools/src - C++ sources for rlink backend software |
tools/src/librlink - basic rlink interface |
tools/src/librlinktpp - C++ to tcl binding for rlink interface |
tools/src/librtcltools - support classes to implement Tcl bindings |
tools/src/librtools - general support classes and methods |
tools/src/librutiltpp - Tcl support commands implemented in C++ |
tools/src/librw11 - w11 over rlink interface |
tools/src/librwxxtpp - C++ to tcl binding for w11 over rlink iface |
tools/tbench - w11 CPU test bench |
tools/tcl - Tcl scripts |
|
3. Change Log ---------------------------------------------------------------- |
|
- w11a_V0.50 -> w11a_V0.60 cummulative summary of key changes |
- revised ibus protocol V2 (in w11a_V0.51) |
- revised rbus protocol V3 (in w11a_V0.52) |
- backend server rewritten in C++ and Tcl (in w11a_V0.53 and w11a_V0.562) |
- add Nexys3 port of w11a (in w11a_V0.54) |
- add Cypress FX2 support (in w11a_V0.56 and w11a_V0.57) |
- added LP11,PC11 support (in w11a_V0.58) |
- reference system now ISE 14.7 and Ubuntu 12.04 64 bit, ghdl 0.31 |
- many code cleanups; use numeric_std |
- many documentation improvements |
- development status upgraded to beta (from alpha) |
|
- trunk (2014-06-06: svn rev 25(oc) 559+(wfjm); tagged w11a_V0.60) +++++++++ |
|
- Summary |
- many documentation updates; no functional changes |
|
- New features |
- Tarballs with ready to use bit files and and all logfiles from the tool |
chain can be downloaded from |
http://www.retro11.de/data/oc_w11/bitkits/ |
This area is organized in folders for different releases. The tarball |
file names contain information about release, Xlinix tool, and design. |
|
- Changes |
- documentation updates |
- URL of oskits changed, they are now unter |
http://www.retro11.de/data/oc_w11/oskits |
|
- trunk (2014-05-29: svn rev 22(oc) 556(wfjm); untagged w11a_V0.581) ++++++++ |
|
- Summary |
- new reference system |
- switched from ISE 13.3 to 14.7. |
- map/par behaviour changed, unfortunately unfavorably for w11a. |
On Nexys3 no timing closure anymore for 80 MHz, only 72 MHz can |
be achieved now. |
- new man pages (in doc/man/man1/) |
- support for Spartan-6 CMTs in PLL and DCM mode |
|
- New features |
- new modules |
- rtl/vlib/xlib |
- s6_cmt_sfs_unisim - Spartan-6 CMT for simple frequency synthesis |
- s6_cmt_sfs_gsim - dito, simple ghdl simulation model |
- tools/src/librutiltpp |
- RtclSignalAction - Tcl signal handler |
- RtclSystem - Tcl Unix system interface |
- new files |
- tools/bin/create_disk - creates a disk container file |
- tools/bin/xtwi - Xilinx Tool Wrapper script for ISE |
- tools/tcl/rw11/defs.tcl - w11a definitions |
|
- Changes |
- rtl/make |
- imp_*.opt - use -fastpaths, -u, -tsi for trce |
- imp_s6_speed.opt - adopt for ISE 14.x |
- generic_xflow.mk - use xtwi; trce tsi file; use -C for cpp |
- generic_isim.mk - use xtwi |
- generic_xflow_cpld.mk - use xtwi |
- rtl/sys_gen/*/nexys3 |
- .../sys_*.vhd - pll support, use clksys_vcodivide ect |
- rtl/sys_gen/w11a/nexys3 |
- sys_conf.vhd - use 72 MHz, no closure in ISE 14.x for 80 |
- rtl/bplib/nexys(2|3) |
- nexys(2|3)_time_fx2_ic.ucf - add VALID for hold time check |
- tools/src/librwxxtpp |
- RtclRw11Cpu - cp command options modified |
- tools/bin |
- vbomconv - add --viv_vhdl (for Vivado) |
- tools/tcl/rw11 |
- util.tcl - move definitions to defs.tcl |
|
- Bug fixes |
- tools/src/librtools/RlogFile - fix date print (month was off by one) |
- tools/tcl/rw11/asm.tcl - asmwait checks now pc if stop: defined |
|
- Other updates |
- INSTALL_ghdl.txt - text reflects current situation on ghdl packages |
|
- trunk (2013-05-12: svn rev 21(oc) 518+(wfjm); untagged w11a_V0.58) ++++++++ |
|
- Summary |
- C++ and Tcl based backend server now fully functional, supports with |
DL11, RK11, LP11 and PC11 all devices available in w11a designs |
- the old perl based backend server (pi_rri) is obsolete and removed |
- operating system kits reorganized |
|
- New features |
- new directory trees for |
- tools/oskit - operating system kits |
- new modules |
- tools/src/librw11 |
- Rw11*LP11 - classes for LP11 printer handling |
- Rw11*PC11 - classes for PC11 paper tape handling |
- Rw11*Stream* - classes for Virtual stream handling |
- tools/src/librwxxtpp |
- RtclRw11*LP11 - tcl iface for LP11 printer handling |
- RtclRw11*PC11 - tcl iface for PC11 paper tape handling |
- RtclRw11*Stream* - tcl iface for Virtual Stream handling |
|
- Changes |
- renames |
- the w11 backend quick starter now named ti_w11 and under tools/bin |
(was rtl/sys_gen/w11a/tb/torri) |
- all operating system image related material now under |
tools/oskit (was under rtl/sys_gen/w11a/tb) |
|
- Bug fixes |
- rtl/ibus/ibdr_lp11 - err flag logic fixed, was cleared in ibus racc read |
- rtl/ibus/ibdr_pc11 - rbuf logic fixed. Was broken since ibus V2 update |
in V0.51! Went untested because pc11 rarely used. |
|
- trunk (2013-04-27: svn rev 20(oc) 511(wfjm); untagged w11a_V0.57) +++++++++ |
|
- Summary |
- new C++ and Tcl based backend server supports now RK11 handling |
- w11a systems operate with rlink over USB on nexsy2 and nexsy3 boards. |
See w11a_os_guide.txt for details |
|
- New features |
- new modules |
- rtl/bplib/fx2rlink - new vhdl lib with rlink over fx2 modules |
- ioleds_sp1c_fx2 - io activity leds for rlink_sp1c_fx2 |
- rlink_sp1c_fx2 - rlink over serport + fx2 combo |
- tools/src/librw11 |
- Rw11*RK11 - classes for RK11 disk handling |
- Rw11*Disk* - classes for Virtual disk handling |
- tools/src/librwxxtpp |
- RtclRw11*RK11 - tcl iface for RK11 disk handling |
- RtclRw11*Disk* - tcl iface for Virtual disk handling |
- new files |
- rtl/sys_gen/w11a/tb/torri - quick starter for new backend |
|
- Changes |
- tcl module renames: |
tools/tcl/rw11a -> tools/tcl/rw11 |
|
- Bug fixes |
- tools/src/ReventLoop: poll list update logic in DoPoll() corrected |
|
- trunk (2013-04-13: svn rev 19(oc) 505(wfjm); untagged w11a_V0.562) +++++++++ |
|
- Summary |
- V0.53 introduced a new C++ and Tcl based backend server, but only the |
very basic rlink handling layer. This step release add now many support |
classes for interfacing to w11 system designs, and the associated Tcl |
bindings. |
- add 'asm-11', a simple, Macro-11 syntax subset combatible, assembler. |
Can be used stand-alone to generate 'absolute loader' format files, |
but also integrates tightly into the Tcl environment and is used as |
building block in the creation of CPU test benches. |
- use now doxygen 1.8.3.1, generate c++,tcl, and vhdl source docs |
See section 9. in INSTALL.txt for details. |
|
- New features |
- new directory trees for |
- tools/asm-11 - asm-11 code |
- tools/asm-11/tests - test bench for asm-11 |
- tools/asm-11/tests-err - test bench for asm-11 (error check part) |
- tools/src/librw11 - w11 over rlink interface |
- tools/src/librwxxtpp - C++ to tcl binding for w11 over rlink iface |
- tools/tbench - w11 CPU test bench |
- new modules |
- tools/bin |
- asm-11 - simple, Macro-11 syntax subset compatible, assembler |
- asm-11_expect - expect checker for asm-11 test bench |
- tools/dox |
- *.Doxyfile - new descriptors c++,tcl,vhdl docs |
- make_dox - driver script to generate c++,tcl,vhdl doxygen docs |
|
- Changes |
- vhdl module renames: |
vlib/serport -> vlib/serportlib |
- vhdl module splits: |
bplib/bpgen/bpgenlib -> bpgenlib + bpgenrbuslib |
- C++ class splits |
librtcltools/RtclProxyBase -> RtclCmdBase + RtclProxyBase |
|
- trunk (2013-01-06: svn rev 18(oc) 472(wfjm); untagged w11a_V0.561) +++++++++ |
|
- Summary |
- Added simple simulation model of Cypress FX2 and test benches for |
functional verifcation of FX2 controller |
- Bugfixes in FX2 firmware and controller, works now also on Nexys3 & Atlys |
- Added test systems for rlink over USB verification for Nexys3 & Atlys |
|
- New features |
- new test benches |
- rtl/sys_gen/tst_rlink_cuff/nexys2/ic/tb/tb_tst_rlink_cuff_ic_n2 |
- new systems |
- rtl/sys_gen/tst_rlink_cuff/nexys2/ic/sys_tst_rlink_cuff_ic_n3 |
- rtl/sys_gen/tst_rlink_cuff/nexys2/ic/sys_tst_rlink_cuff_ic_atlys |
|
- Bug fixes |
- tools/fx2/src: FX2 firmware now properly re-initializes hardware registers |
and will work on Nexys3 and Atlys boards with default Digilent EPROM |
- rtl/bplib/fx2lib: read pipeline logic in FX2 controller corrected |
|
- trunk (2013-01-02: svn rev 17(oc) 467(wfjm); untagged w11a_V0.56) ++++++++++ |
|
- Summary |
- re-organized handling of board and derived clocks in test benches |
- added message filter definitions for some designs (.mfset files) |
- added Cypress EZ-USB FX2 controller (USB interface) |
- added firmware for EZ-USB FX2 supporting jtag access and data transfer |
- FPGA configure over USB now supported directly in make build flow |
- added test systems for USB testing and rlink over USB verification |
- no functional change of w11a CPU core or any pre-existing test systems |
- Note: Carefully read the disclaimer about usage of USB VID/PID numbers |
in the file README_USB-VID-PID.txt. You'll be responsible for any |
misuse of the defaults provided with the project sources !! |
|
- New reference system |
The development and test system was upgraded from Kubuntu 10.04 to 12.04. |
The version of several key tools and libraries changed: |
linux kernel 3.2.0 (was 2.6.32) |
gcc/g++ 4.6.3 (was 4.4.3) |
boost 1.46.1 (was 1.40) |
libusb 1.0.9 (was 1.0.6) |
perl 5.14.2 (was 5.10.1) |
tcl 8.5.11 (was 8.4.19) |
xilinx ise 13.3 (was 13.1) |
--> see INSTALL.txt, INSTALL_ghdl.txt and INSTALL_urjtag.txt |
|
- New features |
- added firmware for Cypress FX2 controller |
- tools/fx2 |
- bin - pre-build firmware images in .ihx file format |
- src - C and asm sources |
- sys - udev rules for usb interfaces on fpga eval boards |
- new modules |
- rtl/bplib/fx2lib |
- fx2_2fifoctl_ic - Cypress EZ-USB FX2 controller (2 fifo; int clk) |
- fx2_3fifoctl_ic - Cypress EZ-USB FX2 controller (3 fifo; int clk) |
- new systems |
- rtl/sys_gen/tst_fx2loop/nexys2/ic/sys_tst_fx2loop_ic_n2 |
- rtl/sys_gen/tst_fx2loop/nexys2/ic3/sys_tst_fx2loop_ic3_n2 |
- rtl/sys_gen/tst_rlink_cuff/nexys2/ic/sys_tst_rlink_cuff_ic_n2 |
- tools/bin |
- xilinx_sdf_ghdl_filter: tool to patch ISE sdf files for usage with ghdl |
|
- Changes |
- documentation |
- added a 'system requirements' section in INSTALL.txt |
- added INSTALL_ghdl.txt and INSTALL_urjtag.txt covering ghdl and urjtag |
- added README_USB-VID-PID.txt |
- organizational changes |
- added TCLINC,RETRO_FX2_VID,RETRO_FX2_PID environment variables |
- functional changes |
- tools/bin |
- vbomconv - file name substitution handling redone; many vboms updated |
- retired modules |
- vlib/rlink/tb/ |
- tbcore_rlink_dcm - obsolete, use tbcore_rlink |
|
- trunk (2011-12-23: svn rev 16(oc) 442(wfjm); untagged w11a_V0.55) +++++++++ |
|
- Summary |
- added xon/xoff (software flow control) support to serport library |
- added test systems for serport verification |
- use new serport stack in sys_w11a_* and sys_tst_rlink_* systems |
|
- New features |
- new modules |
- vlib/serport |
- serport_xonrx - xon/xoff logic rx path |
- serport_xontx - xon/xoff logic tx path |
- serport_1clock - serial port module (uart, fifo, flow control) |
- vlib/rlink |
- rlink_core8 - rlink core8 with 8bit interface |
- rlink_sp1c - rlink_core8 + serport_1clock combo |
- new unit tests |
- bplib/s3board/tb/tb_s3_sram_memctl (for s3board sram controller |
- bplib/nxcramlib/tb/tb_nx_cram_memctl_as (for nexys2,3 cram controller) |
- new systems |
- sys_gen/tst_serloop/nexys2/sys_tst_serloop1_n2 |
- sys_gen/tst_serloop/nexys3/sys_tst_serloop1_n3 |
- sys_gen/tst_serloop/s3board/sys_tst_serloop1_s3 |
- sys_gen/tst_rlink/s3board/sys_tst_rlink_s3 |
|
- Changes |
- retired modules |
- vlib/rlink |
- rlink_rlb2rl - obsolete, now all in rlink_core8 |
- rlink_base - use now new rlink_core8 |
- rlink_serport - obsolete, now all in rlink_sp1c |
- rlink_base_serport - use now new rlink_sp1c |
|
- trunk (2011-12-04: svn rev 15(oc) 436(wfjm); untagged w11a_V0.54) +++++++++ |
|
- Summary |
- added support for nexys3 board for w11a |
|
- New features |
- new systems |
- sys_gen/w11a/nexys3/sys_w11a_n3 |
- sys_gen/w11a/nexys3/sys_tst_rlink_n3 |
|
- Changes |
- module renames: |
bplib/nexys2/n2_cram_dummy -> bplib/nxcramlib/nx_cram_dummy |
bplib/nexys2/n2_cram_memctl_as -> bplib/nxcramlib/nx_cram_memctl_as |
|
- Bug fixes |
- tools/src/lib*: backend libraries compile now on 64 bit systems |
|
- trunk (2011-11-20: svn rev 14(oc) 428(wfjm); untagged w11a_V0.532) +++++++++ |
|
- Summary |
- generalized the 'human I/O' interface for s3board,nexys2/3 and atlys |
- added test design for the 'human I/O' interface |
- no functional change of w11a CPU core or any existing test systems |
|
- Changes |
- functional changes |
- use now 'a6' polynomial of Koopman et al for crc8 in rlink |
- with one exception all vhdl sources use now numeric_std |
- module renames: |
vlib/xlib/dcm_sp_sfs_gsim -> vlib/xlib/dcm_sfs_gsim |
vlib/xlib/dcm_sp_sfs_unisim -> vlib/xlib/dcm_sfs_unisim_s3e |
vlib/xlib/tb/tb_dcm_sp_sfs -> vlib/xlib/tb/tb_dcm_sfs |
|
- New features |
- new modules |
- rtl/sys_gen/tst_snhumanio |
- sub-tree with test design for 'human I/O' interface modules |
- atlys, nexys2, and s3board directories contain the systems |
for the respective Digilent boards |
|
- trunk (2011-09-11: svn rev 12(oc) 409(wfjm); untagged w11a_V0.531) +++++++++ |
|
- Summary |
- Many small changes to prepare upcoming support for |
- Spartan-6 boards (nexys3 and atlys) |
- usage of Cypress FX2 USB interface on nexys2/3 and atlys boards |
- no functional change of w11a CPU core or any test systems |
|
- Changes |
- use boost libraries instead of custom coding: |
- boost/function and /bind for callbacks, retire RmethDscBase and RmethDsc |
- boost/foreach for some iterator loops |
Note: boost 1.35 and gcc 4.3 or newer is required, see INSTALL.txt |
- module renames: |
bplib/s3board/s3_rs232_iob_int -> bplib/bpgen/bp_rs232_2line_iob |
bplib/s3board/s3_rs232_iob_ext -> bplib/bpgen/bp_rs232_4line_iob |
bplib/s3board/s3_dispdrv -> bplib/bpgen/sn_4x7segctl |
bplib/s3board/s3_humanio -> bplib/bpgen/sn_humanio |
bplib/s3board/s3_humanio_rbus -> bplib/bpgen/sn_humanio_rbus |
- other renames: |
tools/bin/impact_wrapper -> tools/bin/config_wrapper |
- reorganize Makefile includes and xflow option files |
rtl/vlib/Makefile.ghdl -> rtl/make/generic_ghdl.mk |
rtl/vlib/Makefile.isim -> rtl/make/generic_isim.mk |
rtl/vlib/Makefile.xflow -> rtl/make/generic_xflow.mk |
rtl/vlib/xst_vhdl.opt -> rtl/make/syn_s3_speed.opt |
rtl/vlib/balanced.opt -> rtl/make/imp_s3_speed.opt |
|
- trunk (2011-04-17: svn rev 11(oc) 376(wfjm); untagged w11a_V0.53) ++++++++++ |
|
- Summary |
- Introduce C++ and Tcl based backend server. A set of C++ classes provide |
the basic rlink communication primitives. Additional glue classes provide |
a Tcl binding. This first phase contains the basic functionality needed |
to control simple test benches. |
- add an 'rlink exerciser' (tst_rlink) and a top level design for a Nexys2 |
board (sys_tst_rlink_n2) and a test suite implemented in Tcl. |
|
- Note: No functional changes in w11a core and I/O system at this point! |
The w11a demonstrator systems are still operated with the old |
backend code (pi_rri). |
|
- New features |
- new directory trees for |
- C++ sources of backend (plus make and doxygen documentation support) |
- tools/dox - Doxygen documentation configuration |
- tools/make - make includes |
- tools/src/librlink - basic rlink interface |
- tools/src/librlinktpp - C++ to tcl binding for rlink interface |
- tools/src/librtools - general support classes and methods |
- tools/src/librtcltools - support classes to implement Tcl bindings |
- tools/src/librutiltpp - Tcl support commands implemented in C++ |
- VHDL sources of an 'rlink exerciser' |
- rtl/sys_gen/tst_rlink - top level designs for an rlink tester |
- rtl/sys_gen/tst_rlink/nexys2 - rlink tester system for Nexsy2 board |
- Tcl sources of 'rlink exerciser' |
- tools/tcl/rlink - defs and proc's for basic rlink functions |
- tools/tcl/rutil - general support procs |
- tools/tcl/rbtest - defs and proc's for rbd_tester |
- tools/tcl/rbbram - defs and proc's for rbd_bram |
- tools/tcl/rbmoni - defs and proc's for rbd_rbmon |
- tools/tcl/rbs3hio - defs and proc's for s3_humanio_rbus |
- tools/tcl/tst_rlink - defs and proc's for tst_rlink |
- new modules |
- rtl/vlib/rbus |
- rbd_bram - rbus bram test target |
- rbd_eyemon - eye monitor for serport's |
- rbd_rbmon - rbus monitor |
- rbd_tester - rbus tester |
- rbd_timer - usec precision timer |
- rtl/vlib/memlib |
- additional wrappers for distributed and block memories added |
- tools/bin |
- ti_rri: Tcl driver for rlink tests and servers (will replace pi_rri) |
|
- trunk (2011-01-02: svn rev 9(oc) 352(wfjm); untagged w11a_V0.52) +++++++++++ |
|
- Summary |
- Introduce rbus protocol V3 |
- reorganize rbus and rlink modules, many renames |
|
- New features |
- vlib/rbus |
- added several rbus devices useful for debugging |
- rbd_tester: test target, used for example in test benches |
|
- Changes |
- module renames: |
- the rri (remote-register-interface) components were re-organized and |
cleanly separated into rbus and rlink components: |
rri/rb_sres_or_* -> rbus/rb_sres_or_* |
rri/rri_core -> rlink/rlink_core |
rri/rri_base_serport -> rlink/rlink_base_serport |
rri/rrilib -> rbus/rblib |
-> rlink/rlinklib |
rri/rri_serport -> rlink/rlink_serport |
rri/tb/rritb_sres_or_mon -> rbus/rb_sres_or_mon |
- the rri test bench monitors were reorganized and renamed |
rri/tb/rritb_cpmon -> rlink/rlink_mon |
rri/tb/rritb_cpmon_sb -> rlink/rlink_mon_sb |
rri/tb/rritb_rbmon -> rbus/rb_mon |
rri/tb/rritb_rbmon_sb -> rbus/rb_mon_sb |
- the rri low level test bench were also renamed |
rri/tb/tb_rri -> rlink/tb/tb_rlink |
rri/tb/tb_rri_core -> rlink/tb/tb_rlink_direct |
rri/tb/tb_rri_serport -> rlink/tb/tb_rlink_serport |
- the base modules for rlink+cext based test benches were renamed |
rri/tb/rritb_core_cm -> rlink/tb/tbcore_rlink_dcm |
rri/tb/rritb_core -> rlink/tb/tbcore_rlink |
rri/tb/vhpi_rriext -> rlink/tb/rlink_cext_vhpi |
rri/tb/cext_rriext.c -> rlink/tb/rlink_cext.c |
|
- other rri/rbus related renames |
bplib/s3board/s3_humanio_rri -> s3_humanio_rbus |
w11a/pdp11_core_rri -> pdp11_core_rbus |
|
- other renames |
w11a/tb/tb_pdp11_core -> tb_pdp11core |
|
- signal renames: |
- rlink interface (defined in rlink/rlinklib.vhd): |
- rename rlink port signals: |
CP_* -> RL_* |
- rename status bit names to better reflect their usage in v3: |
ccrc -> cerr - indicates cmd crc error or other cmd level abort |
dcrc -> derr - indicates data crc error or other data level abort |
ioto -> rbnak - indicates rbus abort, either no ack or timeout |
ioerr -> rberr - indicates that rbus err flag was set |
|
- migrate to rbus protocol version 3 |
- in rb_mreq use now aval,re,we instead of req,we |
- basic rbus transaction now takes 2 cycles, one for address select, one |
for data exchange. Same concept and reasoning behind as in ibus V2. |
|
- vlib/rlink/rlink_core |
- cerr and derr state flags now set on command or data crc errors as well |
as on eop/nak aborts when command or wblk data is received. |
- has now 'monitor port', RL_MONI. |
- RL_FLUSH port removed, the flush logic is now in rlink_serport |
|
- restructured rlink modules |
- rlink_core is the rlink protocol engine with a 9 bit wide interface |
- rlink_rlb2rl (new) is an adapter to a byte wide interface |
- rlink_base (new) combines rlink_core and rlink_rlb2rl |
- rlink_serport (re-written) is an adapter to a serial interface |
- rlink_base_serport (renamed) combines rlink_base and rlink_serport |
|
- trunk (2010-11-28: svn rev 8(oc) 341(wfjm); untagged w11a_V0.51) +++++++++++ |
|
- Summary |
- Introduce ibus protocol V2 |
- Nexys2 systems use DCM |
- sys_w11a_n2 now runs with 58 MHz |
|
- New features |
- ibus |
- added ib_sres_or_mon to check for miss-behaving ibus devices |
- added ib_sel to encapsulate address select logic |
- nexys2 systems |
- now DCM derived system clock supported |
- sys_gen/w11a/nexys2 |
- sys_w11a_n2 now runs with 58 MHz clksys |
|
- Changes |
- module renames: |
- in future 'box' is used for large autonomous blocks, therefore use |
the term unit for purely sequential logic modules: |
pdp11_abox -> pdp11_ounit |
pdp11_dbox -> pdp11_aunit |
pdp11_lbox -> pdp11_lunit |
pdp11_mbox -> pdp11_munit |
|
- signal renames: |
- renamed RRI_LAM -> RB_LAM in all ibus devices |
- renamed CLK -> I_CLK50 in all top level nexys2 and s3board designs |
|
- migrate to ibus protocol version 2 |
- in ib_mreq use now aval,re,we,rmw instead of req,we,dip |
- basic ibus transaction now takes 2 cycles, one for address select, one |
for data exchange. This avoids too long logic paths in the ibus logic. |
|
- Bug fixes |
- rtl/vlib/Makefile.xflow: use default .opt files under rtl/vlib again. |
|
- w11a_V0.5 (2010-07-23) +++++++++++++++++++++++++++++++++++++++++++++++++++++ |
|
Initial release with |
- w11a CPU core |
- basic set of peripherals: kw11l, dl11, lp11, pc11, rk11/rk05 |
- just for fun: iist (not fully implemented and tested yet) |
- two complete system configurations with |
- for a Digilent S3BOARD rtl/sys_gen/w11a/s3board/sys_w11a_s3 |
- for a Digilent Nexys2 rtl/sys_gen/w11a/nexys2/sys_w11a_n2 |
/trunk/doc/README.txt
1,4 → 1,4
$Id: README.txt 559 2014-06-06 21:26:47Z mueller $ |
$Id: README.txt 579 2014-08-08 20:39:46Z mueller $ |
|
Release notes for w11a |
|
5,8 → 5,7
Table of content: |
|
1. Documentation |
2. Files |
3. Change Log |
2. Change Log |
|
1. Documentation ------------------------------------------------------------- |
|
15,75 → 14,50
|
* README.txt: release notes |
* INSTALL.txt: installation and building test benches and systems |
* FILES.txt: short description of the directory layout, what is where ? |
* w11a_tb_guide.txt: running test benches |
* w11a_os_guide.txt: booting operating systems |
* w11a_known_issues.txt: known differences, limitations and issues |
|
2. Files --------------------------------------------------------------------- |
2. Change Log ---------------------------------------------------------------- |
|
doc Documentation |
doc/man man pages for retro11 commands |
rtl VHDL sources |
rtl/bplib - board and component support libs |
rtl/bplib/atlys - for Digilent Atlys board |
rtl/bplib/fx2lib - for Cypress FX2 USB interface controller |
rtl/bplib/issi - for ISSI parts |
rtl/bplib/micron - for Micron parts |
rtl/bplib/nexys2 - for Digilent Nexsy2 board |
rtl/bplib/nexys3 - for Digilent Nexsy3 board |
rtl/bplib/nxcramlib - for CRAM part used in Nexys2/3 |
rtl/bplib/s3board - for Digilent S3BOARD |
rtl/ibus - ibus devices (UNIBUS peripherals) |
rtl/sys_gen - top level designs |
rtl/sys_gen/tst_fx2loop - top level designs for Cypress FX2 tester |
nexys2,nexys3 - systems for Nexsy2,Nexsy3 |
rtl/sys_gen/tst_rlink - top level designs for an rlink tester |
nexys2,nexys3,s3board - systems for Nexsy2,Nexsy3,S3BOARD |
rtl/sys_gen/tst_rlink_cuff - top level designs for rlink over FX2 tester |
nexys2,nexys3,atlys - systems for Atlys,Nexsy2,Nexsy3 |
rtl/sys_gen/tst_serloop - top level designs for serport loop tester |
nexys2,nexys3,s3board - systems for Nexsy2,Nexsy3,S3BOARD |
rtl/sys_gen/tst_snhumanio - top level designs for human I/O tester |
atlys,nexys2,nexys3,s3board - systems for Atlys,Nexsy2,Nexsy3,S3BOARD |
rtl/sys_gen/w11a - top level designs for w11a SoC |
nexys2,nexys3,s3board - w11a systems for Nexsy2,Nexsy3,S3BOARD |
rtl/vlib - VHDL component libs |
rtl/vlib/comlib - communication |
rtl/vlib/genlib - general |
rtl/vlib/memlib - memory |
rtl/vlib/rbus - rri: rbus |
rtl/vlib/rlink - rri: rlink |
rtl/vlib/serport - serial port (UART) |
rtl/vlib/simlib - simulation helper lib |
rtl/vlib/xlib - Xilinx specific components |
rtl/w11a - w11a core |
tools helper programs |
tools/asm-11 - pdp-11 assembler code |
tools/asm-11/tests - test bench for asm-11 |
tools/asm-11/tests-err - test bench for asm-11 (error check part) |
tools/bin - scripts and binaries |
tools/dox - Doxygen documentation configuration |
tools/make - make includes |
tools/fx2 - Firmware for Cypress FX2 USB Interface |
tools/fx2/bin - pre-build firmware images in .ihx format |
tools/fx2/src - C and asm sources |
tools/fx2/sys - udev rules for USB on fpga eval boards |
tools/oskit - setup files for Operation System kits |
tools/oskit/... - several PDP-11 system kits available |
tools/src - C++ sources for rlink backend software |
tools/src/librlink - basic rlink interface |
tools/src/librlinktpp - C++ to tcl binding for rlink interface |
tools/src/librtcltools - support classes to implement Tcl bindings |
tools/src/librtools - general support classes and methods |
tools/src/librutiltpp - Tcl support commands implemented in C++ |
tools/src/librw11 - w11 over rlink interface |
tools/src/librwxxtpp - C++ to tcl binding for w11 over rlink iface |
tools/tbench - w11 CPU test bench |
tools/tcl - Tcl scripts |
- trunk (2014-08-08: svn rev 25(oc) 579(wfjm); tagged w11a_V0.61) ++++++++++ |
|
3. Change Log ---------------------------------------------------------------- |
- Summary |
- The div instruction gave wrong results in some corner cases when either |
divisor or quotient were the largest negative integer (100000 or -32768). |
This is corrected now, for details see ECO-026-div.txt |
- some minor updates and fixes to support scripts |
- xtwi usage and XTWI_PATH setup explained in INSTALL.txt |
|
- w11a_V0.50 -> w11a_V0.60 cummulative summary of key changes |
- New features |
- the Makefile's for in all rtl building block directories allow now to |
configure the target board for a test synthesis via the XTW_BOARD |
environment variable or XTW_BOARD=<board name> make option. |
|
- Changes |
- tools/bin/asm-11 - add call and return opcodes |
- tools/bin/create_disk - add RM02,RM05,RP04,RP07 support |
- tools/bin/tbw - use xtwi to start ISim models |
- tools/bin/ticonv_pdpcp - add --tout and --cmax; support .sdef |
- tools/dox/*.Doxyfile - use now doxygen 1.8.7 |
- tools/src/librw11 |
- Rw11CntlRK11 - add statistics |
|
- Bug fixes |
- rtl/w11a - div bug ECO-026 |
- pdp11_munit - port changes; fix divide logic |
- pdp11_sequencer - s_opg_div_sr: check for late div_quit |
- pdp11_dpath - port changes for pdp11_munit |
- tools/bin/create_disk - repair --boot option (was inaccessible) |
- tools/bin/ti_w11 - split args now into ti_w11 opts and cmds |
- tools/src/librwxxtpp |
- RtclRw11Cpu - redo estatdef logic; avoid LastExpect() |
- tools/dox/make_doxy - create directories, fix 'to view use' text |
|
- w11a_V0.6 (2014-06-06) +++++++++++++++++++++++++++++++++++++++++++++++++++++ |
|
cummulative summary of key changes from w11a_V0.5 to w11a_V0.60 |
- revised ibus protocol V2 (in w11a_V0.51) |
- revised rbus protocol V3 (in w11a_V0.52) |
- backend server rewritten in C++ and Tcl (in w11a_V0.53 and w11a_V0.562) |
95,508 → 69,8
- many documentation improvements |
- development status upgraded to beta (from alpha) |
|
- trunk (2014-06-06: svn rev 23(oc) 559+(wfjm); tagged w11a_V0.60) +++++++++ |
for details see README-w11a_V.50-w11a_V0.60.txt |
|
- Summary |
- many documentation updates; no functional changes |
|
- New features |
- Tarballs with ready to use bit files and and all logfiles from the tool |
chain can be downloaded from |
http://www.retro11.de/data/oc_w11/bitkits/ |
This area is organized in folders for different releases. The tarball |
file names contain information about release, Xlinix tool, and design. |
|
- Changes |
- documentation updates |
- URL of oskits changed, they are now unter |
http://www.retro11.de/data/oc_w11/oskits |
|
- trunk (2014-05-29: svn rev 22(oc) 556(wfjm); untagged w11a_V0.581) ++++++++ |
|
- Summary |
- new reference system |
- switched from ISE 13.3 to 14.7. |
- map/par behaviour changed, unfortunately unfavorably for w11a. |
On Nexys3 no timing closure anymore for 80 MHz, only 72 MHz can |
be achieved now. |
- new man pages (in doc/man/man1/) |
- support for Spartan-6 CMTs in PLL and DCM mode |
|
- New features |
- new modules |
- rtl/vlib/xlib |
- s6_cmt_sfs_unisim - Spartan-6 CMT for simple frequency synthesis |
- s6_cmt_sfs_gsim - dito, simple ghdl simulation model |
- tools/src/librutiltpp |
- RtclSignalAction - Tcl signal handler |
- RtclSystem - Tcl Unix system interface |
- new files |
- tools/bin/create_disk - creates a disk container file |
- tools/bin/xtwi - Xilinx Tool Wrapper script for ISE |
- tools/tcl/rw11/defs.tcl - w11a definitions |
|
- Changes |
- rtl/make |
- imp_*.opt - use -fastpaths, -u, -tsi for trce |
- imp_s6_speed.opt - adopt for ISE 14.x |
- generic_xflow.mk - use xtwi; trce tsi file; use -C for cpp |
- generic_isim.mk - use xtwi |
- generic_xflow_cpld.mk - use xtwi |
- rtl/sys_gen/*/nexys3 |
- .../sys_*.vhd - pll support, use clksys_vcodivide ect |
- rtl/sys_gen/w11a/nexys3 |
- sys_conf.vhd - use 72 MHz, no closure in ISE 14.x for 80 |
- rtl/bplib/nexys(2|3) |
- nexys(2|3)_time_fx2_ic.ucf - add VALID for hold time check |
- tools/src/librwxxtpp |
- RtclRw11Cpu - cp command options modified |
- tools/bin |
- vbomconv - add --viv_vhdl (for Vivado) |
- tools/tcl/rw11 |
- util.tcl - move definitions to defs.tcl |
|
- Bug fixes |
- tools/src/librtools/RlogFile - fix date print (month was off by one) |
- tools/tcl/rw11/asm.tcl - asmwait checks now pc if stop: defined |
|
- Other updates |
- INSTALL_ghdl.txt - text reflects current situation on ghdl packages |
|
- trunk (2013-05-12: svn rev 21(oc) 518+(wfjm); untagged w11a_V0.58) ++++++++ |
|
- Summary |
- C++ and Tcl based backend server now fully functional, supports with |
DL11, RK11, LP11 and PC11 all devices available in w11a designs |
- the old perl based backend server (pi_rri) is obsolete and removed |
- operating system kits reorganized |
|
- New features |
- new directory trees for |
- tools/oskit - operating system kits |
- new modules |
- tools/src/librw11 |
- Rw11*LP11 - classes for LP11 printer handling |
- Rw11*PC11 - classes for PC11 paper tape handling |
- Rw11*Stream* - classes for Virtual stream handling |
- tools/src/librwxxtpp |
- RtclRw11*LP11 - tcl iface for LP11 printer handling |
- RtclRw11*PC11 - tcl iface for PC11 paper tape handling |
- RtclRw11*Stream* - tcl iface for Virtual Stream handling |
|
- Changes |
- renames |
- the w11 backend quick starter now named ti_w11 and under tools/bin |
(was rtl/sys_gen/w11a/tb/torri) |
- all operating system image related material now under |
tools/oskit (was under rtl/sys_gen/w11a/tb) |
|
- Bug fixes |
- rtl/ibus/ibdr_lp11 - err flag logic fixed, was cleared in ibus racc read |
- rtl/ibus/ibdr_pc11 - rbuf logic fixed. Was broken since ibus V2 update |
in V0.51! Went untested because pc11 rarely used. |
|
- trunk (2013-04-27: svn rev 20(oc) 511(wfjm); untagged w11a_V0.57) +++++++++ |
|
- Summary |
- new C++ and Tcl based backend server supports now RK11 handling |
- w11a systems operate with rlink over USB on nexsy2 and nexsy3 boards. |
See w11a_os_guide.txt for details |
|
- New features |
- new modules |
- rtl/bplib/fx2rlink - new vhdl lib with rlink over fx2 modules |
- ioleds_sp1c_fx2 - io activity leds for rlink_sp1c_fx2 |
- rlink_sp1c_fx2 - rlink over serport + fx2 combo |
- tools/src/librw11 |
- Rw11*RK11 - classes for RK11 disk handling |
- Rw11*Disk* - classes for Virtual disk handling |
- tools/src/librwxxtpp |
- RtclRw11*RK11 - tcl iface for RK11 disk handling |
- RtclRw11*Disk* - tcl iface for Virtual disk handling |
- new files |
- rtl/sys_gen/w11a/tb/torri - quick starter for new backend |
|
- Changes |
- tcl module renames: |
tools/tcl/rw11a -> tools/tcl/rw11 |
|
- Bug fixes |
- tools/src/ReventLoop: poll list update logic in DoPoll() corrected |
|
- trunk (2013-04-13: svn rev 19(oc) 505(wfjm); untagged w11a_V0.562) +++++++++ |
|
- Summary |
- V0.53 introduced a new C++ and Tcl based backend server, but only the |
very basic rlink handling layer. This step release add now many support |
classes for interfacing to w11 system designs, and the associated Tcl |
bindings. |
- add 'asm-11', a simple, Macro-11 syntax subset combatible, assembler. |
Can be used stand-alone to generate 'absolute loader' format files, |
but also integrates tightly into the Tcl environment and is used as |
building block in the creation of CPU test benches. |
- use now doxygen 1.8.3.1, generate c++,tcl, and vhdl source docs |
See section 9. in INSTALL.txt for details. |
|
- New features |
- new directory trees for |
- tools/asm-11 - asm-11 code |
- tools/asm-11/tests - test bench for asm-11 |
- tools/asm-11/tests-err - test bench for asm-11 (error check part) |
- tools/src/librw11 - w11 over rlink interface |
- tools/src/librwxxtpp - C++ to tcl binding for w11 over rlink iface |
- tools/tbench - w11 CPU test bench |
- new modules |
- tools/bin |
- asm-11 - simple, Macro-11 syntax subset compatible, assembler |
- asm-11_expect - expect checker for asm-11 test bench |
- tools/dox |
- *.Doxyfile - new descriptors c++,tcl,vhdl docs |
- make_dox - driver script to generate c++,tcl,vhdl doxygen docs |
|
- Changes |
- vhdl module renames: |
vlib/serport -> vlib/serportlib |
- vhdl module splits: |
bplib/bpgen/bpgenlib -> bpgenlib + bpgenrbuslib |
- C++ class splits |
librtcltools/RtclProxyBase -> RtclCmdBase + RtclProxyBase |
|
- trunk (2013-01-06: svn rev 18(oc) 472(wfjm); untagged w11a_V0.561) +++++++++ |
|
- Summary |
- Added simple simulation model of Cypress FX2 and test benches for |
functional verifcation of FX2 controller |
- Bugfixes in FX2 firmware and controller, works now also on Nexys3 & Atlys |
- Added test systems for rlink over USB verification for Nexys3 & Atlys |
|
- New features |
- new test benches |
- rtl/sys_gen/tst_rlink_cuff/nexys2/ic/tb/tb_tst_rlink_cuff_ic_n2 |
- new systems |
- rtl/sys_gen/tst_rlink_cuff/nexys2/ic/sys_tst_rlink_cuff_ic_n3 |
- rtl/sys_gen/tst_rlink_cuff/nexys2/ic/sys_tst_rlink_cuff_ic_atlys |
|
- Bug fixes |
- tools/fx2/src: FX2 firmware now properly re-initializes hardware registers |
and will work on Nexys3 and Atlys boards with default Digilent EPROM |
- rtl/bplib/fx2lib: read pipeline logic in FX2 controller corrected |
|
- trunk (2013-01-02: svn rev 17(oc) 467(wfjm); untagged w11a_V0.56) ++++++++++ |
|
- Summary |
- re-organized handling of board and derived clocks in test benches |
- added message filter definitions for some designs (.mfset files) |
- added Cypress EZ-USB FX2 controller (USB interface) |
- added firmware for EZ-USB FX2 supporting jtag access and data transfer |
- FPGA configure over USB now supported directly in make build flow |
- added test systems for USB testing and rlink over USB verification |
- no functional change of w11a CPU core or any pre-existing test systems |
- Note: Carefully read the disclaimer about usage of USB VID/PID numbers |
in the file README_USB-VID-PID.txt. You'll be responsible for any |
misuse of the defaults provided with the project sources !! |
|
- New reference system |
The development and test system was upgraded from Kubuntu 10.04 to 12.04. |
The version of several key tools and libraries changed: |
linux kernel 3.2.0 (was 2.6.32) |
gcc/g++ 4.6.3 (was 4.4.3) |
boost 1.46.1 (was 1.40) |
libusb 1.0.9 (was 1.0.6) |
perl 5.14.2 (was 5.10.1) |
tcl 8.5.11 (was 8.4.19) |
xilinx ise 13.3 (was 13.1) |
--> see INSTALL.txt, INSTALL_ghdl.txt and INSTALL_urjtag.txt |
|
- New features |
- added firmware for Cypress FX2 controller |
- tools/fx2 |
- bin - pre-build firmware images in .ihx file format |
- src - C and asm sources |
- sys - udev rules for usb interfaces on fpga eval boards |
- new modules |
- rtl/bplib/fx2lib |
- fx2_2fifoctl_ic - Cypress EZ-USB FX2 controller (2 fifo; int clk) |
- fx2_3fifoctl_ic - Cypress EZ-USB FX2 controller (3 fifo; int clk) |
- new systems |
- rtl/sys_gen/tst_fx2loop/nexys2/ic/sys_tst_fx2loop_ic_n2 |
- rtl/sys_gen/tst_fx2loop/nexys2/ic3/sys_tst_fx2loop_ic3_n2 |
- rtl/sys_gen/tst_rlink_cuff/nexys2/ic/sys_tst_rlink_cuff_ic_n2 |
- tools/bin |
- xilinx_sdf_ghdl_filter: tool to patch ISE sdf files for usage with ghdl |
|
- Changes |
- documentation |
- added a 'system requirements' section in INSTALL.txt |
- added INSTALL_ghdl.txt and INSTALL_urjtag.txt covering ghdl and urjtag |
- added README_USB-VID-PID.txt |
- organizational changes |
- added TCLINC,RETRO_FX2_VID,RETRO_FX2_PID environment variables |
- functional changes |
- tools/bin |
- vbomconv - file name substitution handling redone; many vboms updated |
- retired modules |
- vlib/rlink/tb/ |
- tbcore_rlink_dcm - obsolete, use tbcore_rlink |
|
- trunk (2011-12-23: svn rev 16(oc) 442(wfjm); untagged w11a_V0.55) +++++++++ |
|
- Summary |
- added xon/xoff (software flow control) support to serport library |
- added test systems for serport verification |
- use new serport stack in sys_w11a_* and sys_tst_rlink_* systems |
|
- New features |
- new modules |
- vlib/serport |
- serport_xonrx - xon/xoff logic rx path |
- serport_xontx - xon/xoff logic tx path |
- serport_1clock - serial port module (uart, fifo, flow control) |
- vlib/rlink |
- rlink_core8 - rlink core8 with 8bit interface |
- rlink_sp1c - rlink_core8 + serport_1clock combo |
- new unit tests |
- bplib/s3board/tb/tb_s3_sram_memctl (for s3board sram controller |
- bplib/nxcramlib/tb/tb_nx_cram_memctl_as (for nexys2,3 cram controller) |
- new systems |
- sys_gen/tst_serloop/nexys2/sys_tst_serloop1_n2 |
- sys_gen/tst_serloop/nexys3/sys_tst_serloop1_n3 |
- sys_gen/tst_serloop/s3board/sys_tst_serloop1_s3 |
- sys_gen/tst_rlink/s3board/sys_tst_rlink_s3 |
|
- Changes |
- retired modules |
- vlib/rlink |
- rlink_rlb2rl - obsolete, now all in rlink_core8 |
- rlink_base - use now new rlink_core8 |
- rlink_serport - obsolete, now all in rlink_sp1c |
- rlink_base_serport - use now new rlink_sp1c |
|
- trunk (2011-12-04: svn rev 15(oc) 436(wfjm); untagged w11a_V0.54) +++++++++ |
|
- Summary |
- added support for nexys3 board for w11a |
|
- New features |
- new systems |
- sys_gen/w11a/nexys3/sys_w11a_n3 |
- sys_gen/w11a/nexys3/sys_tst_rlink_n3 |
|
- Changes |
- module renames: |
bplib/nexys2/n2_cram_dummy -> bplib/nxcramlib/nx_cram_dummy |
bplib/nexys2/n2_cram_memctl_as -> bplib/nxcramlib/nx_cram_memctl_as |
|
- Bug fixes |
- tools/src/lib*: backend libraries compile now on 64 bit systems |
|
- trunk (2011-11-20: svn rev 14(oc) 428(wfjm); untagged w11a_V0.532) +++++++++ |
|
- Summary |
- generalized the 'human I/O' interface for s3board,nexys2/3 and atlys |
- added test design for the 'human I/O' interface |
- no functional change of w11a CPU core or any existing test systems |
|
- Changes |
- functional changes |
- use now 'a6' polynomial of Koopman et al for crc8 in rlink |
- with one exception all vhdl sources use now numeric_std |
- module renames: |
vlib/xlib/dcm_sp_sfs_gsim -> vlib/xlib/dcm_sfs_gsim |
vlib/xlib/dcm_sp_sfs_unisim -> vlib/xlib/dcm_sfs_unisim_s3e |
vlib/xlib/tb/tb_dcm_sp_sfs -> vlib/xlib/tb/tb_dcm_sfs |
|
- New features |
- new modules |
- rtl/sys_gen/tst_snhumanio |
- sub-tree with test design for 'human I/O' interface modules |
- atlys, nexys2, and s3board directories contain the systems |
for the respective Digilent boards |
|
- trunk (2011-09-11: svn rev 12(oc) 409(wfjm); untagged w11a_V0.531) +++++++++ |
|
- Summary |
- Many small changes to prepare upcoming support for |
- Spartan-6 boards (nexys3 and atlys) |
- usage of Cypress FX2 USB interface on nexys2/3 and atlys boards |
- no functional change of w11a CPU core or any test systems |
|
- Changes |
- use boost libraries instead of custom coding: |
- boost/function and /bind for callbacks, retire RmethDscBase and RmethDsc |
- boost/foreach for some iterator loops |
Note: boost 1.35 and gcc 4.3 or newer is required, see INSTALL.txt |
- module renames: |
bplib/s3board/s3_rs232_iob_int -> bplib/bpgen/bp_rs232_2line_iob |
bplib/s3board/s3_rs232_iob_ext -> bplib/bpgen/bp_rs232_4line_iob |
bplib/s3board/s3_dispdrv -> bplib/bpgen/sn_4x7segctl |
bplib/s3board/s3_humanio -> bplib/bpgen/sn_humanio |
bplib/s3board/s3_humanio_rbus -> bplib/bpgen/sn_humanio_rbus |
- other renames: |
tools/bin/impact_wrapper -> tools/bin/config_wrapper |
- reorganize Makefile includes and xflow option files |
rtl/vlib/Makefile.ghdl -> rtl/make/generic_ghdl.mk |
rtl/vlib/Makefile.isim -> rtl/make/generic_isim.mk |
rtl/vlib/Makefile.xflow -> rtl/make/generic_xflow.mk |
rtl/vlib/xst_vhdl.opt -> rtl/make/syn_s3_speed.opt |
rtl/vlib/balanced.opt -> rtl/make/imp_s3_speed.opt |
|
- trunk (2011-04-17: svn rev 11(oc) 376(wfjm); untagged w11a_V0.53) ++++++++++ |
|
- Summary |
- Introduce C++ and Tcl based backend server. A set of C++ classes provide |
the basic rlink communication primitives. Additional glue classes provide |
a Tcl binding. This first phase contains the basic functionality needed |
to control simple test benches. |
- add an 'rlink exerciser' (tst_rlink) and a top level design for a Nexys2 |
board (sys_tst_rlink_n2) and a test suite implemented in Tcl. |
|
- Note: No functional changes in w11a core and I/O system at this point! |
The w11a demonstrator systems are still operated with the old |
backend code (pi_rri). |
|
- New features |
- new directory trees for |
- C++ sources of backend (plus make and doxygen documentation support) |
- tools/dox - Doxygen documentation configuration |
- tools/make - make includes |
- tools/src/librlink - basic rlink interface |
- tools/src/librlinktpp - C++ to tcl binding for rlink interface |
- tools/src/librtools - general support classes and methods |
- tools/src/librtcltools - support classes to implement Tcl bindings |
- tools/src/librutiltpp - Tcl support commands implemented in C++ |
- VHDL sources of an 'rlink exerciser' |
- rtl/sys_gen/tst_rlink - top level designs for an rlink tester |
- rtl/sys_gen/tst_rlink/nexys2 - rlink tester system for Nexsy2 board |
- Tcl sources of 'rlink exerciser' |
- tools/tcl/rlink - defs and proc's for basic rlink functions |
- tools/tcl/rutil - general support procs |
- tools/tcl/rbtest - defs and proc's for rbd_tester |
- tools/tcl/rbbram - defs and proc's for rbd_bram |
- tools/tcl/rbmoni - defs and proc's for rbd_rbmon |
- tools/tcl/rbs3hio - defs and proc's for s3_humanio_rbus |
- tools/tcl/tst_rlink - defs and proc's for tst_rlink |
- new modules |
- rtl/vlib/rbus |
- rbd_bram - rbus bram test target |
- rbd_eyemon - eye monitor for serport's |
- rbd_rbmon - rbus monitor |
- rbd_tester - rbus tester |
- rbd_timer - usec precision timer |
- rtl/vlib/memlib |
- additional wrappers for distributed and block memories added |
- tools/bin |
- ti_rri: Tcl driver for rlink tests and servers (will replace pi_rri) |
|
- trunk (2011-01-02: svn rev 9(oc) 352(wfjm); untagged w11a_V0.52) +++++++++++ |
|
- Summary |
- Introduce rbus protocol V3 |
- reorganize rbus and rlink modules, many renames |
|
- New features |
- vlib/rbus |
- added several rbus devices useful for debugging |
- rbd_tester: test target, used for example in test benches |
|
- Changes |
- module renames: |
- the rri (remote-register-interface) components were re-organized and |
cleanly separated into rbus and rlink components: |
rri/rb_sres_or_* -> rbus/rb_sres_or_* |
rri/rri_core -> rlink/rlink_core |
rri/rri_base_serport -> rlink/rlink_base_serport |
rri/rrilib -> rbus/rblib |
-> rlink/rlinklib |
rri/rri_serport -> rlink/rlink_serport |
rri/tb/rritb_sres_or_mon -> rbus/rb_sres_or_mon |
- the rri test bench monitors were reorganized and renamed |
rri/tb/rritb_cpmon -> rlink/rlink_mon |
rri/tb/rritb_cpmon_sb -> rlink/rlink_mon_sb |
rri/tb/rritb_rbmon -> rbus/rb_mon |
rri/tb/rritb_rbmon_sb -> rbus/rb_mon_sb |
- the rri low level test bench were also renamed |
rri/tb/tb_rri -> rlink/tb/tb_rlink |
rri/tb/tb_rri_core -> rlink/tb/tb_rlink_direct |
rri/tb/tb_rri_serport -> rlink/tb/tb_rlink_serport |
- the base modules for rlink+cext based test benches were renamed |
rri/tb/rritb_core_cm -> rlink/tb/tbcore_rlink_dcm |
rri/tb/rritb_core -> rlink/tb/tbcore_rlink |
rri/tb/vhpi_rriext -> rlink/tb/rlink_cext_vhpi |
rri/tb/cext_rriext.c -> rlink/tb/rlink_cext.c |
|
- other rri/rbus related renames |
bplib/s3board/s3_humanio_rri -> s3_humanio_rbus |
w11a/pdp11_core_rri -> pdp11_core_rbus |
|
- other renames |
w11a/tb/tb_pdp11_core -> tb_pdp11core |
|
- signal renames: |
- rlink interface (defined in rlink/rlinklib.vhd): |
- rename rlink port signals: |
CP_* -> RL_* |
- rename status bit names to better reflect their usage in v3: |
ccrc -> cerr - indicates cmd crc error or other cmd level abort |
dcrc -> derr - indicates data crc error or other data level abort |
ioto -> rbnak - indicates rbus abort, either no ack or timeout |
ioerr -> rberr - indicates that rbus err flag was set |
|
- migrate to rbus protocol version 3 |
- in rb_mreq use now aval,re,we instead of req,we |
- basic rbus transaction now takes 2 cycles, one for address select, one |
for data exchange. Same concept and reasoning behind as in ibus V2. |
|
- vlib/rlink/rlink_core |
- cerr and derr state flags now set on command or data crc errors as well |
as on eop/nak aborts when command or wblk data is received. |
- has now 'monitor port', RL_MONI. |
- RL_FLUSH port removed, the flush logic is now in rlink_serport |
|
- restructured rlink modules |
- rlink_core is the rlink protocol engine with a 9 bit wide interface |
- rlink_rlb2rl (new) is an adapter to a byte wide interface |
- rlink_base (new) combines rlink_core and rlink_rlb2rl |
- rlink_serport (re-written) is an adapter to a serial interface |
- rlink_base_serport (renamed) combines rlink_base and rlink_serport |
|
- trunk (2010-11-28: svn rev 8(oc) 341(wfjm); untagged w11a_V0.51) +++++++++++ |
|
- Summary |
- Introduce ibus protocol V2 |
- Nexys2 systems use DCM |
- sys_w11a_n2 now runs with 58 MHz |
|
- New features |
- ibus |
- added ib_sres_or_mon to check for miss-behaving ibus devices |
- added ib_sel to encapsulate address select logic |
- nexys2 systems |
- now DCM derived system clock supported |
- sys_gen/w11a/nexys2 |
- sys_w11a_n2 now runs with 58 MHz clksys |
|
- Changes |
- module renames: |
- in future 'box' is used for large autonomous blocks, therefore use |
the term unit for purely sequential logic modules: |
pdp11_abox -> pdp11_ounit |
pdp11_dbox -> pdp11_aunit |
pdp11_lbox -> pdp11_lunit |
pdp11_mbox -> pdp11_munit |
|
- signal renames: |
- renamed RRI_LAM -> RB_LAM in all ibus devices |
- renamed CLK -> I_CLK50 in all top level nexys2 and s3board designs |
|
- migrate to ibus protocol version 2 |
- in ib_mreq use now aval,re,we,rmw instead of req,we,dip |
- basic ibus transaction now takes 2 cycles, one for address select, one |
for data exchange. This avoids too long logic paths in the ibus logic. |
|
- Bug fixes |
- rtl/vlib/Makefile.xflow: use default .opt files under rtl/vlib again. |
|
- w11a_V0.5 (2010-07-23) +++++++++++++++++++++++++++++++++++++++++++++++++++++ |
|
Initial release with |
trunk/doc/man/man5
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/doc/man/man1/ti_w11.1
===================================================================
--- trunk/doc/man/man1/ti_w11.1 (revision 24)
+++ trunk/doc/man/man1/ti_w11.1 (revision 25)
@@ -1,5 +1,5 @@
.\" -*- nroff -*-
-.\" $Id: ti_w11.1 550 2014-02-03 08:16:57Z mueller $
+.\" $Id: ti_w11.1 563 2014-06-22 15:49:09Z mueller $
.\"
.\" Copyright 2013- by Walter F.J. Mueller
.\"
@@ -70,7 +70,7 @@
boot script executed.
.IP "\fBti_w11 -n3 -e $RETROBASE/tools/asm-11/w11/sys/dl11/simple_out.mac\fR"
-Will start the \fItb_w11a_n3 test\fP bench in \fBghdl\fP(1), on the fly
+Will start the \fItb_w11a_n3\fP test bench in \fBghdl\fP(1), on the fly
compile the \fIsimple_out.mac\fP test program with \fBasm-11\fP(1), load
and execute it. This little test code just produces
.EX
/trunk/doc/man/man1/config_wrapper.1
31,9 → 31,9
|
.RS 3 |
.PD 0 |
.IP \fBiconfigf\fP 10 |
.IP \fBiconfig\fP 10 |
configure using \fBimpact\fP with \fI.bit\fP file \fIFILE\fP |
.IP \fBjconfigf\fP |
.IP \fBjconfig\fP |
configure using \fBjtag\fP(1) with \fI.svf\fP file \fIFILE\fP |
.IP \fBbit2svf\fP |
create a \fI.svf\fP file from the \fI.bit\fP file \fIFILE\fP |
trunk/doc/man/man1
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/doc/man
===================================================================
--- trunk/doc/man (revision 24)
+++ trunk/doc/man (revision 25)
trunk/doc/man
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/doc/w11a_known_issues.txt
===================================================================
--- trunk/doc/w11a_known_issues.txt (revision 24)
+++ trunk/doc/w11a_known_issues.txt (revision 25)
@@ -1,14 +1,14 @@
-# $Id: w11a_known_issues.txt 516 2013-05-05 21:24:52Z mueller $
+# $Id: w11a_known_issues.txt 570 2014-07-20 19:05:11Z mueller $
Summary of known issues for w11a CPU and systems
Table of content:
- 1. Known differences between w11a and KB-11C (11/70)
+ 1. Known differences between w11a and KB11-C (11/70)
2. Known limitations
3. Known bugs
-1. Known differences between w11a and KB-11C (11/70) ----------------------
+1. Known differences between w11a and KB11-C (11/70) ----------------------
- the SPL instruction in the 11/70 always fetched the next instruction
regardless of pending device or even console interrupts. This is known
trunk/doc
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/.cvsignore
===================================================================
--- trunk/.cvsignore (revision 24)
+++ trunk/.cvsignore (revision 25)
@@ -25,6 +25,7 @@
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log
Index: trunk/Makefile
===================================================================
--- trunk/Makefile (revision 24)
+++ trunk/Makefile (revision 25)
@@ -1,4 +1,4 @@
-# $Id: Makefile 538 2013-10-06 17:21:25Z mueller $
+# $Id: Makefile 562 2014-06-15 17:23:18Z mueller $
#
# 'Meta Makefile' for whole retro project
# allows to make all synthesis targets
@@ -6,6 +6,7 @@
#
# Revision History:
# Date Rev Version Comment
+# 2014-06-14 562 1.0.8 suspend nexys4 syn targets
# 2013-09-28 535 1.0.7 add nexys4 port for sys_gen/tst_sram,w11a
# 2013-05-01 513 1.0.6 add clean_sim_tmp and clean_syn_tmp targets
# 2012-12-29 466 1.0.5 add tst_rlink_cuff
Index: trunk
===================================================================
--- trunk (revision 24)
+++ trunk (revision 25)
trunk
Property changes :
Modified: svn:ignore
## -25,6 +25,7 ##
*_twr.log
*_map.log
*_par.log
+*_tsi.log
*_pad.log
*_bgn.log
*_svn.log