Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sky130nm inverter schematic-driven-layout design & hdl21 integration #356

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

daquintero
Copy link

@daquintero daquintero commented Mar 9, 2024

Just making a draft branch to work from

gdsfactory/skywater130#86
#306

This PR:

  • Integrates functionality to directly convert from a hdl21.module declaration into an equivalent gdsfactory compatible format, documents these features in an example
  • Uses the new gdsfactory-sky130 repository
  • Automates spice component to sky130 gds layout mapping
  • Demonstrates schematic-driven-layout within an example
  • Demonstrate functionality of a more advanced example (patch code as required)
  • Get tests to pass and docs to build (it's a bit weird and have attempted something reasonable?)
  • Add test coverage

As this is currently very fluid, I expect this PR to supersede gdsfactory/skywater130#94

@daquintero daquintero changed the title SkyWater Inverter Schematic-Driven-Layout Design using GPlugins sky130nm inverter schematic-driven-layout design using gplugins Mar 9, 2024
.idea/.gitignore Outdated Show resolved Hide resolved
@daquintero daquintero changed the title sky130nm inverter schematic-driven-layout design using gplugins sky130nm inverter schematic-driven-layout design & hdl21 integration May 29, 2024
@daquintero daquintero marked this pull request as ready for review June 2, 2024 16:34
Copy link
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We've reviewed this pull request using the Sourcery rules engine. If you would also like our AI-powered code review then let us know.

@daquintero daquintero marked this pull request as draft June 2, 2024 16:36
@daquintero
Copy link
Author

daquintero commented Jun 2, 2024

Hi Joaquin, hope you're well ☀️ , I think the base functionality is ready to build upon for more complex examples. This includes a demo from going from a sky130 SPICE-to-layout schematic editor functionality, which can be built upon and modified. What do you think? More complex sky130 analog layout examples can now be done imo, and maybe you know how to best polish/present the schematic with the port implementations?

@daquintero daquintero marked this pull request as ready for review June 2, 2024 16:57
Copy link
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have skipped reviewing this pull request. It looks like we've already reviewed this pull request.

@daquintero
Copy link
Author

daquintero commented Jun 8, 2024

Hi @joamatab!

So I've tried to fix the actions that were not passing (adding the hdl21 module dependency into the action is a bit strange, I've followed the other cases and yet it doesn't import hdl21 correctly, what do you think?). For the last test import sky130 test to pass, this PR needs to be merged in sky130: gdsfactory/skywater130#97

I've also implemented the resistor ladder of a R2R-based DAC from hdl21, see the screenshot:

Screenshot from 2024-06-08 19-50-01

Hopefully this may be useful/helpful to you during your FSIC presentation which I look forward to! I believe there is a lot of power in this functionality now, and a good direction to grow - since there might be easier ways to translate from vlsir-xschem than directly to gdsfactory(but now they can be imported like this directly since it's the same proto as hdl21).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants