Skip to main content
Skip header
Terminated in academic year 2009/2010

Computer Units Design

Type of study Master
Language of instruction Czech
Code 456-0320/01
Abbreviation NJP
Course title Computer Units Design
Credits 5
Coordinating department Department of Computer Science
Course coordinator Ing. Jiří Mitrych, Ph.D.

Subject syllabus

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.

Literature

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

Advised literature

Ashenden, P.J.: The VHDL CookBook. Dept. Computer Science University of Adelaide South Australia,(1990)
Malvino, A.P., Brown J.A.: Digital Computer Electronics, McGraw-Hill Science Engineering 1992, ISBN-13 9780028005942