Recently I studied the very fundamentals how computers work at the level of 1s and 0s, wires, and logic gates from a book written for laypersons. I followed the book along and built a very, very primitive computer with a cpu and ram in a simulator by plotting different kinds of logic gates and connecting them with wires.
After this exercise I’m left wondering how are new chips designed nowadays considering that there are billions and billions of microscopic transistors in a modern chip? I’m assuming there are some levels of abstraction to simplify the process? I can’t imagine all those billions of transistors and wires being plotted manually one by one by people. Is there like a programming language of some sort where a compiler converts syntax into circuitry layouts?
Also, I don’t mean the physical manufacturing process. I think I have a good grasp of that. I’m purely talking about the design stage.
solrize@lemmy.ml 16 hours ago
You might start with the now quite old but groundbreaking book “Introduction to VLSI design” by Mead and Conway. It shows the chip layouts for basic switches, gates, and stuff like that, and design tools for building circuits up from those. Now imagine decades of improvements to the design tools. For the past few decades chip designs have looked like software programs, except highly parallel. The two main languages (“HDL’s”) are Verilog (looks like C) and VHDL (looks like Ada). You say what circuits you want and how they should be connected, and the compiler and layout software figure out how to place thst stuff on the chip. You can drop “macros” for very complex subsystems into your design, such as communication ports or even microprocessor cores, without having to worry about the insides of the macro blocks. There is a significant FOSS ecosystem of such macros too: see opencores.org for some of what’s available. It’s sort of like Github but for hardware.
sheridan@lemmy.world 13 hours ago
Thanks! I’ve been collecting old computer books from resell shops. I’ll look for it.
solrize@lemmy.ml 12 hours ago
See my edit above where I fixed the book title, which I had originally mis-remembered. It looks like the book is on archive.org:
archive.org/details/introductiontovl00mead/…/2up
solrize@lemmy.ml 13 hours ago
Doesn’t sound easy to find that way. It wasn’t a popular-type computer book. You might be better off looking online.