Abstracting transistors into high-level design

Although it’s not the best way of understanding computers, most people tend to imagine electronic devices as black boxes filled with magic and blue smoke. Even microcontrollers, the most fundamental means of computation, are treated like little black plastic centipedes with metal legs. In a series of blog posts, [Andrew Gibiansky] is tearing down the walls of obfuscation and illuminating the world of transistors, gates, and FPGAs.

The first blog post goes over the idea of electronic circuits as a waterfall; a positive voltage is a reservoir on a mountain top and ground is sea level. This idea is extended to the lowly transistor acting as an electronic switch, able to turn a circuit on and off.

Continuing on to logic gates, [Andrew] covers the NOT, AND, and OR gates before moving on the flip-flops and SRAM. These can, of course, be modeled in Verilog and VHDL – programming languages that abstract the world of transistors and gates into a much more human-readable form.

[Andrew] is far from done with his series of blog posts, but judging from his work so far it seems to be a great resource for untangling the obtuse concepts of gates and memory into the coherent design of a computer.

The effort is noble but his metaphors are lousy. It’s also peppered with bad habits gained from learning through the imperial measurement system’s electronic cousin, conventional current, like the dead wrong statement “Wires allow electrons to flow through them, away from higher potential-” though not a moment later we get “Current flows from high potential (the plus sign) to low potential (the minus sign).”

The ports of a transistor wouldn’t be “counterintuitively named” if he tried teaching what actually happens instead of a convenient myth.

The difference between the imperial measurement system and conventional current is that the imperial measurement system has a competitor, so to speak. On the other hand, conventional current is, as far as I can tell, used in every single textbook, every single specifications sheet, and so on. Does anyone anywhere actually use “unconventional” current?

In that case, I stand corrected. I’ve never seen electron flow used except as an educational tool, always used shortly before introducing conventional current flow (after which electron flow was promptly forgotten about). Maybe it’s just a U.S. thing. (It wouldn’t be the only dumb convention we have…)