ASIC, FPGA en SoC: flexibiliteit, kosten en toepassingen vergeleken

Deze drie termen beschrijven verschillende dingen. Een ASIC is een chip die speciaal voor één toepassing is ontworpen. Een FPGA is een chip waarvan de logica na productie kan worden herschreven. Een SoC (system on chip) integreert een heel systeem, zoals CPU-cores, GPU, geheugencontrollers en I/O, op één chip. De begrippen overlappen: de SoC van een smartphone wordt meestal als ASIC gemaakt, en een FPGA met ingebouwde processor is ook een SoC.

KenmerkASICFPGASoC
Wat is hetEen chip die voor één specifieke toepassing is ontworpen en gefabriceerdEen chip met programmeerbare logische blokken en bekabeling die na productie kunnen worden geconfigureerdEen chip die de belangrijkste onderdelen van een systeem combineert, zoals processorcores, geheugencontrollers, I/O en accelerators
FlexibiliteitNiet meer te wijzigen na productieOok in het veld te herprogrammerenDe hardware ligt vast, maar de software op de processor kan worden bijgewerkt
Prestaties en energie-efficiëntieHet hoogst. De logica is op de toepassing afgestemdGemiddeld. De schakelingen voor herconfiguratie kosten oppervlak, snelheid en vermogenHoog. Heeft speciale accelerators voor veelgebruikte taken
Eenmalige kosten (NRE)Zeer hoog. Bij geavanceerde nodes lopen ontwerp, verificatie en maskers op tot enkele miljoenen tot honderden miljoenen dollarsLaag. Er wordt een kant-en-klaar device gekochtHoog. Het is een custom chip, dus vergelijkbaar met een ASIC
Stuksprijs bij grote volumesHet laagstHoog per stukLaag
OntwikkeltijdLang. Ontwerp, verificatie en productie duren maanden tot jarenKort. Soms werkt het binnen dagen tot wekenLang
Ontwerpfouten herstellenDuur. Vaak moeten de maskers opnieuw worden gemaakt (respin)Eenvoudig. Gewoon herprogrammerenDuur. Sommige zijn wel met software te omzeilen
Belangrijkste toepassingenCryptominers, netwerk- en opslagcontrollers, speciale codecsPrototypes, producten in kleine oplagen, telecom- en meetapparatuur, hardwareversnellingSmartphones, tablets, spelconsoles, veel embedded apparaten

De getalswaarden zijn typische ordegroottes en variëren per procesgeneratie en product.

Wanneer welke variant?

ASIC
Wanneer de volumes groot zijn, de functies vaststaan en maximale prestaties en energie-efficiëntie per kostenpost nodig zijn.
FPGA
Wanneer de volumes klein zijn, de specificaties kunnen veranderen of snel moet worden begonnen. Prototypes, producten in de opstartfase, gespecialiseerde apparatuur.
SoC
Wanneer een compleet product, zoals een smartphone, in één chip moet worden gerealiseerd. In de praktijk wordt een SoC als ASIC ontworpen en vaak vóór de productie eerst op een FPGA gebouwd als prototype.

Veelgestelde vragen

Is een SoC een ASIC?

In de praktijk meestal wel. SoC zegt wat er op de chip is geïntegreerd (een heel systeem), terwijl ASIC zegt hoe hij is ontworpen (voor één toepassing). De SoC van een smartphone wordt doorgaans als ASIC gemaakt.

Waarom worden ASIC's als prototype op een FPGA gebouwd?

Een FPGA kan binnen enkele uren worden herschreven, zodat de logica kan worden getest en gecorrigeerd voordat er geld wordt uitgegeven aan dure maskers. Bij een ASIC is een respin vaak nodig als er na productie een bug wordt gevonden.

Wanneer is een ASIC goedkoper dan een FPGA?

Bij grote volumes. Een ASIC heeft zeer hoge eenmalige kosten maar de laagste kosten per stuk, terwijl een FPGA lage eenmalige kosten heeft maar per stuk duurder is.

Is een FPGA trager dan een ASIC?

Over het algemeen wel. De schakelingen voor herconfiguratie kosten oppervlak, snelheid en vermogen, dus een ASIC die dezelfde taak uitvoert, is sneller en energiezuiniger.

