• 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. SystemVerilog virtuoso netlister

Stats

  • Locked Locked
  • Replies 6
  • Subscribers 125
  • Views 20676
  • 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

SystemVerilog virtuoso netlister

jach78
jach78 over 9 years ago

Hi all,

I'm using the SystemVerilog netlister in the virtuoso environment(Launch->Plugins->Simulation->SystemVerilog). 

My aim is to generate a netlist of the analog circuitry modeled in SystemVerilog.

The "digital" glue logic is modeled in a "digital" way while analog blocks are described in "real number modelling".

To be more specific I would like to use the cadence EE_pkg or cds_rnm_pkg packages for my custom real types.

The problem is that when the netlister traverse the hierarchy and the symbols it declares all the ports as input, output or inout without wandering which types the nets should be. 

Is there a way to add properties to the symbol such that the netlister is able to identify the correct defined type for the port?

How can I indicate to the netlister which type I want the port belong to?

Many thanks in advance and best regards,

Jack

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 9 years ago

    Hi Jack,

    In general the netlister is supposed to propagate the types from the code in the view being netlisted. There is a mechanism to allow you to override the propagation by adding a property called "dataType" (of type string) to the pin of the symbol (on the symbol view itself), although I found you also had to add a property called "portKind" too for this to work (e.g. set to "var"). I'm not convinced this really is working correctly, as it only caused it to set the net type on the parent cellView's nets, and not in the I/O of the schematic for which this is a symbol of. Also, this portKind property is not documented; without it I found I got a SKILL error and bits of the netlist were missing. Even this is only available in later IC616 ISRs (ISR10 onwards, I think).

    My recommendation would be to contact customer support to figure this out properly - this is based on 10 minutes of quick experimentation, and I suspect we need to properly explore this and file CCRs with R&D to get this working correctly.

    Thanks,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • jach78
    jach78 over 9 years ago
    Hi Andrew,
    thank you very much.
    I can confirm that the netlister propagates the type from the code in the view being netlisted.
    My only concern is for the user defined net types.
    For example I would like to use the cadence package cds_rnm_pkg.
    When I import it in the systemverilog view description, it compiles correctly, but when I check and save the view and and I try to extract it, I receive the following error:
    Extract failed for cellview
    Viewing the parse log for details I receive the following error:
    visadev: *E,DLOALB; Design library 'dmsLib' not defined while reading verilog_package dsmLib.cds_rnm_pkg:verilog_package (VST)
    I don't understand the root cause of the problem. The irun simlator is able to process the package without eny
    So when I use user defined types I'm not able make the views usable from the netlister, since the models are not visible the the netlister(the views can't be extracted).

    Best regards,
    Jack.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 9 years ago

    Jack,

    My wild guess from the symptoms and the error message that you've provided is that you have this (or similar in your cds.lib file):

    DEFINE dsmLib $(inst_root_with:tools/bin/irun)/tools/affirma_ams/etc/dms/dmsLib

    You've misspelt it. It should be "dmsLib" not "dsmLib". Your message is indicating that it read the "pak" file from the library, found the package  within, and it was in a library called "dsmLib" but it was compiled in a library called "dmsLib", which it couldn't locate.

    I may be wrong, but I was able to reproduce your error by doing that.

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • jach78
    jach78 over 9 years ago
    Hi Andrew,
    I was not mispelling the library(that was a typo error in the post). The declaration you suggested was totally missing in my library paths.
    When I add it to the library path, the library manager says to me that this is not a valid cadence library and ask me if I want to continue. I have continued and added it anyway.
    After that, when I check and save the cell, I have this other error that i hadn't before:
    import cds_rnm_pkg::*;
    |
    nvlog: *E,NOPBIND (......) : package cds_rnm_pkg could not be bound
    Following I have clearly an error on each type declaration.

    I don't understand why if I don't specify that path it doesn't complain on the package declaration and on the file sintax, while when I specify the path it complains.
    It's like if don't specify the path the tool( irun ) is able to find the package by itself(the library manager instead isn't capable to extract the cell because it doesn't see that library), but when I specify the path, it isn't anymore capable to find the path(maybe it's wrong or not accessible to irun even if i can navigate to it from my shell).
    Which is the best way to locate the right path relative to may installation?
    Is it correct to add it to the cds.lib by the library manager path editor?

    Best regards,
    jack.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 9 years ago

    Jack,

    Can you invoke this in your UNIX window:

    UNIX> ncroot
    /export/home/apps/INCISIVE152_isr
    UNIX> ls -l `ncroot`/tools/affirma_ams/etc/dms/dmsLib
    total 132
    drwxr-xr-x 3 workmgr users 4096 Aug 23 22:47 #24unit_0x0c3b912a/
    drwxr-xr-x 3 workmgr users 4096 Aug 23 22:47 #24unit_0x7dce5038/
    drwxr-xr-x 3 workmgr users 4096 Aug 23 22:47 EE_pkg/
    drwxr-xr-x 3 workmgr users 4096 Aug 23 22:47 cds_rnm_pkg/
    -rw-r--r-- 1 workmgr users 40575 Aug 23 22:47 inca.lnx86.150.pak
    -rw-r--r-- 1 workmgr users 70397 Aug 23 22:47 inca.lnx8664.150.pak

    The italicised parts are what I want you to type, and please send what you get in response (I've showed what I get).

    I suspect I know what's happening, but I just want to check what's there. Can you show me exactly what you have in your cds.lib too? Also, what does "which irun" and "cds_root irun" output?

    Regards,

    Andrew.

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • jach78
    jach78 over 9 years ago
    Hi Andrew,
    first of all thank you very much for your valuable support!
    Executing your commands I noticed that there was an error in the symbolic link that pointed to that library.
    I mean following the symbolic links provided by cad installation brought me to the correct path, but the tools didn't follow the links correctly.
    Using the paths provided by the commands that you suggested to me the errors disappeared.

    Best regards,
    Jack.
    • 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