• 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: Does not detect Inverters in library

Stats

  • Locked Locked
  • Replies 1
  • Subscribers 91
  • Views 14956
  • 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: Does not detect Inverters in library

Schriek
Schriek over 7 years ago

Dear all,

I'm using Innovus to P&R a design consisting of custom made cells. The cells have been characterized and compiled into a .lib file using Synopsys SiliconSmart.
Everything works as expected, but I cannot do clock synthesis as Innovus does not detect my inverters as usable;


Total number of combinational cells: 16
Total number of sequential cells: 2
Total number of tristate cells: 0
Total number of level shifter cells: 2
Total number of power gating cells: 0
Total number of isolation cells: 0
Total number of power switch cells: 0
Total number of pulse generator cells: 0
Total number of always on buffers: 0
Total number of retention cells: 0
List of usable buffers:
Total number of usable buffers: 0
List of unusable buffers:
Total number of unusable buffers: 0
List of usable inverters:
Total number of usable inverters: 0
List of unusable inverters:
Total number of unusable inverters: 0
List of identified usable delay cells:
Total number of identified usable delay cells: 0
List of identified unusable delay cells:
Total number of identified unusable delay cells: 0

My .lib file does not have cell footprints, according to the Innovus user guide this should be fine as it figures out the footprint automatically, depending on functionality.
This is the output from 'reportFootPrint':

# footPrint: INVX1 nrCell: 3 Library: <hidden_bc>
Library:<hidden>
INVX1 INVX1 1 66.039 64.064
Y=(!X)
INVX2 INVX1 2 32.803 32.654
Y=(!X)
INVX4 INVX1 3 16.598 16.955
Y=(!X)
# footPrint: INVX1 nrCell: 3 Library: <hidden_wc>
Library:<hidden>
INVX1 INVX1 1 130.344 127.401
Y=(!X)
INVX2 INVX1 2 64.316 65.580
Y=(!X)
INVX4 INVX1 3 32.618 34.204
Y=(!X)

Clearly, Innovus also sees that indeed it is an inverter and detects all inverters having the same footprint.
Finally, I checked the 'dont_use' property, which is false.

Hence the question, how can I further debug this, or even better, what would be the solution?
(I am not allowed to upload the .lib files)

Thanks.

  • Cancel
  • Schriek
    Schriek over 7 years ago

    FYI,

    The problem is with having multiple power rails. The cells have VDD and VSS plus two other rails, which is specified in the liberty multi-rail format v2.
    Reverting to liberty multi-rail format v1 and removing the additional power rail definitions from the .lef makes Innovus recognize the cells.
    Even though this is the workaround I am using for the moment, I am still curious for a proper solution

    • 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