- Fetch the pinned IHP-Open-PDK dev checkout into PDK_ROOT, the same revision and
recipe tt-gds-action@ihp-cmos5l uses in install_sg13cmos5l.sh, and write a
SOURCES file so tt_tool.py can report the PDK version.
- Bump the IHP-only LibreLane to 3.1.0.dev3 (the cmos5l magic techfile needs
magic >= 8.3.657; 3.0.x ships 8.3.623).
- Harden the cmos5l factory test (ttihp0p4-factory-test) instead of the sg13g2
ttihp25b one.
The shuttle datasheet flow was updated to santise strings properly, and within the changes were some updates to the template that was used. This template is shared between the shuttle and individual projects, but the standalone version wasn't updated to be compatible. This commit rectifies that issue.
User strings were used as-is in certain parts since they were taken directly from `info.yaml`, but this could sometimes cause the datasheet build to fail since they've found a way (intentionally or not) to escape the content box that they were in.
This commit attempts to address this issue by:
- Sanitising user input using regex
- Using Typst's `str()` function instead of content boxes where possible
- Clarifying syntax in certain sections
Hopefully these changes will remove (or at least reduce) the chances of someone breaking the build.
* TT FPGA tool, prelim import
* config.ini manager, prelim
* bitstream uploads and FPGA config.ini management
Contributed by @psychogenic, with minor edits by @htfab
This is determined by looking at the `pdk` key in the config. If `pdk` doesn't exist, `id` will be used (assuming that the structure of the shuttle ID follows ttX where X=[sky, ihp, gf]). If any part fails, it will fall back to `openframe_sky130`.
The pinout can also be manually controlled by setting the `datasheet_config.pinout` key in the shuttle config, and that will be used verbatim. Note that `datasheet_config.pinout` is not checked, so it *must* be exact, otherwise it will cause the datasheet build to fail.
Add new pinouts for SKY130, IHP SG13G2 and GF180mcuD.
Valid keys for `show_pinouts` can now be easily seen in the `pinout_map` dictionary:
- `caravel`
- `openframe`
- `openframe_sky130`
- `customframe_ihp_sg13g2`
- `customframe_gf180mcud`
The pinout chapter in the datasheet has also been reworked: the content now exists directly in the typst template instead of being an external file. This is to make use of the `pinout_map` and to allow for easier modification of the content.
This change also allows the page to make use of the `callout` function.
This change moves the power rails to TopMetal1, and makes the TopMetal1 layer available for the user designs.
In addition, we now let LibreLane install the PDK instead of having to install it separately.
* feat(precheck): check if power pins have `USE` in definition
* fix: expect zero or more spaces, instead of one or more
* feat(precheck): check for missing `USE POWER`
* feat(precheck): check for missing `USE GROUND`
* feat(precheck): add simple README with link to LEF/DEF reference manual
Replaces the old `--create-chipfoundry-submission` and `--create-ihp-submission` options, and will also be used for wafer.space submissions.
Also include an .oas submission file in the foundry_submission directory (in addition to the existing gds submission file)