Quantcast
Channel: Cadence Custom IC Design Forum
Viewing all articles
Browse latest Browse all 4952

passing variable number of params in spectre subckt call?

$
0
0

I'm trying to create a custom parasitic wrapper for a transistor. Something very much like the example from the Spectre reference manual for inline subcircuits.

Here's an example:

inline subckt nmos_macro (D G S B)

    parameters l=7n w=112.0n

    nmos_macro (D G S B) nmos l=l w=w

     cgs_m (G S) capacitor c=10f

    cds_m (D S) capacitor c=10f

ends s1

I'm then using User-CDF to effect a model swap when netlisting, calling the _macro instead of the base device.

The problem I'm running into is that the base transistor device has dozens of parameters, but only some of them are used depending on the context. For example, a regular schematic simulation will specify a certain set of params, but an extracted view will have another (partially overlapping) set. The params that are not specified presumably keep their default values according to the model definition.

This makes a little bit of a headache when creating the macro model, since it looks like I would have to list *all* possible parameters with their default values.

What would make this much simpler is if there were a way to just pass any extra arguments on, like most programming languages have some form of *args for functions accepting a variable number of parameters.

This is a long shot, but can Spectre handle something like that? 


Viewing all articles
Browse latest Browse all 4952

Trending Articles



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