Test uw begrip

Welke eigenschap van een FPGA is juist?

  1. ADe schakeling ligt bij de productie vast en kan niet worden gewijzigd
  2. BHet is een component uitsluitend voor analoge schakelingen
  3. CDe gebruiker kan na de productie de opbouw van de logische schakeling herschrijven
Antwoord en toelichting tonen

Antwoord: C. De gebruiker kan na de productie de opbouw van de logische schakeling herschrijven

Een FPGA is een component waarvan de logische blokken met kleine waarheidstabellen (LUT) en de manier waarop de bedrading is verbonden na de productie met configuratiegegevens kunnen worden herschreven. Omdat productietijd en maskerkosten zoals bij een ASIC ontbreken, wordt hij gebruikt voor prototypes, kleine oplagen en apparatuur waarvan de functies moeten worden bijgewerkt. Doordat extra schakelingen voor het herschrijven nodig zijn, is een ASIC bij dezelfde schakeling sneller, zuiniger en kleiner. Het is geen component alleen voor analoog.

Hoe heet een LSI waarin de functies die een systeem nodig heeft, zoals CPU, GPU, geheugencontroller en communicatiefuncties, op één chip zijn geïntegreerd?

  1. ASiP (system-in-package)
  2. BStandaard-DRAM
  3. CSoC (system-on-chip)
Antwoord en toelichting tonen

Antwoord: C. SoC (system-on-chip)

Een SoC is een LSI waarin veel voor het systeem benodigde functies op één chip zijn geïntegreerd; processors voor smartphones zijn het bekendste voorbeeld. Doordat de bedrading tussen chips vervalt, is het aantal componenten kleiner en kan het systeem compacter, sneller en zuiniger zijn. Nadelen zijn dat de chip groot wordt, waardoor de yield daalt, en dat circuits van verschillende processen moeilijk te combineren zijn. Dit is te onderscheiden van een SiP, waarbij meerdere chips in één package zitten. Standaard-DRAM is een los geheugenproduct.

Hoe heet een LSI die speciaal voor een bepaalde toepassing of klant is ontworpen?

  1. AStandaardgeheugen
  2. BASIC (application-specific IC)
  3. CFPGA
Antwoord en toelichting tonen

Antwoord: B. ASIC (application-specific IC)

Een ASIC (Application Specific Integrated Circuit) is een LSI die speciaal voor een bepaald product of een bepaalde toepassing is ontworpen. Omdat alleen de benodigde functies worden geoptimaliseerd, is het voordelig qua prestaties en vermogen, maar de ontwikkelkosten, inclusief maskers, zijn hoog en de ontwikkeling duurt maanden of langer; daarom wordt het gebruikt voor producten met een redelijk verwacht productievolume. Een FPGA, die na de productie kan worden herprogrammeerd, past bij kleine series en prototypen; standaardgeheugen is een product dat voor veel toepassingen gemeenschappelijk is.

  1. Welke methode wordt bij de verificatie van grote SoC's gebruikt om de ontworpen schakeling op speciale hardware of een FPGA te laten werken en in combinatie met software snel te verifiëren?
  2. Welke speciale schakeling wordt in onder meer SoC's voor smartphones geplaatst om AI-inferentie snel en met laag vermogen uit te voeren?

Oefenvragen over LSI-ontwerpflow en EDA

Belangrijke termen uitgelegd

ASIC (application-specific integrated circuit)
LSI die speciaal voor een bepaalde toepassing of klant is ontworpen. Heeft voordelen in prestaties en vermogensverbruik ten opzichte van standaardproducten, maar de ontwikkelkosten zijn hoog; geschikt voor toepassingen met voldoende volume.
FPGA
LSI waarvan de gebruiker na de productie de logische configuratie kan herschrijven. Wordt gebruikt voor prototypes, producten in kleine oplagen en de verificatie van ASIC's.
SoC (system on chip)
LSI waarin alle voor een systeem benodigde functies, zoals CPU, GPU, geheugencontroller en communicatie, op één chip zijn geïntegreerd. Het hart van een smartphone is een typisch voorbeeld.

Verwante vergelijkingen