Metadata-Version: 2.1
Name: librecell-lib
Version: 0.0.9
Summary: CMOS standard cell characterization kit.
Home-page: https://codeberg.org/tok/librecell
Author: T. Kramer
Author-email: code@tkramer.ch
License: AGPL
Description: # LibreCell - Lib
        Characterization kit for CMOS cells.
        
        ## Getting started
        
        See install instructions in top-project.
        
        ### Characterize a cell
        
        An ready-to-run example can be found in the `examples` folder.
        The script `run_example.sh` should characterize the `INVX1` inverter.
        
        The following example determines the input capacitances and timing delays of a combinational cell.
        
        It is assumed that `FreePDK45` is installed in the users home directory.
        
        Required inputs are:
        * --liberty: A template liberty file which defines how the cells should be characterized.
        * --include: SPICE files or models to be included.
        * --spice: A SPICE file which contains the transistor level circuit of the cell (best including extracted parasitic capacitances).
        * --cell: Name of the cell to be characterized.
        * --output: Output liberty file which will contain the characterization data.
        
        Characterize a single cell:
        ```sh
        lctime --liberty ~/FreePDK45/osu_soc/lib/files/gscl45nm.lib \
        	--include ~/FreePDK45/osu_soc/lib/files/gpdk45nm.m \
        	--spice ~/FreePDK45/osu_soc/lib/source/netlists/AND2X1.pex.netlist \
        	--cell AND2X1 \
        	--output /tmp/and2x1.lib
        ```
        
        Characterize multiple cells in the same run:
        ```sh
        lctime --liberty ~/FreePDK45/osu_soc/lib/files/gscl45nm.lib \
        	--include ~/FreePDK45/osu_soc/lib/files/gpdk45nm.m \
        	--spice ~/FreePDK45/osu_soc/lib/source/netlists/*.pex.netlist \
        	--cell INVX1 AND2X1 XOR2X1 \
        	--output /tmp/invx1_and2x1_xor2x1.lib
        ```
        
        
        Vizualize the result:
        ```sh
        libertyviz -l /tmp/and2x1.lib --cell AND2X1 --pin Y --related-pin A --table cell_rise
        ```
        
        ### Merging liberty files
        `lctime` will output a liberty file containing only one cell. The `libertymerge` command allows to merge this kind of
        output file back into the liberty template.
        
        The following example will take `base_liberty.lib` as a template and update its `cell` entries with the data found in
        the liberty files in the `characterization` directory.
        ```sh
        libertymerge -b base_liberty.lib \
            -o output_liberty.lib \
            -u characterization/*.lib
        ```
        This approach allows to run characterization runs of multiple cells independently and in parallel (e.g using `make`).
        
Keywords: cmos cell characterization vlsi asic
Platform: UNKNOWN
Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
Classifier: Development Status :: 3 - Alpha
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)
Classifier: Programming Language :: Python :: 3
Description-Content-Type: text/markdown
