hammer icon indicating copy to clipboard operation
hammer copied to clipboard

Sky130 - Convert to Pydantic, support sky130_scl

Open harrisonliew opened this issue 2 years ago • 4 comments

  • Implemented method gen_config for tech plugins to override and generate their own config (TechJSON instance, i.e. directly creating the Pydantic model). This enables multi-library support within the same tech plugin.
  • Removed all existing sky130-tech-gen-... scripts and outputs, static sky130.tech.json
  • Upstream @nayiri-k's tech LEF parsing of Metals into LEFUtils (unfortunately can't create Metal object directly or else it has a circular import)
  • Fixed gds_map_file reading in OpenROAD plugin
  • Adds more robust tech overriding (automatically uses cache paths for PDK collateral if they exist, and allows for manually hacked paths through technology.override_libraries: [] and technology.manually_override_pdk_collateral: bool

TODOs:

  • [ ] Add sky130_scl Cadence standard cell library option @elamdf
  • [x] Documentation for this alternate method
  • [x] Sky130 documentation for selecting library
  • [x] e2e tests

Related PRs / Issues

Type of change:

  • [ ] Bug fix
  • [X] New feature
  • [X] Other enhancement

Impact:

  • [X] Change to core Hammer
  • [X] Change to a Hammer plugin
  • [ ] Other

Contributor Checklist:

  • [X] Did you set master as the base branch?
  • [X] Did you state the type-of-change/impact?
  • [X] Did you delete any extraneous prints/debugging code?
  • [ ] (If applicable) Did you add documentation for the feature?
  • [ ] (If applicable) Did you update the poetry.lock file if you updated the requirements in pyproject.toml?
  • [ ] (If applicable) Did you add a unit test demonstrating the PR?
  • [ ] (If applicable) Did you run this through the e2e integration tests?
  • [ ] (If applicable) Did you update the submodules in e2e/ if this feature depends on updated plugins?

harrisonliew avatar Mar 08 '24 03:03 harrisonliew

syn/par works on commercial tutorial flow

elamdf avatar Apr 05 '24 19:04 elamdf

make tutorial=sky130-commercial power-syn BINARY=/tools/C/elamdf/chipyard_dev/tests/symmetric.riscv works as well (with joules)

elamdf avatar May 06 '24 22:05 elamdf