Table of Contents

Device plugins

Implementation

Simple query functions

Used by parser

int max_nodes()const

Return the maximum number of ports, from the viewpoint of the parser, including both voltage ports and current ports. Usually it returns a constant.

int min_nodes()const

Return the minimum number of ports, from the viewpoint of the parser, including both voltage ports and current ports. Usually it is the same as max_nodes.

int_num_current_ports()const

Return the required number of current ports. There are ports in a netlist that are really branch elements used as current probes. If omitted, the inherited method returns zero. If this function returns a non-zero value, the device may not work with all netlist formats.

int tail_size()const

Return the minimum number of non-ports following the ports. It is a hack to help the Spice format parser distinguish between a port name and the device type. If omitted, the inherited method returns 0 or 1, but usually 1 is the correct value.

Used by allocation functions and checking

int net_nodes()const

Return the actual number of ports. If max_nodes == min_nodes, the only valid value is the same, so it is permissible to return that number. Otherwise, it is determined when the netlist is read. If the syntax is correct it will always be between min_nodes and max_nodes.

int ext_nodes()const

Return the number of external nodes. If omitted, the inherited method returns max_nodes().

int int_nodes()const

Return the number of internal nodes. If omitted, the inherited method return 0.

int_matrix_nodes()const

Return the number of nodes that stamp into the matrix. The value is usually int_nodes() + ext_nodes().

Special simple element property flags (usually not needed)

bool has_inode()const

Return true if the device has a hidden node that can be used as a current probe. If omitted, the inherited method returns false.

bool has_iv_probe()const

Return true if the device can be used as a current probe for current controlled spice devices. If omitted, the inherited method returns false.

bool is_device()const

Return true if the device is a device. In this context, the inherited method returns true, so it can always be omitted. It is listed here because a netlist can also include non-device objects, and this function identifies the difference.

bool is_source()const

Return true if the device is a fixed source. If omitted, the inherited method returns false.

bool f_is_value()const

Return true if the result of evaluating a behavioral function is the “value”. If omitted, the inherited method returns false.

bool_makes_own_scope()const

Return true if the device makes its own scope for searching. This is used for the header lines of subcircuits. For normal devices, it can be omitted, which will return false.