==== Výuka PB170 - Seminář z konstrukce digitálních systémů ==== * výuka bude ve dvou skupinách v místnosti A415 * ukončení kolokvium - za projekt (s dokumentací) * dochazka nutná (povoleny 2 neomluvené absence) === 1. cvičení === * příklady: 8 sudů vína a 3 vězni ( tři klobouky, sto vězňů ) * binární čísla - převody - BIN, DEC, HEX * logické funkce, hradla (značení), pravdivostní tabulky, matematické zápisy, převody mezi zápisy * binární křížovka - tutor.fi.muni.cz (třída: PB170podzim17) * http://cs.wikipedia.org/wiki/Booleova_logika * http://en.wikipedia.org/wiki/Logic_gate === 2. cvičení === * boolovská algebra (axiomy, zákony... (De Morganův)) * univerzálnost NANDu a NORu - úplnost * úplná normální konjunktivní/disjunktivní forma logické funkce * mapa logické funkce - Karnaghova mapa * [[https://www.youtube.com/watch?v=GcDshWmhF4A]] * half-adder, full-adder * half-adder from NANDs gate === 3. cvičení === * kombinační obvody * encoder 4-2 * decoder 2-4 * multiplexer / demultiplexer * komparator (2x2-bit) * základní zapojení 74HC00 - NAND + LED (uložit do šuplíků u stolů) * příklady Hades: ripple carry, bcd adder, mult 4x4 - [[https://tams.informatik.uni-hamburg.de/applets/hades/archive/hades.jar|Download]] * HW: 2x2 bits comparator with indicate bigger and lower outputs === 4. cvičení === * sekvenční obvody * RS obvod - konstrukce * zpětná vazba * rozdíl: flipflop - latch * jkff, srff, dff, tff, latch * příklad: zapojení DFF aby se choval jako TFF * čítače (za použití DFF) * čítač cyklický 100 - 010 - 001 - 100 - … * čítač kumulační (pevný modul řízený stavem) 0 - 1 - 11 - 111 - 1111 - 0 - 1 - …. * čítač binarni 0 - 1 - 10 - 11 - 100 - 101 - ... (pomocí 2 nebo 4 jednotek) * aplikace čítačů: dělička hodin (triviální) === 5. cvičení === * sekvenční obvody - stavové automaty (Mealy, Moore) * kódování stavů * detekce signálu délky 3 (110) * počítání modulo 2 (nebo 3 - pomocí 3 flip-flop) * převod sériového signálu na paralelní (vstupy: serial-in, clock, shift; výstupy: 4-bity) * Homework: detektor delitelnosti čísla modulo 3 - schéma zapojení === 6. cvičení === * zapojení RS klopného obvodu s tlačítky s obvodem 7400 * zapojení klopného obvodu pro přepínaní dvou stavů jedním tlačítkem (flip-flop) === 7. cvičení === * dokončení zapojení klopného obvodu flip-flop * úvod do prostředí Altera Quartus * základní popis, využití a vlastnosti FPGA === 8. cvičení === * [[http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=205&No=836&PartNo=2|Altera DE-1 - Cyclone V - SoC]] - [[https://www.altera.com/downloads/download-center.html|Altera Quartus]] * {{:pv200:de2_full.zip|DE2-full assigments}} * {{:pa192:lab1_project.zip|LAB 1 - Project example}} * Quartus - schematic + simulace * top design - bloky, symboly * half-adder, full-adder === 9. cvičení === * {{:pb170:verilog_intro.pdf|}} * ukázka kitu a programování * sčítačka 2x 3b číslo ve Verilogu - kombinační logika * always blok - běžící světlo (1 LED) always@(posedge CLK) begin if(!rst) LEDS <= 8'b0; else if(div0) begin LEDS <= LEDS * 2 + (LEDS[17] ? 1'b0 : 1'b1) ; end end === 10. cvičení === * modul předděličky - zapsat další děličky pro více blikajících LED === Projekty 2017 === * Paral - PIR cidlo a citani lidi * Pecak - ridici obvod hodin * Kasaj - stopky (Verilog) === Projekty 2016 === * Hala - prace s grafickym displejem * Urban - stopky s log. obvody * Koniarik - efekty s RGB LEDs pres I2C * Cernaj - test postrehu (HEX) * Polak - soft core (12 bit slova) * Jakubik - hodiny na LCD * Lipcak - inteligentni sterac * Boksa - odpocitavaci citac