Rakendus-spetsiifiline integraallülitus

Rakendusspetsiifiline integraallülitus (ingl k Application Specific Integrated Circuit, lühend ASIC) on integraallülitus, mis ei ole üldotstarbeline, vaid omab kindlat eesmärki.

Tegemist on väga keeruliste kiipidega, mis kasutavad üle 100 miljoni loogikalülituse.
ASIC kiibid on tihti süsteemikiibid, mis koosnevad suurtest plokkidest nagu mikroprotsessorid ja mälud. 
Nende funktsionaalsuse defineerimiseks kasutatakse tihti riistvarakirjelduse keeli nagu näiteks VHDL või Verilog.
Kuna eesmärgipärased integraallülitusi on kulukas toota kasutatakse prototüüpimisel enamasti FPGA-sid. Alles seadme masstootmisel muutub efektiivsemaks eesmärgipärase integraallülituse kasutamine.
 Kasutusalad 
Rakendusespetsiifiliste integraallülituste kasutusala on väga lai, aga peamiselt kasutatakse neid kõrgtasemeliste kiipide masstootmisel, kus on oluline elektriline jõudlus, kiibi suurus ja transistoride tihedus.

Levinud kasutusvaldkonnad:
 Kommunikatsioon
 Krüptograafia
 Meditsiin
 Autotööstus ja avioonika
 Robootika

Rakendusespetsiifilised integraallülitused on laialdaselt levinud ka tarbeelektroonikas erinevates kaamerates ja mängukonsoolides.
 Disaini voog 
Rakendusespetsiiflilise integraallülituse kavandamine ja arendamine koosneb mitmest protseduurist: 

 Nõuete loomine – esimene samm, mis loob riistvarakirjelduse keele abil kogu loogika disaini 
 Loogika süntees – loogikaelementide ja nende ühenduste kirjeldamine
 Süsteemi partitsioonid – süsteemi jagamine plokkideks
 Paigutuse eelne simulatsioon – simulatsiooni test vigade otsimiseks
 Alus planeerimine – kõigi vooluahela plokkide paigutamine kiibil
 Paigutamine – elementide paigutamine ploki sees
 Ühendamine – plokkide ja elementide vahele ühenduste loomine
 Paigutuse järgne simulatsioon – simulatsiooni test süsteemi töö korrektsuse hindamiseks
 Disainireeglite kontrollimine – viimane samm, mis kontrollib kogu vooluahela paigutust ning selle vastavust seatud reeglitele
 Disaini tehnoloogiad 

Rakendusespetsiifilisi integraallülitusi jaotatakse vastavalt sellele, kui palju saab programmeerija kiipi kohandada. 
Sellest tuleneb ka esimene suurem jagunemine programmeeritavateks ja mitteprogrammeeritavateks integraallülitusteks. 
Prototüüpimise etapis kasutatakse programmeeritavaid integraallülitusi, et vigade korral võimaldada parandamist samal kiibil. 
Programmeeritavate rakendusespetsiifiliste integraallülituste alla kuuluvad FPGA-d ja programmeeritavad loogikaseaded.

Mitteprogrammeeritavad seadmed jagunevad edasi selle põhjal kui üldise disainiga on tegu. 
Kui disain koosneb üldkasutatavatest osadest, siis loetakse seda pool-kohandatud disainiks, aga kui disain luuakse algusest lõpuni eesmärgist lähtuvalt, siis on tegemist kohandatud disainiga.

Poolkohandatud disainiga seadmete puhul eristatakse kahe peamist disaini tehnoloogiat: standardsed loogikaplokid ja väratite massiiv. 
Mõlemad jagunevad omakorda erinevateks alamtehnoloogiateks nagu kanaliga ja kanalita standardsed loogikaplokid, Standard ja makro plokkidega väratite massiivid

Täielikult kohandatud disainiga seadmed on väga erinevad, kuna neil puuduvad ühiselt kasutatavad alusplokid. 
Sellepärast on ka nende tootmine ajakulukam, aga tänu sellele on võimalik saada maksimaalselt optimeeritud disaini. 
Täielikult kohandatud seadete alla kuuluvad ka mitme projekti toorikud. 

 Programmeeritav vantiilmaatriks ehk FPGA 
FPGA (Field Programmable Gate Array) on programmeeritav rakendusespetsiifiline integraallülitus, mis võimaldab kasutajal ise loogikaplokkide vahelisi ühendusi programmeerida. Need koosnevad programmeeritavatest loogikakomponentidest ja ühendustest, millega on võimalik luua keerulisi arhitektuure. FPGA-del ei ole valmistamise ajal kindlat funktsiooni, aga kuna nende programmeerimisel muutub lisaks tarkvarale ka riistvara, siis loetakse neid tihti rakendusespetsiifiliste integraallülituste hulka.

