• No results found

D I P L O M O V Á P R Á C E 2004 Zden

N/A
N/A
Protected

Academic year: 2022

Share "D I P L O M O V Á P R Á C E 2004 Zden"

Copied!
63
0
0

Loading.... (view fulltext now)

Full text

(1)

Technická univerzita v Liberci

Fakulta mechatroniky a mezioborových inženýrských studií

D I P L O M O V Á P R Á C E

2004 Zdeněk Čurda

(2)

Technická univerzita v Liberci

Fakulta mechatroniky a mezioborových inženýrských studií

Studijní program: 2612T – Elektrotechnika a informatika Studijní obor: Automatické řízení a inženýrská informatika

Diagnostické vybavení integrovaného obvodu podle normy IEEE 1149.1

Diagnostic equipment of integrated circuit according to IEEE 1149.1 specification

Z d e n ě k Č u r d a

Vedoucí práce: Prof. Ing. Ondřej Novák, CSc.

Konzultant: Ing. Zdeněk Plíva, Ph.D.

Ing.Milan Kolař, CSc.

Počet stran: 45 Počet příloh: 6

Datum odevzdání: 21. 5. 2004

(3)

TECHNICKÁ UNIVERZITA V LIBERCI

Fakulta mechatroniky a mezioborových inženýrských studií

Katedra elektroniky a zpracování signálů Školní rok: 2001/2002

ZADÁNÍ DIPLOMOVÉ PRÁCE

pro: Zdeňka Čurdu

studijní program: 2612T – Elektrotechnika a informatika obor: Automatické řízení a inženýrská informatika

Vedoucí katedry Vám ve smyslu zákona o vysokých školách č.111/1998 Sb. určuje tuto diplomovou práci:

Název tématu:

Diagnostické vybavení integrovaného obvodu podle normy IEEE 1149.1

Zásady pro vypracování

1. Seznamte se s metodikou návrhu integrovaných obvodů pomocí VHDL.

2. Seznamte se s metodou diagnostického přístupu do integrovaných obvodů Boundary Scan podle normy IEEE 1149.1-4.

3. Realizujte v programovatelném hradlovém poli TAP controller pro metodu Boundary Scan.

4. Modifikujte zapojení některého z ISCAS obvodů tak, aby splňovalo příslušnou normu diagnostického přístupu.

5. Realizujte propojení počítače s realizovaným obvodem pomocí diagnostického přístupu

Boundary Scan.

(4)

Rozsah grafických prací: dle potřeby dokumentace Rozsah průvodní zprávy: cca 40 až 50 stran

Seznam odborné literatury:

[1] H. Bleeker: Boundary -Scan Test, a Practical Approach, Kluwer Academy Publisher, ISBN 0-7923-9296-5, 1993

[2] Zdeněk Plíva: Prostředky pro diagnostiku obvodů z hlediska plochy čipu a jeho spotřeby energie, disertační práce, TU Liberec, září 2001

Vedoucí diplomové práce: Doc. Ing. Ondřej Novák, CSc.

Konzultant: Ing. Zdeněk Plíva, Ing. Milan Kolář, CSc.

Zadání diplomové práce: 24. 10.2001 Termín odevzdání diplomové práce: 24. 5. 2002

... ...

Vedoucí katedry Děkan

V Liberci dne 10.10 2001

(5)

Prohlášení

Byl jsem seznámen s tím, že na mou diplomovou práci se plně vztahuje zákon č. 121/2000 Sb. o právu autorském, zejména § 60 – školní dílo.

Beru na vědomí, že Technická univerzita v Liberci (TUL) nezasahuje do mých autorských práv užitím mé diplomové práce pro vnitřní potřebu TUL.

Užiji-li diplomovou práci nebo poskytnu-li licenci k jejímu využití, jsem si vědom povinnosti informovat o této skutečnosti TUL; v tomto případě má TUL právo ode mne požadovat úhradu nákladů, které vynaložila na vytvoření díla, až do jejich skutečné výše.

Diplomovou práci jsem vypracoval samostatně s použitím uvedené literatury a na základě konzultací s vedoucím diplomové práce a konzultantem.

V Liberci dne 21. května 2004

(6)

Resumé

Diplomová práce se zaměřuje na komunikaci prostřednictvím počítače přes paralelní port s obvodem ispLSI 1016EA, který má v sobě implementovanou metodu Boundary scan.

Obvod ispLSI 1016EA funguje podle normy IEEE 1149.1, která umožňuje testování integrovaných obvodů a desek plošných spojů. V kapitole VHDL je popsán nástroj na návrh číslicových obvodů. Jazykem VHDL se dají naprogramovat speciální obvody tak, aby splňovaly danou funkci. Lze také odsimulovat danou funkci dříve, než se napevno nahraje do požadovaného obvodu, případně do přeprogramovatelného obvodu. Další kapitola popisuje normu IEEE 1149.1, která je základem pro metodu testování Boundary scan. Výsledkem diplomové práce bude aplikace pro snadné ovládání obvodu ispLSI 1016EA přes paralelní port, který bude sloužit k výuce studentů metody Boundary Scan.

Program dále umožní komunikovat přes LPT monitor i s jinými číslicovými obvody.

Summary

The thesis deals with communication between computer and ispLSI 10016EA circuit with implemented Boundary scan method via parallel port. The The circuit ispLSI 1016EA works according to IEEE 1149.1 specification which allows testing of integrated circuits and PCB. The design for digital circuits is described in chapter VHDL. It allows to program special circuits in VHDL language so given function can be accomplished. It is also possible to simulate given function before it is permanently loaded in to the required circuit, eventually in to the reprogrammable circuit. Next chapter describes the IEEE 1149.1 standard, which is basic testing method for Boundary scan. The result of the thesis will be comfortable control of circuits ispLSI 1016EA via parallel port and it can be used for students education of digital circuit testing methods. The program enables communication via LPT monitor with others digital circuits.

(7)

Poděkování

Na tomto místě bych chtěl poděkovat ze strany Technické univerzity v Liberci svému vedoucímu diplomové práce Prof. Ing. Ondřeji Novákovi, CSc. za odborné vedení, trpělivost a připomínky. Konzultantovi Ing. Zdeňku Plívovi, Ph.D. za věnovaný čas, ochotu, poskytnuté konzultace a cenné rady a Ing. Milanu Kolářovi, CSc. za věnovaný čas, ochotu a věcné připomínky.

(8)

Obsah

Seznam zkratek 8

1 Úvod 10

2 Metodika návrhu integrovaných obvodů pomocí jazyka VHDL 11

2.1 Základní charakteristika jazyka VHDL 11

2.1.1 Vlastnosti jazyka VHDL 12

2.1.2 Postup sestavení modelu 13

3 Norma IEEE 1149.1 14

3.1 Úvod 14

3.2 Průmyslový standard IEEE 1149.1 – 1990 (JTAG) 15 3.3 Boundary Scan architektura a IEEE Std. 1149.1 16

3.3.1 Základní architektura 16

3.4 Podstata Boundary Scan metody 19

3.5 Test Access Port (TAP) 23

3.5.1 Diagram 16-ti stavového synchronního konečného automatu 24

3.5.2 Instrukční registr 28

3.6 Popis základních instrukcí normy IEEE 1149.1 28 4 Popis obvodu Lattice ispLSI 1016EA 34

4.1 Technické parametry obvodu ispLSI 1016EA 34

4.2 Popis struktury obvodu ispLSI 1016EA 34

5 Paralelního portu PC 37

5.1 Popis paralelního portu 37

5.1 Přenosové vlastnosti 38

5.2 Práce s paralelním portem 39

6 Tvorba programu v programovacím jazyce Delphi 41

6.1 Zápis a čtení z paralelního portu 41

6.2 Vytvoření hodinového signálu TCK 43

6.3 Vytvoření posuvných registrů 43

6.4 Sledování stavu stavového automatu a grafické zobrazení 44 7 Program pro ovládání obvodu ispLSI 1016EA 46

7.1 Popis funkcí a nastavení programu 46

7.2 Minimální systémové požadavky 53

7.3 Ovladač pro spuštění programu ve Windows NT/2000/XP 53

8 Závěr 55

Seznam literatury 56

Seznam příloh 57

(9)

Seznam zkratek

ASIC Application-Specific Integrated Circuit ATE Autimated Test Equipment

BIOS Basic Input Output System

