11
\$\begingroup\$

My question is more terminological than technical.

I have come across different definitions of what an ASIC is. The most common one is that an ASIC is an IC that is designed for a specific application (as its name implies).

Depending on the exact definition, can we say that a CPU is just an ASIC designed to execute a wide range of instructions? To be more precise, I want to know whether "ASIC" refers to a "physical" or a "functional" concept.

In other words, can we say that a CPU is an ASIC on the physical level, and a CPU on the functional level?

This brings me to ask another question which is whether any IC can be defined as an ASIC. Every IC is designed for a purpose, so every IC is designed for a specific application, so every IC is an ASIC?

\$\endgroup\$
7
  • \$\begingroup\$ wide range of instructions sounds off but for emulation hardware. A regular CPU implements an architecture. The architecture defines a/the set of instructions, and, more often than not, registers "visible" to the programmer. A CPU's implementation of this architecture may contain less or more registers even for an architectural register file. \$\endgroup\$
    – greybeard
    Commented Apr 1, 2023 at 10:48
  • 18
    \$\begingroup\$ If every IC were an ASIC in some definition, then that definition of ASIC would not be useful, or the term ASIC would be superfluous. \$\endgroup\$
    – ocrdu
    Commented Apr 1, 2023 at 11:26
  • 1
    \$\begingroup\$ Need to keep in that at least as far as can recall, CPU's (Intel 4000/8000 series) predated the first so-called ASIC, Those early CPUs were designed & laid out on large sheets of vellum and tape to create the transistors and interconnects. This was only practical for a device that was going to have broad widespread use. \$\endgroup\$
    – SteveSh
    Commented Apr 1, 2023 at 12:31
  • 1
    \$\begingroup\$ And IIRC, the first microprocessor, the Intel 4004(?) was designed for a specific application, the Busicom desktop calculator. \$\endgroup\$
    – SteveSh
    Commented Apr 1, 2023 at 12:32
  • 2
    \$\begingroup\$ And every IC is not designed for an application. It is probably more accurate to say that every IC is designed for a specific function, like the old '5483 was designed to be a 4-bit adder. I would consider that a function, not a application. Now you take that adder (a bunch of them) along with registers, gates, memory, etc and put it into a design and now you have an image processor - an application. \$\endgroup\$
    – SteveSh
    Commented Apr 1, 2023 at 14:51

5 Answers 5

23
\$\begingroup\$

An ASIC is a tailor-made suit, normal chips are ready-to-wear.

Being a CPU doesn't disqualify a chip from being an ASIC. Being a general-purpose one designed for a wide market does though. Every chip has an application, that's not the point. The point is whether the designer has a narrow market. In the days of massive toolings costs, this was the big differentiator.

Once tooling costs reduced, you can make a chip for your project -- your application. A CPU for a particular job -- say an experimental LISP machine or a Connection Machine -- could easily be an ASIC.

Perhaps the best way to think of an application-specific chip is that it satisfies both of these:

  1. You can't buy a suitable replacement from the ready-made chip selection
  2. You can't sell any extra you might make because nobody else would want them

As a term of art, it's not black and white and categorical.

So "ASIC" is neither a "physical" nor a "functional" concept: it's a concept around who specifies it. If the buyer is specifying, it's bascially a custom-chip, an ASIC. If the seller specifies, they are hoping they'll sell lots to lots of different customers.

