• 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. Setting PVS for DRC and LVS (tsmcN28)

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 126
  • Views 23740
  • 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

Setting PVS for DRC and LVS (tsmcN28)

snezana111
snezana111 over 9 years ago

Hello,

this is my first time setting up PVS and I am having difficulties providing Technology Mapping File and the Rule set files for DRC and LVS. I  have installed the TSMC-28nmHP PDK which contains Pycells (and Tcl procedures for translating them to Pcells) and the PDK has a Calibre folder with the DRC and LVS rules in Calibre code...

I have read in the cdnshelp files that PVS accepts TSMC iDRC rule deck natively however I was not able to find any such file in the PDK...i have a techfile in which there are layer definitions and some constraints but nothing like a DRC rule set. And inside the PDK there's the tsmcN28 folder which contains folders for every component including a tsmcN28.layermap file and some other non-specific-component files which I don't think are the rule sets...

Launching PVS from the Virtuoso menus I have made a pvstech.lib which contains DEFINE tsmcN28 /path/to/tsmcN28 for the Technology Map File, then I was able to choose tsmcN28 for the Technology input, but although the help file says the Rule Set is optional when I click on Apply I get a prompt that I must provde both Rule Set file and Rules File(s).

So, my guess was that I am missing techRuleSet file. I have seen what it looks like for Assura but I was not able to find any of the relevant .drc, .rsf, .rul or whatever is needed for DRC.

I would appreciate if someone could help me out on this, or point where to look.

----------------- LVS issue

I have four folders provided by my IT:

DFM_LVS_RC_PVS_N28HP_1p13m_ARLDL.v1.0_3d

DRC_PVS_28nm_HP_1P1_M_002.14a

DRC_PVS_28nm_RTO_CHECKER_V1.4b

iLVS_PVS_Library_N28HP_N28HPM_N28HPL_v1.0_3b

I was able to initiate LVS_Install.pl from the DFM_...folder and get the relevant files for the desired metal scheme, the MAIN_DECK folder was created after it and in it I can see a file DFM_LVS_RC_PVS_N28HP_xxx which is the PVS RC/LVS command file, other than that, the other folders don't have much info...

I was confused, though, that the README File said there was supposed to be a DFM_LVS_RC_iLVS_xxx.tcl script but there's no .tcl script anywhere... and the PVS_iLVS vendor library only contains the vendor_lvs.lib which I don't know what is it for exactly?

When I tried running LVS check I also get the prompt that I need to provide the rule sets...

I suspect that perhaps I am not defining the technology map file correctly? And how should a techRuleSet for PVS look like?

I am working with provided directories from my IT and I don't know what's available for download from Cadence site. I would appreciate if someone would point out if there's something more the IT should download for me so that I can set the PVS correctly?

------

My Cadence Virtuoso version is IC6.1.6-64b.500.11

PVS version 14.12-s293 64bit

and I have the corresponding Tcl/Tk versions as suggested in the Readme files, 8.5 and higher..

  • Cancel
Parents
  • snezana111
    snezana111 over 9 years ago

    I have solved the DRC issue - Just for future reference I'll post my solution:

    Reading through pvsuser.pdf (found in <pvs_instal_dir>/doc/pvsuser) there's the general explanation about setting up the PVS file tree (Appendix C for even more details)

    The solution was to have a pvtech.lib (which shares the same syntax and location as cds.lib) in which would the rest of the DRC and LVS rules be defined through a separate directory, like so (pvtech.lib example>>)

    DEFINE tsmcN28 ./PVS

    pointing to a PVS directory containing the rest of the rule set files.

    However, inside the PVS directory there should be a techRuleSets file containing a list of technology files associated for the technology at hand...(there's an example in the pvsuser.pdf Appendix C...)

    my mistake was defining the techRuleSets with ruleSet(... ... ...) whereas pvsuser.pdf clearly said it's supposed to be pvsRuleSet(... ...)

    Another issue is that the suggested syntax for pvsRuleSet( "tech_name" (techId "rule" "rule)) the techId is not an arbitrary name (as I thought at first) it's a predefined thing, ex. DrcRules, LvsRules (so, DrcRule would not be evaluated when the pvsRuleSet is loaded...)

    Then for the DRC I just had to put the correct files and their paths ...


    ------------


    I've resolved the LVS issue when I figured out that the techID for LVS (LvsRules) needs to be exactly named as LvsRules.

    So, I suppose the bare bones are done for now.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Asap123
    Asap123 over 5 years ago in reply to snezana111

    Hi Snezana111,

     I'm stuck with the same problem, then I can't find any rule files (e.g., lvs.pvl or lvs.rul, etc.). Could you share your wisdom how to figure it our?

    Thanks!

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Asap123
    Asap123 over 5 years ago in reply to snezana111

    Hi Snezana111,

     I'm stuck with the same problem, then I can't find any rule files (e.g., lvs.pvl or lvs.rul, etc.). Could you share your wisdom how to figure it our?

    Thanks!

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • jdimov
    jdimov over 5 years ago in reply to Asap123

    Hi,

    the solution is described in the same post you replied to.

    You have to create the lvs.pvl or lvs.rul yourself.

    For the syntax try browsing through the pvs user manual.

    There is also a great pdf you can find in Cadence Customer Support by searching for "setting up quantus qrc in pvs for tsmc28nm" (or something similar, I didn't state the correct word order probably). In it you will find great examples how the whole drc/lvs/qrc file tree structure should look like as well as some specifics regarding the tsmc28nm PDK.

    • 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