BGA Ball Grid Array

CAP Capture

CLK Clock

DFT Design for Test

DOS Disk Operation System

DR Data Registr

DSP Digital Signal Processing ECP Extended Capabilities Port EPP Enhanced Parallel Port

FPGA Field-Programmable gate array GLB Generic Logic Block

GRP Global Routing Pool

I/O Input/Output

IBM International Business Machines

IEEE Institute of Electrical and Electronics Engineers IOCLK Input/Output Clock

IR Instruction Registr

IRQ Interrupt Request

ispLSI In-System Programmable Large-Scale Integration

JIT Just in Time

JTAG Joint Test Action Group LPT Line Printing Terminal

MX Multiplexor

ORP Output Routing Pool

PC personal computer

PLD Programmable Logic Device

RC Resistance Capacitor

RTL Registr Transfer Level SPP Standard Parallel Port

Std. Standard

TAP Test Access Port

(10)

TCK Test Clock Input

TDI Test Data Input

TDO Test Data Output

TMS Test Mode Select

TRST Test Reset Input

TTL Transistor-Transistor Logic

UPD Update

VCCIO napájení Input/Output

VHDL VHSIC Hardware Description Language VHSIC Very High Speed Integrated Circuits

(11)

1 Úvod

Provedení diplomové práce se zpozdilo o dva roky, a proto bylo upraveno zadání diplomové práce na komunikaci s obvodem ispLSI 1016EA přes paralelní port. Obvod ispLSI 1016EA splňuje standard IEEE 1149.1. Diplomová práce se zabývá vytvořením programu pro pohodlné ovládání obvodu ispLSI 1016EA přes paralelní port. Výsledkem diplomové práce bude program, který umožní výuku studentů metody Boundary scan pomocí obvodu ispLSI 1016EA.

Boundary scan je relativně nová metoda testování integrovaných obvodů, vnitřní diagnostiku integrovaných obvodů a propojení na plošných deskách. Metoda je rozvíjená skupinou výrobců JTAG (Joint Test Action Group), jejímž cílem je, aby metodika testování integrovaných obvodů byla použitelná i v případě, že se na jedné desce vyskytují komponenty od různých výrobců.

Norma IEEE 1149.1 určuje minimální povinnou konfiguraci a umožňuje její rozšíření uživatelem. Zaměřuje se na definování rozhraní integrovaného obvodu a způsob komunikace na tomto rozhraní. Podstatou je integrace testovacích pomůcek do jednoho pouzdra ke stávajícím integrovaným obvodům. Je to kompromis mezi snahou o respektování požadavků diagnostiky a snahou o co nejnižší výrobní náklady.

Největší výhodou metody Boundary scan je lokalizace poruchy v celém zařízení. Další výhody jsou bezkontaktní testování integrovaných obvodů, test instalovaných a pracujících systémů, interní test a identifikace obvodů, neomezený stupeň integrace a hustoty vývodů integrovaných obvodů, možnost konfigurace součástek, test na vzdálených systémech, nízké náklady na testovací přípravky, možnost testování součástek s vývody BGA apod. (jinak neotestovatelné), testování je převážně softwarovou záležitostí (méně nákladný provoz testeru). První použití metody Boundary scan bylo pro testování desek plošných spojů. Následně se tato metoda rozšířila na testování složitých čipů, čímž se tato metoda stala značně univerzálním testovacím nástrojem. Tato metoda přinesla snížení nákladů na diagnostiku určitého zařízení.

(12)

2 Metodika návrhu integrovaných obvodů pomocí jazyka VHDL

2.1 Základní charakteristika jazyka VHDL

V současné době se číslicové obvody navrhují metodou popisu v jazyce VHDL, jenž umožňuje popsat obvod na různých úrovních abstrakce. Zkratka VHDL znamená VHSIC Hardware Description Language, přičemž VHSIC znamená Very High Speed Integrated Circuits. Jazyk VHDL je standard IEEE 1076-1987. Jazyk VHDL původně vznikl především pro modelování a simulaci rozsáhlých systémů, kde mělo být možné přecházet z modelů čistě funkčních k modelům podrobnějším až dospějeme k výslednému popisu struktury obvodu. Dalším jazykem, který je vhodný pro návrh číslicových obvodů je jazyk Verilog. Jedná se o podobný jazyk, který se používá spíše v USA. Jazyk VHDL se používá více v Evropě.

Syntéza převádí obvod popsaný v jazyce VHDL na úrovni přesunů mezi registry (RTL – Registr Transfer Level) do úrovně hradlové – netlistu základních elementů dané technologie. Proto je potřeba definovat určitou podmnožinu konstrukcí jazyka VHDL, které jsou podporovány syntézním procesem. Návrh obvodu na úrovni RTL znamená striktní vymezení toho, co jsou paměťové elementy, tj. registry a kombinační logika. Čas na úrovni RTL je diskrétní a definován takty hodinových signálů.

V jazyce VHDL se nejvyšší úroveň nazývá behaviorální, tím se rozumí popis na vysoké úrovni abstrakce, kde nemusí být uvažována konkrétní velikost datových a adresových sběrnic, kde nejsou konkrétně specifikovány hodinové signály a podobně.

Na úrovni RTL popisujeme datové toky. Toto označení vychází z obecné představy o struktuře číslicového systému, který je možno rozdělit na kombinační část a registr. Popis obvodu na nižší jakési pseudohradlové úrovni je také možný, ale kromě zbytečné pracnosti a nepřehlednosti tento popis často vede na neoptimální výsledky po syntéze.

Při návrhu v jazyce VHDL je výhodné odlišit od sebe registry a kombinační logiku.

Návrhář musí být schopen nakreslit schéma daného bloku s oddělením registrů a kombinační logiky, i když při vlastním popisu je možné tyto věci směšovat. Před popisem v jazyce VHDL platí zásada nakreslení blokového schématu.

(13)

Obvody bychom měli navrhovat synchronně, což sebou přináší řadu výhod. Bohužel toto pravidlo není možné dodržet ve všech případech. Případů, kdy nelze použít synchronní návrh, je však výrazně méně. Obvody takto navržené jsou snadno testovatelné, odolnější vůči šumu, jenž vzniká v důsledku přeslechů, odrazů, kombinačních hazardů, nestability, zemních potenciálů, vlivů teplot atd. Asynchronní obvody, které obsahují zpětné vazby, způsobují značné problémy při produkčním testování. Při dodržení pravidel synchronního návrhu je k ověření funkčnosti obvodu postačující simulace. Časová simulace slouží k ověření dosaženého hodinového kmitočtu. Simulace funkční musí odpovídat simulaci časové u čistě synchronních obvodů s jedním hodinovým signálem.

Synchronní návrh má však i své nevýhody, tj. vyšší spotřeba, na větších čipech samotný globální rozvod hodinového signálu, který by měl být přiveden do každého klopného obvodu ve stejný okamžik. Proto se tyto pravidla neuplatňují vždy ve všech návrzích, avšak při dodržení pravidel synchronního návrhu se vyvarujeme mnoha problémům.

Mezi základní pravidla synchronního návrhu patří: [10]

1. na hodinové vstupy všech prvků jsou přivedeny pouze hodinové signály;

2. jsou použity pouze hodinové signály jednofázové s pevným kmitočtem;

3. všechny klopné obvody jsou hranově řízené (flip-flop ne latch);

4. asynchronní přednastavení a nulování může být použito pouze k nastavení počátečního stavu klopných obvodů, ne v průběhu jejich běžné funkce;

5. zpětné vazby v kombinačních obvodech se v návrhu nevyskytují;

6. výstupy z dekodérů a přenosy čítačů nejsou použity jako hodinové signály;

7. asynchronní signály jsou synchronizovány pomocí klopného obvodu před jejich rozvedením do více funkčních jednotek

2.1.1 Vlastnosti jazyka VHDL

Mezi základní vlastnosti jazyka VHDL patří:

• Otevřený standard (open standard)– pro sestavení návrhových systému nepotřebujeme licenci jeho vlastníka, a proto je tento jazyk používán velmi často.

• Nezávislý návrh zařízení (device-independent design) – můžeme pracovat na návrhu, aniž bychom zvolili cílový obvod. Ten určíme až v okamžiku, kdy jsou známy definitivní požadavky na prostředí, v němž má navrhovaný systém pracovat. Cílový

(14)

