Skip to content

Commit f277eb6

Browse files
committed
IC3: better error message when given assumption
This improves the error handling when giving an assumption to the IC3 engine.
1 parent 7ae93d8 commit f277eb6

File tree

3 files changed

+30
-0
lines changed

3 files changed

+30
-0
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
CORE
2+
not_supported3.sv
3+
--ic3
4+
^no support for assumptions$
5+
^EXIT=1$
6+
^SIGNAL=0$
7+
--

regression/ebmc/ic3/not_supported3.sv

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
module main(input clk);
2+
3+
reg my_bit;
4+
5+
initial my_bit=0;
6+
7+
always @(posedge clk)
8+
my_bit = !my_bit;
9+
10+
// no support for assumptions
11+
p0: assume property (my_bit == 0);
12+
13+
endmodule

src/ic3/m1ain.cc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,16 @@ int ic3_enginet::operator()()
117117
return 1;
118118
}
119119

120+
// No support for assumptions
121+
for(auto &property : properties.properties)
122+
{
123+
if(property.is_assumed())
124+
{
125+
message.error() << "no support for assumptions" << messaget::eom;
126+
return 1;
127+
}
128+
}
129+
120130
std::size_t number_of_properties = 0;
121131

122132
for(auto &property : properties.properties)

0 commit comments

Comments
 (0)