limbo018 / DREAMPlace

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

Question about the IO pins parsed by the LEF/DEF parser #158

Closed ZhuLinsen closed 7 months ago

ZhuLinsen commented 7 months ago

Dear Professor, I hvae two questions about IO pins(num_terminal_NIs) parsed by LEF/DEF parser. Below is a sample PIN from DEF file:

PINS 54 ;
    - clk + NET clk + DIRECTION INPUT + USE SIGNAL
      + PORT
        + LAYER metal5 ( -140 -140 ) ( 140 140 )
        + PLACED ( 140 519820 ) N ;
  1. In the DEF file, IO pins have a size, and the size of clkabove is 280 * 280 . Howerve, why are the IO pins sizes all 0 in node_size_xand node_size_y (PyPlaceDB.cpp)?
  2. Why use the center coordinates rather than left-lower coordinates to represent the location of IO pins?

If there are any bugs, I would appreciate the opportunity to fix them.

limbo018 commented 7 months ago

Thank you for pointing this out. IO pins are considered as terminal NI, which do not impose any overlap constraints to placement. Originally, I simply set the sizes to 0 after reading them. If you need the information of their sizes, I commented out the resizing code. https://github.com/limbo018/DREAMPlace/blob/5d655047329e7b106f2befdbbcf023b687c3bfd6/dreamplace/ops/place_io/src/PlaceDB.cpp#L507

ZhuLinsen commented 7 months ago

Thank you for your response.I comprehend.