obvod je možné měnit podle potřeby, při zachování textu popisujícího systém.

Můžeme zvolit obvod PLD nebo FPGA.

• Přenositelnost (portability) – simulaci navrženého obvodu lze provést na základě téhož zdrojového textu, který pak bude použit pro syntézu a implementaci v cílovém obvodu.

Hierarchickou strukturou jazyka je podporováno, aby zdrojová část kódu mohla být použita v dalších projektech s různými cílovými obvody.

• Snadné zavedení (implementation) – v případě úspěchu výrobku na trhu je popis modelu systému v jazyce VHDL použitelný jako podklad pro zavedení do obvodů ASIC vhodných pro velké série.

Nevýhody jazyka VHDL jsou:

• „Upovídanost“ – jazykové konstrukty nejsou navrženy tak, aby zdrojový text byl stručný. Při popisu modelu určitého systému se setkáme s opakováním bloků stejného znění.

• Neefektivnost konstrukce – dá se vytvořit neefektivní konstrukce, která na první pohled nemusí být znatelná. Efektivnost konstrukce závisí na kvalitě programových návrhových prostředků i zkušenostech konstruktéra (návrháře).

2.1.2 Postup sestavení modelu

V této kapitole budou uvedeny možnosti sestavení modelu v jazyce VHDL. Existují tři typy sestavení modelu:

• Shora dolů (Top-Down)

Funkce navrhovaného systému se definuje jako celek. V tomto celku se vyčlení bloky, jejichž funkce se specifikuje se vzájemnou návazností jednotlivých bloků, které dále mohou detailně zpracovávat různí konstruktéři.

• Zdola nahoru (Bottom-Up)

Nejprve se vytvoří dílčí bloky modelu, které se pak skládají do větších celků.

• Plochého typu (Flat)

Neobsahuje členění výše uvedených typů, ale představuje systém jako jeden monolitický blok. První dva uvedené postupy se označují jako hierarchické. Jazyk VHDL podporuje hierarchičnost konstrukcí, což usnadňuje orientaci v popisu modelu navrhovaného systému, jestliže je tato hierarchie rozumně zvolena.

(15)

3 Norma IEEE 1149.1

3.1 Úvod

Návrh pro test (design for test – DFT), také známý jako návrh pro testovatelnost, je proces, který připojuje pravidla a techniky do návrhu výrobku pro provedení snadnějšího testování. Uspořádaný návrh pro test je systémová metodologie používanější než soubor diskrétních technik. Tento návrh je užíván pro složité řízení, minimalizaci doby vývoje a redukci výrobní ceny. Dobrá metodologie testovatelnosti dovolí materiálům vytvořených během ranné fáze vývoje, aby byly použitelné v pozdějších fázích. Návrháři integrovaných obvodů užívají tento integrační rys jako nástroj pomoci pro vývoj komplexních produktů.

Testování má dva významné aspekty a to řízení (control) a pozorování (observation). Za účelem testování nějakého systému je potřeba uvést tento systém do známého stavu vložením vstupních dat (test data) a pozorováním systému jeho chování na výstupu.

Pokud řízení a pozorování nemůže být uskutečněno, není žádná možnost se dozvědět, zda systém správně reaguje.

Testovatelnost poskytne společnostem pevnější držení ekonomických a tržních výhod při vývoji výrobku. Jeden významnější výrobce prohlašuje:

• vývojový testovací program by neměl být bez skenovacích technik;

• vývojový test čipu se snížil;

• vývoj desky se podstatně snížil;

• vývoj byl celkově zkrácen.

Zvětšená složitost a nedostatek fyzického přístupu do obvodu dělá drahé a časově náročné testování používáním tradičních testovacích technik. S ohledem na tuto složitost se mohou výrobci rozhodnout, zda zvolit méně pečlivé testování. Výrobci, kteří zvolí méně pečlivých technik testování, se vystaví nebezpečí zvýšené návratnosti výrobků z důvodu poruchovosti a tím i zvýšených nákladů. V dnešním globálním elektronickém trhu výrobce, který zvolí méně náročné testovací techniky, se stává nekonkurenceschopným. Cena pro detekci a rozpoznání chyb používaných tradičních zkušebních metod se řádově zvětšuje s obvodovou složitostí výrobku. Rostoucí počet společností zlepšil kvalitu produktů díky integraci systémových metod testování. Návrh pro test je jednou z těchto metod.

(16)

Přidáním testovatelnosti do produktu se zvyšuje návrhový čas, ale snižují se náklady na výrobní test a údržbu systému. Většina chyb nalezených na desce plošných spojů se týká přes 95 % konektorových chyb. Technika testování jako zápis do rozhraní (boundary scan) umožňuje tyto chyby zjistit velmi snadno. Testovací metoda zápis do rozhraní v kombinaci s běžným sběrnicovým rozhraním testování a testovacím protokolem sebou přináší tyto výhody:

• poskytuje standard a zaručuje efektivnost nákladů při řešení obvyklých testovacích problémů;

• zpřístupnění nových aplikací.

Schopnost opětného použití před tím získaných testovacích dat a použití méně drahého testovacího zařízení znamená, že tento přístup zvyšuje výnosy produktů, jejichž výroba je méně nákladná.

3.2 Průmyslový standard IEEE 1149.1 – 1990 (JTAG)

V roce 1985 se vytvořila skupina, která se skládala z klíčových elektronických výrobců, s názvem JTAG (Joined Test Action Group). Tato skupina měla přes 200 členů z celého světa, včetně hlavních elektronických a polovodičových výrobců. Vytvořila řešení problémů testování plošných desek jako průmyslový standard. Základním prvkem tohoto standardu je implementace buněk Boundary Scan a řadiče rozhraní TAP (Test Access Port) na čip integrovaného obvodu. IEEE Std. 1149.1 dovoluje testovacím instrukcím a datům sériově načteným do zařízení při propojení vstupu a výstupu všech buněk do řetězce, čímž vzniká posuvný registr označovaný jako skenovací kanál. Standard IEEE 1149.1 má čtyři přídavné piny. Dva jsou pro řízení, jeden pro sériová vstupní testovací data a jeden pro výstupní data.

Starší metoda testování plošných desek a zařízení spotřebovala mnoho času a vyžadovala zvláštní hardware a komplexní automatizované testovací zařízení (ATE – Automated Test Equipment) pro každý typ desky plošných spojů a zařízení. Toto mělo za následek zvýšené náklady a dobu vývoje. Rozsáhlé testování je nutné pro zvýšení spolehlivostních kritérií a norem, např. v armádě, kosmonautice, počítačovém odvětví, automobilovém a komunikačním průmyslu. Tyto rozsáhlé testy mohou zpozdit uvedení produktu na trh (JIT – Just In Time) a omezit ATE operace produktů. Toto vytváří četné problémy, protože uvedení výrobku na trh v co nejkratší době je obzvláště důležité ve

(17)

vyspělých technologiích z obchodního hlediska. Společnosti, které dokážou uvést výrobek co nejdříve na trh, jsou konkurenceschopné.

Snadná implementace do technologie testování metodou zápisu do rozhraní podle normy IEEE 1149.1 umožňuje testovatelnost zařízení jako sběrnice, ASIC a FPGA, DSP, mikroprocesorů.

Výše uvedená norma se dá velmi snadno přizpůsobit existujícím obvodům na desce plošných spojů. Vestavěná testovatelnost výrazně snižuje potřebu testovacích bodů na desce plošných spojů a nabízí tyto výhody:

• velmi jednoduché testovací zařízení;

• časová redukce vestavění zařízení;

• důmyslný vestavěný test a ladící operace.

Lokalizace poruch na desce s plošnými spoji může být vylepšena použitím elektronických odpojovacích prvků Boundary Scan metody.

3.3 Boundary Scan architektura a IEEE Std. 1149.1

Boundary Scan je speciální případ snímatelné cesty s přidanými registry ke každému I/O pinu na zařízení. Toto vyžaduje přidání speciálních klopných obvodů na piny. Metoda přináší mnoho nesporných výhod. Největší výhoda Boundary Scan metody je lokalizace poruchy v celém zařízení. Tento požadavek je potřebný hlavně v telekomunikační technice.

3.3.1 Základní architektura

Standard IEEE 1149.1 musí obsahovat následující prvky:

• Test Access Port (TAP);

• řadič TAP (TAP Controller);

