tree f6c8f9a6f11a68f9cd2a86caba2badb9d06a6054
author Tim 'mithro' Ansell <tansell@google.com> 1639080941 -0800
committer Tim 'mithro' Ansell <tansell@google.com> 1639081810 -0800

Initial commit of the first open source release of FreePDK45 library.

The Si2 Alliance (in partnership with Silvaco) recently relicensed the
FreePDK45 library from a proprietary license to instead be released
under the truly open source Apache 2.0 license.

This means that this library can be finally used by anyone and
integrated into tooling test suites and continuous integration
environments. The community is also able to fix well known issues with
the PDK.

While the license terms for the library are now awesome, the Si2 is
still however providing the PDK through the very inconvenient method of
a web form submission on their website. This repository has the result
of what you get in a form usable by normal developers.

The resulting file you get from the web form submission is also very
weirdly packaged. This repository should contain the `pdk_v1.3_v2010_12`
release.

This was delivered in a file called `pdk_v1.3_v2010_12.Apache.CCL_.zip.gz`
(which is actually a `.tar.gz`), had md5sum of
`a848114fb1d7a3cf4a382e9ee10026ee` and contained further two tarballs;
```
c4af03aff9298fb7fbac43df12105460  NangateOpenCellLibrary_PDKv1_3_v2010_12.tgz
f6de9394ec0cfdf27e0e8a5fd27fa700  captables.tgz
```

The tarball `NangateOpenCellLibrary_PDKv1_3_v2010_12.tgz` was extracted.
This resulted in directory structure had a huge number of "mac metadata
files" which were then removed.

The tarball `captables.tgz` was extracted resulting in a directory
called `captables` that was moved into the repository and renamed
`Cap_Tables` to match the naming of the other directories.

Signed-off-by: Tim 'mithro' Ansell <tansell@google.com>
