Commit Graph
502 Commits
Author SHA1 Message Date
Kristaps Jurkans 99ff45921a feat(datasheet): automatically determine appropriate pinout table
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.
2025-12-15 19:53:30 +02:00
Kristaps Jurkans 4afe8f6941 feat(datasheet): add new pinouts
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.
2025-12-15 19:53:30 +02:00
Uri Shaked d9b4ee2345 feat(precheck): look for the .lef file in ../lef/ 2025-12-11 19:45:15 +02:00
Uri Shaked ef96fa4e1b fix(precheck): incorrect minimum power rail width for ihp-sg13g2 2025-12-11 19:41:59 +02:00
Uri Shaked 9f7195a42d feat(tech/gf180mcuD): copy corner logos to all metal layers 2025-12-08 12:54:14 +02:00
Uri Shaked 853872f0e2 perf(tech/gf180mcuD): optimize corner logo GDS files
Generate optimized polygons instead of generating a rect for each pixel from the source PNG image.
2025-12-07 20:49:39 +02:00
Uri Shaked 9552777451 feat(tech/gf180mcuD): tt corner logo
Add the Tiny Tapeout logo to the top-left corner to the chip
2025-12-07 11:23:31 +02:00
Uri Shaked 77d9b04539 fix(tech/gf180mcuD): pmndmy offgrid DRC violations in the tillitis corner logo 2025-12-06 17:16:01 +02:00
Uri Shaked deda2f4f7f fix(tech/gf180mcuD): tillitis corner logo DRC violations 2025-12-05 21:36:11 +02:00
Uri Shaked 8b011af876 feat(tech/gf180mcuD): die corner logos 2025-12-05 20:20:03 +02:00
Uri Shaked b57f798ec4 fix(precheck): disable additional min density checks for ihp-sg13g2
Disable GatPoly, Activ, and TopMetal2 min density checks
2025-12-05 10:00:44 +02:00
Uri Shaked de6544ea80 fix(precheck): hardcoded layer name in error message 2025-12-05 09:23:34 +02:00
Uri Shaked bbd9aa1821 fix(tech/gf180mcuD): scale logo to 65 um
The current size, 100 um, is wider than the mux spine, so it doesn't fit.
2025-11-25 18:24:45 +02:00
Uri Shaked 45eb4a6b5d fix(precheck): update sg13g2_mr deck to be compatible with klayout 0.30 2025-11-24 14:38:39 +02:00
Uri Shaked c813d4796a fix(precheck): adapt for new IHP def files
TopMetal1 is allowed now, and the power pins moved from Metal5 to TopMetal1.
2025-11-24 14:20:04 +02:00
Uri Shaked 6d72ed6d6a fix(tech/ihp): add new standard cells
The ihp-sg13g2 PDK has recently added 6 new standard cells variants in IHP-GmbH/IHP-Open-PDK#553.
2025-11-23 20:16:31 +02:00
Uri Shaked c35546a7e4 feat(tech/ihp-sg13g2): update user project .def files
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.
2025-11-23 19:13:21 +02:00
Uri Shaked 5f2a734ef9 feat(configure): support for multiple mux config files in TT_CONFIG 2025-11-20 11:13:11 +02:00
Uri Shaked ef5191cec2 fix(configure): typo in warning message 2025-11-20 10:37:56 +02:00
kris j 9a14f318d6 feat(precheck): check if power pins have USE in definition (#139)
* 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
2025-11-20 08:57:05 +02:00
Uri Shaked e80e10658b feat(configure): add --create-foundry-submission option
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)
2025-11-18 13:27:53 +02:00
Uri Shaked 75efd78187 feat(tech/gf180mcuD): disable copying of power gate macros
They do not exist yet for gf180mcuD
2025-11-17 21:49:14 +02:00
Uri Shaked b1d2cf29b2 fix(rom): disable KLayout DRC for gf180mcuD
It seems to be broken ATM
2025-11-17 21:48:45 +02:00
Uri Shaked 65da0fc1a3 feat(rom): gf180mcuD config 2025-11-17 21:09:50 +02:00
Uri Shaked 2121978263 feat(tech/gf180mcuD): another def files update
This is the template using the half pitch offset that's currently used following the PDK's tracks.info.
2025-11-16 13:24:16 +02:00
Uri Shaked 5c4503072e feat(precheck): oas file support #134
replace legacy .gds.br support with .oas file support
2025-11-16 10:04:22 +02:00
Uri Shaked f5d9968a40 feat(tech/gf180mcuD): update .def files
Pin positions shifted to support for future power gate
2025-11-16 09:25:30 +02:00
Uri Shaked aad3efd7a1 fix(configure): remove legacy sta code 2025-11-15 21:31:38 +02:00
htfab 26675866c7 fix(precheck): add "gds maskhints yes" to magic drc 2025-11-15 18:07:03 +02:00
Uri Shaked 93e7e2971f fix(shuttle): backward compatibility ttsky25a mux macro names 2025-11-09 10:34:05 +02:00
Uri Shaked bb9107ee87 fix: remove cocotb from requirements
It's only needed by the wokwi testing library, and it causes version conflicts with the user/tt-multiplexer provided cocotb versions.
2025-11-09 09:41:10 +02:00
Uri Shaked b1fca8f72d chore(precheck): update klayout sky130A DRC deck
following chipfoundry/mpw_precheck#101
2025-11-08 08:48:14 +02:00
htfab df18cf8be8 Merge pull request #132 from htfab/main
fix(precheck): some sky130 layer names missing on older PDK versions
2025-11-07 23:25:10 +01:00
htfab 6aa09fc2e9 fix(precheck): some sky130 layer names missing on older PDK versions 2025-11-07 23:14:45 +01:00
htfab ce6e5d19eb refactor(logo): move pdk specific code to tech.py 2025-11-06 13:33:10 +02:00
Uri Shaked eebefdd779 feat(logo): gf180mcuD support 2025-11-06 11:23:14 +02:00
Uri Shaked bee33c5d9d fix(rom): add "g" to 7-segment alphabet 2025-11-06 11:13:39 +02:00
htfab 690a4c8470 feat(tt_tool): scramble stdcell layers in png render for IHP & GF (#129)
* feat(tt_tool): scramble stdcell layers in png render for IHP & GF

* fix(tt_tool): resolve mypy errors

* refactor(tt_tool): separate svg & png rendering into render_utils.py
2025-11-04 20:00:42 +02:00
htfab f77b61f709 Datasheet bugfixes (#128)
* Fix white page when funding was not specified

This was caused by creating a page before first checking whether there was any content for that page beforehand, so it would result in a rogue white page with no content.

* Fix missing analog pin tables

* Tweak pandoc settings

Switching from `gfm` to `markdown` should enable more formatting options. The extensions have been configured to be similar to `gfm` but provide some additional things, like `line_blocks` and `lists_without_preceding_blankline`s.
2025-10-30 17:25:35 +01:00
Kristaps Jurkans 6f6b5042c2 Tweak pandoc settings
Switching from `gfm` to `markdown` should enable more formatting options. The extensions have been configured to be similar to `gfm` but provide some additional things, like `line_blocks` and `lists_without_preceding_blankline`s.
2025-10-30 15:27:41 +00:00
Kristaps Jurkans b8c4e91ab1 Fix missing analog pin tables 2025-10-30 13:34:20 +00:00
Kristaps Jurkans 7e4e1045a9 Fix white page when funding was not specified
This was caused by creating a page before first checking whether there was any content for that page beforehand, so it would result in a rogue white page with no content.
2025-10-30 13:10:21 +00:00
htfab 3e3285edb3 chore(precheck): bump magic & klayout nix packages 2025-10-30 02:39:21 +01:00
htfab 67541ef759 feat(precheck): add pin_check for gf180mcuD
and also enable magic drc
2025-10-29 19:14:45 +02:00
htfab 0954014041 feat(precheck): initial gf180mcuD support 2025-10-28 21:41:02 +02:00
kris j 8132ad6ecc fix(docs): ensure datasheet can use images properly (#125) 2025-10-16 01:35:54 +02:00
kris j c36badfb60 feat(docs): add new datasheet generation method (#123) 2025-10-16 00:11:07 +02:00
htfab 13c23e047d fix: prevent exception in get_tt_tools_version() for detached HEAD 2025-10-07 01:30:47 +02:00
Uri Shaked 03ca42307f feat(tt_tools): --check-docs now prints all errors
Previously, it only printed the first error it encountered, causing more iterations when fixing info.yaml and info.md errors
2025-10-03 18:25:42 +03:00
Uri Shaked bdff4ca192 ci: include test results in action summary 2025-10-03 17:54:57 +03:00