eské vysoké u ení technické v Praze Fakulta elektrotechnická



Podobné dokumenty
Mikrořadiče fy ATMEL

19 Jednočipové mikropočítače

PROCESORY. Typy procesorů

NÁVOD K OBSLUZE MODULU VIDEO 64 ===============================

VERZE: 01 DATUM: 05/2014

FWA (Fixed Wireless Access) Pevná rádiová přípojka

Architektury počítačů na bázi sběrnice PCI. Cíl přednášky: Obsah přednášky:

Číslicová technika 3 učební texty (SPŠ Zlín) str.: - 1 -

CL232. Převodník RS232 na proudovou smyčku. S galvanickým oddělením, vysokou komunikační rychlostí a se zvýšenou odolností proti rušení

A. PODÍL JEDNOTLIVÝCH DRUHŮ DOPRAVY NA DĚLBĚ PŘEPRAVNÍ PRÁCE A VLIV DÉLKY VYKONANÉ CESTY NA POUŽITÍ DOPRAVNÍHO PROSTŘEDKU

OVĚŘENÍ ELEKTRICKÉHO ZAŘÍZENÍ STROJŮ NOVĚ UVÁDĚNÝCH DO PROVOZU PODLE ČSN/STN EN Ed. 2

Pokyn D Sdělení Ministerstva financí k rozsahu dokumentace způsobu tvorby cen mezi spojenými osobami

ČÁST PÁTÁ POZEMKY V KATASTRU NEMOVITOSTÍ

Mikromarz. CharGraph. Programovatelný výpočtový měřič fyzikálních veličin. Panel Version. Stručná charakteristika:

-1- N á v r h ČÁST PRVNÍ OBECNÁ USTANOVENÍ. 1 Předmět úpravy

ZPRÁVA O PRŮBĚHU ŘEŠENÍ PROJEKTU

Měření základních vlastností OZ

I/O modul univerzální rozhraní

8. Struktura údaj na LCD displeji

TECHNICKÁ ZPRÁVA. Rekonstrukce budovy č.p. 2380, ul. Pod Nemocnicí, Louny - PZTS

ZAŘÍZENÍ PRO MĚŘENÍ POSUVŮ

účetních informací státu při přenosu účetního záznamu,

USB 3.0. Mechanická specifikace a fyzické rozhranní

Vyřizuje: Tel.: Fax: Datum: Oznámení o návrhu stanovení místní úpravy provozu na místní komunikaci a silnici

I. Objemové tíhy, vlastní tíha a užitná zatížení pozemních staveb

Úvod do programování a práce s počítačem

KAPITOLA 6.3 POŽADAVKY NA KONSTRUKCI A ZKOUŠENÍ OBALŮ PRO INFEKČNÍ LÁTKY KATEGORIE A TŘÍDY 6.2

Karel Johanovský Michal Bílek. Operační paměť

Vláda nařizuje podle 133b odst. 2 zákona č. 65/1965 Sb., zákoník práce, ve znění zákona č. 155/2000 Sb.:

11. Počítačové sítě protokoly, přenosová média, kapacity přenosu. Ethernet

Měření výkonu zesilovače

MĚSTO BENEŠOV. Rada města Benešov. Vnitřní předpis č. 16/2016. Směrnice k zadávání veřejných zakázek malého rozsahu. Čl. 1. Předmět úpravy a působnost

DOPRAVNÍ ZNAČENÍ do 30/2001: změna / doplnění nový název

Návod k instalaci a obsluze

Dvoukanálový monitor relativního chvění MMS 6110

Kritéria zelených veřejných zakázek v EU pro zdravotnětechnické armatury

Inteligentní zastávky Ústí nad Labem

Specifikace obvodu elektronického zapalování OEZ4. pro kogenera ní jednotky TEDOM

PALETOVÉ REGÁLY SUPERBUILD NÁVOD NA MONTÁŽ

AXIgo NÁVOD K OBSLUZE

VPS1 1/5. POPIS SIGNALIZAČNÍCH LED Červená připraveno k provozu, nebo komunikaci s PC Zelená čip přiložen (nekomunikuje s PC)

VÝZVA A ZADÁVACÍ DOKUMENTACE

Střední průmyslová škola Brno, Purkyňova, příspěvková organizace Provozní řád školy

Oblastní stavební bytové družstvo, Jeronýmova 425/15, Děčín IV

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

INTELIGENTNÍ DŮM. Zdeněk Kolář, Viktor Daněk. Střední průmyslová škola sdělovací techniky Panská 856/3, Praha 1

Program rovného zacházení provozovatele distribuční soustavy Pražská plynárenská Distribuce, a.s., člen koncernu Pražská plynárenská, a.s.

PCM30U Řízení, dohled, synchronizace

doc. Ing. Martin Hynek, PhD. a kolektiv verze Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky

Data v počítači EIS MIS TPS. Informační systémy 2. Spojení: jan.skrbek@tul.cz tel.: Konzultace: úterý

Ekvitermní regulátory, prostorová regulace a příslušenství

GIGAmatic. Tenzometrický přetěžovací převodník. 1. Popis Použití Technické informace Nastavení Popis funkce 6. 6.

VÝZVA K PODÁNÍ NABÍDKY NA PLNĚNÍ VEŘEJNÉ ZAKÁZKY MALÉHO ROZSAHU NA STAVEBNÍ PRÁCE

PŘÍLOHA 10 SMLOUVY O PŘÍSTUPU KE KONCOVÝM ÚSEKŮM. Pravidla a postupy

13. Sítě WAN. Rozlehlé sítě WAN. Počítačové sítě I. 1 (6) KST/IPS1. Studijní cíl. Představíme rozlehlé sítě typu WAN. Doba nutná k nastudování

Měření impedancí v silnoproudých instalacích

Převodník USB/DMX. Kráce o DMX. ( Martin Pantůček )

ŘÁD UPRAVUJÍCÍ POSTUP DO DALŠÍHO ROČNÍKU

Universal Serial Bus. Téma 12: USB. Komunikační principy Enumerace Standardní třídy zařízení

ODŮVODNĚNÍ VEŘEJNÉ ZAKÁZKY

Zadávací dokumentace

