Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Rozměr: px
Začít zobrazení ze stránky:

Download "Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011"

Transkript

1 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Jiří Douša, katedra číslicového návrhu (K18103), České vysoké učení technické v Praze, fakulta informačních technologií Přednáška 4: VHDL- procesy Stručný obsah: deklarace a aktivace procesu, delta zpoždění, setrvačné a transportní zpoždění, simulační cyklus, sekvenční příkazy, příklady.

2 Procesy část programu, kterou lze dynamicky aktivovat v závislosti na vnější události ( ve VHDL pouze změna hodnoty signálu), provádění procesu lze přerušit a později (v závislosti na vnější události či čase) lze pokračovat od místa posledního přerušení, všechny procesy ve VHDL jsou implicitně periodické, princip aktivace: kooperativní multitasking ( každý proces dobrovolně odevzdá řízení synchronizačnímu jádru), dokončení procesu nebo explicitně vyžadovaný přechod (wait) Aktivní. automatický přechod Suspendovaný na začátku simulace (v čase 0) je automaticky zajištěná aktivace všech procesů MI-SIM Jiří Douša 2

3 Příkaz procesu Syntax: [<label>] process [ ( citlivostní seznam) + -- deklarativní část (lokální deklarace): *datové typy a podtypy+, *proměnné a konstanty+, [procedury a funkce], [ soubory]. -- příkazová část (následují přípustné příkazy): příkaz assert (sekvenční), signálový přiřazovací příkaz (sekvenční), přiřazovací příkaz pro proměnné, volání podprogramů (sekvenční), if..then.. elsif.. else.., příkazy wait, case, loop, exit, return, null. end process [ <label> ]; Poznámky: z procesu nelze nic exportovat, proces jako celek je jedním z paralelních příkazů MI-SIM Jiří Douša 3

4 Aktivace procesů citlivostní seznam: seznam signálů, jejichž změna způsobí provedení procesu od začátku, procesy s citlivostním seznamem nejsou přerušitelné příkazem wait, po ukončení procesu - odevzdání řízení jádru. příkaz wait: vytvoří reaktivační bod, přeruší proces a odevzdá řízení jádru, nutné stanovit podmínky pro příští pokračování procesu, příklady forem příkazu wait: wait for 10 ns; -- čeká po dobu 10 ns wait on a; -- čeká na změnu signálu a wait until a = 1 ; --čeká na změnu signálu a která končí hodnotou 1 (náběžná hrana) wait until a = 0 ; -- čeká na závěrnou hranu wait [on a] [ until b = 1 ] [ for 10ns]; -- proces pokračuje -- tehdy nastane-li událost na signálu a současně je --splněna podmínka b = 1 (max. doba čekání 10 ns), wait; -- čeká navždy MI-SIM Jiří Douša 4

5 Příklady aktivace procesů 1) 2) 3) 4) 5) 6) process (a) process process b<=not a; b<=not a; P4 P5 end; wait on a; b<=not a; end; P6 end; a ),2) časy aktivace procesu b 4) inic. P4: wait on a; 5) inic. P5: wait until a = 1 ; 6) 3)...zacyklení procesu P6: wait until a = 1 for 10 ns; MI-SIM Jiří Douša 5

6 Přiřazování hodnot v procesu proměnným: okamžitě při provedení příkazu, signálům: po provedení všech fází všech naplánovaných procesů (po uplynutí delta zpoždění) důvod: vytvořit ilusi paralelního výpočtu, případně vyloučit vliv pořadí vyhodnocování procesů Příklad 1: vzájemně komunikující procesy P1, P2, P3 a P1 P2 P3 out a) pořadí bez delta: P1, P2, P3.bez zákmitů nebo P1,P3, P2, P3..zákmit na out nebo P2, P1,P3...bez zákmitů nebo P2, P3,P1,P3.zákmit na out nebo P3, P1,P2,P3.zákmit nebo P3,P2,P1,P3..zákmit b) pořadí s delta: P1, P2, P3, ulož. hodnot, P3 nebo P1, P3, P2, ulož. hodnot, P3 nebo P3, P1, P2, ulož. hodnot, P3 nebo P3,P2,P1, ulož. hodnot, P3 nebo P2,P1,P3, ulož. hodnot, P3 nebo P2,P3,P1, ulož. hodnot, P MI-SIM Jiří Douša 6

7 Přiřazování hodnot v procesu Příklad 2: a P1 P2 P3 P4 P5 b 1) změna a...postupný výpočet P1, P2, P3, P4, P5 2) změna b současný výpočet všech procesů vliv pořadí bez delta: i) předpoklad: b je hranově citlivý hodinový vstup posuvného registru: pořadí např.: P1, P2, P3, P4, P5.špatně, pořadí např.: P5, P4, P3, P2, P1.správně, j) předpoklad: b není hranově citlivý vstup (např. kombinační obvod ): pořadí např. P1, P2, P3, P4, P5..správně např.: P5, P4, P3, P2, P1, P2, P3, P4, P5...po ustálení správně, ale různá pořadí produkují různé zákmity vliv pořadí s delta: i) b je hranově citlivý vstup posuvného registru: libovolné pořadí výpočtů všech procesů následované uložením výsledných hodnot za jediné delta.správně j) b není hranově citlivý vstup ( jde např o kombinační obvod): lib. pořadí všech (např.: P1, P2, P3, P4, P5), delta, uložení hodnot, lib. pořadí (např.: P2, P3, P4, P5), delta, uložení hodnot, lib. pořadí (např. P3, P4, P5), delta, uložení hodnot, lib. pořadí (např. P4, P5), delta, uložení hodnot, P5, uložení hodnot,..stejné výstupní zákmity pro všechna možná pořadí MI-SIM Jiří Douša 7

8 Přiřazování hodnot v procesu Příklad: rozdíly v chování procesů P0, P1 P0: process P1: process--necht a, b jsou variable a,b:integer:=0; -- signály typu integer a: = a+1; a <= a + 1; b: = a+1; b <= a + 1; wait for 10 ns; wait for 10 ns; end process ; end process ; b P0 P b a b a a a,b a,b ns pozor: toto není nejvhodnější znázornění delta zpoždění reálný čas delta zpoždění uložení hodnot aktivace procesů MI-SIM Jiří Douša 8

9 Přiřazování hodnot Příklad 1: jiné znázornění delta zpoždění v procesu P1 delta (viz minulý slide) delta proces P1 proces P uložení a,b 0 0 ns modelový čas [ns] Příklad 2: P1, P2, P3 procesy a b c d P1 e P2 f P3 g delta změna g změna f, g: aktivace P3 změna e,f, g: aktivace P2,P3 změna a, b, c, d: aktivace P1, P2, P3 změna g změna f: aktiv. P3 změna c: aktivace P2 model. čas MI-SIM Jiří Douša 9

10 Simulační cyklus ve VHDL Start inicializace proměnných a signálů, time:=0 provedení všech procesů simulačního programu (bez uložení hodnot) existuje delta zpoždění? + - posun modelového času uložení vypočtených hodnot signálů a naplánování příslušných citlivých procesů Konec simulace? + Stop - provedení procesů citlivých na právě provedené změny signálů (bez uložení vypočtených hodnot) MI-SIM Jiří Douša 10