+ Rakendusespetsiifilise integraallülituse ja FPGA võrdlus  Rakendusespetsiifiline integraallülitus  FPGA Programmeeritav  Ei  Jah Võimaldab funktsionaalsust muuta  Ei  Jah Tootmiskogus  Suur  Väike Energiakulu  Väiksem  Suurem Kasutusvaldkond  Spetsiifilistes rakendustes  Prototüüpimiseks

 Programmeeritav loogikaseade 

Programmeeritav loogikaseade (Programmable Logic Device ehk PLD) on teine programmeeritav rakendusespetsiifiline integraallülitus, mis on valmistamise ajal määramata funktsiooniga. PLD programmeerimisel muudetakse seadmes olevate väratite vahelisi ühendusi ning sellega programmeeritakse ümber ka loogikaseade eesmärk. Komplekssed programmeeritavad loogikaseadmed sarnanevad FPGA-dega, aga neil on vähem loogikaväratite jadasid ja loogikaelementide vahelisi ühendusi.

 Standardsed loogikaelemendid 
ingl k Standard Cell

Standardsetel loogikaelementidel põhinevad rakendusespetsiifilised integraallülitused kasutavad varem disainitud loogikaelemente, mis kannavad endas Boole’i loogika või salvestusfunktsioone.
Boole'i loogika edasiandmiseks kasutatakse erinevaid loogikavärateid, mis võimaldavad teha aritmeetilisi operatsioone (liitmine, lahutamine, täiendkood), bitipõhiseid loogilisi operatsioone (NING, VÕI, eksklusiivne-VÕI, pöördkood) ja bitinihke toiminguid (aritmeetiline ja loogiline nihe, pööramine). Salvestusfunktsioonina mälu tekitamiseks kasutatakse trigereid (ingl k flip-flop). 

Üldiselt kasutatavad funktsioonid on standardsete loogikaelementidena kataloogi salvestatud, kust neid saab integraallülitusi disainides importida ja sisenditena kasutada. Kiipi disainides paigutatakse samasuguse suurusega standardsed loogikaelemendid korrektselt ridadena üksteise kõrvale ning ühendatakse omavahel keeruliste funktsioonide loomiseks.

 Väratite massiiv 
ingl k Gate Array

Väratite massiivid on rakendusspetsiifilised integraallülitused, mis kasutavad eelnevalt defineerutud ränikettal paiknevaid n- ja p-tüüpi transistoride massiive. Kasutaja ei saa ränikettal olevate transistoride paigutust muuta, aga ta saab nende peal oma soovitud ühendused defineerida, mille põhjal lõplikud plaadid toodetakse.

Väratite massiivid jagunevad kanalitega ja kanaliteta massiivideks, mis erinevad üksteisest ühenduste paiknemise poolest. Kanalitega väratite massiividel luuakse loogikaelementide vahelised ühendused loogikaelementide ridade vahel asuvates kanalites. See tähendab, et transistori ridade vahele jäetakse rohkem ruumi ühenduste vedamiseks. Kanaliteta väratite massiivide puhul paiknevad ühendused loogikaelementide peal asuvas metallikihis. Tänu sellele ei pea transistoride vahele vaba ruumi jätma, aga kasutamata jäävad transistorid, mille peal paiknevad teiste ühendused.
 Kohandatud disain 

Kohandatud disainiga (custom design) rakendusespetsiifilistel integraallülitustel on kohandatud loogikaelemendid ning kõik kohandatud kihid. Kohandatud disain võtab palju rohkem aega kui poolkohandatud disain, kuna ei ole valmisolevaid tükke millest kiip kokku panna, vaid kõik osad disainitakse käsitsi. Terve integraallülituse käsitsi disainimisel on võimalik lisada analoog komponente, optimeeritud mäluelemente ja mehaanilise struktuuri osasid, mida poleks võimalik ainult ühendustega lisada. Pika disainiaja ja käsitsi disainitud komponentide kasutamine muudab kohandatud disaini pool-kohandatud disainist palju kallimaks.
Üheks sobivaks kohandatud disaini näiteks on mikroprotsessorid. 

 Mitme projekti toorik 
ingl k Multi-Project Wafers

Mitme projekti toorikud on ränikettad, millel integreeritakse mitu erinevat rakendusespetsiifilist disaini. See aitab vähendada disainide maksuvust jagades maskikomplekti kulud tellijate vahel ära. Soodsama disain muudab kohandatud disaini tavakasutajale kergemini kättesaadavaks tänu mitme prokjekti toorikute kasutamisele.

 Vaata ka 
 FPGA
 Integraallülitus
 Mikroprotsessor
 Programmeeritav loogikaseade
 Riistvarakirjelduse keel
 Süsteemikiip

 Viited 

Kategooria:Elektroonikakomponendid