Studenti: Risti ć Goran brd 10067 Filipović Darko brd 9551

Preview:

DESCRIPTION

Studenti: Risti ć Goran br.ind 10067 Filipović Darko br.ind 9551. Boundary-Scan Test. Potreba za testiranjem. Trenutna situacija Kako štampane ploče postaju sve kompleksnije, potreba za njihovim testiranjem postaje sve aktuelnija . - PowerPoint PPT Presentation

Citation preview

Studenti:Ristić Goran br.ind 10067

Filipović Darko br.ind 9551

Trenutna situacija

Kako štampane ploče postaju sve kompleksnije, potreba za njihovim testiranjem postaje sve aktuelnija .

Sa druge strane, elektronska integrisana kola i sistemi su sve složeniji,

metodi za njihovo testiranje sve kompleksniji, a uređaji za njihovo automatsko testiranje sve skuplji.

Pitamo se : Šta je rešenje?

Potreba za testiranjem

Jedno od rešenja je : Automatsko testiranje po niskoj ceni

Jedna od tehnika koja ispunjava ovaj zahtev je BST

Šta je BST ? Boundary-Scan test (BST) je tehnika koja nudi mogućnost efikasnog

testiranja komponenti na štampanim pločama.

BST omogućava: -- dovodjenje test signala na ulaze kola serijskim pomeranjem, bez

ometanja normalnog rada kola -- obradu tih podataka njihovim propuštanjem kroz kolo -- serijsko pomeranje dobijenog rezultata u jedinicu u kojoj se

proverava da li je dobijena vrednost tačna.

Rešenje

Adhok - Projektovanje kola za testiranje koje je prilagođeno samo za konkretno rešenje kola koje se testira

Scan metode – Bazira se na lancu pomeračkih registara. Primenljivo je na različita rešenja

Build-In Self Test (BIST) – Testiranje se zasniva na korišćenju specijalnih kodova za konkurentnu detekciju i korekciju grešaka (Hamming-ovi kodovi, Bose-Lin kodovi, Berger-ovi kodovi, kodovi parnosti, itd.)

Podela metoda za testiranje

Upršćena šema Bondary-Scan arhitekture

Blok DUT (Device Under Test) - logika (IC ili sistem) koji se testira.

UCi , i=1,..,n - ulazne ćelije

ICj j=1,..,m – izlazne ćelije

Blok TAP ( Test Access Point ) - upravljačka logika koja definiše režim rada: normalni ili testiranje.

Paralelni ulazi - dovode informacija koja se procesira u normalnom

režimu rada

Paralelni izlazi - dobija se rezultat

Serijski ulazi – dovodi se test sekvenca

Serijski izlazi – prihvata se rezultat testiranja

Funkcionalnost ulazno-izlaznih portova kod BST-a

Testiranje DUT-a pomoću BST-a-opšta blok šema-

Serijski ulaz – Dovode se podaci kojima proveravamo rad kola

Normal/Test - Bira režim rada

Izbor ulaznog signala - Postavlja se na 1 kod serijskog unosa podatka

Izbor izlaznog signala – Postavlja se na 1 kod prihvatanja podataka na izlazu

Definicija signala BST-a & DUT-a

Serijski izlaz – Dobijeni rezultat se serijski prosleđuju TAP-u

CLK – Taktna pobuda

PX,...,PY – Paralelni ulaz (prihvataju se ulazni operandi X i Y)

P1,...,PN – Paralelni izlaz (rezultat operacije Z)

Signali sa predhodne slike(nastavak)

Definicija signala BST-a & DUT-a(nastavak)

Struktura BST ćelije

PARALELNI ULAZ - Dovodi se jednobitna informacija : a) procesira se od strane DUT-a kada je ćelija tipa UCi b) procesira se od strane DUT-a kada je ćelija tipa ICj

SERIJSKI ULAZ –Dovodi se jednobitna informacija koja se koristi za potrebe testiranja DUT-a.

PARALELNI IZLAZ - Ovi signali se interpretiraju na sledeća dva načina: a) za ćelije tipa UCi signali na ovim izvodima su pobudni signali DUT-a b) za ćelije tipa ICj signali na ovim izvodima su izlazni signali sistema

