6
\$\begingroup\$

I was just wondering how the microchips are actually designed. I was watching the Apple presentation on the A7 chip and they were saying there is over a billion transistors on the chip. To my mind, it would take a team of thousands to design that, and yet there seems to be a newer, faster, bigger chip every year.

Are computer programs or people designing the chips?

\$\endgroup\$
11
\$\begingroup\$

Both. And there's quite frequently a team of hundreds involved; the latest Intel flagship processor will probably have had over a thousand people involved in design decisions somewhere (especially if you count technical input from the foundry, which is vital if you're using a new manufacturing process).

Generally the process involves:

  • high level architecture design, by humans
  • implementing the design in Verilog and/or VHDL, by humans
  • translating that into logic gates, by software
  • placing the gates and routing wires between them (software with constraints and guidance by humans)
  • analyse the result (software) and review key areas for improvement (by humans)
  • translate gates to images for photomasks (represented in the "GDS II" file format)
  • generate test data (software-assisted humans)
  • manufacturing and test process (mostly automated)

Edit: there are also lots of things which up the transistor count without having to design them all individually; SRAM, for example, is a large grid of repeating elements. The A7 will have a substantial fraction, maybe a majority, of its transistors devoted to L1 and L2 cache.

\$\endgroup\$
  • 1
    \$\begingroup\$ Translation from HDL design to logic gates is not only done by software. Softwares generates the transistor-level design using standard cells developed by the IC manufacturer, but critical sections may be developed "by hand" (i.e. using CAD softwares) by humans. These full-custom cells are mostly for area and/or delay optimization. \$\endgroup\$ – strnk Oct 28 '13 at 11:17
  • \$\begingroup\$ True; analog sub-elements tend to be done by hand too (bandgap voltage references, amplifiers, ADC, etc) \$\endgroup\$ – pjc50 Oct 28 '13 at 11:43
4
\$\begingroup\$

In the old days (I just watched a video about the 6502 design) the full chip (down to the layers, which is even more detailed than just the transistors) were designed and 'drawn' (using tape) by hand.

Nowadays such detailed design is reserved for the patterns that are repeated over and over (especially memory cells). Most of the layout and much of the selection of those patterns is now done by computer programs, but the input for those programs is still created by humans. CAI: Computer Aided Design.

\$\endgroup\$
  • 1
    \$\begingroup\$ I would add that many parts of the chip are designed separately and then integrated. Also, there are architectures, such as ARM, that are provided by a third party and adapted to the manufacturing technology. \$\endgroup\$ – clabacchio Oct 28 '13 at 7:44
  • \$\begingroup\$ Drawn using tape? What is that exactly? \$\endgroup\$ – sharptooth Oct 28 '13 at 10:40
  • \$\begingroup\$ I think colored tape on big transparent sheets (think A0) for development. Probably black tape on white paper for the final layout which is input for producing the masks. \$\endgroup\$ – Wouter van Ooijen Oct 28 '13 at 10:47
  • \$\begingroup\$ research.swtch.com/6502 (evocative bit of history) claims the use of "Rubylith" red masking tape, although it doesn't say what it was taped to. \$\endgroup\$ – pjc50 Oct 28 '13 at 11:41
  • \$\begingroup\$ Rubylith was taped to large transparent sheets. These sheets were then laid on top of each other to check for alignment and overlap. the Rubylith covered film was used to generate a projection mask that was then used in the aligner to print the actual chips. Rubylith was drawn at much much larger sizes than the final resulting chip. \$\endgroup\$ – placeholder Oct 28 '13 at 14:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.