mirror of https://github.com/YosysHQ/yosys.git
In sat: 'x' in init attr should not override constant
This commit is contained in:
parent
66607845ec
commit
2b37a093e9
|
@ -268,6 +268,8 @@ struct SatHelper
|
|||
RTLIL::SigSpec removed_bits;
|
||||
for (int i = 0; i < lhs.size(); i++) {
|
||||
RTLIL::SigSpec bit = lhs.extract(i, 1);
|
||||
if (bit.is_fully_const() && rhs[i] == State::Sx)
|
||||
rhs[i] = bit;
|
||||
if (!satgen.initial_state.check_all(bit)) {
|
||||
removed_bits.append(bit);
|
||||
lhs.remove(i, 1);
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
module test(input clk, input [3:0] bar, output [3:0] foo);
|
||||
reg [3:0] foo = 0;
|
||||
reg [3:0] last_bar = 0;
|
||||
reg [3:0] asdf = 4'b1xxx;
|
||||
|
||||
always @*
|
||||
foo[1:0] <= bar[1:0];
|
||||
|
@ -11,5 +12,8 @@ module test(input clk, input [3:0] bar, output [3:0] foo);
|
|||
always @(posedge clk)
|
||||
last_bar <= bar;
|
||||
|
||||
always @*
|
||||
asdf[2:0] <= 3'b111;
|
||||
|
||||
assert property (foo == {last_bar[3:2], bar[1:0]});
|
||||
endmodule
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
read_verilog -sv initval.v
|
||||
proc;;
|
||||
proc;
|
||||
|
||||
sat -seq 10 -prove-asserts
|
||||
|
|
Loading…
Reference in New Issue