OpenCores
URL https://opencores.org/ocsvn/w11/w11/trunk

Subversion Repositories w11

[/] [w11/] [tags/] [w11a_V0.61/] [tools/] [tcl/] [rbtest/] [test_attn.tcl] - Blame information for rev 26

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 21 wfjm
# $Id: test_attn.tcl 516 2013-05-05 21:24:52Z mueller $
2 10 wfjm
#
3 21 wfjm
# Copyright 2011-2013 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
4 10 wfjm
#
5
# This program is free software; you may redistribute and/or modify it under
6
# the terms of the GNU General Public License as published by the Free
7
# Software Foundation, either version 2, or at your option any later version.
8
#
9
# This program is distributed in the hope that it will be useful, but
10
# WITHOUT ANY WARRANTY, without even the implied warranty of MERCHANTABILITY
11
# or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12
# for complete details.
13
#
14
#  Revision History:
15
# Date         Rev Version  Comment
16
# 2011-03-27   374   1.0    Initial version
17
# 2011-03-20   372   0.1    First Draft
18
#
19
 
20
package provide rbtest 1.0
21
 
22
package require rutiltpp
23
package require rutil
24
package require rlink
25
 
26
namespace eval rbtest {
27
  #
28
  # Test with stat connectivity of the cntl register.
29
  #
30
  proc test_attn {{attnmsk 0x0}} {
31
    # quit if nothing to do...
32
    if {$attnmsk == 0} {return 0}
33
    #
34
    set esdval 0x00
35
    set esdmsk [regbld rlink::STAT {stat -1} attn]
36
    #
37
    set apats {}
38
    for {set i 0} {$i < 16} {incr i} {
39 21 wfjm
      set apat [expr {1 << $i}]
40
      if {[expr {$apat & $attnmsk}]} {lappend apats $apat}
41 10 wfjm
    }
42
    #
43
    set errcnt 0
44
    rlc errcnt -clear
45
    #
46
    rlc log "rbtest::test_attn - init: clear regs and attn flags"
47
    rlc exec -init te.cntl [regbld rbtest::INIT cntl data fifo]
48
    rlc exec -attn
49
 
50
    #
51
    #-------------------------------------------------------------------------
52
    rlc log "  test 1: verify connection of attn bits"
53
    foreach apat $apats {
54
      rlc exec -estatdef $esdval $esdmsk \
55
        -wreg te.attn $apat \
56
        -rreg te.attn -estat [regbld rlink::STAT attn] \
57
        -attn         -edata $apat \
58
        -rreg te.attn -estat 0x0
59
    }
60
 
61
    #
62
    #-------------------------------------------------------------------------
63
    rlc log "  test 2: verify that attn flags accumulate"
64
    foreach apat $apats {
65
      rlc exec -wreg te.attn $apat -estat $esdval $esdmsk
66
    }
67
    rlc exec -attn -edata $attnmsk -estat $esdval $esdmsk
68
 
69
    #
70
    #-------------------------------------------------------------------------
71
    rlc log "  test 3: verify that <attn> comma is send"
72
    set apat [lindex $apats 0]
73
    rlc exec -init 0xff [regbld rlink::INIT anena] -estat $esdval $esdmsk
74
    rlc exec -wreg te.attn $apat -estat $esdval $esdmsk
75
    rlc wtlam 1.
76
    rlc exec -attn -edata $apat -estat $esdval $esdmsk
77
 
78
    #
79
    #-------------------------------------------------------------------------
80
    rlc log "rbtest::test_attn - cleanup: clear regs and attn flags"
81
    rlc exec -init te.cntl [regbld rbtest::INIT cntl data fifo]
82
    rlc exec -attn
83
    #
84
    incr errcnt [rlc errcnt -clear]
85
    return $errcnt
86
  }
87
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.