• instrukční registr;

• testovací datové registry.

(18)

Obr. 1 – Architektura podle normy IEEE 1149.1

MX Bypass

registr Datový registr Instukční registr

řadič TAP (TAP controller)

TDI

TMS TCK nTRST ální (optim )

TDO Systémová

Logika

Boundary Scan buňka

Boundary Scan cesta I/O pin

Vstupy obvodu

Výstupy obvodu

Instrukční a datové registry musí obsahovat paralelní datové cesty na bázi posuvného registru, mají společný sériový vstup a výstup připojený k signálům TDI a TDO. Do datové cesty mezi TDI a TDO se připojí instrukční nebo datové registry podle signálu z řadiče TAP. Řadič TAP přijímá signál hodin TCK a jeho stavy určuje signál TMS. Hodinové a řídící signály pro instrukční a datové registry generuje řadič TAP.

Instrukční registr určuje, jaká testovací operace se bude provádět a které datové registry budou do datové cesty TDI a TDO připojeny. Tento registr musí být minimálně dvoubitový, neboť jsou tři základní instrukce, jenž jsou povinné pro normu IEEE 1149.1.

Datové registry musí obsahovat minimálně dva registry, kterými jsou bypass registr a Boundary-Scan registr, jenž se skládá z Boundary-Scan buněk na všech vývodech.

Dále zde mohou být další registry např. Device Identification registr, User Data registr, Design-Specific Data registr. Přidání těchto registrů závisí pouze na výrobci obvodu.

V následujícím textu jsou popsány jednotlivé registry.

• Boundary-Scan registr – Boundary-Scan registr se skládá z Boundary-Scan buněk zapojených do sériové datové cesty mezi TDI a TDO na každý I/O pin zařízení, avšak ne na TAP piny. Návrhář musí vložit posuvné registry, které dovolují řízení

(19)

a pozorování toku dat dovnitř a ven ze zařízení. Základní buňka Boundary-Scan obsahuje tedy symbolicky snímací klopný obvod (CAP) a aktualizační klopný obvod (UPD), dále paralelní (signálový) vstup, paralelní (signálový) výstup, sériový vstup a sériový výstup.

Obr.2 – Symbolické řešení Boundary-Scan buňky

CAP UPD

Datový signálový

ýstup

( )

v Datový

signálový

( )

vstup

Sériový výstup

Sériový vstup

Hlavní problém při vývoji Boundary Scan metody IEEE 1149.1 je negativní dopad na povrchovou montáž plošných desek. Zahrnutí Boundary Scan cesty do povrchu montované součásti je jediná možnost, jak provést test mezi zařízeními. Umístěním známé hodnoty na výstupní buffer jednoho zařízení a sledováním vstupního bufferu druhého propojeného zařízení nám poskytne informaci o spojení na plošné desce.

Selhání tohoto jednoduchého testu signalizuje přerušený spoj, studený spoj, přemostěný spoj nebo elektrostatický výboj. Toto jsou běžné poruchy na plošných deskách.

Méně obvyklé výhody Boundary Scan metody je možnost nastavení I/O pinů prostřednictvím skenovacího kanálu. Výrobci integrovaných obvodů a ASIC vývojáři vytváří funkční vzory pro diagnostické účely. Bloky těchto funkčních vzorů mohou být znovu použity pro obvodové funkční testování integrovaných obvodů. Tyto bloky funkčních vzorů ušetří mnoho vývojového času, zvláště jestli většina integrovaných obvodů v systému má vloženu Boundary Scan cestu.

(20)

3.4 Podstata Boundary Scan metody

Základní myšlenka Boundary Scan metody spočívá v získání přístupu k obtížně dostupným místům v testované jednotce pomocí vložení jednoho článku posuvného registru mezi funkční bloky integrovaného obvodu a jeho vývody, který se využívá v diagnostickém testu. V tomto směru je tato metoda do určité míry podobná sériovému zápisu a čtení. Zápis do rozhraní má pouze zprostředkovat přístup k vývodům integrovaného obvodu tak, aby neovlivnil vnitřní strukturu integrovaných obvodů. Článek posuvného registru se nazývá Boundary Scan buňka, znázorněna na následujícím obrázku.

Obr. 3 – Boundary Scan buňka

MX 2 IA A C

D Qa

Qb IB

CLK A

C

D Qa

Qb

CLK B

MX 1 IA

A IB

Sériový vstup

Datový signálový

ýstup

( )

v Datový

signálový

( )

vstup

Sériový výstup

posuv režim

Jedná se v podstatě o jednobitovou paměť, která je řízena dvoufázovými hodinami (CLK A, CLK B). Dále jsou zde dva multiplexory, které umožňují přechod mezi pracovními režimy. Tyto režimy jsou přenos signálu ze vstupu na výstup buňky, zápis dat do paměti buňky, přesun dat po kraji integrovaného obvodu. Pro tento případ se buňky na čipu mezi sebou propojí do sériové cesty. Tento prvek je univerzální a může se připojit na vstupní i výstupní vývod integrovaného obvodu. Např. je-li Boundary Scan buňka použita jako výstupní buňka, pak signálový vstup představuje výstup funkční logiky obvodu a signálový výstup je připojen na výstupní pin integrovaného obvodu.

Ve funkčním režimu se Boundary-Scan buňka chová jako by zápis do rozhraní nebyl použit, tzn. signál ze signálového vstupu na signálový výstup (výstup funkční logiky se přenáší na výstup integrovaného obvodu). Tato buňka dovoluje zachytit vstupní signál pomocí multiplexoru MX2 do klopného obvodu. Tato vlastnost je poměrně užitečná pro získání vzorku hodnoty na výstupu v určitém okamžiku. Lze ji využít při analýze

(21)

přechodných poruchových stavů. Typická Boundary-Scan buňka umožňuje čtyři různé funkční režimy:

• funkční režim;

• testovací režim;

• snímací režim;

• aktualizační režim.

Ve funkčním režimu je MX1 nastaven na 0. Signál volně projde skrz buňku.

Obr. 4 – Funkční režim Boundary Scan buňky

MX 2 IA

A C

D Qa

Qb IB

CLK A

C

D Qa

Qb

CLK B

MX 1 IA

A IB

Sériový vstup

Datový signálový

ýstup

( )

v Datový

signálový

( )

vstup

Sériový výstup

posuv režim

V testovacím režimu se odpojí signálový vstup od signálového výstupu na multiplexoru MX1 a tím dojde k oddělení primárních kontaktů pouzdra od vlastního logického jádra testovaného obvodu. Testovací data se přenáší z klopného obvodu na signálový výstup.

Buňka je vlastně zapojena tak, že data ze sériového vstupu jsou posílána na sériový výstup.

(22)

Obr. 5 – Testovací režim Boundary Scan buňky

MX 2 IA

A C

D Qa

Qb IB

CLK A

C

D Qa

Qb

CLK B

MX 1 IA

A IB

Sériový vstup

Datový signálový

ýstup

( )

v Datový

signálový

( )

vstup

Sériový výstup

posuv režim

C

Ve snímacím režimu je výstup MX2 připojen na vstup IB (sériový vstup). Vstupní hodnota je zachycena do prvního klopného obvodu na signál hodin CLK A. Výstupní hodnota na paralelním (signálovém) výstupu závisí na režimu MX1.

Obr.6 – Snímací režim Boundary-Scan buňky

MX 2 IA

A C

D Qa

Qb IB

CLK A

C

D Qa

Qb

CLK B

MX 1 IA

A IB

Sériový vstup

Datový signálový

ýstup

( )

v Datový

signálový

( )

vstup

Sériový výstup

posuv režim

V aktualizačním režimu je výstup MX1 připojen na vstup IB. Hodnota z prvního klopného obvodu s hodinovým signálem CLKB je zapsána do druhého klopného obvodu a dále jde signál na paralelní (signálový) výstup.

(23)

Obr.7 – Aktualizační režim Boundary-Scan buňky

MX 2 IA

A C

D Qa

Qb IB

CLK A

C

D Qa

Qb

CLK B

MX 1 IA

A IB

Sériový vstup

Datový signálový

ýstup

( )

v Datový

signálový

( )

vstup

Sériový výstup

posuv režim

C

