Close

Hack Chat Transcript, Part 1

A event log for Open Source ASICs Hack Chat

DIY ICs with Matt Venn

dan-maloneyDan Maloney 03/16/2022 at 20:120 Comments

matt venn11:56 AM

matt venn11:56 AM
good day!

Dan Maloney11:56 AM
Hi Matt! Welcome aboard!

Nicolas Tremblay11:56 AM
RPG map ?

matt venn11:57 AM
if you are 5nm tall, yes!

James Ross11:57 AM
This looks like his MPW1 layout

matt venn11:57 AM
yup

Nicolas Tremblay11:58 AM
It's the new zombie map in Call of Duty

matt venn11:58 AM
yeah it's got that ragged look

matt venn11:58 AM
this is with top metal removed, which isn't a perfect process

matt venn11:58 AM
otherwise it looks like this

matt venn11:59 AM

Nicolas Tremblay11:59 AM
spreadsheet mode

Dan Maloney12:00 PM
Welcome one and all, let's get started! I'm Dan, I'll be modding today with Dusan as we welcome Matt Venn to the Hack Chat to talk about open-source ASICs and spinning up your own silicon.

Hi Matt! I know you've been around HaD quite a bit, but care to tell us a bit more about yourself?

Nick Kelsey joined  the room.12:00 PM

Nicolas Tremblay12:00 PM
Funny that they look so different

matt venn12:00 PM
hi everyone

Ian Hanschen12:00 PM
hi

matt venn12:00 PM
yes I've been doing electronics for a long time

matt venn12:01 PM
when I was a kid I bought maplin kits and assembled them, but didn't know how they worked

I built a door lock that used some recycled 7 seg displays, and I hard wired them to spell 'open' when on, and nothing when off

matt venn12:01 PM
had no idea about how you would actually count numbers or change text!

matt venn12:02 PM
learnt slowly, got into microcontrollers, then fpgas

matt venn12:02 PM
got involved with yosyshq and the formal verification tools

matt venn12:02 PM
open source fpga toolchains

matt venn12:02 PM
i was at week of open source hardware (WOSH)

when I saw Tim EDwards from Efabless showing a chip made with open source tools

ilius123 joined  the room.12:02 PM

matt venn12:03 PM
so I downloaded them and tried them on an fpga design (the vga clock)

matt venn12:03 PM
I looked at running a course so I could tape-out, but the cost was about 10k,

matt venn12:03 PM
so I canned it. then 6 months later Tim Ansell announced the free shuttle program

matt venn12:03 PM
so I was in a good place and time to jump on and ride the wave

matt venn12:04 PM
now I have 4 tapeouts and preparing for my 5th

matt venn12:04 PM
160 people have taken my course and about 40 have taped out

matt venn12:04 PM
mpw5 tapes out on Monday, so I'm getting things ready for that at the moment

Nick Kelsey12:05 PM
what is the process size?

matt venn12:05 PM
130nm, which is a kind of hybrid I think. The gate width of the standard cell library are 150nm

Nick Kelsey12:06 PM
that would be ~1.2V?

matt venn12:06 PM

matt venn12:06 PM
1.8v core

tom12:06 PM
Can you talk about what sort of FPGA designs can be easily ported? And what's harder coming from an FPGA?

matt venn12:07 PM
the easiest is pure digital with no hard ip blocks like multiplies or brams

matt venn12:07 PM
you can synthesise small memories with yosys out of flip flops but they are big and don't scale well

we have openram for some hard sram blocks, 1kb in size

tom12:08 PM
And what if we wanted to multiply - just let it synthesize it?

matt venn12:08 PM
you could easly build a multiplier as well, for a dsp block but it would probably be quite big and not as efficient as one you'd get on an ecp5 for example

matt venn12:08 PM
yeah

matt venn12:08 PM
try not to divide!

tom12:08 PM
Right, that's true on FPGAs too

tom12:09 PM
Can you give an idea of what sort of timing / frequency can be had?

James Ross12:09 PM
The MPW has 16 slots of 300x300 um areas. Have any of the 160 been too constrained by this for their circuit design?