(If you have an enormous internal market (Ford, Boeing, Google), are your internal "ASICs" actually general-purpose? Each organisation will have its own terminology for such a case. It's not the general situation.)

We know what a tailor-made suit is; we know what a custom machine tool is. An ASIC is a custom chip for a project. Just think of the conversation:

Manager: Can we get a part which does everything we want and fit on the board?
Engineer 1: Texas Instruments makes one but it does a lot of other things too and the package is too big.
Engineer 2: Intel makes a chip which does most of it, but we'd need to add some other parts to cover all the functionality.
Engineer 3: I think we should get an ASIC, it will do just the right things in the right package.
Manager: Okay, but I'm worried about minimum production run and cost.

\$\endgroup\$
8
  • 1
    \$\begingroup\$ This seems to suggest that for a chip to be an ASIC, the market must be so narrow that only end-users have ASICs, designed by themselves for themselves. Wouldn't that disqualify Google's Coral AI TPUs? Aren't those ASICs (or at least use ASICs within)? They are sold with multiple distributors (though many products are sold out ATM). Or did they cease to be ASICs the moment they packaged them up and sold them? \$\endgroup\$
    – JoL
    Commented Apr 2, 2023 at 3:58
  • 4
    \$\begingroup\$ I'd have used the phrase "end designer", but yes. I added some commentary about massive internal markets to the answer, but I'd have said anything on the open market isn't an ASIC. This is a linguistic question about how an engineering community describes something and in general you can of course find blurry edge cases. Even counting the inputs of an AND gate can get tricky if you push at it ("no, power doesn't count as an input but under some conditions you could use it as one"). \$\endgroup\$
    – jonathanjo
    Commented Apr 2, 2023 at 4:47
  • \$\begingroup\$ @greybeard ... thanks for pointing out an unnecessarily unusual word, changed to "custom". \$\endgroup\$
    – jonathanjo
    Commented Apr 2, 2023 at 5:34
  • \$\begingroup\$ @JoL End users without ASIC expertise in house can hire contractors to do ASIC design. \$\endgroup\$
    – John Doty
    Commented Apr 2, 2023 at 20:17
  • 1
    \$\begingroup\$ It is all relative, and definitions shift as time passes. If we imagine a timeline where mass market GPUs didn't exist, but Industrial Light & Magic (ILM) got one designed for their render farms, then that would count as an ASIC - even if it was identical to the GPUs that exist on the marked today. You could also imagine a company designing an ASIC for eye tracking in their VR helmets, and then fast-forward a few years and that chip is incorporated in all manner of devices; smart phones, smart glasses, webcams, etc. to the point where it is then "just" an IC like an AND-gate or an FPU. \$\endgroup\$
    – Frodyne
    Commented Apr 3, 2023 at 11:01
7
\$\begingroup\$

Strictly speaking, a chip qualifies as "ASIC" (Application-Specific Integrated Circuit) when it's made for a specific application for a specific customer for their internal use, an "ASIC" is not for sale on the open market. On the other hand, if a chip is designed for a specific application, such as a demodulator for a specific wireless system, but it's sold on the open market as a standard part, technically it can only be a ASSP (Application-Specific Standard Product), never an ASIC.

However, these strict definitions are not always followed. In daily language, the term ASIC is often used as a shorthand of "silicon implementation", in contrast to "software implementation" or "FPGA implementation". Thus, if a new chip design, say a special demodulator or a CPU, that previously only existed as software or on FPGA, but now it has been implemented as a silicon chip and commercialized by a company who's selling it on the open market, it may be described by many as its "ASIC" version (in contrast to the previous "software" / "FPGA" version).

In the strict technical sense, if it's a demodulator, despite being application-specific, since it's being sold on the open market it cannot be qualified as an ASIC, only an ASSP. And if it's a CPU, since it's neither Application Specific nor provided for a specific customer for their internal use, it also cannot be qualified as an ASIC. But most people are not that pedantic, the loose usage of using "ASIC" as a shorthand of "silicon implementation" is common.

\$\endgroup\$
6
\$\begingroup\$

Arguably, the Intel 4004 was an ASIC designed for a Busicom calculator, but instead turned into the first commercially produced microprocessor.

Similarly, the Intel 8008 could be considered an ASIC designed for a Datapoint computer terminal, which ended up not being used by Datapoint.

In both cases, Intel was not originally planning to market the chip as a general purpose processor to other customers.

The 8008 led to the 8080, and the rest is history.

\$\endgroup\$
3
\$\begingroup\$

I think the distinction is from a market perspective, from what/who has been driving the development, at least the specification:

Standard ICs implement something "obviously" useful, such as amplifier, timer, display driver, RAM, even CPU. (Obvious to someone knowledgeable in the field. Changing over time.)
Driven by IC manufacturer.

Application specific will have more elaborate descriptions such as split air condition controller, washing machine controller - dang, fail to come up with an appropriate "non-digital" example.
Driven by a customer of an IC manufacturer.

Offering ASIC development support subsumed ways to reduce time to market, e.g., pre-fabricate sea of gates but for two layers of metallisation.
Field programmable devices changed things for sure.

\$\endgroup\$
9
  • \$\begingroup\$ I get from your answer that the abstract computing layer on which the definition "application-specific" applies is the application layer. Correct me if I am wrong. Let's use the example you provided and suppose that we can use the same IC to control the air conditioner and the washing machine just as an example. So, the IC used as the washing machine controller is different from the IC that is used as an air conditioner controller despite the fact that they have the same physical implementation. \$\endgroup\$ Commented Apr 1, 2023 at 11:37
  • \$\begingroup\$ the IC used as [application A] is different from the IC that is used as [application 1] despite the fact that they have been bought the same It stands to reason whether this is the case where the differentiating configuration is in a separate chip, even package, but on a systems level, I think about it that way. \$\endgroup\$
    – greybeard
    Commented Apr 1, 2023 at 11:45
  • \$\begingroup\$ @Ramzi Baaguigui - What do you mean by same physical implementation? Do you mean they are identical parts, being used in two different applications? \$\endgroup\$
    – SteveSh
    Commented Apr 1, 2023 at 14:46
  • 1
    \$\begingroup\$ One simple example of an analogue ASIC is an FM radio chip, typically containing RF tuning circuitry, digital control circuitry, and audio conditioning circuitry, in a setup that makes it impractical to use for anything else. \$\endgroup\$ Commented Apr 1, 2023 at 21:28
  • \$\begingroup\$ @SteveSh I mean the same circuitry inside \$\endgroup\$ Commented Apr 2, 2023 at 5:08
3
\$\begingroup\$

If every IC were an ASIC in some definition, then that definition of "ASIC" would not be useful, or the term "ASIC" would be superfluous.

A CPU only becomes application-specific when it is always running the same code, as is often the case with MCUs.

Without code, the CPU/MCU hardware is general purpose, unless you think "being able to run code" is an application in its own right, much like seeing "being a NAND gate" as an application of a NAND gate IC.

The dilemma here seems to be in the definition of "(specific) application" rather than in the (derived) definition of "ASIC".

\$\endgroup\$
2
  • 1
    \$\begingroup\$ One "out" would be to say that a given CPU is an ASIC designed to execute not arbitrary code, but code using a particular instruction set (x86 vs ARM vs PowerPC, etc) \$\endgroup\$
    – chepner
    Commented Apr 1, 2023 at 19:31
  • \$\begingroup\$ I suppose it's possible to make an AS CPU, or at least, an AS SoC. Consider an SoC with 8 Ethernet interfaces on it - what else would it be used for but network routers? \$\endgroup\$ Commented Apr 3, 2023 at 20:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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