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í Program cvičení: Cvičení 1: analýza jednoduchých modelů v jazyku VHDL, Cvičení 2: vypracování 1. projektu, Cvičení 3: vypracování 1. projektu, Cvičení 4: test 1, dokončení a odevzdání 1. projektu, Cvičení 5: vypracování 2. projektu, Cvičení 6: vypracování 2. projektu, Cvičení 7: test 2, dokončení a odevzdání 2. projektu, zápočet.

2 Cvičení 1: analýza ukázkových modelů Předmětem 1. cvičení je seznámit studenty se simulačním systémem ModelSim. K tomu účelu jsou na následujících slajdech předloženy demonstračnimi příklady jednoduchých kombinačních i sekvenčních obvodů v jazyku VHDL. V těchto demostračních příkladech jsou s předstihem (vůči přednáškám) použity základní a nejpotřebnější konstrukce jazyka VHDL včetně náznaku jednoduchých testovacích programů. Tyto ukázky mají posloužit studentům jako inspirace při řešení jejich projektů. Podrobnosti jazyka VHDL budou postupně probírány na přednáškách. Pomocí uvedených ukázkových programů lze rovněž demonstrovat jednotlivé funkce systému ModelSim (editace zdrojových programů, jejich překlad, zpracování výsledného modelu, spuštění simulace, trasování programu a jeho ladění, zobrazení časových průběhů) MI-SIM: Jiří Douša 2

3 Cvičení 1: model invertoru library IEEE; use IEEE.std_logic_1164.all; entity INVERTOR is port ( A : in std_logic; -- input port Y : out std_logic); -- output port end INVERTOR; architecture INVERTOR_BODY of INVERTOR is // no local declarations are needed INV : process if A = '0' then Y <= '1' after 20 ns; else Y <= '0' after 13 ns; end if; -- statements with the transport delay: -- if A = '0' then Y <= transport '1' after 20 ns; -- else Y <= transport '0' after 13 ns; end if; wait on A; end process INV; end INVERTOR_BODY; MI-SIM: Martin Novvotný, Jiří Douša

4 Cvičení 1: test invertoru library IEEE; use IEEE.std_logic_1164.all; entity TB_INVERTOR is end TB_INVERTOR; -- no ports architecture TB_INVERTOR_BODY of TB_INVERTOR is -- declaration of inner sinals follows: signal INP, OUTP : std_logic; -- declaration of a socket for the entity INVERTOR ( with the same -- interface) component INVERTOR port ( A : in std_logic; Y : out std_logic ); end component; -- architecture operating part follows -- named port mapping is used: INV : INVERTOR port map (A => INP, Y => OUTP); --INV : INVERTOR port map (Y => OUTP, A => INP); -- process to generace stimulus for the INVERTOR follows GEN: process INP <= '1'; wait for 100 ns; INP <= '0'; wait for 100 ns; INP <= '1'; wait; -- wait for ever end process GEN; end TB_INVERTOR_BODY; MI-SIM: Martin Novotný, Jiří Douša 4

5 Cvičení 1: model multiplexoru entity MUX is port ( B : in bit_vector (3 downto 0); SEL : in bit_vector (1 downto 0); Y : out bit); end MUX; architecture MUX_BODY of MUX is // architecture operation part follows MX: process (B, SEL) case SEL is when "00" => Y <= B(0); when "01" => Y <= B(1); when "10" => Y <= B(2); when "11" => Y <= B(3); end case; end process; end MUX_BODY; MI-SIM: Martin Novotný, Jiří Douša 5

6 entity TESTER is end TESTER; Cvičení 1: test multiplexoru architecture TESTER_body of TESTER is signal TB : bit_vector (3 downto 0); signal TSEL : bit_vector (1 downto 0); signal TY : bit; component MUX port ( B : in bit_vector (3 downto 0); SEL: in bit_vector (1 downto 0); Y : out bit); end component; MX1: MUX port map (TB, TSEL, TY); -- installation of the tested entity GEN: process -- process to drive inputs of the tested entity TB <= "0101"; TSEL <= "00"; wait for 100 ns; TB <= "1111"; wait for 100 ns;..; end process; end TESTER_body; MI-SIM: Martin Novotný, Jiří Douša 6

7 Cvičení 1: aritmeticko logická jednotka package ALU_TYPY is type OPERATION is (add, sub, mul, div); end ALU_TYPY; use work.alu_typy.all; entity ALU is port (A, B : in integer; OPER : in OPERATION; Y : out integer); end ALU; architecture ALU_BODY of ALU is ALU_P: process (A, B, OPER) case OPER is when add => Y <= A + B after 10 ns; when sub => Y <= A - B after 10 ns; when mul => Y <= A * B after 10 ns; when div => Y <= A / B after 10 ns; when others => null; end case; end process; end ALU_BODY; MI-SIM: Martin Novotný, Jiří Douša 7