11 Odložený proces novinka ve VHDL-93 účel: definovat poslední události pro určitou hodnotu model.času => operační část je spuštěna až po ustálení hodnot všech signálů v daném časovém okamžiku (např. výstup hodnot do souboru) deklarace: postponed process ( ) end process; microtime -delta intervaly time provedení odloženého procesu macrotime omezení: může být pouze jeden odložený proces v operační části nelze použít příkaz wait s nulovým zpožděním v signálových přiřazovacích příkazech musí figurovat nenulové zpoždění MI-SIM Jiří Douša 11

12 Zápis do souboru Příklad: zápis ustálených hodnot signálů a, b ( v okamžiku změny některého z nich) do textového souboru; předpoklad: signal a,b: bit_vector (7 downto 0); zápis okamžité hodnoty modelového času pro který nastala změna některého z uvedených signálů postponed process (a, b, c, d) file vystup: text open write_mode is s1.dat ; -- VHDL-93 variable BUF : line; variable va, vb : bit_vector (7 downto 0); va := to_bitvector ( a); vb := to_bitvector ( b); write ( BUF, now); -- uložení hodnoty modelového času write (BUF, va); write (BUF, vb); writeline (vystup, BUF); -- fyzický výstup hodnoty času a -- dvojice osmic bitů end process; MI-SIM Jiří Douša 12

13 Modely zpoždění 2 typy zpoždění: transportní: Y <= transport X after <zpoždění>; propouští všechny pulsy, vhodné pro simulaci spojů setrvačné: Y <= X after <zpoždění;>; implicitní, vhodné pro zpoždění součástek nepropouští užší pulsy než je vlastní zpoždění pokud příkaz obsahuje zápis více hodnot, pak se chápe jako transportní zpoždění y <= 0 after 1 ns, 1 after 2 ns, 0 after 3 ns,.; při opakovaném provedení příkazu jeho funkce závisí na intervalech mezi jednotlivými provedeními a na hodnotách zpoždění při každém provedení příkazu se plánují všechny zmíněné hodnoty od začátku a rozdíly jsou následující: dopravní zpoždění - nově plánovaná hodnota pro čas t N zruší všechny původně naplánované hodnoty, které byly naplánovány pro hodnoty modelového času větší než t N setrvačné zpoždění- při plánování nové hodnoty se vždy ruší původní naplánovaná hodnota VHDL-93: Y <= reject 2 ns X after 5 ns; -- se zpožděním 5 ns propouští pulsy delší než 2 ns MI-SIM Jiří Douša 13

14 Modely zpoždění: Příklad: transportní zpoždění demonstrace vlivu několika navzájem zpožděných příkazů na výslednou hodnotu signálu X <= transport 1 after 10 ns; --předpoklad: now =0 wait for 12 ns; X <= transport 0 after 10 ns; --now = 12 wait for 6 ns; X <= transport 1 after 10 ns; --now = 18 wait for 2 ns; X <= transport 0 after 20 ns; --now = 20 wait for 2 ns; X <= transport 1 after 10 ns; --now = time ruší se hodnota 0 naplánovaná pro čas MI-SIM Jiří Douša 14

15 Modely zpoždění: setrvačné zpoždění - demonstrace vlivu několika navzájem zpožděných příkazů na výslednou hodnotu signálu X <= 1 after 10 ns; --předpoklad: now = 0 wait for 12 ns; X <= 0 after 10 ns; --now = 12 wait for 6 ns; X <= 1 after 10 ns; --now = 18; zruší 0 (naplánovaná. na 22) wait for 2 ns; X <= 0 after 20 ns; --now = 20; zruší 1 (naplánovaná na 28) wait for 2 ns; X <= 1 after 10 ns; --now = 22; zruší 0 (naplánovaná na 40) time x x x ruší se MI-SIM Jiří Douša 15

