Quantcast
Channel: Cadence Custom IC Skill Forum
Viewing all articles
Browse latest Browse all 5066

Using CPP macros to identify the version of SPECTRE and have the netlist adapt itself to supported features

$
0
0

Description of the problem

From one SPECTRE version to the other some new features may appear which maybe contradictory with usage in a previous version. For example "actimes" and  "acnames" which in earlier SPECTRE version (eg. 15.1) were allowed to have different numbers of entries ( "actimes" as an array of 10 times, "acnames"  the name of a single AC analysis); but in SPECTRE 19.1 and later, one must have "actimes_pair" set to "no" in order to achieve the same behaviour, whilst this new parameter is unknown to the previous versions. So in order to make one netlist compatible with older and newer simulator versions, a switch must be introduced that will activate "actimes_pair"  for newer versions.

Question

  1. Are their some CPP marco's predefined by SPECTRE allowing one to use #ifdef or other similar CPP commands to activate alternative chunks of code in the netlist depending on the simulator version ?
  2. Is there an equivalent in SPECTRE to the CPP "-dM" option that will output all predefined macro's ?

  3. Is there an alternative way maybe by using the "structural if-statement"  based on some pre-defined constant which would hold the subversion number (or even better a function that would return the different parts of the subversion number based on input arguments ?

Request

  • If no CPP macro is available to check the simulator version, can such a feature be implemented ?

  • If no constant is defined containing the subversion number can such constant be implemented ? Same request for a function yielding the various numbers / tokens forming the subversion number ?

Viewing all articles
Browse latest Browse all 5066

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>