8 Cvičení 1: komparátory library IEEE; use IEEE.std_logic_1164.all; entity COMP1 is -- one bit comparator port (R, S : in std_logic; T : out std_logic); end KOMP1; architecture COMP1_body of COMP1 is T <= not (R xor S) after 5 ns; end COMP1_body; library IEEE; use IEEE.std_logic_1164.all; entity COMP4 is -- four bit comparator port ( U, V : in std_logic_vector (3 downto 0); W : out std_logic_vector (3 downto 0) ); end COMP4; architecture COMP4_body of COMP4 is component COMP1 port (R, S : in std_logic; T : out std_logic); end component; C0: COMP1 port map (R=>U(0), S=>V(0), T=>W(0)); C1: COMP1 port map (R=>U(1), S=>V(1), T=>W(1)); C2: COMP1 port map (R=>U(2), S=>V(2), T=>W(2)); C3: COMP1 port map (R=>U(3), S=>V(3), T=>W(3)); end COMP4_body; MI-SIM: Martin Novotný, Jiří Douša 8

9 Cvičení 1: klopný obvod library IEEE; use IEEE.STD_LOGIC_1164.all; entity DFF is port ( D : in std_logic; -- data input CLK : in std_logic; -- clock signal Q : out std_logic -- output ); end DFF; architecture DFF_BODY of DFF is DP: process (CLK) -- why FF and not latch? if CLK = '1' then Q <= D after 10 ns; end if; end process; end DFF_BODY; MI-SIM: Martin Novotný, Jiří Douša 9

10 Cvičení 1: klopný obvod library IEEE; use IEEE.STD_LOGIC_1164.all; entity DFF_SYN is port ( D : in std_logic; CLK : in std_logic; RES_SYN : in std_logic; Q : out std_logic ); end DFF_SYN; -- reset input architecture DFF_SYN_BODY of DFF_SYN is DP: process (CLK) -- why synchronous reset? if CLK = '1' then -- why FF and not latch? if RES_SYN = '1' then Q <= '0' after 10 ns; else Q <= D after 10 ns; end if; end if; end process; end DFF_SYN_BODY; MI-SIM: Martin Novotný, Jiří Douša 10

11 Cvičení 1: klopný obvod chybný model library IEEE; use IEEE.STD_LOGIC_1164.all; entity DFF_ASYN is port ( ); end DFF_ASYN; D : in std_logic; CLK : in std_logic; RES_ASYN : in std_logic; Q : out std_logic -- wrong version follows: two simultaneously driven processes => -- conflict on signal Q architecture WRONG of DFF_ASYN is P1: process (RES_ASYN) -- asynchronous reset if RES_ASYN = '1' then Q <= '0'; end if; end process; P2: process (CLK) if CLK = '1' and RES_ASYN = '0' then Q <= D; end if; end process; end WRONG; MI-SIM: Martin Novotný, Jiří Douša 11

12 Cvičení 1: klopný obvod správný model library IEEE; use IEEE.STD_LOGIC_1164.all; entity DFF_ASYN is port ( D : in std_logic; CLK : in std_logic; RES_ASYN : in std_logic; Q : out std_logic ); end DFF_ASYN; architecture CORRECT of DFF_ASYN is // one process drives the signal Q => only one driver of Q exists DP: process (CLK, RES_ASYN) if RES_ASYN = '1' then Q <= '0' after 10 ns; elsif CLK = '1' and CLK'event then Q <= D after 10 ns; end if; end process; end CORRECT; MI-SIM: Martin Novotný, Jiří Douša 12

13 Cvičení 1: model čítače library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.STD_LOGIC_UNSIGNED. all; entity COUNTER is port ( ); CLK -- variant using the mode buffer : in std_logic; RES_ASYN : in std_logic; end COUNTER; DOUT : buffer std_logic_vector (3 downto 0) architecture COUNTER _BODY of COUNTER is CNT: process (CLK, RES_ASYN) if RES_ASYN = '1' then DOUT <= (others => '0') after 10 ns; end if; elsif CLK = '1' and CLK'event then // following statement reads the signal DOUT!!!!! DOUT <= DOUT + '1' after 10 ns; end process; end COUNTER_BODY; MI-SIM: Martin Novotný, Jiří Douša 13

14 Cvičení 1: model čítače -- variant without using buffer library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.STD_LOGIC_UNSIGNED.all; entity COUNTER_1 is port ( CLK : in std_logic; RES_ASYN : in std_logic; DOUT : out std_logic_vector (3 downto 0) ); -- mode out end COUNTER_1; architecture COUNTER_BODY_1 of COUNTER_1 is signal C : std_logic_vector (3 downto 0); -- needed inner signal CNT: process (CLK, RES_ASYN) -- asynchronous reset if RES_ASYN = '1' then C <= (others => '0') after 10 ns; elsif CLK = '1' and CLK'event then C <= C + '1' after 10 ns; -- other possibilities of increment : C <= C + 1 after 10 ns; -- C <= C + "0001"after 10 ns; end if; end process; OUTP: process ( C ) DOUT <= C; end process ; -- equivalent parallel statement : DOUT <= C; end COUNTER_BODY_1; MI-SIM: Martin Novotný, Jiří Douša 14

15 Cvičení 1: model automatu package AUTO_TYPES is type TYPE_INPUT is (A, B, C); type TYPE_OUTPUT is (P, Q); end AUTO_TYPY; -- input symbols -- output symbols library IEEE; use IEEE.STD_LOGIC_1164.all; use work.auto_types.all; entity AUTOMATON is port ( INP : in TYPE_INPUT; OUTP : out TYPE_OUTPUT; CLK, RESET : in std_logic ); end AUTOMATON; architecture AUTOMATON_MOORE of AUTOMATON is type TYPE_STATE is (ASBS, ASBL, ALBS, ALBL); -- inner states signal STATE, NEXT_STATE : TYPE_STATE; OUT_FUN : process (STATE) -- specification of output function case STATE is when ASBL => OUTP <= Q; when others => OUTP <= P; end case; end process; MI-SIM: Martin Novotný, Jiří Douša 15