Funkcija ulaza i izlaza kod BS ćelije

SERIJSKI IZLAZ - Prosleđuje jednobitnu informaciju narednoj ćeliji u lancu BST-a

CLOCK - Signal taktne pobude.

ULAZ NA PARELELNI IZLAZ - Upravljački signal koji vrši selekciju pobude DUT-a (za UCi ), ili izbor izlaza DUT-a (za ICj)

ULAZ NA SERIJSKI IZLAZ - Upravljački signal koji vrši selekciju signala na serijskom izlazu

Funkcija ulaza i izlaza kod BS ćelije (nastavak)

libary IEEE;use IEEE.std_logic_1164.all;

--Definisanje entiteta tj definisanje signala ako ćeliju posmatramo kao crnu kutiju--

entity jednacelija is port ( clk : in STD_LOGIC; paralelni_ulaz : in STD_LOGIC; seriski_ulaz : in STD_LOGIC; ulaz_na_paralelni_izlaz : in STD_LOGIC;

ulaz_na_seriski_izlaz : in STD_LOGIC;paralelni_izlaz : out STD_LOGIC; seriski_izlaz : out STD_LOGIC );end jednacelija;

--Arhitektura ćelije definisanje signala i funkcija koju obavlja kolo--

architecture jednacelija of jednacelija is

component flipflop port ( D : in STD_LOGIC; clk : in STD_LOGIC; Q : out STD_LOGIC ); end component;component mux port ( izbor : in STD_LOGIC; ulaz0 : in STD_LOGIC; ulaz1 : in STD_LOGIC; izlaz : out STD_LOGIC); end component;

VHDL kôd Boundary-Scan ćelije

signal pom_sulaz : STD_LOGIC;

begin

-- Povezivanje-- ff : flipflop

port map( D => seriski_ulaz, Q => pom_sulaz, clk => clk );

mux_p_izlaz : mux

port map( izbor => ulaz_na_paralelni_izlaz, izlaz => paralelni_izlaz,

ulaz0 => paralelni_ulaz, ulaz1 => pom_sulaz );

mux_s_izlaz : mux

port map( izbor => ulaz_na_seriski_izlaz, izlaz => seriski_izlaz,

ulaz0 => paralelni_ulaz, ulaz1 => pom_sulaz );

end jednacelija

VHDL kôd Boundary-Scan ćelije(nastavak)

Struktura multipleksera BS ćelije

--Povezivanje signala sa već postojećim signalima od kojih se mux sastoji-- begin i0 : I_kolo port map( izlaz => pom0, ulaz1 => ulaz0, ulaz2 => pom );

i1 : I_kolo port map( izlaz => pom1, ulaz1 => ulaz1, ulaz2 => izbor );

ili : ILI_kolo port map( izlaz => izlaz, ulaz1 => pom1, ulaz2 => pom0 ); inv : INVERTOR port map( izlaz => pom, ulaz => izbor );

VHDL kôd multipleksera BS ćelije

Struktura flip-flopa BS ćelije

VHDL kôd flip-flopa BS ćelije

--Povezivanje signala sa već postojećim signalima od kojih se D ff sastoji--

inv : INVERTOR port map( izlaz => pom1, ulaz => clk );

inv1 : INVERTOR port map( izlaz => pom2, ulaz => pom1 );

master : lec port map( D => D, Q => pomQ, clk => pom1 );

slave : lec port map( D => pomQ, Q => Q, clk => pom2 );

Testiranje DUT-a

CLOCK (ulazni) - 1-bit

NORMAL / TEST (ulazni) - 1-bit

IZBOR ULAZNOG SIGNALA (ulazni) - 1-bit

IZBOR IZLAZNOG SIGNALA (ulazni) - 1-bit

SERIJSKI ULAZ (ulazni) - 1-bit

SERIJSKI IZLAZ (izlazni) - 1-bit

PARALELNI ULAZ (ulazni) – n bitova

PARALELNI IZLAZ (izlazni) – m bitova

