The-OpenROAD-Project-Attic / ioPlacer

IO and Pin Placer for Floorplan-Placement Subflow
BSD 3-Clause "New" or "Revised" License
23 stars 11 forks source link

Assumption that routing layers begin with 'm' or 'M' #7

Closed Colin-Holehouse closed 4 years ago

Colin-Holehouse commented 5 years ago

The code assumes that layers are always named such that the first character of the layer name is 'm' or 'M'. For GF14 this is not the case. The layer stack for the 13M process is

M1,M2,M3,C4,C5,K1,K2,K3,K4,H1,H2,G1,G2

As a consequence, when reading the tech file for this process the ioPlacer tool seems to get stuck in an infinite loop when asked to use -hmetal 5 -vmetal 6, which are the layers C5 and K1 respectively.

Colin-Holehouse commented 5 years ago

After more investigation, this is not the root cause of the tool hanging.

Rather it is the fact that I had initially selected a layer with prefered routing direction vertical for the -hmetal option, and prefered routing direction horizontal for the -vmetal option.

Can this mis-match be detected and an error issued, rather than the tool hanging?

Colin-Holehouse commented 5 years ago

More info...

Using the correct LEF file with the actual layer names, and -hmetal 5 -vmetal 4 options, the output of the ioPlacer has the pins on the layers G4 and G5, which dont exist in the LEF at all!

eder-matheus commented 5 years ago

Hi, @Colin-Holehouse. Please, take a look into commit a7e0b0b4200c6b34a6c93bbafdf72027284e588a, in "develop" branch. It should fix the problem with layer names.