SkyWater130 Electric PDK Preview

141 views
Skip to first unread message

Adam Joseph

unread,
Sep 24, 2020, 5:01:52 AM9/24/20
to Electric VLSI Editor

Attached is a preview of the SkyWater130 Electric Technology File (aka
PDK) and a simple demo library. It works with the unmodified
public Electric version 9.07.

As usual, to use the technology file, go to File -> Preferences ->
Technology -> Added Technologies -> Add, and choose the attached
skywater130.xml file. Then restart Electric, File -> Open Library and
choose the attached sk130.jelib demo library. You should be able to
open inverter{lay} and run both DRC and LVS (aka NCC). You should also
be able to import GDS files with File -> Import -> GDS Stream.

Please don't hand-edit the XML file, it is generated by Java code. I
will be open-sourcing the generator (Apache license), hopefully this
weekend, as soon as I purge it of anything covered by the NDAs I have
with other foundries. I will set up a git repository; once I do that
you can submit patches against that if you find bugs or want to add
features.

Please don't create any layouts with this technology that you aren't
prepared to throw away. I will try to stabilize it as quickly as
possible, but it isn't there yet. If I change layer names or arc
minwidths it will break your layouts.

Note that most contacts come in two flavors. In the screenshot below,
look at the two poly contacts in the lower right-hand corner. The one
on the right is called an "X" contact because if you tilt your head 45
degrees the layers above and below the contact form an X-shape. The
one on the left is called a "P" contact because the rectangular layers
above and below the contact are Parallel. Some contacts (like mcon)
only come in one flavor because the minimum metal enclosure either above
or below them is square. The X-contacts tend to be most useful.
You'll find that in their default (0-degree rotation) form they match
the track directions of the SkyWater130 digital cell library.

More to come...

- a

PS, SkyWater's naming conventions are a bit weird. "Local Interconnect"
is really "Metal 0" and "mcon" is "via0".

electric-skywater130-demo-contacts.png
sk130.jelib
skywater130.xml

Adam Joseph

unread,
Sep 29, 2020, 4:32:53 AM9/29/20
to Electric VLSI Editor
On Thu, 24 Sep 2020 02:00:28 -0700
Adam Joseph <ad...@westernsemico.com> wrote:
> Please don't hand-edit the XML file, it is generated by Java code. I
> will be open-sourcing the generator (Apache license), hopefully this
> weekend, as soon as I purge it of anything covered by the NDAs I have
> with other foundries. I will set up a git repository; once I do that
> you can submit patches against that if you find bugs or want to add
> features.

I have posted the Java code that produces skywater130.xml here on
gitlab:

https://gitlab.com/westernsemico/com.westernsemico.vlsi

- a

Joselito Morallo

unread,
Sep 29, 2020, 5:02:00 AM9/29/20
to electr...@googlegroups.com
Dear Adam,

Thank you for open sourcing the tech generator for electric.
For windows user which JDK version the java source code compiled?

Best Regards,

Joselito



--
You received this message because you are subscribed to the Google Groups "Electric VLSI Editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email to electricvlsi...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/electricvlsi/20200929013246.1923438b%40conway.

Adam Joseph

unread,
Sep 29, 2020, 10:39:14 PM9/29/20
to electr...@googlegroups.com

Hi Joselito,

I use Debian Linux with the openjdk-11-jdk package, version 11.0.8+10-1.

To get 3D rendering you need the libjava3d-jni and libjava3d-java
packages. If you have an AMD GPU it should "just work". NVidia GPUs
are a real nightmare because NVidia does not have an open source driver
like AMD does.

Unfortunately I have never used Windows for software development...
maybe Steve can answer that.

- a

Steven Rubin

unread,
Sep 30, 2020, 5:08:41 PM9/30/20
to electr...@googlegroups.com

I've tried to keep Electric at the earliest Java standard I could so more people could run it, regardless of which they have installed.

Electric works on Java 7 or later.

   -Steve

Adam Megacz Joseph

unread,
Oct 5, 2020, 4:27:57 AM10/5/20
to electr...@googlegroups.com

On Mon, 5 Oct 2020 03:37:43 +0300
Alexandre Rusev <cybe...@gmail.com> wrote:
> Testing it!

Awesome!

> [1] I see it in "Added technologies" accordingly you readme (
> https://gitlab.com/westernsemico/com.westernsemico.vlsi) thought I
> can't select this technology later in components tab.
> May be I am just doing something wrong with tech desc imported from
> XML???

Okay, I think I found the problem, you need to choose "write project
settings". I have updated the instructions here; the new parts are in
BOLD, and also step #4:

https://gitlab.com/westernsemico/com.westernsemico.vlsi

Could you please try again, making sure to do the BOLD part in step
#5? Let me know if that does not work.

> [2] the library sk130.jelib contains absolute paths for nonexistent
> (and unused by SkyWater) libraries.

> Tools:Ouser.../home/user/proj/wcc-electric/lib/tech/st65/st_old65.xml...

Wow, that could have been embarrassing. Electric seems to have a
security issue here -- information leakage. Good thing I was not
trying to keep secret the fact that I have all these technologies.

This shouldn't cause you a problem, however. The file
"tsmcSun40GP.xml" is not on my computer, in fact it hasn't been on any
of my computers since I left Sun Labs several years ago. But I've been
using the same Electric preferences file since then. I also tried
opening the jelib on another computer where none of those files or
directories exist and it still worked.

In any case, thanks for reporting the issue.

- a
Reply all
Reply to author
Forward
0 new messages