320 likes | 435 Views
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 .
E N D
Studenti:Ristić Goran br.ind 10067Filipović 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 . 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?
Rešenje 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.
Podela metoda za testiranje 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.)
Funkcionalnost ulazno-izlaznih portova kod BST-a 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
Testiranje DUT-a pomoću BST-a -opšta blok šema-
Definicija signala BST-a & DUT-a 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
Signali sa predhodne slike (nastavak) Definicija signala BST-a & DUT-a (nastavak) 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)
Funkcija ulaza i izlaza kod BS ć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 (nastavak) 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
VHDL kôd Boundary-Scan ćelije 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 (nastavak) 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 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 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);
Ulazi i izlazi BST arhitekture 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
Testiranje DUT-a • 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 seizdaje 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.
Interface VHDL-a (ikona za pokretanje waveform-a)
Dva tipa DUT-a koji se testiraju • 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
Testiranje množača 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
Objašnjenje 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.
Testiranje ALU-a 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
Objašnjenje 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.
Zaključak – prednosti BST-a Testiranje širokog spektra komponenti i ploča-univerzalnost Jednostavnost implementacije Univerzalnost + jednostavnost implementacije = niska cena Zbog prednosti koje Boundary-Scan nudiova metoda provere ispravnosti rada kola se veoma često koristi u ugradjenim računarskim sistemima.