(no title)
pepijndevos | 6 years ago
Everything else is very experimental at best. These days the FOSS FPGA tools are finally getting some traction, with Yosys and Nextpnr. But AsicOne tried to make an ASIC with open source, and faced endless troubles.
For ASIC there is basically QFlow, which is quite old, but used successfully to tape out a chip in the past, and there is OpenRoads, which is very new, experimental and ambitious. There are still major gaps in these tools, so in the end you inevitably have to sign an NDA and use proprietary tools and libraries.
And that's just talking about DIGITAL semiconductors where you compile HDL to pretty much generate the transistors from foundry cell libraries. So you have to sign an NDA to get the cell library, but you can at least release your code.
For analog chips, you can't do anything. An analog design highly depends on the parameters of the transistors you use, so before you even BEGIN designing, you have to sign an NDA to get the transistor models and you can NEVER open source an analog design.
The small dot of light at the end of the tunnel are projects like Minimal Fab, who make more accessible fabrication lines with open transistor models.
The crazy thing is that back in the days there were lambda rules, which were open rules anyone could use to design and model with. But with sub-micron devices, these scalable rules no longer scale, so fabs started producing secret models for their specific process.
I'm hopeful that after FPGA, and digital ASIC, analog will be next to be revolutionized.
jleahy|6 years ago
Yes you can release your code, but you can't release your netlist or GDS-II. There's no guarantee that somebody else will be able to take the same HDL and close timing, even with the same foundry libraries (say if they are using a different tool, or different options). You'll also need things like clock-gating cells, memories, IOs (at a minimum) and those are foundry specific, so those would need to be abstracted out in some way.
> For analog chips, you can't do anything. An analog design highly depends on the parameters of the transistors you use, so before you even BEGIN designing, you have to sign an NDA to get the transistor models and you can NEVER open source an analog design.
Now this is where I disagree. Sure you can't open source your analog GDS-II, but maybe that's not the way to go. In my opinion what you want to do is build a foundry independent PDK for a generic 28nm, 40nm or whatever node using PTM models. A well designed analog circuit needs to be relatively independent of specifics, otherwise it's not going to work across all corners (this is more true for modern nodes than the kind of nodes the old textbooks talk about) and it'll be difficult to port to another process. So there's a good chance that analog circuits built for 'generic 28nm' or 'generic 40nm' could be ported to any foundries process (of course the PDK needs to be well designed). Yes you won't be able to push things to the limit as the DRC will be wider, but analog rarely needs to go to the limit. You could probably take the same approach for digital, but that's a lot more open source stuff to build.
Check out OpenRAM and FreePDK45 for academic projects taking this approach. Unfortunately FreePDK45 is only available to those with an academic email (despite being called 'open source'), which makes me very sad.
pepijndevos|6 years ago
I talked to someone who worked on AsicOne, and he said that even if you make your own PDK and draw your own transistors and everything, you'll still have to sign an NDK to do the sign-off and what not. I'm not intimately familiar with the whole process myself, but from what I understand it is basically impossible to have an open source analog design that you can actually manufacture. (sure, you can make a theoretical toy thing, but if you can't manufacture it, who cares?)