456-0320/01 – Návrh jednotek počítačů (NJP)
Garantující katedra | Katedra informatiky | Kredity | 5 |
Garant předmětu | Ing. Jiří Mitrych, Ph.D. | Garant verze předmětu | Ing. Jiří Mitrych, Ph.D. |
Úroveň studia | pregraduální nebo graduální | Povinnost | povinně volitelný |
Ročník | 2 | Semestr | letní |
| | Jazyk výuky | čeština |
Rok zavedení | 2003/2004 | Rok zrušení | 2009/2010 |
Určeno pro fakulty | FEI | Určeno pro typy studia | magisterské |
Cíle předmětu vyjádřené dosaženými dovednostmi a kompetencemi
Zvládnutí metodiky návrhu číslicových obvodů a systémů pomocí prostředků pro popis hardware
Student je veden k samostatnému návrhu na úrovni výrobní dokumentace účelového zařízení spolupracujícího s počítačem. Cílem předmětu je ukázat, jakým způsobem probíhá návrh zakázkového obvodu na bázi programovatelných logických obvodů, úskalí s tím spojená a metody jejich překonávání. Součástí jsou praktická cvičení spojená se simulacemi i realizací jednoduchých návrhů s cílem procvičit metodiku návrhu.
Vyučovací metody
Přednášky
Experimentální práce v laboratoři
Anotace
Jazyky pro automatizovaný návrh jsou základními prostředky, které umožňují navrhovat uživatelské aplikace jednotek počítačů v podobě moderních elektronických obvodů na bázi projektové dokumentace desek plošných spojů i
programovatelných prvků CPLD, FPGA a FPAA.
Povinná literatura:
Dewey, A.: Design Automation. IBM Enterprise Systems, Czech Technical University in Prague (8-11 March, 1993).
Bernard, J.-M., Hugon, J.: Od logických obvodů k mikroprocesorům I - IV, Praha 1983
Doporučená literatura:
Další studijní materiály
Forma způsobu ověření studijních výsledků a další požadavky na studenta
Průběžná kontrola studia:
Zpracování semestrálního projektu
E-learning
Další požadavky na studenta
Prerekvizity
Předmět nemá žádné prerekvizity.
Korekvizity
Předmět nemá žádné korekvizity.
Osnova předmětu
Přednášky:
Vymezení problematiky - základy jazyka pro návrh HDL, prvky jazyka. Prvky HDL pro návrh, jejich použití, popis chování, popis struktury. Vytváření modelů, překlad, simulace, syntéza, typové konstrukty. Obecné a konkrétní vlastností modelů, zápis seznamu proměnných pro start událostí.
Strukturování navrhovaných obvodů. Modelování kombinačních logických obvodů. Modelování sekvenčních logických obvodů, podprogramy, procedury a funkce.
Modelování konečných automatů (FSM). Obvodové funkce vytvářené kombinačně nebo sekvenčně. Třístavové zesilovače, simulace, poruchové simulace
Testování modelů obvodů, využití testů, funkce času ve VHDL. Příklady praktického modelování, sestavení signálů, způsob řízení činnosti modelu.
Časování při simulaci, vytváření dynamicky obsazovaného pole, doporučení pro návrh. Vliv popisu na syntetizovanou strukturu. Vývoj nových prostředků pro návrh systémů na čipu (SoC).
Technika ASIC a FPGA, návrh shora dolů, jazyky pro návrh (HDL), nástroje automatizovaného návrhu, syntéza s podporou HDL. Optimalizace kombinačních obvodů, vymezení obvyklých podmínek návrhu. Jazyky pro návrh, návrhové entity
VHDL a Verilog. Deklarace, souběžně prováděné příkazy, sekvenčně prováděné příkazy. Datové typy a datové objekty. Pojem entita, relace, souběžné procesy, definice pole, vektorů a proměnných veličin. Výrazy. Operandy (literály, identifikátory, funkcí volané operandy, indexované
a řezové operandy, konverze typů operandů, záznamy). Operátory (aritmetické, znaménkové, relační, logické, v "bitovém formátu", operátory posuvu, zřetězení a replikace. Předdefinované typy, funkce, tvorba knihovních prvků, popis
kombinačních a sekvenčních obvodů
Modelování pomocí příkazu proces, snížení příkonu, snadné testování. Přesnost simulace, zlepšení rychlosti simulace. Doporučení pro simulaci a syntézu modelu při modu činnosti "output" a "buffer", levostranné uspořádání operátoru,
parametry v modelech pro opakované použití. Výpis modelu s plnou citlivostí k událostem, detekce typu hran "wait" a "if". Operátory, řezy, konverze bitů na booleovské proměnné. U-logika. Souběžné procesy.
Spojení simulace a syntézy, použití "others" (VHDL) a "default" (Verilog), signály a proměnné, nastavování vstupů pro příkaz "case". Porovnání typů uspořádání vektorů rozdílné šířky. Použití atributů a "packages". Přenosové funkce - rozšíření a useknutí, sdílení zdrojových modelů. Způsob reakce modelu na různě uspořádané seznamy proměnných. Funkce sekvenčních obvodů.
Strukturování návrhu, hrubé zrnění, moduly entit nebo architektur. Hrubé - střední zrnění, generování pomocí "for" a "if", blokové příkazy. Střední zrnění. Jemné zrnění, elementární funkce. Konstrukty s příkazem WAIT. Bezchybný
popis obvodových struktur pomocí hierarchicky strukturovaných konstruktů.
Modelování kombinačních logických obvodů. Logické a aritmetické rovnice. Logická struktura řízení, multiplexory, kodéry, prioritní kodéry, dekodéry, komparátory, aritmetické logické jednotky. Reprezentace čísel. Rozdíly vlastností proměnných a signálů. Vztah proměnné k procesu jako lokální
veličiny, signálu jako globální veličiny. Zdroje signálů.
Modelování sekvenčních logických obvodů typu zdrž (latch), jak jsou obvody typu zdrž odvozeny. Nechtěný obvod typu zdrž vznikající při použití příkazu "case". Dynamicky řízený klopný obvod ("flip-flop") typu D. Lineární zpětnovazební posuvné registry (LFSR), zpětnovazební hradla XOR a XNOR, struktury s jedním vstupem a mnoha výstupy a s mnoha vstupy a jedním výstupem. Zajištění posloupnosti všech stavů. Generický -bitový LFSR. Čítače, struktury a modelování čítačů. Vedlejší efekty, popis bran, instrukce návratu.
Třídy objektů, funkce rozhraní. Modelování konečných automatů (FSM), tabulka stavů a stavový diagram, psaní
modelu v jazyce HDL, inicializace a bezchybné chování, kódování stavů, Mealyho a Moorův typ FSM, příští stav a výstupní logika FSM. Strukturování (zapouzdření) standardní a uživatelské. Standardní typy, podprogramy, knihovní prvky, hierarchická struktura knihoven.
Zadání semestrálních prací.
Posuv, kombinační posuv, sekvenční posuv. Sčítání a odečítání, kombinační sčítání a odečítání, sekvenční sčítání a odečítání. Násobení a dělení, kombinační versus sekvenční násobící a dělicí algoritmy. Sekvenční proměnné, operátory. Předdefinované atributy, uživatelské atributy, stejná jména různých funkcí, přeměna typů.
Modelování třístavových zesilovačů, třístavové zesilovače pro dvousměrné signály. Vytváření signálů synchronizace, relativní a absolutní čas signálů, opakující se signály vytvářené smyčkami. Konfigurace (VHDL), konstatující
příkazy (VHDL). Syntaxe výrazu DELAY. Potlačení pulsů kratších než zpoždění, přenos jakýchkoliv pulsů. Speciální simulační konstrukty - systémové úlohy a funkce Vytváření vektorů
(stimuly a reference) Vektory vytvářené letmo, vytváření signálů s přenosy (inicializace), Vektory zapamatované jako pole, čtení záznamů zkušebních vektorů, srovnávání skutečných a očekávaných výstupních vektorů.
Vytváření souborů dat pro simulace. Způsoby zápisu atributů -type, -range, -value, -signal, -function a -constant.
Příklady praktického modelování, třístavové zřetězení stavů pro efektivní využití plochy čipu, číslicové spínací hodiny, výhybka mikropočítačů, obvod pro největší společný dělitel, detekce a oprava chyb. Použití U-logiky. Pospojování, sdružení veličin. Asynchronní zpětná vazba, posuvný registr.
Zápisy signálů a iterace přírůstkového zpoždění, proměnných a iterace přírůstkového zpoždění, signály a proměnné ve smyčce s příkazem "for" (VHDL), sestavení blokové a neblokové procedury ve smyčce s příkazem "for" (Verilog).
Příklady konstruktů, strukturování. Simulace modelů, změny v zapojení a způsob úpravy modelů. Vliv "don't care" na výstupní hodnoty, komparace vektorů s různými délkami vracející booleovskou hodnotu FALSE, typové atributy -´base, 'left, 'right, 'high a 'low (VHDL), atributy polí -
'range, 'reverse_range, a 'length (VHDL), atributy signálů - 'stable, a 'event (VHDL), definování datových typů v "package".
BSDL - jazyk pro popis prostředků IEEE Std 1149.1. Typové konstrukty systému Boundary-Scan Testing. Způsob návrhu
struktury a testů B-ST. Trendy dalšího rozvoje programových prostředků pro návrh, verifikaci a implementaci systémů na čipu. Exkurse na pracoviště pro implementaci obvodů.
Výklad typových konstruktů, aplikace. Odevzdání semestrálních projektů.
Zápočtová písemka. Zápočet.
Projekty:
Projekt je realizací modelů jednotek střední složitosti, vyžaduje se zpracování dokumentace pro implementaci zákaznického obvodu.
Počítačové laboratoře:
Cvičení navazují na přednášky.
Podmínky absolvování předmětu
Výskyt ve studijních plánech
Výskyt ve speciálních blocích
Hodnocení Výuky