16 Příkaz if výběr jedné nebo žádné skupiny příkazů if <podmínka> then <příkazy> [elsif <podmínka> then <príkazy>+. [else <příkazy>+ --žádná podmínka end if; příklad: úplná jednobitová sčítačka - návrh dle pravdivostní tabulky : vstupy.. bin_input výstupy.s (soucet), c (přenos) if bin_input = 000 then s <= 0 ; c <= 0 ; elsif bin_input = 001 then s <= 1 ; c <= 0 ; elsif bin_input = 010 then s <= 1 ; c <= 0 ; elsif bin_input = 011 then s <= 0 ; c <= 1 ;.. elsif bin_input = 110 then s <= 0 ; c <= 1 ; else s <= 1 ; c <= 1 ; end if; MI-SIM Jiří Douša 16

17 Příkaz cyklu Existují 2 typy: 1) [<label>]: for <proměn. cyklu> in <rozsah> loop <příkazy> end loop [<label>]; řídící proměnná cyklu je deklarována implicitně v cyklu nelze měnit hodnotu řídící proměnné zjednodušená verse cyklu ve spojení s příkazem exit: [<label>]: loop <příkazy> exit [<label>] <příkazy> end loop; příkaz exit: ukončí provádění cyklu exit [< label>]; -- pokud chybí< label>, ukončí -- se nejbližší uzavírající cyklus exit [<label>] when <podmínka>;--podmíněné --ukončení cyklu, jinak efekt jako nepodmíněný exit příkaz next: předá řízení příští iteraci cyklu next [<label>] [when <podmínka>+; --ohledně výskytu <label> a ohledně <podmínka> platí totéž co v případě exit MI-SIM Jiří Douša 17

18 Příkaz cyklu 2) [<label>]: while <podmínka> loop --příkazy cyklu end loop [< label>]; Příklady ekvivalentních cyklů L1, L2, L3, L4 process ( ) variable p: integer := 7; L1: for i in 7 downto 0 loop..; end loop; -- i není třeba explicitně deklarovat L2: loop..;p := p-1; exit when p < 0 ; end loop; -- počáteční hodnota p - viz deklarace L3: loop. ;p:= p-1; if p<0 then exit; end if; end loop; -- exit uvnitř příkazu if L4: while p >= 0 loop.;p:= p-1; end loop; end process; MI-SIM Jiří Douša 18

19 Testování hodnot signálů Hodnoty signálů nelze testovat bezprostředně po provedení signálových přiřazovacích příkazů př.: process (..); x <= b ; -- příkaz, který neobsahuje nenulové zpoždění if x = 010 then...end if; -- tento test -- nemá smysl: v důsledku delta zpoždění zde nelze očekávat -- hodnotu přiřazenou výše end process; možná řešení: pozdržet process do provedení skutečné změny signálu: x <= b ; wait for 0 sec; --pozdržení procesu na dobu delta if x = 010 then end if; --smysluplný test nahradit signál lokální proměnnou téhož typu: pom:= b ; --hodnota signálu b do proměnné pom if pom = 010 then.end if ;--smysluplný test MI-SIM Jiří Douša 19

20 Příkaz case v příkazu musí být testovány všechny přípustné hodnoty výrazu, tutéž hodnotu nelze citovat vícekrát case <výraz> is when <výběr> => <příkazy> when <výběr> => <příkazy>... [when others => <příkazy>+ -- výběr všech dosud -- necitovaných hodnot ( musí být poslední ) end case; poznámky: when others => null ; -- prázdný příkaz when others => ; -- prázdný příkaz ukázky možností pro výběr: 7 downto 0 pouze pro integer, nebo 2 nebo 3, 0101 pro bit_vector příklad: úplná jednobitová sčítačka: case bin_input is when => s <= 1 ; c <= 0 ; when => s <= 0 ; c <= 1 ; when 000 => s <= 0 ; c <= 0 ; when 111 => s <= 1 ; c <= 1 ; end case; MI-SIM Jiří Douša 20

21 Simulace kombinačních obvodů Příklad: a & process (a, b,c ) b c 1 y y <= ( a and b ) or c after 10 ns; end process; všechny vstupy kombinačního obvodu musí být uvedeny v citlivostním seznamu nebo příkazu wait (jde o lokální signály příslušné architektury nebo vstupní porty příslušné entity) Příklad: multiplexor 4 x 1 model: viz následující slide a b c d y sel(0) sel(1) MI-SIM Jiří Douša 21

22 Model multiplexoru P1: process (a,b,c,d, sel) --použití příkazu if if sel = 00 then y <= a after 5 ns; elsif sel = 01 then y <= b after 5 ns; elsif sel = 10 then y <= c after 5 ns; else y <= d after 5 ns; end if; end process P1; P2: process (a,b,c,d, sel) --použití příkazu case case sel is when 00 => y <=a after 5 ns; when 01 => y <=b after 5 ns; when 10 => y <=c after 5 ns; when 11 => y <=d after 5 ns; end case; end process P2; MI-SIM Jiří Douša 22

23 Model násobičky předpokládané deklarace: signal a, b: std_logic_vector (3 downto 0); --operandy signal soucin: std_logic_vector (7 downto 0); --pro výsledek.. process (a, b) --a,b...vstupy násobičky variable P0, P1, P2, P3:std_logic_vector (7 downto 0); constant Nula: std_logic_vector:= ; --analogie paralelní násobičky if b(0) = 1 then P0:= ( 0000 & a); --1.částečný.součin else P0:= Nula; end if; if b(1) = 1 then P1:= ( 000 & a & 0 ); --2. částečný součin else P1:= Nula; end if; if b(2) = 1 then P2:= ( 00 & a & 00 ); --3. částečný součin else P2:= Nula; end if; if b(3) = 1 then P3:= ( 0 & a & 000 ); --4. částečný součin else P3:= Nula; end if; soucin <= P0 +P1 + P2 + P3; --součet částečných součinů -- operátor + je definován v knihovně ieee.std_logic_unsigned -- pro datové typy std_logic a std_logic_vector end process; MI-SIM Jiří Douša 23

24 Model násobičky -- jiná realizace násobičky nezáporných čísel -- předpokládané deklarace: viz předchozí příklad -- následující proces využívá příkaz cyklu process (a, b) variable res, pom: std_logic_vector ( 7 downto 0 ); --analogie sekvenční násobičky res := ; --proměnná pro kumulaci částeč. součinů for i in 0 to 3 loop pom:= ; --pro vytvoření částečných součinů if b(i) = 1 then pom ((i+3) downto i):= a; end if; res := res + pom; --postupná kumulace část. součinů end loop; soucin <= res; end process Násobička; další možnosti a) přímé vynásobení vektorů s využitím operátoru z matematické knihovny b) konverse binárních vstupních vektorů na čísla typu integer, použití operátoru násobení čísel typu integer, zpětná konverse výsledku do binárního vektoru MI-SIM Jiří Douša 24

25 Simulace sekvenčních obvodů Příklad zapojení sekvenčního obvodu: P1 P3 x a w(2) P2 y(1) b w(1) y(2) w(0) clk entity E is port (a, b, clk: in bit; architecture A of E is x: out bit; y: out bit_vector (2 downto 1) ) ; end E; signal w:bit_vector ( 2 downto 0 ); --lokální signály P1: process..end process P1; P2: process.end process P2; P3: process..end process P3; end A; Poznámka.: rozdělení obvodu do procesů lze provést různě; je možné navrhnout i jediný proces MI-SIM Jiří Douša 25

26 Synchronizace procesů viz předchozí příklad - pokračování: P1: process -- clocked process wait until clk = 1 ; -- synchronizace hod. pulsy w(2) <=...a b.. ; -- výstup klopného obvodu w(1) <=..; w(0) <=...;-- výstupy klopných obvodů end process P1; P2: process P2 -- clocked process wait until clk = 1 ; -- synchronizace hodin. pulsy y(1) <=.; y(2) <= ; end process P1; P3: process (w(1), w(2)) -- vstupy kombinační části -- kombinační obvod x <= ; --výstup komb. členu připojený na port x end process P3; MI-SIM Jiří Douša 26

27 Modely klopných obvodů Příklad: din clk dout res_n -- následují různé varianty klopného obvodu entity D is port ( din, res_n, clk: in bit; dout: out bit ); end D; D typ, hranový bez možnosti nulování architecture Arch of D is D1: process wait until clk = 1 ; -- synchronizace dout <= din after.; end process D1; end Arch; process (clk) -- proces s ekvivalentním chováním jako D1 if clk = 1 [ and clk event ] then dout <= din after.; end if; end process; MI-SIM Jiří Douša 27

28 Modely klopných obvodů D typ, hranový, synchronní nulování: process wait until clk = 1 ; if res_n = 0 then dout <= 0 after...; else dout <= din after...; end process; end if; proces (clk) -- jiný zápis téhož chování: if clk = 1 and clk event then if res_n = 0 then dout <= 0 after.; -- nulování else dout <= din after...; -- zápis vstupu end if; end if; end process; D typ, hranový, asynchronní nulování: process (clk, res_n) if res_n = 0 then dout <= 0 ; elsif clk event and clk = 1 then dout <= din; end process; --nulování --zápis vstupu end if; MI-SIM Jiří Douša 28

29 Modely klopných obvodů D typ, hladinový, asynchronní nulování: process (din, clk, res_n) if res_n = 0 then dout <= 0 ; elsif clk = 1 then dout <= din ; end if ; end process; D typ, hranový, asynchronní nulování, uvolňovací vstup: din en clk res_n D dout process (clk, res_n) if res_n = 0 then dout <= 0 ; --nulování elsif clk event and clk = 1 then if en = 1 then dout <= din; -- uvolňovací vstup [ else null ; ] end if; end if; end process; MI-SIM Jiří Douša 29

30 Modely klopných obvodů Příklad: kompletní model osmibitového hranového paralelního registru s asynchronním nulováním: entity Reg is port ( din: in bit_vector ( 7 downto 0 ) ; end Reg; dout: out bit_vector ( 7 downto 0 ) ; clk, res_n: in bit ); architecture Arch of Reg is -- nejsou potřeba žádné lokální signály process (clk, res_n) if res_n = 0 then dout <= (others => 0 ); --nulování elsif clk event and clk = 1 then dout <= din; --zápis všech vstupů end if; end process; end Arch; MI-SIM Jiří Douša 30

