coherent17 / 2024-ICCAD-Problem-B

Power and Timing Optimization Using MBFF
MIT License
8 stars 0 forks source link

[BK X LG] Banking Legalize Cooptimize #121

Closed coherent17 closed 2 months ago

coherent17 commented 3 months ago

Please help enable this feature: While banking, please use legalize API to see whether the displacment will heavily affect the TNS degrade.

c119cheng commented 3 months ago

I think banking coordinate should be revised, and the MBFF banked should be fixed at postCG or disable postCG

coherent17 commented 2 months ago
  1. Legalize Engine legalize all single bit ff
  2. Use another legalizer to legalize MBFF
  3. canLegalize API takes Coordinate, cell type to find a legalize coordinate to place the MBFF
  4. getCostDiff function should compare MBFF cost with multiple sigle bit FF with "legalized coordinate" to see the gain of the Banking
  5. Whether to open the MS
coherent17 commented 2 months ago
  1. Legalize Engine legalize all single bit ff
  2. Use another legalizer to legalize MBFF
  3. canLegalize API takes Coordinate, cell type to find a legalize coordinate to place the MBFF
  4. getCostDiff function should compare MBFF cost with multiple sigle bit FF with "legalized coordinate" to see the gain of the Banking
  5. Whether to open the MS

@c119cheng help check the flow, is there anything to change?

c119cheng commented 2 months ago
  1. I think use legalized coordinate as reference to calculate banking cost is a good idea
  2. As current testcase preplaced result is on legal coordinate, I think we can test this flow by disabled CG in preprocess to get legalized placement result
  3. If we use legalized coordinate to do banking, we should reconsider the banking coordinate, currently we use mediant of banked FF, I think we can do a weighted sum to consider slack of each FF.
coherent17 commented 2 months ago

For your second point, we will process the legalizer all single bit ff after preCG (+MS?), and thus all single bit will have legalized coordinate, so that getCostDiff will not get too optimize coordinate on those single bit ff.