Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011
|
|
- Josef Vlček
- před 7 lety
- Počet zobrazení:
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 3: VHDL - datové typy Stručný obsah: přehled datových typů, jejich atributů a příslušných operátorů, inicializace proměnných a signálů, přístupy k polím, přiřazení hodnot polím, datový typ std_logic a příslušné operátory, konverze typů, knihovny std_logic_1164, std_logic_signed, std_logic_unsigned, std_logic_arith,.
2 Datové typy Přehled datových typů ve VHDL: 1) skalární typy (lze uspořádat, nelze dekomponovat) existují jako předdefinované typy (lze definovat i nové typy) diskrétní (lze použít pro indexování polí) integer výčtový real fyzikální 2) složené typy pole záznamy 3) přístupový typ ( ukazatel ) 4) soubor Poznámky: VHDL : silný typový systém s jmennou ekvivalencí, pro přesun hodnot mezi objekty různých typů jsou nutné explicitní konverse VHDL dovoluje definovat podtypy dat: vymezení podmnožiny hodnot určitého předem deklarovaného typu; v tomto případě nejde o nový typ => při mixování s původním bázovým typem není třeba konverse MI-SIM Jiří Douša 2
3 Skalární datové typy syntax deklarace: type < ident zakl. typu> is <definice typu>; subtype <ident podtypu> is <ident základ. typu> < vymezení rozsahu> předdefinované typy a podtypy ( knihovna STANDARD): integer: type integer is range - (2**31) to (2**31) - 1; subtype natural is integer range 0 to integer high; subtype positive is integer range 1 to integer high; real: type real is range -1.0E 308 to 1.0 E 308; výčtový: type bit is ( 0, 1 ); type boolean is (false, true); type character is (. A ); fyzikální type time is range - imlementačně závislé modelový čas je automaticky udržován pro získání okamžité hodnoty: funkce now MI-SIM Jiří Douša 3
4 Skalární datové typy pro fyzikální typy lze definovat jednotky jednotky předdefinovaného typu time: units fs; --základní jednotka ps = 1000 fs; --odvozené ns = 1000 ps; --jednotky us = 1000 ns; ms = 1000 us; sec = 1000 ms; min = 60 sec; hr = 60 min; end units; Příklady uživatelem nově definovaných typů: type I1 is range 0 to 3; -- definice nového typu subtype I2 is integer range 0 to 3; -- definice podtypu type R1 is range 0.0 to 5.0; type op is (add, sub, mul,.); --výčtový typ type resistance is range 0 to integer high units mohm; Ohm = 1000 mohm; kohm = 1000 Ohm; end units; MI-SIM Jiří Douša 4
5 Aritmetické operátory označení: I-integer, IL-integer. literál, R-real, RL-real literál., T-time, binární: +, -, *, /, rem, mod, ** unární: +, -, abs požadují stejný typ operandů, jsou definovány pro datové typy takto: +, - : I, I ->I; R, R ->R; T, T -> T, rem, mod : I, I -> I, Poznámka: rem, mod.zbytek po celočíselném dělení rem: A rem B = A - (A / B) * B znaménko výsledku = znaménko dělence př: 4 rem 3=1, - 4 rem 3= - 1, 4 rem (- 3)= 1, - 4 rem (- 3 )= - 1 mod: A mod B = A - B * N; znaménko výsledku = znaménko dělitele př: 4 mod 3= 1, -4 mod 3= 2, 4 mod (-3)= -2, - 4 mod (-3)= -1 *, / : I,I ->I; R,R ->R, T*IL ->T; T*RL ->T T/IL ->T; T/RL ->T; T/T ->I ** : I** (+IL) -> I, R** (+IL) -> R; R**(-IL) -> R abs : I -> I; R ->R; T -> T Poznámka: některé z aritmetických operátorů jsou definovány v dalších knihovnách i pro jiné typy MI-SIM Jiří Douša 5
6 Logické a relační operátory Logické operátory binární: and, or, nand, nor, xor, nxor ( pouze VHDL-93) unární: not předdefinovány ve VHDL pro typy: bit, bit_vector, boolean a jednorozměrné pole s prvky typu boolean, typ výsledku: stejný jako typ operandů, oba operandy musí být stejného typu a stejné délky. Relační operátory všechny jsou binární: =, /=, >, <, <=, >=, jsou definovány pro předdefinované skalární typy a pro jednodimensionální pole s prvky celočíselného nebo výčtového typu, oba operandy musí být stejného typu, výsledek je vždy typu boolean, operátory = a /= jsou definovány pro všechny předdefinované datové typy kromě typu file MI-SIM Jiří Douša 6
7 Předdefinované datové typy a operace typ operátory podmínka typ výsledku bit logické bit relační boolean (&) zřetězení bit_vector boolean logické stejná délka boolean relační bolean & pole boolean integer +, -, rem, mod, *, /, **, abs integer natural +, -, rem, mod, *, /, **, abs natural positive +, -, rem, mod, *, /, **, abs positive real +, -, *, /, **, abs real time +, -, *, /, abs time delay_length +, -, *, /, abs delay_length character relační boolean & string bit_vector logické stejná délka bit_vector relační boolean & bit_vector string relační boolean & string MI-SIM Jiří Douša 7
8 Literály symboly, jejichž hodnoty jsou zřejmé z jejich representace Příklady: typ integer: 0, 123, 10E4 -- dekadická soustava 8#730# -- oktalová soustava 16#DEAC# -- hexadecimální soustava 2#10111# -- binární soustava typ real: 65.73, 43.6E-4, 8#31.1#, 2#1.11# typ character: A, H typ string: ABCDEFG typ bit_vector: B binární soustava binární soustava X F7 -- hexadecimální soustava O oktalová soustava typ time: 15 ns, 10 min, 45 hr MI-SIM Jiří Douša 8
9 Atributy datových typů hodnota atributu : <jméno typu> <jméno atributu> předdefinované atributy všech skalárních datových typů: left.vrací levou mez ( z oboru hodnot) right.vrací pravou mez high.vrací horní mez (viz. integer high) low.vrací dolní mez diskrétní a fyzikální typy mají navíc: succ (h) vrací hodnotu následující za hodnotou h pred (h) vrací hodnotu předcházející h leftof (h) vrací hodnotu levého souseda h rightof (h) vrací hodnotu pravého souseda h atributy leftof, rightof - citlivé na uspořádání každý výčtový typ definuje vzestupné uspořádání leftof = pred, rightof = succ vzestupné uspořádání leftof = succ, rightof = pred...sestupné uspořádání pos (h) vrací posici hodnoty h stanovení posice: výčtový typ: <jméno typu> pos (<jméno typu> left) = 0 typ integer: <jméno typu> pos (<jméno typu> left) = <jméno typu> left val (p)....vrací hodnotu na posici p MI-SIM Jiří Douša 9
10 Atributy datových typů Příklad : type p1 is range 5 downto 0; hodnoty atributů typu p1: p1 left = 5, p1 right = 0, p1 high = 5, p1 low = 0, p1 pred (4) = 3, p1 succ (4) = 5, p1 leftof (4) = 5, p1 rightof (4) = 3, p1 pos (0) = 0, p1 val(5) = 5, p1 pos (5)=5, p1 val(0)=0 Příklad : type p11 is range 0 to 5; hodnoty atributů typu p11: p11 val (0) = 0, p11 pos (0) = 0, p11 před (4) = 3, p11 leftof (4) = 3, p11 rightof (4) = 5, Příklad : type p2 is ( A, B, C, D ); hodnoty atributů typu p2: p2 left = A, p2 right= D, p2 high= D, p2 low= A, p2 pred ( B ) = A, p2 succ ( B ) = C, p2 leftof ( C ) = B, p2 rightof ( C ) = D, p2 pos ( A ) = 0, p2 val (0)= A, p2 pos ( D ) = 3, aplikace na fyzický typ time: time succ (23.5 ps) = fs; time před (23.5 ps) = fs; MI-SIM Jiří Douša 10
11 Inicializace objektů ve VHDL implicitně: implicitní hodnota = <jméno typu> left př.: type bit is ( 0, 1 ); type std_logic is ( U, 0, 1,.); type operace is (add, mul, div,..); type boolean (false, true); type integer... ( ,.); type time.. ( ,.); subtype positive. ( 1, ); subtype natural (0, 1..); explicitně: při deklaraci proměnných i signálů: př.: signal x : bit := 1 ; signal reg: std_logic_vector (7 downto 0) := to_stdlogicvector ( X A3 ); -- konverse hodnoty variable pom : boolean := true; variable citac: integer := 123; constant y: real := 2.73; MI-SIM Jiří Douša 11
12 concatenation: & binární operátor, Operátor zřetězení vyžaduje operandy stejného typu, operand: může být jednorozměrné pole nebo prvek, jednorozměrného pole, může být prvkem druhého operandu, nejčastější použití: paralelní sjednocení vodičů, rozšíření operandů, sjednocení stringů, Posuvy. Příklad: předpokládané deklarace vodičů (pro použití následujícím slajdu): signal A1: bit_vector (1 downto 0); signal A2: bit_vector (1 downto 0); signal C: bit_vector (3 downto 0); signal CC: bit_vector (7 downto 0); MI-SIM Jiří Douša 12
13 Operátor sjednocení: příklady sjednoceni vodičů a přenos hodnot: A1 C <= A1 & A2; A2 test hodnot: if A1 & A2 = 0101 then.end if; rozšíření řádové mřížky (na 8 bitů): CC <= C(3) & C(3) & C(3) & C(3) & C; realizace posuvů: C <= C (2 downto 0) & 0 ; C <= C(3) & C (3 downto 1) ; C <= C (2 downto 0) & 0 ; C <= 0 & C (3 downto 1); C <= C (2 downto 0) & C(3); C <= C(0) & C (3 downto 1); -- SLA -- SRA -- SLL -- SRL -- ROL -- ROR Poznámka: operátor nelze použít v cílovém objektu např.: A1 & A2 <= C; -- chyba MI-SIM Jiří Douša 13
14 Operátory posuvů VHDL-93: nabízí nové operátory pro posuvy SLL, SRL.logický posuv vlevo, vpravo ROL, ROR,.rotace vlevo, vpravo SLA, SRA..aritmetický posuv vlevo, vpravo příklady: nechtˇ a = 01101, b = q1 <= a sll 2; -- q1 = q2 <= a sla 2; -- q2 = zachovává nejnižší bit??? q3 <= b sla 2; -- q3 = zachovává nejnižší bit??? q4 <= a ror 2; -- q4 = q5 <= a sra 2; -- q5 = zachovává nejvyšší bit q6 <= b sra 2; -- q6 = zachovává nejvyšší bit prostředek pro zavedení alternativního jména: alias -- důvody: přejmenování nevhodných názvů nebo speciální pojmenování částí vektorů signal instr: bit_vector (15 downto 0); -- alternativní jména částí instrukce: alias op_kod: bit_vector (3 downto 0) is instr (15 downto 12); alias reg: bit_vector (2 downto 0) is instr (11 downto 9); alias adresa: bit_vector (8 downto 0) is instr ( 8 downto 0); MI-SIM Jiří Douša 14
15 lze definovat vícerozměrná pole Datový typ pole prvkem pole může být opět pole (pole polí) nedeterminovaná (unconstrained) pole: nespecifikovaný rozsah indexů v deklaraci typu dimensi lze specifikovat při deklaraci proměnných, signálů, konstant předdefinované typy (knihovna STANDARD): type string is array (positive range <>) of character; type bit_vector is array (natural range <>) of bit; Příklad: deklarace proměnné typu bit_vector: variable b1: bit_vector (7 downto 0); --typ proměnné -- b1 je vytvořen jako podtyp typu bit_vector s dimensí 8 bitů determinovaná (constrained) pole: specifikovaný rozsah indexů index: musí být diskrétní typ ( integer, výčtový) Příklad: typ dvourozměrné pole : type mem1 is array (integer range 0 to 31, 7 downto 0) of bit; také: type mem1 is array (0 to 31, 7 downto 0) of bit; jinak: type b8 is range 7 downto 0; type adresa is range 0 to 31; type mem2 is array (adresa, b8) of bit; MI-SIM Jiří Douša 15
16 Příklady: Datový typ pole subtype cele_cislo is integer range 0 to 128; subtype byte1 is bit_vector (7 downto 0); -- podtyp -- podtyp subtype male_pis is character range a to z ; -- podtyp subtype byte2 is array (7 downto 0) of bit; type byte3 is bit_vector (7 downto 0); -- chyba -- v definici podtypu není uveden typ -- chyba -- podtyp nelze použít k deklaraci typu type byte4 is array (7 downto 0) of bit; --jde o zcela nový typ; Poznámka: podtyp a příslušný typ jsou kompatibilní (hodnoty podtypu musí vyhovovat omezení) Explicitní konverse polí: jméno signálu typu t <= t (jméno signálu konvertibilního typu); type t is array ( 0 to 3) of bit; type tt is array ( 0 to 3) of bit; signal st :t; signal stt : tt; st <= t (stt); -- konverse typu tt na t stt <= tt (st); -- konverse typu t na tt Podmínka explicitní konverse pro pole: stejné dimense polí, stejné typy indexů, stejné typy prvků MI-SIM Jiří Douša 16
17 Přístupy k prvkům polí individuální přístup: indexy skupinový přístup: řezy polí ke všem prvkům pole: identifikátor pole a) indexování: Příklad 1: bitově orientovaná paměť s koincidenčním výběrem požité typy: viz dříve variable RAM2: mem2; -- bitově orientovaná paměť variable adr: adresa; -- index bajtů variable index: b8; -- index bitů variable d_bit: bit; -- jednobitová proměnná d_bit := RAM2 (adr, index); --čtení bitu Příklad 2: bajtově orientovaná paměť type byte is array (7 downto 0) of bit; --typ byte type mem3 is array (adresa) of byte; --typ pole bajtů variable d_byte: byte; -- proměnné typu byte variable RAM3: mem3; --bajtově orientovaná paměť d_byte := RAM3 (adr); --čtení bajtu d_bit := RAM3 (adr) (index); -- čtení bitu MI-SIM Jiří Douša 17
18 Přístupy k prvkům polí b) řezy polí (slices): umožňují pracovat se spojitou podmnožinou pole, v řezu je nutno zachovat stejný směr v rozsahu indexů jako v deklaraci( downto nebo to ) a stejné délky na obou stranách přiřazovacího příkazu. Příklady: variable c: bit_vector (3 downto 0); variable d_byte: bit_vector (7 downto 0); d_byte ( 7 downto 4 ) := 1010 ; --zápis do horních bitů c := d_byte ( 3 downto 0); -- čtení dolních bitů c ) celá pole identifikátor pole representuje všechny hodnoty pole signal reg1, reg2: bit_vector ( 7 downto 0); signal reg3: bit_vector ( 0 to 7); reg1 <= reg2; -- MOV reg1, reg2 reg3 <= reg2; --reg3 (0) <= reg2 (7)... --reg3 (7) <= reg2 (0) MI-SIM Jiří Douša 18
19 Přiřazení hodnot polím použití: zápis množiny hodnot do registrů, pamětí Příklad: možné způsoby přiřazení hodnot vektoru předpoklad: deklarace pole: signal a: bit_vector ( 3 downto 0 ); řetězec bitů délky 4: a <= 0101 ; použití agregátů (specifikace složených hodnot): ( *<výběr>+ <výraz>,..., *<výběr>+ <výraz> ) mapování bez výběru: poziční (záleží na pořadí) a <= ( 0, 1, 0, 1 ) ; --poziční mapování čtyř hodnot mapování s výběrem: jmenné (nezáleží na pořadí) možnosti pro <výběr>: 0 => -- výběr indexu 0 3 to 5 => -- výběr řezu 5 downto 3 => -- výběr řezu others => -- výběr všech zbývajících indexů pokud se výběr others nevztahuje na všechny prvky musí být vždy poslední Příklady přiřazení: symbol označuje a: a <= (3 1=> 0, 2 0 => 1 ); -- efekt jako 0101 a <= (0 => 1, 2 => 1, others => 0 ); a <= (others => 0 ); --ekvivalentní s a <= 0000 ; MI-SIM Jiří Douša 19
20 Přiřazení hodnot polím následující signálové přiřazovací příkazy demonstrují možnosti zápisů hodnot do pamětí v průběhu výpočtu: předpokládané deklarace typů: subtype byte is bit_vector (7 downto 0); type memory_4x8 is array (0 to 3) of byte; předpokládané deklarace signálů: signal r1, r2, r3, r4: byte; --deklarace registru signal Mem: memory_4x8; --deklarace paměti příklady přiřazení hodnot: Mem(0) < = ; --přiřazení 0. řádku Mem(3) <= ; --přiřazení 3. řádku Mem <= (r1, r2, r3, r4); --přepis celého pole Mem (3)(0) < = 1 ; --přepis jediného bitu Mem (0) <= (others => 0 ); --nuluje 0. řádek Mem (3) <= (others => 0 ); --nuluje 3. řádek Mem<=(others =>(others => 0 ));--nuluje celé pole MI-SIM Jiří Douša 20
21 Přiřazení hodnot polím Příklad: inicializaci pevné paměti nechtˇ subtype byte is bit_vector (7 downto 0) ; type memory_4x8 is array (0 to 3) of byte; constant ROM: memory_4x8 := memory_4x8 -- toto je kvalifikace literálu pro typ memory_4x8: (( 0,.., 0 ), osmice bitů ( ), (...), (...)); osmice bitů Poznámka: další možnosti zápisu téhož příkladu: constant ROM: mem_4x8 := mem_4x8 (B"0000_0000", B"0000_0001", B"0001_0000", B"0011_0000") ; constant ROM: mem_4x8 := mem_4x8 (" ", " ", " ", " ") ; constant ROM: mem_4x8 := mem_4x8 ( X 00, X"01", X"10, X"11 ) ; MI-SIM Jiří Douša 21
22 Atributy polí získání hodnoty atributu: < jméno objektu> <jméno atributu > nebo < jméno typu> <jméno atributu> atributy jednorozměrných polí (aplikovány na indexy pole) left, right, high, low, length.vrací délku pole, range, inverse_range. vrací rozsah pole, resp. invertovaný rozsah pole. Příklad deklarace: subtype byte is bit_vector (7 downto 0); variable a1: byte; a1 length = 8; a1 inverse_range =0 to 7, a1 range= 7 downto 0 Použití: v cyklech (uvnitř procesů a podprogramů) které operují s porty či parametry typu nedeterminovaná pole, atributy vícerozměrných polí: každá dimense má svou sadu atributů, atributy jednotlivých dimensí jsou indexovány. Příklad deklarace: type mem is array (0 to 3) of byte; signal a2: mem; a2 left(1)=0, a2 right(1) = 3, a2 left (2) = 7, a2 right (2) = 0, a2 length (1) = index, a2 length (2) = index a2 range (1) = 0 to 3, a2 range (2) = 7 downto 0, a2 inverse_range (1) = 3 to 0, a2 inverse_range (2) = 0 to 7, MI-SIM Jiří Douša 22
23 Datový typ soubor (file) použití: čtení budících vstupů, naplňování pamětí ze souborů (položkou souboru nemůže být ukazatel, vícerozměrné pole, soubor) VHDL-87 : soubor lze otevřít pouze pro čtení nebo zápis, file vstup: data_file is [in] test1.dat ; -- deklarace binárního souboru a otevření pro čtení file vystup: data_file is out test2.dat ; -- deklarace binárního souboru a otevření pro zápis předdefinované operace se souborem: READ (<soubor>, <prom.>); -- fyzické čtení ze souboru WRITE( <soubor> <prom>); --fyzický zápis do souboru ENDFILE (<soubor>) --funkce: test na konec binární ukládání do souborů netextových typů Příklad: čtení ze souboru vstup -- předpoklad deklarací: type byte is array ( 7 downto 0) ; type data_file is file of byte; -- deklarace typu soubor variable V: byte; signal PAM: array (.) of byte;.; -- následujeící příkazy musí být v sekvenčním prostředí while not endfile ( vstup) loop read (vstup, V); PAM (.) <= V; ; end loop; MI-SIM Jiří Douša 23
24 Datový typ soubor VHDL-93: file vstup1: zavádí další možnosti pro otevírání a zavírání souborů data_file; -- pouze deklarace (pozdější otevřění) file vstup2: data_file is test2.dat ; -- stejné jako ve VHDL-87 (deklarace souboru a otevření pro čtení) file soubor: data_file open <mode> is test2.dat -- deklarace souboru a otevření dle hodnoty <mode> <mode>: read_mode..otevření pro čtení write_mode.otevření pro zápis append_mode...otevření pro připojení FILE_OPEN ( vstup1, test1.dat, < mode>);.explicitní otevření a vazba na konkrétní fyzický soubor FILE_CLOSE (vstup1);.explicitní zavření READ, WRITE, ENDFILE..jako ve VHDL-87 VHDL-87 i VHDL-93: podpora textových souborů - knihovna TEXTIO: umožňuje formátování, vhodné pro analýzy výstupů, přenosy souborů mezi platformami, vypracování testovacích souborů (v ASCII kódu) MI-SIM Jiří Douša 24
25 Knihovna TEXTIO Předdefinované typy: type text is file of string; type line is access string; -- typ textový soubor -- ukazatel na vyrovnávací paměť Předdefinované operace pro práci s textovými soubory : označení: TSB objekt typu textový soubor, BUF..proměnná typu line, PROM proměnná typu bit, bit_vector, boolean, string, character, integer, real, time readline (TSB, BUF) fyzické čtení ze souboru TSB do vyrovnávací paměti odkazované proměnnou BUF read (BUF, PROM) extrakce jedné hodnoty z vyrovnávací paměti a její zápis do proměnné PROM (přetížené procedury definované pro všechny typy PROM) write (BUF, PROM) připojení hodnoty proměnné PROM na konec textu ve vyrovnávací paměti (přetížené procedury ) writeline (TSB, BUF).fyzický zápis vyrovnávací paměti do souboru TSB endfile (TSB)..test souboru TSB; v případě konce souboru vrací hodnotu true endline (BUF) dle normy: vrací hodnotu true v případě vyprázdnění bufferu v ModelSimu neimplementována náhrada: testem (BUF = NULL ) nebo (BUF length = 0) MI-SIM Jiří Douša 25
26 Příklad: čtení ze souboru; Knihovna TEXTIO formát řádku = hodnota času + hodnota typu bit_vector (0 to7) file vstup: text is [in] ; -- otevření pro čtení -- následuje varianta otevření je přípustná pouze pro VHDL-93 --file vstup: text open read_mode is. ; -- následují deklarace proměnných a čtecí cyklus ( pouze v -- sekvenčním prostředí): variable buf: line; -- ukazatel na vyrovnávací paměť variable cas: time; variable vst: bit_vector (0 to 7); while not endfile (vstup) loop readline (vstup, buf ); --fyzické čtení read ( buf, cas ); -- zápis do cas --logické čtení read ( buf, vst ); -- zápis do vst end loop; MI-SIM Jiří Douša 26
27 Knihovna std_logic_1164 Typy definované v knihovně std_logic_1164: type -- hodnota síla std_ulogic is ( U, -- uninitialized X, -- unknown forsing 0, -- 0 forsing 1, -- 1 forsing Z, -- high Impedance W, -- unknown resistive L, -- 0 resistive H, -- 1 resistive - ); -- do not care Poznámka: signály typu std_ulogic nelze budit více budiči!! type std_ulogic_vector is array (natural range <>) of std_ulogic; subtype std_logic is resolved std_ulogic; resolved identifikátor příslušné resoluční funkce std_ulogic.identifikátor základního typu type std_logic_vector is array (natural range <>) of std_logic ; MI-SIM Jiří Douša 27
28 Matematické knihovny Označení: I -integer, L -std_logic, LV -std_logic_ vector knihovna ieee.std_logic_unsigned: definuje přetížené aritmetické operátory pro binární hodnoty, které interpretuje jako hodnoty bez znaménka +, - : pro kombinace typů: LV, LV - > LV LV, I - > LV; I, LV - > LV LV, L - > LV; : pro typ LV, LV - > LV L, LV - > LV Přiklad použití: variable a,b: array (3 downto 0) of std_logic_vector; variable i: integer ; variable l: std_logic; přípustné výrazy: a * b, a + b, a + i, i - b, a + l,... knihovna ieee.std_logic_signed: definuje tytéž aritmetické operátory pro binární hodnoty, které interpretuje jako hodnoty v doplňkovém kódu ; navíc: abs (LV) -> LV knihovna ieee.std_logic_arith: zavádí další typy signed a unsigned a pro tyto typy definuje tytéž aritmetické operátory MI-SIM Jiří Douša 28
29 Aritmetické operace nad binárními vektory Předpoklad deklarací: signal a, b : std_logic_vector (3 downto 0); signal c : std_logic_vector (3 downto 0); signal d : std_logic_vector (7 downto 0); signal ci, di: integer := 0; a <= 0110 ; b<= 1111 ; -- efekt operátorů knihovny std_logic_unsigned: c <= a + b; -- výsledek 0101 ci <= conv_integer (c); -- výsledek 5 d <= a * b; -- výsledek di <= conv_integer (d); -- výsledek efekt operátorů knihovny std_logic_signed: c <= a + b; -- výsledek 0101 ci <= conv_integer (c); -- výsledek 5 d <= a * b; -- výsledek di <= conv_integer (d); -- výsledek MI-SIM Jiří Douša 29
30 Aritmetické operace nad binárními vektory -- efekt operátorů knihovny std_logic_arith: c <= signed(a) + signed (b); -- výsledek 0101 ci <= conv_integer (signed(c)); -- 5 d <= signed(a) * signed(b); di <= conv_integer (signed(d)); c <= unsigned(a) + unsigned (b); ci <= conv_integer (signed(c)); -- 5 d <= unsigned(a) * unsigned(b); di <= conv_integer (signed(d)); pro následující kombinace jsou nutné deklarace delších vektorů pro -- uložení výsledku: signal c : std_logic_vector (4 downto 0); signal d : std_logic_vector (8 downto 0); c <= signed(a) + unsigned (b); ci <= conv_integer (signed(c)); d <= signed(a) * unsigned(b); di <= conv_integer (signed(d)); c <= unsigned(a) + signed (b); ci <= conv_integer (signed(c)); -- 5 d <= unsigned(a) * signed(b); di <= conv_integer (signed(d)); MI-SIM Jiří Douša 30
31 Logické operátory Označení: I - integer, L - std_logic, LV - std_logic_ vector UL - std_ulogic, ULV - std_ulogic_vector, UX01.čtyř hodnotový podtyp odvozený od typu std_ulogic binární: and, or, nand, nor, xor, nxor (pouze VHDL-93) unární: not vyžadují operandy stejného typu a stejné délky, knihovna ieee.std_logic_1164 definuje: binární logické operace pro kombinace typů: UL, UL -> UX01, ULV, ULV - > ULV, LV, LV -> LV operaci not pro: UL -> UX01, ULV -> ULV, LV -> LV Příklad: definice operátoru not pro hodnoty UL: U -> U, X -> X, 0 -> 1, 1 -> 0, Z -> X, W -> X, L -> 1, H -> 0, - -> X MI-SIM Jiří Douša 31
32 Relační operátory nad vektory Označení: I - integer, BO boolean, LV - std_logic_ vector všechny operace jsou binární: =, /=, >, <, <=, >=, stejný typ operandů, výsledek vždy typu boolean, následující knihovny definují přetížené relační operátory pro tyto kombinace datových typů LV, LV - > BO; LV, I - > BO; I, LV - > BO ieee.std_logic_unsigned : považuje všechny binární hodnoty zmíněných typů jako representaci čísel bez znaménka ieee.std_logic_signed: považuje binární hodnoty jako representaci čísel se znaménkem příklad: signal a, b : std_logic_vector (7 downto 0);..; a <= abs_(b).; ieee.std_logic_arith: zavádí nové typy signed a unsigned a rozlišuje obě representace MI-SIM Jiří Douša 32
33 Konverse datových typů implementovány jako přetížené funkce knihovna std_logic_1164 pokrývá: vzájemné konverse mezi typy B, UL: to_stdulogic: B -> UL to_bit: UL -> B vzájemné konverse mezi typy BV, ULV, LV: to_bitvector: ULV -> BV, LV -> BV to_stdlogicvector: BV -> LV, ULV -> LV to_stdulogicvector: BV ->ULV, LV -> ULV knihovny ieee.std_logic_signed, ieee.std_logic_unsigned: conv_integer: LV -> I, knihovna ieee.std_logic_arith: conv_std_logic_vector: conv_integer: conv_unsigned: conv_ signed: I -> LV, unsigned -> LV, signed -> LV, UL -> LV unsigned ->integer, signed -> integer, UL -> integer I -> unsigned, signed -> unsigned, UL -> unsigned I -> signed, unsigned -> signed, UL -> signed MI-SIM Jiří Douša 33
34 Konverse datových typů Příklad: zápis a čtení do paměti 16 x 8 addr 4 RAM předpoklad deklarací: 8 data signal addr: bit_vector ( 3 downto 0 ); signal data :std_logic_vector ( 7 downto 0); subtype byte is bit_vector ( 7 downto 0); type mem_16x8 is array ( 0 to 15) of byte; signal RAM : mem_16x8; -- zápis do paměti: RAM ( conv_integer ( to_stdlogicvector (addr))) <= to_bitvector (data); -- čtení z paměti: data <= to_stdlogicvector ( RAM (conv_integer (to_stdlogicvector (addr))) ); Příklad: násobení vektorů pomocí operátoru * pro typ integer signal a, b : std_logic_vector ( 3 downto 0); --pro operandy signal soucin : std_logic_vector ( 7 downto 0); --pro výsledek soucin <= conv_std_logic_vector ( conv_integer (a) * conv_integer (b), 8 ); MI-SIM Jiří Douša 34
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
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é
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
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é
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
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é
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é
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é
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
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é
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í
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é
1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5
Obsah Obsah 1 Programovací jazyk Pascal 1 1.1 Struktura programu v Pascalu.................... 1 2 Proměnné 2 2.1 Vstup a výstup............................ 3 3 Operátory a některé matematické funkce 5
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ý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
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š
- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.
Základní symboly - písmena A B C Y Z a b c y z - číslice 0 1 2 9 - speciální symboly + - * / =., < > = a další - klíčová slova and array begin case const a další Klíčová slova jsou chráněnými útvary,
Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh. Ing. Hodál Jaroslav, Ph.D. VY_32_INOVACE_25 09
Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1 Šablona: Název: Téma: Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Operátory Autor:
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
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ý
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í
Paměť počítače. alg2 1
Paměť počítače Výpočetní proces je posloupnost akcí nad daty uloženými v paměti počítače Data jsou v paměti reprezentována posloupnostmi bitů (bit = 0 nebo 1) Připomeňme: paměť je tvořena řadou 8-mi bitových
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í
- 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á
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,
Úvod do programovacích jazyků (Java)
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích
Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické
Jak v Javě primitivní datové typy a jejich reprezentace BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické Obsah Celočíselný datový typ Reálný datový typ Logický datový typ, typ Boolean
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
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ů
Ú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í
Datové typy a struktury
atové typy a struktury Jednoduché datové typy oolean = logická hodnota (true / false) K uložení stačí 1 bit často celé slovo (1 byte) haracter = znak Pro 8-bitový SII kód stačí 1 byte (256 možností) Pro
Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo
Operátory, výrazy Tomáš Pitner, upravil Marek Šabo Operátor "Znaménko operace", pokyn pro vykonání operace při vyhodnocení výrazu. V Javě mají operátory napevno daný význam, nelze je přetěžovat jako v
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é
MQL4 COURSE. By Coders guru www.forex-tsd.com. -4 Operace & Výrazy
MQL4 COURSE By Coders guru www.forex-tsd.com -4 Operace & Výrazy Vítejte ve čtvrté lekci mého kurzu MQL4. Předchozí lekce Datové Typy prezentovaly mnoho nových konceptů ; Doufám, že jste všemu porozuměli,
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
Předmluva k aktuálnímu vydání Úvod k prvnímu vydání z roku Typografické a syntaktické konvence... 20
Obsah 5 Obsah Předmluva k aktuálnímu vydání 15 1 Úvod k prvnímu vydání z roku 2000 16 Typografické a syntaktické konvence................ 20 2 Základní pojmy 21 2.1 Trocha historie nikoho nezabije................
Programování v jazyce JavaScript
Programování v jazyce JavaScript Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Operátory a příkazy BI-JSC Evropský sociální fond
Č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
Čí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ýrazy, operace, příkazy
Výrazy, operace, příkazy Karel Richta a kol. katedra počítačů FEL ČVUT v Praze Přednášky byly připraveny s pomocí materiálů, které vyrobili Ladislav Vágner, Pavel Strnad Karel Richta, Martin Hořeňovský,
5 Přehled operátorů, příkazy, přetypování
5 Přehled operátorů, příkazy, přetypování Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně budou uvedeny detaily týkající se operátorů. Doba nutná k nastudování
VISUAL BASIC. Práce se soubory
VISUAL BASIC Práce se soubory Práce se soubory 1/2 2 Vstupní data pro programy bývají uloženy do souborů Vstupy pro výpočet, nastavení vzhledu aplikace Výsledky práce programu je potřeba uchovat uložit
Object Pascal je přísně typový procedurální jazyk, který umožňuje jak strukturované, tak objektově orientované programování.
Delphi lekce 6 Minimum z Object Pascalu Vrátíme se ještě k základům Object Pascalu. Struktura programu Object Pascal je přísně typový procedurální jazyk, který umožňuje jak strukturované, tak objektově
LabView jako programovací jazyk II
LabView jako programovací jazyk II - Popis jednotlivých funkcí palety Function II.část - Funkce Numeric, Array, Cluster Ing. Martin Bušek, Ph.D. Práce s daty typu NUMERIC Numerické funkce obsahuje funkce
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é
Sada 1 - Základy programování
S třední škola stavební Jihlava Sada 1 - Základy programování 04. Datové typy, operace, logické operátory Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284
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é
NPRG030 Programování I, 2010/11
Podmínka = něco, co JE, nebo NENÍ splněno typ Boolean hodnoty: TRUE pravda FALSE lež domluva (optimistická): FALSE < TRUE když X, Y jsou (číselné) výrazy, potom X = Y X Y X < Y X > Y X = Y jsou
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é
Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty
Data v počítači Informační data (elementární datové typy) Logické hodnoty Znaky Čísla v pevné řádové čárce (celá čísla) v pohyblivé (plovoucí) řád. čárce (reálná čísla) Povelová data (instrukce programu)
Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu
1 Podklady předmětu pro akademický rok 2006/2007 Radim Farana Obsah 2 Obsah předmětu, Požadavky kreditového systému, Datové typy jednoduché, složené, Programové struktury, Předávání dat. Obsah předmětu
O datových typech a jejich kontrole
.. O datových typech a jejich kontrole Programovací techniky doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Typová kontrola Programovací techniky O datových typech
NPRG030 Programování I, 2016/17 1 / :58:13
NPRG030 Programování I, 2016/17 1 / 31 10. 10. 2016 10:58:13 Podmínka = něco, co JE, nebo NENÍ splněno typ Boolean hodnoty: TRUE pravda FALSE lež domluva (optimistická): FALSE < TRUE NPRG030 Programování
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
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ÝRAZY výrazy = operandy prokládané operátory, vyhodnocované podle priority operátorů
VÝRAZY výrazy = operandy prokládané operátory, vyhodnocované podle priority operátorů Výrazy podle priority operátorů (od nejnižší priority) OPERANDY OPERÁTORY výraz = jednoduché výrazy a relační operátory
PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky.
PHP - úvod Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky. Klíčové pojmy: PHP, webový prohlížeč, HTTP, FTP Základní pojmy služba WWW = 1990 první prototyp serveru, od roku 1994
7. Datové typy v Javě
7. Datové typy v Javě Primitivní vs. objektové typy Kategorie primitivních typů: integrální, boolean, čísla s pohyblivou řádovou čárkou Pole: deklarace, vytvoření, naplnění, přístup k prvkům, rozsah indexů
Ahoj mami. Uložení dat v počítači. Příklady kódování dat. IAJCE Přednáška č. 4
Uložení dat v počítači Data = užitečné, zpracovávané informace Kódování (formát) dat = způsob uložení v počítači (nutno vše převést na čísla ve dvojkové soustavě) Příklady kódování dat Text každému znaku
2 Strukturované datové typy 2 2.1 Pole... 2 2.2 Záznam... 3 2.3 Množina... 4
Obsah Obsah 1 Jednoduché datové typy 1 2 Strukturované datové typy 2 2.1 Pole.................................. 2 2.2 Záznam................................ 3 2.3 Množina................................
Opakování programování
Opakování programování HW návaznost - procesor sběrnice, instrukční sada, optimalizace rychlosti, datové typy, operace (matematické, logické, podmínky, skoky, podprogram ) - paměti a periferie - adresování
VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu
VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632
Úvod do programování. Lekce 1
Úvod do programování Lekce 1 Základní pojmy vytvoření spustitelného kódu editor - psaní zdrojových souborů preprocesor - zpracování zdrojových souborů (vypuštění komentářů atd.) kompilátor (compiler) -
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í
24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1
24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE AUTOR DOKUMENTU: MGR. MARTINA SUKOVÁ DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 UČIVO: STUDIJNÍ OBOR: PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) INFORMAČNÍ TECHNOLOGIE
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
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
Zápis programu v jazyce C#
Zápis programu v jazyce C# Základní syntaktická pravidla C# = case sensitive jazyk rozlišuje velikost písmen Tzv. bílé znaky (Enter, mezera, tab ) ve ZK překladač ignoruje každý příkaz končí ; oddělovač
Jazyk PL/SQL Úvod, blok
Jazyk PL/SQL Úvod, blok 1 Bc. Tomáš Romanovský Procedural Language for Structured Query Language Součást systému Oracle, rozšíření SQL o procedurální rysy Prostředky pro vytváření a spouštění programových
Ukazka knihy z internetoveho knihkupectvi www.kosmas.cz
Ukazka knihy z internetoveho knihkupectvi www.kosmas.cz Upozornění pro čtenáře a uživatele této knihy Všechna práva vyhrazena. Žádná část této tištěné či elektronické knihy nesmí být reprodukována a šířena
a operačních systémů
NSWI2 2/2 ZS Principy počítačů a operačních systémů INSTRUKCE Kdybych nařídil generálovi, aby létal od květině ke květině a on by rozkaz neprovedl, nebyla by to chyba generálova, ale moje. král asteroidu
Elementární datové typy
Elementární datové typy Celočíselné typy (integers) Mohou nabývat množiny hodnot, která je podmnožinou celých čísel (někdy existuje implementační konstanta maxint). Operace: aritmetické, relační, bitové,
Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií
1 Fakulta elektrotechniky a informatiky Katedra softwarových technologií 12. října 2009 Organizace výuky Přednášky Teoretické základy dle normy jazyka C Cvičení Praktické úlohy odpřednášené látky Prostřední
LEKCE 6. Operátory. V této lekci najdete:
LEKCE 6 Operátory V této lekci najdete: Aritmetické operátory...94 Porovnávací operátory...96 Operátor řetězení...97 Bitové logické operátory...97 Další operátory...101 92 ČÁST I: Programování v jazyce
PŘETĚŽOVÁNÍ OPERÁTORŮ
PŘETĚŽOVÁNÍ OPERÁTORŮ Jazyk C# podobně jako jazyk C++ umožňuje přetěžovat operátory, tj. rozšířit definice některých standardních operátorů na uživatelem definované typy (třídy a struktury). Stejně jako
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
Sada 1 - Základy programování
S třední škola stavební Jihlava Sada 1 - Základy programování 06. Proměnné, deklarace proměnných Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284
Bitové operátory a bitová pole. Úvod do programování 2 Tomáš Kühr
Bitové operátory a bitová pole Úvod do programování 2 Tomáš Kühr Bitové operátory Provádějí danou operaci s jednotlivými bity svých operandů Operandy bitových operátorů mohou být pouze celočíselné Vyhodnocení
Maturitní otázky z předmětu PROGRAMOVÁNÍ
Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti
Reprezentace dat v informačních systémech. Jaroslav Šmarda
Reprezentace dat v informačních systémech Jaroslav Šmarda Reprezentace dat v informačních systémech Reprezentace dat v počítači Datové typy Proměnná Uživatelské datové typy Datové struktury: pole, zásobník,
NPRG030 Programování I, 2017/18 1 / :22:16
NPRG030 Programování I, 2017/18 1 / 26 20. 10. 2017 11:22:16 Ordinální typy standardní: integer, char, boolean Vlastnosti ordinálních typů: 1. hodnot je konečný počet a hodnoty jsou uspořádány 2. ke každé
ADT/ADS = abstraktní datové typy / struktury
DT = datové typy obor hodnot, které může proměnná nabývat, s operacemi na tomto oboru určen: obor hodnot + výpočetní operace např. INT = { 2 147 483 648 až +2 147 483 647} + {+,,*,/,} ADT/ADS = abstraktní
Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44
Algoritmizace a programování Ak. rok 2012/2013 vbp 1. ze 44 Vladimír Beneš Petrovický K101 katedra matematiky, statistiky a informačních technologií vedoucí katedry E-mail: vbenes@bivs.cz Telefon: 251
Java reprezentace dat, výrazy. A0B36PR1-Programování 1 Fakulta elektrotechnická České vysoké učení technické
Java reprezentace dat, výrazy A0B36PR1-Programování 1 Fakulta elektrotechnická České vysoké učení technické Dva základní přístupy k imperativnímu programování Strukturované procedurální Objektové V PR1
Data, výrazy, příkazy
Data, výrazy, příkazy Karel Richta a kol. katedra počítačů FEL ČVUT v Praze Přednášky byly připraveny s pomocí materiálů, které vyrobili Ladislav Vágner, Pavel Strnad, Martin Hořeňovský, Aleš Hrabalík
Jazyk C# a platforma.net
Jazyk C# a platforma.net Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Syntaxe jazyka C# - 1. část BI-DNP Evropský sociální fond
Programovací jazyk C++ Hodina 1
Programovací jazyk C++ Hodina 1 Používané překladače Bloodshed Dev C++ http://www.bloodshed.net/devcpp.html CodeBlocks http://www.codeblocks.org pokud nemáte již nainstalovaný překladač, stáhněte si instalátor
7 Formátovaný výstup, třídy, objekty, pole, chyby v programech
7 Formátovaný výstup, třídy, objekty, pole, chyby v programech Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost formátovanému výstupu,
Odvozené a strukturované typy dat
Odvozené a strukturované typy dat Petr Šaloun katedra informatiky FEI VŠB-TU Ostrava 14. listopadu 2011 Petr Šaloun (katedra informatiky FEI VŠB-TU Ostrava) Odvozené a strukturované typy dat 14. listopadu
Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
- 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á
Programování v C++, 2. cvičení
Programování v C++, 2. cvičení 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 Operátory new a delete 2 3 Operátory new a delete minule
Proměnné a parametry. predn_08.odt :00:38 1
Proměnné a parametry predn_08.odt 16.04.2007 14:00:38 1 Proměnné a parametry Jméno proměnné - identifikátor [a-za-z_][a-za-z_0-9]* Hodnota proměnné textový řetězec celočíselná hodnota - ne v sh Přesun
dovolují dělení velkých úloh na menší = dekompozice
Podprogramy dovolují dělení velkých úloh na menší = dekompozice Příklad: Vytiskněte tabulku malé násobilky ve tvaru XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X X 1 2 3 4 5 6 7 8 9 10 X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Vstup, výstup BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky Miroslav Balík Fakulta informačních technologií České
Semestrální práce z předmětu. Jan Bařtipán / A03043 bartipan@studentes.zcu.cz
Semestrální práce z předmětu KIV/UPA Jan Bařtipán / A03043 bartipan@studentes.zcu.cz Zadání Program přečte ze vstupu dvě čísla v hexadecimálním tvaru a vypíše jejich součet (opět v hexadecimální tvaru).
Ing. Igor Kopetschke TUL, NTI
ALGORITMY A DATOVÉ STRUKTURY 1. Organizace dat v paměti, datové typy Ing. Igor Kopetschke TUL, NTI http://www.nti.tul.cz Jednotlivé body Ukládání a a organizace dat Vnitřní paměť Vnější paměť Přístup k
SHIFTIN sclk, sdata, mode, (data{/ bits} {, data {/ bits},...}) SPIIN sclk, sdata, mode, (data{/ bits} {, data {/ bits},...})
shiftin (spiin) Platí pro PICAXE 20X2, 28X1, 28X2, 40X1, 40X2 Syntaxe: SHIFTIN sclk, sdata, mode, (data{/ bits} {, data {/ bits},...}) SPIIN sclk, sdata, mode, (data{/ bits} {, data {/ bits},...}) Sclk
Stručný obsah První týden Druhý týden 211 Třetí týden 451 Rejstřík 787
Stručný obsah První týden 25 den 1 Začínáme 27 den 2 Anatomie programu C++ 43 den 3 Proměnné a konstanty 57 den 4 Výrazy a příkazy 79 den 5 Funkce 107 den 6 Objektově orientované programování 141 den 7
Úvod do problematiky obvodů FPGA pro integrovanou výuku VUT a VŠB-TUO
FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Úvod do problematiky obvodů FPGA pro integrovanou výuku VUT a VŠB-TUO Garant předmětu: Ing. Michal Kubíček, Ph.D. Autoři