Gränsskanning

JTAG Register.svg

Boundary scan är en metod för att testa sammankopplingar (trådlinjer) på kretskort eller delblock inuti en integrerad krets . Boundary scan används också i stor utsträckning som en felsökningsmetod för att titta på integrerade kretsstiftstillstånd, mäta spänning eller analysera subblock inuti en integrerad krets.

Joint Test Action Group (JTAG) utvecklade en specifikation för gränsavsökningstestning som standardiserades 1990 som IEEE Std. 1149.1-1990. 1994 tillkom ett tillägg som innehåller en beskrivning av Boundary Scan Description Language (BSDL) som beskriver gränsskanningslogikinnehållet i IEEE Std 1149.1-kompatibla enheter. Sedan dess har denna standard antagits av elektronikföretag över hela världen. Gränsskanning är nu mest synonymt med JTAG.

Testning

Gränsavsökningsarkitekturen tillhandahåller ett sätt att testa sammankopplingar (inklusive kluster av logik , minnen , etc.) utan att använda fysiska testsonder ; detta innebär tillägg av minst en testcell som är ansluten till varje stift i enheten och som selektivt kan åsidosätta funktionen hos det stiftet. Varje testcell kan programmeras via JTAG-avsökningskedjan för att driva en signal på ett stift och därmed över ett individuellt spår på kortet; cellen vid destinationen för kortets spårning kan sedan avläsas, vilket verifierar att kortets spårning korrekt ansluter de två stiften. Om spåret kortsluts till en annan signal eller om spåret är öppet, visas inte det korrekta signalvärdet vid destinationsstiftet, vilket indikerar ett fel.

On-chip infrastruktur

För att tillhandahålla gränsavsökningskapacitet lägger IC-leverantörer till ytterligare logik till var och en av sina enheter, inklusive skanningsceller för var och en av de externa spåren. Dessa celler kopplas sedan samman för att bilda det externa gränsavsökningsskiftregistret (BSR), och kombineras med JTAG Test Access Port (TAP) styrenhetsstöd som omfattar fyra (eller ibland fler) ytterligare stift plus styrkretsar.

Vissa TAP-styrenheter stöder skanningskedjor mellan logiska designblock på chipet, med JTAG-instruktioner som fungerar på dessa interna avsökningskedjor istället för BSR. Detta kan göra det möjligt för de integrerade komponenterna att testas som om de vore separata chips på ett kort. On-chip-felsökningslösningar är tunga användare av sådana interna skanningskedjor.

Dessa design är en del av de flesta Verilog- eller VHDL -bibliotek. Omkostnaden för denna extra logik är minimal och är i allmänhet väl värd priset för att möjliggöra effektiv testning på styrelsenivå.

För normal drift är de tillagda gränsavsökningsspärrcellerna inställda så att de inte har någon effekt på kretsen och är därför i praktiken osynliga. Emellertid, när kretsen sätts i ett testläge, möjliggör låsningarna en dataström att skiftas från en låskrets till nästa. När ett komplett dataord har flyttats in i kretsen som testas kan det låsas på plats så att det driver externa signaler. Om man skiftar ordet returneras vanligtvis ingångsvärdena från signalerna som är konfigurerade som ingångar.

Testmekanism

Eftersom cellerna kan användas för att tvinga in data i tavlan kan de ställa in testförhållanden. De relevanta tillstånden kan sedan matas tillbaka till testsystemet genom att återklocka dataordet så att det kan analyseras.

Genom att använda denna teknik är det möjligt för ett testsystem att få teståtkomst till ett kort. Eftersom de flesta av dagens kort är mycket tätbefolkade med komponenter och spår är det mycket svårt för testsystem att fysiskt komma åt de relevanta områdena på tavlan för att de ska kunna testa tavlan. Boundary scan gör åtkomst möjlig utan att alltid behöva fysiska sonder.

I modern chip- och kortdesign är Design For Test en betydande fråga, och en vanlig designartefakt är en uppsättning gränsavsökningstestvektorer, möjligen levererade i Serial Vector Format ( SVF) eller ett liknande utbytesformat.

