Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
M
MasterFIP - Testing
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Projects
MasterFIP - Testing
Commits
70b0f243
Commit
70b0f243
authored
Jun 01, 2017
by
Marek Gumiński
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Some clening in test02
parent
43ed4fc8
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
38 additions
and
47 deletions
+38
-47
fmcmasterfip.py
python/fmcmasterfip.py
+2
-2
test02.py
python/test02.py
+36
-45
No files found.
python/fmcmasterfip.py
View file @
70b0f243
...
@@ -234,13 +234,13 @@ class fmcmasterfip:
...
@@ -234,13 +234,13 @@ class fmcmasterfip:
# Send ID_DAT
# Send ID_DAT
def
send_id_dat
(
self
,
varid
):
def
send_id_dat
(
self
,
varid
,
flen
=
2
):
self
.
fipcore
.
write_regname
(
'tx_ctrl'
,
1
)
self
.
fipcore
.
write_regname
(
'tx_ctrl'
,
1
)
self
.
fipcore
.
write_regname
(
'tx_ctrl'
,
0
)
self
.
fipcore
.
write_regname
(
'tx_ctrl'
,
0
)
self
.
fipcore
.
write_regname
(
'tx_payld_ctrl'
,
0x3
)
self
.
fipcore
.
write_regname
(
'tx_payld_ctrl'
,
0x3
)
self
.
fipcore
.
write_regname
(
'tx_payld_reg1'
,
varid
)
self
.
fipcore
.
write_regname
(
'tx_payld_reg1'
,
varid
)
self
.
fipcore
.
write_regname
(
'tx_ctrl'
,
0x
202
)
self
.
fipcore
.
write_regname
(
'tx_ctrl'
,
0x
02
+
(
flen
<<
8
)
)
# Read RP_DAT
# Read RP_DAT
...
...
python/test02.py
View file @
70b0f243
...
@@ -24,13 +24,15 @@ def wait_transmission_termination( dut, ret = 1000, val = 2 ):
...
@@ -24,13 +24,15 @@ def wait_transmission_termination( dut, ret = 1000, val = 2 ):
util
.
info_msg
(
"Waiting for termination of transmission (inactive CD_N)"
)
util
.
info_msg
(
"Waiting for termination of transmission (inactive CD_N)"
)
for
i
in
xrange
(
ret
):
for
i
in
xrange
(
ret
):
if
dut
.
fippts
.
read_regname
(
'fd_rxcdn_cnt'
)
>
val
-
1
:
if
dut
.
fippts
.
read_regname
(
'fd_rxcdn_cnt'
)
>
=
val
:
# util.dbg
_msg("Finished waiting for cdn after %d tries" % i)
util
.
info
_msg
(
"Finished waiting for cdn after
%
d tries"
%
i
)
break
break
else
:
else
:
time
.
sleep
(
0.001
)
time
.
sleep
(
0.001
)
#
else
:
util
.
info_msg
(
"Didn't find specified number of frames (
%
d/
%
d)"
%
(
dut
.
fippts
.
read_regname
(
'fd_rxcdn_cnt'
),
val
)
)
for
i
in
xrange
(
ret
):
for
i
in
xrange
(
ret
):
if
dut
.
fippts
.
read_regname
(
'fd.cd_n'
)
==
1
:
if
dut
.
fippts
.
read_regname
(
'fd.cd_n'
)
==
1
:
util
.
info_msg
(
"CD_N line did go high after transmission termination after
%
d tries."
%
i
)
util
.
info_msg
(
"CD_N line did go high after transmission termination after
%
d tries."
%
i
)
...
@@ -148,10 +150,10 @@ def test_cdn( dut, maxtries = 50 ):
...
@@ -148,10 +150,10 @@ def test_cdn( dut, maxtries = 50 ):
dut
.
send_id_dat
(
0x7F14
)
dut
.
send_id_dat
(
0x7F14
)
time
.
sleep
(
1
)
time
.
sleep
(
1
)
det
=
dut
.
fippts
.
read_regname
(
'fd_rxcdn_cnt'
)
after
=
dut
.
fippts
.
read_regname
(
'fd_rxcdn_cnt'
)
util
.
info_msg
(
"CD_N counter value after transmission:
%
d"
%
before
)
util
.
info_msg
(
"CD_N counter value after transmission:
%
d"
%
after
)
det
=
det
-
before
det
=
after
-
before
if
det
==
2
:
if
det
==
2
:
test_result
[
'CD_N during transmission'
]
=
1
;
test_result
[
'CD_N during transmission'
]
=
1
;
...
@@ -161,7 +163,7 @@ def test_cdn( dut, maxtries = 50 ):
...
@@ -161,7 +163,7 @@ def test_cdn( dut, maxtries = 50 ):
test_result
[
'CD_N during transmission'
]
=
0
;
test_result
[
'CD_N during transmission'
]
=
0
;
util
.
err_msg
(
"CD_N NOT detected during transmission"
)
util
.
err_msg
(
"CD_N NOT detected during transmission"
)
wait_transmission_termination
(
dut
)
wait_transmission_termination
(
dut
,
100
,
after
)
return
test_result
return
test_result
...
@@ -195,18 +197,17 @@ def test_txerr( dut, box, maxtries = 50 ):
...
@@ -195,18 +197,17 @@ def test_txerr( dut, box, maxtries = 50 ):
########################################################################
########################################################################
util
.
info_msg
(
"
\n
Checking if TX_ERR is not going active during normal transmission"
)
util
.
info_msg
(
"
\n
Checking if TX_ERR is not going active during normal transmission"
)
dut
.
rst_core
()
dut
.
rst_core
()
util
.
info_msg
(
"TX_ERR counter before transmission:
%
d"
%
dut
.
fippts
.
read_regname
(
'fd_txerr_cnt'
)
)
util
.
info_msg
(
"TX_ERR counter before transmission:
%
d"
%
dut
.
fippts
.
read_regname
(
'fd_txerr_cnt'
)
)
dut
.
send_id_dat
(
0x7F14
)
dut
.
send_id_dat
(
0x7F14
)
wait_transmission_termination
(
dut
,
100
,
2
)
time
.
sleep
(
1
)
# time.sleep(1)
[
stat
,
ctrl
,
data
]
=
dut
.
read_rp_dat
()
[
stat
,
ctrl
,
data
]
=
dut
.
read_rp_dat
()
tmp
=
verify_rx_status
(
stat
)
tmp
=
verify_rx_status
(
stat
)
test_result
=
util
.
merge_dictionaries_prefix
(
test_result
,
tmp
,
""
,
"Transmission verification during TX_ERR test. "
)
test_result
=
util
.
merge_dictionaries_prefix
(
test_result
,
tmp
,
""
,
"Transmission verification during TX_ERR test. "
)
time
.
sleep
(
0.5
)
#
time.sleep(0.5)
det
=
dut
.
fippts
.
read_regname
(
'fd_txerr_cnt'
)
det
=
dut
.
fippts
.
read_regname
(
'fd_txerr_cnt'
)
...
@@ -226,20 +227,19 @@ def test_txerr( dut, box, maxtries = 50 ):
...
@@ -226,20 +227,19 @@ def test_txerr( dut, box, maxtries = 50 ):
# corrupting serial output!!!!!
# corrupting serial output!!!!!
dut
.
fippts
.
write_regname
(
'tx_corrupt'
,
1
)
dut
.
fippts
.
write_regname
(
'tx_corrupt'
,
1
)
dut
.
send_id_dat
(
0x7F14
)
dut
.
fipcore
.
write_regname
(
'tx_ctrl'
,
1
)
dut
.
fipcore
.
write_regname
(
'tx_ctrl'
,
0
)
dut
.
fipcore
.
write_regname
(
'tx_payld_ctrl'
,
0x3
)
dut
.
fipcore
.
write_regname
(
'tx_payld_reg1'
,
0x7F14
)
dut
.
fipcore
.
write_regname
(
'tx_ctrl'
,
0x202
)
time
.
sleep
(
0.5
)
# cant use wait_transmission_termination since there is no transmission
time
.
sleep
(
1
)
det
=
dut
.
fippts
.
read_regname
(
'fd_txerr_cnt'
)
det
=
dut
.
fippts
.
read_regname
(
'fd_txerr_cnt'
)
util
.
info_msg
(
"Number of frames transmitted:
%
d (should be zero, since data line is corrupted)"
%
dut
.
fippts
.
read_regname
(
'fd_rxcdn_cnt'
)
)
# data line is hold constant, so that invalid frame is being transmitted
# data line is hold constant, so that invalid frame is being transmitted
if
det
>
0
:
if
det
>
0
:
test_result
[
'TX_ERR during corrupted transmission'
]
=
1
;
test_result
[
'TX_ERR during corrupted transmission'
]
=
1
;
util
.
info_msg
(
"TX_ERR counter after corrupted transmission:
%
d"
%
det
)
util
.
info_msg
(
"TX_ERR counter after corrupted transmission:
%
d"
%
det
)
else
:
else
:
test_result
[
'TX_ERR during corrupted transmission'
]
=
0
;
test_result
[
'TX_ERR during corrupted transmission'
]
=
0
;
...
@@ -248,7 +248,7 @@ def test_txerr( dut, box, maxtries = 50 ):
...
@@ -248,7 +248,7 @@ def test_txerr( dut, box, maxtries = 50 ):
# fixing serial output!!!!!
# fixing serial output!!!!!
dut
.
fippts
.
write_regname
(
'tx_corrupt'
,
0
)
dut
.
fippts
.
write_regname
(
'tx_corrupt'
,
0
)
wait_transmission_termination
(
dut
)
wait_transmission_termination
(
dut
,
100
,
0
)
return
test_result
return
test_result
...
@@ -278,12 +278,9 @@ def test_wdgn( dut ):
...
@@ -278,12 +278,9 @@ def test_wdgn( dut ):
########################################################################
########################################################################
util
.
info_msg
(
"
\n
Checking if WDG_N becomes active during normal transmission"
)
util
.
info_msg
(
"
\n
Checking if WDG_N becomes active during normal transmission"
)
dut
.
rst_core
()
dut
.
rst_core
()
dut
.
fipcore
.
write_regname
(
'tx_ctrl'
,
1
)
dut
.
fipcore
.
write_regname
(
'tx_ctrl'
,
0
)
dut
.
send_id_dat
(
0x7F14
,
2
)
dut
.
fipcore
.
write_regname
(
'tx_payld_ctrl'
,
0x3
)
dut
.
fipcore
.
write_regname
(
'tx_payld_reg1'
,
0x7F14
)
dut
.
fipcore
.
write_regname
(
'tx_ctrl'
,
0x202
)
wait_transmission_termination
(
dut
,
100
,
2
)
wait_transmission_termination
(
dut
,
100
,
2
)
tmp
=
dut
.
fippts
.
read_regname
(
'fd.wdgn_latch'
)
tmp
=
dut
.
fippts
.
read_regname
(
'fd.wdgn_latch'
)
...
@@ -297,25 +294,23 @@ def test_wdgn( dut ):
...
@@ -297,25 +294,23 @@ def test_wdgn( dut ):
###################### test ##################################################
###################### test ##################################################
util
.
info_msg
(
"
\n
Checking if WDG_N becomes active during very long transmission"
)
util
.
info_msg
(
"
\n
Checking if WDG_N becomes active during very long transmission"
)
dut
.
rst_core
()
dut
.
rst_core
()
dut
.
rst_fd
()
time
.
sleep
(
1
)
dut
.
fipcore
.
write_regname
(
'tx_ctrl'
,
1
)
dut
.
fipcore
.
write_regname
(
'tx_ctrl'
,
0
)
dut
.
send_id_dat
(
0x7F14
,
0xffff
)
dut
.
fipcore
.
write_regname
(
'tx_payld_ctrl'
,
0x3
)
dut
.
fipcore
.
write_regname
(
'tx_payld_reg1'
,
0x7F14
)
dut
.
fipcore
.
write_regname
(
'tx_ctrl'
,
0xFFF02
)
wait_transmission_termination
(
dut
,
100
,
1
)
wait_transmission_termination
(
dut
,
100
0
,
2
)
tmp
=
dut
.
fippts
.
read_regname
(
'fd.wdgn_latch'
)
#
tmp = dut.fippts.read_regname('fd.wdgn_latch')
if
tmp
==
1
:
#
if tmp == 1:
util
.
err_msg
(
"WDG_N did not go active during corrupted transmission
\n
Can't continue with FieldDrive RST_N test"
)
#
util.err_msg( "WDG_N did not go active during corrupted transmission\nCan't continue with FieldDrive RST_N test" )
result
[
'WDG_N during long transmission'
]
=
0
#
result['WDG_N during long transmission'] = 0
result
[
'RST_N'
]
=
0
#
result['RST_N'] = 0
return
result
#
return result
else
:
#
else:
util
.
info_msg
(
"WDG_N went active during corrupted transmission"
)
#
util.info_msg( "WDG_N went active during corrupted transmission" )
result
[
'WDG_N during long transmission'
]
=
1
#
result['WDG_N during long transmission'] = 1
tmp
=
dut
.
fippts
.
read_regname
(
'fd.wdgn'
)
tmp
=
dut
.
fippts
.
read_regname
(
'fd.wdgn'
)
...
@@ -391,8 +386,6 @@ def main (card=None, default_directory='.',suite=None,serial=""):
...
@@ -391,8 +386,6 @@ def main (card=None, default_directory='.',suite=None,serial=""):
# transmit corrupted frame - make sure that tx error is active
# transmit corrupted frame - make sure that tx error is active
# frame is corrupted by forcing serial data output to constant 0 in gateware
# frame is corrupted by forcing serial data output to constant 0 in gateware
util
.
section_msg
(
"Testing FD TX_ERR line"
)
util
.
section_msg
(
"Testing FD TX_ERR line"
)
dut
.
rst_core
()
wait_transmission_termination
(
dut
)
tmp
=
test_txerr
(
dut
,
box
)
tmp
=
test_txerr
(
dut
,
box
)
test_results
=
dict
(
test_results
.
items
()
+
tmp
.
items
()
)
test_results
=
dict
(
test_results
.
items
()
+
tmp
.
items
()
)
del
tmp
del
tmp
...
@@ -403,8 +396,6 @@ def main (card=None, default_directory='.',suite=None,serial=""):
...
@@ -403,8 +396,6 @@ def main (card=None, default_directory='.',suite=None,serial=""):
# transmit regular frame and make sure that FD WDG line is inactive
# transmit regular frame and make sure that FD WDG line is inactive
# transmit frame long enough to activate watchdog
# transmit frame long enough to activate watchdog
util
.
section_msg
(
"Testing FD WDG_N line"
)
util
.
section_msg
(
"Testing FD WDG_N line"
)
dut
.
rst_core
()
wait_transmission_termination
(
dut
)
tmp
=
test_wdgn
(
dut
)
tmp
=
test_wdgn
(
dut
)
test_results
=
dict
(
test_results
.
items
()
+
tmp
.
items
()
)
test_results
=
dict
(
test_results
.
items
()
+
tmp
.
items
()
)
del
tmp
del
tmp
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment