-
Notifications
You must be signed in to change notification settings - Fork 0
/
RegIncr2stage_test.py
69 lines (56 loc) · 1.94 KB
/
RegIncr2stage_test.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#=========================================================================
# Regincr2stage_test
#=========================================================================
import random
from pymtl import *
from pclib.test import run_test_vector_sim
from RegIncr2stage import RegIncr2stage
#-------------------------------------------------------------------------
# test_small
#-------------------------------------------------------------------------
def test_small( dump_vcd ):
run_test_vector_sim( RegIncr2stage(), [
('in_ out*'),
[ 0x00, '?' ],
[ 0x03, '?' ],
[ 0x06, 0x02 ],
[ 0x00, 0x05 ],
[ 0x00, 0x08 ],
], dump_vcd )
#-------------------------------------------------------------------------
# test_large
#-------------------------------------------------------------------------
def test_large( dump_vcd ):
run_test_vector_sim( RegIncr2stage(), [
('in_ out*'),
[ 0xa0, '?' ],
[ 0xb3, '?' ],
[ 0xc6, 0xa2 ],
[ 0x00, 0xb5 ],
[ 0x00, 0xc8 ],
], dump_vcd )
#-------------------------------------------------------------------------
# test_overflow
#-------------------------------------------------------------------------
def test_overflow( dump_vcd ):
run_test_vector_sim( RegIncr2stage(), [
('in_ out*'),
[ 0x00, '?' ],
[ 0xfe, '?' ],
[ 0xff, 0x02 ],
[ 0x00, 0x00 ],
[ 0x00, 0x01 ],
], dump_vcd )
#-------------------------------------------------------------------------
# test_random
#-------------------------------------------------------------------------
def test_random( dump_vcd ):
test_vector_table = [( 'in_', 'out*' )]
last_result_0 = '?'
last_result_1 = '?'
for i in xrange(20):
rand_value = Bits( 8, random.randint(0,0xff) )
test_vector_table.append( [ rand_value, last_result_1 ] )
last_result_1 = last_result_0
last_result_0 = Bits( 8, rand_value + 2 )
run_test_vector_sim( RegIncr2stage(), test_vector_table, dump_vcd )