settings

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

Allowed keywords:

cell_defaults, debug, debug_dir, lib_name, logic_thresholds, multithreaded, named_nodes, omit_on_failure, results_dir, simulation, temperature, units

cell_defaults

Default values to use for all cells. See the 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 for the liberty file. If the filename is not specified on the command line with the --output option, this is also used as the filename.

type:

string

default:

unnamed_lib

logic_thresholds

Voltage thresholds for tuning edge timing. Values are specified as percentages of VDD. See section 2.3 in the Liberty User Guide, Vol. 1 for more information.

Allowed keywords:

falling, high, low, rising

falling

The percentage of the supply voltage at which a signal is considered falling for timing measurements. See figure 2-1 and sections 2.3.1 & 2.3.3 in the Liberty User Guide, Vol. 1.

type:

float or int

default:

50.0

high

The percentage of the supply voltage at which a signal is considered logic 1 for timing measurements. See figure 2-2 and sections 2.3.8-9 in the Liberty User Guide, Vol. 1.

type:

float or int

default:

80.0

low

The percentage of the supply voltage at which a signal is considered logic 0 for timing measurements. See figure 2-2 and sections 2.3.6-7 in the Liberty User Guide, Vol. 1.

type:

float or int

default:

20.0

rising

The percentage of the supply voltage at which a signal is considered rising for timing measurements. See figure 2-1 and sections 2.3.2 & 2.3.4 in the Liberty User Guide, Vol. 1.

type:

float or int

default:

50.0

multithreaded

Run simulations in parallel, using as many threads as possible. Using the --jobs flag on the command line overrides this value.

type:

boolean

default:

True

named_nodes

Allowed keywords:

nwell, primary_ground, primary_power, pwell

nwell

Library-wide n-type biasing node name & voltage

Allowed keywords:

name, voltage

name

type:

string

default:

VNW

voltage

type:

float or int

default:

3.3

primary_ground

Library-wide primary ground node name & voltage.

Allowed keywords:

name, voltage

name

type:

string

default:

VSS

voltage

type:

float or int

default:

0

primary_power

Library-wide primary power supply node name & voltage.

Allowed keywords:

name, voltage

name

type:

string

default:

VDD

voltage

type:

float or int

default:

3.3

pwell

Library-wide p-type biasing node name & voltage

Allowed keywords:

name, voltage

name

type:

string

default:

VPW

voltage

type:

float or int

default:

0

omit_on_failure

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

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

simulation

Specifies which simulation backend to use and which procedures to apply for acquiring various types of measurements.

Allowed keywords:

backend, combinational_delay_procedure, input_capacitance_procedure

backend

Which PySpice simulator backend to use. For available options, see https://pyspice.fabrice-salvaire.fr/releases/v1.4/faq.html#how-to-set-the-simulator

default:

ngspice-shared

Allowed values:

  • ngspice-shared

  • ngspice-subprocess

  • xyce-serial

  • xyce-parallel

combinational_delay_procedure

The name of a procedure used to measure delays associated with a combinational cell.

type:

string

default:

combinational_worst_case

input_capacitance_procedure

The name of a procedure used to measure the capacitance of each input pin for each cell.

type:

string

default:

ac_sweep

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