matt venn12:09 PM
so you can do ghz no probs

matt venn12:10 PM
but we have limited bw on the ios, they are quite old and only really go up to 50mhz

Nick Kelsey12:10 PM
300um x 300um or 800um x 800um max size - roughly how many pads and how many gates is realistic?

matt venn12:10 PM
there is an 'analog' version of the submission process that gives you 11 pads with no io pad, so you would have to deal with drive current, esd protection etc yourself, but then you could get ghz in and out of the chip. and it's wlcsp so quite good for high frequency

tom12:11 PM
How does that work if you only have 50 MHz in - are there PLLs you can design in?

matt venn12:11 PM
James, that's actually just what I do for my group submissions

Marcin Słoniewski joined  the room.12:11 PM

Ian Hanschen12:11 PM
so it's a sort of IP/block for the IOs and the design of that is what limits the I/O frequency off the chip?

matt venn12:11 PM

https://www.zerotoasiccourse.com/post/mpw2-submitted/

ZERO TO ASIC COURSE

MPW2 Submitted

We did it! 14 people from the course got their designs into the group submission, and the project was accepted for fabrication. Silicon here we come! You can get all the details on all the projects from the Efabless submission And see how I put the application together here.

Read this on Zero to ASIC Course

matt venn12:12 PM
the full area is 3000 x 3600 um

matt venn12:12 PM
there are 40 slots on the free shuttle

matt venn12:12 PM
I started off applying for 1 each on mpw1 and 2 but from 3 onwards I am putting more on

tom12:12 PM
What can you tell us about that frequency counter on there?

matt venn12:13 PM
Ian, yes it's old io inheritted from cypress

matt venn12:13 PM
Tom, it's a very simple design I made to teach basic digital design to people who haven't touched digital design before

matt venn12:14 PM
edge detecter, counter, 7 seg driver

James Ross12:14 PM
Are each of the designs driven by the PicoRV32 core or are they attached directly to package I/O?

Patrick Van Oosterwijck12:15 PM
Do you know how things are looking on the analog side for these shuttles now? I started looking at the very start and it was very rough with untrustworthy models. Has this improved?

matt venn12:15 PM

https://github.com/mattvenn/frequency_counter

GITHUB MATTVENN

GitHub - mattvenn/frequency_counter

You can't perform that action at this time. You signed in with another tab or window. You signed out in another tab or window. Reload to refresh your session. Reload to refresh your session.

Read this on GitHub

Bruce D. Lightner12:15 PM
If you only have 50 MHz in - are there PLLs you can design in?

matt venn12:15 PM
the picorv32 is a coprocessor. it loads the gpio configuratoin and then you can ignore it. but you could add some wishbone peripheral for example and use it to accelerate the pico

matt venn12:16 PM
I usually attach my designs to the output/input pins

James Ross12:16 PM
I'm not familiar with wishbone peripherals

matt venn12:16 PM
and to handle multiple designs; on mpw1 I used a big mux (the big rectangle in the first pic I posted), and for mpw2 onwards used tristate outputs

matt venn12:16 PM
itls like 32bit wide spi

matt venn12:16 PM
Bruce, we have a DLL that can do up to 270 mhz

Bruce D. Lightner12:17 PM
Impressive!

matt venn12:17 PM
Patrick, analog is getting better. 2 people to watch are Harald Pretl from JKU and Thomas Parry

Ian Hanschen12:17 PM
wishbone is an open bus standard used for open FPGA IP and apparently in ASICs by now

matt venn12:17 PM
Harald is taping out an audio DAC on MPW5 and Thomas is working on 5ghz satellite transceivers

Ian Hanschen12:17 PM
you can get to the specs for wishbone from here: https://en.wikipedia.org/wiki/Wishbone_(computer_bus)

Dan Maloney12:19 PM
If anyone else is lost in the jargon, you can get an explanation here:

Dan Maloney12:19 PM

https://www.zerotoasiccourse.com/terminology/

ZERO TO ASIC COURSE

Terminology

Learn how to make your own chips!

Read this on Zero to ASIC Course

