openlane2 icon indicating copy to clipboard operation
openlane2 copied to clipboard

Yosys/ABC script enhancements

Open donn opened this issue 1 year ago • 0 comments

Description

Proposed by @ravenslofty from YosysHQ on Discord (thank you so much for the review!):

Proposal

  • abc should be called with -dff, which attempts to optimize sequential elements, which it currently is not which leaves area on the table (such as eliminating identical flipflops)
  • DELAY 4 has multiple instances of &put; &get -n which is redundantly moving logic between network managers; those can be removed
  • Experimental (gate behind flags)
    • mfs3 -aemvz -I 4 -O 2 at the very end of AREA scripts as per https://people.eecs.berkeley.edu/~alanmi/publications/2016/iwls16_mfs3.pdf
    • &nf -R 1000 instead of amap for AREA scripts
      • &nf is actually not an area mapper but a delay mapper, but the way delay mappers work is that they find the lowest-depth solution they can for all paths, and then in subsequent iterations relax the depth requirement for paths other than the critical path, and use that relaxed bound to recover area.
      • &nf -R 1000 says to multiply the network delay by 1000 times before recovering area, which is enough practically speaking to act as an area mapper.
  • Smaller changes to ABC scripts
    • -D,{D} can just be {D}
    • , are not necessary
    • ;; can be replaced with ;

donn avatar Jul 28 '24 10:07 donn