• 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. Functional Verification
  3. Including `defines with ncvlog netlisting

Stats

  • Locked Locked
  • Replies 2
  • Subscribers 65
  • Views 15956
  • 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

Including `defines with ncvlog netlisting

casparvv
casparvv over 8 years ago

All,

This is using IC6.1.7-64b.500.6. I have a mixed-signal hierarchy in which several of the blocks have both schematic and Verilog cellviews. The Verilog cellviews are purely digital representations of analog / mixed-signal circuit behavior. I'm using a file with some define statements to govern this behavior. For example, there is a module that does this:

    always @ (posedge in) begin
        #(`TIME_RUN_ADC);
        out = 1;
    end

in which TIME_RUN_ADC is defined elsewhere, in a file that gets included in the digital / ams simulations.

When I modify the code in the Cadence text editor and try to extract connectivity, it warns that the variable is not recognized (*E,NOTDIR). I've tried to edit the hdl.var to include -NOWARN NOTDIR, but then ncvlog reports that this error cannot be surpressed. I've also tried using -INCDIR to the directory that holds a file with the defines, but ncvlog still did not find them. Editing hdl.var to include -DEFINE TIME_RUN_ADC=xx works, but there are many different modeling constants throughout the chip that would produce a long list if defined in this way. Is there a way to pass a list of defines to ncvlog? Thanks in advance!

Best regards,

Caspar

  • Cancel
Parents
  • StephenH
    StephenH over 8 years ago
    You cannot suppress an error for a missing symbol!
    I'm guessing that something about the way you're compiling the files is causing the `define to not be in context when this Verilog file gets compiled.
    You might try adding "-parseinfo include" to the irun command so that you see all the `include files that are being read in, this might give you a clue as to whether the right files are present in the exact ncvlog step that is reporting the error.
    You could brute-force it by adding +define+TIME_RUN_ADC=<your_value_goes_here> to the irun command, but that's probably just masking other problems with your flow. Better to root cause the current problem and fix it.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • StephenH
    StephenH over 8 years ago
    You cannot suppress an error for a missing symbol!
    I'm guessing that something about the way you're compiling the files is causing the `define to not be in context when this Verilog file gets compiled.
    You might try adding "-parseinfo include" to the irun command so that you see all the `include files that are being read in, this might give you a clue as to whether the right files are present in the exact ncvlog step that is reporting the error.
    You could brute-force it by adding +define+TIME_RUN_ADC=<your_value_goes_here> to the irun command, but that's probably just masking other problems with your flow. Better to root cause the current problem and fix it.
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

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