Boundary Scan buňky na pinech integrovaného obvodu jsou pomocí signálů sériový vstup sériový výstup propojeny do série a to tak, že tvoří posuvný registr označovaný jako skenovací kanál. Tento skenovací kanál je nezávislý na funkci systému, zpřístupňuje všechny komponenty implementované na desce plošného spoje přes vstup TDI a výstup TDO, který je sériově připojen na další vstup TDI do sériového řetězce. TDI a TDO jsou řízeny signály TMS a TCK. Test probíhá ve třech fázích:

• zápis vstupních dat testu v sériovém režimu do buněk na rozhraní všech buněk integrovaných obvodů;

• provedení jednoho kroku testu a zápis výsledku do výstupních buněk integrovaného obvodu;

• čtení výsledku testu v sériovém režimu na výstupu řetězce buněk.

Výsledek testu se porovná s požadovanými hodnotami a provede se kontrola, zda mezi výstupem určitého integrovaného obvodu a vstupem jiného integrovaného obvodu existuje vodivý spoj. Na desce s plošnými spoji však existují i poruchy jako přerušený spoj nebo zkrat. Proto je třeba si test pečlivě připravit, aby odhalil i šíření signálů na všechna místa, kam nemá být přenesen.

(24)

Obr. 8 – Skenovací kanál

Systémová

logika Systémová

logika Systémová

logika Systémová

logika

Sériový vstup dat

Sériový výstup dat

3.5 Test Access Port (TAP)

K nastavení testovacích funkcí vestavěných do obvodu slouží tzv. Test Acces Port. TAP řídí tok dat do instrukčního nebo datového registru. Je sestaven minimálně ze tří vstupních a jednoho výstupního signálu. Těmito signály jsou:

• TDI (Test Data Input) – Datový vstup TDI se používá k sériovému pohybu testovacích dat obvodem. Tato data ze vstupu TDI jsou načítána do příslušného datového nebo instrukčního registru, který je vybrán aktuální instrukcí. Hodnota na vstupu TDI je snímána na náběžnou hranu TCK.

• TDO (Test Data Output) – Datový výstup TDO se používá jako výstup ze sériového skenovacího kanálu. Hodnota na výstupu skenovacího kanálu TDO je platná při sestupné hraně TCK.

• TMS (Test Mode Select input) – Tento vstupní signál slouží k výběru testovacích operací. Pomocí hodnot TMS jsou řízeny přechody mezi stavy v šestnácti stavovém

(25)

synchronním konečném automatu TAP. Hodnota na vstupu TMS je snímána při náběžné hraně TCK.

• TCK (Test Clock Input) – Vstupní signál TCK slouží k tomu, aby zařízení mohlo být používáno při přenosu sériových dat mezi komponentami nezávisle na hodinách jednotlivých komponent, protože ty se mohou v každé komponentě lišit. Tento způsob umožňuje paralelní posuv testovacích dat s činností komponent zařízení.

• TRST (Test Reset Input) – Jestliže je přítomný, pak když se jeho hodnota rovná logické nula, musí řadič TAP přejít asynchronně do stavu Test- Logic-Reset. Do tohoto stavu se řadič dostane i při inicializaci (resetování) řadiče TAP a nebo při sekvenci logické jedničky na signál TMS po dobu minimálně pěti náběžných hran TCK, dále také při zapnutí napájení integrovaného obvodu. Proto je tento signál nepovinný.

3.5.1 Diagram 16-ti stavového synchronního konečného automatu

Jedná se o šestnácti stavový synchronní konečný automat programovaný signály TMS a TCK. Hlavní stavový diagram se skládá z šesti ustálených stavů, tj. Test-Logic-Reset, Run-Test/Idle, Shift-DR, Pause-DR, Shift-IR a Pause-IR. Jedinečná charakteristika tohoto protokolu je, že jediný ustálený stav pro podmínku, kdy signál TMS je nastaven do úrovně logické jedničky, tj. Test-Logic-Reset. TAP je řízený pomocí vstupních signálů Test Clock (TCK) a Test Mode Select (TMS), tyto přechody jsou uskutečňovány při náběžné hraně hodin TCK. Dva uvedené vstupní signály určují, jestli bude aktivní instrukční nebo datový skenovací kanál.

(26)

Obr. 9 – Stavový diagram Test Access Port (TAP)

Popis stavů diagramu TAP:

• Test-Logic-Reset – V tomto stavu je testovací logika neaktivní a neovlivňuje normální funkci integrovaného obvodu. Do tohoto stavu se může řadič TAP dostat z jakéhokoliv jiného stavu, pokud se na vstupu TMS objeví logická jednička po dobu sekvence

(27)

minimálně pěti náběžných hran signálu TCK. V tomto stavu se řadič nachází i po zapnutí napájení nebo pokud je aktivován vstup TRST, jenž je aktivní v logické nule.

• Run-Test/Idle – V tomto stavu se řadič TAP nachází, je-li v instrukčního registru aktivní určitá instrukce. Tohoto stavu se využívá např. při instrukci RunBist, kdy dojde k vnitřnímu testu vestavěné logiky. Další instrukce, které v tomto stavu nespouštějí žádnou funkci nesmí změnit hodnoty v datových registrech (Idle).

• Select-DR-Scan – Jedná se o dočasný stav řadiče TAP. Ve stavu Select-DR-Scan si všechny datové registry vybrané současnou instrukcí zachovají svůj předchozí stav.

Jestliže se v tomto stavu na TMS objeví logická nula při náběžné hraně signálu TCK, pak je odstartována skenovací sekvence vybraných datových registrů. Instrukce se v tomto stavu nezmění.

• Capture-DR – Tento stav se užívá pro snímání dat do vybrané sériové datové cesty.

Do datových registrů vybraných aktuálních instrukcí mohou být data nahrána paralelně, jestliže vybrané registry nemají paralelní vstup, tak se jejich hodnota nezmění. Aktuální instrukce se nemění.

• Shift-DR – V tomto stavu všechny registry, které jsou spojeny do datové cesty mezi TDI a TDO, provedou při každé náběžné hraně signálu TCK posuv o 1 bit od TDI k TDO. Tuto datovou cestu od TDI k TDO určuje aktuální instrukce. Zbylé datové registry, které nebyly v datové cestě mezi TDI a TDO, zůstanou nezměněny. Aktuální instrukce se také v tomto stavu nemění.

• Exit1-DR – Jedná se o dočasný stav řadiče TAP. Pokud se v tomto stavu při náběžné hraně signálu TCK na TMS objeví logická jednička, tak se ukončí skenovací sekvence datových registrů. Datové registry ani aktuální instrukce se v tomto stavu nezmění.

• Pause-DR – Tento stav řadiče TAP umožňuje dočasné pozastavení posuvu dat mezi TDI a TDO. Tento stav se používá, aby nedocházelo ke ztrátě dat, protože zde může být velké množství dat a systém může být přetížený. Toho docílíme při náběžné hraně TCK signálu a TMS je v logické nule. Datové registry ani aktuální instrukce se nezmění.

(28)

• Exit2-DR – Jedná se o dočasný stav řadiče TAP. Skenovací sekvence datových registrů je ukončena, pokud v tomto stavu při náběžné hraně signálu TCK je na TMS logická jednička. Datové registry ani aktuální instrukce se v tomto stavu nezmění.

• Update-DR – Některé datové registry mohou být vybaveny blokovaným paralelním výstupem, aby se zabránilo změně paralelního výstupu v době posouvání dat.

Paralelní výstup datových registrů může být uvolněn pouze v tomto stavu nebo při vlastním testu zabudovaném výrobcem. Paralelní zápis dat se provede při sestupné hraně signálu TCK. Datové registry ani aktuální instrukce se v tomto stavu nezmění.

• Select-IR-Scan – Jedná se o dočasný stav řadiče TAP. V tomto stavu si všechny datové registry vybrané současnou instrukcí zachovají svůj předchozí stav. Jestliže se v tomto stavu na TMS objeví logická nula při náběžné hraně signálu TCK, pak je odstartována skenovací sekvence instrukčního registru. Instrukce se v tomto stavu nezmění.

• Capture-IR – V tomto stavu je do posuvného registru obsahujícího instrukci nahrán vzorek logických hodnot. Přitom do nejnižšího bitu (bit nejblíže k sériovému výstupu) musí být uložena hodnota 1 a do druhého nejnižšího bitu hodnota 0. Toto opatření je zde z toho důvodu, aby se dala odhalit chyba ve skenovacím kanále. Do ostatních bitů mohou být nahrány hodnoty podle potřeby návrháře obvodu. Datové registry ani aktuální instrukce se ve stavu Capture-IR nezmění.

