Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yosys-tests
Overview
Overview
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
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
yosys-tests
Commits
c32816fe
Commit
c32816fe
authored
Mar 06, 2018
by
Clifford Wolf
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add SVA firstmatch test
Signed-off-by: Clifford Wolf <clifford@clifford.at>
parent
2b0d0786
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
90 additions
and
1 deletions
+90
-1
verific/sva/Makefile
+1
-1
verific/sva/firstmatch.sv
+89
-0
No files found.
verific/sva/Makefile
View file @
c32816fe
TESTS
:=
intersect seq_and seq_or triggered
until
until_trig within
TESTS
:=
firstmatch
intersect seq_and seq_or triggered
until
until_trig within
all
:
$(addsuffix .status
,
$(TESTS))
all
:
$(addsuffix .status
,
$(TESTS))
grep
-H
.
*
.status | sed
's,.status:,\t,; s,PASS,pass,;'
| expand
-t20
grep
-H
.
*
.status | sed
's,.status:,\t,; s,PASS,pass,;'
| expand
-t20
...
...
verific/sva/firstmatch.sv
0 → 100644
View file @
c32816fe
module
sequencer
#(
// 01234567890123456789012345678901
parameter
[
32
*
8
-
1
:
0
]
trace_a
=
"________________________________"
,
parameter
[
32
*
8
-
1
:
0
]
trace_b
=
"________________________________"
,
parameter
[
32
*
8
-
1
:
0
]
trace_c
=
"________________________________"
,
parameter
[
32
*
8
-
1
:
0
]
trace_d
=
"________________________________"
)
(
input
clock
,
output
A
,
B
,
C
,
D
)
;
integer
t
=
0
;
always
@
(
posedge
clock
)
t
<=
t
+
(
t
<
31
)
;
assign
A
=
trace_a
[
8
*
(
31
-
t
)
+:
8
]
==
"-"
;
assign
B
=
trace_b
[
8
*
(
31
-
t
)
+:
8
]
==
"-"
;
assign
C
=
trace_c
[
8
*
(
31
-
t
)
+:
8
]
==
"-"
;
assign
D
=
trace_d
[
8
*
(
31
-
t
)
+:
8
]
==
"-"
;
endmodule
module
pass_00
(
input
clock
)
;
wire
A
,
B
,
C
,
D
;
sequencer
#(
// 01234567890123456789012345678901
.
trace_a
(
"_-______________________________"
)
,
.
trace_b
(
"__-------------_________________"
)
,
.
trace_c
(
"______-________-________________"
)
,
.
trace_d
(
"_______-________________________"
)
)
uut
(
clock
,
A
,
B
,
C
,
D
)
;
assert
property
(
@
(
posedge
clock
)
(
first_match
(
A
##
1
B
[
*
]
##
1
C
)
|=>
D
))
;
endmodule
module
fail_01
(
input
clock
)
;
wire
A
,
B
,
C
,
D
;
sequencer
#(
// 01234567890123456789012345678901
.
trace_a
(
"_-______________________________"
)
,
.
trace_b
(
"__-------------_________________"
)
,
.
trace_c
(
"______-________-________________"
)
,
.
trace_d
(
"_______-________________________"
)
)
uut
(
clock
,
A
,
B
,
C
,
D
)
;
assert
property
(
@
(
posedge
clock
)
(
A
##
1
B
[
*
]
##
1
C
|=>
D
))
;
endmodule
module
fail_02
(
input
clock
)
;
wire
A
,
B
,
C
,
D
;
sequencer
#(
// 01234567890123456789012345678901
.
trace_a
(
"_-___-__________________________"
)
,
.
trace_b
(
"__-------------_________________"
)
,
.
trace_c
(
"______-____-___-________________"
)
,
.
trace_d
(
"_______-________________________"
)
)
uut
(
clock
,
A
,
B
,
C
,
D
)
;
assert
property
(
@
(
posedge
clock
)
(
first_match
(
A
##
1
B
[
*
]
##
1
C
)
|=>
D
))
;
endmodule
module
pass_03
(
input
clock
)
;
wire
A
,
B
,
C
,
D
;
sequencer
#(
// 01234567890123456789012345678901
.
trace_a
(
"_-__-___________________________"
)
,
.
trace_b
(
"__-------------_________________"
)
,
.
trace_c
(
"______-____-___-________________"
)
,
.
trace_d
(
"_______-________________________"
)
)
uut
(
clock
,
A
,
B
,
C
,
D
)
;
assert
property
(
@
(
posedge
clock
)
(
first_match
(
A
##
1
B
[
*
]
##
1
C
)
|=>
D
))
;
endmodule
module
pass_04
(
input
clock
)
;
wire
A
,
B
,
C
,
D
;
sequencer
#(
// 01234567890123456789012345678901
.
trace_a
(
"_-___-__________________________"
)
,
.
trace_b
(
"__-------------_________________"
)
,
.
trace_c
(
"______-____-___-________________"
)
,
.
trace_d
(
"_______-____-___________________"
)
)
uut
(
clock
,
A
,
B
,
C
,
D
)
;
assert
property
(
@
(
posedge
clock
)
(
first_match
(
A
##
1
B
[
*
]
##
1
C
)
|=>
D
))
;
endmodule
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