Worse mapping/optimization with abc(?) in current master #3834
-
Hey everyone, we are trying to resynthesize LUTs into basic gates. We created our own genlib, with the gate types we are looking for. I noticed significant differences in the result output from the current master of yosys compared to yosys 0.30 and 0.27. module top (I5, I1, I2, I4, I3, I0, O);
input I5;
input I1;
input I2;
input I4;
input I3;
input I0;
output O;
assign O = ((I5 & ((I3 | ((I0 & (! I4)) | ((! I0) & I4))) & ((! I3) | ((I0 | (! I4)) & ((! I0) | I4))))) | ((I3 | ((I0 & (! I2)) | ((! I0) & I2))) & ((! I5) & ((I1 & I4) | ((! I3) | ((! I1) & (! I4)))))));
endmodule
With yosys 0.30/0.27 this is the final output:
However, with the current master (where abc has been updated), the output is significant worse:
ABC maps the LUT to 13 cells vs. 5. The 5 cells are much "cheaper" area wise. I attached the logs for synthesis, and my synthesis script. Any ideas what changed? Is this abcs fault or did commands change somewhere in the new version? Thanks!
|
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 2 replies
-
We did notice this also and had to adjust a few of our testcases after updating abc in #3796. No idea what changed in abc to make the results worse... |
Beta Was this translation helpful? Give feedback.
We did notice this also and had to adjust a few of our testcases after updating abc in #3796. No idea what changed in abc to make the results worse...