16 Cvičení 1: model automatu DS : process (INP, STATE) -- specification of transient function case STATE is -- testing current state when ASBS => case INP is when A => NEXT_STATE <= ALBS; when B => NEXT_STATE <= ASBL; when C => NEXT_STATE <= ASBS; end case; when ASBL => case INP is when A => NEXT_STATE <= ALBL; when B => NEXT_STATE <= ASBS; when C => NEXT_STATE <= ASBL; end case; when ALBS => case INP is when A => NEXT_STATE <= ASBS; when B => NEXT_STATE <= ALBL; when C => NEXT_STATE <= ALBS; end case; when ALBL => case INP is when A => NEXT_STATE <= ASBL; when B => NEXT_STATE <= ALBS; when C => NEXT_STATE <= ALBL; end case; end case; end process; MI-SIM: Martin Novotný, Jiří Douša 16

17 Cvičení 1: model automatu REG : process (CLK, RESET) -- flip-flop with asynchronous reset if RESET = '1' then STATE <= ASBS; elsif CLK = '1' and CLK'event then STATE <= NEXT_STATE; end if; end process; end AUTOMATON_MOORE; MI-SIM: Martin Novotný, Jiří Douša 17

18 Cvičení 2 3: projekt 1 Náplní druhého, třetího a částečně i čtvrtého cvičení je řešení prvého projektu, které spočívá v implementaci simulačního modelu vybraného číslicového obvodu v jazyku VHDL. Níže uvedený seznam uvádí konktrétní číslicové obvody, jejichž modely mohou být v rámci tohoto projektu implementovány. Přiřazení úloh studentům provede cvičicí. V odůvodněných případech může student v rámci daného projektu řešit nějaký problém na základě vlastní specifikace. Zadání: 1. Datové registry výukového procesoru DOP. 2. Aritmeticko-logická jednotka výukového procesoru DOP. 3. Registr příznaků výukového procesoru DOP. 4. Rozhraní mezi vnitřní a vnější sběrnicí výukového procesoru DOP. 5. Řadič výukového procesoru DOP. 6. Operační paměť procesoru DOP. 7. Procesor DOP sestavený z předchozích částí. 8. Generátor tabulkou zadané periodické funkce. Poznámka: Kompletní strukturní schéma procesoru DOP je uvedeno v dokumentaci cvičení předmětu BI-JPO. Podrobná specifikace požadavků na zpracování modelu generátoru funkce je uvedena na následujících slajdech MI-SIM: Jiří Douša 18

19 Cvičení 2-3: generátor funkce Stručný popis celkové koncepce generátoru: Předmětem projektu je návrh generátoru periodické funkce dle následujícího obrázku: Funkční hodnoty z prvého kvadrantu periody funkce jsou uloženy v pevné paměti typu ROM. Tyto jsou z paměti postupně čteny a posílány na výstup generátoru. Paměť je adresována reversibilním čítačem, který je řízen řadičem generátoru. Celkové schéma je na následujícím obrázku: MI-SIM: Jiří Buček, Jiří Douša 19

20 Cvičení 2-3: generátor funkce Při inkrementaci čítače jsou adresovány hodnoty z kvadrantů 1 a 3, při jeho dekrementaci se adresují hodnoty kvadrantů 2 a 4. Výpočet záporných hodnot kvadrantů 3 a 4 zajišťuje negátor, který počítá dvojkový doplněk vstupní hodnoty. Specifikace zadání: Vypracujte funkční modely dílčích částí generátoru (tj. NEGATOR, MULTIPLEXOR, COUNTER, MEMORY, CONTROLLER), tyto pak použijte k návrhu výsledného strukturního modelu generátoru. Dimenzi adresové, resp datové sběrnice paměti parametrizujte hodnotou aw, resp. w, které z důvodu jejich možného sdílení v entitách dílčích modelů deklarujte jako konstanty ve vlastní knihovně GEN_CONST. V deklaraci této knihovny použijte hodnot aw = 4 a w = 8. Pro representaci logických veličin použijte datový typ std_logic. Výsledný model celého generátoru otestujte automatickým testem realizovaným entitou TEST s architekturou TESTBENCH. Poznámka: následující slajdy stanoví předepsaný způsob řěšení MI-SIM: Jiří Buček, Jiří Douša 20

21 Cvičení 2-3: generátor funkce Negator Negátor plní funkci dvojkového doplňku; jde o kombinační obvod dle následujícího obrázku: A Y Vstupy: w-bitový operand A (výstup paměti). Výstup: w-bitový výsledek Y (výstup generátoru). Poznámka: po inversi všech bitů operandu A je třeba k takto získanému číslu přičíst hodnotu 1. Toto lze provest zjednodušenou sčítačkou (inkrementorem) dle následujícího obrázku: MI-SIM: Jiří Buček, Jiří Douša 21

