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.1.3: Updates for changing API in PDKMaster and libraries.
  • v0.1.2:
    • build setup improvements
    • technology definition fixing
  • v0.1.1:
    • use common doit support from PDKMaster and pdkmaster.io.klayout
    • signoff related fixes
  • v0.1.0:
    • Regular code cleansing
    • DRC fixes for improved rules from latest PDKMaster
  • 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.1.3.tar.gz (37.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

c4m_pdk_ihpsg13g2-0.1.3-py3-none-any.whl (45.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: c4m_pdk_ihpsg13g2-0.1.3.tar.gz
  • Upload date:
  • Size: 37.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for c4m_pdk_ihpsg13g2-0.1.3.tar.gz
Algorithm Hash digest
SHA256 d77d2f6ec122d3628ec6714c50e63f2d4733e7f8a6e5cf9b2e2b6b55ca389968
MD5 fdea09845a2c0d347a51b98bb4345abc
BLAKE2b-256 fc05faf8f0bce481e91a75f4d51b25bac7ee3e1dfe241ee4ec697fd485942e26

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for c4m_pdk_ihpsg13g2-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f1a8a4a89487522fdf1e14e57c8076da33a3ba73c233ef6d89139474f578d56f
MD5 534d0eae798b2c5985770302ede4142c
BLAKE2b-256 2edf256670cd524b8767cadde1b3b7abbfe81eac31b0d6cb890a6f696eae8c95

See more details on using hashes here.

Supported by

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