Patrick Van Oosterwijck12:19 PM
Thanks for the update @matt venn

Nicolas Tremblay12:22 PM
Thanks @Dan Maloney

matt venn12:22 PM
I was going to post a link to the projects on efabless website but they have just updated the website and the old links are 404

eric.of.smith joined  the room.12:22 PM

Tim Rudy joined  the room.12:23 PM

Alvaro Figueroa12:23 PM
So, just to clarify, the class is not about making chips, but about making ASICs. How does one know what should go on an ASIC and what on a processor? Let's say for example, a sata controller to use with a riscv chip?

eric.of.smith12:24 PM
@Nick Kelsey To get an idea of what density is achievable yosys compiles the picorv32a riscv core to ~15K cells in ~150000um^2, so roughly 400um on a side.

matt venn12:25 PM
Alvaro, I suppose I don't see much difference between an ASIC or an IC. maybe volume? same process in design and manufacture

matt venn12:25 PM
Eric, got any comments on that?

matt venn12:26 PM
when you say processor, I think CPU, something that goes in your phone or laptop

matt venn12:26 PM
that's very general purpose, jack of all trades, master of none

matt venn12:27 PM
if you need to accelerate some application, like the sata controller, then you'd design a custom chip for doing that

matt venn12:27 PM
but you could also use the same tools and process to design a general purpose cpu

matt venn12:27 PM
does that help?

Alvaro Figueroa12:28 PM
Yes, thanks. So if I wanted to build a sata chip or a riscv, the course would be a nice help to learn how to do it.

Bruce D. Lightner12:28 PM
Matt, As I recall, back in the early 1990s, it cost a minimum of ~$100K to make an moderately complex ASIC using a fab like VLSI. How has that cost changed today?

Alvaro Figueroa12:29 PM
Can you talk a little bit about the design tools used for fabrication? With FPGAs there are very simple things to use like ICEStudio where you just draw the fpga design. How easy are the tools to build an ASICs?

matt venn12:30 PM
Alvaro, yes. I should have said in my intro, that I love science communication as much as I love actually messing around with electronics and hardware design. Now that the barrier to entry is so much lower for this field, I wanted to help people into it. So I am now basically split half science communciation with the course and half engineering with learning how to make chips and get them working.

matt venn12:31 PM
Bruce, I'm not sure how that cost breaks down. But the traditional industry standard (cutting edge) tooling is 100k per seat per year

matt venn12:31 PM
the open source tools are no where near the PPA (power performance area) which are common metrics

matt venn12:32 PM
but the actual cost of getting 100 chips made is about 5 to 10k $

Ken Gracey (Parallax)12:32 PM
Joining late, but wanted to throw out that Parallax's P1 has been available for quite some time here https://www.parallax.com/propeller-1/open-source/

matt venn12:32 PM
sky130 is about 20 years old, and the mask costs are about 200k $, then maybe 1k per wafer with 4000 chips on t

matt venn12:33 PM
so people join together to do an MPW (multi project wafer) run, and split the high NRE cost of the masks between 40 people

Nick Kelsey12:33 PM
how about other interesting cells beyond gates for this process, for example fuse bits, eeprom cells, analog cells, etc

Bruce D. Lightner12:34 PM
Matt, back in the 1990s the design tools were always more expensive than cost for prototyping chips! Hasn't changed it seems!

matt venn12:34 PM
Nick, I don't know too much beyond the digital side of things. We have pcells (parametric cells) for analog

matt venn12:35 PM
so you can size your own transistors, but the analog flow is very manual and hands on compared to the digital flow

matt venn12:35 PM
sky130b is a variant of sky130a and with a slightly different layer stackup we can have re-ram (resistive ram), but I know nothiing about it

Ian Hanschen12:35 PM
interesting

Nick Kelsey12:35 PM
guessing analog is more like laying out a PCB vs digital which is verilog to a layout compiler?

matt venn12:36 PM
Nick, yeah and you have to size all the transistors yourself and make sure your design simulates to achieve your requirements

matt venn12:36 PM
Thomas Parry did a livestream with me about his process

Discussions