Uri Shaked
62b6292811
feat(gf180mcuD): add 4x6 and 4x8 tile sizes
2026-10-30 21:01:19 +01:00
Uri Shaked
b7b993ac50
fix(precheck): allow any klayout 0.30.x from pip
...
KLayout removes older releases from PyPI: KLayout/klayout#1670
2026-10-29 22:27:27 +01:00
Uri Shaked
617676148e
feat(ihp-sg13cmos5l): analog project support
2026-10-29 21:32:06 +01:00
Uri Shaked
02abf73b5f
docs(ihp-sg13cmos5l): update stale mux_macros comment
2026-10-27 11:52:13 +01:00
Uri Shaked
806c0cf721
fix(ihp-sg13cmos5l): default to the ihp-sg13cmos5l-18.yaml mux config
2026-10-27 11:49:11 +01:00
Uri Shaked
2984badb72
feat(tt_tool): deprecate --ihp and --gf in favor of --pdk
2026-10-27 11:43:49 +01:00
Uri Shaked
2278ea867e
feat: add ihp-sg13cmos5l PDK alongside ihp-sg13g2
...
Based on work done in the ihp-sg13cmos5l branch
2026-10-27 11:17:19 +01:00
Uri Shaked
d65690eeb1
fix(precheck): bump pip klayout to 0.30.8 to match the DRC binary
2026-06-15 17:03:35 +03:00
Uri Shaked
d1bbd34d95
feat(precheck/gf180mcuD): update to latest PDK
2026-06-14 20:23:49 +03:00
Uri Shaked
a280aac0a7
ci(test-harden): bump LibreLane to 3.0.2
2026-06-14 19:32:56 +03:00
Uri Shaked
50998ec8f8
feat(precheck/gf180mcuD): run KLayout DRC via PDK run_drc.py
...
- Density related rules skipped (irrelevant for user projects)
- Add docopt dependecy (required by the PDK's run_drc.py)
2026-06-14 16:50:19 +03:00
Uri Shaked
1de6149a61
fix(precheck): disable gf180mcuD magic DRC
...
Sylvain: The techfile for GF180 is still a bit dodgy in some areas,
especially when reading from GDS and it's rejecting perfectly valid designs.
Wafer.space relies only on KLayout DRC for acceptance so we should do
too for the time being.
2026-06-09 18:03:55 +03:00
Uri Shaked
0cb06befb0
Merge ed26854793 into d2ed4b10ae
2026-05-31 13:20:08 +00:00
Uri Shaked
ed26854793
refactor: rename uses_3v3 to uses_vapwr
...
The flag enables a second power supply (VAPWR), not necessarily 3.3V (gf180's core is already 3v3), so "uses_3v3" no longer accurately describes its purpose.
Rename it across project_info, precheck, project and shuttle, and update the validation message accordingly.
The legacy "uses_3v3" key is still accepted when reading info.yaml, so existing project configs keep working.
2026-05-31 16:18:24 +03:00
Uri Shaked
d5b156e241
feat(precheck/gf180mcuD): analog template selection + pin check
2026-05-31 15:40:42 +03:00
Uri Shaked
ad17dca51b
feat(tech/gf180mcuD): analog def files + magic init script
2026-05-31 15:40:34 +03:00
Uri Shaked
d2ed4b10ae
docs(readme): note mac dependencies for setup
2026-05-23 19:41:42 +03: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
Uri Shaked
635d1b4285
fix(configure): skip power gate macro copy when no_power_gating is set
2026-03-28 14:57:59 +02:00
Uri Shaked
4c1ebdd9c0
feat(ihp): 8x4 tile size
2026-03-13 09:14:12 +02: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
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
Uri Shaked
b4a9e6c7ea
fix(project): only require non-empty pinout with --check-docs
2026-02-04 14:55:56 +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
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
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
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
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
Uri Shaked
a9e829d0c1
test: info.yaml validation tests
2025-10-03 17:50:58 +03:00
Uri Shaked
29e6a05555
cleanup: remove .gds.br support
...
We now use .oas instead
2025-10-02 08:11:37 +03:00
Uri Shaked
131f64cecb
feat(tt_tool): --open-in-openroad and --open-in-klayout flags #113
...
close #113
2025-10-01 22:53:37 +03:00
Uri Shaked
7d5a6b229f
fix(tt_tool): use correct timing data for gf180mcuD
...
We are targeting 3.3V, but until now we used 5V timing data.
2025-09-30 15:47:56 +03:00
Uri Shaked
65b404f80a
Merge pull request #119 from TinyTapeout/gf180mcu
...
Initial support for the gf180mcuD PDK (with wafer.space)
2025-09-29 20:26:35 +03:00
Uri Shaked
1b336f4996
feat(tt_tool): cell/category definitions for gf180mcuD
...
Enables the --print-cell-summary and --print-cell-category commands for gf projects
2025-09-29 16:17:23 +03:00
Uri Shaked
0afaaef4d4
ci(test-harden): add gf180mcuD
2025-09-29 16:17:23 +03:00
Uri Shaked
fcf7e8a37f
fix(tt_tool): always specify the power pin names
...
Up to this point, we relied on the PDK's default power pin names. However, the defaults names for GF180, VDD and VSS, are not compatible with Tiny Tapeout, which expects VPWR (or VDPWR) and VGND. So instead, we set the VDD_PIN and GND_PIN config options explicitly.
2025-09-29 16:17:23 +03:00
Uri Shaked
1ab2abc8d5
feat: initial gf180mcuD support
2025-09-29 16:17:14 +03:00
Uri Shaked
44d164955d
fix(precheck): read the PDK name from the PDK environment variable
2025-09-29 16:16:20 +03:00
Uri Shaked
8a36225bdb
feat(tt_util): create a pdk.json file with pdk name / version info
...
This file replaces the old "FLOW_VERSION" and "PDK_SOURCES"
2025-09-29 16:14:55 +03:00
Uri Shaked
d14142e412
fix(tt_tool): create merged config right after creating user config
...
This allows users to simply run `--create-user-config` and then manually harden with librelane using the generated config file.
2025-09-25 12:57:37 +03:00
Uri Shaked
fcb93fde4a
fix: remove ".mk" config format support
...
It was a temporary hack to support OpenROAD-flow-scripts (ORFS) for early IHP shuttles
2025-09-25 12:55:08 +03:00
Uri Shaked
9056f14ddc
feat(tt_tool): set TT_PDK in user project OAS file
...
The TT_PDK property will be set to the PDK used to harden the project
2025-09-25 09:42:07 +03:00
Uri Shaked
7732914248
fix(tech/sky130A): remove ROW and TRACK lines from .def files
...
LibreLane runs happily without them, but they cause issue when using a different standard cell library (e.g. hs instead of the default hd).
2025-09-24 22:36:24 +03:00
Uri Shaked
c4892189f9
chore: upgrade cocotb, pytest
2025-09-23 16:38:27 +03:00
Uri Shaked
305f3ecaf8
fix(tt_tool): vary RT_MAX_LAYER per tech
...
Each tech has a different metal stackup, so user projects get a different top routing metal layer. tt-support-tools now handles this instead of the user having to worry about this when switching PDKs.
2025-09-18 11:45:44 +03:00
Uri Shaked
84efb79dd7
feat(tt_tool): --create-tt-submission command
2025-09-18 11:36:03 +03:00
Uri Shaked
ae0894906a
Merge pull request #115 from TinyTapeout/tech-refactor
...
Refactor to separate PDK/tech-specific code
2025-09-14 14:51:28 +03:00
Uri Shaked
0529b699de
fix(precheck): rename "sky130" to "sky130A"
...
Keep the tech naming consistent with the rest of tt-support-tools code
2025-09-13 20:28:54 +03:00
Uri Shaked
498e098f9a
refactor(rom): unified librelane config with per-PDK overrides
2025-09-13 20:28:54 +03:00
Uri Shaked
28fd25f684
refactor: separate tech specific code
...
Make the codebase more PDK-agnostic by moving tech-specific code to `tech.py` and tech specific files (e.g. def files, tile_sizes.yaml) to `tech/<pdkname>` subdirectory.
2025-09-13 20:28:48 +03:00
Uri Shaked
c67d54ee54
fix(tt_tool): routing stats broken for LibreLane 3.x
2025-09-09 16:14:57 +03:00
Uri Shaked
dc0f9c87b4
ci(test-harden): GH action that tests GDS hardening
2025-09-09 16:14:27 +03:00
Uri Shaked
4347c961d0
refactor(tt_tool): openlane2 -> librelane
2025-09-08 17:51:13 +03:00
Uri Shaked
5e9fff900e
cleanup: remove legacy code
2025-09-08 16:02:33 +03:00
Uri Shaked
278718ca12
chore: update efabless -> chipfoundry
2025-09-08 15:44:33 +03:00
Uri Shaked
9788d3d545
fix(rom): use DECAP_CELL settings from PDK
2025-09-08 15:44:32 +03:00
Uri Shaked
9024d9ff0e
fix(rom): extend 7-segment alphabet
...
Add "c", "a", "d" and "s", "k", "y" to the 7-segment encoding dictionary, make "H" and "I" uppercase (so IHP is rendered uppercase and not lowercase)
2025-09-08 15:44:27 +03:00
Uri Shaked
ef2b0de84b
fix(configure): fails due to missing args.pdk
...
slightly refactor project.py to make the code more extensible to future PDK support
2025-09-02 17:42:28 +03:00
Uri Shaked
9519fa87fd
fix(tt_tool): project tile configuration always checked against SKY130 tile sizes
2025-09-02 17:20:02 +03:00
Uri Shaked
9a59843db0
style(fpga): python code formatting issues
2025-09-02 17:11:26 +03:00
Uri Shaked
a95630a378
feat(ihp): add 6x4 template
2025-09-02 17:07:57 +03:00
Uri Shaked
68e2a49925
feat(logo): corner logo for IHP
2025-08-20 10:48:28 +03:00
Uri Shaked
58807a2145
feat(logo): IHP shuttle support
2025-08-19 23:14:09 +03:00
Uri Shaked
d69a0eac0c
fix(logo): support to longer shuttle names (e.g. TTCAD25a)
2025-08-19 23:13:26 +03:00
Uri Shaked
2675235ea2
fix(shuttle): don't copy pg macros when copying final results
...
There is no real reason to copy them, and they vary per shuttle type
2025-08-19 22:14:41 +03:00
Uri Shaked
bafe03504f
feat(shuttle): ihp power switch support
2025-08-19 16:26:05 +03:00
Uri Shaked
10e2f1108c
feat(shuttle): report missing muxes
...
When we have x4-tile high projects, some muxes will be missing. Report them as such in the shuttle index, so that the shuttle map on the website displays correctly.
2025-08-15 20:12:32 +03:00
Uri Shaked
62f5e45102
fix: mistune type errors
2025-08-15 20:12:27 +03:00
Uri Shaked
bebe93d93b
fix(precheck): add HeatRes.drawing to list of valid IHP SG13G2 layers
2025-05-09 22:26:37 +03:00