PROGRAMMERBAR LOGIK Komponenter ▲ INLEDAREN Vinner mark Detta tema visar bredden på tillämpningar av programmerbar logik. Inte minst används FPGA-kretsar för digital signalbehandling, exempelvis som multimediaprocessor vid trådlösa applikationer och för programstyd radio eller “software defined radio” för mobiltelefoni. Allt kortare serier, krav på kort tid till marknaden och ofullständiga, successivt ändrade standarder, tvingar konstruktören till programmerbarhet, i form av programvara och mikroprocessor eller programmerbar logik. Ett intressant alternativ är rekonfigurerbara processorer, där programvaran kan ställa om konstruktionen under drift. Denna ökade frihetsgrad är förstås förknippad med ökad komplexitet. Än så länge finns inga standardiserade operativsystem för detta, men de kommer säkert. En av artiklarna beskriver en konstruktion för att presentera strömmande video på en PDA. Begränsad bandbredd och extrema krav på låg effektförbrukning tvingar fram extraordinära lösningar, som i det här fallet med en FPGA eller en rekonfigurerbar processor från Tensilica. Det man tidigare tvingades lösa i asic, kan man ofta åstadkomma i en FPGA. Priserna på FPGA sjunker radikalt, medan de för asic stiger för varje processgeneration, eftersom maskkostnaderna ökar exponentiellt med minskade strukturer. Kan direktskrivning ge asic längre liv? Att förkasta asic som sådan, vore dock fel. Kiselytan blir radikalt mycket mindre och kretsarna kan optimeras på ett helt annat sätt för ökad snabbhet och lägre effektförbrukning. Inget säger heller att man måste använda senaste generationens processteknik, eftersom man ändå vinner prestanda tack vare att kretsarna kan åstadkommas med långt färre transistorer än i FPGA. Dessa kräver både extra transistorer och ledningar för en given funktion. [email protected] 36 Neutroner orsakar fel i programmerbar logik I takt med att halvledargeometrierna minskar, ökar också risken för att neutroner skall ändra innehållet i minnescellerna. Barry Marsh, Actel, tar här upp några orsaker och hur man kan minimera felfrekvensen. Redan i slutet av 70-talet märkte konstruktörerna att man fick större mängder korrupta data i DRAM-arrayer än väntat. Orsaken var svår att hitta. Efter mycken forskning upptäckte halvledarfysikerna att minskande kretsgeometrier ökade riskerna för att minnescellerna skulle ändra sina logiska tillstånd p g a att de träffats av högenergetiska neutroner. Idag ger neutronträffar fortfarande en väsentlig risk för minskad tillförlitlighet i både markbaserad och flygburen elektronik. Därför tar man ofta till metoder som feldetekterande och felkorrigerande koder och tredubbel redundans för att skydda data i driftskritiska minnessystem. Men att garantera dataintegritet i FPGA-kretsar som innehåller SRAM-baserade konfigurationsminnen har fortfarande sina problem. Eftersom dessa kretsar för sin funktion är beroende av data som lagras i minnen, finns det risk för att neutronträffar kan orsaka katastrofala systemfel p g a att kretsen kan rekonfigureras på ett icke förutsägbart sätt. Därför är det nödvändigt att de som konstruerar system med hög tillgänglighet förstår de felmekanismer som kan uppstå p g a neutroner, och att de kan välja kretsteknologier och tekniker som maximerar systemtillförlitligheten. De mekanismer som genererar neutronträffar är numera väl kända. När galaktisk kosmisk strålning och solstrålar kolliderar med jordens översta atmosfär, förstör högenergetiska partiklar kväveoch syreatomer och skapar olika andra högenergetiska partiklar. De flesta av dessa partiklar är laddade och rekombineras snabbt. Men många oladdade neutroner kommer inte att rekombineras, utan istället att förflytta sig med hög hastighet tills de kolliderar med gaser i atmosfären, objekt på jordytan eller objekt som rör sig genom atmosfären. Eftersom atmosfäriska gaser dämpar neutronerna, kommer antalet be- Fig 1. Eftersom atmosfäriska gaser dämpar neutronerna, kommer antalet befintliga neutroner, eller neutronflödet, att främst vara beroende av höjden, med en topp kring 20 000 m. Fig 2. Jordens magnetfältlinjer ligger tätast nära polerna, så fler kosmiska partiklar når jordens yta där än vid ekvatorn. Longituden har mindre inverkan, men två orter på samma latitud har olika flödestäthet beroende på höjden över havet. fintliga neutroner – eller neutronflödet – att främst vara beroende av höjden, med en topp kring 20 000 m. Se fig 1. Eftersom jordens magnetiska fält fångar upp inkommande högenergetiska partiklar och förhindrar kollisioner med atmosfäriska gaser, är även latituden en viktig faktor. Jordens magnetfältlinjer ligger tätast nära polerna, så fler kosmiska partiklar når jordens yta där än vid ekvatorn. Longituden har mindre inverkan, men som fig 2 visar, kan två städer på samma latitud ha olika flödestäthet: Denver som ligger på 1 500 m höjd har tre gånger så högt neutronflöde som New York som ligger vid havsytan. I de flesta fall passerar neutroner som träffar en IC rakt genom Fig 3. Ibland kan en neutron passera så nära att kislet eller dopningsatomerna i kretsen kan skapa sekundära partiklar. Dessa partiklar skapar ett spår av elektron/hål-par som kan uppnå en längd av flera tiotals µm. Om detta händer nära en i backriktningen förspänd P/N-övergång i en minnescell, eller en vippa, kan en spänningsspik uppstå som förändrar kretsens logiska tillstånd. kretsen utan att påverka dess funktion. Vid enstaka tillfällen kan en neutron passera så nära att kislet eller dopningsatomerna i kretsen kan skapa sekundära partiklar. Sekundärpartiklarna skapar ett spår av elektron/hål-par som kan uppnå en längd av flera tiotals µm. Om detta händer nära en i backriktningen förspänd P/Növergång i en minnescell, eller en vippa, kan en spänningsspik uppstå som kan förändra kretsens logiska tillstånd, se fig 3. Vanligen uppstår ingen skada och felet kan återställas genom att minneselementet skrivs om. Men om minneselementet används för att lagra konfigurationsdata, kan en sådan förändring orsaka en konflikt inom kretsen, eller med andra kretsar som är anslutna till den. Om en sådan konflikt uppstår kan alltför höga strömmar börja flyta, viket kan resultera i att kretsen eller systemet skadas. Sannolikheten för att en neutronträff skall ändra innehållet i en minnescell eller en vippa beror på flera faktorer. Neutronen måste träffa kretsen med tillräckligt hög energi för att orsaka att sekundära tunga partiklar bildas inom kislets kristallstruktur. De bildade partiklarna måste ha tillräckligt hög energi och färdas i rätt riktning för att kunna ladda den känsliga volymen i kretsen. I takt med att halvledarna får allt mindre strukturstorlekar, minskar även den mängd laddning som krävs för att orsaka datakorruption. När denna laddningsnivå minskar, ökar antalet neutroner som kan stimulera en sådan korruption exponentiellt, se fig 4. Figuren visar effekten av alfapartiklar som funktion av mängden isotoper inom kapselmaterialen. Alfapartiklar och neutronträffar som orsakar “mjuka” fel, kan sammanfattas som “single-event upsets” (enstaka störningar). Sannolikheten för sådana störningar ökar dramatiskt när processteknologierna går mot allt mindre strukturer. Å andra sidan minskar chipytan hos minnescellerna och vipporna, så sannolikheten för att ett sådant element skall träffas av en partikel minskar. Denna förmildrande omständighet uppvägs dock av att man tenderar att lägga in fler minneselement när geometrierna krymper. Härtill kommer att den minskade sannolikheten för att ett individuellt minneselement skall träffas, uppvägs av att det krävs ELEKTRONIK I NORDEN 9/2003 PROGRAMMERBAR LOGIK Forts nästa sida lägre energinivåer för att enstaka störningar skall uppkomma. Om man har tillgång till data över strålningen på en given plats och data över en viss kretsfamiljs strålningskänslighet, kan man beräkna sannolikheten för störningar i ett system. De enda publicerade data från strålningstester av SRAM-baserade FPGA gäller för kretsar på 0,22 µm och äldre. Dagens tätaste kretsar tillverkas i 0,13 µm-teknologi och innehåller upp till 43 miljoner konfigurationsbitar. De lägre energinivåerna i 0,13 µm-kretsar antyder att deras känslighet för enstaka störningar är minst fyra gånger större än hos 0,22 µm-kretsar med samma täthet. Det innebär att det torde vara en väsentlig skillnad i tillförlitlighet för dessa båda kretsgeometrier. Se exempelvis på en telekomswitch som finns i Denver på 1 600 m höjd över havet och som innehåller 64 FPGA per system. Data för 0,22 µm-kretsar visar en störningsfrekvens på 1,05 × 10-4 störningar per 1M-grinds SRAMFPGA och dag. Med 64 kretsar får man en tid på 3 580 timmar mellan störningarna i systemet. Om man istället extrapolerar data för en 1M-grinds krets i 0,13 µm, får man 4,19 × 10-4 störningar per dag och 895 timmar mellan systemstörningarna. Nästa generations SRAM-FPGA i 0,09 µm-teknologi väntas bli dubbelt så känsliga för enstaka störningar som kretsar i 0,13 µm. Tills nyligen har systemkonstruktörerna lagt ned mest möda på att minska de skador som enstaka störningar orsakar. Tekniker som feldetekterande/felkorrigerande koder och trippelmodulsredundans är effektiva i konventionella minnesarrayer. Men om man konstruerar med SRAM-FPGA ställs man inför ett allvarligare hot. I dessa kretsar lagras konfigurationsdata i vippor uppbyggda med sex transistorer och dessa vippor är bara något mindre känsliga för enstaka störningar än vad DRAM-minnesceller är. Om en neutronträff korrumperar en konfigurationsbit kan hela kretsens funktion komma att förändras. Detta kan orsaka en omfattande datakorruption, som kan ge upphov till oönskade signaler till andra kretsar i systemet. I extrema fall kan hela systemet rubbas eller rent av förstöras. Detekteringsmetoder som bygger på att man med regelbundna intervall återläser konfigurationsdata, kan mata in korrupta data i systemet under lång tid. Dessutom kan de kretsar som hanterar denna återläsning själva drabbas av enstaka störningar eller permanenta skador. I system med trippelmodulsre- ELEKTRONIK I NORDEN 9/2003 Fig 4. När halvledarna får mindre strukturstorlekar, minskar även mängden laddning som krävs för att orsaka datakorruption. När denna laddningsnivå sänks, ökar antalet neutroner som kan stimulera en sådan korruption exponentiellt. Här visas effekten av alfapartiklar som funktion av mängden isotoper i kapselmaterialen. dundans på kortnivå använder man tre uppsättningar av samma konstruktion. En kretsfunktion som arbetar med majoritetsval garanterar att data som korrumperats av enstaka störningar upp- täcks innan de kan vidarebefordras genom resten av systemet. De flesta voteringskretsar är byggda i 37 PROGRAMMERBAR LOGIK Neutroner... Forts från föregående sida en teknologi som motstår enstaka störningar. Om ett FPGA-konfigurationsfel upptäcks, måste man göra en refresh. Denna process kan ta hundratals millisekunder och den kan avbryta hela systemets operation. Dessutom ger trippelmodulsredundans större kretskomplexitet och man får extrakostnader i form av komponentantal, kortutrymme och effektförbrukning. Hittills har enstaka störningar främst associerats till rymdsystem, som är utsatta för höga strålningsnivåer på hög höjd eller ute i rymden. Idag har övergången till mindre kretsgeometrier orsakat liknande hot i markbaserade system som innehåller SRAM-baserade FPGA. I sådana system där hög tillförlitlighet är en viktig faktor, måste man försäkra sig om att FPGA-kretsarna fungerar riktigt med hjälp av kostsamma metoder för felkorrigering. Genom att ersätta SRAMFPGA med flash- eller antifusebaserade programmerbara kretsar, kan man slippa undan dessa krav på felkorrigering. Flashbaserade FPGA måste utsättas för mycket högre strålningsnivåer för att enstaka störningar skall uppstå, jämfört med motsvarande SRAM-baserade kretsar. Antifuse-baserade kretsar är hårdvirade och därmed immuna mot denna typ av fel. Actel erbjuder kommersiellt klassade kretsar med upp till två miljoner ekvivalenta grindar som motstår neutronbombardemang av sådan styrka som man normalt träffar på i jordens atmosfär, utan att förlora några konfigurationsdata. För driftskänsliga militäroch rymdtillämpningar omfattar Actels sortiment kretsar som sträcker sig från Mil-Std 883 över strålningstoleranta till strålningshärdade kretsar som klarar drift i rymdmiljö i över 15 år. 38 ELEKTRONIK I NORDEN 9/2003