22 Cvičení 2-3: generátor funkce Pokyny k návrhu negátoru: Jako model negátoru realizujte entitu NEGATOR s architekturou NEGATOR_BODY. Funkci inkrementoru v dané architektuře implementujte pomocí procesu, který v cyklu vypočítává jednotlivé bity výsledku. Pro záznam mezistupňových přenosů inkrementoru použijte proměnnou C. Samotnou inversi bitů proveďte s využitím paralelního signálového příkazu. Pro specifikaci portů entity NEGATOR použijte konstantu w z knihovny GEN_CONST. Pro zpoždění invertoru, resp. inkrementoru uvažujte hodnoty 1 ns, resp. 3 ns. Nástin řešení: library ieee; use ieee.std_logic_1164.all; use work.gen_const.all; entity NEGATOR is port ( A : in std_logic_vector (w-1 downto 0); Y : out std_logic_vector (w-1 downto 0) ); end NEGATOR; architecture NEGATOR_BODY of NEGATOR is.; -- implementace NEGATORU end architecture; MI-SIM: Jiří Buček, Jiří Douša 22

23 Cvičení 2-3: generátor funkce Pokyny k návrhu multiplexoru: Navrhněte model multiplexoru se dvěma w-bitovými vstupy A, B, jedním jednobitovým výběrovým vstupem SEL a jedním w-bitovým výstupem Y. Příslušnou architekturu implementujte pomocí jednoho procesu. Předpokládejte zpoždění multiplexoru 2 ns. library ieee; use ieee.std_logic_1164.all; use work.gen_const.all; entity MULTIPLEXER is port ( SEL : in std_logic; A, B : in std_logic_vector (w-1 downto 0); Y : out std_logic_vector (w-1 downto 0) ); end MULTIPLEXER; architecture MULTIPLEXER_BODY of MULTIPLEXER is.; -- implementace MULTIPLEXORU end archtecture MULTIPLEXER_BODY; MI-SIM: Jiří Douša, Jiří Buček 23

24 Cvičení 2-3: generátor funkce Paměť funkčních hodnot (typu ROM) Paměť je kombinační obvod s jedním aw-bitovým vstupem A (adresová sběrnice) a jedním w-bitovým výstupem D (datová sběrnice). Pokyny k návrhu paměti: Navrhněte entitu MEMORY s architekturou MEMORY_BODY. Vlastní model paměti implementujte pomocí přednastavené konstanty typu MEM_TYPE, který koncipujte jako pole délky (2**aw) - 1, jehož elementy tvoří w - bitové vektory typu std_logic_vector. Vlastní deklaraci konstanty aw přidejte do knihovny GEN_CONST. Pro uvažovaný případ celkové kapacity paměti 16 bajtů ( aw = 4 a w = 8 ) použijte následující hodnoty jako hodnoty prvého kvadrantu generované funkce: , , , , , , , , , , , , , , , Pro reprezentaci vybavovací doby paměti uvažujte 5 ns MI-SIM: Jiří Buček, Jiří Douša 24

25 Cvičení 2-3: generátor funkce Cítač: Definujte entitu COUNTER a architekturu COUNTER_BODY jako funkční model synchronního čítače a asynchronním signálem RESET. Vstupy čítače: CLK..hodinové pulsy, RESET..nulování čítače, UP..1, resp. 0 pro vzestupné, resp. sestupné čítání. Výstupy čítače: TOP, resp. BOTTOM. hlášení o naplnění, resp. vyprázdnění čítače, CNT současný stav čítače (pro adresování paměti s aw-bitovou adresovou sběrnicí).. Pokyny k návrhu čítače: Pro representaci výstupu i vnitřního stavu čítače použijte typ std_logic_vector a knihovnu std_logic_unsigned pro implementaci operátorů sčítání a odčítání nad vektory. K buzení výstupů TOP a BOTTOM použijte paralelní příkazy. Pro reprezentaci zpoždění výstupních signálů TOP a BOTTOM, resp. CNT vůči náběžné hraně CLK předpokládejte hodnotu 3 ns, resp. 2 ns MI-SIM: Jiří Buček, Jiří Douša 25

26 Cvičení 2-3: generátor funkce Řadič: Úkolem řadiče je generovat výběrový signál SEL pro multiplexor a řídící signál UP pro reversibilní čítač tak, aby generátor generoval periodický průběh na základě uložených hodnot prvého kvadrantu celé periody. Pokyny k návrhu řadiče: Implementujte řadič generátoru jako konečný automat typu Mealy pomocí entity CONTROLLER a příslušné architektury CONTROLLER_BODY sestavené ze tří procesů (pro definici výstupní funkce, pro definici přechodové funkce a pro popis klopných obvodů). Vstupy řadiče: TOP ( plný čítač: poslední adresa paměti), BOTTOM (prázdný čítač: počáteční adresa paměti) RESET (nulování čítače), CLK (hodinový signál) MI-SIM: Jiří Buček, Jiří Douša 26

27 Cvičení 2-3: generátor funkce Návrh celkového modelu generátoru: Specifikujte entitu GENERATOR ( vstupy RESET a CLK, výstup DATA) s příslušnou strukturní architekturou GENERATOR_BODY, vytvořenou pomocí dílčích modelů CONTROLLER, COUNTER, MEMORY, NEGATOR a MULTIPLEXOR. Test generátoru: Navrhněte entitu TEST s architekturou TESTBENCH pro automatickou kontrolu generovaných hodnot. Dekadické hodnoty y i ( i= 0,1.15) z 1. kvadrantu funkce, které jsou uložené v paměti generátoru jsou uvedeny v následující tabulce: i x i y i i x i 1 1 y i 1 + x i Pro kontrolní výpočet výstupů generátoru lze požít následující vztahy: y 0 = 0, y i + 1 = x i + y i, kde x i a y i jsou hodnoty z předešlé tabulky MI-SIM: Jiří Buček, Jiří Douša 27

