Scantest versus BIST: patroongeneratie, tester, doel en extra logica vergeleken
Bij een scantest worden de flipflops in de chip aan elkaar gekoppeld tot schuifregisters (scanketens); een externe tester schuift testpatronen naar binnen, haalt de respons van de schakeling naar buiten en vergelijkt die met de verwachte waarden. De patronen worden door ATPG-tools uit de netlijst gegenereerd. Bij BIST worden een schakeling die patronen maakt en een schakeling die het resultaat beoordeelt in de chip ingebouwd, zodat de chip zichzelf test. Bij productietests is de combinatie van scantests voor logica en memory BIST voor ingebouwd geheugen gebruikelijk, en BIST kan ook na levering voor zelfdiagnose worden gebruikt.
| Kenmerk | Scantest | BIST (built-in self-test) |
|---|---|---|
| Basisidee | Flipflops worden tot scanketens gekoppeld; patronen worden ingeschoven, de schakeling draait één keer en het resultaat wordt uitgeschoven en vergeleken | Een schakeling die patronen maakt en een schakeling die de respons beoordeelt zijn in de chip ingebouwd; de chip test zichzelf en geeft een geslaagd/gezakt-oordeel |
| Patroongeneratie | ATPG maakt uit de netlijst deterministische patronen gericht op stuck-at-fouten en transitievertragingsfouten | Logic BIST maakt pseudowillekeurige patronen met een LFSR. Memory BIST maakt adressen en data volgens vaste procedures zoals marchtests |
| Beoordeling van de respons | De tester vergelijkt met de verwachte waarden (bij testcompressie worden in de chip gecomprimeerde responsen vergeleken) | Logic BIST comprimeert de respons met een MISR en vergelijkt de signatuur met de verwachte waarde. Memory BIST controleert gelezen waarden direct met een comparator |
| Afhankelijkheid van de tester | Patronen en verwachte waarden staan in het testergeheugen. Er zijn scanpinnen en voldoende testerprestaties en geheugencapaciteit nodig | Alleen een startopdracht en het uitlezen van het resultaat (bijv. via JTAG); een eenvoudige tester volstaat |
| Belangrijkste doel | Logicaschakelingen (combinatorische logica en flipflops) | Memory BIST: ingebouwde geheugens zoals SRAM. Logic BIST: logicaschakelingen |
| Foutdekking | Gemakkelijk hoog, omdat patronen gericht op specifieke fouten worden gemaakt | Bij logic BIST blijven fouten die met pseudowillekeurige patronen moeilijk te vinden zijn vaak over, wat wordt aangevuld met testpunten. Memory BIST haalt een hoge dekking met procedures die zijn afgestemd op foutmodellen voor geheugen |
| Extra logica | Flipflops worden vervangen door scanflipflops (met een omschakelmultiplexer) en de ketenbedrading wordt toegevoegd | Patroongenerator, responscompressor en besturingslogica nodig. Bij logic BIST moet de schakeling bovendien zo worden aangepast dat er geen onbepaalde waarden (X) ontstaan |
| Testtijd | Lange ketens maken het schuiven tijdrovend, en de snelheid van de tester is een beperking. Testcompressie verkort dit | Met de klok op de chip kunnen veel patronen snel worden doorlopen. Logic BIST vraagt wel veel patronen |
| Wanneer gebruikt | Vooral bij wafertests en eindtests in de productie. Ook voor foutdiagnose van defecte chips | Naast productietests ook voor inspectie na montage op de printplaat en voor zelfdiagnose na levering, bijvoorbeeld bij het inschakelen |
De getalswaarden zijn typische ordegroottes en variëren per procesgeneratie en product.