Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

partition: ERROR: Found 2 problems in 'check -assert'. #73

Open
cassiersg opened this issue Nov 13, 2024 · 0 comments
Open

partition: ERROR: Found 2 problems in 'check -assert'. #73

cassiersg opened this issue Nov 13, 2024 · 0 comments

Comments

@cassiersg
Copy link

With the following (reduced) test case, running yosys synth.ys, then eqy test_synth.eqy gives the following error:

EQY 13:50:09 [test_synth] partition: Warning: Wire gate.test.a.\a is used but has no driver.
EQY 13:50:09 [test_synth] partition: Warning: Wire gold.test.a.\a is used but has no driver.
EQY 13:50:09 [test_synth] partition: ERROR: Found 2 problems in 'check -assert'.

The generated partition test.a.il does not have any input.

test.sv:

module X (input a, output b);
assign b = 0;
endmodule

module Y(input a, input b, output c);
assign c = 0;
endmodule

module test (input a, output c);
wire b;
X x (.a(a), .b(b));
Y y(.a(a), .b(b), .c(c));
endmodule

synth.ys:

read_verilog -sv test.sv
flatten t:X
synth -top test
write_verilog test_synth.v

test_synth.eqy:

[gold]
read_verilog -formal -sv test.sv
hierarchy -check -top test
proc

[gate]
read_verilog -formal -icells test_synth.v

[script]
prep -top test
# only keep FF outputs, avoids partitioning on signals that were changed by optimizations
rename -hide t:$dff %co x:* %% w:* %D

[strategy sby]
use sby
depth 2
engine smtbmc bitwuzla

Generated partition partitions/test.a.il:

# Generated by Yosys 0.46+147 (git sha1 2999f5589, clang++ 14.0.0-1ubuntu1.1 -fPIC -O3)
autoidx 20
module \gate.test.a
  attribute \keep 1
  wire output 1 \__po_a
  attribute \keep 1
  wire output 2 \__po_x.a
  attribute \keep 1
  wire \a
  connect { \__po_x.a \__po_a } { \a \a }
end
module \gold.test.a
  attribute \keep 1
  wire output 1 \__po_a
  attribute \keep 1
  wire output 2 \__po_x.a
  attribute \keep 1
  wire \a
  attribute \keep 1
  wire \x.a
  cell $_BUF_ $auto$insbuf.cc:97:execute$18
    connect \A \a
    connect \Y \x.a
  end
  connect { \__po_x.a \__po_a } { \x.a \a }
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant