untitled

Seotud dokumendid
SQL

Failiotsing: find paljude võimalustega otsingukäsk find kataloog tingimused kataloog - otsitakse sellest kataloogist ja tema alamkataloogidest tingimu

Funktsionaalne Programmeerimine

AWK Aho Weinberger Kernighan struktuurse teksti töötlemise keel rikkalikult tekstitöötlusvahendeid omal alal suhteliselt lihtne ja kiiresti realiseeri

(loeng3-ohtlikud_koodiloigud)

PHP

Andmebaasid, MTAT Andmebaasikeeled 11.loeng

SQL

DE_loeng5

Andmed arvuti mälus Bitid ja baidid

TARTU ÜLIKOOL MATEMAATIKA-INFORMAATIKATEADUSKOND Arvutiteaduse instituut Infotehnoloogia eriala Roman Jagomägis Programmeerimiskeel privaatsust säilit

Rakenduste loomise ja programmeerimise alused

Programmeerimiskeel APL Raivo Laanemets 17. mai a.

Word Pro - digiTUNDkaug.lwp

Infix Operaatorid I Infix operaatorid (näiteks +) ja tüübid (näiteks ->) kirjutatakse argumentide vahele, mitte argumentide ette. Näiteks: 5 + 2, 2*pi

Microsoft PowerPoint - RRand_MEMS.ppt

Neurovõrgud. Praktikum aprill a. 1 Stohhastilised võrgud Selles praktikumis vaatleme põhilisi stohhastilisi võrke ning nende rakendust k

Süsteemide modelleerimine: praktikum Klassiskeemid Oleg Mürk

Outlookist dokumendi registreerimine Plugina seadistamine Dokumendi registreerimine Outlookist Vastusdokumendi registreerimine Outlookist Outlooki plu

Word Pro - diskmatTUND.lwp

I Generaatori mõiste (Java) 1. Variantide läbivaatamine Generaator (ehk generaator-klass) on klass, milles leidub (vähemalt) isendimeetod next(). Kons

MTAT Operatsioonisüsteemid - Turvalisus

Scala ülevaade 1 Meetodid, muutujad ja väärtused. Süntaks 2 Lihtsad tüübid ja väärtused. 3 OOP, case-klassid ja mustrisobitus. 4 Puhta Scala väärtusta

(Tõrked ja töökindlus \(2\))

MOOCi „Programmeerimise alused“ ülesannete lahenduste analüüs

Loeng05

DIGITAALTEHNIKA DIGITAALTEHNIKA Arvusüsteemid Kümnendsüsteem Kahendsüsteem Kaheksandsüsteem Kuueteistkü

Kommunikatsiooniteenuste arendus (IRT0080) loeng 8/2014 Võrkude haldus Avo 1

E-R mudel

Pealkiri

Kerala State Haj Committee HAJ 2014 Flight Manifest FLIGHT NO. SV-5731 DATE: 14/09/2014 TIME: 16:35 RETURN FLIGHT NO: SV-5764 DATE: Cov No

PowerPointi esitlus

MTAT Operatsioonisüsteemid - Turvalisus

Anneli Areng Kaja Pastarus Matemaatika tööraamat 5. klassile II osa

Relatsiooniline andmebaaside teooria II. 6. Loeng

Loeng05

MTAT Operatsioonisüsteemid - protsessid

StandardBooks_versiooni_uuendusWin

Eksam õppeainetes "Andmebaasid I" (IDU0220) ja "Andmebaaside projekteerimine" (IDU3381)

Operatsioonisüsteemide ehitus

E-arvete juhend

Funktsionaalne Programmeerimine

Raili Veelmaa Eve Värv Ivi Madison Meelika Maila Matemaatika tööraamat 6. klassile I osa

SAF 7 demo paigaldus. 1.Eeldused SAF 7 demo vajab 32- või 64-bitist Windows 7, Window 8, Windows 10, Windows Server 2008 R2, Windows Server 2012, Wind

EST_QIG_TEW-424UB(V3.1.1).cdr

SINU UKS DIGITAALSESSE MAAILMA Ruuter Zyxel LTE3302 JUHEND INTERNETI ÜHENDAMISEKS

Microsoft Word - Referaat.docx

Linux süsteemi administreerimine

OPERATSIOONISÜSTEEMIDE EHITUS Ülevaade Protsessi mõiste Protsesside planeerimine Operatsioonid protsessidega Protsessihaldus Protsesside koostöö Prots

X Window System tuntud kui: X11 X X-Windows akendussüsteem/akendesüsteem rastergraafikat toetavatele ekraanidele UNIX-maailmas väga levinud mitmesugus

1 / loeng Tekstitöötlus Sisend/väljund Teksti lugemine Sõnad

Skriptid ja käsud

Microsoft Word - installation-guide.doc

ISS0050 Mõõtmine

Microsoft PowerPoint - IRZ0050_13L.pptx

Document number:

Automaatjuhtimise alused Automaatjuhtimissüsteemi kirjeldamine Loeng 2

TARTU ÜLIKOOL Arvutiteaduse instituut Informaatika õppekava Mirjam Iher Nõrgima eeltingimuse staatiline analüüs pinukeeltele Bakalaureusetöö (9 EAP) J

Loeng07

Side

Sissejuhatus GRADE metoodikasse

X Window System tuntud kui: X11, X, X-Windows akendussüsteem/akendesüsteem rastergraafikat toetavatele ekraanidele UNIX-maailmas väga levinud mitmesug

VN247 seeria LCD monitor Kasutusjuhend

Markina

Microsoft Word - ref - Romet Piho - Tutorial D.doc

Tehniline andmeleht Sadulventiilid (PN 16) VRG 2 2-tee ventiil, väliskeermega VRG 3 3-tee ventiil, väliskeermega Kirjeldus Ventiilid on kasutatavad ko

Slide 1

Microsoft Word - Errata_Andmebaaside_projekteerimine_2013_06

prakt8.dvi

SK-3MD

