Commit Graph
480 Commits
Author SHA1 Message Date
htfab e63fad485d fix(precheck): fix bug in parsing fixed-point numbers in LEF (#168)
as suggested by @smunaut
2026-05-04 13:52:49 +02:00
htfab d4626aaed7 feat(precheck/gf180mcuD): add test for antenna check 2026-05-03 09:26:53 +02:00
htfab c904c49f53 feat(precheck/gf180mcuD): add antenna check 2026-05-03 09:26:53 +02:00
Uri Shaked dfa73d614c feat(tech/sky130A): analog def files for 3x2, 4x2, 6x2 tiles (bare + 3v3) 2026-04-18 21:03:16 +03:00
Uri Shaked b7acfdc00e fix(precheck): forbid prBoundary.drawing (189/0) for ihp shuttles 2026-03-30 16:49:26 +03:00
Kristaps Jurkans 5779f397bc feat: add interactive document checker (#164)
* feat: add interactive document checker

This utility can be used to audit the documentation of the projects on the shuttle, marking them to be removed from the datasheet.

Usage:
`python3 tt/configure.py --doc-check`, inspect using `nano` controls, then answer prompt upon exiting `nano`.
2026-03-30 15:15:24 +02:00
Uri Shaked 635d1b4285 fix(configure): skip power gate macro copy when no_power_gating is set 2026-03-28 14:57:59 +02:00
htfab 201d0273dc feat(precheck): add Verilog syntax check 2026-03-26 13:05:34 +01:00
Gerard Talatinian bd4a4a08e5 fix: lazy imports for matplotlib & gdstk (#161)
only require matplotlib & gdstk for functionality where we actually use them

contributed by @gerardvt
2026-03-26 11:02:37 +01:00
Uri Shaked 4c1ebdd9c0 feat(ihp): 8x4 tile size 2026-03-13 09:14:12 +02:00
htfab 34f7730b3a fix(precheck): force single-threaded mode in sky130A_mr.drc
avoids intermittent segfaults in klayout FEOL check
2026-03-12 22:48:48 +02:00
Kristaps Jurkans becdf49dd7 fix(docs): remove extra str call (#159)
The `str()` call is already added by calling `DocsHelper._as_str_or_content()`, so having both causes an error which prevents docs from building.
2026-03-10 12:33:07 +01:00
Kristaps Jurkans 1caab70038 fix(docs): make project doc flow compatible with updated template (#158)
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.
2026-03-08 04:32:54 +01:00
Kristaps Jurkans bfd5020b4c fix(docs): attempt to sanitise user strings from yaml
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.
2026-03-07 22:55:01 +02:00
Andy Sloane 3c092caeed fix(fpga): remove set_frequency from .pcf so nextpnr --freq works as expected (#154) 2026-03-04 00:04:54 +01:00
Uri Shaked 362e5b2f0e fix(datasheet): handle artwork insertion when projects < artwork count 2026-02-28 11:55:21 +02:00
Uri Shaked 6839bd1295 feat(precheck): json file with tool versions 2026-02-24 09:51:16 +00:00
htfab 45fa89984f feat(precheck): add analog pin check for ihp-sg13g2 2026-02-21 07:16:36 +02:00
htfab cff6920d69 fix(precheck): add nofill & slit layers to IHP valid layer list 2026-02-18 14:27:22 +02:00
htfab d28b20433e feat(precheck): use new DRC deck for IHP
needs IHP PDK 34c00bdd15efd3406ab028896d2182236aad3aa7 (2025.11.25) or later
2026-02-17 20:50:41 +02:00
htfab 57cc5a39d6 feat(precheck): allow more customization for run_klayout() 2026-02-17 20:50:41 +02:00
Uri Shaked 4d46382768 fix(tech/ihp-sg13g2): wrong layer for power strings in magic init script 2026-02-12 22:16:57 +02:00
Uri Shaked 88470b895b fix(precheck): disable analog pin check for ihp-sg13g2
The check currently uses hard-coded sky130A specific layer names and pin sizes.
2026-02-12 22:10:36 +02:00
Uri Shaked fecefe0b07 feat(tech/ihp-sg13g2): analog def files + magic init script 2026-02-12 21:36:18 +02:00
Pat Deegan 89ad9bfa93 feat(fpga): add support for the new FabricFox devkit
* TT FPGA tool, prelim import
* config.ini manager, prelim
* bitstream uploads and FPGA config.ini management

Contributed by @psychogenic, with minor edits by @htfab
2026-02-12 06:27:29 +01:00
Uri Shaked b4a9e6c7ea fix(project): only require non-empty pinout with --check-docs 2026-02-04 14:55:56 +02:00
Gonsolo d052447fa3 feat(project): add --no-docker option (#150)
Contributed by @gonsolo
2026-01-30 12:54:50 +01:00
Kristaps Jurkans 310e50e3b1 fix(datasheet): make links inside callout boxes white 2025-12-15 19:53:30 +02:00
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