• 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. Digital Implementation
  3. Innovus NanoRoute Errors with LEF DEFAULT constraint gr...

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 92
  • Views 18097
  • 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

Innovus NanoRoute Errors with LEF DEFAULT constraint group

RobB47
RobB47 over 6 years ago

I'm having trouble getting the nanoroute tool to route my design. I receive a slew of warnings related to the LEF DEFAULT rule.  These warnings and errors are listed at the end of this post for reference.

For some reason, the tool is not recognizing the via definitions in the LEFDefaultRouteSpec.  I dumped my technology library to a tech file, and the library includes the following information for the via definitions and LEFDefaultRouteSpec constraint group:

;********************************
; VIADEFS
;********************************
viaDefs(

standardViaDefs(
;( viaDefName layer1 layer2 (cutLayer cutWidth cutHeight [resistancePerCut])
; (cutRows cutCol (cutSpace) [(l_cutPattern)])
; (layer1Enc) (layer2Enc) (layer1Offset) (layer2Offset) (origOffset)
; [implant1 (implant1Enc) [implant2 (implant2Enc) [well/substrate]]])
;( -------------------------------------------------------------------------- )
( M1_PSUB COMP METAL1 ("CNT" 0.16 0.16)
(1 1 (0.2 0.2))
(0.1 0.1) (0.08 0.08) (0.0 0.0) (0.0 0.0) (0.0 0.0)
PPLUS (0.18 0.18)
)
( AL_MT METAL5 LASER_ALIGN ("Win2" 5.0 5.0)
(1 1 (2.0 2.0))
(1.5 1.5) (1.5 1.5) (0.0 0.0) (0.0 0.0) (0.0 0.0)
)
( TM_M4s METAL4 METAL5 ("VIA4" 0.36 0.36)
(1 1 (0.35 0.35))
(0.09 0.09) (0.09 0.09) (0.0 0.0) (0.0 0.0) (0.0 0.0)
)
( M4_M3s METAL3 METAL4 ("VIA3" 0.19 0.19)
(1 1 (0.22 0.22))
(0.05 0.05) (0.05 0.05) (0.0 0.0) (0.0 0.0) (0.0 0.0)
)
( M3_M2s METAL2 METAL3 ("VIA2" 0.19 0.19)
(1 1 (0.22 0.22))
(0.05 0.05) (0.05 0.05) (0.0 0.0) (0.0 0.0) (0.0 0.0)
)
( M2_M1s METAL1 METAL2 ("VIA1" 0.19 0.19)
(1 1 (0.22 0.22))
(0.05 0.05) (0.05 0.05) (0.0 0.0) (0.0 0.0) (0.0 0.0)
)
( TM_M4 METAL4 METAL5 ("VIA4" 0.36 0.36)
(1 1 (0.54 0.54))
(0.09 0.09) (0.09 0.09) (0.0 0.0) (0.0 0.0) (0.0 0.0)
)
( M4_M3 METAL3 METAL4 ("VIA3" 0.19 0.19)
(1 1 (0.29 0.29))
(0.05 0.05) (0.05 0.05) (0.0 0.0) (0.0 0.0) (0.0 0.0)
)
( M3_M2 METAL2 METAL3 ("VIA2" 0.19 0.19)
(1 1 (0.29 0.29))
(0.05 0.05) (0.05 0.05) (0.0 0.0) (0.0 0.0) (0.0 0.0)
)
( M2_M1 METAL1 METAL2 ("VIA1" 0.19 0.19)
(1 1 (0.29 0.29))
(0.05 0.05) (0.05 0.05) (0.0 0.0) (0.0 0.0) (0.0 0.0)
)
( M1_POLY2 POLY2 METAL1 ("CNT" 0.16 0.16)
(1 1 (0.2 0.2))
(0.07 0.07) (0.05 0.05) (0.0 0.0) (0.0 0.0) (0.0 0.0)
)
( M1_PACTIVE COMP METAL1 ("CNT" 0.16 0.16)
(1 1 (0.2 0.2))
(0.095 0.095) (0.05 0.05) (0.0 0.0) (0.0 0.0) (0.0 0.0)
PPLUS (0.18 0.18)
)
( M1_PF1VA COMP METAL1 ("CNT" 0.16 0.16)
(1 1 (0.2 0.2))
(0.095 0.095) (0.05 0.05) (0.0 0.0) (0.0 0.0) (0.0 0.0)
PPLUS (0.12 0.12) PF1VA (0.37 0.37)
)
( M1_NW1A COMP METAL1 ("CNT" 0.16 0.16)
(1 1 (0.2 0.2))
(0.095 0.095) (0.05 0.05) (0.0 0.0) (0.0 0.0) (0.0 0.0)
NPLUS (0.12 0.12) NW1A (0.37 0.37)
)
( M1_PFIELD COMP METAL1 ("CNT" 0.16 0.16)
(1 1 (0.2 0.2))
(0.095 0.095) (0.05 0.05) (0.0 0.0) (0.0 0.0) (0.0 0.0)
PPLUS (0.12 0.12) PFIELD (0.37 0.37)
)
( M1_NWELL COMP METAL1 ("CNT" 0.16 0.16)
(1 1 (0.2 0.2))
(0.095 0.095) (0.05 0.05) (0.0 0.0) (0.0 0.0) (0.0 0.0)
NPLUS (0.12 0.12) NWELL (0.37 0.37) NWELL
)
( M1_NACTIVE COMP METAL1 ("CNT" 0.16 0.16)
(1 1 (0.2 0.2))
(0.095 0.095) (0.05 0.05) (0.0 0.0) (0.0 0.0) (0.0 0.0)
NPLUS (0.18 0.18)
)
) ;standardViaDefs

customViaDefs(
;( viaDefName libName cellName viewName layer1 layer2 resistancePerCut)
;( ---------- ------- -------- -------- ------ ------ ----------------)
( M2_M1_via gf013hv30v M2_M1 via METAL1 METAL2 0.0)
( M3_M2_via gf013hv30v M3_M2 via METAL2 METAL3 0.0)
( M4_M3_via gf013hv30v M4_M3 via METAL3 METAL4 0.0)
( TM_M4_via gf013hv30v TM_M4 via METAL4 METAL5 0.0)
( M2_M1s_via gf013hv30v M2_M1s via METAL1 METAL2 0.0)
( M3_M2s_via gf013hv30v M3_M2s via METAL2 METAL3 0.0)
( M4_M3s_via gf013hv30v M4_M3s via METAL3 METAL4 0.0)
( TM_M4s_via gf013hv30v TM_M4s via METAL4 METAL5 0.0)
) ;customViaDefs

) ;viaDefs