EESTI STANDARD EVS-ISO/IEC/IEEE 15289:2013 This document is a preview generated by EVS SÜSTEEMI- JA TARKVARATEHNIKA Elutsükli infosaaduste (dokumentat

Häälestusutiliit Kasutusjuhend

E-õppe ajalugu

HAJUSSÜSTEEMID HAJUSSÜSTEEMID Kaugprotseduurid IDL kompileerimine ONCIDLnäide CORBAIDLnäide MIDLnäide DCERPCmuidomadusi XML-RPC JSON-RPC REST document

Juhend nutiterminali seadistamiseks ja kaardimaksete vastuvõtmiseks Ingenico Link/2500 ja icmp

Microsoft PowerPoint - BPP_MLHvaade_juuni2012 (2)

DVD_8_Klasteranalüüs

HAJUSSÜSTEEMID HAJUSSÜSTEEMID SOAP ja veebiteenused Web Services Web Services SOAP WSDL Ühilduvus UDDI Kihiline arhitektuur masinsuhtluse jaoks erinev

“MÄLUKAS”

Andmeturve

12. Marek Kolk, Kõrgem matemaatika, Tartu Ülikool, Algfunktsioon ja määramata integraal Sisukord 12 Algfunktsioon ja määramata integraal 1

loeng7.key

Microsoft Word - QOS_2008_Tallinn_OK.doc

Peafail3_2.dvi

Süsteemiintegratsioon

Materjalid koostas ja kursuse viib läbi Tartu Ülikooli arvutiteaduse instituudi programmeerimise õpetamise töörühm 2.1 Muutujad SISSEJUHATUS Programmi

Microsoft Word - HOTSEC kasutusjuhend v1.900.docx

Tarkvaraline raadio Software defined radio (SDR) Jaanus Kalde 2017

loeng2

Slide 1

PowerPoint-præsentation

Microsoft PowerPoint - IRZ0020_praktikum4.pptx

Väljavõte:

Riistvara kirjelduskeel VHDL L4, L5. Riistvara kirjelduskeel VHDL L6. Mäluga süsteemid VHDL-s L7. VHDL ja süntees 1 Atribuudid Atribuut on väärtus, funktsioon, tüüp, vahemik, signaal või konstant, mida võib siduda ühe või enama märgendiga VHDL kirjelduses Ilma atribuutideta signal s: bit_vector (sz-1 downto 0);... for i in 0 to sz-1 loop... Atribuutidega signal s: bit_vector (7 downto 0);... for i in s low to s high loop... for i in s reverse_range loop... 2 1

Atribuutide kasutamine Seade- ja hoideajad mäluelementides seadeaeg (setup time) sisendsignaal peab olema stabiilne juba mingi aeg enne taktsignaali aktiivset fronti hoideaeg (hold time) sisendsignaal peab jääma stabiilseks mingi aeg pärast taktsignaali aktiivset fronti Põhjuseks signaaliteede erinevad pikkused Võib põhjustada metastabiilsust väljund ei 0 ega 1 metastabiilsus 3 Atribuutide kasutamine seadeaeg 3 ns & hoideaeg 5 ns process (clock,data_in) begin if clock'event and clock='1' then assert data_in'last_event >= 3 ns report "setup time violation" severity warning; data_out <= data_in; end if; if data_in'event and clock='1' then assert clock'last_event >= 5 ns report "hold time violation" severity warning; end if; 4 2

Digitaalsed simulaatorid Sama-aegsed operatsioonid modelleerimine järjestikulises süsteemis Simulatsioonitsükkel signaalide järgmiste väärtuste leidmine signaalide jooksvate väärtuste värskendamine Tsükkelpõhised ja sündmustepõhised cycle-based vs. event-based Viite modelleerimine ühikviide (unit-delay) nullviide (zero-delay) deltaviide (delta-delay) 5 Ühikviide Peamiselt tsükkelpõhised simulaatorid Igas simulatsioonitsüklis arvuta (kõigi) signaalide uued väärtused värskenda signaalide väärtused suurenda simulatsiooniaega ühe ühiku võrra [ja korda tsüklit 1-st alates] leia uued väärtused värskenda väärtused 6 3

Ühikviide X1 <= a and b; x2 <= not c; y <= x1 xor x2; a b c x1 a b x1 y x2 y c x2 sündmuste jadad t b=1 c=0 t+1ns t+2ns x1=1 y=0 x2=1 time [ns] 7 Nullviide Sündmustepõhised simulaatorid Simulatsioonitsükkel - tsükkel tsüklis sündmuse alusel arvuta uus väärtus, eemalda sündmus lisa uus sündmus sündmuste jadasse korda 1-st alates kuni leidub jooksvale simulatsiooniajale planeeritud sündmusi suurenda simulatsiooniaega ühe ühiku võrra [ja korda tsüklit 1-st alates] leia uus väärtus, eemalda sündmus lisa uus sündmus suurenda simul.aega 8 4

Nullviide (#1) X1 <= a and b; x2 <= not c; y <= x1 xor x2; a b c x1 a b x1 y x2 y c x2 sündmuste jadad t t t b=1 c=0 b=1 c=0 c=0 x1=1 x1=1 x2=1 t x1=1 x2=1 y=0 t x2=1 y=0 time [ns] 9 Nullviide (#2) X1 <= a and b; x2 <= not c; y <= x1 xor x2; a b c x1 a b x1 y x2 y c x2 sündmuste jadad t t t b=1 c=0 b=1 x1=1 x1=1 y=1 c=0 c=0 t y=1 c=0 x2=1 t x2=1 y=0 time [ns] 10 5

Deltaviide VHDL VHDL Δ-viide ( Δ-delay, δ-delay ) Simulatsioonitsükkel - tsükkel tsüklis tsüklis kõikide sündmuste jaoks arvuta uued väärtused (1. tsükkel) eemalda kasutatud ja lisa uued sündmused sündmuste jadasse korda 1-st alates kuni leidub jooksvale simulatsiooniajale planeeritud sündmusi suurenda simulatsiooniaega ühe ühiku võrra [ja korda tsüklit 1-st alates] leia uued väärtused kõikidele jooksvatele sündmustele eemalda vanad ja lisa uued sündmused suurenda simul.aega 11 Deltaviide X1 <= a and b; x2 <= not c; y <= x1 xor x2; a b c x1 a b x1 y x2 y c x2 t t+δ t+2 Δ b=1 x1=1 y=0 c=0 x2=1 time [ns] 12 6

Protsess entity / architecture / component struktuuri elemendid process mudeli käitumine sisaldab ajastuse kontrolli sama-aegselt täidetav käsk (ehk andmevoo käsk) == tundlikkuse nimistuga protsess 13 Protsess Andmevoo käsk x <= a and b after 5 ns; Ekvivalentne protsess process ( a, b ) begin x <= a and b after 5 ns; 14 7

Protsess Ekvivalentsed protsessid (järg) process begin wait on a, b; x <= a and b after 5 ns; process variable tmp: bit; begin wait on a, b; tmp := a and b; wait for 5 ns; x <= tmp; 15 Protsess Tundlikkuse nimistu sensitivity list process ( a, b ) begin x <= a and b after 5 ns; process begin wait on a, b; x <= a and b after 5 ns; 16 8

Protsess Ajakontroll alguses või lõpus? process begin wait on a, b; x <= a and b after 5 ns; process begin x <= a and b after 5 ns; wait on a, b; 17 Ajakontroll Omistamise viivitamine -- after T; Tundlikkuse nimistu Ootekäsud oota signaali sündmust: wait on x; oota tingimuse täitumist: wait until x= 1 ; oota määratud aeg: wait for 20 us; oota (igavesti): wait; kombineeritult: wait on clk until clk= 1 and ready= 1 for 1 us; 18 9

Inertsiaal- ja transportviide output <= input after 10ns; output <= [inertial] input after 10ns; -- VHDL 87 -- VHDL 93 output <= transport input after 10ns; 19 Operatsioonid & avaldised Omistamised signaalile muutujale avaldised x <= avaldis [after aeg]; x := avaldis; avaldis operatsioon avaldis muutuja signaal funktsioonipöördus Kontrollvoo käsud tingimuslikud if-then-else, case tsüklid for-loop, while-loop protseduuripöördus ajakontroll 20 10

Kontrollvoo käsud Tingimuslikud käsud if-then-else [märgend:] if tingimusavaldis then operatsioonide jada elsif tingimusavaldis then operatsioonide jada else operatsioonide jada end if [märgend]; tingimusavaldis - tõeväärtustüüpi case [märgend:] case avaldis is when väärtus [ väärtus] => operatsioonide jada when others => null end case [märgend]; 21 Kontrollvoo käsud Tsüklid [kordusmärgend:] [iteratsiooniskeem] loop operatsioonide jada end loop [kordusmärgend]; iteratsiooniskeem ::= while tingimusavaldis for loendur in vahemik exit [kordusmärgend] [when tingimusavaldis]; next [kordusmärgend] [when tingimusavaldis]; vahemik ::= avaldis to avaldis avaldis downto avaldis tüüp range... 22 11

Kontrollvoo käsud for-loop for I in my_array range loop next when I<lower_limit; exit when I>upper_limit; sum := sum + my_array(i); end loop; while-loop while a<10 loop a := a + 1; end loop; loop loop exit when not a<10; a := a + 1; end loop; 23 Funktsioonid & protseduurid Käitumuslik hierarhia funktsioon (function) kasutatav avaldistena ei tohi sisaldada ajakontrolli käske ainult sisendparameetrid (konstantidena) protseduur (procedure) kasutatav operatsioonina (lausena) võib sisaldada ajakontrolli käske sisendparameetrid (konstandid) väljundparameetrid (muutajad/signaalid) 24 12

Funktsioonid & protseduurid Deklareerimine paketid (pakage) arhitektuuri, protsessi, funktsiooni, protseduuri jne. deklaratiivne osa Sisu paketikeha (pakage body) arhitektuuri, protsessi, funktsiooni, protseduuri jne. deklaratiivne osa koos deklareerimisega 25 Funktsioonid --... function conv_boolean (a: signed) return boolean is begin if to_bit(a(a low))= 1 then return TRUE; else return FALSE; end if; end conv_boolean; --... function and (l,r: signed) return signed is begin return signed(std_logic_vector(l) and std_logic_vector(r)); end; --... --... signal a, b, x: signed (7 downto 0); signal y: boolean; --... X <= a and b; --... y <= conv_boolean(a); 26 13

Protseduurid PACKAGE adder_elements IS -- full_adder : 1-bit full adder (declaration) PROCEDURE full_adder (CONSTANT a0, b0, c0: IN bit; VARIABLE o0, c1: OUT bit); END adder_elements; PACKAGE BODY adder_elements IS PROCEDURE half_adder (CONSTANT a0, b0: IN bit; VARIABLE o0, c1: OUT bit) IS BEGIN o0 := a0 XOR b0; c1 := a0 AND b0; END half_adder; PROCEDURE full_adder (CONSTANT a0, b0, c0: IN bit; VARIABLE o0, c1: OUT bit) IS VARIABLE c_1, c_2, o_1: bit; BEGIN half_adder ( a0, b0, o_1, c_1 ); half_adder ( o_1, c0, o0, c_2 ); c1 := c_1 or c_2; END full_adder; END adder_elements; 27 Paketid & teegid Korduvkasutus andmetüübid funktsioonid / protseduurid komponendid Pakett (package) deklaratsioonide kogum Teek (library) pakettide kogum disainiüksuste (entity/architecture) kogum 28 14

IEEE standardloogika mudel Std_Ulogic Type (IEEE 1164) U uninitialized mudeli käitumine X forcing unknown mudeli käitumine 0 forcing 0 loogikanivoo ( transistor ) 1 forcing 1 loogikanivoo ( transistor ) Z high impedance ühendamata W weak unknown mudeli käitumine L weak 0 loogikanivoo ( takisti ) H weak 1 loogikanivoo ( takisti ) - don t care (optimeerimiseks) 29 Üldistatud parameetrid generics -- moodus parameetrite edastamiseks -- Address generator - entity library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_arith.all; entity agener is generic ( bitwidth: positive ); port ( clock: in bit; reset, enable: in std_logic; start_address, stop_address: in unsigned(bitwidth-1 downto 0); address: out unsigned(bitwidth-1 downto 0) ); end agener; --... and somewhere in the architecture signal count: unsigned(bitwidth-1 downto 0); 30 15

Disaini struktureerimine Kergem koodi hallata Moodulite korduvkasutatavus granulaarsus struktuuriüksus VHDL konstruktsioon jäme entity / architecture vastavused configuration jäme primaarne disainiüksus entity / architecture jäme/keskmine sama-aegsete käskude kordamine for / if - generate jäme/keskmine sama-aegsete käskude grupeerimine block keskmine järjestikuliste käskude grupeerimine process peen alamprogramm procedure / function 31 VHDL ja digitaalsüsteem steem process (a, b, c) begin x <= f (a, b); y <= g (b, c); Funktsionaalsed sõlmed process (clk) begin if clk event and clk= 1 then q <= d; end if; + / - < / > RG RG Mäluelemendid 32 16