mpw_precheck
mpw_precheck copied to clipboard
mpw-precheck support for gf180mcuC designs
mpw_precheck should have support for selecting different PDK and validate user project based on gf180mcuC.
Sub-tasks:
- [x] xor
- [ ] consistency
- [ ] user_defines
- [x] drc - mr deck
- [ ] metal density
- [x] zero area
user_project_area size needs to be adjusted.
GF MPW Precheck Readiness Checklist
The following highlights key pieces of work required to get the precheck ready to support the GF180 process, this doesn't include every change required.
-
Impacted Checks
- Consistency Check
- Hardcoded sky130 process specifics
- Netlist parsers utilize sky130 specific regex to identify cell-names
- Main script requires modest changes
- KLayout Checks
- Most checks don't have GF equivalents
- Regular mention of sky130 specific rules and decks
- Magic DRC Check
- Significant rework required
- Harded-coded paths to sky130 PDK files with unknown GF equivalents
- sky130 specific .magicrc
- XoR Check
- fixed paths and dimensions specifc to sky130 process and caravel with unknown GF equivalents
- Consistency Check
Most of the aforementioned checks will be relatively solved by providing GF180 equivalents; however, some refactoring effort across most checks will be required to accommodate a variable pdk configuration based on the pdk and in some cases the pdk variant as well
- KLayout Checks
- Most checks don't have GF equivalents
Does that mean that the klayout decks at https://github.com/google/globalfoundries-pdk-libs-gf180mcu_fd_pr/tree/e1b4e187900370103bf9b8a22bb8625f883368ef/rules/klayout are incomplete?
- Magic DRC Check
Where do those currently live? (I couldn't find any magic drc deck in the GF180MCU PDK repos)
- sky130 specific .magicrc
I think open_pdks already ships the gf180mcu equivalent: https://github.com/RTimothyEdwards/open_pdks/blob/master/gf180mcu/magic/gf180mcu.magicrc
/cc @RTimothyEdwards @QuantamHD @mithro
@jeffdi any updates?
Magic DRC Check Significant rework required
@jeffdi do we have a more granular view of the required work?
with #155 I still get the following violations on https://github.com/efabless/caravel_user_project example project:
{{STEP UPDATE}} Executing Check 2 of 4: Klayout FEOL
Total # of DRC violations is 163740 Please check /usr/local/google/home/proppy/src/github.com/efabless/caravel_user_project/precheck_results/14_NOV_2022___05_25_42/outputs/reports/klayout_feol_check.xml
{{STEP UPDATE}} Executing Check 3 of 4: Klayout BEOL
Total # of DRC violations is 163740 Please check /usr/local/google/home/proppy/src/github.com/efabless/caravel_user_project/precheck_results/14_NOV_2022___05_25_42/outputs/reports/klayout_beol_check.xml
{{STEP UPDATE}} Executing Check 4 of 4: Klayout Offgrid
Total # of DRC violations is 163740 Please check /usr/local/google/home/proppy/src/github.com/efabless/caravel_user_project/precheck_results/14_NOV_2022___05_25_42/outputs/reports/klayout_offgrid_check.xml
@jeffdi is that expected?