• Shift-IR – Instrukční registr je v tomto stavu připojen mezi TDI a TDO a posouvá o 1 bit směrem k TDO při každé náběžné hraně signálu TCK.

• Exit1-IR – Jedná se o dočasný stav řadiče TAP. Skenovací sekvence instrukčního registru je v tomto stavu ukončena při náběžné hraně signálu TCK a na TMS je logická jednička. Datové registry ani aktuální instrukce se ve stavu Exit1-IR nezmění.

• Pause-IR - Tento stav řadiče TAP umožňuje dočasné pozastavení posuvu instrukce mezi TDI a TDO. Toho docílíme při náběžné hraně TCK signálu a TMS je v logické nule. Datové registry ani aktuální instrukce se nezmění.

(29)

• Exit2-IR - Jedná se o dočasný stav řadiče TAP. Skenovací sekvence instrukčního registru je ukončena, pokud v tomto stavu při náběžné hraně signálu TCK je na TMS logická jednička. Datové registry ani aktuální instrukce se nezmění.

• Update-IR – V tomto stavu se nová instrukce stává aktuální instrukcí. Paralelní výstup instrukčního registru může být uvolněn.

3.5.2 Instrukční registr

Instrukční registr umožňuje sériové nahrání instrukce, která pak řídí testovací logiky.

Instrukce musí přesně určovat skupinu datových registrů, které se budou při provádění této instrukce používat. Ostatní datové registry musí být řízeny tak, aby neovlivňovaly běh systémové logiky a datové registry, které se používají. Každá instrukce musí zajistit propojení datových registrů, jenž se používají do datové cesty mezi TDI a TDO. Kódy instrukcí, které jsou nevyužité, musí být ekvivalentní k instrukci BYPASS. Počet instrukcí, které obsahuje instrukční registr se rovná 2k, kde k udává délku instrukčního registru.

Např. pro čtyři instrukce musí mít aspoň délku 2 bity, které kombinují čtyři různé stavy (00,01,11,10).

3.6 Popis základních instrukcí normy IEEE 1149.1

Mezi povinné instrukce patří EXTEST, BYPASS, SAMPLE

• instrukce EXTEST – Instrukční kód této instrukce je předdefinovaný na 00…0, tzn. že ve všech buňkách instrukčního registru musí být logická nula. Stav všech signálů na vstupních pinech všech komponent musí být uložen do Boundary-Scan registru ve stavu Capture-DR řadiče TAP. Dále při této instrukci EXTEST musí být stav všech signálů na výstupních pinech všech komponent definován daty nasunutými (Shifted) do Boundary-Scan registru. Při této instrukci se využívá pouze Boundary-Scan registr, který je propojený do datové cesty mezi TDI a TDO. Instrukce EXTEST umožňuje testování propojení mezi jednotlivými komponentami obvodu. Buňky Boundary-Scan registru na výstupních pinech komponent jsou použity jako budiče testovacích hodnot.

(30)

Buňky Boundary-Scan registru na vstupních pinech jsou použity k zaznamenání výsledků testu.

Obr. 10 – Funkce instrukce EXTEST

MX 2 IA A C

D Qa

Qb IB

CLK A

C

D Qa

Qb

CLK B

MX 1 IA

A IB

Sériový vstup

Datový signálový

ýstup

( )

v Datový

signálový

( )

vstup Sériový výstup

posuv

režim MX 2

IA A C

D Qa

Qb IB

CLK A

C

D Qa

Qb

CLK B

MX 1 IA

A IB

Sériový vstup

Datový signálový

ýstup

( )

v Datový

signálový

( )

vstup Sériový výstup

posuv

režim

Obr. 11 – Funkce instrukce EXTEST v architektuře

MX

Bypass registr Datový registr Instukční registr

řadič TAP (TAP controller)

TDI

TMS TCK nTRST

ální (optim )

TDO Systémová

Logika

Vstupy obvodu

Výstupy obvodu

• instrukce BYPASS - Instrukční kód této instrukce je předdefinovaný na 11…1, tzn. že ve všech buňkách instrukčního registru musí být logická jednička. Tohoto může dosáhnout tehdy, když na vstup TDI budeme přivádět logickou jedničku po celou dobu skenovacího cyklu instrukce. Tato instrukce využívá při svém provádění pouze registr

(31)

BYPASS připojený do datové cesty mezi TDI a TDO. Instrukce se využívá při práci s rozsáhlými řetězci, jelikož urychlí práci tím, že zkrátí cestu mezi TDI a TDO vložením jednoduchého BYPASS registru. Např. máme-li na desce mnoho komponent a chceme otestovat pouze jednu, tak ve všech komponentách, které nepotřebujeme testovat, se jako aktuální instrukce nastaví instrukce BYPASS, jež pro každou komponentu zařadí do datové cesty mezi TDI a TDO jednobitový registr BYPASS a datová cesta bude mít délku počet komponent plus počet vývodů komponenty, kterou chceme testovat. Bez použití této instrukce by se doba testování výrazně a zbytečně prodloužila a délka cesty by byla rovna součtu všech vývodů plus všech komponent.

Obr. 12 – Funkce instrukce BYPASS v architektuře

MX Bypass

registr Datový registr Instukční registr

řadič TAP (TAP controller)

TDI

TMS TCK nTRST

ální (optim )

TDO Systémová

Logika

Vstupy obvodu

Výstupy obvodu

• instrukce SAMPLE – Při použití instrukce SAMPLE musí být stav na všech vstupních i výstupních pinech všech komponent uložen do Boundary-Scan registru ve stavu Capture-DR řadiče TAP. Pokud použijeme tuto instrukci, může být do datové cesty mezi TDI a TDO připojen pouze registr Boundary-Scan. Kód pro instrukci SAMPLE může být určen výrobcem komponenty obvodu. Uvedená instrukce dovoluje, aby při

(32)

normální činnosti komponenty (systémové logiky) mohly být do Boundary-Scan registru zaznamenávány hodnoty vstupující a vystupující z komponenty, aniž by byla ovlivněna činnost systémové logiky snímáním.

Obr. 13 – Funkce instrukce SAMPLE

MX 2 IA A C

D Qa

Qb IB

CLK A

C

D Qa

Qb

CLK B

MX 1 IA

A IB

Sériový vstup

Datový signálový

ýstup

( )

v Datový

signálový

( )

vstup Sériový výstup

posuv

režim MX 2

IA A C

D Qa

Qb IB

CLK A

C

D Qa

Qb

CLK B

MX 1 IA

A IB

Sériový vstup

Datový signálový

ýstup

( )

v Datový

signálový

( )

vstup Sériový výstup

posuv

režim

Obr. 14 – Funkce instrukce PRELOAD

MX 2 IA A C

D Qa

Qb IB

CLK A

C

D Qa

Qb

CLK B

MX 1 IA

A IB

Sériový vstup

Datový signálový

ýstup

( )

v Datový

signálový

( )

vstup Sériový výstup

posuv

režim MX 2

IA A C

D Qa

Qb IB

CLK A

C

D Qa

Qb

CLK B

MX 1 IA

A IB

Sériový vstup

Datový signálový

ýstup

( )

v Datový

signálový

( )

vstup Sériový výstup

posuv

režim

(33)

Obr. 15 – Funkce instrukce SAMPLE/PRELOAD v architektuře

MX

Bypass registr Datový registr Instukční registr

řadič TAP (TAP controller)

TDI

TMS TCK nTRST

ální (optim )

TDO Systémová

Logika

Vstupy obvodu

Výstupy obvodu

Níže uvedené instrukce jsou vedeny jako optimální, tzn. že podle normy mohou ale nemusí být podporovány. Tyto instrukce jsou nepovinné a volí si je dle potřeby návrhář.

• instrukce INTEST – Tato instrukce slouží k provedení testů systémové logiky a k získání její odezvy na tyto testy. Při této instrukci musí být stav na všech vstupních a výstupních pinech komponenty určen daty nasunutými do Boundary-Scan registru.

Jsou do něho uloženy hodnoty na výstupu systémové logiky ve stavu Capture-DR.

