OpenROAD icon indicating copy to clipboard operation
OpenROAD copied to clipboard

Support LEF58_CELLEDGESPACINGTABLE & LEF58_EDGETYPE

Open maliberty opened this issue 2 years ago • 0 comments

Description

Add support for LEF58_EDGETYPE & LEF58_CELLEDGESPACINGTABLE attributes in odb, dpl, and dpo.

An abstracted example of the required syntax:

    MACRO LEF58_EDGETYPE STRING ;
    LIBRARY LEF58_CELLEDGESPACINGTABLE STRING
    "CELLEDGESPACINGTABLE
EDGETYPE TYPE3 TYPE4 0.ZZ
EDGETYPE TYPE1       TYPE1    EXCEPTABUTTED   0.XXX
EDGETYPE TYPE2        TYPE1    EXCEPTABUTTED   0.XXX
EDGETYPE TYPE2        TYPE2                    0.YYY
EDGETYPE TYPE12CPP   TYPE12CPP   EXCEPTABUTTED   0.XXX
EDGETYPE TYPE1       TYPE12CPP   EXCEPTABUTTED   0.XXX
EDGETYPE TYPE12CPP   TYPE2                    0.XXX
      ;" ;

  PROPERTY LEF58_EDGETYPE "
    EDGETYPE LEFT TYPE1 ;
    EDGETYPE RIGHT TYPE2 ; " ;

  PROPERTY LEF58_EDGETYPE "
    EDGETYPE LEFT TYPE1 ;
    EDGETYPE RIGHT TYPE2 ;
    EDGETYPE TOP TYPE4 RANGE 0 0.VVV ;
    EDGETYPE BOTTOM TYPE4 RANGE 0 0.VVV ;
    EDGETYPE TOP TYPE3 RANGE 0.VVV 0.QQQ ;
    EDGETYPE BOTTOM TYPE3 RANGE 0.VVV 0.QQQ ;
    EDGETYPE TOP TYPE4 RANGE 0.QQQ T.TTT ;
    EDGETYPE BOTTOM TYPE4 RANGE 0.QQQ T.TTT ; " ;

lefin & odb should support the full LEF syntax. In dpl/dpo, priority should be given to the syntax above as the full property definitions contain more options that are not immediately required.

Suggested Solution

The odb work should follow the template of other LEF properties. In dpl this should extend the set of checks made when detecting if a placement is valid during the diamond search.

Additional Context

@gadfort FYI

maliberty avatar Aug 24 '23 00:08 maliberty