8.3. AZ ASIC TESZTELÉSE
FUNKCIONÁLIS TESZT
Az eddigiekben a terv helyességének vizsgálatára szimulációkat javasoltunk. A VLSI eszközök (közöttük az ASIC) tesztelése egy sokrétűbb feladat. Az ASIC modellezése és a terv vizsgálata különböző absztrakciós szinteken történhet. A következő szinteket szokásos megkülönböztetni: - Rendszer szint: az eszköz működését a hardvernyelvi leírás alapján tanulmányozhatjuk. - RTL (register transfer level) szint: az eszközt komplex funkcionális egységek (regiszterek, multiplexerek, ALU, számlálók, dekóderek stb. kapcsolataként modellezzük. - Logikai szint: az ASIC működését Boole függvények, kapuk, flip-‐flopok felhasználásával írjuk le. Ez a szint alkalmas az időzítések vizsgálatára. - Áramköri szint: a leírás tranzisztorok segítségével történik, eredményként konkrét áramokat és feszültségeket kapunk. Nem csak a tervezés során csúszhatnak be hibák, a gyártás sem tökéletes. A gyártás befejeztével fizikailag ellenőrizni kell az ASIC működését. A vizsgálandó jellemzők három csoportba sorolhatók: - logikai funkció, - sebesség, - DC paraméterek. Szokásos úgynevezett strukturális verifikációt is végezni. Ez az áramköri tervnek a kész áramkörrel történő összehasonlítását jelenti. Az összes tesztelési eljárást az ábra foglalja össze. SPECIFIKÁCIÓ LOGIKAI TERVEZÉS ? VERIFI KÁCIÓ ÁRAMKÖRI TERV ? STRUK TURÁLIS GYÁRTÁS ? TESZT
TERMÉK
A LOGIKAI VERIFIKÁCIÓ Az ASIC tervező rendszerint nem ereszkedik a logikai szint alá. A logikai szimulációk az áramkörök késéseit különböző közelítő módokon veszik figyelembe: - nem foglalkozunk a késésekkel, - egységnyi késést feltételezünk minden logikai elemnél, - névleges késést feltételezünk (az áramköri szimulációkból kapott értékek alapján). A legegyszerűbb esetben a logikai szimulátor csak a logikai viszonyokat figyeli. Ha egy logikai kapu bemenetén változás történik, a szimulátor kiértékeli az új kimeneti állapotot. Ha ez a kimenet egy másik logikai kapu bemenete, annak a kimenetét is ki kell értékelni. Mindez nulla időben történik.
Egységnyi késés feltételezése lehetővé teszi, hogy idődiagramok formájában szemléljük a logikai kapuk működését. A névleges késleltetések alkalmazása sokkal pontosabb eredményeket ad. Ha egy logikai kapu kimenetének kiértékelésekor változás mutatkozik, akkor azt előjegyezzük az adott kapu késleltetésének megfelelő időpontra. Az előjegyzéseket beiktatjuk egy várólistába, amely egy, a programozás-‐technikában használt csatolt lista (linked list). A szimulátor ezt a várólistát dolgozza fel. SPECIFIKÁCIÓ FUNKCIÓK ÁK. TERVEZÉS GYAKOROLTATÁSA VERIFIKÁCIÓS HÁLÓZAT SZEKVENCIA LEIRÁS SZIMULÁCIÓ O.K. A STRUKTURÁLIS TESZT A hálózatleírásból indulunk ki, a leírásnak megfelelően a strukturális teszthez hibamodellt definiálunk. A hálózatleírás alapján megadjuk a lehetséges hibák listáját, majd ezekre sorban a vezérlés/megfigyelés elv alapján tesztvektorokat generálunk. HÁLÓZATLEÍRÁS TESZT GYÁRTÁS GENERÁLÁS STRUKTURÁLIS TERMÉK VEKTOROK
TESZT
O.K.
SELEJT
A FUNKCIONÁLIS TESZT Itt funkciókat vizsgálunk, nem hibákat. Megfelelő gerjesztéseket (stimulus) adunk a bemenetekre és vizsgáljuk a kimeneteket. Ezt nevezik a funkciók gyakoroltatásának. Az eljárást az alábbi folyamatábra szemlélteti.
SPECIFIKÁCIÓ
FUNKCIÓK
GYAKOROLTATÁSA
FUNKC. TESZT
TERMÉK
SZEKVENCIA
TESZT
O.K.
SELEJT
A TESZTELÉST LEHETŐVÉ TEVŐ TERVEZÉS Az ASIC-‐et könnyen tesztelhetőre kell tervezni. A bonyolult eszközöknél a kapu/kivezetés arány kedvezőtlen, ez miatt a chip belseje mind vezérelhetőség-‐, mind pedig megfigyelhetőség szempontjából nehezen hozzáférhető. A könnyebb tesztelhetőség elérhető, de ára van: bonyolítja a tervezést és a gyártást. Rendszerint néhány kivezetést a tesztelésre kell tartalékolni, ugyanakkor a normál funkciókon túl járulékos elemeket kell beiktatni a teszteléshez. A tesztelés szisztematikus eszközei a scan path módszer és a peremfigyelés (boundary scan). A scan path módszert az alábbi ábra szemlélteti. Az öt flip-‐flop egy logikai automata memóriarésze. 2/1-‐es multiplexereket alkalmazva elérhető, hogy a flip-‐flopok ne az automata részeiként működjenek, hanem léptetőregiszterként, amelybe soros beírást végezhetünk a SERIN bemeneten keresztül, ugyanakkor a tartalom a SEROUT kimenten kiolvasható. A hardver ilyen módosításával az automata tetszőleges állapotba hozható, majd lépésenként kivizsgálható a további viselkedése. Q SEROUT Q Q Q Q Q QN QN QN QN QN CLK D D D D D SERIN SCAN D A peremfigyeléshez az ASIC belső magja (a tervezett funkciókat megvalósító rész) és a kivezetések közé boundary scan cellákat építenek be.
CHIP MAG TAP KONTROLLER TEST ACCESS 4 PORT TEST BUS A cellák a jeleket több irányban tudják továbbítani és flip-‐flopot is tartalmaznak. A kommunikációt a TAP (test access port) kontroller végzi. Ennek mindössze négy csatlakozási pontja van a külvilág felé: TCK test clock TMS test mode select TDI test data in TDO test data out Ezen keresztül lehet az ASIC regisztereibe tartalmat beírni illetve onnan tartalmat kiolvasni.