31 Modely automatů Příklad: automatový model sériové sčítačky 00/0 01/1 10/1 Q0 11/0 00/1 Q1 01/0 10/0 11/1 entity Scit is port (x, y, clk: in bit; s: out bit); architecture Ascit of Scit is type stav is (Q0, Q1); signal sstav, pstav: stav; K1: process (sstav, x, y) --přechodová funkce case sstav is end Scit; when Q0 => if x = 1 and y = 1 then pstav <= Q1; else pstav <= Q0; end if; when Q1 => if x = 0 and y = 0 then pstav <= Q0; else pstav <= Q1; end if; end case; end process K1; K2: process (sstav, x, y) --výstupní funkce case sstav is when Q0 => if (( x xor y) = 1 ) then s <= 1 ; else s <= 0 ; end if; when Q1 => if (( x xor y ) = 1 ) then s <= 0 ; else s <= 1 ; end if; end case; end process K2; FF:process wait until (clk= 1 ); sstav <=pstav; end process; end AScit; MI-SIM Jiří Douša 31

32 Modely automatů použití jednoho procesu pro modelování sériové sčítačky: process (clk, x, y) type stav is (Q0, Q1); variable sstav, pstav: stav; -- nositel vnitřního stavu case sstav is when Q0 => if x = 0 and y = 0 then s <= 0 ; pstav := Q0; elsif x = 0 and y = 1 then s <= 1 ; pstav := Q0; elsif x = 1 and y = 0 then s <= 1 ; pstav := Q0; elsif x = 1 and y = 1 then s <= 0 ; pstav:= Q1; end if; when Q1 => if x = 0 and y = 0 then s <= 1 ; pstav:= Q0; elsif x = 0 and y = 1 then s <= 0 ; pstav:= Q1; elsif x = 1 and y = 0 then s <= 0 ; pstav:= Q1; elsif x = 1 and y = 1 then s <= 1 ; pstav:= Q1; end if; end case; if (clk event and clk = 1 ) then sstav := pstav; end if; end process; -- tento model není správný!!!!! MI-SIM Jiří Douša 32