• instrukce IDCODE – Pokud komponenta obsahuje identifikační registr zařízení, pak musí mít vloženu tuto instrukci. Při použití instrukce IDCODE je mezi TDI a TDO vložen pouze identifikační registr zařízení. Identifikační údaj je pak možno z tohoto registru vysunout na výstup TDO. Identifikační registr obsahuje informaci týkající se výrobce integrovaného obvodu, typu zařízení a verzi kódu. Tato instrukce je užitečná pro ověření informace o součástkách a jejich správného umístění. Zpřístupnění do identifikačního registru nezasahuje do operace s integrovaným obvodem.

• instrukce RUNBIST – Instrukce způsobí spuštění vnitřního testu komponenty vestavěného výrobcem. Samotný test se provádí ve stavu Run-Test/Idle řadiče TAP.

Výhodou použití této instrukce je, že můžeme paralelně ve všech komponentách

(34)

obvodu spustit vestavěný test a otestovat tak všechny komponenty, aniž bychom do obvodu museli pouštět nějaká testovací data.

• instrukce USERCODE – Instrukce je velmi podobná instrukci IDCODE, s tím rozdílem, že mezi TDI a TDO je vložen uživatelský datový registr (user data registr). V tomto registru jsou uložena uživatelská data o komponentě (integrovaném obvodu).

Zpřístupnění do uživatelského registru nezasahuje do operace s integrovaným obvodem.

• instrukce HIGHZ – Instrukce nastaví třístavové výstupy komponenty do stavu vysoké impedance a vloží registr BYPASS do datové cesty mezi TDI a TDO. Během instrukce jsou data posouvána z TDI do TDO přes bypass registr bez vlivu na výstupy komponenty.

• instrukce CLAMP – Instrukce nastaví výstupy komponenty z Boundary-Scan registru do určených logických úrovní. Předtím než zvolíme tuto instrukci můžeme nastavit obsah Boundary-Scan registru instrukcí SAMPLE. Během instrukce jsou data posouvána z TDI do TDO přes bypass registr bez vlivu na výstupy komponenty.

¨

(35)

4 Popis obvodu Lattice ispLSI 1016EA

V této kapitole bude popsán obvod ispLSI 1016EA. S obvodem ispLSI 1016EA se pracovalo v diplomové práci a dělal se software na ovládání tohoto obvodu.

4.1 Technické parametry obvodu ispLSI 1016EA

• Vysoká hustota programovatelné logiky

- 2000 PLD hradel, 32 I/O vývodů, 1 rezervovaný vstup, 96 registrů;

- vysoká rychlost globálního propojení;

- 100 % IEEE 1149.1 Boundary Scan testovatelný;

- ispJTAG programovatelnost do systému přes IEEE 1149.1 (JTAG) Test Access Port;

- výběr uživatelem 3,3V nebo 5V I/O podpora systému smíšeného napájení (VCCIO pin);

- možnost výstupního otevřeného kolektoru.

• E2CMOS technologie

- fmax = 200MHz maximální operační frekvence;

- tpd = 4,5ns;

- TTL kompatibilní vstupy a výstupy;

- Elektricky smazatelné a přeprogramovatelné.

4.2 Popis struktury obvodu ispLSI 1016EA

IspLSI 1016EA je programovatelné logické zařízení obsahující 96 registrů, 32 I/O pinů, 1 rezervovaný vstupní pin, 2 rezervované vstupní hodinové signály, 1 globální OE vstupní pin a centrální propojovací matici (global routing pool – GRP). GPR poskytuje kompletní propojení mezi všemi těmito prvky. IspLSI 1016EA je programovatelný systém, je plně kompatibilní s TTL logikou a poskytuje diagnostické možnosti přes Test Access Port podle normy IEEE 1149.1. Dále nabízí přeprogramovatelnou logiku, poskytuje skutečné propojení překonfigurovatelného systému. Funkční nastavení architektury ispLSI 1016EA přidává uživatelsky nastavitelné 3,3V nebo 5V I/O a volbu výstupního otevřeného kolektoru (open-drain).

(36)

Obr.16 – ispLSI 1016EA funkční blokový diagram

Clock Distribution Network

CLK 0 CLK 1 CLK 2 IOCLK 0 IOCLK 1

TDI TDO TMS TCK

Global Routing Pool (GRP)

VCCIO

A0 A1 A2 A3 A4 A5 A6 A7

B7 B6 B5 B4 B3 B2 B1 B0

Generic Logic Block (GLBs)

GOE 0

Pozn. Y1 a RESET jsou multiplexovány na stejném pinu

Megablock I/O 0

I/O 1 I/O 2 I/O 3 I/O 4 I/O 5 I/O 6 I/O 7 I/O 8 I/O 9 I/O 10 I/O 11 I/O 12 I/O 13 I/O 14 I/O 15

I/O 31 I/O 30 I/O 29 I/O 28 I/O 27 I/O 26 I/O 25 I/O 24 I/O 23 I/O 22 I/O 21 I/O 20 I/O 19 I/O 18 I/O 17 I/O 16

Základní logická jednotka obvodu ispLSI 1016EA je Generic Logic Block (GLB), označují se A0, A1 … B7, což celkem činí 16 GLB. Každý GLB má 18 vstupů a programovatelné And/Or/Exclusive Or pole a 4 výstupy, které mohou být konfigurovatelné buď jako kombinační, a nebo registry. Vstupy do GLB přicházejí z GRP a rezervovaného vstupu. Všechny GLB výstupy jsou přivedeny zpět do GRP tak, že mohou být připojeny ke vstupům z jiných GLB.

(37)

Obvod obsahuje 32 I/O buněk, z nichž každá je přímo připojená na I/O pin. Každá I/O buňka může být jednotlivě programována kombinačním vstupem, registrovým vstupem, LATCH vstupem, výstupem nebo řiditelným třístavovým I/O pinem. Signálová úroveň je kompatibilní s TTL logikou. VCCIO pin je běžně připojitelný na napětí 5V nebo 3,3V.

Megablok tvoří 8 GLB, 16 I/O buněk, rezervovaný vstup (pokud je dostupný), 1 ORP připojené dohromady. Výstupy z 8 GLB jsou připojené přes ORP a nastavené z šestnácti univerzálních I/O buněk. Obvod ispLSI 1016EA se skládá ze dvou megabloků.

Hodinové signály v obvodu ispLSI 1016EA jsou vybírány z bloku clock distribution network. Dva rezervované hodinové piny (Y0 a Y1) jsou přivedeny do bloku clock distribution network a z tohoto bloku jde pět hodinových výstupů (CLK 0, CLK 1, CLK 2, IOCLK 0 a IOCLK1). Tyto signály se přivádějí přes hodinovou cestu do GLB a I/O buněk.

Clock distribution network může být také řízena ze speciálních hodin GLB (B0 na ispLSI 1016EA obvodu). Logika z GLB dovoluje vytvořit uživateli vnitřní hodiny z kombinačních vnitřních signálů uvnitř obvodu.

(38)

5 Paralelního portu PC

5.1 Popis paralelního portu

Paralelní port je v diplomové práci používán pro přenos dat mezi obvodem ispLSI 1016EA a PC. Proto je důležitý popis tohoto portu. Byl udělán přípravek pro komunikaci s LPT portem, který se nazývá LPT monitor. LPT monitor sleduje logické stavy na standardním paralelním portu (SPP) a tyto stavy jsou zobrazeny na LPT monitoru.