8 EGPVTW RQ\QTPQUVK ĮÉFKEÉ U[UVÅO 5'.1)+%# 7PKXGT\½NPÉ OCPCIGOGPV RTQEGUW

Fakulta informačních technologií VUT v Brně Ústav počítačových systémů Periferní zařízení, cvičení IPZ Analýza komunikace na sběrnici USB

MODULY ŘADY CFOX ZÁKLADNÍ DOKUMENTACE MODULU C-FC-0024X

NÁVRH ÚPRAV DOPRAVNÍHO REŽIMU V PRAZE - SUCHDOLE

SRF08 ultrazvukový dálkoměr

ZÁKON ze dne.2015, kterým se mění zákon č. 505/1990 Sb., o metrologii, ve znění pozdějších předpisů

Dvoupásmový přístupový bod pro venkovní použití Návod k obsluze - EC-WA6202 (EC-WA6202M)

PŘIJÍMACÍ ŘÍZENÍ. Strana

- regulátor teploty vratné vody se záznamem teploty

LPS2. Sada pro synchronní komunikaci na 1000m s galvanickým oddělením. 15. října 2010 w w w. p a p o u c h. c o m

Ėlektroakustika a televize. TV norma ... Petr Česák, studijní skupina 205

PŘÍLOHA 1.3 SMLOUVY O PŘÍSTUPU K VEŘEJNÉ PEVNÉ KOMUNIKAČNÍ SÍTI PŘÍSTUP K ŠIROKOPÁSMOVÝM SLUŽBÁM

Výzva pro předložení nabídek k veřejné zakázce malého rozsahu s názvem Výměna lina

269/2015 Sb. VYHLÁŠKA

Metodika kontroly naplněnosti pracovních míst

Pravidla o poskytování a rozúčtování plnění nezbytných při užívání bytových a nebytových jednotek v domech s byty.

Uplatňování nařízení o vzájemném uznávání u předmětů z drahých kovů

Katedra obecné elektrotechniky Fakulta elektrotechniky a informatiky, VŠB - TU Ostrava 16. ZÁKLADY LOGICKÉHO ŘÍZENÍ

7. Stropní chlazení, Sálavé panely a pasy - 1. část

Věc: Výzva pro předložení nabídek k veřejné zakázce s názvem: VÚ a ŠJ PŠOV, Nákup nového osmimístného vozidla

KVALIFIKAČNÍ DOKUMENTACE k veřejné zakázce zadávané podle zákona č. 137/2006 Sb., o veřejných zakázkách, ve znění pozdějších předpisů

1. Název veřejné zakázky Revitalizace sídliště Děčín III-Staré Město, veřejné prostranství - 2. část. 2. Identifikační údaje

Simulátor EZS. Popis zapojení

Návod k montáži a obsluze EB 5866 CS. Elektrické regulační ventily. Pneumatické regulační ventily

Mikroprocesor Intel 8051

Zadávací dokumentace k výběrovému řízení na Dodávku nábytku

Semestrální práce z předmětu mobilní komunikace na téma: Bezdrátové optické sítě

MĚŘENÍ PŘENOSOVÉ RYCHLOSTI PAMĚTÍ FLASH

DRAŽEBNÍ ŘÁD PRO DRAŽBU NEMOVITOSTÍ

POKYNY. k vyplnění přiznání k dani z příjmů fyzických osob za zdaňovací období (kalendářní rok) 2012

Rozší ení infrastrukturních Blade a diskových polí

Meze použití dílčího hodnotícího kritéria kvalita plnění a problematika stanovování vah kritérií

Příloha č. 54. Specifikace hromadné aktualizace SMS-KLAS

VÝZVA K PODÁNÍ NABÍDKY

KX-TDA verze Rozšiřte kapacitu a schopnosti Vašeho systému KX-TDA povýšením na verzi 2.02.

Analýza oběžného kola

Modulárně orientovaná struktura systému s distribuovanou inteligencí

Digitální album návod k použití

Transkript:

eské vysoké u ení technické v Praze Fakulta elektrotechnická Diplomová práce Pattern generátor 2008 Lukáš Mitá ek

Anotace Tato diplomová práce se zabývá návrhem pattern generátoru a jeho realizací, s tím také souvisejícím rozborem možností a zp sob ešení hardwaru a implementace ídicích ásti. Rozbor návrhu probíhá hlavn se z etelem na frekvenci výstupních vektor pattern generátoru, po tu jeho výstupních kanál, kapacity pam ti a možnosti komprimace generovaných vektor. Abstract This thesis concerns a pattern generator design and realization, an analysis of hardware solutions and possibilities of control functions implementation. The design analysis is especially provided regarding to maximal output frequency, bit-width of output pattern and capacity of internal memory. There is also discussed a way of data compression.

estné prohlášení Prohlašuji, že jsem zadanou diplomovou práci zpracoval samostatn a používal jsem literaturu v této diplomové práci uvedenou. Dále prohlašuji, že nemám námitek pro p j ování nebo zve ej ování mé diplomové práce nebo jejich ástí a využití výsledk této diplomové práce VUT Fakultou elektrotechnickou se souhlasem katedry m ení. Datum:... Podpis diplomanta:...

Tímto bych cht l pod kovat své mamince za její vytrvalou podporu b hem mého studia, a dále pak panu Ing. Ji ímu Novákovi, Ph.D. za cenné rady a p ipomínky p i vzniku této práce.

Obsah 1 Úvod... 8 2 Teoretický úvod... 10 2.1 Komunika ní rozhraní USB... 10 2.2 Hradlová pole FPGA... 15 3 Rozbor ešení... 24 3.1 Realizace s FPGA... 24 3.2 Realizace s FPGA a vn jší pam tí... 27 3.3 ízení toku vektor... 30 3.4 Realizace výstupních budi... 33 3.5 Realizace komunikace USB... 35 3.6 Shrnutí rozboru ešení... 41 4 Hardwarové ešení... 42 4.1 Blokové schéma... 42 4.2 ídicí a transportní FPGA... 43 4.3 RAM... 45 4.4 FTDI USB... 47 4.5 Výstupní blok... 48 5 Implementace FPGA... 53 5.1 Implementace komunikace s FTDI... 53 5.2 Komunika ní protokol... 54 5.3 Režimy generování výstupních vektor... 57 5.4 P íkazy a instrukce... 60 5.5 ízení transportního FPGA... 62 6 Software... 64 7 Výsledné parametry... 65 7.1 Obecné parametry p ístroje... 65 7.2 Parametry výstupních obvod... 65 8 Záv r... 70 9 Seznam použité literatury... 71 10 P íloha... 72 Seznam tabulek... 72 Seznam obrázk... 73 Deska plošného spoje... 74 Generované pr b hy... 77-7-

1 Úvod Pattern generátor 1 Úvod Název pattern generátor zahrnuje více pojm a princip, které s logickým pattern generátorem, jímž se zabývá tato práce, souvisí jen vzdálen. V anglické terminologii je tímto názvem velmi asto ozna en nástroj pro vytvá ení dvourozm rných obrazc, jako nap. fraktálních obrazc, masek pro výrobu plošných spoj, apod. P ekladem samotného anglického pojmu pattern do eštiny je slovo vzor, obrazec nebo také forma. Proto není nijak p ekvapující, když je tímto pojmem ozna en také nástroj pro generování binárních vektor, jehož ú elem je testování elektronických íslicových za ízení. Pattern generátor je p ístroj, který se p ímo podílí na diagnostice íslicových blok za ízení, podobn jako se generátor analogových signál využívá p i testování analogových obvod. S prudkým rozvojem digitální techniky, která v sob zahrnuje vývoj stále komplikovan jších obvod, nap. mikroprocesor, hradlových polí, pam tí, D/A p evodník a mnoha dalších, souvisí pot eba tyto obvody náležit testovat, což klade ur ité nároky na testovací za ízení. V sou asné dob vyráb né pattern generátory, asto spojené s logickým analyzátorem v jeden celek, musí spl ovat adu parametr od požadované frekvence generování signálu, p es požadavek na úrove výstupních signál až po po et použitelných kanál. Uživatelsky p ív tivé grafické rozhraní pro pohodlné a názorné zadávání dat je samoz ejmostí. Ve své diplomové práci jsem se zam il na návrh pattern generátoru a na základ rozboru zohled ující dále uvedené podmínky, jsem tento pattern generátor realizoval. Nakolik byla tato moje realizace úsp šná, je na základ srovnání definovaných a kone ných parametr pojednáno v záv ru této práce. -8-

1 Úvod Pattern generátor Vymezení podmínek návrhu V tomto oddílu jsou vymezeny požadavky a kone né parametry, které by m l realizovaný pattern generátor spl ovat nebo se k nim minimáln blížit. Na základ t chto požadavk a kone ných parametr p ístroje je v záv ru této práce provedeno zhodnocení. Základním požadavkem pro realizaci pattern generátoru je použití ipu FPGA, který by v sob implementoval logiku ízení a komunikace. Implementace bude popsána v jazyce VHDL. Tento ip ovšem nesmí být uložen v pouzd e BGA, které by vyžadovalo realizaci nákladné šestivrstevné desky. Komunikace s pattern generátorem bude probíhat výhradn na základ sb rnice AMBA bus APB, jejíž komunika ní modul bude p ipojen p ímo na desku pattern generátoru. Vzhledem k tomu, že tento komunika ní modul je zatím ve vývoji a samotnou funkci p ístroje by nebylo možné takto otestovat, realizuje se navíc za tímto ú elem komunika ní rozhraní USB. Z hlediska frekvence generovaných vektor na výstupu je stanovena minimální rychlost zm ny výstupu kanálu na 10 MHz. Hodnotu výstupní frekvence bude dále možné softwarov snižovat až k úrovni jednotek Hz. Maximální ší ka výstupního vektoru by se m la pohybovat v rozmezí 32 bit až 64 bit (4 až 8 výstupních bran po 8 bitech). Po et aktivních bran bude p itom možné m nit softwarov. Úrove výstupního nap tí bude pro každou bránu zvláš digitáln nastavitelná s požadovanými úrovn mi 1,8 V, 2,0 V, 3,0 V, 3,6 V, 5,0 V. Koncepce musí podmi ovat další rozší ení o mezilehlé nap ové úrovn. Minimální požadovaná hloubka pam ti je stanovena na 2 Mb p i plném využití výstupních bran a bude závislá na po tu aktivních bran. -9-

2 Teoretický úvod Pattern generátor 2 Teoretický úvod V této ásti je provedeno p iblížení oblastí, které s návrhem pattern generátoru p ímo souvisejí. Jedná se p edevším o komunikaci USB a hradlová pole FPGA, na jejichž možnosti a parametry bude odkazováno v dalších kapitolách této práce. 2.1 Komunika ní rozhraní USB Za zrodem komunika ní sb rnice USB stojí n kolik d vod, které m ly za cíl optimalizovat komunikaci PC a p ipojených jednotek. Jedním z prvotních d vod bylo propojení telefonních a po íta ových systém jednotným a levným zp sobem. Další z p í in, která stála za vznikem sb rnice USB v podob jaké byla specifikována, byl problém s nemožností jednoduché konfigurace p ipojených za ízení z pohledu koncového uživatele. Cílem vývoje se stalo dosažení atributu plug&play sb rnice, což znamená automatickou detekci a konfiguraci p ipojeného za ízení v okamžiku jeho p ipojení, které m že být provedeno za chodu systému PC, tzv. hot swapping. Nedostatek obousm rných, levných a dostate n rychlých externích periferií bránilo v dalším užívání a rozvoji za ízení jako telefon, fax apod., což m lo být odstran no s nástupem USB. Tyto d vody a další stály za specifikací verze USB1.0 a USB1.1 (zve ejn na 1998), která byla pozd ji rozší ena o verzi USB 2.0 (2000). P vodn definované rychlosti byly stanoveny na 12 Mbit/s (full speed) a na 1,5 Mbit/s (low speed). Základní rozší ení spo ívalo v p idání dalšího komunika ního módu s rychlostí komunikace p ipojeného za ízení na 480 Mbit/s (high speed). Za ízení ve verzi 2.0 jsou zp tn kompatibilní. V sou asné dob se pracuje na specifikaci verze 3.0, která by oproti d ív jší verzi m la dosahovat rychlosti komunikace až 4,8 Gbit/s, k dispozici by m la být v polovin roku 2008. Sb rnice USB je charakterizována jako poloduplexní, izochronní, nízkonákladové, dynamicky konfigurované, sériové rozhraní k PC. 2.1.1 Topologie sít Topologie sb rnice USB má hv zdicovitou strukturu (viz obr. 2.1). Fyzicky je sí tvo ena t emi základními elementy host, hub, funk ní jednotka, které jsou mezi sebou propojeny zp sobem point-to-point (p ímé propojení element ) - host je p ipojen k hub nebo funk ní -10-

2 Teoretický úvod Pattern generátor jednotce, hub je p ipojen k hubu nebo funk ní jednotce. Vzhledem ke zpožd ním p i pr chodu signálu je tato sí omezena do úrovn 7 (v etn ). obr. 2.1 Topologie USB USB host figuruje v celém systému pouze jednou a ídí veškerou komunikaci na sb rnici. USB hub slouží pro p ipojení dalších funk ních jednotek, které nelze p ipojit p ímo k host nebo jejich p ipojení je p es hub výhodn jší. USB funk ní jednotka je koncové za ízení uživatele, jako nap. scanner, myš, atd. USB hub a USB funk ní jednotku ozna ujeme souhrnn jako USB za ízení. 2.1.2 Fyzická vrstva Propojovací kabel Spojení mezi jednotlivými za ízeními je zprost edkováno ty vodi ovým kabelem o délce 3 až 5 metr, který krom vodi napájení a zem disponuje dv ma datovými vodi i, které spolu vytvá ejí jeden pár diferen ního vodi e. Podle požadavk na rychlost p enosu (full/high speed) m že být tato dvojice kroucená a stín ná. -11-

2 Teoretický úvod Pattern generátor obr. 2.2 Kabel USB pro full/high speed Nap ové úrovn na sb rnici Napájecí nap tí na sb rnici USB má hodnotu +5 V. Podle požadavku USB za ízení, m že být tímto napájecím nap tím dodáváno až 0,5 A, o ur ení maxima tohoto odb ru rozhoduje USB host. Pro datový signál D se odvozují ty i základní úrovn nap tí dv pro vysílací za ízení (V OH a V OL ) a další dv pro p ijímací stranu, a to z d vodu zachování šumové imunity (V IH a V IL ). Tabulka tab. 2.1 informuje o hodnot t chto úrovní, na základ kterých se dále definují stavy na sb rnici. p ijíma min. max. V IH 2.0 V IHZ 2.7 3.6 V V IL 0.8 V vysíla V OH 2.8 3.6 V V OL 0.0 0.3 V V OSE1 0.8 V tab. 2.1 Mezní nap. úrovn na sb rnici pozn. výše uvedené úrovn platí pouze pro komunikaci full speed a low speed Interpretace stav na sb rnici Podle výše definovaných úrovní a asových parametr interpretujeme stavy na sb rnici podle tabulky tab. 2.2. Rozlišení typu za ízení na full speed (nebo high speed - vzájemné rozlišení p i konfiguraci) resp. low speed je zajišt no hardwarov, a to p ipojením 1,5 k pull-up rezistoru k D+ vodi i, resp. k D- vodi i. Pro USB jsou dále definovány stavy SE1, J-state, K-state, Resume state, Start-of-Packet, End-of-Packet, Reset. -12-

2 Teoretický úvod Pattern generátor Stav sb rnice Úrovn nap tí vysíla (zdrojový p ijíma (koncový konektor) konektor ) vyžadováno akceptováno (D+) (D-) > 200 mv difer. 1 D+ > V OHmin a D- < V OLmax D+ > V IHmin (D+) (D-) > 200 mv (D-) (D+) > 200 mv difer. 0 D- > V OHmin a D+ < V OLmax D- > V IHmin (D-) (D+) > 200 mv idle Low-speed NA D- > V IHZmin a D+ < V ILmax D- > V IHZmin a D+ < V IHmin Full-speed D+ > V IHZmin a D- < V ILmax D+ > V IHZmin a D- < V IHmin SE0 D- a D+ < V OLmax D- a D+ < V ILmax D- a D+ < V IHmin SE1 D- a D+ > V VOSE1 min D- a D+ > V ILmax disconnect NA SE0 > 2.5 µs connect NA Idle > 2 ms Idle > 2.5 µs tab. 2.2 Interpretace stav na sb rnici pozn. pro komunikaci high speed jsou stavy difer. 1 a difer. 0 definovány odlišn 2.1.3 Komunika ní protokol USB Komunikace mezi USB funk ní jednotkou a USB host probíhá pomocí p enos dat, které jsou realizovány p es tzv. roury. Rourami nazýváme spojení softwaru USB host a koncového bodu (endpoint) funk ní jednotky, které m že být jednosm rné nebo obousm rné. Každé funk ní za ízení disponuje koncovým bodem 0, který slouží výhradn pro ú ely po áte ní konfigurace a je obousm rný, dále pak koncovými body 1 až 15 s nastavením pro sm r p enosu. Každá roura je jedine ná tím, že p esn definuje sm r komunikace, za ízení, koncový bod daného za ízení a navíc také typ p enosu. Protokol sb rnice USB podporuje celkem ty i typy p enos podle charakteru p enášených dat: kontrolní (Control Transfer) zpravidla konfigura ní data provád ná p i p ipojení jednotky hromadný (Bulk Data Tranfer) p enos bloku dat (nap. ze scanneru apod.) p erušení a stav (Interrupt Data Transfer) zpráva o zm n stavu (nap. polohy myši) izochronní (Isochronous Data Transfer) kontinuální tok dat s možnou chybovostí (videokonference apod.) -13-

2 Teoretický úvod Pattern generátor Kontrolní, hromadný, p erušení a stav p enosy bývají ozna ovány jako zprávy (messages) podle pevn stanovené struktury p enášené informace. U tohoto typu probíhá kontrola chybn p ijatých dat s možností opakování p enosu. Naopak izochronní p enos bývá ozna ován jako proud (stream) vzhledem k nedefinované struktu e a nutnosti p enášet data v reálném ase. Jakkoliv špatn p ijatá data nejsou u tohoto typu opakována. Každý p enos se skládá z jedné nebo n kolika transakcí. Transakce se zpravidla sestávají ze t í paket v následujícím po adí vysílání Token paket, Data paket, Handshake paket. Token paket na za átku komunikace vysílá USB host a definuje tím sm r p enosu a typ transakce, adresuje p itom za ízení a jeho koncovou jednotku. Podle sm ru p enosu dále pokra uje v p enosu Data paketu nebo p enechá vyslání paketu na adresované funk ní jednotce. Transakce se v p ípad zprávy uzavírá vysláním Handshake paketu ze strany p íjemce dat (pokud byla tato data poskytnuta). Pro ilustraci je uveden hromadný p enos (viz obr. 2.3). obr. 2.3 Sekvence hromadného p enosu (pouze full speed a low speed) Vysv tlivky DATA0/DATA1 zna ení sudého nebo lichého paketu sou ást kontroly p ijatých paket ACK potvrzení o správn p ijatém paketu NAK data nebyla p ijata (posílá p íjemce dat), žádná data pro odeslání (odesílatel) STALL indikuje nepodporovaný požadavek na koncový bod funk ního za ízení nebo nemožnost data p ijmout -14-

2 Teoretický úvod Pattern generátor Jednotlivé pakety, potažmo transakce, jsou rozvrženy do asových rámc, které v p ípad full a low speed odpovídají dob trvání 1 ms, pro high speed trvají 125 μs. Ve specifikaci USB je dále uvedeno, jakým zp sobem je p id lován prostor (frame bandwidth) jednotlivým transakcím v rámci, p ednostní právo pro p íjem a vysílání, maximální možné p enosové rychlosti podle po tu bajt v Data paketu, atd. Kóduje se systémem NRZI s využitím tzv. bit stuffingu. 2.2 Hradlová pole FPGA Hradlová pole FPGA jsou velmi efektivním nástrojem p i vytvá ení ešení v oblasti digitální techniky, kde je pot eba realizovat datové toky s pom rn velkým množstvím signál a sou asn pot ebou jejich rychlého zpracování. Zpravidla se využívají tam, kde procesorové systémy svým výkonem nesta í. FPGA (Field Programmable Gate Array) jsou programovatelné integrované obvody, sestávající z konfigurovatelných blok o r zném stupni hustoty integrace a propojovacími cestami. Jejich obliba v poslední dob roste v závislosti na zvyšujícím se množství vnit ních konfigurovatelných blok, stoupající taktovací frekvenci, po tu vstupn /výstupních jednotek, klesající cen a v neposlední ad snižujícími se náklady na vývoj implementace požadovaného ešení. Zvlášt v malosériové výrob dostávají p ednost p ed dražšími zákaznickými nebo polozákaznickými obvody. Velkou výhodou t chto ip je jejich možnost programování p ímo v systému (ISP - In System Programming), což usnad uje lad ní a p ípadnou opravu chyb. Stejn tak užite ná je možnost modifikování funk ního ešení pomocí pozd jších upgrad. Na druhou stranu ve v tšin p ípad nejsou dostate nou zárukou ochrany duševního vlastnictví - v tšina FPGA má informaci o struktu e ešení uloženou ve vnit ní volatilní pam ti, takže je nutné p i každém restartování systému danou informaci nahrát prost ednictvím vn jší pam ti. Toto riziko bývá u n kterých ip dodate n sníženo kryptováním konfigura ních dat. V p ípad velkosériové výroby se dává p ednost zákaznickým nebo polozákaznickým (ASIC) obvod m, a už z d vodu nižších náklad nebo optimalizace daného ešení. V dnešní dob na trhu FPGA dominantn figurují p edevším výrobci Xilinx (zaujímá tém polovinu trhu) a Altera. Obvody t chto výrobc se v ur itých ohledech liší, ovšem celkový pohled na vnit ní architekturu t chto obvod je velmi podobný. Z tohoto d vodu bude možné -15-

2 Teoretický úvod Pattern generátor p iblížit vlastnosti a funkci jednotlivých blok na vybrané rodin ip FPGA. Pro demonstraci této architektury byl vybrán ip rodiny Xilinx Spartan 3E. 2.2.1 Architektura FPGA Architektura je tvo ena n kolika základními jednotkami, které se liší jak svým umíst ním na ipu, tak po tem jejich zastoupení. Jádro pro vytvá ení logických funkcí (nap. stavových automat, adi, posuvných registr apod.) tvo í konfigura ní logické bloky (CLB - Configuration Logic Blocks). Pro p enášení dat a signál mezi okolím ipu a jeho vnit ními CLB slouží vstupn /výstupní bloky (IOB Input/Output Blocks). Na ipu jsou dále zastoupeny bloky pro úpravu hodinového (taktovacího) signálu - správce hodinového signálu (DCM - Digital Clock Manager), bloky pam ti RAM a bloky aritmetické násobi ky. Rozložení t chto blok je vid t na níže uvedeném obrázku. obr. 2.4 Rozložení blok na ipu U n kterých obvod FPGA se bloky RAM a aritmetické násobi ky nemusí objevit, ovšem z hlediska vyšší variability a efektivity jsou tyto bloky v tšinou na ipu zastoupeny. 2.2.1.1 Konfigura ní logické bloky (CLB Configuration Logic Blocks) Tyto bloky slouží k implementaci synchronních obvod nebo kombina ních obvod. Bloky CLB jsou uspo ádány do matice o stanoveném po tu ádk a sloupc, od ehož se také odvíjí hustota integrace blok na ipu. Podle po tu CLB (který m že být dále p epo ítán na po et -16-

2 Teoretický úvod Pattern generátor ekvivalentních logických bun k) odhaduje návrhá na základ své zkušenosti, jaká m že být maximální možná složitost implementace ešení. Obecn platí, že ipy s vyšší hustotou integrace jsou dražší, takže z hlediska náklad je výhodné vybírat ipy s nejnižší dosta ující možnou integrací bun k CLB. Každý blok CLB v sob zahrnuje: Look-up Tables (LUT) - bloky, které vytvá ejí logickou funkci nebo slouží jako distribuovaný blok RAM o kapacit 16x1 bit nebo jako posuvný 16-bitový registr (v p ípad Spartan 3E) registry, které mohou sloužit jako D-klopné obvody nebo jako latch-klopné obvody multiplexery logiku podporující p enosy p i aritmetických operacích. Obrázek obr. 2.5 poskytuje ur itou p edstavu o propojení t chto ástí. Výše uvedené zastoupení blok v CLB platí obecn pro obvody FPGA. Co se týká obvod FPGA pouze firmy Xilinx, bylo by z hlediska úplnosti vhodné uvést, že každý blok CLB vytvá í 4 tzv. slice 2 levé a 2 pravé, teprve sou ástí t chto slice jsou všechny zmín né elementy v etn LUT (každá slice obsahuje po 1 páru LUT). obr. 2.5 Blokové schéma propojení v CLB -17-

2 Teoretický úvod Pattern generátor 2.2.1.2 Vstupn /výstupní bloky (IOB - Input Output Blocks) Vstupn /výstupní bloky slouží jako rozhraní pro p ipojení vn jších signál na konfigura ní logické bloky. IOB jsou programovatelné obvody, které se dají nastavit podle sm ru p enášeného signálu na vstupní, výstupní a obousm rné. Stejn tak je podporováno nastavení I/O budi podle r zných standard jako v p ípad single-ended standard - LVTTL, CMOS18, CMOS25, atd., nebo diferen ních standard - LVDS_25, RSDS_25 atd. Zakon ovací rezistory jsou sou ástí IOB podle obrázku obr. 2.6. Sou asn s nastaveným standardem musí souhlasit také úrove napájecích nap tí t chto blok. IOB bloky jsou rozd leny do n kolika bank (4 v p ípad Xilinx) podle odd lených napájecích nap tí. Tento fakt umož uje situaci, kdy jednotlivé banky mohou používat vzájemn odlišné I/O standardy vyžadující r zné napájecí úrovn. obr. 2.6 Koncové p izp sobení diferen ních standard obr. 2.7 Rozložení bank na ipu Standardy LVCMOS a LVTTL umož ují ve svém výstupním módu nastavit rychlost výstupní hrany (SLOW, FAST) a stanovit maximální odb r budi podle p eddefinovaných šesti úrovní (2, 4, 6, 8, 12, 16 ma). Nastavení proudového odb ru budi ovliv uje strmost výstupních bran. Obecn platí, že se zvyšující se hodnotou odb ru výstupního budi e roste také rychlost náb žných a spádových hran vlivem p ebíjení parazitních kapacit. Proto by se p i nastavování kombinace obou parametr m lo dodržovat doporu ení na co nejnižší rychlost hran, která je v daném zapojení únosná. Sníží se tím spot eba a úrovn rušení na desce DPS (desce plošného spoje). Sou ástí IOB blok jsou pam ové elementy, které se uplat ují zejména p i tení a zápisu s vlastností DDR (Double Data Rate validní data p i náb žné i spádové hran ). Jejich další význam souvisí s prevencí p ed nedefinovanými stavy v p ípad asynchronního vzorkování a úspo e prost edk logických blok. -18-

2 Teoretický úvod Pattern generátor Každý vstupní blok m že na svém výstupu zpož ovat signál v d sledku zabudované zpož ovací linky (viz obr. 2.8). Ta se skládá ze sériov zapojeného inicializa ního zpož ovacího lenu a následného 7 lenného kaskádního zpož ovacího lenu. Kombinací nastavení t chto dvou len se docílí 14 hodnot možného zpožd ní. Zpož ovací len hraje svou významnou roli hlavn v p ípadech podmínky dodržení p edstihu a p esahu vy ítaných dat, která by bez nastavení zpožd ní nemusela být spln na vlivem r zného zpožd ní p i pr chodu signálu. obr. 2.8 Zpož ovací len IOB 2.2.1.3 Správce hodinového signálu (DCM - Digital Clock Manager) Tento blok zajiš uje generování hodinového signálu pro synchronní obvody FPGA. Blok DCM v sob neobsahuje žádný oscilátor nebo jiný vnit ní zdroj hodinového signálu, pouze upravuje referen ní hodinový signál, který p ivádíme extern na vyhrazené piny. Funkce DCM konkrétn zahrnuje následující úkoly. Frekven ní syntéza Tou se rozumí možnost nastavovat hodnotu frekvence hodinového signálu. Spartan 3E n dovoluje generovat hodinový signál podle vzorce f CLKFX f REF, kde f REF je frekvence m referen ního signálu a n, m jsou p irozená ísla v rozmezí 1 až 32. Sou asn s tímto hodinovým signálem je možno dále do obvodu p ivád t nap. samotný hodinový signál f REF, 2x f REF, f REF 2 nebo také jejich negaci ( s výjimkou f REF 2 ). Podmínkou ovšem z stává maximální po et 4 sou asn generovaných hodinových signál z jedné jednotky DCM, což m že být pom rn omezující podmínka p i požadavku na více frekven ních domén designu ešení. -19-

2 Teoretický úvod Pattern generátor Fázové posuvy Touto funkcí se realizuje nap. invertování hodinového signálu, což odpovídá fázovému posunu signálu o 180, dále je možné generovat signál s posunem o 90, 270 nebo voliteln se statickým asovým zpožd ním t PS n 512 posun T REF, kde hodnota n posun je v rozmezí 1 až 511. Krom toho lze nastavovat zpožd ní také dynamicky v pr b hu b žícího systému. Eliminace zpožd ní Vlivem r zn dlouhých tras hodinového signálu dochází ke snížení rychlosti hrany hodinového signálu. Tato skute nost zp sobuje faktické zpožd ní signálu a bez konkrétního opat ení by vedla k nedodržení dob p edstihu a p esahu. Konkrétním opat ením je zp tné zavedení hodinového signálu po pr chodu ipem do bloku DCM a jeho fázové zarovnání na vstupní referen ní hodinový signál. Na blok DCM bezprost edn navazuje distribu ní sí hodinového signálu, která zajiš uje minimální zpožd ní a degradaci hodinových hran. 2.2.1.4 Bloková pam RAM Ve v tšin dnes nabízených obvod FPGA je zabudován blok pam ti RAM, který m že v p ípad implementovaného mikrokontroléru sloužit jako pam instrukcí, v p ípad datového p enosu mezi dv ma a více r zn rychlými za ízeními jako rychlá vyrovnávací pam apod. Výhodou t chto pam tí je krátká p ístupová doba a možnost voliteln nastavit ší ku slova (ší ku vektoru dat nebo instrukcí). Naopak tyto pam ti nedisponují nijak vysokou kapacitou ádov jednotky až stovky kb. 2.2.1.5 Aritmetická násobi ka Nemusí být zastoupena u všech obvod FPGA. Tento blok se uplat uje zejména p i aritmetických operacích jako sou ást implementace aritmeticko-logické jednotky, p ípadn m že sloužit jako dodate ná pam nebo posuvný registr. Násobení je zpravidla optimalizováno na 18-bitová slova. Vzájemným propojením blok násobi ky se bitová ší ka initel zvyšuje. -20-

2 Teoretický úvod Pattern generátor 2.2.1.6 Propojovací sí Ke vzájemnému propojení jednotlivých blok slouží propojovací sí. Ta disponuje n kolika typy propojovacích vedení z d vodu optimalizace signálových cest a k jednotlivým blok m je p ipojena p es propojovací matice (Switch Matrix). Pot ebné spojení sousedních bun k realizují krátké p ímé spoje, naopak propojení n kolika vzdálených bun k se provede dlouhým vedením. obr. 2.9 Propojovací sí Propojovací sít obvod Xilinx v sob zahrnují speciální signálové cesty, které se uplat ují hlavn p i konfiguraci ipu: GSR (Global Set/Reset) p i konfiguraci asynchronn nastaví všechny pam ové elementy (s výjimkou bun k pam ti RAM) na definovanou úrove (v tšinou log. 0), takže nedochází ke startu sekven ních automat z neznámého stavu (pokud použitý syntetizér kóduje stavy od po áte ní hodnoty 0, první uvedený stav v každém stavovém automatu bude sou asn startovacím stavem) GTS (Global Three State) p ed samotnou konfigurací a v jejím pr b hu udržuje I/O piny ve stavu vysoké impedance 2.2.2 Konfigurace FPGA Konfigura ní data struktury implementovaného ešení, tedy informace o použitých blocích, jejich nastavení a celkovém propojení, je u v tšiny nabízených obvod uložena v blocích vnit ní pam ti. Protože se jedná o volatilní pam, je nutné p i každém restartu systému nahrát konfigura ní data z externí pam ti, a to n kolika možnými zp soby. Následující tabulka zohled uje možné zp soby konfigurace a jejich vlastnosti. -21-

2 Teoretický úvod Pattern generátor Master Serial SPI BPI Slave Parallel Slave Serial JTAG Ší ka dat 1 bit 1 bit 8 bit 8 bit 1 bit 1 bit Hodinový zdroj Po et uživ. I/O blok interní interní interní externí externí externí FPGA FPGA FPGA 8 13 46 21 8 0 Možnost realizace Xilinx platforma Flash (XpF) standardní SPI Flash stand. NOR Flash, XpF CPU, mikrokontrolér, XpF CPU, mikrokontrolér, XpF CPU, mikrokontrolér tab. 2.3 Možnosti konfigurace FPGA Konfigura ní data mají podobu bitstreamu s pevn stanoveným datovým objemem souvisejícím s typem FPGA, pro který je bitstream generován. Na základ této hodnoty se obvykle vybírá externí pam ový blok tak, aby spl oval požadavek na velikost kapacity pam ti pro uložení bitstreamu. Režim v jakém se bude FPGA konfigurovat, je definován v dob inicializace vnit ních registr FPGA podle logických úrovní nap tí na vyhrazených vstupních pinech. Podle toho p izp sobí ip svoje IOB bloky (vstupní, výstupní, High-Z) a zvolí p íslušný stavový automat pro komunikaci. P íklad konfigura ní sekvence ip Xilinx Konfigura ní sekvence za íná uvoln ním signálu POR (Power On Reset) p i restartu systému, kdy napájecí úrovn dosáhly svých požadovaných hodnot, nebo p i resetu ipu zp sobeného p ivedením log. úrovn 0 na pin PROG_B (intern p ipojen pull-up rezistor). Jedním nebo druhým zp sobem se docílí mazání konfigura ní pam ti indikované úrovní log. 0 na pinu INIT_B. Na konci tohoto cyklu, kdy INIT_B p echází na log. úrove 1, ovzorkují se úrovn signál na vstupech M0, M1, M2 a HSWAP. Kombinace M0 až M2 stanoví zp sob konfigurace, signál HSWAP ur í, zda mají být b hem konfigurace k vstupn /výstupních pin m vnit n p ipojeny pull-up (nebo pull-down) rezistory. Signál DONE v log. 1 informuje o dokon ení konfigurace FPGA a o sou asném spušt ní implementovaného designu. -22-

2 Teoretický úvod Pattern generátor 2.2.2.1 JTAG Asi nejužívan jší systém pro programování zabudovaných ip v systému (In System Programming) je sériové komunika ní rozhraní JTAG (Join Test Action Group). Jeho p edností je krom nízkého po tu pot ebných pin pro komunikaci (4) zejména možnost et zit jednotlivá za ízení do jedné komunika ní smy ky. Pomocí tohoto rozhraní lze rovn ž provád t diagnostiku zapojených obvod. -23-

3 Rozbor ešení Pattern generátor 3 Rozbor ešení Obecn se dá íct, že pattern generátor je za ízení, které na svém vstupu p ijímá vektory dat a na svém výstupu tyto vektory generuje. Provádí tak ur itou konverzi mezi formami p ijímaných a následn vysílaných dat. V této práci je brán z etel hlavn na formu výstupních dat. Z principu funkce je pattern generátor složen z t chto schématických blok komunika ní rozhraní, ídicí jednotka, pam a výstupní obvody. Realizace t chto blok a jejich vzájemné propojení nabízí nep eberné množství ešení a s tím souvisejících výsledných parametr p ístroje. I tady ovšem platí osv d ené r ení n co za n co. Vzhledem k požadavku realizace pattern generátoru prost ednictvím FPGA, který sám o sob disponuje (nebo m že disponovat) výše zmín nými bloky pattern generátoru, omezím se pro za átek na realiza n nejjednodušší variantu. 3.1 Realizace s FPGA Výchozím stavem je nejjednodušší varianta návrhu, a to pouze s použitím jednoho ipu FPGA, bez jakýchkoliv p ídavných pam tí nebo výstupních obvod. Potom bude blokové schéma vypadat podle obr. 3.1. ipy v zapouzd ení BGA jsou p edem vylou eny z výb ru, nebo vedou v d sledku na nákladnou výrobu šestivrstevných (a více) desek plošného spoje. Pattern generátor NAPÁJECÍ BLOK RAM PC USB k. r.* VÝST. BUDI E DUT ÍDÍCÍ BLOK USB k.r. - KOMUNIKA NÍ ROZHRANÍ USB * tento blok je probrán v kap. 3.5 obr. 3.1 Blokové schéma ešení Po prostudování nabídky výše zmín ných elních výrobc FPGA byla sestavena tabulka s nejvyššími nalezenými hodnotami pro vybrané parametry (výb r nejvyšší hodnoty daného -24-

3 Rozbor ešení Pattern generátor parametru pro všechny ipy p icházející do úvahy, tedy nezapouzd ené v BGA) a s typickými hodnotami pro každého výrobce zvláš. V této tabulce není ani tak zajímavé vzájemné srovnání jednotlivých p edstavitel, jako spíš p edstava o možnostech této realizace. Xilinx Altera Spartan XC3S250E Cyclone EP2C20 ekvivaletní logické bloky 10476 5508 39600 18752 vnit ní pam ipu kbit 360 216 1134 240 po et uživ. I/O bun k 158 185 142 max. frekvence tení RAM MHz 320 240 256 195 tab. 3.1 Parametry ip Xilinx a Altera 3.1.1 Vnit ní pam ipu Z tabulky je z ejmé, že maximální možná hloubka pam ti je 1134 kbit. Na základ grafu 3.1 lze p ibližn stanovit výslednou hloubku pam ti v závislosti na ukládané ší ce dat. Bloková pam je optimalizována pro ší ku 18 bit, v jiných p ípadech nemusí syntetizátor využít všech bitových bun k. Tato pam se sice ješt dá rozší it o pam ové bloky tvo ené nevyužitými CLB bu kami, ale vzhledem k tomu, že zatím není možné dostate n odhadnout složitost implementace ešení, nebude tento p ípad uvažován. Tato dodate ná pam by ostatn navýšila kapacitu maximáln o 33%. 160 140 hloubka pam ti [kbit ] 120 100 80 60 40 20 0 0 8 16 24 32 40 48 56 64 ší ka vektor [bit] graf 3.1 Závislost hloubky pam ti na ší ce dat Nap. pro ší ku dat 32 bit je možno uložit mén než 40 000 vektor. -25-

3 Rozbor ešení Pattern generátor 3.1.2 Po et uživatelských I/O bun k Po et I/O bun k je omezen v nejlepším p ípad na 185 uživatelských pin, takže musí být omezena také ší ka výstupního vektoru. Podle zpracované minitabulky bude možné rozhodnout, kolik pin lze vyhradit pro tento ú el. Po et pin Po et uživ. I/O 185 AMBA BUS -61 Rozhraní USB -13* Další využití -10** Max. ší ka vektoru 101 tab. 3.2 Maximální po et vektor odhad * po et jsme stanovili na základ rozvahy v kap. 3.5 ** zahrnuje odhad na p ipojení vn jší pam ti, tla ítek a led Z tabulky je patrná maximální výstupní ší ka vektoru 101 kanál. 3.1.3 Maximální frekvence Podle katalogových list je práv frekvence vy ítání a zápisu dat do blokové pam ti RAM tím nejpomalejším lánkem p i generování signálu. Nemusí být ovšem nutn nejpomalejší v celkovém ešení, nebo záleží také na syntetizátoru pro jaké maximálními frekvence se mu poda í navrhovaný design vygenerovat (v tšinou na základ jazyka VHDL), a dále na rychlosti výstupních budi FPGA (možnosti výstupních budi FPGA jsou popsány v kap. 3.4). Obecn však m že být brán parametr rychlosti tení a zápisu do interní pam tí SRAM jako dobré vodítko pro odhad frekven ních možností FPGA. 3.1.4 Shrnutí Podle hardwarové náro nosti bude toto ešení z ejm nejjednodušší, stejn jako implementace ešení vyžadující pouze komunikaci s vnit ní pam tí SRAM, která je pro tento ú el -26-

3 Rozbor ešení Pattern generátor maximáln optimalizovaná a její implementace není nijak složitá. Nevýhodou je ale zna n omezená kapacita pam ti o maximální velikosti 1 Mbit. Podle maximální frekvence bude více omezujícím faktorem návrh samotné DPS a dalších signálových obvod, než samotná rychlost generování vektor na pinech FPGA. Ší ka výstupního vektoru je prakticky libovolná (nep edpokládá se využití více jak 100 pin ). 3.2 Realizace s FPGA a vn jší pam tí Ve shrnutí ešení v kap. Realizace s FPGA je jako hlavní nedostatek ešení uvád na nízká hodnota kapacity pam ti. Tento fakt musí nutn vést k p ipojení dodate né externí pam ti k ídicí jednotce FPGA, která by uchovávala data vektor. V této kapitole bude rozhodnuto o typu vn jší pam ti. Spíše než hledisko principu uchovávání dat uvnit pam ti bude rozhodující její model z hlediska p ístupu a formátu ukládání dat. 3.2.1 P ipojení pam ti FIFO FIFO je dvoubránová sekven ní pam, jejíž data se vy ítají ve stejném po adí, v jakém byla uložena. Z tohoto d vodu odpadá nutnost adresace jednotlivých bun k a ovládání pam ti se výrazn zjednodušuje. ídicí sekvence zápisu resp. tení spo ívá pouze v nastavení p íslušného signálu WR (Write) resp. RD (Read) spole n s nastavením signálu CS (Chip Select). Pro kontrolu stavu pam ti slouží podle typu n kolik málo výstupních kontrolních signál (nap. detekce prázdné pam ti, zapln ní atd.). NAPÁJECÍ MODUL ÍDICÍ FPGA DATA FIFO VÝST. BUDI E USB k. r. USB k.r. - KOMUNIKA NÍ ROZHRANÍ USB obr. 3.2 P ipojení FIFO -27-

3 Rozbor ešení Pattern generátor Hloubka resp. ší ka této pam ti m že být relativn jednoduše zvyšována paralelním resp. sériovým azením jednotlivých díl ích FIFO modul a tím lineárn zvyšována celková kapacita pam ti s ohledem na po et vyhrazených I/O pin (odhadem 90) a rozm ry desky plošného spoje. Moduly rychlých FIFO pam tí jsou v dnešní dob b žn na trhu, takže limitujícím faktorem z hlediska maximální frekvence stále z stává realizace DPS. Implementace kódu není o mnoho složit jší oproti d íve uvedenému ešení. Implementace zahrnuje navíc adi FIFO s p im en náro nými požadavky na ízení pam ti a signály pro ízení výstupních obvod. 3.2.2 P ipojení pam ti RAM Pam RAM (Random Access Memory) je v sou asné dob nejrozší en jší pam tí vzhledem k její velké výhod možnosti p ístupu na jednotlivé adresy pam ových bun k. V tšinou se jedná o jednobránové pam ti o ur ené datové ší ce, po tu adresovacích vodi P adr (podle n hož se dá bezpe n ur it hloubka pam ti jako 2 Padr ) a dalších n kolika ídicích signál. NAPÁJECÍ MODUL ÍDICÍ DATA VÝST. BUDI E FPGA DATA USB k. r. ÍDICÍ ADRESA RAM USB k.r. - KOMUNIKA NÍ ROZHRANÍ USB obr. 3.3 P ipojení RAM U pam tí RAM stejn jako u FIFO m žeme zvyšovat ší ku výstupních vektor paralelním azením blok pam tí. V tomto p ípad se ale maximální možná ší ka vektoru výrazn sníží, nebo krom datových vodi mezi FPGA a pam tí RAM musí být vedeny ješt adresové vodi e, a dále pak datové vodi e mezi FPGA a výstupními budi i. Aby se p itom nesnížila maximální možná výstupní frekvence, musí mít datové vodi e pam ti RAM a výstupní budi e stejnou ší ku, tedy musí existovat vzájemn jednozna né p i azení datového kanálu a pam ové bu ky. Tento fakt je d sledkem stejn rychlé komunikace mezi FPGA - RAM -28-

3 Rozbor ešení Pattern generátor a FPGA - výstupní budi e. Z následující tabulky je z ejmé výše deklarované snížení maximální ší ky vektoru. Po et pin Po et uživ. I/O 185 AMBA BUS -61 Rozhraní USB -13 RAM adres., ídicí -25* Další využití -15** Max. ší ka vektoru 71/2 obr. 3.4 Maximální ší ka vektoru - odhad * odhad ** zahrnuje odhad na p ipojení vn jší pam ti, tla ítek a led, ídicích signál pro výstupní budi e Po redukci na celonásobný po et 8-bitových bran (1 bajt), z stává celkem maximáln 32 výstupních bit (4 brány). Pam FIFO disponuje maximáln 11 branami. P echod od FIFO k pam ti RAM znamenal jednozna ný útlum maximální ší ky vektoru. Naopak pam ti RAM disponují v tší kapacitou pam ti, podle typu i v rozdílu více jak jednoho ádu (DRAM). Výše uvedené blokové propojení s RAM nám navíc umožní dodate n zvyšovat hloubku pam ti. Možné dodate né navýšení hloubky pam ti je popsáno v kap. 3.3 ízení toku vektor. SRAM versus SDRAM Oba typy pam tí mají p ibližn stejnou rychlost vy ítání dat, která se pohybuje p ibližn v rozmezí 100 MHz až 200 MHz (asynchronní typy t chto pam tí jsou výrazn pomalejší). Pam ti SRAM (synchronní statické pam ti) mají menší kapacitu a sou asn vyšší cenu než dynamické pam ti SDRAM (synchronní dynamické pam ti), které ovšem vyžadují složit jší obsluhu (minimáln z d vodu nutného cyklického ob erstvování pam ových bun k). Podobným typem pam ti jako SDRAM je pam DDR, která se liší hlavn možností dvojnásobn rychlého tení a zápisu p i zachování stejné taktovací frekvence. Tento typ pam tí ovšem vykazuje velkou náro nost na dodržení podmínek p edstihu a p esahu dat. -29-

3 Rozbor ešení Pattern generátor 3.3 ízení toku vektor V této kapitole jsou popsány možnosti navýšení hloubky pam ti v d sledku vhodné implementace ízení toku vektor. Implementace t chto zp sob ízení ovšem vyžaduje zapojení podle schématu na obr. 3.3 P ipojení RAM, což p edstavuje další d vod se p iklonit k této variant zapojení. 3.3.1 M nitelnost ší ky vektoru U realizace pouze s ipem FPGA byla za jeden z p ínos ozna ena možnost m nit hloubku vstupních dat podle ší ky výstupního vektoru. Tato možnost se týkala rekonfigurace vnit ní pam ti RAM, takže ji nebylo možné provád t za chodu systému. V této kapitole bude probrána možnost dosažení stejné variability hloubky pam ti, navíc p ímo za b hu celého systému. Obrázek 3.5 p edstavuje pam vektor o datové ší ce n bajt a hloubce pam ti m. Pokud se z ní budou vy ítat data pro stejn široké výstupní slovo vektoru, bude každá adresa p edstavovat samostatný vektor. Ovšem v p ípad, že nedojde k využití všech výstupních bran n, m žou být využity uvoln né pam ové bu ky pro uložení dat jiné brány. Nap. pokud budou aktivní pouze 3 brány, budou v pam ti t sn za sebou uloženy vektory práv pouze n.m n. m pro tyto 3 brány. Tímto se zvýší kapacita pam ti na round, obecn platí round, 3 u kde u je po et aktivních bran. Round zna í o íznutí desetinné árky. 1 2 3 1 2 n m obr. 3.5 Uložení dat - všechny brány 1 2 3 1 2 n 1 2 3 m round mn 3 obr. 3.6 Uložení dat - p íklad 3 brány -30-

3 Rozbor ešení Pattern generátor Na obrázku výše je uvedený p íklad možného uložení dat. Tento zp sob ešení by bylo možné implementovat za pomoci posuvných registr (viz obr. 3.7). Na každé uložení n bajt do registru (vertikální sm r) by p ipadlo n kolik posun v horizontálním sm ru. výst. budi e pam 1 2 n 1 2 n obr. 3.7 Posuvný registr p íklad pro 3 brány P i implementaci tohoto ešení je t eba dbát na následující okolnosti: zm na ší ky horizontálního posunu v závislosti na po tu povolených bran nutný samostatný posun o délce n bit p ed vysláním prvního vektoru synchronizace zápisu do výstupního budi e podle po áte ních a koncových dat Tabulka níže udává procentuální navýšení hloubky pam ti. Požadovaný po et bran Maximální po et bran 1 2 3 4 5 6 7 8 5 400 150 66 25 0 - - - 6 500 200 100 50 20 0 - - 7 600 250 133 75 40 16 0-8 700 300 166 100 60 33 14 0 tab. 3.3 Procentuální p ír stek hloubky pam ti 3.3.2 Komprimace dat Komprimací je zde mín no ukládání opakujících se sekvencí vektor do blok a jejich cyklické volání. Tímto zp sobem je možno ušet it pom rn zna nou ást hloubky pam ti v závislosti na délce a po tu opakujících se sekvencí vektor. -31-

3 Rozbor ešení Pattern generátor ešení ovšem vyžaduje ukládání dodate ných informací (instrukcí) ohledn adresace blok vektor, po tu jejich opakování, apod. Z ejm bude nutné p ipojení pam ti instrukcí, která bude zcela nezávislá na pam ti vektor, tzv. Harvardská architektura. Vzhledem k tomu, že požadavky na kapacitu této pam ti nemohou být nijak vysoké, využije se možnosti, která se p ímo vybízí a v rozboru ešení už jednou zazn la využít bloky pam ti RAM samotného ipu FPGA, tentokrát jako pam instrukcí (viz obr. 3.8). Zp sob implementace tohoto ešení bude z ejm komplikovan jší, ale poskytne v budoucnu mocný nástroj pro úsporu pam ti. Dále se budu zaobírat návrhem ízení uložení a vy ítání komprimovaných vektor, tedy z pohledu implementace se jedná o záležitost firmwaru. Samotná komprimace dat je záležitost ist softwarová a sama o sob vyžaduje pom rn širší rozbor. Z tohoto d vodu se jí zatím v novat nebudu. FPGA USB kom. rozhr. ÍZENÍ + DA TA PA TH VEKTORY VÝST. BUDI E RAM instrukce INSTRUKCE ADRESA VEKTORY ADRESA RAM - data ÍDICÍ ÍDICÍ obr. 3.8 Zapojení vnit ní RAM Z obrázku obr. 3.9 je patrné, že pod pojem instrukce jsme sou asn zahrnuli také data, která daným instrukcím p ísluší. Postup p i generování výstupních vektor by spo íval v kontinuálním tení instruk ní pam ti a provád ní p íslušných operací (generování bloku, ekání, atd.) nad instrukcemi uloženými na t chto adresách. Odd lení samotných instrukcí a dat k nim p íslušejících, tedy provedení sekundární komprimace už není uvažováno, i když by z principiálního hlediska bylo v budoucnu realizovatelné. -32-

3 Rozbor ešení Pattern generátor pam instrukcí instr. OPAKUJ BLOK po áte ní adresa 0xC0 koncová adresa 0xC3 po et opakování 10 instr. EKEJ délka ekání 100 instr. OPAKUJ BLOK po áte ní adresa 0xC4 koncová adresa 0xC6.... 0xC0 0xC1 0xC2 0xC3 0xC4 0xC5 0xC6.. pam dat.. vektor A_1 vektor A_2 vektor A_3 vektor A_4 vektor B_1 vektor B_2 vektor B_3.. obr. 3.9 P íklad uložení dat a instrukcí 3.4 Realizace výstupních budi V této ásti budou popsány možnosti výstupních budi FPGA. Z hlediska p ipojení pattern generátoru k DUT (Device Under Test) je rovn ž podstatné se zabývat také statickými a dynamickými parametry generovaného signálu, jako je nap íklad úrovní nap tí v logické úrovni 1, proudovou zatížitelností, rychlostí hran signálu apod. Pro za átek budou zhodnoceny možnosti samotných výstupních bran FPGA. Xilinx Altera Spartan XC3S250E Cyclone EP2C20 podporované úrovn budi V 1.2, 1.5, 1.8, 1.5, 1.8, 2.5, 1.2, 1.5, 1.8, 2.5, 3.3 2.0, 2.5, 3.0, 3.3 3.3 max. proudová zatížitelnost * ma 24 16 24 tab. 3.4 Výstupní parametry FPGA * závisí na nastaveném standardu výstupního budi e a po tu sou asn spínaných výstup Podle tab. 3.4 je možné u ip FPGA voliteln nastavovat výstupní úrovn nap tí v rozsahu 1,2 V až 3,3 V (standardu LVCMOS). Mimo jiné jsou k dispozici další specializované standardy jako nap. PCI_66 nebo diferen ní standardy apod. Proudová zatížitelnost je -33-

3 Rozbor ešení Pattern generátor rozdílná podle nastavených nap ových úrovní - nap. nastavení zatížitelnosti budi e LVCMOS_x,x je uvedeno v tabulce níže. V 1,2 1,5 1,8 2,5 3,3 Cyclone II ma - 8 12 26 24 Spartan 3E ma 2 6 8 12 16 tab. 3.5 Max. zatížitelnost budi e LVCMOS Proudová spot eba p i vyšším sou asném po tu spínaných budi p edem omezuje vyšší hodnoty nastavitelných zatížitelností, což m že výrazn snížit po et sou asn spínaných výstupních signál a tím také ší ku generovaného vektoru. Pro standard LVCMOS a LVTTL navíc lze nastavovat rychlost výstupních hran, a to p ibližn v jednotkách ns. Podle rychlosti náb žné hrany t n, spádové hrany t s a dále podmínek na minimální dobu trvání log. úrovn 1 t 1 a log. úrovn 0 t 0 hodinového signálu se stanoví maximální možná frekvence výstupního signálu jako f max t n t s 1 t 1 t 0. V p ípad stejné doby náb žné a spádové hrany t ns a požadavku na st ídu hodinového signálu 1:1, takže t 1 = t 0 =t 10, zjednodušuje se výraz na f max 2 t 1 ns t 10. Protože se t 10 volí libovoln (minimáln však 0 s), bude maximální výstupní frekvence záležet p edevším na rychlosti hrany. Ta se odvíjí od standardu zvoleného výstupního budi e, realizace desky plošného spoje, vstupní kapacit p ipojeného testovaného za ízení DUT p íp. dalších výstupních blocích. Nap. Altera uvádí pro ipy rodiny Cyclone II maximální frekvenci spínání výstupních budi standardu LVTTL na 273 MHz. Tyto rychlosti ovšem p edstavují p íliš rychlé hrany o hodnot 1 ns a menší, které by v p ípad realizace DPS p edstavovaly velké rušení. P ímý údaj o rychlosti hrany není v tšinou v manuálech výstupních budi uveden. Naopak se asto setkáváme s parametrem zpožd ní výstupního signálu proti vstupnímu signálu podle obrázku obr. 3.10. Nap. Xilinx Spartan 3E je pro sv j nejrychlejší IO-standard schopen dosáhnout zpožd ní signálu v rozmezí 0,9 ns až 2,58 ns. I další výrobci samostatných budících obvod nap. Texas Instruments udávají hlavn hodnotu zpožd ní signálu, která ovšem kolísá podle velikosti napájecího nap tí a teploty. Rozsah udávaného zpožd ní m že z tohoto d vodu dosáhnout rozmezí až desítky ns. -34-

3 Rozbor ešení Pattern generátor Samotný pattern generátor si z hlediska svého principu neklade žádné nároky na celkové zpožd ní signálu. Vzájemné zpožd ní mezi kanály by však nem lo být p íliš vysoké, zejména p i generování krátkých puls by mohlo docházet k jejich významnému posunu. Hradlové pole Altera Cyclone disponuje možným volitelným posunem výstupních signál, ímž je možné dodate n srovnat p ípadné zpožd ní na kanálech jednotlivých výstupních obvod. obr. 3.10 Zpožd ní signálu na budi i + testovací podmínky Využít samotných budi p ímo pro p ipojení DUT je lákavá možnost vzhledem k popsaným výhodám, ovšem v p ípad chybné funkce DUT nebo jeho poškození by mohlo dojít ke zni ení ipu FPGA - jádra celého pattern generátoru. Z tohoto d vodu bude nutné p ipojit samostatné externí budi e. 3.5 Realizace komunikace USB Žádný z použitelných ip FPGA v sob nemá p ímo zabudován adi pro komunikaci USB. V této kapitole budou probrány dv možnosti p ipojení pam ti USB. 3.5.1 Implementace modulu adi e USB (p ímé zapojení) P ímé zapojení signál D+ a D- sb rnice podmi uje spln ní ady konkrétních požadavk na vstupn /výstupní obvody ipu, které budou sotva p esn splnitelné obvody FPGA vzhledem k jejich p edem stanoveným parametr m. P esto má smysl se nad touto realizací zamyslet. -35-

3 Rozbor ešení Pattern generátor Aby se adi USB dal v bec implementovat do struktury FPGA, musí být na jeho rozhraní dodrženy nap ové úrovn jak pro vstupní obvody, tak i pro výstupní. Vstupní budi e musí být schopny detekovat diferenciální nap tí na sb rnici a p itom musí být schopny rozeznat nap ové úrovn na jednotlivých datových vodi ích D+ a D-. Vzhledem k omezeným možnostem FPGA budi a pom rn p ísným nap ovým mezím pro komunikaci v režimu high speed, bude ešena otázka možnosti realizace komunikace USB v režimu full speed. Aby byla komunikace podle elektrických parametr realizovatelná, musí být spln ny následující podmínky fyzické vrstvy: a) požadované nap ové úrovn pro p ijímací a vysílací budi e b) dodržení náb žné a spádové hrany c) dodržení tzv. Cross Over Voltage Range (COVR) d) výstupní impedance budi obr. 3.11 Výstupní budi e USB a) Komunikace po obou signálových vodi ích D+ a D- probíhá jak vyhodnocováním diference mezi ob ma signály, tak vyhodnocováním každého signálu zvláš. Z tohoto d vodu musíme na D+ a D- p ipojit sou asn jeden diferen ní a dva single-ended standardy, abychom byli schopni rozpoznat všechny stavy sb rnice. Výstupní úrovn USB definované v tab. 3.6 odpovídají velmi dob e standardu LVCMOS33, který je sou ástí FPGA. Vstupním úrovním pro detekci stav odpovídají standardy LVCMOS33 a LVCMOS18. Pro diferen ní vstupní budi je možné použít standard RSDS_25 s minimálním diferen ním vstupním nap tím 100 mv (USB specifikuje 200 mv). -36-

