• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC Design
  3. Not able to generate the antenna info for hard blocks

Stats

  • Locked Locked
  • Replies 13
  • Subscribers 126
  • Views 19039
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Not able to generate the antenna info for hard blocks

tswong
tswong over 15 years ago

I've done the steps below to generate the antenna info on abstract generator, but it is fail so far..

1) define the thickness and defaultantenna rule for electricalRules section on techfile.

2) turn on the signal tab of Extract step

3) define "drain" and "gate" for antenna calculation

There is no error message during the generation, but it is still not able to find any antenna information at the exported LEF. I am not sure whether anything is missed. I wonder anyone could give me advise! 

  • Cancel
  • Quek
    Quek over 15 years ago
    Hi TS

    I think this is quite hard to debug without a testcase. It looks like you have already done the required steps. You can compare your setup against the tutorial setup as explained in this post. It should give you some hints on what went wrong. Maybe it would be good to submit a testcase to your local Cadence support.


    Best regards
    Quek
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • tswong
    tswong over 15 years ago

     Quek,

    Actually I followed all the steps mentioned on the post for setup, but I have one thing that is not sure for defining the "drain" and 'gate" area for antenna calculation. The post mentioned that " The technology database or techfile should contain Poly and Diffusion layers" What is the actual meaning for this statement? By the way, I am running abstractor generation inside the DFII, is there any special thing need to do on the layer mapping?

    Regards, TS

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Quek
    Quek over 15 years ago

    Hi TS

    Sorry for the late reply. I think the recent forum technical issues caused some delays in quite a number of posts.

    No special layer mapping is needed. Check the layerRules section of your Virtuoso techfile. It should contain lines similar to the following:

    layerRules(

     functions(
     ;( layer                       function        [maskNumber])
     ;( -----                       --------        ------------)
      ( Poly                         "poly"          0            )
      ( Oxide                        "ndiff"         1            )
      ( Cont                         "cut"           2            )
      ( Metal1                       "metal"         3            )
    ...


    E.g. if your poly layer is named as "PC" and diffusion layer is named as "RX", then you need to define the following 2 lines in the antenna region box:

    PC and RX = gate
    RX andnot PC = drain

    If "Extract signal nets" is not enabled, please add the following lines to the box for "Layer assignment for antenna extraction":
    PC PC
    RX RX andnot PC
    yourContName yourContName

    If the above still do not work, please go to "File->Export->Options" and upload your options file as an attachment. Thanks.

    Best regards
    Quek

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • tswong
    tswong over 15 years ago
    Quek,   I think I had already defined the function on the techfile you mentioned. Is it the same as yours? layerFunctions( ;( layer                       function        [maskNumber]) ;( -----                       --------        ------------)  ( POLY1                       "poly"       )  ( CONT                        "cut"        )  ( DIFF                        "ndiff"      )  ( NDIFF                       "ndiff"      )  ( PDIFF                       "pdiff"      )  ( METAL1                      "metal"      )  ( VIA12                       "cut"        )  ( METAL2                      "metal"      )  ( VIA23                       "cut"        )  ( METAL3                      "metal"      )  ( VIA34                       "cut"        )  ( METAL4                      "metal"      )  ( VIA45                       "cut"        )  ( METAL5                      "metal"      )  ( VIA56                       "cut"        )  ( METAL6                      "metal"      )  ( NWELL                       "nwell"      )  ( PWELL                       "pwell"      ) ) ;layerFunctions My options sets at abstract for antenna are as below: absSetBinOption( "Block" "ExtractAntennaHier"         "true")absSetBinOption( "Block" "ExtractAntennaSizeInput"    "true")absSetBinOption( "Block" "ExtractAntennaSizeOutput"   "true")absSetBinOption( "Block" "ExtractAntennaSizeInout"    "true")absSetBinOption( "Block" "ExtractAntennaMetalArea"    "false")absSetBinOption( "Block" "ExtractAntennaMetalSideArea" "false")absSetBinOption( "Block" "ExtractAntennaGate"         "(POLY1 (DIFF drawing and POLY1 drawing)) ")absSetBinOption( "Block" "ExtractAntennaDrain"        "(DIFF (DIFF drawing andnot POLY1 drawing)) (NDIFF (NDIFF drawing andnot POLY1 drawing)) (PDIFF (PDIFF drawing andnot POLY1 drawing)) ")absSetBinOption( "Block" "ExtractAntennaOxide"        "")absSetBinOption( "Block" "AbstractAntennaGSpecTable"  "")absSetBinOption( "Block" "ExtractDiffAntennaLayers"   "true")absSetBinOption( "Block" "ExtractAntennaLayers"       "METAL1 METAL2 METAL3 METAL4 METAL5 METAL6 CONT VIA12 VIA23 VIA34 VIA45 VIA56 POLY1 (NDIFF (NDIFF drawing andnot POLY1 drawing)) (PDIFF (PDIFF drawing andnot POLY1 drawing)) (DIFF (DIFF drawing andnot POLY1 drawing)) ")absSetBinOption( "Block" "ExtractAntennaGSpecTable"   "")absSetBinOption( "Block" "ExtractAntennaExcludeNets"  "") I also attached the chrarcterizationRules section, please check if there is anything missing for antenna generation.  characterizationRules( ;( rule                        layer1          layer2          value    ) ;( ----                        ------          ------          -----    )  ( sheetRes                    "POLY1"                 311      )  ( sheetRes                    "NIMP"                  59       )  ( sheetRes                    "PIMP"                  133      )  ( sheetRes                    "NWELL"                 927      )  ( sheetRes                    "METAL1"                        0.078    )  ( sheetRes                    "METAL2"                        0.078    )  ( sheetRes                    "METAL3"                        0.078    )  ( sheetRes                    "METAL4"                        0.078    )  ( sheetRes                    "METAL5"                        0.078    )  ( sheetRes                    "METAL6"                        0.0178   )  ( contactRes                  "NIMP"                  0.5324   )  ( contactRes                  "PIMP"                  0.484    )  ( contactRes                  "POLY1"                 0.37752  )  ( thickness                   "METAL1"                        0.53     )  ( defaultAntennaRule          "METAL1"                        (_NA_ 400 _NA_ ((0 400) (0.202 400) (0.203 2281.2) (1 2600)) _NA_ _NA_ _NA_ _NA_ NA_ _NA_)       )  ( defaultAntennaRule          "VIA12"                 (20.0 _NA_ ((0 20) (0.202 20) (0.203 91.916) (1 158.33)) _NA_ _NA_ _NA_ _NA_ _NA_ NA_ _NA_)      )  ( thickness                   "METAL2"                        0.53     )  ( defaultAntennaRule          "METAL2"                        (_NA_ 400 _NA_ ((0 400) (0.202 400) (0.203 2281.2) (1 2600)) _NA_ _NA_ _NA_ _NA_ NA_ _NA_)       )  ( defaultAntennaRule          "VIA23"                 (20.0 _NA_ ((0 20) (0.202 20) (0.203 91.916) (1 158.33)) _NA_ _NA_ _NA_ _NA_ _NA_ NA_ _NA_)      )  ( thickness                   "METAL3"                        0.53     )  ( defaultAntennaRule          "METAL3"                        (_NA_ 400 _NA_ ((0 400) (0.202 400) (0.203 2281.2) (1 2600)) _NA_ _NA_ _NA_ _NA_ NA_ _NA_)       )  ( defaultAntennaRule          "VIA34"                 (20.0 _NA_ ((0 20) (0.202 20) (0.203 91.916) (1 158.33)) _NA_ _NA_ _NA_ _NA_ _NA_ NA_ _NA_)      )  ( thickness                   "METAL4"                        0.53     )  ( defaultAntennaRule          "METAL4"                        (_NA_ 400 _NA_ ((0 400) (0.202 400) (0.203 2281.2) (1 2600)) _NA_ _NA_ _NA_ _NA_ NA_ _NA_)       )  ( defaultAntennaRule          "VIA45"                 (20.0 _NA_ ((0 20) (0.202 20) (0.203 91.916) (1 158.33)) _NA_ _NA_ _NA_ _NA_ _NA_ NA_ _NA_)      )  ( thickness                   "METAL5"                        0.53     )  ( defaultAntennaRule          "METAL5"                        (_NA_ 400 _NA_ ((0 400) (0.202 400) (0.203 2281.2) (1 2600)) _NA_ _NA_ _NA_ _NA_ NA_ _NA_)       )  ( defaultAntennaRule          "VIA56"                 (20.0 _NA_ ((0 20) (0.202 20) (0.203 91.916) (1 158.33)) _NA_ _NA_ _NA_ _NA_ _NA_ NA_ _NA_)      )  ( thickness                   "METAL6"                        0.99     )  ( defaultAntennaRule          "METAL6"                        (_NA_ 400 _NA_ ((0 400) (0.202 400) (0.203 31624.0) (1 38000)) _NA_ _NA_ _NA_ _NA_ NA_ _NA_)     ) ) ;characterizationRules ) ;electricalRules I’ve done everything I knew…… 

    Regards, TS

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Quek
    Quek over 15 years ago

    Hi TS

    Thanks for the info. It is quite hard to read from your post because the sentences have all been joined up. Would you please upload your options file as an attachment?

    Thanks
    Quek

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • tswong
    tswong over 15 years ago

    Not know what is happening to the text editor and all line spacing are gone. I resent the message again

     ============================================================

    Quek,

    Thanks for your reply!

    I think I had already defined the function on the techfile you mentioned. Is it the same as yours?

    layerFunctions(
     ;( layer                       function        [maskNumber])
     ;( -----                       --------        ------------)
      ( POLY1                       "poly"       )
      ( CONT                        "cut"        )
      ( DIFF                        "ndiff"      )
      ( NDIFF                       "ndiff"      )
      ( PDIFF                       "pdiff"      )
      ( METAL1                      "metal"      )
      ( VIA12                       "cut"        )
      ( METAL2                      "metal"      )
      ( VIA23                       "cut"        )
      ( METAL3                      "metal"      )
      ( VIA34                       "cut"        )
      ( METAL4                      "metal"      )
      ( VIA45                       "cut"        )
      ( METAL5                      "metal"      )
      ( VIA56                       "cut"        )
      ( METAL6                      "metal"      )
      ( NWELL                       "nwell"      )
      ( PWELL                       "pwell"      )
     ) ;layerFunctions

    My options sets at abstract for antenna are as below:

    absSetBinOption( "Block" "ExtractAntennaHier"         "true")
    absSetBinOption( "Block" "ExtractAntennaSizeInput"    "true")
    absSetBinOption( "Block" "ExtractAntennaSizeOutput"   "true")
    absSetBinOption( "Block" "ExtractAntennaSizeInout"    "true")
    absSetBinOption( "Block" "ExtractAntennaMetalArea"    "false")
    absSetBinOption( "Block" "ExtractAntennaMetalSideArea" "false")
    absSetBinOption( "Block" "ExtractAntennaGate"         "(POLY1 (DIFF drawing and POLY1 drawing)) ")
    absSetBinOption( "Block" "ExtractAntennaDrain"        "(DIFF (DIFF drawing andnot POLY1 drawing)) (NDIFF (NDIFF drawing andnot POLY1 drawing)) (PDIFF (PDIFF drawing andnot POLY1 drawing)) ")
    absSetBinOption( "Block" "ExtractAntennaOxide"        "")
    absSetBinOption( "Block" "AbstractAntennaGSpecTable"  "")
    absSetBinOption( "Block" "ExtractDiffAntennaLayers"   "true")
    absSetBinOption( "Block" "ExtractAntennaLayers"       "METAL1 METAL2 METAL3 METAL4 METAL5 METAL6 CONT VIA12 VIA23 VIA34 VIA45 VIA56 POLY1 (NDIFF (NDIFF drawing andnot POLY1 drawing)) (PDIFF (PDIFF drawing andnot POLY1 drawing)) (DIFF (DIFF drawing andnot POLY1 drawing)) ")
    absSetBinOption( "Block" "ExtractAntennaGSpecTable"   "")
    absSetBinOption( "Block" "ExtractAntennaExcludeNets"  "")

    I also attached the chrarcterizationRules section, please check if there is anything missing for antenna generation.

     characterizationRules(
     ;( rule                        layer1          layer2          value    )
     ;( ----                        ------          ------          -----    )
      ( sheetRes                    "POLY1"                 311      )
      ( sheetRes                    "NIMP"                  59       )
      ( sheetRes                    "PIMP"                  133      )
      ( sheetRes                    "NWELL"                 927      )
      ( sheetRes                    "METAL1"                        0.078    )
      ( sheetRes                    "METAL2"                        0.078    )
      ( sheetRes                    "METAL3"                        0.078    )
      ( sheetRes                    "METAL4"                        0.078    )
      ( sheetRes                    "METAL5"                        0.078    )
      ( sheetRes                    "METAL6"                        0.0178   )
      ( contactRes                  "NIMP"                  0.5324   )
      ( contactRes                  "PIMP"                  0.484    )
      ( contactRes                  "POLY1"                 0.37752  )
      ( thickness                   "METAL1"                        0.53     )
      ( defaultAntennaRule          "METAL1"                        (_NA_ 400 _NA_ ((0 400) (0.202 400) (0.203 2281.2) (1 2600)) _NA_ _NA_ _NA_ _NA_ NA_ _NA_)       )
      ( defaultAntennaRule          "VIA12"                 (20.0 _NA_ ((0 20) (0.202 20) (0.203 91.916) (1 158.33)) _NA_ _NA_ _NA_ _NA_ _NA_ NA_ _NA_)      )
      ( thickness                   "METAL2"                        0.53     )
      ( defaultAntennaRule          "METAL2"                        (_NA_ 400 _NA_ ((0 400) (0.202 400) (0.203 2281.2) (1 2600)) _NA_ _NA_ _NA_ _NA_ NA_ _NA_)       )
      ( defaultAntennaRule          "VIA23"                 (20.0 _NA_ ((0 20) (0.202 20) (0.203 91.916) (1 158.33)) _NA_ _NA_ _NA_ _NA_ _NA_ NA_ _NA_)      )
      ( thickness                   "METAL3"                        0.53     )
      ( defaultAntennaRule          "METAL3"                        (_NA_ 400 _NA_ ((0 400) (0.202 400) (0.203 2281.2) (1 2600)) _NA_ _NA_ _NA_ _NA_ NA_ _NA_)       )
      ( defaultAntennaRule          "VIA34"                 (20.0 _NA_ ((0 20) (0.202 20) (0.203 91.916) (1 158.33)) _NA_ _NA_ _NA_ _NA_ _NA_ NA_ _NA_)      )
      ( thickness                   "METAL4"                        0.53     )
      ( defaultAntennaRule          "METAL4"                        (_NA_ 400 _NA_ ((0 400) (0.202 400) (0.203 2281.2) (1 2600)) _NA_ _NA_ _NA_ _NA_ NA_ _NA_)       )
      ( defaultAntennaRule          "VIA45"                 (20.0 _NA_ ((0 20) (0.202 20) (0.203 91.916) (1 158.33)) _NA_ _NA_ _NA_ _NA_ _NA_ NA_ _NA_)      )
      ( thickness                   "METAL5"                        0.53     )
      ( defaultAntennaRule          "METAL5"                        (_NA_ 400 _NA_ ((0 400) (0.202 400) (0.203 2281.2) (1 2600)) _NA_ _NA_ _NA_ _NA_ NA_ _NA_)       )
      ( defaultAntennaRule          "VIA56"                 (20.0 _NA_ ((0 20) (0.202 20) (0.203 91.916) (1 158.33)) _NA_ _NA_ _NA_ _NA_ _NA_ NA_ _NA_)      )
      ( thickness                   "METAL6"                        0.99     )
      ( defaultAntennaRule          "METAL6"                        (_NA_ 400 _NA_ ((0 400) (0.202 400) (0.203 31624.0) (1 38000)) _NA_ _NA_ _NA_ _NA_ NA_ _NA_)     )
     ) ;characterizationRules

    ) ;electricalRules

    I’ve done everything I knew……

    Regards, TS

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • tswong
    tswong over 15 years ago

    How to upload the file? I cannot find this function from the reply menu...

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Quek
    Quek over 15 years ago
    Hi TS

    This is the problem. Order of DIFF and POLY1 layers are reversed. It should be:

    absSetBinOption( "Block" "ExtractAntennaGate"         "(POLY1 (POLY1 drawing and DIFF drawing)) ")

    Please change it and see if it solves the problem. When you reply to a message, there are 4 tabs at the top ("Compose, Options, Related, Preview"). Click on "Options" and you will be able to upload the file.

    Best regards
    Quek


    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • tswong
    tswong over 15 years ago

    Quek,

    How to define the gate region if both pdiff and ndiff are existed?

    Regards, TS

    • abstract_options.txt
    • View
    • Hide
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Quek
    Quek over 15 years ago
    Hi TS

    Use the "or" operator:

    POLY1 = POLY1 and (NDIFF or PDIFF)

    Remember to also add the following 2 lines in "Layer assignment for antenna extraction":

    NDIFF = NDIFF andnot POLY1
    PDIFF = PDIFF andnot POLY1

    Best regards
    Quek
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
>

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information