;( group [override] [definition] [operator] )
;( ----- ---------- ------------ ---------- )
( "LEFDefaultRouteSpec_gf013hv30v" nil "LEFDefaultRouteSpec"

interconnect(
( validLayers (METAL1 METAL2 METAL3 METAL4 METAL5 LASER_ALIGN ) )
( validVias (M1_NW1A M1_NWELL M1_PFIELD M1_PF1VA M1_NACTIVE M1_PACTIVE M1_PSUB M1_POLY2 M2_M1 M2_M1s M3_M2 M3_M2s M4_M3 M4_M3s TM_M4 TM_M4s AL_MT ) )
) ;interconnect

I noticed that the customViaDefs are all of the format "*_via*", but the Default Route Spec doesn't include any names in that format.  I'm thinking it's possible that the router is checking the list of validVias and since it only finds standard vias and not custom ones, it cannot perform the routing.

What can I do to fix this issue?

Thanks,

Rob

Full list of warnings/errors:

#WARNING (NRDB-2040) Rule LEF_DEFAULT doesn't specify any vias that satisfy all of the area rules for layer METAL2 METAL3 METAL4 METAL5
#WARNING (NRDB-776) No default up VIA for LAYER METAL1 in RULE LEF_DEFAULT.
#WARNING (NRDB-776) No default up VIA for LAYER METAL2 in RULE LEF_DEFAULT.
#WARNING (NRDB-777) No default down VIA for LAYER METAL2 in RULE LEF_DEFAULT.
#WARNING (NRDB-776) No default up VIA for LAYER METAL3 in RULE LEF_DEFAULT.
#WARNING (NRDB-777) No default down VIA for LAYER METAL3 in RULE LEF_DEFAULT.
#WARNING (NRDB-776) No default up VIA for LAYER METAL4 in RULE LEF_DEFAULT.
#WARNING (NRDB-777) No default down VIA for LAYER METAL4 in RULE LEF_DEFAULT.
#WARNING (NRDB-776) No default up VIA for LAYER METAL5 in RULE LEF_DEFAULT.
#WARNING (NRDB-777) No default down VIA for LAYER METAL5 in RULE LEF_DEFAULT.
#WARNING (NRDB-777) No default down VIA for LAYER LASER_ALIGN in RULE LEF_DEFAULT.
#WARNING (NRDB-778) No multicut vias which meet all area rules for LAYER METAL1 are defined in RULE LEF_DEFAULT. When a LEF MINIMUMCUT rule is defined for a layer, you must define multicut vias for the layer in the LEF file. Edit your LEF file and read it in again.
#WARNING (NRDB-778) No multicut vias which meet all area rules for LAYER METAL2 are defined in RULE LEF_DEFAULT. When a LEF MINIMUMCUT rule is defined for a layer, you must define multicut vias for the layer in the LEF file. Edit your LEF file and read it in again.
#WARNING (NRDB-778) No multicut vias which meet all area rules for LAYER METAL3 are defined in RULE LEF_DEFAULT. When a LEF MINIMUMCUT rule is defined for a layer, you must define multicut vias for the layer in the LEF file. Edit your LEF file and read it in again.
#WARNING (NRDB-778) No multicut vias which meet all area rules for LAYER METAL4 are defined in RULE LEF_DEFAULT. When a LEF MINIMUMCUT rule is defined for a layer, you must define multicut vias for the layer in the LEF file. Edit your LEF file and read it in again.
#WARNING (NRDB-778) No multicut vias which meet all area rules for LAYER METAL5 are defined in RULE LEF_DEFAULT. When a LEF MINIMUMCUT rule is defined for a layer, you must define multicut vias for the layer in the LEF file. Edit your LEF file and read it in again.
# METAL1 H Track-Pitch = 0.340 Line-2-Via Pitch = 0.340
# METAL2 V Track-Pitch = 0.410 Line-2-Via Pitch = 0.410
# METAL3 H Track-Pitch = 0.410 Line-2-Via Pitch = 0.410
# METAL4 V Track-Pitch = 0.410 Line-2-Via Pitch = 0.410
# METAL5 H Track-Pitch = 3.280 Line-2-Via Pitch = 4.500
#WARNING (NRAG-44) Track pitch is too small compared with line-2-via pitch.
# LASER_ALIGN V Track-Pitch = 5.000 Line-2-Via Pitch = 5.000
#ERROR (NRDB-158) Missing via from LAYER METAL1 to LAYER METAL2 in RULE LEF_DEFAULT. Add the missing via or remove all vias from RULE LEF_DEFAULT so that NR can use the vias from the default RULE.

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 6 years ago

    Rob, this was detected as spam because of the text repetitions in it. I took it out of moderation as it's clearly not.

    Hopefully somebody in this forum can help you out.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • RobB47
    RobB47 over 6 years ago

    UPDATE:

    I've found that I can successfully perform an "Early Global Route", and all of the signals are connected with the proper via definitions in the LEF DEFAULT spec.  However, this does not change the errors I receive when I try to use the nanoroute feature.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Chetan B S
    Chetan B S over 6 years ago in reply to RobB47

    Hi Rob,

    Kindly check on the following App Note:

    https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1Od000000050SIEAY&pageName=ArticleContent&sq=005d0000001T5yuAAC_2018103103335758

    Regards,

    Chetan B S

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • RobB47
    RobB47 over 6 years ago in reply to Chetan B S

    Chetan,

    Thank you for providing this app note.  I resolved the issue by using the guidance from page 7, setting the parameter "setGenerateViaMode –auto true" prior to loading in the design.

    My design now routes clean without errors.

    Rob

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • Chetan B S
    Chetan B S over 6 years ago in reply to RobB47

    Hi Rob,

    Good to know that the issue is resolved with the suggestions in the app note. Please do visit http://support.cadence.com to get any help on Cadence tools.

    Regards,

    Chetan B S

    • 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