Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
U
urv-core
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
3
Issues
3
List
Board
Labels
Milestones
Merge Requests
2
Merge Requests
2
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
urv-core
Commits
285d285f
Commit
285d285f
authored
Sep 12, 2022
by
Tristan Gingold
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
main.sv: rework timeout logic, add disabled traces
parent
63d1ad2c
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
20 additions
and
7 deletions
+20
-7
main.sv
tb/isa-testsuite/main.sv
+20
-7
No files found.
tb/isa-testsuite/main.sv
View file @
285d285f
...
...
@@ -113,6 +113,8 @@ module ICpuTestWrapper
int
f
=
$
fopen
(
filename
,
"r"
)
;
int
n
,
i
;
// $display("load %s %x", filename, f);
current_msg
=
""
;
test_complete
=
0
;
...
...
@@ -165,7 +167,10 @@ module ICpuTestWrapper
begin
// Read memory for insn
if
(
$
dist_uniform
(
seed
,
0
,
100
)
<=
100
)
begin
im_data
<=
mem
[(
im_addr
/
4
)
%
mem_size
]
;
logic
[
31
:
0
]
dat
;
dat
=
mem
[(
im_addr
/
4
)
%
mem_size
]
;
// $display("imem @%h: %08x", im_addr, dat);
im_data
<=
dat
;
im_valid
<=
1
;
end
else
im_valid
<=
0
;
...
...
@@ -181,6 +186,7 @@ module ICpuTestWrapper
mem
[(
dm_addr
/
4
)
%
mem_size
][
23
:
16
]
<=
dm_data_s
[
23
:
16
]
;
if
(
dm_data_select
[
3
])
mem
[(
dm_addr
/
4
)
%
mem_size
][
31
:
24
]
<=
dm_data_s
[
31
:
24
]
;
// $display("dmem @%h: <- %08x", dm_addr, dm_data_s);
end
dm_store_done_d
<=
{
dm_store_done_d
[
0
]
,
dm_store
};
...
...
@@ -208,6 +214,7 @@ module ICpuTestWrapper
// instruction mem I/F
.
im_addr_o
(
im_addr_m
[
i
])
,
.
im_rd_o
()
,
.
im_data_i
(
im_data
)
,
.
im_valid_i
(
im_valid
)
,
...
...
@@ -245,7 +252,7 @@ module ICpuTestWrapper
begin
current_msg
=
$
sformatf
(
"%s%c"
,
current_msg
,
chr
)
;
end
else
if
(
DUT
.
dm_addr
==
'h100004
)
else
if
(
dm_addr
==
'h100004
)
begin
test_complete
=
1
;
end
...
...
@@ -275,11 +282,11 @@ class ISATestRunner extends LoggerClient;
}
TestStatus
;
const
time
c_test_timeout
=
1
ms
;
task
automatic
runTest
(
string
filename
,
ref
TestStatus
status
,
ref
int
failedTest
)
;
automatic
time
t_start
=
$
time
;
automatic
integer
cnt
=
0
;
// $display("runTest task");
DUT
.
runTest
(
filename
)
;
failedTest
=
0
;
...
...
@@ -287,11 +294,14 @@ class ISATestRunner extends LoggerClient;
while
(
!
DUT
.
isTestComplete
()
)
begin
#
1u
s
;
if
(
$
time
-
t_start
>
c_test_timeout
)
if
(
cnt
>
10000
)
begin
status
=
R_TIMEOUT
;
$
display
(
"timeout, time=%t, msg=%s"
,
$
time
,
DUT
.
getTestResult
())
;
return
;
end
cnt
++;
end
if
($
sscanf
(
DUT
.
getTestResult
()
,
"Test %d failed"
,
failedTest
)
==
1
)
...
...
@@ -326,6 +336,8 @@ class ISATestRunner extends LoggerClient;
if
(
tests
[
i
][
0
]
==
"#"
||
tests
[
i
]
==
""
)
continue
;
// $display("Run %s", tests[i]);
runTest
(
{
test_dir
,
"/"
,
tests
[
i
]
},
status
,
failedTest
)
;
if
(
status
==
R_OK
)
...
...
@@ -334,6 +346,7 @@ class ISATestRunner extends LoggerClient;
begin
s
=
"Timeout (likely fail due to CPU freeze)"
;
failCount
++;
break
;
end
else
begin
s
=
$
sformatf
(
"FAIL (subtest %d)"
,
failedTest
)
;
failCount
++;
...
...
@@ -367,7 +380,7 @@ endclass // ISATestRunner
end
l
.
writeTestReport
(
"report.txt"
)
;
$
stop
;
end
...
...
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