settings

All keywords under settings are optional. If a keyword is not present, CharLib uses default value.

Allowed keywords:

cell_defaults, debug, debug_dir, lib_name, logic_thresholds, multithreaded, named_nodes, omit_on_failure, operating_conditions, process, quiet, results_dir, simulator, temperature, units

cell_defaults

Default values to use for all cells. See cells keyword for more information. May contain any key-value pair valid for a cell entry.

Allowed keywords:

debug

Display debug messages, and store simulation SPICE files.

type:

boolean

default:

False

debug_dir

The directory where simulation SPICE files are stored if debug keyword is set to True

type:

string

default:

debug

lib_name

The library name to put to the exported liberty file.

type:

string

default:

unnamed_lib

logic_thresholds

Voltage thresholds to recognize signals as logical 0 or 1. Values are relative to voltage given by named_nodes.vdd

Allowed keywords:

high, high_to_low, low, low_to_high

high

The minimum fraction of supply voltage recognized as a logical 1.

type:

float or int

default:

0.8

high_to_low

The threshold which must be crossed before CharLib considers a signal falling from one to zero.

type:

float or int

default:

0.5

low

The maximum fraction supply voltage recognized as a logical 0.

type:

float or int

default:

0.2

low_to_high

The threshold which must be crossed before Charlib considers a signal rising from zero to one.

type:

float or int

default:

0.5

multithreaded

Run simulations in parallel, using as many threads as possible.

type:

boolean

default:

True

named_nodes

Allowed keywords:

nwell, pwell, vdd, vss

nwell

Devices N-WELL terminal

Allowed keywords:

name, voltage

name

type:

string

default:

VNW

voltage

type:

float or int

default:

3.3

pwell

Devicess P-WELL terminal

Allowed keywords:

name, voltage

name

type:

string

default:

VPW

voltage

type:

float or int

default:

0

vdd

Devices power supply terminal

Allowed keywords:

name, voltage

name

type:

string

default:

VDD

voltage

type:

float or int

default:

3.3

vss

Devices ground terminal

Allowed keywords:

name, voltage

name

type:

string

default:

GND

voltage

type:

float or int

default:

0

omit_on_failure

Specifies whether to terminate if a cell fails to characterize (False), or continue with next cells (True).

type:

boolean

default:

False

operating_conditions

The operating conditions to set in the exported liberty file.

type:

string

process

The process condition to set in the exported liberty file.

type:

string

default:

typ

quiet

Minimize the number of messages and data Charlib displays to the console.

type:

boolean

default:

False

results_dir

The directory where Charlib exports characterization results. If omitted, CharLib creates a results directory in the current folder.

type:

string

default:

results

simulator

Specifies which Spice simulator to use

default:

ngspice-shared

Allowed values:

  • ngspice-shared

  • ngspice-subprocess

  • xyce-serial

  • xyce-parallel

temperature

The temperature to use during spice simulations.

type:

float or int

default:

25

units

Specifies physical units to use for input and output values.

Allowed keywords:

capacitive_load, current, energy, leakage_power, pulling_resistance, time, voltage

capacitive_load

The unit of capacitance

type:

string

pattern:

^((yocto|y)|(zepto|z)|(atto|a)|(femto|f)|(pico|p)|(nano|n)|(micro|u)|(milli|m)|()|(kilo|k)|(mega|M)|(giga|G)|(tera|T)|(peta|P)|(exa|E)|(zetta|Z)|(yotta|Y))(f|F|farads|Farads)

default:

pF

current

The unit of electrical current

type:

string

pattern:

^((yocto|y)|(zepto|z)|(atto|a)|(femto|f)|(pico|p)|(nano|n)|(micro|u)|(milli|m)|()|(kilo|k)|(mega|M)|(giga|G)|(tera|T)|(peta|P)|(exa|E)|(zetta|Z)|(yotta|Y))(a|A|amp|amps|Amp|Amps)

default:

uA

energy

The unit of energy

type:

string

pattern:

^((yocto|y)|(zepto|z)|(atto|a)|(femto|f)|(pico|p)|(nano|n)|(micro|u)|(milli|m)|()|(kilo|k)|(mega|M)|(giga|G)|(tera|T)|(peta|P)|(exa|E)|(zetta|Z)|(yotta|Y))(j|J|joules|Joules)

default:

fJ

leakage_power

The unit of power

type:

string

pattern:

^((yocto|y)|(zepto|z)|(atto|a)|(femto|f)|(pico|p)|(nano|n)|(micro|u)|(milli|m)|()|(kilo|k)|(mega|M)|(giga|G)|(tera|T)|(peta|P)|(exa|E)|(zetta|Z)|(yotta|Y))(w|W|watts|Watts)

default:

nW

pulling_resistance

The unit of resistance

type:

string

pattern:

^((yocto|y)|(zepto|z)|(atto|a)|(femto|f)|(pico|p)|(nano|n)|(micro|u)|(milli|m)|()|(kilo|k)|(mega|M)|(giga|G)|(tera|T)|(peta|P)|(exa|E)|(zetta|Z)|(yotta|Y))(Ω|ohm|ohms|Ohm|Ohms)

default:

Ohm

time

The unit of time.

type:

string

pattern:

^((yocto|y)|(zepto|z)|(atto|a)|(femto|f)|(pico|p)|(nano|n)|(micro|u)|(milli|m)|()|(kilo|k)|(mega|M)|(giga|G)|(tera|T)|(peta|P)|(exa|E)|(zetta|Z)|(yotta|Y))(s|seconds|Seconds)

default:

ns

voltage

The unit of electrical voltage.

type:

string

pattern:

^((yocto|y)|(zepto|z)|(atto|a)|(femto|f)|(pico|p)|(nano|n)|(micro|u)|(milli|m)|()|(kilo|k)|(mega|M)|(giga|G)|(tera|T)|(peta|P)|(exa|E)|(zetta|Z)|(yotta|Y))(v|V|volts|Volts)

default:

V