Semiconductors and microchip for the masses
In this blog post I would like to share my view on the area of semiconductors: the design of integrated circuits, the fabrication and the scalability of design to millions of units. Microchip design today should be as easy as printing a 3D object online or ordering a poster to be printed. It is not. Why?
A bit of background about me first. As a child I was gifted a Commodore 64 when I was 13. It was my dream at the time to understand the cicruit schematics it came with. Fast forward a few years, I studied Electrical Engineering and went on to do a PhD on analog and mixed-signal microchip design in the neuromorphic area.
But after 20 of work in the area of semiconductors I am appalled at how we missed a great opportunity to extend access to more ordinary people and small groups to the magic of microchip design. Let me explain here why in this post.
First some microchip and semiconductors boring terminology:
- circuit design: set of circuit components and connections
- electronic design automation (EDA) tools: software that takes your rough circuit sketches and turns them into files that can be used by the foundry
- foundry: a factory for microchip
- technology node: a foundry can design microchip of different kinds, with different rules and minimum transistor sizes (5 nm, 10 nm, 28 nm, see: https://en.wikichip.org/wiki/technology_node)
- foundry design kit (SDK)s: a set of rules and components that implement your design in the foundry technology nodes
- wafer: is a pizza of silicon that contains many microchips, and is the basic unit of foundry processing
- die / chiplet: a single microchip instance cutout from the wafer
how to make microchips
This is a super condensed summary of how to make an actual microchip:
1- you first start with some schematics or block diagrams, a microchip technology node, and all the design files needed. You also need software to turn the schematics into actual physical circuits (well not physical, just a set of technical drawings or blueprints that will tell the foundry how to design your microchip), and the foundry design kits for the node
2- then you lay out the circuits with the EDA tools either by hand (more typically in analog circuits) or by using automatic place and route EDA tools (digital circuits). These are basically drawing of every layer of the circuit and how it is connected and organized in the foundry technology node
3- once you have drawn your circuits you use the foundry SDK to check that your design can be fabricated and it actually implements the circuit you want. You can also simulate the circuit on the foundry physical layout and make sure it performs to the specifications you need
4- you repeat the steps 1–3 until you design and microchip does what it was designed to do, follows the exact specifications, and ultimately achieves the right performance
5- when your design is ready, you then submit all your files to the foundry
6- the foundry may check your design again and ask you for additional changes, and when ready will place your design in a queue. It may take 2–3 months or more to fabricate your circuit.
7- after your design is ready you can receive it in individual dies, or you can send them to be packaged in a container that allows you to use them in a circuit board
8- and that is all!
Seems like fun, right? It does and with the tools we have today it should be really easy. Ideally making a microchip could be so simple that young kids and for sure teens would be able to create and fabricate their own design, submit it online and receive parts for use! A bit like 3D printing today with an online service!
Unfortunately it is not so easy… there are major barriers that do not allow us today to make it as easy as it could be! Let me explain the major problems:
1- where and why to start: you definitely need a bit of circuit knowledge to get started, but I know from first hand that even a 10 year-old can create a circuit board. Today all circuit blocks like amplifiers, microprocessors, inputs and outputs buses and standards, communication circuits, radios, antennas, etc area all ready to be used and many are available open source: https://opencores.org as an example
2 -community: 3D printers have immense communities with simple software and share designs that make for an easier start. They too require software design tools like EDA, a set of foundry rules and a foundry to send designs to get fabricated. There is no reason why circuits should be MUCH more difficult, beside the fact that they run invisible electrons and do not all spin cogs! Having a community is a great way to democratize circuits and microchips, but I think this is the easiest part because it grows organically by itself once the other barriers are removed
2- EDA tools: Synopsys and Cadence EDA software have been dominating the field for many decades. There are many problems with their software: 1) it is a bloated system of software that (like MS Word) does too much and hides the easy into the complex; 2)it is a hotch-potch of tools acquired from many startups over the years, with too many options and too many ways of achieving the same goal; 3) the complexity disorient the users who have to spend countless hours to learn all features and tricks before converging to the 3–4 ones that they really need; 4) it is expensive: from 100s of thousands to millions of dollar per seat (per engineer) in the most complete set of tools; 5) requires a PhD just to use and get trained. For these reasons these EDA companies are a poor chamption of the “easy design anyone can do it”! There are free EDA: http://opencircuitdesign.com that has been maintained by smart folks that want to make circuit design easier and cheaper so anyone can do it. I believe EDA tools are problematic and are a large barrier, but I think they are software after all, that can become easily open source and more community-driven once the major barrier is removed.
3- foundry: I belive they are one of the major hurdles to really democratizing microchip design. A major issue is the closeness of the fabrication steps and that are revealed in the design files and SDK. The foundries protect their SDKs with formidable legal agreements that few people can even understand, let alone acquire and review. And also foundries are interested in big customers that can churn millions of unit of a microchip per year, and not interested in helping or servicing the little guys. As such even small research companies of groups have a hard time getting foundry access and a reservation to their queue. The closeness of the foundries is what really hinders the progress of “anyone can be a microchip designer”. To combat these issues there are middle-man companies like https://themosisservice.com and https://efabless.com that aggregate many designs together into shuttle runs that can then be scheduled for fabrication in low-count wafer productions
4- cost: needless to say making a microchip is much more expensive than a 3D printed design, 10–100 times more expensive. It today it is thus not really feasible for individuals to really create their own microchip design. But cost can be driven down with more foundries and more access to older technology nodes. Basically with more demand, and more foundries the price can be 10 times lower than it is today. Also even if individual users are not able to fabricate their very own chip, they could group together in 10–100 or users that are looking for similar design. Effectively that is what companies in microchip design do: they fabricate what many people will want to use!
5- the right people: while it may remain a dream tot be able to have your very own microchip, we should still try hard to lower the barriers for at least research groups and small startups, so that microchip innovation and community culture can grown and promote new ideas and openness. This means open-sourcing designs in the same way we do for software
What can we do?
- create and fuel more open-source EDA tools
- ask your country representatives to make more microchip foundries in your own country!
- lower the barrier to obtaining foundry design kits and tools, especially for older processes!
- foundries that are government-owned can lower the barriers to SDK and also of cost to a larger user set
- create and invigorate the open-source microchip community
- share and open-source circuit design in blueprints, napkins, files, chiplets, so that it becomes easier and easier to create new and large design from individual components
- never give up!
About the author
I have almost 20 years of experience in neural networks in both hardware and software (a rare combination). See about me here: Medium, webpage, Scholar, LinkedIn, and more…
If you found this article useful, please consider a donation to support more tutorials and blogs. Any contribution can make a difference!