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
2b0d0786
Commit
2b0d0786
authored
Mar 06, 2018
by
Clifford Wolf
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add SVA within test
Signed-off-by: Clifford Wolf <clifford@clifford.at>
parent
a03936a4
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
118 additions
and
1 deletions
+118
-1
verific/sva/Makefile
+1
-1
verific/sva/within.sv
+117
-0
No files found.
verific/sva/Makefile
View file @
2b0d0786
TESTS
:=
intersect seq_and seq_or triggered
until
until_trig
TESTS
:=
intersect seq_and seq_or triggered
until
until_trig
within
all
:
$(addsuffix .status
,
$(TESTS))
grep
-H
.
*
.status | sed
's,.status:,\t,; s,PASS,pass,;'
| expand
-t20
...
...
verific/sva/within.sv
0 → 100644
View file @
2b0d0786
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
)
(
A
|=>
(
B
[
*
3
]
within
(
C
[
*
]))
##
1
D
))
;
endmodule
module
pass_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
|=>
(
B
[
*
3
]
within
(
C
[
*
]))
##
1
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
)
(
A
|=>
(
B
[
*
3
]
within
(
C
[
*
]))
##
1
D
))
;
endmodule
module
fail_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
)
(
A
|=>
(
B
[
*
3
]
within
(
C
[
*
]))
##
1
D
))
;
endmodule
module
fail_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
)
(
A
|=>
(
B
[
*
3
]
within
(
C
[
*
]))
##
1
D
))
;
endmodule
module
pass_05
(
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
|=>
(
B
[
*
3
]
within
(
C
[
*
]))
##
1
D
))
;
endmodule
module
pass_06
(
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
|=>
(
B
[
*
3
]
within
(
C
[
*
]))
##
1
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