OpenROAD-flow-scripts icon indicating copy to clipboard operation
OpenROAD-flow-scripts copied to clipboard

Tracks.tcl documentation request

Open QuantamHD opened this issue 4 years ago • 7 comments

https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts/blob/f801b4b8b321a6ea8ba4ffa84c939b6d1d8f658f/flow/platforms/asap7/openRoad/make_tracks.tcl#L16-L22

In the above snippet for ASAP7 there are multiple track definitions for M2. What is the purpose of these repeat definitions? I also got a question inside Google about why the tracks need to be defined manually. Can this information be picked up from the techlef?

QuantamHD avatar Dec 29 '21 01:12 QuantamHD

@louiic is the expert on this so I hope he will comment. LEF does not give you a track pattern directly.

maliberty avatar Dec 29 '21 04:12 maliberty

I recall now that in asap7 the row height is 7.5 M2 tracks. So if you used the pitch you would get irregular track patterns. If you look at the pattern: image There are six useable tracks per row and they are spaced at min pitch inside the power stripes.

maliberty avatar Dec 29 '21 06:12 maliberty

What control the track configuration for a given technology? Is it encoded by the standard cell layout indirectly?

QuantamHD avatar Dec 29 '21 22:12 QuantamHD

The LEF has some syntax to express a track pattern (OFFSET and PITCH). However in asap7 that is insufficient due to the above issue and so we have to manually define the pattern. In other PDKs the LEF is sufficient and you will not see a MAKE_TRACKS setting in the platform config.mk.

In this case, which is common, the issue is the cell height and the power rails create the need for a particular pattern. Other situations are possible so we leave the manual option open.

maliberty avatar Dec 29 '21 22:12 maliberty

Could I write some thing that could auto detect a track pattern from a standard cell, or would that not be generally applicable?

QuantamHD avatar Dec 29 '21 22:12 QuantamHD

I suspect there are more corner cases that @louiic could comment on. However making something that can automate the known PDKs would be nice.

maliberty avatar Dec 29 '21 22:12 maliberty

@QuantamHD Any update on this issue?

vijayank88 avatar Jul 17 '23 09:07 vijayank88