Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
H
HDL
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Jira
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Container registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
RTSD
HDL
Commits
a5e91a5f
Commit
a5e91a5f
authored
10 years ago
by
Kenneth Hiemstra
Browse files
Options
Downloads
Patches
Plain Diff
changed the --cmd 0,1,2,3... enumuration list to --seq REGMAP,INFO,WDI,...
parent
be463d78
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
boards/uniboard1/designs/unb1_test/tb/python/tc_unb1_test.py
+63
-59
63 additions, 59 deletions
boards/uniboard1/designs/unb1_test/tb/python/tc_unb1_test.py
with
63 additions
and
59 deletions
boards/uniboard1/designs/unb1_test/tb/python/tc_unb1_test.py
+
63
−
59
View file @
a5e91a5f
...
@@ -74,12 +74,20 @@ def show_compare_arrays(tc,a,b):
...
@@ -74,12 +74,20 @@ def show_compare_arrays(tc,a,b):
tc
.
append_log
(
5
,
'
Result:
\n
%s
'
%
compared
)
tc
.
append_log
(
5
,
'
Result:
\n
%s
'
%
compared
)
return
(
not
False
in
compared
)
return
(
not
False
in
compared
)
def
test_BG_to_DB
(
tc
,
io
,
cmd
,
use_pps
=
False
):
def
test_BG_to_DB
(
tc
,
io
,
cmd
):
tc
.
set_section_id
(
'
Test BG -
'
)
tc
.
set_section_id
(
'
Test BG -
'
)
tc
.
append_log
(
3
,
'
>>>
'
)
tc
.
append_log
(
3
,
'
>>>
'
)
tc
.
append_log
(
1
,
'
>>> %s
'
%
help_text
(
tc
,
io
,
cmd
))
tc
.
append_log
(
1
,
'
>>> %s
'
%
help_text
(
tc
,
io
,
cmd
))
tc
.
append_log
(
3
,
'
>>>
'
)
tc
.
append_log
(
3
,
'
>>>
'
)
if
tc
.
number
==
1
:
use_pps
=
True
tc
.
append_log
(
1
,
'
>>> Using PPS
'
)
else
:
use_pps
=
False
tc
.
append_log
(
1
,
'
>>> NOT Using PPS
'
)
if
use_pps
==
True
:
ppsh
=
pi_ppsh
.
PiPpsh
(
tc
,
io
)
if
use_pps
==
True
:
ppsh
=
pi_ppsh
.
PiPpsh
(
tc
,
io
)
tc
.
set_section_id
(
'
Read -
'
)
tc
.
set_section_id
(
'
Read -
'
)
...
@@ -143,10 +151,6 @@ def test_BG_to_DB(tc,io,cmd,use_pps=False):
...
@@ -143,10 +151,6 @@ def test_BG_to_DB(tc,io,cmd,use_pps=False):
show_compare_arrays
(
tc
,
bg_ram
,
db_ram
)
show_compare_arrays
(
tc
,
bg_ram
,
db_ram
)
Bg
.
write_disable
()
Bg
.
write_disable
()
def
test_BG_to_DB_pps
(
tc
,
io
,
cmd
):
return
test_BG_to_DB
(
tc
,
io
,
cmd
,
use_pps
=
True
)
def
test_tr_xaui
(
tc
,
io
,
cmd
):
def
test_tr_xaui
(
tc
,
io
,
cmd
):
tc
.
set_section_id
(
'
Read tr xaui status -
'
)
tc
.
set_section_id
(
'
Read tr xaui status -
'
)
...
@@ -264,6 +268,8 @@ def test_wdi(tc,io,cmd):
...
@@ -264,6 +268,8 @@ def test_wdi(tc,io,cmd):
Wdi
=
pi_wdi
.
PiWdi
(
tc
,
io
)
Wdi
=
pi_wdi
.
PiWdi
(
tc
,
io
)
Wdi
.
write_wdi_override
()
Wdi
.
write_wdi_override
()
tc
.
append_log
(
3
,
''
)
tc
.
append_log
(
3
,
''
)
tc
.
append_log
(
3
,
'
>>> Booting...
'
)
tc
.
sleep
(
5.0
)
...
@@ -285,6 +291,8 @@ def test_remu(tc,io,cmd):
...
@@ -285,6 +291,8 @@ def test_remu(tc,io,cmd):
if
dummy_tc
.
get_result
()
==
'
FAILED
'
:
if
dummy_tc
.
get_result
()
==
'
FAILED
'
:
tc
.
append_log
(
1
,
'
Result=%s but ignoring this
'
%
dummy_tc
.
get_result
())
tc
.
append_log
(
1
,
'
Result=%s but ignoring this
'
%
dummy_tc
.
get_result
())
tc
.
append_log
(
3
,
'
>>> Booting...
'
)
tc
.
sleep
(
5.0
)
tc
.
append_log
(
3
,
''
)
tc
.
append_log
(
3
,
''
)
...
@@ -325,63 +333,55 @@ def test_flash(tc,io,cmd):
...
@@ -325,63 +333,55 @@ def test_flash(tc,io,cmd):
def
sleep
(
tc
,
io
,
cmd
):
def
sleep
(
tc
,
io
,
cmd
):
tc
.
set_section_id
(
'
%s -
'
%
cmd
_text
(
cmd
)
)
tc
.
set_section_id
(
'
%s -
'
%
cmd
)
tc
.
append_log
(
1
,
'
>>> %s
'
%
help_text
(
tc
,
io
,
cmd
))
tc
.
append_log
(
1
,
'
>>> %s
'
%
help_text
(
tc
,
io
,
cmd
))
if
cmd
==
0
:
if
cmd
==
'
sleep1
'
:
tc
.
sleep
(
1.0
)
tc
.
sleep
(
1.0
)
elif
cmd
==
1
:
elif
cmd
==
'
sleep5
'
:
tc
.
sleep
(
5.0
)
tc
.
sleep
(
5.0
)
def
show_help
(
tc
,
io
,
cmd
):
def
show_help
(
tc
,
io
,
cmd
):
help_text
(
tc
,
io
,
100
)
tc
.
set_section_id
(
'
%s -
'
%
cmd
)
def
show_example
(
tc
,
io
,
cmd
):
tc
.
append_log
(
1
,
'
>>> %s
'
%
help_text
(
tc
,
io
,
cmd
))
tc
.
append_log
(
1
,
'
>>> %s
'
%
help_text
(
tc
,
io
,
cmd
))
help_text
(
tc
,
io
,
101
)
# Avaliable commands
# Avaliable commands
Cmd
=
{
Cmd
=
dict
()
0
:
(
'
SLEEP1
'
,
sleep
,
'
Sleep 1 second
'
,
''
),
Cmd
[
'
REGMAP
'
]
=
(
read_regmap
,
'
using pi_system_info to read register info (access PIO_SYSTEM_INFO) and store REGMAPs
'
,
''
)
1
:
(
'
SLEEP5
'
,
sleep
,
'
Sleep 5 seconds
'
,
''
),
Cmd
[
'
INFO
'
]
=
(
test_info
,
'
using pi_system_info to read system info (access PIO_SYSTEM_INFO)
'
,
'
(-s for expected design_name)
'
)
2
:
(
'
REGMAP
'
,
read_regmap
,
'
using pi_system_info to read register info (access PIO_SYSTEM_INFO) and store REGMAPs
'
,
''
),
Cmd
[
'
FLASH
'
]
=
(
test_flash
,
'
using pi_epcs to program/verify flash
'
,
'
(-s for .rbf file)
'
)
3
:
(
'
INFO
'
,
test_info
,
'
using pi_system_info to read system info (access PIO_SYSTEM_INFO)
'
,
'
(-s for expected design_name)
'
),
Cmd
[
'
SENSORS
'
]
=
(
test_sensors
,
'
using pi_unb_sens to readout sensors (access REG_UNB_SENS)
'
,
''
)
4
:
(
'
FLASH
'
,
test_flash
,
'
using pi_epcs to program/verify flash
'
,
'
(-s for .rbf file)
'
),
Cmd
[
'
PPSH
'
]
=
(
test_ppsh
,
'
using pi_ppsh to read PPSH capture count (access PIO_PPS)
'
,
''
)
5
:
(
'
SENSORS
'
,
test_sensors
,
'
using pi_unb_sens to readout sensors (access REG_UNB_SENS)
'
,
''
),
Cmd
[
'
ETH
'
]
=
(
test_eth
,
'
using pi_eth to read eth status
'
,
''
)
6
:
(
'
PPSH
'
,
test_ppsh
,
'
using pi_ppsh to read PPSH capture count (access PIO_PPS)
'
,
''
),
Cmd
[
'
REMU
'
]
=
(
test_remu
,
'
using pi_remu to load user image (access REG_REMU)
'
,
''
)
7
:
(
'
ETH
'
,
test_eth
,
'
using pi_eth to read eth status
'
,
''
),
Cmd
[
'
WDI
'
]
=
(
test_wdi
,
'
using pi_wdi to reset to image in bank 0 (access REG_WDI)
'
,
''
)
8
:
(
'
REMU
'
,
test_remu
,
'
using pi_remu to load user image (access REG_REMU)
'
,
''
),
Cmd
[
'
XAUI
'
]
=
(
test_tr_xaui
,
'
using pi_tr_xaui to read xaui status (access REG_TR_XAUI)
'
,
''
)
9
:
(
'
WDI
'
,
test_wdi
,
'
using pi_wdi to reset to image in bank 0 (access REG_WDI)
'
,
''
),
Cmd
[
'
10GBE
'
]
=
(
test_tr_10GbE
,
'
using pi_tr_10GbE to read 10GbE status (access REG_TR_10GBE)
'
,
''
)
10
:
(
'
XAUI
'
,
test_tr_xaui
,
'
using pi_tr_xaui to read xaui status (access REG_TR_XAUI)
'
,
''
),
Cmd
[
'
BSN
'
]
=
(
test_bsn_mon
,
'
using pi_bsn_monitor to read BSN monitor (access REG_BSN_MONITOR)
'
,
''
)
11
:
(
'
10GBE
'
,
test_tr_10GbE
,
'
using pi_tr_10GbE to read 10GbE status (access REG_TR_10GBE)
'
,
''
),
Cmd
[
'
BGDB
'
]
=
(
test_BG_to_DB
,
'
using BG (pi_diag_block_gen.py) and DB (pi_diag_data_buffer.py)
'
,
'
(--sp for addressing streams, -n1 for use pps)
'
)
12
:
(
'
BSN
'
,
test_bsn_mon
,
'
using pi_bsn_monitor to read BSN monitor (access REG_BSN_MONITOR)
'
,
''
),
Cmd
[
'
sleep1
'
]
=
(
sleep
,
'
Sleep 1 second
'
,
''
)
13
:
(
'
BGDB
'
,
test_BG_to_DB
,
'
using BG (pi_diag_block_gen.py) and DB (pi_diag_data_buffer.py)
'
,
'
(--sp for addressing streams)
'
),
Cmd
[
'
sleep5
'
]
=
(
sleep
,
'
Sleep 5 seconds
'
,
''
)
14
:
(
'
BGDBpps
'
,
test_BG_to_DB_pps
,
'
using BG (pi_diag_block_gen.py) and DB (pi_diag_data_buffer.py) using PPS
'
,
'
(--sp for addressing streams)
'
),
Cmd
[
'
example
'
]
=
(
show_help
,
'
show several example commands
'
,
''
)
15
:
(
'
EXAMPLE
'
,
show_example
,
'
show several example commands
'
,
''
),
Cmd
[
'
help
'
]
=
(
show_help
,
'
show help on commands
'
,
''
)
100
:
(
'
HELP
'
,
show_help
,
'
show help on commands
'
,
''
)
}
def
cmd_text
(
cmd
):
return
Cmd
[
cmd
][
0
]
def
help_text
(
tc
,
io
,
cmd
):
def
help_text
(
tc
,
io
,
cmd
):
str
=
''
str
=
''
if
cmd
==
100
:
if
cmd
==
'
help
'
:
tc
.
append_log
(
0
,
'
>>> Usage [--
cmd
<command
number or series of numbers
>]:
'
)
tc
.
append_log
(
0
,
'
>>> Usage [--
seq
<command
(s) separated by
"
,
"
>]:
'
)
for
cmd
in
sorted
(
Cmd
):
for
cmd
in
sorted
(
Cmd
):
tc
.
append_log
(
0
,
'
. %
d : %s:
%s
:
%s
'
%
(
cmd
,
Cmd
[
cmd
][
0
],
Cmd
[
cmd
][
2
]
,
Cmd
[
cmd
][
3
]
))
tc
.
append_log
(
0
,
'
. %
s
\t
%s %s
'
%
(
cmd
,
Cmd
[
cmd
][
1
],
Cmd
[
cmd
][
2
]))
elif
cmd
==
101
:
#
example
s
elif
cmd
==
'
example
'
:
tc
.
append_log
(
0
,
''
)
tc
.
append_log
(
0
,
''
)
tc
.
append_log
(
0
,
'
[reset, load user img] sequence: --cmd 2,9,1,2,9,1,2,8,1,2
'
)
tc
.
append_log
(
0
,
'
[reset, load user img] sequence: --seq REGMAP,WDI,REGMAP,REMU,REGMAP,INFO
'
)
# ^fact ^fact ^user
tc
.
append_log
(
0
,
'
[flash+start user img] sequence: --seq FLASH,WDI,REGMAP,REMU,REGMAP,INFO -s file.rbf
'
)
tc
.
append_log
(
0
,
'
[flash+start user img] sequence: --cmd 2,4,9,1,2,8,1,2 -s file.rbf
'
)
tc
.
append_log
(
0
,
'
[re-read info,sensors] sequence: --seq INFO,PPSH,SENSORS --rep 10 -s expected_design_name
'
)
# ^fact ^user
tc
.
append_log
(
0
,
'
[reset to factory] sequence: --seq WDI,REGMAP
'
)
tc
.
append_log
(
0
,
'
[re-read info,sensors] sequence: --cmd 3,5,6 --rep 10 -s expected_design_name
'
)
tc
.
append_log
(
0
,
'
[program user image] sequence: --seq FLASH -s file.rbf
'
)
tc
.
append_log
(
0
,
'
[reset to factory] sequence: --cmd 2,9,1,2
'
)
tc
.
append_log
(
0
,
'
[load user image] sequence: --seq REMU,REGMAP
'
)
tc
.
append_log
(
0
,
'
[program user image] sequence: --cmd 4 -s file.rbf
'
)
tc
.
append_log
(
0
,
'
[modelsim BG-DB test] arguments: --unb 0 --fn 0 --seq BGDB --sim --sp 0:2
'
)
tc
.
append_log
(
0
,
'
[load user image] sequence: --cmd 8,1,2
'
)
else
:
else
:
str
=
Cmd
[
cmd
][
2
]
str
=
Cmd
[
cmd
][
1
]
return
str
return
str
...
@@ -395,15 +395,13 @@ tc = test_case.Testcase('TB - ', '')
...
@@ -395,15 +395,13 @@ tc = test_case.Testcase('TB - ', '')
tc
.
set_result
(
'
PASSED
'
)
tc
.
set_result
(
'
PASSED
'
)
dgnName
=
tc
.
gpString
dgnName
=
tc
.
gpString
tc
.
append_log
(
3
,
'
>>>
'
)
tc
.
append_log
(
3
,
'
>>>
'
)
tc
.
append_log
(
1
,
'
>>> Title : Test bench
for tc_unb1_test.py
on nodes %s, %s
'
%
(
tc
.
unb_nodes_string
(
''
),
dgnName
))
tc
.
append_log
(
1
,
'
>>> Title : Test bench
(%s)
on nodes %s, %s
'
%
(
sys
.
argv
[
0
],
tc
.
unb_nodes_string
(
''
),
dgnName
))
tc
.
append_log
(
3
,
'
>>>
'
)
tc
.
append_log
(
3
,
'
>>>
'
)
# Create access object for nodes
# Create access object for nodes
io
=
node_io
.
NodeIO
(
tc
.
nodeImages
,
tc
.
base_ip
)
io
=
node_io
.
NodeIO
(
tc
.
nodeImages
,
tc
.
base_ip
)
##################################################################################################################
##################################################################################################################
# Run tests
# Run tests
rep
=
0
rep
=
0
...
@@ -412,15 +410,21 @@ while rep < tc.repeat:
...
@@ -412,15 +410,21 @@ while rep < tc.repeat:
tc
.
append_log
(
3
,
''
)
tc
.
append_log
(
3
,
''
)
tc
.
append_log
(
2
,
'
Rep = %d
'
%
rep
)
tc
.
append_log
(
2
,
'
Rep = %d
'
%
rep
)
for
cmd
in
tc
.
commands
:
try
:
if
cmd
>
len
(
Cmd
):
cmd
=
100
# default to help_text
for
cmd
in
tc
.
sequence
:
tc
.
append_log
(
3
,
'
Next command: %d : %s: %s
'
%
(
cmd
,
Cmd
[
cmd
][
0
],
Cmd
[
cmd
][
2
]))
tc
.
append_log
(
3
,
'
Next command: %s : %s: %s
'
%
(
cmd
,
Cmd
[
cmd
][
1
],
Cmd
[
cmd
][
2
]))
if
cmd
==
2
:
# reload node_io:
if
cmd
==
'
INFO
'
:
# reload node_io:
io
=
Cmd
[
cmd
][
1
](
tc
,
io
,
cmd
)
io
=
Cmd
[
cmd
][
0
](
tc
,
io
,
cmd
)
else
:
else
:
Cmd
[
cmd
][
1
](
tc
,
io
,
cmd
)
Cmd
[
cmd
][
0
](
tc
,
io
,
cmd
)
except
KeyError
:
print
'
Unknown command:
'
,
cmd
cmd
=
'
help
'
Cmd
[
cmd
][
0
](
tc
,
io
,
cmd
)
except
:
print
'
Catched error:
'
,
sys
.
exc_info
()[
0
]
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment