mpw_precheck icon indicating copy to clipboard operation
mpw_precheck copied to clipboard

mpw-precheck support for gf180mcuC designs

Open proppy opened this issue 2 years ago • 6 comments

mpw_precheck should have support for selecting different PDK and validate user project based on gf180mcuC.

proppy avatar Sep 26 '22 23:09 proppy

Sub-tasks:

  • [x] xor
  • [ ] consistency
  • [ ] user_defines
  • [x] drc - mr deck
  • [ ] metal density
  • [x] zero area

user_project_area size needs to be adjusted.

jeffdi avatar Oct 25 '22 05:10 jeffdi

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

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

jeffdi avatar Oct 25 '22 18:10 jeffdi

  • 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

proppy avatar Oct 27 '22 09:10 proppy

@jeffdi any updates?

proppy avatar Nov 10 '22 13:11 proppy

Magic DRC Check Significant rework required

@jeffdi do we have a more granular view of the required work?

proppy avatar Nov 10 '22 22:11 proppy

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?

proppy avatar Nov 14 '22 05:11 proppy