File tree Expand file tree Collapse file tree 2 files changed +32
-0
lines changed
templates/chisel/scripts/formal Expand file tree Collapse file tree 2 files changed +32
-0
lines changed Original file line number Diff line number Diff line change 73
73
- name : " Run verilator"
74
74
run : |
75
75
nix run '.#gcd.verilated'
76
+
77
+ run-formal-verification :
78
+ name : " Run Formal Verification"
79
+ strategy :
80
+ fail-fast : false
81
+ runs-on : [self-hosted, linux, nixos]
82
+ defaults :
83
+ run :
84
+ working-directory : ./templates/chisel
85
+ steps :
86
+ - uses : actions/checkout@v4
87
+ with :
88
+ ref : ${{ github.event.pull_request.head.sha }}
89
+ - name : " Build formal rtl"
90
+ run : |
91
+ nix run '.#gcd.formal-rtl'
92
+ - name : " Build formal environment"
93
+ run : |
94
+ nix run '.#cds-fhs-env' --impure
95
+ - name : " Run formal verification"
96
+ run : |
97
+ jg -batch ./scripts/formal/FPV.tcl
Original file line number Diff line number Diff line change @@ -29,3 +29,13 @@ prove -all
29
29
# Report proof results
30
30
report
31
31
32
+ # Set exit code for ci
33
+ set failed_properties [get_property_list -include {status {cex unreachable}}]
34
+ set length [llength $failed_properties ]
35
+ if { $length > 0 } {
36
+ puts " There are $length failed properties!"
37
+ exit 1
38
+ } else {
39
+ puts " All properties passed!"
40
+ exit 0
41
+ }
You can’t perform that action at this time.
0 commit comments