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

Subversion Repositories w11

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

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 21 wfjm
# $Id: test_rbtest_sim.tcl 516 2013-05-05 21:24:52Z mueller $
2 11 wfjm
#
3 21 wfjm
# Copyright 2011-2013 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
4 11 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-04-17   376   1.0    Initial version
17
#
18
 
19
package provide rbemon 1.0
20
 
21
package require rbtest
22
 
23
namespace eval rbemon {
24
  #
25
  # some simple tests against rbd_tester registers in sim mode
26
  #
27
  proc test_rbtest_sim {} {
28
    set esdval 0x00
29
    set esdmsk [regbld rlink::STAT {stat -1}]
30
    #
31
    set errcnt 0
32
    rlc errcnt -clear
33
    #
34
    rlc log "rbemon::test_rbtest_sim - start"
35
    #
36
    #-------------------------------------------------------------------------
37
    rlc log "  test 1: write to te.data, verify that transitions seen"
38
    set bsize 25
39
    #
40
    rlc exec -wreg em.rdiv 0 -estat $esdval $esdmsk
41
    rlc log "    - data - 01 10 va00 va01 va02 va03 va04 va05 va06 va07 va08 va09"
42
    #
43
    # Note: avoid chars which will be escpaped, like 10000000, for this test
44
    #
45
    foreach {pat ena01 ena10 exp} \
46
      [list [bvi b 00000000] 1 1 [list 0 0 0 0 0 0 0 0 1 0]\
47
            [bvi b 00000001] 1 1 [list 1 1 0 0 0 0 0 0 1 0]\
48
            [bvi b 00000010] 1 1 [list 0 1 1 0 0 0 0 0 1 0]\
49
            [bvi b 00000100] 1 1 [list 0 0 1 1 0 0 0 0 1 0]\
50
            [bvi b 00001000] 1 1 [list 0 0 0 1 1 0 0 0 1 0]\
51
            [bvi b 00010000] 1 1 [list 0 0 0 0 1 1 0 0 1 0]\
52
            [bvi b 00100000] 1 1 [list 0 0 0 0 0 1 1 0 1 0]\
53
            [bvi b 01000000] 1 1 [list 0 0 0 0 0 0 1 1 1 0]\
54
            [bvi b 11111111] 1 1 [list 1 0 0 0 0 0 0 0 0 0]\
55
            [bvi b 11111110] 1 1 [list 0 1 0 0 0 0 0 0 0 0]\
56
            [bvi b 01010101] 1 1 [list 1 1 1 1 1 1 1 1 1 0]\
57
            [bvi b 00110011] 1 1 [list 1 0 1 0 1 0 1 0 1 0]\
58
            [bvi b 00000001] 0 1 [list 0 1 0 0 0 0 0 0 0 0]\
59
            [bvi b 00000001] 1 0 [list 1 0 0 0 0 0 0 0 1 0]\
60
            [bvi b 01010101] 0 1 [list 0 1 0 1 0 1 0 1 0 0]\
61
            [bvi b 01010101] 1 0 [list 1 0 1 0 1 0 1 0 1 0]\
62
       ] {
63
      set bdata {}
64
      for {set i 0} {$i < $bsize} {incr i} {
65 21 wfjm
        lappend bdata [expr {( $pat << 8 ) | $pat}]
66 11 wfjm
      }
67
 
68
      rbemon::clear
69
      rbemon::start $ena01 $ena10
70
      rlc exec -wblk te.data $bdata -estat $esdval $esdmsk
71
      rbemon::stop
72
 
73
      set edata [rbemon::read 10]
74
 
75
      set oline "    "
76
      set pafa  "OK"
77
      append oline [pbvi b8 $pat]
78
      append oline [format "  %d  %d" $ena01 $ena10]
79
      for {set i 0} {$i < 10} {incr i} {
80
        set ebin [lindex $edata $i]
81
        set eexp [lindex $exp   $i]
82
        append oline [format " %3d" $ebin]
83
        if {($eexp != 0 && $ebin <  2 * $bsize) ||
84
            ($eexp == 0 && $ebin >= 2 * $bsize)} {
85
          append oline "#"
86
          set pafa "FAIL"
87
          incr errcnt
88
        } else {
89
          append oline "!"
90
        }
91
      }
92
      append oline "  "
93
      append oline $pafa
94
      rlc log $oline
95
    }
96
    #
97
    #-------------------------------------------------------------------------
98
    incr errcnt [rlc errcnt -clear]
99
    return $errcnt
100
  }
101
}

powered by: WebSVN 2.1.0

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