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
Schematic notebook demo #920
Conversation
…o a schematic-format yaml
…unction and (not yet implemented) buttons for doing so
Codecov Report
@@ Coverage Diff @@
## master #920 +/- ##
==========================================
- Coverage 75.65% 74.08% -1.58%
==========================================
Files 426 429 +3
Lines 21010 21670 +660
Branches 2819 2931 +112
==========================================
+ Hits 15896 16055 +159
- Misses 4231 4731 +500
- Partials 883 884 +1
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
amazing! Thank you Troy this combined with netlist extraction will allow us to run LVS on gdsfactory flow @simbilod |
added the capability to add nets programmatically... i haven't yet implemented removal of nets or addition of ports, though it's fairly easy to just edit the netlist by hand for now and reload the notebook. would be nice improvements for the future... |
Hi all,
This PR puts forth a proposed way to make a schematic editor in a Jupyter notebook, which can be used to build a Schematic-Driven Layout flow. There are three main developments here
*.schem.yml
with*.schem.yml
file, it can be reloaded/rerun later on and reproduce exactly the same results. The schematic is then displayed in a bokeh widget, which we can use to freely move around our instances to our pleasing. Again, adjustments here are also instantly synced to disk.*.pic.yml
from the schematic. We could consider allowing for partially-defined "layout implementations" also, which use the schematic instances as-is. For now, I think this is probably good enough though, and we can add checking later on to cross-check the two.I've played around with it a bit, and I find it to be a pretty nice, simple way to build up a netlist and schematic. I like that the format is already very close to our
*.pic.yml
syntax and the two can be used almost interchangeably. As with the pic yaml syntax, the schematic yaml is also very clean, concise, and readable. I also like that you can combine GUI and code driven flows in a single document, and leverage the full python/jupyter ecosystem. Let me know what you think!Addresses #516
@joamatab
@flaport
@skychil
@thomasdorch
@HelgeGehring