Skip to main content

PDKMaster based PDK for open source IHP SG13G2 process

Project description

This is the Chips4Makers' PDK for the SG13G2 open source PDK.

Versions

  • v0.0.5:
    • Improved module load time though lazy library creation
    • In exported klayout technology use layer properties from upstream
  • v0.0.4:
    • Fix for wrongly connected guard ring in sg13g2_IOPadVdd
    • Don't try to extract modified ESD diodes as ESD diodes but extract them as regular d(p)antenna diodes
    • Use minimum width of 0.48µm for diodes, this is new rule not yet present in design rules.
  • v0.0.3:
    • Critical fix sg13g2_IOPadVdd
    • Improved generation of all the files for upstreaming
  • v0.0.2: build infrastructure and dependencies update; no major code changes but KLayout PCell lib support added.
  • v0.0.1: First public release; main achievement is that code can generate a version of the IO library ready for upstreaming to IHP-Open-PDK.
    It can also generate standard cells but these have not been used yet in P&R.

Alpha Version of Code

This is an alpha version of the IHP SG13G2 PDK, if it breaks you need to keep the pieces. E.g. hiccups are still expected when using this code base. For further discussion you can use the Chips4Makers matrix channel. Certainly interested to be made aware about usage of this project.

Pypi release

A version of this library is also released on PyPI. Currently this release is not expected to be of much use on it's own. Plan is to evolve this PyPI release onto a state the installation of it together with it's dependencies is enough to do P&R for IHP SG13G2.

Project Arrakeen subproject

This project is part of Chips4Makers' project Arrakeen. It shares some common guide lines and regulations:

Development

Dependencies

Most of the dependencies are handled by pdm and will this be taken care of when following the pdm setup below. Only dependency that is not handled by that is ngspice as that tool does not have a python package available yet. The current simulations performed for the docs are only tested with ngspice version 42 with osdi models installed. Following procedure was used on local Linux development machine to get ngspice installed:

  • Compiled ngspice version 42 with default options (this includes osdi support for this latest version). Both the command as the shared library were compiled. The shared library is needed by PySpice and needs to be in default library search path or the NGSPICE_LIBRARY_PATH has to be set pointing to the ngspice shared library.
  • Download nightly version of the OpenVAF compiler.
  • Compiled the VA-Models with the downloaded OpenVAF compiler.
  • Copied the osdi models over into the ngspice installation directory and updated the spinit file to automatically load these osdi models on start-up. The IHP MOS simulation models use the PSP compact models that are provided in this way. The simulation setup assumes that these models are available in ngspice.

If you encounter difficulties in setting this up don't hesitate to contact the Chips4Makers matrix channel.

Git Submodules Setup

This code uses git submodules and these submodules need to be initialized before pdm can be set up. This can be done by adding the --recursive option to the git clone command or using later on by using the command git submodule update --init when it was not done during check-out. When pulling new versions of the main branch or switching between branches also a git submodule update may be necessary to also switch to the proper version of the submodules.

Pdm Setup

Pdm is used for python package dependency management and python package building. Please use the pdm install command to install the dependencies as was last used on the development machine. pdm clean can be used to do a clean-up. The actual setup for pdm is done in the pyproject.toml file.

Doit targets

Doit is used for build task setup and execution; the pdm doit command is to be used to call the doit command in an environment with the proper dependencies present. Doit can execute tasks in parallel by using the -n N option where N is the maximum number of parallel tasks. You do a pdm doit list to get a list of all the tasks defined in the dodo.py file. Highlight of some higher level tasks defined:

  • tarball: will run most of the tasks as dependency of that task and then generate a tarball in the tarballs subdirectory of the generated open PDK.
  • patch4upstream: will also run most tasks and then create a patch on top the dev branch in the the upstream/IHP-Open-PDK git submodule.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

c4m_pdk_ihpsg13g2-0.0.5.tar.gz (37.1 kB view details)

Uploaded Source

Built Distribution

c4m_pdk_ihpsg13g2-0.0.5-py3-none-any.whl (45.0 kB view details)

Uploaded Python 3

File details

Details for the file c4m_pdk_ihpsg13g2-0.0.5.tar.gz.

File metadata

  • Download URL: c4m_pdk_ihpsg13g2-0.0.5.tar.gz
  • Upload date:
  • Size: 37.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.10.12

File hashes

Hashes for c4m_pdk_ihpsg13g2-0.0.5.tar.gz
Algorithm Hash digest
SHA256 1816846256cd3d9f48eb028baef0a5fb2fef5485d2b3b91760d3167eef353650
MD5 ab34dd2ab2a179dfa95ec93f3a8d6f3b
BLAKE2b-256 59872a3a29a3cc7ca3c81ea464b6f86e98bd367c4bb7007e770c4e166281b844

See more details on using hashes here.

File details

Details for the file c4m_pdk_ihpsg13g2-0.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for c4m_pdk_ihpsg13g2-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 01bf8a7ab0a19ef401712b1b3cc93a71400fffadc36e3a74057d2da84024dbf0
MD5 baef3dd9295b09f6b867d782efd4f5fa
BLAKE2b-256 096cf29d38acd1a537edc43adb7790b300190af3df40eda39c08eead6aec7b9f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page