Is it even possible to design serious ASICs without expensive tooling?
throwaway31131 14 hours ago [-]
For some definitions of serious, sure. The main critical piece that’s missing is all the testing infrastructure. Buying 100 or so ASICs for university use is one thing. Buying 100K, or more, is another.
Not the gdb support via jtag that software engineers need, they have that. But the various manufacturing test suites, which do modify gate netlists, and automated circuit characterization techniques that electrical engineers and the manufacturing engineers use.
somethingsome 14 hours ago [-]
From the slides, they are reducing the gap, it's not there yet.
But I was actually pleasantly surprised by how close they are.
bsder 11 hours ago [-]
Sure, as long as you stick to digital and purchased IP.
If you can get a "library" from somewhere (like the one Google released from Skywater), then you can use static timing analysis on the interconnect between the library blocks. Performance metrics will all be mediocre, but it will be relatively quick to design and cheap to produce if you have sufficient volumes. This is why so many of the RISC-V processor implementations suck.
If you want to design analog, RF, or high-speed, then the expensive tooling is required. You need especially need DRC and extraction (parasitics from passives, transistor numbers, etc.) for proper analysis and design.
le-mark 13 hours ago [-]
Let’s all take a moment to remember Nikolas Wirth and Project Oberon and its fpga processor. I learned so much from reading his books. They are very accessible and I recommend them to anyone!
hannesfur 15 hours ago [-]
This course is actually mandatory in the first year of the CS undergraduate program here at ETH. I remember it very fondly for its great (and passionate) lecture and the hands on experience building a MIPS cpu in the exercise sessions. Probably the best lecture in my undergraduate.
eXpl0it3r 5 hours ago [-]
I fully agree! Can also recommend to everyone to take a similar course or use self-study material on the topic. Understanding the lowest layers makes you a better software engineer, as your mental model of a CPU/PC gets sharper.
The link for this course's playlist is posted on the page.
jansommer 16 hours ago [-]
This is also the university that develops RumbleDB[0]. It uses JSONiq as its query language which is such a pleasure to work with. It's useful for dealing with data lakes, though I've only experimented with it because of JSONiq.
I'm taking Ghislain Fourny's Big Data course here at ETH, he's such a good professor
chompychop 16 hours ago [-]
Does anyone know how this course compares to the NAND2Tetris course?
markus_zhang 16 hours ago [-]
You can check out Onur Mutlu's videos on YouTube. I'd say it is much more demanding than NAND2Tetris.
outside1234 15 hours ago [-]
Broadening the perspective here. Has anyone curated a complete computer science / computer engineering curriculum here with classes that are essentially “best of breed” on YouTube?
panick21_ 17 hours ago [-]
Crazy how successful the ETH open source designs were. The pop up in lots of places.
https://github.com/open-source-eda-birds-of-a-feather/open-s...
Presented at DAC 2025
Not the gdb support via jtag that software engineers need, they have that. But the various manufacturing test suites, which do modify gate netlists, and automated circuit characterization techniques that electrical engineers and the manufacturing engineers use.
But I was actually pleasantly surprised by how close they are.
If you can get a "library" from somewhere (like the one Google released from Skywater), then you can use static timing analysis on the interconnect between the library blocks. Performance metrics will all be mediocre, but it will be relatively quick to design and cheap to produce if you have sufficient volumes. This is why so many of the RISC-V processor implementations suck.
If you want to design analog, RF, or high-speed, then the expensive tooling is required. You need especially need DRC and extraction (parasitics from passives, transistor numbers, etc.) for proper analysis and design.
[0] https://github.com/RumbleDB/rumble
ETH is at 7
Not too shabby for such a tiny country.