example implementation of FreePDK45 as PDKMaster based PDK
Project description
PDKMaster based FreePDK45 PDK
This is an example implementation of the non-manufacturable FreePDK45 as a PDKMaster based PDK under the Chips4Makers umbrella. One of it's functions is to be a guide for making new PDKMaster PDKs for manufacturable processes.
Releases
This packages is released in two different formats. First is a release on PyPI with only the python package included. Second is a tarball release on github. Next to the installable python package also contains the generated setup files for other tools and examples of how the PDKMaster FreePDK45 can be used.
Current release is v0.0.1:
Source repository overview
Currently this repo lacks documentation. So, as an introduction to the package here an overview is given of the several parts in the repo with a short description:
c4m/pdk/freepdk/
: The PDKMaster Technology python module, including c4m-flexcell based standard cell library.Makefile
,scripts/
: generate several release files:- copy of python module
- views of the standard cells using the PDKMaster export functionalities:
- spice netlist
- verilog behavioral model
- vhdl behavioral model
- gds layouts
- liberty file for library
make_in_docker.py
: Will run the building of everything from theMakefile
in a docker prepared docker container. Currently the the docker image to download is 2.3GB in size.design/
:portfolio.ipynb
: Python notebook show (part of) the FreePDK45 contentarlet6502/*
: Directory with Arlet's 6502 implementation and example flow of how to do synthesis and P&R using the FreePDK45 FlexLib standard cells library. When using it from a git checkout first the coriolis files will need to be built in the top directory. In the release package this will be included and not be needed.make_in_docker.sh
: you can also here run the flow inside a docker container of not all tools are installed locally. The same 2.3GB docker image is used for themake_in_docker.sh
from the top directory.
inverter/inverter.ipynb
: Python notebook showing how the PDKMaster framework can be used to design a balanced inverter. It combines several design aspects in one integrated flow:- spice simulation to compute the width of the inverter's NMOS and PMOS transistors to be balanced, e.g the same on current.
- generate minimal area layout based on the design rules
- Verify functionality using Spice simulation.
Status
This repository is currently using PDKMaster and c4m-flexcell which currently have unstable APIs. Heavy non-backwards compatible changes are still be expected. If interested head over to gitter for further discussion.
The PyPi release only contains the PDKMaster Technology definition; the gitlab release also contains all the generated views and example design files.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file c4m_pdk_freepdk45-0.0.1.tar.gz
.
File metadata
- Download URL: c4m_pdk_freepdk45-0.0.1.tar.gz
- Upload date:
- Size: 140.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/52.0.0.post20210125 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d720a0575b8584fadc568e28f62b168feab6ccad09ea364ffc0183eab668275 |
|
MD5 | 711f68aab25c276bcaa627122f7d6817 |
|
BLAKE2b-256 | 884eab1c2339b64544e5d63b0c9c7de9fb1d2ac6d9e99a802aaf3ac2956541dc |
File details
Details for the file c4m_pdk_freepdk45-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: c4m_pdk_freepdk45-0.0.1-py3-none-any.whl
- Upload date:
- Size: 19.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/52.0.0.post20210125 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e21ab6b57b95be63ecd044a031085a7975dc6b9515a4f77d27c36ca7c59e4f4 |
|
MD5 | 9cc55b96bda574e40dae4fe99d2ddf88 |
|
BLAKE2b-256 | 95ff875c788ce3a3f65f2c97fa8ffe93009455b7b6e38925b38f40bb8c3312c7 |