Ulazi i izlazi BST arhitekture

Na Serijski ulaz (vidi sliku) dovode se test sekvenca u obliku serijske povorke bitova. Za vreme unosa test sekvence DUT i dalje radi u normalnom režimu, tako da je unos serijskog podatka potpuno transparentan na rad kola.

Boundary-Scan arhitekturi se izdaje nalog za prelazak u Test režim rada. Paralelno se prosleđuje iz UCi ćelija (vidi sliku 1) prethodno serijski uneta test sekvenca na ulaze DUT-a sa prednjom ivicom Test impulsa. Sa zadnjom impulsom Test impulsa prihvata se odziv DUT-a od strane ICj ćelija. Test režim traje jedan taktni interval. Nakon toga ponovo se prelazi u Normal režim.

Signale Boundary-Scan lanca (UCi i ICj) pomeramo na Serijski izlaz radi potrebe analize. Analizu obavlja logika za analizu rezultata. Upoređivanjem odziva DUT-a sa očekivanim utvrđuje se korektnost rada DUT-a.

Testiranje DUT-a

Interface VHDL-a(ikona za pokretanje waveform-a)

Množač dva neoznačena broja ( X=8, Y=6, Z=14) – Prvi broj je osmobitni,drugi je šestobitni, a rezultat ima 14 bita.

ALU ( X=8, Y=8, Z=8, Cout=1 ) – Dva osmobitna broja na ulazu i osmobitni broj kao rezultat zajedno sa prenosom na izlazu

Dva tipa DUT-a koji se testiraju

Pokrenuti VHDL i učitati Boundary-Scan projekat

Selektovati ime koda na levoj strani ekrana koji želimo da pokrenemo(u ovom slučaju, to je test multipliers.vhd)

Pokrenuti waveform za testiranje

Desnim klikom na waveform - add signals dodati signale sa tabele na sledećem slajdu

Proceduru testiranja sprovesti prema tabeli

Testiranje množača

Tabela testiranja množača

Waveform testiranja množača

Postavili smo stanje signala kao na slici

Uneli za X 00000111 i za Y 000010 Posle prvog kloka množač je izračunao rezultat (stanje na Z). Signali

su dovedeni paralelno na množač i isto tako prosleđeni na izlaz kao da nema kola za testiranje.

Testiramo kolo preko serijskog ulaza Serijski smo uneli prvo šestobitni Y 000100 i osmobitni X 00000101.

Proizvod ova dva broja je 10100. Na obeleženom delu na slici je predstavljen ovaj niz u konkretnom slučaju koji se nalazi na serijskom izlazu.

Objašnjenje

Pokrenuti VHDL i učitati Boundary-Scan projekat

Selektovati ime koda na levoj strani ekrana koji želimo da pokrenemo (u ovom slučaju, to je test alu.vhd)

Pokrenuli waveform za testiranje

Desnim klikom na waveform - add signals dodati signale sa tabele na sledećem slajdu

Proceduru testiranja sprovesti prema tabeli

Testiranje ALU-a

Tabela testiranja ALU-a

Waveform testiranja ALU-a

Postavili smo stanje signala kao na slici

ALU smo postavili za rad u aritmetičkom modu i obavljanje sabiranja ulaza i šiftovanje rezultata u levo za 1

Uneli za X 000000011 i za Y 000000010. Posle prvog kloka množač je izračunao rezultat (stanje na Z) Signali su dovedeni paralelno na ALU i isto tako prosleđeni na izlaz kao da nema kola za testiranje.

Testiramo kolo preko serijskog ulaza Serijski smo uneli Y 00000110 i X 00000111. Na obeleženom delu

na slici je predstavljen rezultat u konkretnom slučaju koji se nalazi na serijskom izlazu.

Objašnjenje

Testiranje širokog spektra komponenti i ploča - univerzalnost

Jednostavnost implementacije

Univerzalnost + jednostavnost implementacije = niska cena

Zbog prednosti koje Boundary-Scan nudi ova metoda provere ispravnosti rada

kola se veoma često koristi u ugradjenim računarskim sistemima.

Zaključak – prednosti BST-a