Analogteknik i programmerbar form

Att konstruera digitala komponenter är svårt och dyrt, men ytterst få skulle ens drömma om att göra konstruktionerna direkt på masknivå. Det tar alldeles för lång tid och innebär att konstruktionen varken kan skalas till nya geometrier eller flyttas från en process till en annan.

I stället konstruerar man på en hyfsat hög abstraktionsnivå (åtminstone RTL-nivå) och använder syntesverktyg och automatiserade layoutverktyg för att ta steget till halvledarproduktion. Att skala till en finare geometri eller flytta till en annan tillverkare tar fortfarande tid, men är fullt genomförbart. Och det går utmärkt att köpa färdiga konstruktionsblock (IP-block) som inte är låsta till en speciell process.

Analog mardröm
Men så här fungerar det inte för analogkonstruktörer. Syntesverktyg och layoutverktyg är inte alls automatiserade på samma sätt. Den som vill ha ut maximala prestanda måste dessutom ha en helt annan kontroll på geometrierna för att nå rätt resultat.

Resultatet är att en analog konstruktion sällan kan flyttas till en ny tillverkningsprocess. Komponenttillverkarna tvingas hålla massor av gamla processer igång och lagra otroliga mängder masker för gamla och nya komponenter. Det här är något av en logistisk mardröm.

För den som köper analoga komponenter är situationen inte mycket bättre. Distributörernas websidor visar sida upp och sida ner med operationsförstärkare, komparatorer och allt annat som behövs i en normal konstruktion. Det räcker inte att välja en komponent med rätt prestanda och pris. Konstruktören måste också veta var komponenten ligger i sin livscykel för att inte riskera otrevliga överraskningar när det väl är dags för produktion.

Gissa rätt
För analoga specialkomponenter med extrema prestanda finns det naturligtvis inte mycket val. De kräver specialprocesser och de kräver konstruktörer som har total kontroll över geometrierna. Men för alla de mera ordinära analogkomponenterna känns det ibland ganska onödigt att tvingas använda alla dessa diskreta komponenter.

I systemkomponenter som enkapseldatorer har förstås tillverkarna försökt att förutse både de digitala och analoga behoven, men det är inte lätt att gissa rätt på allt. Därför hittar man för det mesta ett ganska stort antal analoga standardkomponenter på korten. Inget underligt med det.

Programmerbart
Ett uppenbart sätt att lösa problemet är att lägga in ett antal analoga block i en komponent och sedan programmera parametrar och anslutningar med hjälp av flashteknik eller antifuse-teknik. Det är inte alls så lätt som man kan tro vid första anblicken, men det går om man har tillräckliga resurser både på verktygssidan och konstruktionssidan.

Idag är det framför allt USA-företaget Silego som håller på med sådant här. De lanserade sina första CMIC-komponenter (Configurable Mixed-Signal ICs) 2009 och har faktiskt sålt mer än 2 miljarder av dem.

Silegos komponenter tillverkas i ganska ordinär CMOS-teknik (TSMC 180 nm CMOS) och företaget använder antifuse-teknik för programmeringen. Det är inte bara förbindningarna som går att programmera, utan också parametrar hos de individuella blocken.

Den som vill använda en CMIC-komponent måste först definiera hur den skall se ut i ett grafiskt konstruktionsprogram, på ungefär samma sätt som vid kretskortskonstruktion. Grafiska block ansluts till varandra och parametrarna definieras för de individuella blocken. Inte särskilt svårt.

Att testa i prototypmiljö går också bra, men i praktiken beställer man sedan färdigprogrammerade komponenter som programmeras innan de kapslas. Processen tar bara några dagar.

Tillståndsmaskiner
CMIC-komponenterna innehåller framför allt analoga block, men det finns också varianter med inbyggda tillståndsmaskiner. På det sättet är det möjligt att till exempel styra mätvärdesinsamling utan att blanda in mikroprocessorer eller enkapseldatorer. Det kan spara både komplexitet och energiförbrukning.

Energiförbrukningen är förresten en stor fördel med CMIC-tekniken. Inte så att den är strömsnålare än de strömsnålaste standardkomponenterna, men den ligger i samma region. Det här har inneburit att en hel del tillverkare av lågenergiprylar, till exempel ”wearables” använder CMIC och det är ju en bra indikation. Intel använder förresten CMIC-komponenter på en del av sina IoT-moduler också.

Förvånansvärt okänd
Varför är då den här tekniken ändå så relativt ovanlig? Det är faktiskt lite förvånande. Problemen är ju både välkända och stora och många skulle nog gärna vilja rensa upp i BOM-listan.
Men det är kanske så enkelt som att ny teknik tar sin tid för att slå igenom. Åtta år är faktiskt inte särskilt mycket.

One Response to “Analogteknik i programmerbar form”

  1. Hej Göte, utmärkt skriven artikel som väl sammanfattar vad vi gör!