Short articles about my experience with the Google/Efabless/Skywater130 ASIC process, interviews and any other related topics I think are interesting.
MPW1 Bringup
I submitted my first ASIC designs to the free Google shuttle in December of 2020.
In October 2021, we heard there were serious clock related problems with the management area of the chip due to issues with the toolchain. It seemed unlikely that anyone would be able to get anything beyond a single blinking LED from MPW1. The hold violations in the management system meant that the PicoRV32 cpu couldn’t run and setup the GPIOs. So even if our designs work, we can’t get access to them.
CI with Github Actions
I have slowly been learning how to use Github actions to help me build microchips.
It’s harder than it should be to get a working toolchain up. There are lots of repositories, submodules, docker images, environment variables, and they all have to be exactly right. If not, either the flow won’t work correctly, or you’ll make some GDS that will fail the precheck or tapeout tests.
For the course, I have a VM and a set of instructions to do a manual install.
MPW4 submitted!
We submitted for MPW4! I was pretty pleased we managed to get so much in with such little time and for a tapeout date of New Year’s Eve.
We had 9 submissions from the course, with 1 demo project from me and a new version of Maximo’s hacksoc. Uri submitted 3 designs including some custom standard cells in the shape of skulls!
We also implemented the shared SRAM, which means that the group projects have access to a local fast memory (like a blockram on an FPGA).
MPW3 submitted!
We submitted for MPW3! The tapeout date was delayed by a couple of weeks due to issues with the toolchain.
Update!
We received silicon in June 2023 (18 months later!) and I was able to get both my designs partially working.
MPW3
We had 7 new submissions from the course, 4 repeats from MPW1 and 2 with fixed clock trees, a new wishbone demo from me and the OpenRAM block.
MPW1 silicon has serious problems
MPW1 seems an age ago, we submitted in December 2020, but it needed some last minute DRC fixes in February.
Silicon was received a few weeks ago, and unfortunately we have some serious issues that will prevent most designs from working. This appears to be due to a bad clock tree in the management section of the chip. Additionally, OpenSTA, the tool meant to verify the clock tree was also misconfigured.
The initial announcement is here.
Interview With Matt Guthaus
In this interview with Matt Guthaus, we talk about:
- Recap - what is OpenRAM
- Why do we need a memory compiler like OpenRAM?
- 3 phases of OpenRAM development
- What’s changed since FOSSi dialup
- MPW2 tapeout of OpenRAM
- Test modes
- What was hard about MPW2
- DRC issues
- Status of OpenLANE support for OpenRAM
- Future plans for OpenRAM
- Access to resistive RAM, hopefully for MPW4
Resources
- WOSET link: https://woset-workshop.github.io/
- MPW2 application: https://platform.efabless.com/projects/187
- FOSSi dialup on OpenRAM: https://www.youtube.com/watch?v=9Lw83kFtnc4
Interview With Tom Spyrou
Tom Spyrou is a long time EDA developer who has worked at large and small companies.
- In 1988 Developed QTV at VLSI technology. It was the first STA engine to be trusted to sign off devices for fabrication without timing based simulation.
- He was the original architect of PrimeTime STA algorithm.
- Manager of Cadence Common timing Engine and precursor to Open Access
- Senior technical positions at Synopsys, Cadence, Simplex, AMD, Altera and Intel.
Since 2019 he has been the Chief Architect and Technical Project Manager of OpenROAD since 2019.
World's first certified open source hardware down to the chip level?
I’m very pleased to get OSHWA certification for my ASIC clock. I’m pretty sure this is the world’s first certified open source hardware down to the chip level!
Update! The PCB has been updated here.
The clock was submitted as part of MPW1. We’re expecting silicon back in August/September, so it was time to get the PCB ready and try to source the other components!
I started off by forking Sam Littlewood’s carrier board. This is a 4 layer board, but as I don’t need all the signals I was able to get it down to 2 layers for cheaper fabrication. OSHPark have sponsored the board in their special ‘after dark’ finish.
Interview With Dirk Koch and Nguyen Dao
One of the popular types of entries to MPW1 & 2 have been FPGAs. I have previously spoken with Arya Reais-Parsi about their FPGA project submitted to MPW1.
In MPW2 I noticed there were a couple of applications that seemed fairly advanced - especially FuseRISC: 2 RISCV processors with embedded FPGA fabric between them.
Dirk & Nguyen kindly allowed me to interview them about:
- their FABulous eFPGA framework,
- support for Yosys & NextPNR,
- parameterisation of the fabric,
- blockrams with OpenRAM,
- their MPW applications and previous tape-outs, and
- their experience with the open source tools.
Enjoy!