limbo018 / DREAMPlace

Deep learning toolkit-enabled VLSI placement
BSD 3-Clause "New" or "Revised" License
681 stars 199 forks source link

Non-Rectangle DIEAREA support #149

Open matanco1 opened 1 year ago

matanco1 commented 1 year ago

Hi,

As it seems the placer isn't supporting non-rectangle DIEAREA as the cells gets out of the boundary of the DIEAREA.

limbo018 commented 1 year ago

Do you have any cases with non-rectangle DIEAREA to share? We can see whether it is easy to support this.

matanco1 commented 1 year ago

Do you have any cases with non-rectangle DIEAREA to share? We can see whether it is easy to support this.

Sure, you can just set the DIEAREA as a set of coordinates, here's an example:

DIEAREA ( 1680000 1010000 ) ( 110000 1010000 )
        ( 110000 2200000 ) ( 0 2200000 )
        ( 0 0 ) ( 1680000 0 ) ;

It'll create an L shape:

 ----
|    |
|    |___
|        |
|________|
limbo018 commented 1 year ago

Thanks. How will the ROWs be defined? Are they sure to be inside the rectilinear region defined by the DIEAREA?

matanco1 commented 1 year ago

Thanks. How will the ROWs be defined? Are they sure to be inside the rectilinear region defined by the DIEAREA?

Actually, I can't tell, as I'm using cadence's Innovus to extract the DEF and I don't know the behavior of the tool. I'll try and check it out!

matanco1 commented 1 year ago

Thanks. How will the ROWs be defined? Are they sure to be inside the rectilinear region defined by the DIEAREA?

After checking - yes, they are sure to be inside the rectilinear region defined by the DIEAREA!

limbo018 commented 1 year ago

Thank you for the information. I will think about how to add this feature.

limbo018 commented 1 year ago

The latest commit (https://github.com/limbo018/DREAMPlace/commit/4a731fa2649d04de7e946aebfd74ad734446f3fc) in develop branch has added support to non-rectangular die area.