• Stars
    star
    274
  • Rank 150,274 (Top 3 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created over 4 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

PDK installer for open-source EDA tools and toolchains. Distributed with setups for the SkyWater 130nm and Global Foundries 180nm open processes.

Open-PDKs (open_pdks)

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
[sudo] 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 PDK that you want to build. It is possible to build multiple PDKs at once, but not recommended due to the large memory and disk space overhead required by each one.

./configure --enable-[PDK_name]-pdk

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 highly recommended to declare a target location and install there, using

./configure --prefix=[path] --enable-[PDK_name]-pdk

followed by "make" and "make install". The default install location is /usr/local/share/pdk ([path] above is /usr/local). The install location should be a read-only filesystem area for regular users, since the PDK contents should not be altered.

Also see the website at http://opencircuitdesign.com/open_pdks/. The "Install" page has full instructions for configuring and installing open_pdks.

More Repositories

1

magic

Magic VLSI Layout Tool
C
468
star
2

qflow

Qflow full end-to-end digital synthesis flow for ASIC designs
C
182
star
3

XCircuit

XCircuit circuit drawing and schematic capture tool
C
105
star
4

netgen

Netgen complete LVS tool for comparing SPICE or verilog netlists
C
104
star
5

qrouter

Qrouter detail router for digital ASIC designs
C
56
star
6

irsim

IRSIM switch-level simulator for digital circuits
C
30
star
7

capiche

Parasitic capacitance analysis of foundry metal stackups
Python
10
star
8

ravenna_standalone

A lightweight version of the efabless Ravenna RISC-V processor chip design files for public access
Verilog
8
star
9

tutorial_layout

Repository of files associated with the webinar on analog layout using magic and klayout with Matt Venn.
Shell
7
star
10

caravel_openframe_project

Example digital project for the Efabless Caravel "openframe" harness
Verilog
7
star
11

sky130_ef_ip__opamp

Instrumentation amplifier (analog IP example)
Verilog
7
star
12

chaos_automaton

Chaos Automaton (efabless Caravel harness digital project)
Verilog
5
star
13

tclftdi

Tcl/Tk console based test system for development boards with FTDI chips. Also supports GPIB and instrumentation over ethernet.
Shell
5
star
14

chipalooza_projects_1

Chipalooza challenge first test chip of projects
Makefile
5
star
15

sky130_ef_ip__xtal_osc_32k

Low power, low speed (32.768kHz) crystal oscillator circuit for sky130 technology
Shell
2
star
16

sky130_ef_ip__samplehold

Analog 3.3V sample and hold circuit, with buffered output
Verilog
2
star
17

sky130_ef_ip__rdac3v_8bit

8-bit resistor ladder DAC with 3.3V output range
MATLAB
2
star
18

sky130_ef_ip__cdac3v_12bit

12-bit capacitive DAC
Shell
2
star
19

vsd_lvs_lab

Laboratory exercises for the VSD course on physical verification, part 5: LVS
Verilog
1
star
20

sky130_ef_ip__biasgen

Current bias generator circuit for distributing bias currents to analog circuits.
Shell
1
star
21

contact_programmed_ROM_cells

Set of layouts for contact-programmed ROM values of various bit widths.
1
star
22

vsd_drc_lab

Laboratory exercises for the VSD course on physical verification, part 3, DRC
Shell
1
star
23

striVe_sky130

The striVe chip (test vehicle for sky130) picoRV32 implementation
Verilog
1
star
24

sky130_ef_ip__ccomp3v

Continuous analog comparator, 1mV resolution
Verilog
1
star
25

sky130_ef_ip__xtal_osc_16M

High speed (16MHz) crystal oscillator in sky130 technology
Shell
1
star
26

fracn_dll

Alternative version of the Caravel digital locked loop (DLL) with a fractional feedback divider
Verilog
1
star
27

sky130_ef_ip__rc_osc_16M

16MHz (nominal) current-starved ring oscillator
Shell
1
star