Tuesday, April 13, 2010

The birth of a chip, part 1

Since this blog is about chip design (or integrated circuits, or VLSI, or whatever-you'd-like-to-call-it), I thought it would be a good idea to start with explaining how a chip is "born".
Take a look at the following diagram:



The work of chip development starts with market(s) requirements. If it's a working company, then the marketing people get the reviews from the market - the company's costumers. If it's a newly born company, then the founders have some knowledge of the market's needs (this means that for start-ups (== newly born company), you can switch the first level with [founder's mind]).


After the market requirements are gathered and analyzed, a marketing requirements document is issued. This document can vary in name, but the basic idea is it defines what chip the market needs, and therefore would buy.

This document is transferred to the system architect, who then derives the system specification from the market's needs. This usually causes an ongoing negotiation between the marketing people and the architect. In this negotiation, the architects should find the minimal chip that is capable of doing what the majority of the market needs.
Note: when you add a feature to a chip, most of the times it will add complexity to every stage of the development (design, implementation, verification etc.). The complexity will be in exponential relation to the feature added. This fact causes the dilemma "what should be in the chip?" and drives a good architect to answer "as minimum as possible".
Anyway, after a negotiation between the two departments, a system specification is born.

[Remark: most of the designers starts their work from this stage]

At this point, the design manager takes the system spec. and translates it to major building blocks, called clusters, or architectures (or many other names, depend on the creativity of the manager). These blocks are further divided into sub-blocks, and again, until a satisfying resolution is achieved. What is "satisfying resolution"? It depends on the company's design flow and on the chip's size. In some, the engineers take control at the second level blocks; in some the manager actually designs the whole chip himself.

In this stage usually some architecture faults are discovered, so another loop of "system-specification -> marketing -> system-specification " is generated until the specifications are re-stabled.

Now we have the full design specification of the desired chip. If the company develops the chip "by the book", at this stage the verification environment is also designed. The advantage of this method is that sometimes you discover blocks in the design that are highly complicated to verify. If you discover them early in the design process, you can re-design them to ease the verification. The disadvantage is that you need more man power to parallel these tasks. Much more common methodology is to start the code-writing and postpone the verification till later.


The above diagram describes in details what is shown as "design" in the first diagram. It derives to two seperate parts: design and coding. Both are refered to as "design" because the coding part is mostly technical and is the shortest part of the chip production procedure.

Part 2 will cover the rest of the process.