3 Rozbor ešení Pattern generátor Detekce jednotlivých stav : difer. 0, 1 RSDS_25, LVCMOS33 Idle LVCMOS33 SE0 LVCMOS33 SE1 LVCMOS18 Stavy J-state, K-state, Resume state, Start-of- Packet, End-of-Packet, Reset, Connect, Disconnect jsou odvozené od výše jmenovaných, asto pouze dopln ním o asové parametry. obr. 3.12 Schéma možného zapojení SPEC. USB LVCMOS33 min max min max p ijíma V IH [V] 2.0 2.0 V IHZ [V] 2.7 3,6 typ. 3.3 V IL [V] 0.8 0.8 vysíla V OH [V] 2.8 3.6 2.9 3.3 V OL [V] 0.0 0.3 0 0.4 V OSE1 [V] 0.8 2.0* tab. 3.6 Nap ové úrovn specifikace USB a budi e LVCMOS33 * úrove 0,8 V zajiš uje standard LVCMOS18 b) Dodržet rychlost hrany v rozsahu 4 ns až 20 ns není pro výstupní budi e LVTTL (p ípadn LVCMOS33) s nastavitelnou rychlostí hrany žádná p ekážka (obvykle v jednotkách ns). c) Cross Over Voltage Range (COVR) je definice nap ového rozmezí, v n mž by m lo dojít ke zk ížení úrovní p i zm n stavu (pro výstupní budi e mezi 1,3 V až 2 V). Pokud je stejn rychlá spádová i náb žná hrana obou budi signál D+ a D-, musí p i sou asné zm n -37-

