VLSI & ASIC Digital design interview questions
Digital design interview questions & answers.
62)What is a SoC (System On Chip), ASIC, “full custom chip”, and an FPGA?
There are no precise definitions. Here is my sense of it all.
First, 15 years ago, people were unclear on exactly what VLSI meant. Was it 50000 gates? 100000 gates? was is just anything bigger than LSI? My professor simply told me that; VLSI is a level of complexity and integration in a chip that demands Electronic Design Automation tools in order to succeed. In other words, big enough that manually drawing lots of little blue, red and green lines is too much for a human to reasonably do. I think that, likewise, SoC is that level of integration onto a chip that demands more expertise beyond traditional skills of electronics. In other words, pulling off a SoC demands Hardware, Software, and Systems Engineering talent. So, trivially, SoCs aggressively combine HW/SW on a single chip. Maybe more pragmatically, SoC just means that ASIC and Software folks are learning a little bit more about each other’s techniques and tools than they did before. Two other interpretations of SoC are 1) a chip that integrates various IP (Intellectual Property) blocks on it and is thus highly centered with issues like Reuse, and 2) a chip integrating multiple classes of electronic circuitry such as Digital CMOS, mixed-signal digital and analog (e.g. sensors, modulators, A/Ds), DRAM memory, high voltage power, etc.
ASIC stands for “Application Specific Integrated Circuit”. A chip designed for a specific application. Usually, I think people associate ASICs with the Standard Cell design methodology. Standard Cell design and the typical “ASIC flow” usually means that designers are using Hardware Description Languages, Synthesis and a library of primitive cells (e.g. libraries containing AND, NAND, OR, NOR, NOT, FLIP-FLOP, LATCH, ADDER, BUFFER, PAD cells that are wired together (real libraries are not this simple, but you get the idea..). Design usually is NOT done at a transistor level. There is a high reliance on automated tools because the assumption is that the chip is being made for a SPECIFIC APPLICATION where time is of the essence. But, the chip is manufactured from scratch in that no pre-made circuitry is being programmed or reused. ASIC designer may, or may not, even be aware of the locations of various pieces of circuitry on the chip since the tools do much of the construction, placement and wiring of all the little pieces.
Full Custom, in contrast to ASIC (or Standard Cell), means that every geometric feature going onto the chip being designed (think of those pretty chip pictures we have all seen) is controlled, more or less, by the human design. Automated tools are certainly used to wire up different parts of the circuit and maybe even manipulate (repeat, rotate, etc.) sections of the chip. But, the human designer is actively engaged with the physical features of the circuitry. Higher human crafting and less reliance on standard cells takes more time and implies higher NRE costs, but lowers RE costs for standard parts like memories, processors, uarts, etc.
FPGAs, or Field Programmable Gate Arrays are completely designed chips that designers load a programming pattern into to achieve a specific digital function. A bit pattern (almost like a software program) is loaded into the already manufactured device which essentially interconnects lots of available gates to meet the designers purposes. FPGAs are sometimes thought of as a “Sea of Gates” where the designer specifies how they are connected. FPGA designers often use many of the same tools that ASIC designers use, even though the FPGA is inherently more flexible.
All these things can be intermixed in hybrid sorts of ways. For example, FPGAs are now available that have microprocessor embedded within them which were designed in a full custom manner, all of which now demands “SoC” types of HW/SW integration skills from the designer.
63)What is "Scan" ?
Insertion and ATPG helps test ASICs (e.g. chips) during manufacture. If you know
what JTAG boundary scan is, then Scan is the same idea except that it is done
inside the chip instead of on the entire board. Scan tests for defects in the
chip's circuitry after it is manufactured (e.g. Scan does not help you test
whether your Design functions as intended). ASIC designers usually
implement the scan themselves and occurs just after synthesis. ATPG (Automated
Test Pattern Generation) refers to the creation of "Test Vectors"
that the Scan circuitry enables to be introduced into the chip. Here's a brief
Scan Insertion is done by a tool and results in all (or
most) of your design's flip-flops to be replaced by special "Scan
Flip-flops". Scan flops have additional inputs/outputs that allow them to
be configured into a "chain" (e.g. a big shift register) when the
chip is put into a test mode.
The Scan flip-flops are connected up into a chain
(perhaps multiple chains)
The ATPG tool, which knows about the scan chain you've
created, generates a series of test vectors.
The ATPG test vectors include both "Stimulus"
and "Expected" bit patterns. These bit vectors are shifted into the
chip on the scan chains, and the chips reaction to the stimulus is shifted back
The ATE (Automated Test Equipment) at the chip factory
can put the chip into the scan test mode, and apply the test vectors. If any
vectors do not match, then the chip is defective and it is thrown away.
Scan/ATPG tools will strive to maximize the
"coverage" of the ATPG vectors. In other words, given some measure of
the total number of nodes in the chip that could be faulty (shorted, grounded,
"stuck at 1", "stuck at 0"), what percentage of them can be
detected with the ATPG vectors? Scan is a good technology and can achive high
coverage in the 90% range.
Scan testing does not solve all test problems. Scan
testing typically does not test memories (no flip-flops!), needs a gate-level
netlist to work with, and can take a long time to run on the ATE.
FPGA designers may be unfamiliar with scan since FPGA
testing has already been done by the FPGA manufacturer. ASIC designers do not
have this luxury and must handle all the manufacturing test details themselves.
Check out the Synopsys WWW site for more info.