studenti: risti ć goran brd 10067 filipović darko brd 9551
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 PresentationTRANSCRIPT
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