Sign in

GSoC `21: Preparing the BlackParrot for Tapeout using the Open-Source Google-Skywater 130nm PDK

I’m Lakshmi, I’m a student of hardware design and machine learning pursuing my Master’s at Georgia Tech. I am humbled to have been able to tapeout a design in the first ever Google-Efabless MPW shuttle and also in it’s recent 2021 iteration. Though my interest is in hardware design and machine learning, I’m open to anything that has the potential to create a significant impact. Is a technology innovative and challenging, and of greater significance to the world? I’m in.

The Inspiration 🚀

It all took shape with my first communication with Prof. Taylor from the University of Washington. I had been looking out for opportunities in my domain and when he suggested this project idea, to prepare the BlackParrot processor for tapeout on the Skywater 130nm technology node, I was excited. Ambitious indeed it is but a challenge worth taking up.

The Experience

GSoC opened up windows of opportunity for me which I previously didn’t have. I was able to connect and interact with passionate professionals who are knowledgeable and experienced in the field, and the things I got to work on were quite interesting and diverse. Most important is the fact that the work I’m getting to do is something that the open-source hardware community is looking forward to, and also something that involves the use of the latest in open-source hardware design technology. It is challenging and exhilarating at the same time.

The Journey 🛩

It was quite challenging. Starting off, I got to explore about BlackParrot and a basic necessity that is needed to put a processor through an RTL to GDS flow -the memories that it needs. Any processor would have some form requirement for storage — as registers, caches and so on. To meet that we need memory in form of SRAMs. I was able to tweak an existing ‘Fake’ram generator to generate placeholders for these memories on sky130 node, and then use those to put the processor through the open-source flow OpenLane. I also explored generation of SRAMs using the OpenRAM compiler but it would required a different level of testing to verify it’s proper functionality for a real-life use-case so it was decided to stick with ‘Fake’rams and existing SRAMs available for the Skywater 130nm node.

Acknowledgement

A great big thanks to my mentors Prof. Taylor and Dan Petrisko, whose unfailing attention and support has helped me immensely along the way. The opportunity gave me a deep exposure into how things work at the bleeding edge of open-source RTL to GDS automation technology. When I was looking out for opportunities, I could find very few organisations that provides the chance to work in this domain of open-source hardware design and development. In fact, lowRISC and FOSSi were the organisations I could find that fully focuses in this domain. I wish in future years too, this opportunity is available uninterrupted for the students and young professionals who wish to explore and contribute in this domain with the open-source spirit. It would also be a need of the time as this could be a field that would become more and more prominent and relevant in the coming years.

Some links to work done

Repo: [Link]

Student of Computer Architecture and Machine Learning. Is a technology innovative and challenging, and of greater significance to the world? I'm in.