33 Modely automatů Příklad: použití jediného procesu pro simulaci jednobitové sčítačky, který využívá předchozích tabulek process (clk, x, y, sstav) type stav is (Q0,Q1); variable pstav : stav; type tab_stavu is array (stav, bit, bit) of stav; type tab_bitu is array (stav, bit, bit) of bit; constant prechody: tab_stavu:= (Q0 => ( 0 => (Q0, Q0), 1 => (Q0, Q1)), (Q1 => ( 0 => (Q0, Q1), 1 => (Q1, Q1)); -- prvé dva indexy : jmenné mapování -- třeti index: posični mapování constant vystup: tab_bitu := tab_bitu' ( Q0 => ( '0'=> ("01"), '1' => ("10") ) Q1 => ( '0'=> ("10"), '1' => ("01") ) ); pstav := prechody (sstav, x, y); --výpočet budící funkce s <= vystup (sstav, x, y); --výpočet hodnoty součtu if ( clk event and clk = 1 ) then sstav <= pstav; end if; end process; MI-SIM Jiří Douša 33

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Jiří Douša, katedra číslicového návrhu (K18103), České vysoké učení technické

Více

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Jiří Douša, katedra číslicového návrhu (K18103), České vysoké učení technické

Více

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Jiří Douša, katedra číslicového návrhu (K18103), České vysoké učení technické

Více

Příklady popisu základních obvodů ve VHDL

Příklady popisu základních obvodů ve VHDL Příklady popisu základních obvodů ve VHDL INP - cvičení 2 Michal Bidlo, 2008 bidlom@fit.vutbr.cz entity Circuit is port ( -- rozhraní obvodu ); end Circuit; Proces architecture Behavioral of Circuit is

Více

Jazyk VHDL konstanty, signály a proměnné. Jazyk VHDL paralelní a sekvenční doména. Kurz A0B38FPGA Aplikace hradlových polí

Jazyk VHDL konstanty, signály a proměnné. Jazyk VHDL paralelní a sekvenční doména. Kurz A0B38FPGA Aplikace hradlových polí ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Ing. Radek Sedláček, Ph.D., katedra měření K13138 Jazyk VHDL konstanty, signály a proměnné Jazyk VHDL paralelní a sekvenční doména Kurz A0B38FPGA

Více

Koncept pokročilého návrhu ve VHDL. INP - cvičení 2

Koncept pokročilého návrhu ve VHDL. INP - cvičení 2 Koncept pokročilého návrhu ve VHDL INP - cvičení 2 architecture behv of Cnt is process (CLK,RST,CE) variable value: std_logic_vector(3 downto 0 if (RST = '1') then value := (others => '0' elsif (CLK'event

Více

Souhrn Apendixu A doporučení VHDL

Souhrn Apendixu A doporučení VHDL Fakulta elektrotechniky a informatiky Univerzita Pardubice Souhrn Apendixu A doporučení VHDL Práce ke zkoušce z předmětu Programovatelné logické obvody Jméno: Jiří Paar Datum: 17. 2. 2010 Poznámka k jazyku

Více

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D. Digitální obvody Doc. Ing. Lukáš Fujcik, Ph.D. Stavové automaty enkódování Proces, který rozhoduje kolik paměťových prvků bude využito v paměťové části. Binární enkódování je nejpoužívanější. j počet stavů

Více

Úvod do jazyka VHDL. Jan Kořenek korenek@fit.vutbr.cz. Návrh číslicových systémů 2007-2008

Úvod do jazyka VHDL. Jan Kořenek korenek@fit.vutbr.cz. Návrh číslicových systémů 2007-2008 Úvod do jazyka VHDL Návrh číslicových systémů 2007-2008 Jan Kořenek korenek@fit.vutbr.cz Jak popsat číslicový obvod Slovně Navrhněte (číslicový) obvod, který spočte sumu všech členů dané posloupnosti slovní

Více

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Jiří Douša, katedra číslicového návrhu (K18103), České vysoké učení technické

Více

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Simulace číslicových obvodů (MI-SIM) imní semestr 2/2 Jiří Douša, katedra číslicového návrhu (K83), České vysoké učení technické v Prae,

Více

Návrh ovládání zdroje ATX

Návrh ovládání zdroje ATX Návrh ovládání zdroje ATX Zapínání a vypínání PC zdroj ATX se zapíná spojením řídicího signálu \PS_ON se zemí zapnutí PC stiskem tlačítka POWER vypnutí PC (hardwarové) stiskem tlačítka POWER a jeho podržením

Více

14. Složitější konstrukce

14. Složitější konstrukce Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Praktika návrhu číslicových obvodů Dr.-Ing. Martin Novotný Katedra číslicového návrhu Fakulta informačních technologií ČVUT v Praze Miloš

Více

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Jiří Douša, katedra číslicového návrhu (K18103), České vysoké učení technické

Více

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D. Digitální obvody Doc. Ing. Lukáš Fujcik, Ph.D. Klopné obvody jsou nejjednodušší sekvenční součástky Záleží na předcházejícím stavu Asynchronní klopné obvody reagují na změny vstupu okamžitě Synchronní

Více

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D. Digitální obvody Doc. Ing. Lukáš Fujcik, Ph.D. Realizace kombinačních logických funkcí Realizace kombinační logické funkce = sestavení zapojení obvodu, který ze vstupních proměnných vytvoří výstupní proměnné

Více

Číslicové obvody a jazyk VHDL

Číslicové obvody a jazyk VHDL Číslicové obvody a jazyk VHDL Návrh počítačových systémů 2007-2008 Jan Kořenek korenek@fit.vutbr.cz Proč HW realizace algoritmu Vyšší rychlost paralelní nebo zřetězené zpracování, přizpůsobení výpočetních

Více

3. Sekvenční logické obvody

3. Sekvenční logické obvody 3. Sekvenční logické obvody 3. Sekvenční logické obvody - úvod Sledujme chování jednoduchého logického obvodu se zpětnou vazbou 3. Sekvenční logické obvody příklad sekv.o. Příklad sledování polohy vozíku

Více

12. VHDL pro verifikaci - Testbench I

12. VHDL pro verifikaci - Testbench I Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti 12. VHDL pro verifikaci - Testbench I Praktika návrhu číslicových obvodů Dr.-Ing. Martin Novotný Katedra číslicového návrhu Fakulta informačních

Více

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D. Digitální obvody Doc. Ing. Lukáš Fujcik, Ph.D. Základní invertor v technologii CMOS dva tranzistory: T1 vodivostní kanál typ N T2 vodivostní kanál typ P při u VST = H nebo L je klidový proud velmi malý

Více

SEKVENČNÍ LOGICKÉ OBVODY

SEKVENČNÍ LOGICKÉ OBVODY Sekvenční logický obvod je elektronický obvod složený z logických členů. Sekvenční obvod se skládá ze dvou částí kombinační a paměťové. Abychom mohli určit hodnotu výstupní proměnné, je potřeba u sekvenčních

Více

Chapter Základní principy simulace :).

Chapter Základní principy simulace :). Chapter 1 Simulace číslicových obvodů 1.1 Základní principy simulace V doporučeních firmy Xilinx, kde píší jakým způsobem navrhovat: pozor, vyhněte se asynchronnímu návrhu, pokud se tomu nevyhnete, zlikviduje

Více

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Jiří Douša, katedra číslicového návrhu (K18103), České vysoké učení technické

Více

5. Sekvenční logické obvody

5. Sekvenční logické obvody 5. Sekvenční logické obvody 3. Sekvenční logické obvody - úvod Sledujme chování jednoduchého logického obvodu se zpětnou vazbou 3. Sekvenční logické obvody - příklad asynchronního sekvenčního obvodu 3.

Více

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Jiří Douša, katedra číslicového návrhu (K18103), České vysoké učení technické

Více

Struktura a architektura počítačů (BI-SAP) 3

Struktura a architektura počítačů (BI-SAP) 3 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Struktura a architektura počítačů (BI-SAP) 3 doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii

Více

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu. Informatika 10. 9. 2013 Jméno a příjmení Rodné číslo 1) Napište algoritmus pro rychlé třídění (quicksort). 2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus

Více

Struktura a architektura počítačů (BI-SAP) 4

Struktura a architektura počítačů (BI-SAP) 4 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Struktura a architektura počítačů (BI-SAP) 4 doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii

Více

Architektura počítačů Logické obvody

Architektura počítačů Logické obvody Architektura počítačů Logické obvody http://d3s.mff.cuni.cz/teaching/computer_architecture/ Lubomír Bulej bulej@d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Digitální

Více

Základní znaky. - Ve srovnání se Spice jsou velmi složité a vyžadují dlouhou dobu na plné osvojení. - Velmi nákladné simulační programy.

Základní znaky. - Ve srovnání se Spice jsou velmi složité a vyžadují dlouhou dobu na plné osvojení. - Velmi nákladné simulační programy. VHDL-AMS Počátek jazyků HDL sahá do šedesátých let. V průběhu doby vznikla celá řada jazyků FAS (Anacad 1988), SpetreHDL (Cadence 94), MAST (Analogy 1986) a jiné. V současné době hrají největší roli jazyky

Více

1. Seznamte se s výukovou platformou FITkit (http://merlin.fit.vutbr.cz/fitkit/).

1. Seznamte se s výukovou platformou FITkit (http://merlin.fit.vutbr.cz/fitkit/). Zadání: Fakulta informačních technologií VUT v Brně Ústav počítačových systémů Technika personálních počítačů, cvičení ITP FITkit Řízení 7mi-segmentového displeje Úloha č. 3. 1. Seznamte se s výukovou

Více

Programovací jazyk Pascal

Programovací jazyk Pascal Programovací jazyk Pascal Syntaktická pravidla (syntaxe jazyka) přesná pravidla pro zápis příkazů Sémantická pravidla (sémantika jazyka) pravidla, která každému příkazu přiřadí přesný význam Všechny konstrukce

Více

1 Stručný popis jazyku VHDL

1 Stručný popis jazyku VHDL 1 Stručný popis jazyku VHDL Jazyk VHDL (Very High Speed Integrated Circuits Hardware Description Language) je spolu s jazykem Verilog HDL jedním z nejpoužívanějším jazykům pro popis hardwarových struktur

Více

Číselné vyjádření hodnoty. Kolik váží hrouda zlata?

Číselné vyjádření hodnoty. Kolik váží hrouda zlata? Čísla a logika Číselné vyjádření hodnoty Au Kolik váží hrouda zlata? Dekadické vážení Když přidám osmé závaží g, váha se převáží => závaží zase odeberu a začnu přidávat závaží x menší 7 závaží g 2 závaží

Více

Sčítačky Válcový posouvač. Demonstrační cvičení 6

Sčítačky Válcový posouvač. Demonstrační cvičení 6 Sčítačky Válcový posouvač INP Demonstrační cvičení 6 Poloviční sčítačka (Half Adder) A B S C 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 A B HA S C S: A C: A 0 1 0 0 1 0 B 0 1 B S

Více

Architektura počítačů Logické obvody

Architektura počítačů Logické obvody Architektura počítačů Logické obvody http://d3s.mff.cuni.cz/teaching/computer_architecture/ Lubomír Bulej bulej@d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics 2/36 Digitální

Více

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Jiří Douša, katedra číslicového návrhu (K18103), České vysoké učení technické

Více

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu } 5. Operátor čárka, - slouží k jistému určení pořadí vykonání dvou příkazů - oddělím-li čárkou dva příkazy, je jisté, že ten první bude vykonán dříve než příkaz druhý. Např.: i = 5; j = 8; - po překladu

Více

7. Popis konečného automatu

7. Popis konečného automatu Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Praktika návrhu číslicových obvodů Dr.-Ing. Martin Novotný Katedra číslicového návrhu Fakulta informačních technologií ČVUT v Praze Miloš

Více

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Jiří Douša, katedra číslicového návrhu (K18103), České vysoké učení technické

Více

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Jiří Douša, katedra číslicového návrhu (K18103), České vysoké učení technické

Více

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7 Pascal Katedra aplikované kybernetiky Ing. Miroslav Vavroušek Verze 7 Proměnné Proměnná uchovává nějakou informaci potřebnou pro práci programu. Má ve svém oboru platnosti unikátní jméno. (Připadne, musí

Více

Násobičky, Boothovo překódování. Demonstrační cvičení 7

Násobičky, Boothovo překódování. Demonstrační cvičení 7 Násobičky, Boothovo překódování INP Demonstrační cvičení 7 Obsah Princip násobení Sekvenční a kombinační násobička Kombinační násobičky ve VHDL Násobení se znaménkem (FX) Boothovo překódování, VHDL Násobení

Více

Návrh. číslicových obvodů

Návrh. číslicových obvodů Návrh číslicových obvodů SW Aritmetika HW Periférie CPU function AddSub(a,b,s); var c; a b k k a+b mpx c if (s==1) c=a+b; else c=a-b; a-b return c; End; PAMĚŤ s Princip: univerzální stroj Výhoda: univerzalita

Více

Sekvenční logické obvody

Sekvenční logické obvody Sekvenční logické obvody Sekvenční logické obvody - úvod Sledujme chování jednoduchého logického obvodu se zpětnou vazbou Sekvenční obvody - paměťové členy, klopné obvody flip-flop Asynchronní klopné obvody

Více

2. Entity, Architecture, Process

2. Entity, Architecture, Process Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Praktika návrhu číslicových obvodů Dr.-Ing. Martin Novotný Katedra číslicového návrhu Fakulta informačních technologií ČVUT v Praze Miloš

Více

3.7.5 Znaménkové operátory Násobící operátory Rùzné operátory Základní objekty Konstanty Sig

3.7.5 Znaménkové operátory Násobící operátory Rùzné operátory Základní objekty Konstanty Sig OBSAH Úvod 11 Signály v èíslicových systémech 13 2.1 Dvojstavové signály... 14 2.2 Tøístavové signály... 16 2.3 Dynamické parametry èíslicových signálù... 16 Jazyk VHDL 19 3.1 Historie, souèasnost, budoucnost

Více

PROGRAMOVATELNÁ LOGICKÁ POLE A JAZYKY HDL

PROGRAMOVATELNÁ LOGICKÁ POLE A JAZYKY HDL PROGRAMOVATELNÁ LOGICKÁ POLE A JAZYKY HDL Doc. Ing. Jaromír Kolouch, CSc. Ústav radioelektroniky FEKT VUT v Brně, Purkyňova 118, kolouch@feec.vutbr.cz Přednáška má přinést informaci o současném stavu v

Více

Vzorový příklad. Postup v prostředí ISE. Zadání: x 1 x 0 y Rovnicí y = x 1. Přiřazení signálů:

Vzorový příklad. Postup v prostředí ISE. Zadání: x 1 x 0 y Rovnicí y = x 1. Přiřazení signálů: Vzorový příklad. Zadání: Na přípravku realizujte kombinační obvod představující funkci logického součinu dvou vstupů. Mající následující pravdivostní tabulku. x 1 x 0 y 0 0 0 0 1 0 1 0 0 1 1 1 Rovnicí

Více

Obsah přednášky. programovacího jazyka. Motivace. Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup Kontinuace Program

Obsah přednášky. programovacího jazyka. Motivace. Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup Kontinuace Program Denotační sémantika programovacího jazyka doc. Dr. Ing. Miroslav Beneš katedra informatiky, A-1007 59 732 4213 Obsah přednášky Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup

Více

Y36SAP Y36SAP-2. Logické obvody kombinační Formy popisu Příklad návrhu Sčítačka Kubátová Y36SAP-Logické obvody 1.

Y36SAP Y36SAP-2. Logické obvody kombinační Formy popisu Příklad návrhu Sčítačka Kubátová Y36SAP-Logické obvody 1. Y36SAP 26.2.27 Y36SAP-2 Logické obvody kombinační Formy popisu Příklad návrhu Sčítačka 27-Kubátová Y36SAP-Logické obvody Logický obvod Vstupy a výstupy nabývají pouze hodnot nebo Kombinační obvod popsán

Více

Logické obvody 10. Neúplné čítače Asynchronní čítače Hazardy v kombinačních obvodech Metastabilita Logické obvody - 10 hazardy 1

Logické obvody 10. Neúplné čítače Asynchronní čítače Hazardy v kombinačních obvodech Metastabilita Logické obvody - 10 hazardy 1 Logické obvody 10 Neúplné čítače Asynchronní čítače Hazardy v kombinačních obvodech Metastabilita 6.12.2007 Logické obvody - 10 hazardy 1 Neúplné čítače Návrh čítače M5 na tabuli v kódu binárním a Grayově

Více

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011 Jiří Douša, katedra číslicového návrhu (K18103), České vysoké učení technické

Více

Činnost: 1) Vyhodnotí se výraz E. 2) Jeho hodnota se uloží do proměnné V.

Činnost: 1) Vyhodnotí se výraz E. 2) Jeho hodnota se uloží do proměnné V. Přiřazovací příkaz V := E, V jednoduchá nebo indexovaná proměnná, E výraz, jehož typ je kompatibilní podle přiřazení s typem proměnné V. 1) Vyhodnotí se výraz E. 2) Jeho hodnota se uloží do proměnné V.

