The Ultimate MOSAIC Bootcamp 2022 Documentation
Hello everyone! The MOSAIC website mosaic-ic.org is now up and running! Please head there.
The Modular Open Source Analog IC Design (MOSAIC) bootcamp had a goal to connect all independent parties working on automated analog design frameworks and workflows to “touch base”- to share the ideas and developments that had previously been fragmented and largely independent.
Speakers, contributors, and participants travelled to Linz, Austria from all over the world- Germany, US, Philippines, South Korea, Chile, Netherlands including of course people from other cities in Austria.
Seven student participants came on the invitation of Dr. Mirjana Videnovic-Misic to participate in the bootcamp. We were introduced to programmatic analog IC design and layout in the hopes of spreading the use of the paradigm in other organizations.
Student Participants:
- Hanyang University - NiftyLab Team
- Taeho Shin (신태호)
- Seonghyun Park (박성현)
- Youngmin Oh (오영민)
- University of the Philippines - Microlab Team
- Ryan Antonio
- Lawrence Quizon
- Universidad Técnica Federico Santa María - AC3E Team
- Aquiles Viza
- Kevin Pizarro
Offline Participants:
- Silicon Austria Labs
- Mirjana Videnovic-Misic
- Martin Koehler
- Fatemeh Abbassi
- Khuram Shehzad
- Hazem Salama
- Infineon
- Christoph Sandner
- Thomas Brandtner
- Florian Renneke
- OS Community
- Matthias Koefferlein (also Infineon)
- Thomas Parry
- Curtis Mayberry (Skyworks)
- Stephan Gether (CISC)
- Benjamin Prausch (Fraunhofer)
- Carinthia University of Applied Sciences
- Vinayak Hande
- Osheen Mikhail
Talks
Things we made
1. LAYGO2 inside the MOSAIC Orchestrator
Aquiles Viza, Lawrence Quizon, Ryan Antonio, Kevin Pizarro,
In the first week, the students worked on familiarizing themselves with Infineon’s MOSAIC Orchestrator by integrating the first fully open-source design flow into it: LAYGO2 + MAGIC VLSI.
Using the Orchestrator’s task-based cache-enabled designs allowed the LAYGO2 design to flow faster and be more automated. Lifting common calls to templates and grids and design initializations to a superclass made the generator code more specific with less coding overhead to the designer.
By lifting all PDK-related template calls to the Orchestrator’s PDK abstraction, the generator code no longer requires particular knowledge of the PDK to create- also possibly enabling generator codes.
We also integrated MAGIC VLSI into the Orchestrator as a registered tool, allowing it to transform LAYGO2 designs into mag files handled hierarchically for every task with caching.
2. FiftyNifty Generators using LAYGO2 and virtuoso_template
Student Participants
After that, the students went on creating LAYGO2+SKY130 generators for the basic two-transistor circuits from the FiftyNifty, and some other basic circuits. See repository here.
LAYGO2+SKY130
- (Nifty 7) Current Mirror (Kevin)
- (Nifty 1) Inverter (Lawrence)
- (Nifty 8) Differential Pair (Ryan)
- (Nifty 14) Transmission Gate (Lawrence)
- NOT NIFTY 2to1MUX (Lawrence)
- Seonghyun’s 19/50 Nifty Generators (Seonghyun)
- (Nifty 1) Inverter
- (Nifty 3) Tie-Zero
- (Nifty 5) NAND
- (Nifty 6) NOR
- (Nifty 7) Current Mirror
- (Nifty 8) Differential Pair
- (Nifty 9) Source Follower
- (Nifty 10) CS Amp
- (Nifty 11) CS Cascode Amp
- (Nifty 12) Cascode CG Amp
- (Nifty 13) CG Amp
- (Nifty 14) TGate
- (Nifty 15) 2to1MUX
- (Nifty 17) CS Amp with Diode Load
- (Nifty 18) Folded CS Amp with Diode Load
- (Nifty 19) ClassB PushPull Follower
- (Nifty 20) Degenerated CS Amp
- (Nifty 21) Variable Degeneration CS Amp
- (Nifty 24) PN Bias Voltage Generator
AnalogBase+cds_ff_mpt (finfet tech)
- (Nifty 1) Inverter, NAND Gate (Taeho)
- NOR Gate (Seonghyun)
- Tri-state Inverter, NAND Gate (Youngmin)
- (Nifty 24, 25) PN, Stable Voltage References (Lawrence)
- NAND Gate, (Nifty 7, 1) Diff Pair, Inverters (Ryan)
- (Nifty 7) Sophisticated Current Mirrors (Kevin)
3. KLayout and LAYGO2
Ryan Antonio, Kevin Pizarro
By using the LAYGO2 package and framework inside KLayout’s scripting environment, students managed to enable KLayout to show previews of LAYGO2 designs and allow it to export to GDS, which may eventually allow a complete LAYGO2 workflow to be automated (say, with the Orchestrator, XSchem and netgen) inside KLayout.
4. The open-source BAG2 Template (Temp Name)
Matthias Koefferlein, Thomas Parry
By replacing virtuoso-template’s existing skill.py, which handles communication with Virtuoso, with a new handler, opensource.py, they were able to port BAG2’s SKILL requests workflow to KLayout and XSchem instead.
gen make inverter_gen
This creates a GDS for KLayout, and a schematic file for XSchem
This enables the use of BAG2 with open-source tools paving the way for open-source IC development with analog generators.
Bootcamp Experiences
Lawrence Quizon
Before the bootcamp, I tried to learn using these analog generators by myself. I found that most of them do not have satisfactory documentation, and have very high learning curves. In the bootcamp, since a lot of people with experience using (and developing) these generators firsthand, it very quickly closes the learning curve and gets you ready to use it for your own research.
[The bootcamp] was kinda like a proto-conference on layout generation, for which everyone has different amounts of progress and different approaches and different software. It’s a way to remap the progress in the heads of everyone who wants to work on these things.
Taeho Shin
The most valuable discovery of this bootcamp is that all participants are professional in their own fields and inspired when they are working on enabling open-source IC design. I’m very glad to have the chances to teach LAYGO2, which is a powerful framework for programmatic IC design, to the participants of the bootcamp. Also, I could have learned about various perspectives of other participants on automatic analog IC design. Joining this bootcamp is definitely the turning point of my IC design experience.
Aquiles Viza
This is very important for AC3E, because it is cooperation outside the bubble. It was very interesting to hear different POVs about the tools from people with different backgrounds (Digital, Software, Analog only, Layout generation people.)
Kevin Pizarro
Before the Bootcamp I had only a little bit of knowledge about the analog generators or the vision that everyone is pursuing. It was with the presentation of Boris Murmann where I put my feet on the ground, and I realized what is needed and which is the chosen way, changing the paradigm. It was super interesting begin with not knowing LAYGO2, even LAYGO, to learn the basis and how to use LAYGO2, investigate and learn other tools like KLayout or about Analog Base, understand the MOSAIC ambition and look for the convergency of a common solution, not to reinvent the wheel.
Thank you to everyone that participate in the Bootcamp, to NiftyLabs for teaching us about the mighty tool that is LAYGO2, to Ryan and Lawrence for been so supportive and great teammates, to Fatemeh and Martin for teaching us about Analog Base,to Matthias for the brilliant tool that is KLayout, to Infineon team with MOSAIC and to Mirjana that makes this Bootcamp possible, this amazing experience. In summary, thank you all, everyone contributes something to this. I hope that we can keep collaborate and help to each other, following the vision of the automated IC design, from a programmatic perspective.
Ryan Antonio
The MOSAIC bootcamp was an an inspiring event! It had a diverse collaboration between universities and indusries from different countries.
I actually learned and experienced more than what I anticipated. It was inspiring to see how professionals help each other in developing an open-source community. The tools are free, the knowledge are free, and you get an abundant amount of support. This is the step forward to make programmatic IC design a part of the current college curriculums. On top of that, I am convinced that programmatic IC design improves the productivity of a designer. I am not really good with layouts but after this bootcamp, I could immediately draw and see my circuits after coding the floorplan in a few mins! This truly was a great experience. I will never forget this opportunity 🙂
Seonghyun Park
This bootcamp is one step closer to open-source analog IC design. Although good open-source software has already been developed, the absence of documentation makes it hard for analog circuit designers to use them. In addition, it's more difficult to access them as the community is not active, unlike the software field. I have learned about different perspectives as well as approaches for research from bootcamp participants with different background and experience.
Youngmin Oh
As an analog circuit designer I had only a little experience about design automation and programming languages. It was a wonderful opportunity where I could learn more about different open-source and design automation tools.