File tree 3 files changed +13
-1
lines changed
regression/ebmc/smv-word-level
3 files changed +13
-1
lines changed Original file line number Diff line number Diff line change 1
1
CORE
2
- verilog1.v
2
+ verilog1.sv
3
3
--smv-word-level
4
4
^MODULE main$
5
5
^VAR x : unsigned word\[32\];$
6
6
^INIT main\.x = 0ud32_0$
7
7
^INVAR Verilog::main\.x_aux0 = main\.x \+ 0ud32_1$
8
8
^TRANS next\(main\.x\) = Verilog::main\.x_aux0$
9
+ ^LTLSPEC F main\.x = 0sd32_10$
9
10
^EXIT=0$
10
11
^SIGNAL=0$
11
12
--
Original file line number Diff line number Diff line change @@ -7,4 +7,6 @@ module main(input clk);
7
7
always @ (posedge clk)
8
8
x = x + 1 ;
9
9
10
+ initial assert property (s_eventually x == 10 );
11
+
10
12
endmodule
Original file line number Diff line number Diff line change @@ -186,6 +186,15 @@ static void smv_properties(
186
186
{
187
187
out << " LTLSPEC " << expr2smv (property.normalized_expr , ns);
188
188
}
189
+ else if (is_SVA (property.normalized_expr ))
190
+ {
191
+ // we can turn some SVA properties into LTL
192
+ auto ltl_opt = SVA_to_LTL (property.normalized_expr );
193
+ if (ltl_opt.has_value ())
194
+ out << " LTLSPEC " << expr2smv (ltl_opt.value (), ns);
195
+ else
196
+ out << " -- " << property.identifier << " : SVA not converted\n " ;
197
+ }
189
198
else
190
199
out << " -- " << property.identifier << " : not converted\n " ;
191
200
You can’t perform that action at this time.
0 commit comments