3 Rozbor ešení Pattern generátor signálu na vstupu t chto budi dojít k jejich sou asné zm n na výstupu, což zp sobí protnutí úrovní p esn uprost ed COVR. I p i ur itém p edstihu jednoho signálu oproti druhému na vstupu budi D, dochází stále k protnutí uvnit COVR na výstupu budi. P ibližný maximální p ípustný p edstih m že být definován takto: Z d vodu zjednodušení je definována dolní mez intervalu COVR v 1/3 úrovn napájení, stejn tak horní mez ve 2/3 úrovn napájení. Pokud budou považovány ob hrany za p ibližn stejn rychlé, m že být vzájemné maximální možné zpožd ní signálu 1/3 rychlosti hrany. P i nejvyšší povolené rychlosti hrany signálu 20 ns dochází p ibližn k 6 ns zpožd ní, což je hodnota, kterou jsme schopni dodržet. P esn by se zpožd ní vyjád ilo podle vztahu 1,3 2 1 t zp s n 1,3s 2n, 3,3 3,3 3,3 kde s je rychlost náb žné hrany, n je rychlost spádové hrany. Vcc D-/+ COVR obr. 3.13 Ilustrace k COVR d) Nominální hodnota výstupních impedancí pro Cyclone II je 25 a 50, což m že být akceptováno. Pro další ipy FPGA nejsou tyto hodnoty známy, ovšem v p ípad pot eby by bylo možné jejich sériové p ed azení. Dalším aspektem, který je t eba p i USB komunikaci ešit, je nutnost synchronizace USB host a funk ní jednotky. Podmínkou pro full speed komunikaci je výstupní frekvence vysílaných dat v rozmezí 12,000 MHz ±0,25% s jitterem nep esahujícím ±1 ns. Použitý oscilátor SG8002 má frekven ní stabilitu ±0,01% - tedy vyhovuje, jitter výstupních obvod katalog Xilinx rodiny Spartan ani Altera Cyclone neuvád jí. Na základ zkušenosti s t mito budi i lze ovšem konstatovat, že by jeho hodnota rozhodn nem la p esáhnout danou mez. Synchronizace vstupního signálu m že být provedena pomocí implementovaného hranového detektoru b žícího na frekvenci 8 x 12 MHz, tedy s fázovým rozlišením 45. Potom by vzhledem k nízké úrovni jitteru, zakomponované vlastnosti bit stuffing a nízkému rozdílu hodinových frekvencí USB host - funk ní jednotka, nem la synchronizace init žádné problémy. -38-

