• 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. Best way to generate timing .libs for digital users of analog...

Stats

  • Locked Locked
  • Replies 1
  • Subscribers 126
  • Views 17025
  • 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

Best way to generate timing .libs for digital users of analog blocks?

duroid
duroid over 17 years ago

I recently finished a PLL design and it seems to work well in simulation. I could manually create a LEF file quite easily, but now I need to create a timing library (.lib) for downstream digital users, so that clock tree synthesis etc. will do the right thing. But I have no idea how to do this - I couldn't find any mention of it in any documentation I have, and they couldn't find anything in the SOC Encounter documentation.

 What's the correct way to generate a timing library given an analog block layout, SPICE netlist, etc..?

 

  • Cancel
  • ScreenName
    ScreenName over 17 years ago

     Hi,

     There is a lot information which can be in the .lib.

    The pertinent informations depends on the constraints to respect on the block at the higher (or top) integration, to use STA engine and allow optimizations.

    Ususally, an analog IP which have timing constraints is characterized (Memory, standards cells, customs digital block) and a .lib is generated (with a perl script, or another way). If no timing constraints have to be  respected, the mimimal informations in the.lib are the pin out section, without timing/power section.

    Ususaly, an unconstrained analog IP is delivered as LEF/Lib and the .lib contains :

    - pin out (mandatory, aligned with verilog module)

    - max capacitance/trans/etc (design rules) values (not mandatory, but helps place/route, or synthesis to correct and/or to anticipate capacitance value).

    The minimal .lib is :

     library (name) {
    technology (name) ;/* library-level attributes */
    time_unit : unit ;
    voltage_unit : unit ;
    current_unit : unit ;
    pulling_resistance_unit : unit ;
    capacitive_load_unit(value,unit);
    leakage_power_unit : unit ;
    piece_type : type ;
    piece_define (”list”) ;
    define_cell_area(area_name,resource_type);
    in_place_swap_mode : match_footprint |
    no_swapping ;
    library_features (value);
    simulation : true | false ;
    }
    cell (name1) {/* cell definitions */
    cell information (pin/timing/power table)

    }

    You can create a .lib with a copy/paste from an existing file, and replace cell/pin etc.. section.

     Or create a perl script to do it more automatically, i don't know (and didn't see) an official tool to create it easily.

    All explanation on liberty syntax are given in the User guide of Library compiler, i found a version here :

    http://www2.informatik.uni-jena.de/~doersing/lehre/ps/sn99.10_dok/library/lcug1/lcug1_7.pdf

    To check your library syntax, you can use a synthesis or place and route tool and check warning/error at read_lib step. Although, library compiler is done for that (check, and translate .lib).

     

     

     

     

     

     

     

    • 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