Více

Organizace předmětu, podmínky pro získání klasifikovaného zápočtu

Organizace předmětu, podmínky pro získání klasifikovaného zápočtu ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Ing. Radek Sedláček, Ph.D., katedra měření K13138 Organizace předmětu, podmínky pro získání klasifikovaného zápočtu Kurz A0B38FPGA Aplikace

Více

Pokročilé využití jazyka VHDL. Pavel Lafata

Pokročilé využití jazyka VHDL. Pavel Lafata Pokročilé využití jazyka VHDL Pavel Lafata Autor: Pavel Lafata Název díla: Pokročilé využití jazyka VHDL Zpracoval(a): České vysoké učení technické v Praze Fakulta elektrotechnická Kontaktní adresa: Technická

Více

Vývoj VHDL. Verilog HDL

Vývoj VHDL. Verilog HDL Popis systémů pomocí VHDL Vývoj VHDL HDL - Hardware Description Language VHDL - Very High Speed Integrated Circuits HDL Vývoj od roku 1983 v rámci projektu VHSIC 1987 - standard IEEE 1076-1987 1993 - revize

Více

Y36SAP 2007 Y36SAP-4. Logické obvody kombinační a sekvenční používané v číslicovém počítači Sčítačka, půlsčítačka, registr, čítač

Y36SAP 2007 Y36SAP-4. Logické obvody kombinační a sekvenční používané v číslicovém počítači Sčítačka, půlsčítačka, registr, čítač Y36SAP 27 Y36SAP-4 Logické obvody kombinační a sekvenční používané v číslicovém počítači Sčítačka, půlsčítačka, registr, čítač 27-Kubátová Y36SAP-Logické obvody typické Často používané funkce Majorita:

Více

Jazyk VHDL zápis čísel, znaků a řetězců. Jazyk VHDL základní datové typy a operátory. Kurz A0B38FPGA Aplikace hradlových polí

Jazyk VHDL zápis čísel, znaků a řetězců. Jazyk VHDL základní datové typy a operátory. Kurz A0B38FPGA Aplikace hradlových polí ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Ing. Radek Sedláček, Ph.D., katedra měření K13138 Jazyk VHDL zápis čísel, znaků a řetězců Jazyk VHDL základní datové typy a operátory Kurz

