Electronic – Good source to learn about the basics of integrated circuits

integrated-circuitmicrochipmicroprocessor

I would like to learn the basics of integrated circuits and microprocessors. To get an idea of my level of ignorance, here are some question I have:
1. How many "layers" does a microprocessor have? 2, 3, hundreds, thousands? I assume it has to be more than one, since if "wires" cross I assume one must jump to the layer below (or above) for a while and then jump back?
2. I remember reading that distributing the "clock" is a big issue for the power usage and design of a chip. Must all parts of a chip run on the same clock? Can a "communication channel" be self-synchronizing, like I imagine say a USB/ethernet connection is.
3. Is there software where you can design an integrated circuit, simulate it and see if it works?

Anyone know of a good book? My background in math and computer science is very good, my background in electronics is weak.

Best Answer

You probably already know that a person can be an expert at using a chainsaw, without knowing much about designing a custom chainsaw, and vice versa. It's the same with chips.


  • 1. How many "layers" does a microprocessor have?

There is only one layer of transistors. Most transistors are fabbed in a process that uses 3 layers of metal for interconnect. The year 2000 AMD Athlon Thunderbird has 6 interconnect layers, and more recent AMD and Intel processors use a few more layers.

  • 2. I remember reading that distributing the "clock" is a big issue for the power usage and design of a chip. Must all parts of a chip run on the same clock?

Nearly all CPUs, and most digital ICs in general, are designed using tools that "enforce synchronous design practices", using a single global clock.

However, a global clock is technically not necessary. There are some globally asynchronous locally synchronous (GALS) chips. A few "clockless CPU" chips have been built, which have no clock at all.

  • 2a. Can a "communication channel" be self-synchronizing, like I imagine say a USB/ethernet connection is.

Yes. A few systems (such as clockless CPUs) use completely delay insensitive circuit techniques to stay synchronized, so either end can run at any conceivable rate, down to practically zero.

Many long-distance communication protocols -- USB, Ethernet, CANbus, FireWire, DMX512, ATSC, DVB, etc. -- assume that both ends are running at pretty close to the same rate, and compensate for small differences in rate by using self-clocking signals to compensate for bit-slip, frame desynchronization, etc.

Communication between two ICs on one PCB, or between two sections of one IC, typically uses a dedicated "clock wire" and a "frame wire" running from one to the other to keep everything synchronized.

  • 3. Is there software where you can design an integrated circuit, simulate it and see if it works?

Yes. I'm making a list that includes digital circuit simulators

Those are all digital gate-level design software. There's a whole other category of transistor-level design software such as "Magic and IRSIM", which is used for full-custom analog and digital IC design.