JTAG testoperationer

Enheter kommunicerar med världen via en uppsättning in- och utgångsstift. I sig själva ger dessa stift begränsad insyn i enhetens funktion. Enheter som stöder gränsavsökning innehåller emellertid en skiftregistercell för varje signalstift i enheten. Dessa register är anslutna i en dedikerad väg runt enhetens gräns (därav namnet). Vägen skapar en virtuell åtkomstmöjlighet som kringgår de normala ingångarna och ger direkt kontroll över enheten och detaljerad synlighet vid dess utgångar. Innehållet i gränsskanningen beskrivs vanligtvis av tillverkaren med hjälp av en delspecifik BSDL- fil.

Bland annat kommer en BSDL-fil att beskriva varje digital signal som exponeras genom stift eller kula (beroende på chipförpackningen) som exponeras i gränsskanningen, som en del av dess definition av Boundary Scan Register (BSR). En beskrivning av två bollar kan se ut så här:

    
    
    
    
    
     "541 (bc_1, *, kontroll, 1),"  &  "542 (bc_1, GPIO51_ATACS1, utgång3, X, 541, 1, Z),"  &  "543 (bc_1, GPIO51_ATACS1, ingång, X),"  &  "544 (bc_1, *, kontroll, 1),"  &  "545 (bc_1, GPIO50_ATACS0, output3, X, 544, 1, Z),"  &  "546 (bc_1, GPIO50_ATACS0, input, X),"  & 

Det visar två bollar på ett mellanstort chip (gränsavsökningen inkluderar cirka 620 sådana linjer, i ett BGA -paket med 361 bollar), som var och en har tre komponenter i BSR:en: en kontroll som konfigurerar bollen (som ingång, utgång, vilken drivnivå, pullups, pulldowns och så vidare); en typ av utsignal; och en typ av insignal.

Det finns JTAG-instruktioner för att SAMPLA data i det gränsavsökningsregistret, eller FÖRLADDA den med värden.

Under testning kommer I/O-signaler in och lämnar chippet genom gränsavsökningscellerna. Testning involverar ett antal testvektorer, som var och en driver några signaler och sedan verifierar att svaren är som förväntat. Gränsavsökningscellerna kan konfigureras för att stödja extern testning för sammankoppling mellan chips (EXTEST-instruktion) eller intern testning för logik inom chipet (INTEST-instruktion).

Styrelsen testar infrastruktur

Typiskt high-end kommersiella JTAG-testsystem tillåter import av design-"nätlistor" från CAD/EDA-system plus BSDL-modeller av gränsavsökning/JTAG-kompatibla enheter för att automatiskt generera testapplikationer. Vanliga typer av test inkluderar

  • Scan-path "infrastruktur" eller integritet
  • Gränsavsökningsenhets stift till gränsavsökningsenhetsstift "interconnect"
  • Gränsavsökningsstift till minnesenhet eller enhetskluster (SRAM, DRAM, DDR etc.)
  • Godtycklig logikklustertestning

När de används under tillverkningen, stöder sådana system även icke-testade men anslutna applikationer såsom in-system programmering av olika typer av flashminnen: NOR, NAND och seriellt (I2C eller SPI).

Sådana kommersiella system används av testproffs och kostar ofta flera tusen dollar för ett fullfjädrat system. De kan inkludera diagnostiska alternativ för att exakt lokalisera fel som öppna kretsar och kortslutningar och kan också erbjuda schematiska eller layoutvisare för att avbilda felet på ett grafiskt sätt. Tester som utvecklats med sådana verktyg kombineras ofta med andra testsystem såsom in-circuit testers (ICT) eller funktionella korttestsystem.

Felsökning

Gränsskanningsarkitekturen tillhandahåller också funktionalitet som hjälper utvecklare och ingenjörer under utvecklingsstadier av ett inbäddat system. En JTAG Test Access Port (TAP) kan förvandlas till en låghastighets logikanalysator .

Historia

James B. Angell vid Stanford University föreslog serietestning.

IBM utvecklade nivåkänslig skanningsdesign (LSSD).

Se även

externa länkar