gdsfactory / skywater130

skywater 130nm pdk
https://gdsfactory.github.io/skywater130/
MIT License
26 stars 11 forks source link

Update skywater130 pcells implementation with the its latest version #67

Open RehabSayed-G opened 1 year ago

atorkmabrains commented 1 year ago

@joamatab I'm not sure why the pre-commit fails

joamatab commented 1 year ago

i think you need to run

pre-commit run -a   

and push again

atorkmabrains commented 1 year ago

@RehabSayed-G Could you please run the command highlighted above?

RehabSayed-G commented 1 year ago

@joamatab ,

atorkmabrains commented 1 year ago

@joamatab Appreciate if you check why this is happening?

atorkmabrains commented 11 months ago

@joamatab Could you please approve the change?

atorkmabrains commented 11 months ago

@joamatab Could you please review and merge this?

joamatab commented 10 months ago

Hi Amro, sorry i missed this, I think there is some license headers left on the code, how about removing those as the repo already has a license file?

joamatab commented 10 months ago

Also, you are using klayout strange python syntax to make them,

Could we use kfactory that has a syntax similar to gdsfactory instead?

@proppy @sebastian-goeldi

sebastian-goeldi commented 10 months ago

This won't work in kfactory (yet and at least for the foreseeable future), exactly because of the "strange" classes. These classes are necessary for the klayout PCell implementation.

The pcells are required to be class instances instead of mere functions like in gdsfactory/kfactory. Sure we could use the same workaround like flayout used which essentially boiled down to write gds and load during the pcell implementation, but it's everything but a good solution (esp if you run into cell name conflicts).

I can check whether we can find an okay solution, but on windows (and to some degree on MacOS) it's not fun unless we get klayout in a conda environment where we can control the packages installed.

joamatab commented 10 months ago

How about using something like flayout that Floris made to automatically translate gdsfactory Pcells into Klayout Pcells?

Floris made a flayout script to do all this automatically without having to rewrite the Pcell in Klayout strange PCell syntax

https://github.com/flaport/flayout

@flaport @klayoutmatthias @thomaslima

atorkmabrains commented 10 months ago

@joamatab There is no need to translate anything, all code was implemented via gdsfactory. Only the GUI interface was implemented for klayout. Here is an example: https://github.com/mabrains/skywater130/blob/9d7ecf1deeadf09708172e7a0a3f0d3f4381f81f/sky130/cells/klayout/pymacros/cells/fet.py#L38

The above is just the declaration of the pfet for klayout.

GDS factory cell: https://github.com/mabrains/skywater130/blob/main/sky130/cells/klayout/pymacros/cells/draw_fet.py#L936