28 Cvičení 2-3: generátor funkce Nástin testovací entity a architektury: library ieee; use ieee.std_logic_1164.all; use work.gen_const.all; use ieee.std_logic_unsigned.all; entity TEST is end TEST; architecture TESTBENCH of TEST is component GENERATOR port ( -- deklarace portů ); end component; -- signal... deklarace signálů ( Clk, Reset, Vystup ) Gen: GENERATOR port map (clk => Clk,...); -- instalace generátoru tst: process variable y : integer; -- proměnná pro uložení očekávaných hodnot for i in. loop cyklus pro testování jednotlivých výstupů wait until..; -- synchronizace s clk y :=. ; -- výpočet očekávané hodnoty wait for... ; -- čekej na ustálení výstupního signálu -- následuje srovnání dodnoty testovaného vektoru (Vystup) s -- očekávanou hodnotou (y), assert y = conv_integer ( Vystup ) report chyba severity failure; end loop; ; -- případná zpráva o testu wait; -- případné ukončení testu end process; -- tst end TESTBENCH; MI-SIM: Jiří Buček, Jiří Douša 28

29 Cvičení 4 Dokončení 1. projektu: Podmínkou dokončení projetu je úspěšné provedení úplného automatického testu zadaného obvodu v jazyku VHDL. Test 1: Předmětem testu 1 je znalost základních principů jazyka VHDL a analýza chování vybraných časových specifikací. Důraz je kladen především na sémantiku; syntax není předmětem testu. Jako ukázka možné náplně 1. testu může sloužit následující slajd MI-SIM: Jiří Douša 29

30 Ukázka 1. testu Otázky: 1) Vysvětlete význam zápisu a quiet (2ns). 2) Které příkazy mohou vytvořit budič signálu? 3) Vysvětlete význam signálu guard a uveďte kde je použitelný. Uvažujte následující deklarace a příkazy. Pro následující příklady nakreslete časové průběhy zmíněných signálů v intervalu <0, 12>. signal a1, b1, a5: std_logic; signal a2 : std_logic_vector (3 downto 0); signal b2: std_logic_vector (1 downto 0); signal a51: std_logic register; Příklad 1: process a1 <= '1','0' after 2 ns, '1' after 3 ns; wait for 5 ns; endprocess; process (a1) b1 <= not a1 after 1 ns; end process; Priklad 2: process wait for 1 ns; a2(3 downto 0) <= "1001"; wait for 1 ns; a2(3 downto 0) <= "0010"; wait for 1 ns; end process; process (a2) variable i: integer; for i in 2 downto 0 loop b2 <= a2(i+1) & a2(i); end loop; end process; Priklad 3: : a5 <= '0', '1' after 3 ns; BL1: block ( a5 = '0') a51 <= guarded a5 after 1 ns; end block; MI-SIM: Jiří Douša 30

31 Cvičení 5-6: projekt 2 Náplní pátého a šestého cvičení je realizace druhého projektu, která spočívá v implementaci modelu číslicového obvodu v jazyku VERILOG. Jako příklad možného zadání slouží následující seznam. Přiřazení konkrétních úloh studentům provede cvičicí. V odůvodněných případech lze v rámci daného projektu rovněž řešit nějaký problém na základě vlastní specifikace, případně použít některé zadání ze seznamu prvého projektu. Zadání: 1. Násobička osmibitových celých nezáporných čísel. 2. Násobička osmibitových celých čísel v doplňkovém kódu (Boothova metoda). 3. Dělička celých osmibitových nezáporných čísel (varianta s průběžným obnovováním nezáporného zbytku). 4. Dělička celých osmibitových nezáporných čísel (varianta bez obnovování nezáporného zbytku). Poznámka: Požadavky na zpracování zbývajících projektů jsou zcela analogické požadavkům 1. projektu MI-SIM: Jiří Douša 31

32 Cvičení 7: test 2, zápočet. Dokončení 2. projektu: Podmínkou dokončení projetu je úspěšné provedení úplného automatického testu modelu zadaného obvodu v jazyku VERILOG.. Test 2: Předmětem testu 2 je znalost základních principů jazyka VERILOG a analýza chování vybraných časových specifikací.. Důraz je kladen především na sémantiku; syntax není předmětem testu. Jako ukázka možné náplně 2. testu může sloužit následující slajd. Zápočet: Podmínkou pro udělení zápočtu je získání předepsaného počtu bodů, které lze získat vypracováním obou projektů včetně automatického otestování příslušných modelů a napsáním obou testů MI-SIM: Jiří Douša 32