Standard IBM LPT byl vytvořen ke komunikaci s tiskárnou a nepočítalo se s jiným použitím. Z tohoto důvodu tomu odpovídá i hardwarové provedení a zapojení. Standardní paralelní port (SPP) je připojen na 25pinový konektor CANNON v provedení samička (dutinky). Tento konektor obsahuje 8 datových vodičů D0 až D7 umístěných na pinech 2 až 9, dále čtyři stavové výstupní (Strobe, Auto Linefeed, Initialize, Select Printer) a pět vstupních vodičů (Ack, Busy, Paper Out/End, Select, Error/Fault). Ve standardním provozu s tiskárnou čeká počítač na tiskárnu až do oznámení, že je připravena k provozu, tzn. přijmutí dalšího znaku. Na datové vodiče vyšle bity specifikující tento znak, oznámí signálem na pinu Strobe, že na datových vodičích je připraven další znak. Dále je možné, aby běžel hlavní program během doby, kdy tiskárna zpracovává přijatý znak. Toho se dá dosáhnout pomocí hardwarového přerušení na pinu Ack. Tato funkce funguje jen pokud je zapnuto přerušení v odpovídajícím registru. Standardní paralelní port využívá hardwarové přerušení IRQ5 nebo IRQ7. Existují pouze dvě adresy pro LPT, tj. adresa 378H (LPT1) a adresa 278H (LPT2). LPT2 se využívá méně častěji. Firma Hercules distribuovala v minulosti velmi úspěšné grafické rozhraní doplněné o další paralelní port, který byl umístěn na adrese 3BCH. Uvedená adresa LPT byla zahrnuta jako další možná adresa, avšak nepodporují ji všichni výrobci. Po startu počítače prohledává BIOS (Basic Input Output System) uvedené adresy v daném pořadí, a jestliže najde na těchto adresách paralelní port přiřadí mu číslo LPT od 1 do 3. Teoreticky by měl port LPT1 používat přerušení IRQ7 a LPT2 IRQ5, ale není to nutné. Zařízení mohou teoreticky používat stejné IRQ pro všechna LPT, zvukovou kartu, modem atd., avšak nesmí být používána najednou. Tento případ ale nevyhovuje některým obslužným programům, protože s ním nepočítají. Z tohoto důvodu je výhodnější mít pro každé rozhraní IRQ nebo mít sdružené jen některá zařízení, např. zvukovou kartu a LPT na IRQ7. Parametry jsou nastavitelné buď pomocí přepínače (jumpery) na desce, nebo pokud jsou porty integrované na desce,

(39)

dají se nastavit v SETUPu počítače na všech portech, jestliže tyto desky nejsou příliš staré.

Existují různé standardy pro porty např. SPP, EPP, ECP. Tyto standardy se liší v rozšířených možnostech, které si popíšeme níže. Nejdůležitější rozšíření je v možnosti obousměrné komunikace pomocí datových bitů D0 až D7. Tohoto je dosaženo pomocí změny hardwarové struktury koncové části těchto vodičů. Rozdíl mezi SPP a EPP je pouze nahrazení spínacího tranzistoru na kladné napájecí napětí odporem. Podle normy by se ohmová hodnota měla pohybovat kolem 4700Ω. U portu podle normy EPP a ECP je pin doplněn vstupem do vstupního registru, proto lze tento port nastavit do režimu čtení tím, že je do něj zapsána hodnota logických jedniček, takže tranzistory spínající logickou úroveň nula zůstanou rozepnuté, a i přes zakončovací odpor lze přečíst logickou úroveň přenášenou kabelem. Přenosovou rychlost v standardu ECP, EPP oproti standardu SPP lze až zdvojnásobit. Systém ECP a EPP plně zachovává zpětnou kompatibilitu, avšak přináší některé problémy s přenosovými vlastnostmi, které budou popsány v následujícím textu.

5.1 Přenosové vlastnosti

LPT port lze použít k přímému spojení počítačů bez nutnosti osazení síťové karty a jiných zařízení a instalací speciálního síťového softwaru. Pomocí paralelního portu lze přenášet data v průměru třikrát až čtyřikrát rychleji než pomocí sériového rozhraní (portu).

Komunikační datový kabel má však výrazně omezenou délku. Veškerá komunikace probíhá pomocí napěťových úrovní 5V (TTL logika), jsou kabely delší než 1m velmi náchylné k rušení. I tak lze však po dodržení určitých zásad používat až 10m dlouhé kabely pro komunikaci po LPT portu. Tyto zásady budou ve stručnosti popsány níže.

Pro datový kabel platí, že každý datový vodič by měl od sousedního kryt zemním vodičem nebo stíněním, aby nedocházelo k „přeslechům“ mezi jednotlivými datovými vodiči a kabel bude možno používat pro vyšší přenosovou rychlost i na větší vzdálenost.

(40)

5.2 Práce s paralelním portem

U paralelního portu si musíme dávat pozor na napěťový impuls, aby nedošlo ke zničení paralelního portu, který nemá ochranu proti tomuto impulsu. Zařízení je dobré napájet ze stejné zásuvky, nebo použít alespoň prodlužovací šňůru ze stejné zásuvky.

Další upozornění při práci s LPT:

• Používat stíněné vodiče, nebo alespoň svazky vodičů, kde zbývající dráty připojíme na zem. To platí hlavně pro dlouhá vedení, po nichž se bude komunikovat na rychlosti vyšší než 100kbitů/s.

• Při konstrukci všech zařízení na LPT připojujte pokud možno hned u konektoru rezistory, připojené na +5V. Jestliže se nejedná o speciální přípravek přímo pro práci s LPT. Toto opatření se dělá z důvodu omezení vytváření RC článku z přívodního kabelu. Doporučovaná je hodnota mezi 4 až 10kΩ. Dále se doporučuje přes tyto ukončovací odpory připojit všechny vodiče, které jsou v zařízení použity.

• Při rychlé komunikaci se doporučuje používat klopné obvody typu D, reagující na hranu a nikoliv LATCH, které reagují na úroveň. Při přesunu dat se většinou nejdříve nastaví data, a pak se jedním vodičem potvrdí jejich platnost. U obvody reagujících na úroveň se může stát, že během tohoto nastavení dat dojde k přeslechu a zapíší se špatná data.

• Software by se měl navrhovat s ohledem na enhanced porty. Bity, které nejsou použity v módu SPP, mohou být využity v módu ECP a EPP. Z tohoto důvodu bychom měli ošetřit softwarově i tyto stavy.

• Port LPT se nepoužívá jako zdroj napájení pro zařízení, tak jako např. myš ze sériového portu. Napětí pro logickou jedničku se někdy pohybuje kolem 3,5V, a nelze se proto po součtu napětí na diodách (z důvodu proudové zatížitelnosti) spolehnout ani na obvody pracují od 2,7V.

(41)

Používaná zařízení při práci s obvodem ispLSI 1016EA 1) osobní počítač s LPT portem;

2) paralelní kabel;

3) zdroj 5V;

4) rozvodný panel;

5) LPT monitor – tento modul umožňuje přímé propojení LPT portu mezi počítačem a přípravky pro TTL logiku. Obsahuje 8 datových výstupů D0 – D7 na BASE +0, čtyři výstupní stavové bity na BASE +2, pět vstupních bitů BASE +1. Tyto bity jsou podrobněji popsány v tabulce č. 1.

6) IspLSI 1016EA modul;

7) externí hodinový modul.

Tabulka č.1 – Rozložení pinů

Test signal D25 connector

I/O Pin name

TDI 2 Output D0

TMS 3 Output D1

TCK 4 Output D2

- 5 Output D3

- 6 Output D4

- 7 Output D5

- 8 Output D6

TRST 9 Output D7

- 1 Output /STROBE

- 14 Output /AUTO FEED

- 16 Output INIT

- 17 Output /SELECT IN

- 10 Input ACK

- 11 Input /BUSY

- 12 Input PE

- 13 Input SELECT

TDO 15 Input ERROR

GND 18-25 - GND

References

Related documents

Interní audit patří v současnosti k významným mechanismům v podniku, které mu napomáhají udržovat vysokou efektivitu. Jedná se o soustavnou činnost uvnitř organizace

financování vysokoškolského vzdělávání, lidský kapitál, návratnost investice, odložené školné, reforma školství ve Velké Británii, systém školství v

Vzhledem k tomu, že RFID tagem jsou označeny obalové jednotky, které se pohybují v uzavřeném systému v rámci závodu (slouží jako dopravní obal pro

Nelegální obchod s lidmi se týká lidí, kteří často naletí planým slibům obchodníků o zajištění práce v zahraničí, kde se z nich však stávají

Praktická část diplomové práce na vytvořených 3D reklamních materiálech (anaglyfická brožura a animace) ukazuje postupy, jenž se dají použít při tvorbě 3D

Personální práce se zabývá především prostorovým řešením práce (např. vhodnou výškou pracovní plochy čí optimálním prostorem), fyzikálními podmínkami

„Nájemní smlouvou pronajímatel přenechává za úplatu nájemci věc, aby ji dočasně (ve sjednané době) užíval nebo z ní bral i užitky. Pronajímatel je povinen

Protože jsou procesy výroby a výpočtu počtu kanbanových karet ve firmě TRW Automotive velmi složité, použijeme pro vysvětlení problému pouze zjednodušení