Cvičení 1 Logická hradla Prvním příkladem íkladem pro seznámení s logickými obvody bude realizace několika několika hradel. Pomocí tohoto návodu je naprogramujeme do přípravku p Digilent Spartan-33 a vyzkoušíme přímo p v praxi. Postupujeme krok za krokem podle bodů, bod , cílem je fungující aplikace v přípravku. p Zadání: Do přípravku ípravku naprogramujeme funkce čtyř 2vstupových hradel: AND, OR, NAND a XOR. Jejich funkci popisuje následující čtveřice tabulek, ulek, SW7 až SW0 jsou vstupy hradel, LED7 až LED4 jsou jejich výstupy. Nula znamená neaktivní stav, jednička jednička aktivitu. Jsou-li Jsou tedy např.. vstupy SW7 a SW6 aktivní u hradla AND, je aktivní i výstup. AND SW7 SW6 LED7 0 0 0 0 1 0 1 0 0 1 1 1
NAND SW5 SW4 LED6 0 0 1 0 1 1 1 0 1 1 1 0
OR SW3 SW2 LED5 0 0 0 0 1 1 1 0 1 1 1 1
XOR SW1 SW0 LED4 0 0 0 0 1 1 1 0 1 1 1 0
1. Spuštění ní vývojového prostředí • •
•
Spustíme počítač v laboratoři laborato a přihlásíme se do Windows sítě podle instrukcí cvičícího V domácím adresáři ři (připojeno (př jako disk H) si založíme v kořeni eni adresář adresá BI-SAP. o Důležité! ležité! V adresářové adresá cestě se nikde nesmějí jí vyskytovat mezery. Raději Rad ani nepoužívejte diakritiku. Spustíme Project Navigator: Navigator Start ⇒ Programy ⇒ Xinx ISE 9.2i ⇒ Project Navigator
Popis základních částí ástí plochy návrhového systému:
©Hana Kubátová, átová, FIT, ČVUT v Praze
V nabídce File vybereme příkaz říkaz New Project •
•
Okna průvodce New Project vyplníme podle vzoru – určujeme ujeme tak jméno projektu, jeho umístění ní a typ programovatelného obvodu, který použijeme. Dejte si pozor na správný typ Package,, zde se často asto chybuje a zapojení pak nebude zdánlivě zdánliv funkční! Poslední tři okna průvodce ůvodce jen přeskočíme p pomocí tlačítka Next
©Hana Kubátová, átová, FIT, ČVUT v Praze
•
Používejte jméno projektu podle tohoto příkladu p gates a práci si zálohujte, nic nemažte – v průběhu hu semestru může m že být vaše práce hodnocena (viz způsoby zálohování)
©Hana Kubátová, átová, FIT, ČVUT v Praze
Výsledek po vytvoření ení projektu:
©Hana Kubátová, átová, FIT, ČVUT v Praze
3. Vytvoření ení nového schématu A) Vytvoření ení prázdného schématu: • •
V prázdném projektu vytvoříme vytvo íme soubor se schématem našeho zapojení: V nabídce Project vybereme příkaz říkaz New source… Okno New Source vyplníme podle vzoru: Zvolíme typ souboru Schematic a název schématu gates
©Hana Kubátová, átová, FIT, ČVUT v Praze
Výsledek po vytvoření ení prázdného schématu:
©Hana Kubátová, átová, FIT, ČVUT v Praze
• • •
• • •
V seznamu Sources v našem projektu přibude p nové schéma gates Pravá část ást plochy programu se změní zm na editor schémat. V levé horní části ásti plochy je nyní aktivní záložka Symbols. Tato záložka áložka je přítomna p pouze v případě,, že je otevřené otev ené okno se schématem. Mezi záložkami se lze libovolně libovoln přepínat. V levé dolní části ásti plochy je nyní aktivní záložka Options.. Tato záložka je přítomna p pouze v případě,, že je otevřené otev okno se schématem. S pomocí záložky Symbols a Options lze kreslit a ovlivňovat ovat již nakreslené schéma. V případě potřeby eby je možné kdykoliv zvolit záložku Sources a Processes sloužící k manipulaci s vytvořeným řeným projektem.
©Hana Kubátová, átová, FIT, ČVUT v Praze
Pro pohodlnější jší práci si kreslící plochu zvětšíme zv pomocí View, Zoom, In.. Nyní začneme za kreslit schéma zadané úlohy.
B) Vložení hradel do schématu Pomocí záložky Symbols zvolíme správné hradlo. Zkontrolujeme, zda máme zvoleno v položce Categories ←All All Symbols→, Symbols jinak bychom vybírali součástku ástku pouze ze zvolené knihovny, nikoliv ze všech dostupných. Hradlo vybereme pomoci položky Symbol Name Filter, kde postupně vpisujeme jméno hradla a to takto: AND2 = 2vstupové hradlo AND NAND2 = 2vstupové hradlo NAND OR2 = 2vstupové hradlo OR XOR2 = 2vstupové hradlo XOR Jiná hradla mají například íklad tyto názvy: AND3 = 3vstupové hradlo AND AND3B1 = 3vstupové hradlo AND s jedním negovaným vstupem OR8 = 8vstupové hradlo OR atd. • • • • •
Podobně lze postupovat pro další hradla jako je XOR, OR, NOR, INV (negace). Po nalezení vhodné součástky souč je nutné součástku označit, it, a to v položce Symbols. Pak již stačí součástku ástku umístit do schématu. Změnu orientace součástky částky je možné v záložce Symbols a položce Orientation. Kreslení jednoho typu součástky sou ukončuje klávesa ESC.
Příklad íklad vložení hradla XOR a OR:
©Hana Kubátová, átová, FIT, ČVUT v Praze
Upravit
C) Propojení součástek ástek pomocí vodi vodičů •
Jednotlivé součástky ástky spojíme vodiči vodi – použijeme k tomu nabídku Add → Wire nebo zvolíme ikonu . Stačí Sta klepnout na začátek vodičee na výstupu nebo vstupu hradla a tažením myší ho vést k cíli. Vstupy a výstupy připojené p přímo ímo na port (vstup a výstup ze schématu) není nutné opatřovat opat vodiči. Port je možné připojit řipojit přímo p ke vstupu (výstupu) výstupu) hradla.
©Hana Kubátová, átová, FIT, ČVUT v Praze
• •
• •
•
Kreslení vodičee lze ukončit ukon klávesou ESC. V případě,, že jste nakreslili čáru špatně, lze ji označit (nezapomeňte ňte předtím p klávesou ESC zrušit aktuální kreslící režim) a následně následn smazat. Pokud chceme odstranit pouze část vodiče, v záložce Options vybereme volbu Select the line segment Vodič lze přejmenovat ejmenovat tím, že jej vybereme a s pomocí pravého tlačítka tla tlač myši zvolíme položku Rename selected net. Pozor! Vodičee se stejným jménem jsou propojené. Toto bývá častá astá chyba, kdy jeden vodič je rozdělen len na dva se stejným jménem. Tuto vlastnost lze použit pro propojování jednotlivých částí ástí schématu a tím schéma zpřehlednit. zp Pozor! Nezapomeňte ňte si svůj sv návrh během své práce ukládat. Předejdete ředejdete tak zbytečným nepříjemnostem. íjemnostem.
D) Přidání portů Porty slouží k připojení ipojení schématu s hierarchicky nadřazeným nad azeným schématem, popřípadě pop jsou připojeny k vývodům m samotného čipu.
Vybereme nabídku Add → I/O marker nebo zvolíme ikonu . Vstupní nebo výstupní smysl je určen en automaticky. Jména portů port jsou automaticky zvolena podle názvu vodiče, vodi ke kterým je port připojen. ipojen. Název lze změnit zm dvojitým poklepáním na značku čku portu. Otevře Otev se okno Object Properties,, v poli Name přepíšeme text na námi ámi zvolený. Vizte následující obrázek:
©Hana Kubátová, átová, FIT, ČVUT v Praze
Výsledné schéma vypadá takto:
©Hana Kubátová, átová, FIT, ČVUT v Praze
E) Kontrola správnosti navrženého schématu V nabídce Tools vybereme položku Check Schematic. Pokud vše proběhlo ěhlo v pořádku, po ve spodní časti okna v záložce Console se objeví informace o bezchybné kontrole.
©Hana Kubátová, átová, FIT, ČVUT v Praze
Pokud ale například íklad pojmenujete 2 vodiče vodi e stejným jménem, objeví se informace o chybě. chyb Chybný vodič pak naleznete pomocí nástroje vyhledávání, vyhledávání, který najdete v nabídce Edit → Find nebo pomocí ikony . Pro vyhledávání vodičů zvolte What = Nets. Nets Chybu lze také zvýraznit klepnutím na chybovou hlášku v konzoli (na jméno souboru).
©Hana Kubátová, átová, FIT, ČVUT v Praze
4. Vytvoření ení nového schématu se začleněním ním předchozího př schématu Začlenění vytvořeného eného schématu do nového schématu si vyzkoušíme až v dalším příkladu. p Pro tento jednoduchý příklad íklad si vystačíme vysta íme pouze s jednou úrovní schématu.
5. Simulace chování obvodu
©Hana Kubátová, átová, FIT, ČVUT v Praze
Simulace je nedílnou součástí částí návrhu a je důležité d ležité ji provést. Pro takto jednoduchý příklad p simulaci přeskočíme. íme. Simulace slouží k otestování správného chování námi navrženého obvodu.
6. Propojení vývodů čipu se schématem Chceme-li li nahrát náš obvod do přípravku, p ípravku, musíme definovat, jak se mají vývody ze schématu připojit ipojit na vývody našeho FPGA obvodu. Protože periferie (přepínače, (p e, tlačítka, LED) jsou na přípravku již napevno připojeny ipojeny k vývodům vývod FPGA obvodu, musíme hodnoty vývodů vývod volit podle periferií, které chceme využívat. Jednotlivé perferie mají přímo římo na desce uvedeno v závorkách číslo íslo pinu. Například Nap přepínač SW7 je připojen ipojen k pinu K13 programovatelného obvodu FPGA.
• • •
Souboru, ve kterém se ukládají informace o propojení schématu s vývody obvodu, se říká Implementation Constraints File. Tento soubor vytvoříme říme pomocí nabídky Project → New Source. Okno New Source vyplníme podle vzoru: Zvolíme typ souboru Implementation Constraints File a název souboru gates.
©Hana Kubátová, átová, FIT, ČVUT v Praze
Ostatní okna potvrdíme Next a Finish. Pokud se v záložce Sources neobjeví položka gates.ucf, máme patrně zvolen režim zobrazování souborů pro simulaci. Upravme v záložce Sources položku Source for na Synthesis/Implementation. Nyní v záložce Sources vybereme položku gates.ucf. V záložce Processes rozbalíme položku User Constraints a 2x poklepeme myší na položce Assign Package Pins.
©Hana Kubátová, átová, FIT, ČVUT v Praze
Objeví se okno umožňující ující přiřadit přiř jednotlivé porty schématu k vývodům ům obvodu FPGA. FP
©Hana Kubátová, átová, FIT, ČVUT v Praze
• • •
• •
Čísla vývodů obvodu FPGA se vpisují do sloupečku sloupe Loc (Location). Nyní si určíme, íme, kam které vývody připojíme: p Vstupům m A, B, C, D, E, F, G, H přiřadíme p přepínačee SW7, SW6, SW5, SW4, SW3, SW2, SW1, SW0, tedy piny FPGA budou K13, K14, J13, J14, H13, H14, G12 a F12 (čísla vývodů-pinů jsou uvedena v závorkách přímo p na přípravku). Výstupům m P, Q, R, S přiřadíme př adíme LED7, LED6, LED5, LED4, tedy vývody FPGA budou P11, P12, N12 a P13. Po vyplnění ní soubor uložíme a okno zavřeme. zav Při dotazu na Bus Delimiter zvolíme XST Default.
Vyplněná tabulka přiřazení azení vývodů vývod schématu s vývody obvodu FPGA:
©Hana Kubátová, átová, FIT, ČVUT v Praze
7. Překlad eklad návrhu (Implementace) • •
•
Implemetnace slouží k přeložení p eložení schématu do formy vhodné k naprogramování FPGA obvodu. Nejprve v záložce Sources zkontrolujeme, která položka je označena čena jako vrchol (TOP). V našem případě řípadě schéma, které je v hierarchii nejvýše. Tato položka je označena ena ikonkou tvořenou třemi t čtverci, tverci, z nichž jeden je zelený. Pokud tomu tak není, pomocí pravého tlačítka tla vybereme tuto položku a zvolíme Set as Top Module. Module V záložce Sources vybereme ybereme položku označenou ozna jako TOP.
©Hana Kubátová, átová, FIT, ČVUT v Praze
•
• • •
V záložce Processes vidíme několik n možností. Pro vytvoření ení souboru vhodného pro naprogramování obvodu FPGA je nutné postupně postupn projít všechny kroky (Synthesize XST, Implement Design, Generate Programming File) Tyto kroky můžeme žeme pouštět poušt postupně, popřípadě můžeme žeme pustit vše najednou. 2x poklepeme na položce Generate Programming File a tím docílíme toho, že se provede vše najednou. Přii hledaní chyb v návrhu doporučují doporu pokračovat postupně a v případ řípadě, že se v záložce Console neobjeví Error, Error pokračovat dalším krokem.
©Hana Kubátová, átová, FIT, ČVUT v Praze
• •
•
Jednotlivé kroky lze pouštět poušt opakovaně,, a to s pomocí pravého tlačítka a patřičné pat volby (ReRun). Aktuální průběhh Implementace lze sledovat v záložce Console.
Pokud vše proběhlo hlo v pořádku, po ádku, jsou jednotlivé kroky implementace označeny ozna zeleným kolečkem s fajfkou.
©Hana Kubátová, átová, FIT, ČVUT v Praze
• •
Informace o možných doporučení doporu a úpravách jsou označeny eny žlutým trojúhelníkem s vykřičníkem. Červeným kolečkem kem s křížkem k jsou označeny kroky, které neproběhly. běhly. Ty jsou důsledkem sledkem chyb v návrhu.
Pokud je překlad eklad bez chyb, můžeme mů přejít k naprogramování obvodu. •
Připojte přípravek ípravek k napájecímu zdroji. Programovací kabel připojte p ipojte k programovacímu konektoru.
•
Zkontrolujte, zda zkratovací propojky J8 a JP1 jsou zkratovány tak, jak je zobrazeno na tomto obrázku:
•
Rozbalte nabídku Generate Programming File v Processes,, poklepejte na Configure Device (iMPACT). (iMPACT) Okno, které se objeví, odsouhlaste (Finish). ( Objeví se dva chipy a dialog pro otevření otev ení souboru. Zde vyberte Váš bitstream (.bit). (
• •
©Hana Kubátová, átová, FIT, ČVUT v Praze
•
Další dialog přeskočte čte (zvolte Bypass).
©Hana Kubátová, átová, FIT, ČVUT v Praze
• • • •
Klikněte levým tlačítkem čítkem kamkoliv kamkoli doprázdna (bug v ISE). Pravým tlačítkem ítkem klikněte klikně na levý chip a zvolte Programm…. Zkontrolujte, aby checkbox Verify nebyl zaškrtnut. Klikněte OK
©Hana Kubátová, átová, FIT, ČVUT v Praze