Technology Libraries

KyuPy’s Built-In Technology Libraries

Technology libraries provide cell definitions and their implementation with simulation primitives. A couple of common standard cell libraries are built-in. Others can be easily added by providing a bench-like description of the cells.

class kyupy.techlib.TechLib(lib_src)

Class for standard cell library definitions.

Node objects do not have pin names. This class maps pin names to pin directions and defined positions in the node.ins and node.outs lists. Furthermore, it gives access to implementations of complex cells. See also substitute() and resolve_tlib_cells().

cells

A dictionary with pin definitions and circuits for each cell kind (type).

pin_index(kind, pin)

Returns a pin list position for a given node kind and pin name.

pin_name(kind, pos, output=False)

Returns the pin name for a given node kind, list position, and direction.

pin_is_output(kind, pin)

Returns True, if given pin name of a node kind is an output.

kyupy.techlib.KYUPY = <kyupy.techlib.TechLib object>

A synthetic library of all KyuPy simulation primitives.

kyupy.techlib.GSC180 = <kyupy.techlib.TechLib object>

The GSC 180nm generic standard cell library.

kyupy.techlib.NANGATE = <kyupy.techlib.TechLib object>

Nangate 15nm Open Cell Library (NanGate_15nm_OCL_v0.1_2014_06.A).

kyupy.techlib.NANGATE45 = <kyupy.techlib.TechLib object>

Nangate 45nm Open Cell Library (NangateOpenCellLibrary_PDKv1_3_v2010_12). This NANGATE-variant that uses ‘ZN’ as output pin names for AND and OR gates.

kyupy.techlib.SAED32 = <kyupy.techlib.TechLib object>

The SAED 32nm educational technology library. It defines all cells except: negative-edge flip-flops, tri-state, latches, clock gating, level shifters

kyupy.techlib.SAED90 = <kyupy.techlib.TechLib object>

The SAED 90nm educational technology library. It defines all cells except: negative-edge flip-flops, tri-state, latches, clock gating, level shifters