Dirt Cheap ASIC Design for Dummies (Part 2): Tools and PDK Installation
What you’ll learn:
- A full set of Open-Source tools is available to enable digital, analog, and mixed-signal ASIC design from schematic capture through tapeout.
- Tools installation is simply a matter of installing a VM and then a machine image, and it includes the Ubuntu OS.
- How to log into the VM to run the preinstalled tool shortcuts.
Design a cheap chip
To do it, you first need tools
Install them to start
In a recent Electronic Design podcast, I spoke to Dr. Shaolan Li, an Assistant Professor at Georgia Tech who’s introduced a new ASIC design course that uses Texas Instruments’ PDKs (process design kits) and fab to make the devices. He touched briefly (t=17:33) on the proprietary toolset and how installation headaches with the PDK and design environment, as well as getting the legal issues out of the way, made him miss the opportunity to do a pilot run on those tools, let alone tape out a real chip before the first cohort of undergrads and grad students began the new class in January 2024.
If there’s one thing Apple and Microsoft got right, it’s the use of an automated installer that does everything to add an application to a computer, unlike Linux/Unix where a knowledge of the command line syntax and location of executables and variables is required—one typo and you can blow an entire day, or more, trying to figure out why the TOOL is not working. After all, your day job is to use tools to design chips and PCBs, not make, install, or troubleshoot the tools or deal with OS quirks when you only do it once every few decades.
I’ve always abhorred Linux, personally, despite having played with command-line-based OS back in the CP/M-, S100-, Z80-based computer days and having had dual boot Linux/Windows on one of my laptops a few years ago. My eyes glazed over out of boredom when we did an internal company Linux course back in the day, and I’ve always played stupid whenever the opportunity to write software arose to avoid getting labeled as a resource.
However, I did manage projects and teams of coders by speaking algorithm and function rather than code language with them. My heart’s always been in circuit, PCB, and system design and architecture, sprinkling in packaging and mechanical—even a bit of semiconductor process engineering—to keep things interesting and to push the envelope beyond the comfort levels of those who dared throw down the gauntlet with “can’t be done.”
“Can’t be done” made me dip my toe into chip design a few times. I rolled up shirtsleeves with transistor- and gate-level designers, as a team effort, gently busting their negging confirmation biases with “what if we try this?”, managing to make the impossible happen.
Never be afraid to tap your inner 8-year-old asking questions—schools tend to anneal that out of you, replacing it with FOSS (fear of sounding stupid). In industry, the only time you’re stupid is if you didn’t ask that assumed-stupid question where the schedule was blown, the project died, $30M got spent on a tapeout to end up with a dead chip, manufacturing couldn’t build/yield it, or the design just didn’t work.
Those of you who are familiar with Linux, of course, are free to sudo and git to your hearts’ content for the rest of the day. The rest of us “dummies” will spend 30 to 60 minutes on an install that gives us all the tools we’ll need to design a custom ASIC, and then some. Almost all of that time is the computer doing its thing, not you, and your blood pressure remains nominal throughout as long as you’ve freed up enough space for everything on your C: drive.
The Design Tools
The following ASIC design tools will be installed on your PC, Mac, abacus, or whatever, as a package. All are Open Source, so there aren’t any licensing charges, capital funding approvals (I used to dislike writing CFAs), leases, or maintenance agreements to renew. These tools aren’t as polished as the tools used by the big semiconductor houses to produce products, but they can get the job done without Jensen Huang worrying about his stock options plummeting in value because of the relatively limited complexity chip you’ll do with them.
That said, some serious capability is enabled in the Open-Source tool repository, and you can’t beat “free” as their price. Best of all, the Open Source on a common toolset extends to the chip designs themselves, where future designs get to reuse yours, just as you can reuse past designs of others in your design. Need a DAC, ADC, ring oscillator—they have been done already.
The easiest way to do the full tools installation is to load a *.ova Virtual Machine (VM) image that’s based on Ubuntu 22.04, which is included in the VM image. It has the following tools, each with a link to web pages that offer manuals, etc.:
- Magic VLSI layout
- KLayout GDS and OASIS layout file viewer
- Xschem Hierarchical schematic capture
- Netgen Netlist comparison (LVS—layout vs. schematic)
- Ngspice SPICE3F5 simulator
- Gaw Analog waveform viewer
- Skywater 130nm PDK (process development kit)
- OpenLane automated RTL to GDSII flow
- Verilator Verilog/SystemVerilog simulator
Installation
The first step is to clear off plenty of hard-disk space, which can be the largest time sink—I had to repartition my C drive because it refused to install on the other drives on my laptop. I thrashed for hours during the tools install process because I didn’t clear off enough space; nothing tells you there isn’t enough space other than a cryptic error code. Yeah...
The tools will take about 8 GB and the VM will chew up a fair bit of space, where you need to decide how much space to give it for its guts, for the Ubuntu OS, and for virtual disk space. I installed on a PC, so you Mac jockeys need to figure out how to install the VM on your OS.
Once you’ve cleared off enough disk space (the following text is from the Tiny Tapeout Github page, and is a process I tested that worked for me...), download the latest version of the VirtualBox VM from this link.
The VM is about 5 GB in size and requires about 20 GB of disk space [don’t fall into this trap like I did—it needs more] to import. After downloading it here, you can import the OVA file into VirtualBox by running the VM and then going to File -> Import Appliance and selecting the OVA file.
The default login username for the VM is ttuser and the password is magic. You can change the password by running the passwd command.
The desktop includes shortcuts to start Magic, KLayout, and Xschem. The Skywater 130nm PDK is installed in the /home/tt_user/pdk directory.
While you can get around with the preinstalled desktop shortcuts, it’s probably a good idea to have a Linux command reference handy.
Despite these being more than adequate to design an analog/mixed-signal semiconductor ASIC, there are additional Open-Source ASIC design tools available, particularly for doing digital design. I’ll try to cover those in the next part of this series if I have time.
So, install the tools, play around with the hierarchical schematic tool, and see what kind of standard devices are available to start designing with. You will likely need to refer to the books I recommended in my earlier posting, and probably will need to find papers using Google Scholar. One of the best handholding methods to get through all of this is to take Matt Venn’s Zero to ASIC course for a few hundred dollars, which includes one free tile area, with additional area that can be purchased, on a multiproject Tiny Tapeout chip to fabricate your full custom design.
All for now,
-AndyT
Postscript:
- For those of you in the SF Bay Area, Maker Faire 2024 is coming up on the October 18th weekend at Mare Island, with another huge Maker Faire in Rome, Italy the following weekend. These are fun, family-friendly venues for kids from 0-115 years of age with amazing gadgets and creations from the technology and creative community.
- To commemorate this season of the Faires, Electronic Design has put together its first 50+ paged issue dedicated to Makers—download its PDF here.
- After working on that issue, editors Alix Paultre, Cabe Atwell, and I had a night owls’ chat (it was really late at night for two of us, and the third guy got woken up early, lol) about the Maker Movement, which was recorded. We’ve decided to share that call with our readers on the Inside Electronics podcast, here.
Andy's Nonlinearities blog arrives the first and third Monday of every month. To make sure you don't miss his latest blog edition, new articles, or breaking news coverage, please subscribe to our Electronic Design Today newsletter.