3 Rozbor ešení Pattern generátor Podle provedené úvahy by v tšina podmínek pro p ímé p ipojení byla spln na. N které parametry sice p esn neodpovídají p esn specifikaci USB, ale na správné fungování komunikace by to vliv nem lo (došlo by nap. pouze k posunutí úrovn šumové imunity apod.). 3.5.2 P evodník USB <-> FIFO Místo p ímé komunikace USB m žeme zvolit ešení mnohem mén náro né, p esto však velmi efektivní. V dnešní dob existuje spousta obvod s integrovanými p evodníky sb rnice USB na jiný typ sb rnice nap. RS-232, GPIB atd. Smyslem t chto p evodník je rozd lit komunikaci mezi uživatelským za ízením a ídicím po íta em na dv odd lené ásti. V první z nich komunikuje uživatelské za ízení s p evodníkem po požadované sb rnici, ve druhé p evodník s USB hostem PC. Spole n s t mito p evodníky jsou dodávány softwarové ovlada e pro snadnou programovatelnost komunikace aplika ního programu a koncového za ízení p ipojeného k USB p evodníku. Výše uvedené ešení komunikace pomocí FTDI ipu se zdá být ideálním z n kolika hledisek : elektrické rozhraní USB p esn podle specifikace odpadá nutnost složit implementovat protokol USB funk ní jednotce knihovní jednotky pro komunikaci aplika ního programu a USB host sou ástí p evodníku N které obvody jsou ur eny výhradn jako p evodníky mezi USB a jedinou další sb rnicí (nap. produkty firmy FTDI), jiné v sob zahrnují více komunika ních rozhraní a další sou ásti jako integrovaný mikroprocesor, p ídavné pam ti apod. (nap. Cypress). V sou asné dob dostupné p evodníky USB poskytují komunikaci ve všech rychlostních režimech sb rnice (high/full/low speed). Na komunikaci pattern generátoru a ídicího po íta e nejsou kladeny žádné rychlostní nároky a vzhledem k povaze této komunikace, která má p edevším sloužit za ú elem otestování funk nosti, je možné se spokojit s levn jší variantou ešení, tedy režimem full speed (12 Mbit/s). -39-