33 Cvičení 7: 2. test Otázky: 1) Uvažujte modul, jehož hlavička je module T #( ) (output reg y, output z, input x); a) Vyjmenujte typy příkazů, pomocí kterých lze uvnitř modulu typu T přiřadit hodnotu formálnímu výstupu y, b) Uvažujte nějaký nadřazený modul, uvnitř něhož existují deklarace reg u, v; wire c, d; wand e, f; wor g, h; a uvnitř kterého se nachází instalace instance t1 typu T # (.) t1 (.); b1) vyjmenujte všechny deklarované identifikátory, které lze při instalaci instance t1 mapovat na její formální port y, B2) vyjmenujte všechny deklarované identifikátory, které lze při instalaci instance t1 použít jako aktuální porty formálního portu x. 2) Popište jak je v systému Verilog řešeno delta zpoždění a v kterých případech ho potřebujete použít. V dále uvedených příkladech nakreslete časové průběhy všech proměnných a sítí na intervalu (0, 13). Příklad 1: initial a11 <= #2 1; #3 a11 <= 0; a11 = #4 1; a11<= #3 0; end initial b11 = repeat (1)@(negedge a11) 1; #1 b11= 0; end Priklad 2: initial a21 =1; b21 = 0; #3; fork a21 = b21; b21 = 1; #2; join #3; a21 = #2 b21; b21 = #2 ~a21; end MI-SIM: Jiří Douša 33

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

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

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

Ú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

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. 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

Čí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

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

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

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

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

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

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

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. 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

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

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

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

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

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) imní semestr 2/2 Jiří Douša, katedra číslicového návrhu (K83), České vysoké učení technické v Prae,

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

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

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

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

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

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

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

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

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

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

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

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

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

BI-JPO (Jednotky počítače) Cvičení

BI-JPO (Jednotky počítače) Cvičení BI-JPO (Jednotky počítače) Cvičení Ing. Pavel Kubalík, Ph.D., 2010 Katedra číslicového návrhu Fakulta informačních technologií České vysoké učení technické v Praze Evropský sociální fond Praha & EU: Investujeme

Více

Digitální technika. Jazyk VHDL, základy návrhu. Ing. Jakub Št astný, Ph.D. 1

Digitální technika. Jazyk VHDL, základy návrhu. Ing. Jakub Št astný, Ph.D. 1 Digitální technika Jazyk VHDL, základy návrhu Ing. Jakub Št astný, Ph.D. 1 1 stastnj1@seznam.cz FPGA laboratory Department of Circuit Theory, FEE CTU Prague Technická 2, Praha 6, 166 27 http://amber.feld.cvut.cz/fpga

Více

... sekvenční výstupy. Obr. 1: Obecné schéma stavového automatu

... sekvenční výstupy. Obr. 1: Obecné schéma stavového automatu Předmět Ústav Úloha č. 10 BDIO - Digitální obvody Ústav mikroelektroniky Komplexní příklad - návrh řídicí logiky pro jednoduchý nápojový automat, kombinační + sekvenční logika (stavové automaty) Student

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

Čí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

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

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

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

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

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

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

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

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

Typy a použití klopných obvodů

Typy a použití klopných obvodů Typy a použití klopných obvodů Klopné obvody s hodinovým vstupem mění svůj stav, pokud hodinový vstup má hodnotu =. Přidáním invertoru před hodinový vstup je lze upravit tak, že budou měnit svůj stav tehdy,

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

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

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

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

Kódy pro odstranění redundance, pro zabezpečení proti chybám. Demonstrační cvičení 5 INP

Kódy pro odstranění redundance, pro zabezpečení proti chybám. Demonstrační cvičení 5 INP Kódy pro odstranění redundance, pro zabezpečení proti chybám Demonstrační cvičení 5 INP Princip kódování, pojmy Tady potřebujeme informaci zabezpečit, utajit apod. zpráva 000 111 000 0 1 0... kodér dekodér

Více

Implementace čítačů v číslicových systémech 2 Jakub Šťastný ASICentrum, s.r.o. FPGA Laboratoř, Katedra teorie obvodů FEL ČVUT Praha

Implementace čítačů v číslicových systémech 2 Jakub Šťastný ASICentrum, s.r.o. FPGA Laboratoř, Katedra teorie obvodů FEL ČVUT Praha Tento článek je původním rukopisem textu publikovaného v časopise DPS Elektronika A-Z: J. Šťastný. Implementace čítačů v číslicových systémech 2, DPS Plošné spoje od A do Z, no 4, pp. 11-14, 2011. Bez

Více

Projekt: Přístupový terminál

Projekt: Přístupový terminál Projekt: Přístupový terminál 1. Zadání 1. Seznamte se s přípravkem FITKit a způsobem připojení jeho periférií, zejména klávesnice a LCD displeje. 2. Prostudujte si zdrojové kódy projektu v jazyce VHDL.

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

BDIO - Digitální obvody

BDIO - Digitální obvody BIO - igitální obvody Ústav Úloha č. 6 Ústav mikroelektroniky ekvenční logika klopné obvody,, JK, T, posuvný registr tudent Cíle ozdíl mezi kombinačními a sekvenčními logickými obvody. Objasnit principy

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

Strojový kód. Instrukce počítače

Strojový kód. Instrukce počítače Strojový kód Strojový kód (Machine code) je program vyjádřený v počítači jako posloupnost instrukcí procesoru (posloupnost bajtů, resp. bitů). Z hlediska uživatele je strojový kód nesrozumitelný, z hlediska

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

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

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

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2013 1.3 2/14

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2013 1.3 2/14 ZÁKLADY PROGRAMOVÁNÍ Mgr. Vladislav BEDNÁŘ 2013 1.3 2/14 Co je vhodné vědět, než si vybereme programovací jazyk a začneme programovat roboty. 1 / 14 0:40 1.3. Vliv hardware počítače na programování Vliv