Více

Počítačová simulace logistických procesů I. 11. přednáška Programování v SimTalk. ŠAVŠ, Fábry

Počítačová simulace logistických procesů I. 11. přednáška Programování v SimTalk. ŠAVŠ, Fábry Počítačová simulace logistických procesů I. ŠAVŠ, Fábry 29.4.2019 Cíl přednášky Seznámit s možnostmi práce v cyklech a tabulkami. 2 Struktura přednášky Podmíněné příkazy s INSPECT. Příkazy s opakujícím

Více

Vzorový příklad. Postup v prostředí ISE. Zadání: x 1 x 0 y. Rovnicí y = x 1. x 0. Přiřazení signálů: ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

Vzorový příklad. Postup v prostředí ISE. Zadání: x 1 x 0 y. Rovnicí y = x 1. x 0. Přiřazení signálů: ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Vzorový příklad. Zadání: Na přípravku realizujte kombinační obvod představující funkci logického součinu dvou vstupů. Mající následující pravdivostní tabulku. x 1 x 0 y 0 0 0 0 1 0 1 0 0 1 1 1 Rovnicí

Více

Cíle. Teoretický úvod

Cíle. Teoretický úvod Předmět Ú Úloha č. 7 BIO - igitální obvody Ú mikroelektroniky Sekvenční logika návrh asynchronních a synchronních binárních čítačů, výhody a nevýhody, využití Student Cíle Funkce čítačů a použití v digitálních

Více

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky Vyučovací hodina 1vyučovací hodina: Opakování z minulé hodiny Nová látka Procvičení nové látky Shrnutí 5 min 20 min 15 min 5 min 2vyučovací hodiny: Opakování z minulé hodiny Nová látka Procvičení nové

Více

4. Elektronické logické členy. Elektronické obvody pro logické členy

4. Elektronické logické členy. Elektronické obvody pro logické členy 4. Elektronické logické členy Kombinační a sekvenční logické funkce a logické členy Elektronické obvody pro logické členy Polovodičové paměti 1 Kombinační logické obvody Způsoby zápisu logických funkcí:

Více

Princip funkce počítače

Princip funkce počítače Princip funkce počítače Princip funkce počítače prvotní úlohou počítačů bylo zrychlit provádění matematických výpočtů první počítače kopírovaly obvyklý postup manuálního provádění výpočtů pokyny pro zpracování

Více

Struktura a architektura počítačů (BI-SAP) 10

Struktura a architektura počítačů (BI-SAP) 10 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Struktura a architektura počítačů (BI-SAP) 10 doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii

