openlane2
openlane2 copied to clipboard
Yosys/ABC script enhancements
Description
Proposed by @ravenslofty from YosysHQ on Discord (thank you so much for the review!):
Proposal
abcshould 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 4has 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 2at the very end of AREA scripts as per https://people.eecs.berkeley.edu/~alanmi/publications/2016/iwls16_mfs3.pdf&nf -R 1000instead ofamapfor 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 1000says 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;