Více

Profilová část maturitní zkoušky 2014/2015

Profilová část maturitní zkoušky 2014/2015 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2014/2015 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 26-41-M/01 Elektrotechnika Zaměření: technika

Více

Použití jazyka VHDL pro návrh číslicových obvodů

Použití jazyka VHDL pro návrh číslicových obvodů 440 A U T O M A T I Z A C E R O Č N Í K 5 1 Č Í S L O 7 Č E R V E N E C S R P E N 2 0 0 Použití jazyka VHDL pro návrh číslicových obvodů Předchozí díl volného pokračování seriálu seznámil čtenáře s kroky

Více

Příklad č. 1 Přepis informace ze vstupů (SW0 až SW3) na ledky (LEDG0 až LEDG3)

Příklad č. 1 Přepis informace ze vstupů (SW0 až SW3) na ledky (LEDG0 až LEDG3) VHAD - Návod k VHDL hadovi Obsah Příklad č. 1 Přepis informace ze vstupů (SW0 až SW3) na ledky (LEDG0 až LEDG3)... 1 Příklad č. 2 Blikající LED... 3 Příklad č. 3 Časovač 1s... 4 Příklad č. 4 Had 8 x LED

Více

Profilová část maturitní zkoušky 2015/2016

Profilová část maturitní zkoušky 2015/2016 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2015/2016 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 26-41-M/01 Elektrotechnika Zaměření: technika

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

Pohled do nitra mikroprocesoru Josef Horálek

Pohled do nitra mikroprocesoru Josef Horálek Pohled do nitra mikroprocesoru Josef Horálek Z čeho vycházíme = Vycházíme z Von Neumannovy architektury = Celý počítač se tak skládá z pěti koncepčních bloků: = Operační paměť = Programový řadič = Aritmeticko-logická

Více

Základní principy konstrukce systémové sběrnice - shrnutí. Shrnout základní principy konstrukce a fungování systémových sběrnic.

Základní principy konstrukce systémové sběrnice - shrnutí. Shrnout základní principy konstrukce a fungování systémových sběrnic. Základní principy konstrukce systémové sběrnice - shrnutí Shrnout základní principy konstrukce a fungování systémových sběrnic. 1 Co je to systémová sběrnice? Systémová sběrnice je prostředek sloužící

Více

OPERAČNÍ PROGRAM PRAHA ADAPTABILITA & EU:

OPERAČNÍ PROGRAM PRAHA ADAPTABILITA & EU: ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Ing. Radek Sedláček, Ph.D., katedra měření K13138 Nástroje a metody pro simulaci, tvorba TestBench souborů Speciální interní struktury FPGA

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

1 Digitální zdroje. 1.1 Převod digitálních úrovní na analogový signál. Cílem cvičení je osvojení práce s digitálními zdroji signálu.

1 Digitální zdroje. 1.1 Převod digitálních úrovní na analogový signál. Cílem cvičení je osvojení práce s digitálními zdroji signálu. 1 Digitální zdroje Cílem cvičení je osvojení práce s digitálními zdroji signálu. Cíle cvičení Převod digitálních úrovní na analogový signál Digitální zdroj signálu a BCD dekodér Čítač impulsů Dělička frekvence

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

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

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

Logické obvody - sekvenční Formy popisu, konečný automat Příklady návrhu

Logické obvody - sekvenční Formy popisu, konečný automat Příklady návrhu MIKROPROCEORY PRO VÝKONOVÉ YTÉMY MIKROPROCEORY PRO VÝKONOVÉ YTÉMY Logcké obvody - sekvenční Formy popsu, konečný automat Příklady návrhu České vysoké učení techncké Fakulta elektrotechncká AB4MI Mkroprocesory

Více

Mikrokontroléry. Doplňující text pro POS K. D. 2001

Mikrokontroléry. Doplňující text pro POS K. D. 2001 Mikrokontroléry Doplňující text pro POS K. D. 2001 Úvod Mikrokontroléry, jinak též označované jako jednočipové mikropočítače, obsahují v jediném pouzdře všechny podstatné části mikropočítače: Řadič a aritmetickou

Více

Testování a spolehlivost. 3. Laboratoř Program Atalanta, BIST, testování sekvenčních obvodů

Testování a spolehlivost. 3. Laboratoř Program Atalanta, BIST, testování sekvenčních obvodů Testování a spolehlivost ZS 2011/2012 3. Laboratoř Program Atalanta, BIST, testování sekvenčních obvodů Katedra číslicového návrhu Fakulta informačních technologií ČVUT v Praze Příprava studijního programu

Více

Simulace číslicových obvodů na hradlové úrovni: model návrhu Jakub Šťastný ASICentrum, s.r.o. Katedra teorie obvodů FEL ČVUT Praha

Simulace číslicových obvodů na hradlové úrovni: model návrhu Jakub Šťastný ASICentrum, s.r.o. Katedra teorie obvodů FEL ČVUT Praha Tento článek je původním rukopisem textu publikovaného v časopise DPS Elektronika A-Z: J. Šťastný. Simulace číslicových obvodů na hradlové úrovni: model návrhu, DPS Elektronika od A do Z, pp. 6-12, leden/únor

