commit | 59a784624213f9e62a8ca1368cc73af43828ab96 | [log] [tgz] |
---|---|---|
author | Tim Edwards <tim@opencircuitdesign.com> | Tue Dec 22 10:34:20 2020 -0500 |
committer | Tim Edwards <tim@opencircuitdesign.com> | Tue Dec 22 10:34:20 2020 -0500 |
tree | 728f544a7e59d12a584437d98e281bd22c6795ca | |
parent | 5dca478ed1bda21f790fcfa76e668b5969e3632e [diff] |
Added the netlist_to_layout python script that reads a SPICE netlist and creates a device generator Tcl script that can be run through magic to create all the devices, subcircuits, and ports as a starting point for a layout. This has just been dropped in without any attempt to integrate; it needs work to support both directory structure styles from open_pdks (EF_STYLE 0 or 1), and for the schematic checks and automatic netlist generation, needs to be switched from electric to xschem---which will have to wait on xschem integration in open_pdks (coming soon for sky130). The schematic tool independent part of this (SPICE to magic) needs to be split out as an option that can be called independently.
Summary:
Automatic setup of PDKs for open-source tools from foundry sources.
Builds out and populates a new set of directories and subdirectories in the efabless format, with the efabless name for the PDK at the top, followed by categories “libs.ref” (IP) and “libs.tech” (EDA tool setup), each with subcategories corresponding to layout, abstract views, netlists, etc. for the IP; and magic, netgen, qflow, etc., for the EDA tool setup.
The populated PDK directories can contain either copies of files from the foundry sources, links to the foundry sources, or links back to another PDK.
Generates magic layout views for all vendor IP for which either a GDS view or a LEF view exists. Annotates the views as needed to handle ports, bounding boxes, etc.
This distribution contains sources for building out the SkyWater SKY130 130nm process. Sources for the foundry process data must be obtained separately. Read the README file in subdirectory sky130/ for instructions on obtaining and building the SkyWater sky130A PDK.
License:
Open_PDKs is open-source software distributed under the Apache-2.0 license. See file LICENSE for the complete license text.
Instructions:
git clone https://github.com/RTimothyEdwards/open_pdks.git cd open_pdks ./configure [options] make make install
where the configure [options] are specific to each foundry PDK supported by open_pdks and can be queried using
./configure --help
At a minimum you will want to pass a configure option to declare the location of the PDK vendor source distribution (which can be obtained separately),
./configure --with-[PDK_name]-source=[path]
The open_pdks version of the PDK can be built locally within open_pdks without the need to declare an install target or run “make install”. However, it is recommended to declare a target location and install there, using
./configure --with-[PDK_name]-source=[path] --with-[PDK_name]-local-path=[path]
followed by “make” and “make install”.
Also see the website at http://opencircuitdesign.com/open_pdks/. The “Install” page has full instructions for configuring and installing open_pdks.