Absolutely brilliant! (And a well designed web page for teaching purposes! Anyone studying low-level IC design should have a look at this page!) I especially like:
>"Deriving the netlist
Following these connections gives us a list of the gates and which pins share a wire. This is the
netlist.
For each gate, we keep its cell type so we know what it does, and for each of its pins, we record which wire it connects to.
One wire can connect to several gates, and we need to keep track of the particular pins it reaches. Connecting to a flip-flop's data input D means something quite different from connecting to its clock input CLK, even though both connections reach the same component.
With that information, we can
draw the circuit as a graph
. The components no longer need to sit where they were placed on the die. We can arrange them to make their connections easier to follow. We've also left the power lines out of this view, since we'll treat the supply as fixed when calculating the gates' logical behaviour."
While a netlist aka circuit graph (in a specific format, I might add) may seem like a very obvious thing to students of circuit design, I observed after reading this web page that they're sort of like:
the halfway point
between the chip design, the engineering, and all of the engineering ideas that transpired during that engineering, and the physical manifested silicon IC itself.
It's sort of like what an Intermediate Language (IL) is, between Source Code and a fully compiled Binary executable.
Or, sort of like what a blueprint is... between the mind of an Architect and a House.
Oh sure, one could argue that hardware generation source code written in a Hardware Description Language (HDL) occupies this level, and that wouldn't a wrong argument, but it seems to me that a netlist (more broadly a generic circuit graph) seems closer to this level, the halfway point.
Why is that important?
Well, in Engineering, if we can get to a netlist, we're halfway (or close to halfway) to our goal, of turning our ideas into silicon!
In reverse engineering (going the other direction!) if we can get to a netlist, we're halfway (or close to halfway) to our goal, of turning silicon back into the set of ideas (or an approximate equivalent) that produced that silicon!
So, the netlist seems to be the halfway point between ideas in the mind, and physically manifested silicon!
I never realized that, until reading the above article! (It doesn't state that explicitly, but you can kind of intuit it from the flow...)
Anyway, great article!