Více

Implementace čítačů v číslicových systémech Jakub Šťastný

Implementace čítačů v číslicových systémech Jakub Šťastný 1 Úvod Implementace čítačů v číslicových systémech Jakub Šťastný Čítač je fundamentálním obvodovým blokem nezbytným pro návrh většiny číslicových systémů. Blok čítače je v číslicových obvodech používán

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

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

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

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

Registry a čítače část 2

Registry a čítače část 2 Registry a čítače část 2 Vypracoval SOU Ohradní Vladimír Jelínek Aktualizace září 2012 Úvod Registry a čítače jsou častým stavebním blokem v číslicových systémech. Jsou založeny na funkci synchronních

Více

Technická kybernetika. Obsah. Klopné obvody: Použití klopných obvodů. Sekvenční funkční diagramy. Programovatelné logické automaty.

Technická kybernetika. Obsah. Klopné obvody: Použití klopných obvodů. Sekvenční funkční diagramy. Programovatelné logické automaty. Akademický rok 2016/2017 Připravil: adim Farana Technická kybernetika Klopné obvody, sekvenční funkční diagramy, programovatelné logické automaty 2 Obsah Klopné obvody:. D. JK. Použití klopných obvodů.

Více

Činnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus

Činnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus Činnost CPU Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus Hodinový cyklus CPU je synchronní obvod nutné hodiny (f CLK ) Instrukční cyklus IF = doba potřebná

Více

Kryptoanalýza šifry PRESENT pomocí rekonfigurovatelného hardware COPACOBANA

Kryptoanalýza šifry PRESENT pomocí rekonfigurovatelného hardware COPACOBANA Kryptoanalýza šifry PRESENT pomocí rekonfigurovatelného hardware COPACOBANA Jan Pospíšil, pospij17@fit.cvut.cz, Martin Novotný, novotnym@fit.cvut.cz Katedra číslicového návrhu Fakulta informačních technologíı

Více

Přednáška - Čítače. 2013, kat. měření, ČVUT - FEL, Praha J. Fischer. A3B38MMP, 2013, J.Fischer, ČVUT - FEL, kat. měření 1

Přednáška - Čítače. 2013, kat. měření, ČVUT - FEL, Praha J. Fischer. A3B38MMP, 2013, J.Fischer, ČVUT - FEL, kat. měření 1 Přednáška - Čítače 2013, kat. měření, ČVUT - FEL, Praha J. Fischer A3B38MMP, 2013, J.Fischer, ČVUT - FEL, kat. měření 1 Náplň přednášky Čítače v MCU forma, principy činnosti A3B38MMP, 2013, J.Fischer,

Více

Systém řízení sběrnice

Systém řízení sběrnice Systém řízení sběrnice Sběrnice je komunikační cesta, která spojuje dvě či více zařízení. V určitý okamžik je možné aby pouze jedno z připojených zařízení vložilo na sběrnici data. Vložená data pak mohou

Více

Kubatova 19.4.2007 Y36SAP - 13. procesor - control unit obvodový a mikroprogramový řadič RISC. 19.4.2007 Y36SAP-control unit 1

Kubatova 19.4.2007 Y36SAP - 13. procesor - control unit obvodový a mikroprogramový řadič RISC. 19.4.2007 Y36SAP-control unit 1 Y36SAP - 13 procesor - control unit obvodový a mikroprogramový řadič RISC 19.4.2007 Y36SAP-control unit 1 Von Neumannova architektura (UPS1) Instrukce a data jsou uloženy v téže paměti. Paměť je organizována

Více

ASYNCHRONNÍ ČÍTAČE Použité zdroje:

ASYNCHRONNÍ ČÍTAČE Použité zdroje: ASYNCHRONNÍ ČÍTAČE Použité zdroje: Antošová, A., Davídek, V.: Číslicová technika, KOPP, České Budějovice 2007 http://www.edunet.souepl.cz www.sse-lipniknb.cz http://www.dmaster.wz.cz www.spszl.cz http://mikroelektro.utb.cz

Více

Struktura a architektura počítačů

Struktura a architektura počítačů Struktura a architktura počítačů Logické skvnční obvody (bloky) a budič používané v číslicovém počítači Čské vysoké uční tchnické Fakulta lktrotchnická Vr..3 J. Zděnk / M. Chomát 24 st d in d d d 2 d 3

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

5. A/Č převodník s postupnou aproximací

5. A/Č převodník s postupnou aproximací 5. A/Č převodník s postupnou aproximací Otázky k úloze domácí příprava a) Máte sebou USB flash-disc? b) Z jakých obvodů se v principu skládá převodník s postupnou aproximací? c) Proč je v zapojení použit

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

Návrh FPGA systémů. Jazyk VHDL, principy simulace. Ing. Jakub Št astný, Ph.D. 1

Návrh FPGA systémů. Jazyk VHDL, principy simulace. Ing. Jakub Št astný, Ph.D. 1 Návrh FPGA systémů Jazyk VHDL, principy simulace Ing. Jakub Št astný, Ph.D. 1 1 stastnj1@seznam.cz FPGA laboratory under the Biosignal processing laboratory Department of Circuit Theory, FEE CTU Prague

Více