Více

Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem

Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem Test prvočíselnosti Úkol: otestovat dané číslo N, zda je prvočíslem 1. zkusit všechny dělitele od 2 do N-1 časová složitost O(N) cca N testů 2. stačí zkoušet všechny dělitele od 2 do N/2 (větší dělitel

Více

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI EVROPSKÝ SOCIÁLNÍ FOND Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI Úvod do PHP PHP Personal Home Page Hypertext Preprocessor jazyk na tvorbu dokumentů přípona: *.php skript je součást HTML stránky!

Více

Přednáška 7. Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu.

Přednáška 7. Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu. Přednáška 7 Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu. 1 Příkaz expr výraz Celočíselná aritmetika I Zašle na standardní výstup vyhodnocení výrazu

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Výrazy Operátory Výrazy Verze pro akademický rok 2012/2013 1 Operace, operátory Unární jeden operand, operátor se zapisuje ve většině případů před operand, v některých případech

Více

2.1 Podmínka typu case Cykly Cyklus s podmínkou na začátku Cyklus s podmínkou na konci... 5

2.1 Podmínka typu case Cykly Cyklus s podmínkou na začátku Cyklus s podmínkou na konci... 5 Obsah Obsah 1 Řídicí struktury 1 2 Podmínka 1 2.1 Podmínka typu case......................... 2 3 Příkaz skoku 3 4 Cykly 4 4.1 Cyklus s podmínkou na začátku................... 4 4.2 Cyklus s podmínkou

Více

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti MI-SOC: 2 KOMUNIKACE NAČIPU, LATENCE, PROPUSTNOST, ARCHITEKTURY doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních

Více

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D. Digitální obvody Doc. Ing. Lukáš Fujcik, Ph.D. Obvody s třístavovým výstupem dva tranzistory: vodivostní kanál typ N vodivostní kanál typ P X CS 3 stavový sa výstup Y P logika X 3 stavový výstup W N CS

Více

Poslední nenulová číslice faktoriálu

Poslední nenulová číslice faktoriálu Poslední nenulová číslice faktoriálu Kateřina Bambušková BAM015, I206 Abstrakt V tomto článku je popsán a vyřešen problém s určením poslední nenulové číslice faktoriálu přirozeného čísla N. Celý princip

Více

Tel-30 Nabíjení kapacitoru konstantním proudem [V(C1), I(C1)] Start: Transient Tranzientní analýza ukazuje, jaké napětí vytvoří proud 5mA za 4ms na ka

Tel-30 Nabíjení kapacitoru konstantním proudem [V(C1), I(C1)] Start: Transient Tranzientní analýza ukazuje, jaké napětí vytvoří proud 5mA za 4ms na ka Tel-10 Suma proudů v uzlu (1. Kirchhofův zákon) Posuvným ovladačem ohmické hodnoty rezistoru se mění proud v uzlu, suma platí pro každou hodnotu rezistoru. Tel-20 Suma napětí podél smyčky (2. Kirchhofův

Více

Programování v jazyce C pro chemiky (C2160) 3. Příkaz switch, příkaz cyklu for, operátory ++ a --, pole

Programování v jazyce C pro chemiky (C2160) 3. Příkaz switch, příkaz cyklu for, operátory ++ a --, pole Programování v jazyce C pro chemiky (C2160) 3. Příkaz switch, příkaz cyklu for, operátory ++ a --, pole Příkaz switch Příkaz switch provede příslušnou skupinu příkazů na základě hodnoty proměnné (celočíselné

Více

Základy programování Proměnné Procedury, funkce, události Operátory a podmínková logika Objekt Range a Cells, odkazy Vlastnosti, metody a události

Základy programování Proměnné Procedury, funkce, události Operátory a podmínková logika Objekt Range a Cells, odkazy Vlastnosti, metody a události Petr Blaha Základy programování Proměnné Procedury, funkce, události Operátory a podmínková logika Objekt Range a Cells, odkazy Vlastnosti, metody a události Cykly Základní funkce (matematické, textové,

Více

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti MI-SOC: 7 ČASOVÁNÍ A SYNCHRONIZACE TECHNICKÉHO VYBAVENÍ doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních

Více

Pracovní listy - programování (algoritmy v jazyce Visual Basic) Algoritmus

Pracovní listy - programování (algoritmy v jazyce Visual Basic) Algoritmus Pracovní listy - programování (algoritmy v jazyce Visual Basic) Předmět: Seminář z informatiky a výpočetní techniky Třída: 3. a 4. ročník vyššího stupně gymnázia Algoritmus Zadání v jazyce českém: 1. Je

Více

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu: Čtvrtek 8 prosince Pascal - opakování základů Struktura programu: 1 hlavička obsahuje název programu, použité programové jednotky (knihovny), definice konstant, deklarace proměnných, všechny použité procedury

Více

Střední průmyslová škola a Vyšší odborná škola, Hrabákova 271, Příbram. III / 2 = Inovace a zkvalitnění výuky prostřednictvím ICT

Střední průmyslová škola a Vyšší odborná škola, Hrabákova 271, Příbram. III / 2 = Inovace a zkvalitnění výuky prostřednictvím ICT Škola Číslo projektu Číslo a název šablony klíčové aktivity Tematická oblast Název sady Téma Anotace Autor Střední průmyslová škola a Vyšší odborná škola, Hrabákova 271, Příbram CZ.1.07/1.5.00/34.0556

Více

Projekt Pospolu. Sekvenční logické obvody Klopné obvody. Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Jiří Ulrych.

Projekt Pospolu. Sekvenční logické obvody Klopné obvody. Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Jiří Ulrych. Projekt Pospolu Sekvenční logické obvody Klopné obvody Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Jiří Ulrych. Rozlišujeme základní druhy klopných sekvenčních obvodů: Klopný obvod

Více

3. Aritmetika nad F p a F 2

3. Aritmetika nad F p a F 2 3. Aritmetika nad F p a F 2 m Dr.-Ing. Martin Novotný Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze c Martin Novotný, 2011 MI-BHW Bezpečnost a technické

Více

1 z 16 11.5.2009 11:33 Test: "CIT_04_SLO_30z50" Otázka č. 1 U Mooreova automatu závisí okamžitý výstup Odpověď A: na okamžitém stavu pamětí Odpověď B: na minulém stavu pamětí Odpověď C: na okamžitém stavu

Více

VISUAL BASIC. Přehled témat

VISUAL BASIC. Přehled témat VISUAL BASIC Přehled témat 1 ÚVOD DO PROGRAMOVÁNÍ Co je to program? Kuchařský předpis, scénář k filmu,... Program posloupnost instrukcí Běh programu: postupné plnění instrukcí zpracovávání vstupních dat

Více

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false Logické operace Datový typ bool může nabýt hodnot: o true o false Relační operátory pravda, 1, nepravda, 0, hodnoty všech primitivních datových typů (int, double ) jsou uspořádané lze je porovnávat binární

Více

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b Výrazy a operátory i = 2 i = 2; to je výraz to je příkaz 4. Operátory Unární - unární a unární + Např.: +5-5 -8.345 -a +b - unární ++ - inkrement - zvýší hodnotu proměnné o 1 - unární -- - dekrement -

Více

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D. Digitální obvody Doc. Ing. Lukáš Fujcik, Ph.D. Synchronní 3-bitový čítač s KO D, asyn. RST a výstupem MAX Vlastnosti: ) Čítač inkrementuje svůj výstup o 2) Změna výstupu nastává vždy při změně náběžné

Více

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15 Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15 KAPITOLA 1 Úvod do programo vání v jazyce C++ 17 Základní pojmy 17 Proměnné a konstanty 18 Typy příkazů 18 IDE integrované vývojové

Více

type Obdelnik = array [1..3, 1..4] of integer; var M: Obdelnik;

type Obdelnik = array [1..3, 1..4] of integer; var M: Obdelnik; Vícerozměrné pole type Obdelnik = array [1..3, 1..4] of integer; var M: Obdelnik; M[2,3] := 3145; - počet indexů není omezen (v praxi obvykle nejvýše tři) - více indexů pomalejší přístup k prvku (počítá

Více

PROGRAMOVATELNÉ LOGICKÉ OBVODY

PROGRAMOVATELNÉ LOGICKÉ OBVODY PROGRAMOVATELNÉ LOGICKÉ OBVODY (PROGRAMMABLE LOGIC DEVICE PLD) Programovatelné logické obvody jsou číslicové obvody, jejichž logická funkce může být programována uživatelem. Výhody: snížení počtu integrovaných

Více

Návrh čítače jako automatu

Návrh čítače jako automatu ávrh čítače jako automatu Domovská URL dokumentu: http://dce.felk.cvut.cz/lsy/cviceni/pdf/citacavrh.pdf Obsah ÁVRH ČÍTAČE JAO AUTOMATU.... SYCHROÍ A ASYCHROÍ AUTOMAT... 2.a. Výstupy automatu mohou být

Více

cyklus s daným počtem opakování cyklus s podmínkou na začátku (cyklus bez udání počtu opakování)

cyklus s daným počtem opakování cyklus s podmínkou na začátku (cyklus bez udání počtu opakování) Řídící příkazy: if podmíněný příkaz switch přepínač for while cyklus s daným počtem opakování cyklus s podmínkou na začátku (cyklus bez udání počtu opakování) if logický_výraz příkaz; příkaz; příkaz; Podmínka

Více

- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku

- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku Znaky - standardní typ char var Z, W: char; - znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku - v TP (často i jinde) se používá kódová

Více

Struktura a architektura počítačů

Struktura a architektura počítačů Struktura a archtektura počítačů Logcké obvody - sekvenční Formy popsu, konečný automat Příklady návrhu České vysoké učení techncké Fakulta elektrotechncká Ver..2 J. Zděnek 24 Logcký sekvenční obvod Logcký

Více

PL/SQL. Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd.

PL/SQL. Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd. PL/SQL Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd. Rozšířením jazyka SQL o proceduralitu od společnosti ORACLE je jazyk

Více

Řídicí struktury. alg3 1

Řídicí struktury. alg3 1 Řídicí struktury Řídicí struktura je programová konstrukce, která se skládá z dílčích příkazů a předepisuje pro ně způsob provedení Tři druhy řídicích struktur: posloupnost, předepisující postupné provedení

Více

5. STRUKTURA PLC PROGRAMU

5. STRUKTURA PLC PROGRAMU 5. STRUKTURA PLC PROGRAMU Struktura PLC programu je navržena s ohledem na co jefektivnější návrh programu při přizpůsobení CNC systému na stroj. 5.1 Moduly jazyka TECHNOL Moduly jazyka PLC836 byly vytvořeny

Více

Operace ALU. INP 2008 FIT VUT v Brně

Operace ALU. INP 2008 FIT VUT v Brně Operace ALU INP 2008 FIT VUT v Brně 1 Princip ALU (FX) Požadavky: Logické operace Sčítání (v doplňkovém kódu) Posuvy/rotace Násobení ělení B A not AN OR XOR + Y 1) Implementace logických operací je zřejmá

Více

Knihovna EpsnetLib TXV 003 73.01 první vydání září 2012 změny vyhrazeny

Knihovna EpsnetLib TXV 003 73.01 první vydání září 2012 změny vyhrazeny Knihovna EpsnetLib TXV 003 73.01 první vydání září 2012 změny vyhrazeny 1 TXV 003 73.01 Historie změn Datum Vydání Popis změn Září 2012 1 První vydání, popis odpovídá EpsnetLib_v11 OBSAH 1 Úvod...3 2 Datové

Více