VHDL-kuvauskieli. Digitaalitekniikka (piirit) Luku 17 Sivu 1 (33)

Koko: px
Aloita esitys sivulta:

Download "VHDL-kuvauskieli. Digitaalitekniikka (piirit) Luku 17 Sivu 1 (33)"

Transkriptio

1 Digitaalitekniikka (piirit) Luku 7 Sivu (33)

2 Digitaalitekniikka (piirit) Luku 7 Sivu 2 (33) Johdanto Tässä luvussa esitellään laitteiston kuvauskielet ja niistä erityisesti VHDL esitetään VHDL-kuvauskielen rakenne ja keskeiset ominaisuudet kuvataan VHDL-kuvauskielen peruskäsitteet ja -määritteet esitetään kominaatiopiirien synkronisten sekvenssipiirien kuvaaminen VHDL-kuvauskielellä käyttäytymiskuvauksena esitetään rakennekuvaus esitetään VHDL-kuvauksen testaus Luvun tavoitteena on muodostaa yleiskäsitys VHDL-kuvauskielestä oppia laatimaan yksinkertaisia VHDL-kuvauksia

3 Digitaalitekniikka (piirit) Luku 7 Sivu 3 (33) Laitteiston kuvauskielet? Laitteiston kuvauskieli eli HDL (Hardware Description Language) on tekstimuotoinen tapa kuvata digitaalipiiri tai -laite Valtaosa käytännön digitaalipiirisuunnittelusta tehdään kuvauskielellä Käytetään erityisesti kuvattaessa asiakaskohtaisia digitaalipiirejä ja ohjelmoitavia logiikkaverkkoja Kuvauskielet muistuttavat ohjelmointikieliä Olennaiset erot ohjelmointikieliin ohjelma ajetaan laitteistossa - kuvaus kuvaa laitteiston laitteistossa on sekä rinnakkaista että peräkkäistä toimintaa ohjelmistossa on yleensä vain peräkkäistä toimintaa Kuvauksia voidaan käyttää simulointiin, piirisynteesiin ja testaukseen Standardoidut kuvauskielet VHDL (Suomessa yleisin) Verilog Valmistajakohtaiset kuvauskielet esim. ABEL, PALASM, CUPL ja AHDL

4 Digitaalitekniikka (piirit) Luku 7 Sivu 4 (33) Standardoitujen kuvauskielten käytön perusteet Riippumattomuus piirivalmistajista sama kuvaus voidaan toimittaa usealle eri piirivalmistajalle (ainakin periaatteessa) Riippumattomuus suunnittelutyökaluista stardardimuotoinen tekstitiedosto voidaan helposti siirtää suunnittelutyökalusta toiseen Hyvät valmislohkojen (IP Blocks) käyttömahdollisuudet laitevalmistajan omat valmislohkot piirivalmistajan valmislohkot työkalutoimittajan valmislohkot erikseen ostetut (third party) valmislohkot valmislohkojen käyttö lyhentää usein suunnitteluaikaa paljonkin Standardi on yleinen, tarkoin määritelty ja vapaasti saatavilla Standardointijärjestö on piirivalmistajista riippumaton yhteisö

5 Digitaalitekniikka (piirit) Luku 7 Sivu 5 (33) VHDL = VHSIC Hardware Description Language VHSIC = Very High Speed Integrated Circuit (USA:n DoD:n hanke) Alkuperäinen standardiversio IEEE vuonna 987 Päivitys versioksi IEEE vuonna 993 (edelleen yleisin) Uusin versio IEEE syyskuussa 2008 VHDL Hyvin rikas ja monipuolinen kieli Myös laaja ja osin mutkikaskin Sujuva käyttö vaatii sekä opiskelua että erityisesti käytännön kokemusta Kuvattua laitetta tai piiriä nimitetään suunnitteluyksiköksi (entity) Suunnitteluyksiköillä on hierarkia ylemmän tason suunnitteluyksikkö koostuu alemman tason suunnitteluyksiköistä eli moduuleista samaa moduulia voidaan käyttää useita kertoja Seuraavassa VHDL-kieleen kuuluvat varatut sanat esitetään ISOILLA ja käyttäjän antamat nimet pienillä kirjaimilla (muitakin käytäntöjä esiintyy)

6 Digitaalitekniikka (piirit) Luku 7 Sivu 6 (33) VHDL-kuvauksen perusrakenne a & ENTITY nand2 IS? 2 ( a: IN BIT; : IN BIT; : OUT BIT); END nand2; Suunnitteluyksikön esittely: - nimi (nand2) - tulot ja lähdöt (a, ja ) - tulojen ja lähtöjen tyyppi (BIT) a, ARCHITECTURE ehavior OF nand2 IS BEGIN <= a NAND ; END ehavior; VHDL-arkkitehtuuri: - nimi (ehavior) - toiminnan kuvauskomennot (tässä vain yksi sijoituslause)

7 Digitaalitekniikka (piirit) Luku 7 Sivu 7 (33) VHDL-arkkitehtuurityypit Käyttäytymiskuvaus (ehavioral description) määrittelee toiminnan, ei ota kantaa toteutukseen kominaatiopiirin käyttäytymiskuvaus vastaa totuustaulua tai lauseketta sekvenssipiirin käyttäytymiskuvaus vastaa ASM- tai kaaviota Rakennekuvaus (structural description) määrittelee rakenteen, ei ota kantaa toimintaan vastaa piiri- tai lohkokaaviota Samalla suunnitteluyksiköllä voi olla useita erilaisia arkkitehtuureja yhteinen käyttäytymiskuvaus rakennekuvaus porttiverkolla toteutettuna rakennekuvaus PLD-piirillä toteutettuna rakennekuvaus FPGA-piirillä toteutettuna rakennekuvaukset voidaan tehdä käyttäytymiskuvauksesta suunnittelutyökalulla

8 Digitaalitekniikka (piirit) Luku 7 Sivu 8 (33) Kommentti, varattu sana ja tunniste Kommentti (comment) rivi tai rivin osa, joka alkaa -- (kaksi tavuviivaa) on kommentti -- Ulkoisten tulosignaalien esittely (in, in2, clk, reset): IN BIT; -- kaikkien tulosignaalien tyyppi BIT Varattu sana ja tunniste avainsanat (keyword) ja operaattorit (operator) ovat varattuja sanoja tunnisteet (identiier) ovat käyttäjän antamia nimiä alkavat kirjaimella, sallittuja merkkejä englannin kirjaimet, numerot ja _ _ ei saa olla viimeinen merkki eikä niitä saa olla kahta peräkkäin isoja ja pieniä kirjaimia ei erotella: IN = in = In = in, IN, NAND in, nand2, toiminta ovat varattuja sanoja ovat tunnisteita

9 Digitaalitekniikka (piirit) Luku 7 Sivu 9 (33) Ojekti Ojekteja ovat portit, signaalit, muuttujat ja vakiot Portti () on suunnitteluyksikön tulo- tai lähtösignaali Signaali (SIGNAL) on suunnitteluyksikön sisäinen signaali (in, in2, clk, reset: IN BIT; -- tulosignaalit outa, out, outc: OUT BIT); SIGNAL sis, sis2, sis3: BIT; -- lähtösignaalit -- sisäiset signaalit Muuttuja (VARIABLE) on VHDL-kuvauksen sisäinen ojekti VARIABLE p, q, sum: INTEGER; -- kolme kokonaislukumuuttujaa Vakio (CONSTANT) on nimetty ojekti, jolle on annettu vakioarvo CONSTANT arvo0: STRING := "00"; -- vakion arvo0 arvo on jono "00" CONSTANT arvo: STRING := "0"; -- vakion arvo arvo on jono "0" CONSTANT arvo2: STRING := "0"; -- vakion arvo2 arvo on jono "0" CONSTANT arvo3: STRING := ""; -- vakion arvo3 arvo on jono ""

10 Digitaalitekniikka (piirit) Luku 7 Sivu 0 (33) Tyyppi Tyyppi (TYPE) määrittelee ojektin (esimerkiksi signaalin tai muuttujan) arvot TYPE BIT IS ('0', ''); -- BIT-tyyppisen ojektin arvot ovat '0' ja '' VHDL-kielen keskeisiä tyyppejä? 3 Suomenk. nimi nimi Bitti Bitti Bittijono Standardilogiikka Totuusarvo Merkki Merkki Merkkijono Kokonaisluku VHDL-kielen nimi nimi BIT BIT BIT_VECTOR STD_LOGIC BOOLEAN CHARACTER STRING Arvot Arvot '0', '0','' '' Esim. Esim. "000", "000","00", "00","00",,"" 'U', 'U','X', 'X','0', '0','', '','Z', 'Z','W', 'W','L', 'L','H', 'H','-' '-' FALSE, TRUE TRUE Esim. Esim. 'a', 'a','a', 'A','', '','9', '9','?' '?'('a' ('a' 'A') 'A') Esim. Esim. "Jono", "Jono","024", "024","Matti "Matti M." M." Esim. 0,, -37, 024, INTEGER Esim. 0,, -37, 024,

11 Digitaalitekniikka (piirit) Luku 7 Sivu (33) Bittijonon pituus ja kokonaisluvun arvoalue Bittijonon ittien lukumäärä ja numerointi BIT_VECTOR ( TO 8); -- 8-ittinen ittijono, itit 8 BIT_VECTOR (8 DOWNTO ); -- 8-ittinen ittijono, itit 8 Yksittäiseen ittiin viitataan sen numerolla eli indeksillä SIGNAL j: BIT_VECTOR (8 DOWNTO ); -- 8-ittinen ittijono j j(8) <= '0'; j() <= ''; -- sijoitetaan itille 8 arvo '0' ja itille arvo '' Kokonaisluvun arvoalue esitetään antamalla sen rajat INTEGER RANGE 0 TO 255; -- etumerkitön 8-ittinen luku INTEGER RANGE 27 DOWNTO -28; -- 2:n kompl.-muot. 8-ittinen luku

12 Digitaalitekniikka (piirit) Luku 7 Sivu 2 (33) Enumeroitu tyyppi ja operaattori Enumeroitu tyyppi (enumerated type) on käyttäjän itse määrittelemä tyyppi arvot tunnisteita, merkkejä tai merkkijonoja käytetään esimerkiksi sekvenssipiirien toiminnallisissa kuvauksissa tilojen määrittelyyn -- Neliisen sekvenssipiirin t ovat alku, vali, vali2 ja loppu TYPE tyyppi IS (alku, vali, vali2, loppu);? 4 Operaattori (operator) kuvaa ojektille tai ojekteille tehtyä operaatiota loogiset operaattorit AND, OR, NOT, NAND, NOR, XOR, XNOR aritmeettiset operaattorit +, -, *, /, **, MOD, REM, ABS vertailuoperaattorit =, /=, <, >, <=, >= ketjutusoperaattori & operaatioiden järjestys osittain määritelty: tarvittaessa käytetään sulkuja loogisissa operaatioissa NOT ensin, AND ja OR samanarvoisia NAND ja NOR vain kahdelle ojektille

13 Digitaalitekniikka (piirit) Luku 7 Sivu 3 (33) Sijoituslauseet Signaalin sijoituslauseella (signal assignment statement) sijoitetaan arvo signaalille tai portille Sijoituslauseita on kolme erilaista: yhtäaikainen, ehdollinen ja valikoiva Yhtäaikainen (concurrent) signaalin sijoituslause a <= ''; -- sijoitetaan a:lle vakioarvo <= (a AND NOT c) OR ( AND c); -- sijoitetaan :lle lausekkeen arvo Ehdollinen (conditional) signaalin sijoituslause <= '0' WHEN a = '0' AND = '0' ELSE -- 0, kun a = = 0 c WHEN a = '0' AND = '' ELSE -- c, kun a = 0 ja = NOT c WHEN a = '' AND = '0' ELSE -- EI c, kun a = ja = 0 ''; -- muutoin

14 Digitaalitekniikka (piirit) Luku 7 Sivu 4 (33) Sijoituslauseet 2 Valikoiva (selected) signaalin sijoituslause WITH a SELECT <= '0' WHEN "00", -- 0, kun ittijono a = 00 c WHEN "0", -- c, kun ittijono a = 0 NOT c WHEN "0", -- EI c, kun ittijono a = 0 '' WHEN OTHERS; -- muutoin Usea samaan sijoitukseen johtava ehto voidaan esittää yhdistettyinä käytetään mm. Mooren koneen lähtösignaalien sijoituksessa WITH SELECT <= '' WHEN alku loppu, -- = tiloissa alku ja loppu '0' WHEN OTHERS; -- = 0 kaikissa muissa tiloissa

15 Digitaalitekniikka (piirit) Luku 7 Sivu 5 (33) Ehdollinen ohjaus: IF- ja CASE-lauseet MUX sel G IF d0 d CASE IF sel = '0' THEN -- valintas. = 0 <= d0; -- :lle d0:n arvo ELSE -- valintas. = <= d; -- :lle d:n arvo END IF; CASE sel IS -- ehtosignaali sel WHEN '0' -- sel = 0 <= d0; -- :lle d0:n arvo WHEN '' -- sel = <= d; -- :lle d:n arvo END CASE;

16 Digitaalitekniikka (piirit) Luku 7 Sivu 6 (33) Attriuutti Attriuutti (attriute) eli lisämääre liitetään ojektiin ja ilmaisee sen ominaisuuden arvon muoto ojekti'attribute valmiina yli kolmekymmentä, käyttäjä voi määritellä omia synkronisissa sekvenssipiireissä tärkeä attriuutti on 'EVENT käytetään kellosignaalin muutoksen havaitsemiseen -- Nousevalla reunalla liipaistavan D-kiikun nmuutoksen kuvaus IF clk'event AND clk = '' THEN q <= d; END IF; -- kellosignaalin nouseva reuna -- q:n arvoksi d:n arvo

17 Digitaalitekniikka (piirit) Luku 7 Sivu 7 (33) Prosessi Prosessi (process) Herätesignaalin muutoksen jälkeen tapahtuvat tapahtumat PROCESS (clk) BEGIN IF clk'event AND clk = '' THEN q <= d; END IF; END PROCESS; Ajallisesti peräkkäiset tapahtumat (testipenkin kuvaus) PROCESS BEGIN a <= '0'; <= '0'; WAIT FOR 00 NS; a <= '0'; <= ''; WAIT FOR 00 NS; a <= ''; <= '0'; WAIT FOR 00 NS; a <= ''; <= ''; WAIT; END PROCESS; -- D-kiikku kuvataan prosessina -- kellosign. nouseva reuna -- kiikun ksi d-tulon arvo -- testataan 2-tuloinen portti --. heräte, odotet. 00 ns heräte, odotet. 00 ns heräte, odotet. 00 ns heräte, pysäytetään

18 Digitaalitekniikka (piirit) Luku 7 Sivu 8 (33) Komponentti ja komponentin asennus Komponentti (component) komponenttimäärittelyä käytetään rakennekuvauksessa erikseen kuvattu suunnitteluyksikkö esitellään komponenttina COMPONENT and2 (a, : IN BIT; : OUT BIT); END COMPONENT; Komponentin asennus (component instantiation) esitellyn komponentin ilmentymä (instance) kytketään suunnitteluyksikön signaaleihin komponenttia voidaan käyttää monta kertaa eri paikoissa eka_and2: and2 MAP (a a,, ); toka_and2: and2 MAP (a a2, 2, 2);

19 Digitaalitekniikka (piirit) Luku 7 Sivu 9 (33) Suunnitteluyksikön esittely päälohkokaaviosta Laitteen tai piirin päälohkokaavio kuvautuu suunnitteluyksikön esittelyksi:? 5 cold rain onmat Proamuistutin procntr coat umr ENTITY procntr IS IS (( cold, cold, rain, rain, onmat: onmat: IN IN BIT; BIT; coat, coat, umr: umr: OUT OUT BIT); BIT); END ENDprocntr; Jaskan kuppilan supermainos yo hh clk reset mainos mainos herk jask kupp ENTITY mainos mainos IS IS (( yo, yo, hh: hh: IN IN BIT; BIT; clk, clk, reset: reset: IN IN BIT; BIT; herk, herk, jask, jask, kupp: kupp: OUT OUT BIT); BIT); END ENDmainos;

20 Digitaalitekniikka (piirit) Luku 7 Sivu 20 (33) Kominaatiopiirien määrittelytavat Totuustaulun avulla cold cold rain rain onmat onmat coat coat umr umr C cold rain onmat proamuistuttimen ohjain coat umr Piirikaaviomuodossa Lausekkeina cold onmat & coat coat coat = cold cold onmat onmat umr umr = cold cold rain rain onmat onmat rain & umr

21 Digitaalitekniikka (piirit) Luku 7 Sivu 2 (33) VHDL-käyttäytymiskuvaus totuustaulusta ENTITY muistutin IS cold cold rain rain onmat onmat coat coat umr umr ( cold, rain, onmat: IN BIT; coat, umr: OUT BIT); 0 0 END muistutin; ARCHITECTURE tottaulu OF muistutin IS BEGIN coat <= '' WHEN cold = '' AND rain = '0' AND onmat = '' ELSE '' WHEN cold = '' AND rain = '' AND onmat = '' ELSE '0'; umr <= '' WHEN cold = '0' AND rain = '' AND onmat = '' ELSE '0'; END tottaulu; Käytetään ehdollista signaalin sijoituslausetta

22 Digitaalitekniikka (piirit) Luku 7 Sivu 22 (33) VHDL-käyttäytymiskuvaus totuustaulusta 2 ENTITY muistutin IS ( cold_rain_onmat: IN BIT_VECTOR (2 DOWNTO 0); coat_umr: OUT BIT_VECTOR ( DOWNTO 0)); END muistutin; ARCHITECTURE tottaulu2 OF muistutin IS BEGIN CASE cold_rain_onmat IS WHEN "000" coat_umr <= "00"; WHEN "00" coat_umr <= "00"; WHEN "00" coat_umr <= "00"; WHEN "0" coat_umr <= "0"; WHEN "00" coat_umr <= "00"; WHEN "0" coat_umr <= "0"; WHEN "0" coat_umr <= "00"; WHEN "" coat_umr <= "0"; END CASE; END tottaulu2; cold cold rain rain onmat onmat coat coat umr umr Käytetään CASElausetta CASE-

23 Digitaalitekniikka (piirit) Luku 7 Sivu 23 (33) VHDL-käyttäytymiskuvaus lausekkeista? 6 ENTITY muistutin IS ( cold, rain, onmat: IN BIT; coat, umr: OUT BIT); END muistutin; coat coat = cold cold onmat onmat umr umr = cold cold rain rain onmat onmat ARCHITECTURE lauseke OF muistutin IS BEGIN coat <= cold AND onmat; umr <= NOT cold AND rain AND onmat; END lauseke; Käytetään signaalin sijoituslausetta Piirikaaviosta saadaan VHDL-rakennekuvaus, jota käsitellään lähemmin sivulta 28 alkaen.

24 Digitaalitekniikka (piirit) Luku 7 Sivu 24 (33) Puolisummaimen VHDL-käyttäytymiskuvaus Lisä ENTITY puolisummain IS ( p, q: IN BIT; s, c: OUT BIT); END puolisummain; ARCHITECTURE tottaulu OF puolisummain IS BEGIN s <= '' WHEN p = '0' AND q = '' ELSE '' WHEN p = '' AND q = '0' ELSE '0'; c <= '' WHEN p = '' AND q = '' ELSE '0'; END tottaulu; ARCHITECTURE lauseke OF puolisummain IS BEGIN s <= p XOR q; s = p q c <= p AND q; c = p q END lauseke; Kaksi Kaksi erilaista arkkitehtuurituuria p q c s Toteutus voi voi olla olla erilainen

25 Digitaalitekniikka (piirit) Luku 7 Sivu 25 (33) Synkronisen sekvenssipiirin käyttäytymiskuvaus ASM-kaavio kuvautuu VHDLkäyttäytymisarkkitehtuuriksi Esimerkki: Jaskan kuppilan supermainos Mealyn koneena reset ei h hj hjk herk hh jask kupp herk, jask hh kupp herk, jask kupp yo ARCHITECTURE toiminta OF mainos IS TYPE tyyppi IS (ei, h, hj, hjk); -- tyyppimäärittely SIGNAL : tyyppi; -- esitellään signaali BEGIN PROCESS (reset, clk) -- ASM:n nmuutokset kuv. prosess. BEGIN IF reset = '' THEN -- kiikkujen nollaus reset-signaalilla <= ei; ELSIF clk'event AND clk = '' THEN -- kellop. nous. reuna CASE IS -- nmuutokset kuvataan CASE-lauseella <= hjk; END IF; END CASE; END IF; END PROCESS; herk <='0' WHEN = ei ELSE ''; -- lähtösign. sijoitukset jask <='0' WHEN = ei OR ( = h AND hh = '0') ELSE ''; kupp<='' WHEN = hjk OR ( = h AND hh = '') OR ( = hj AND hh = '') ELSE '0'; END toiminta; Tilanmuutokset WHEN ei -- sta ei siirrytään an h <= h; WHEN h -- sta h siirrytään an hj <= hj; WHEN hj -- sta hj siirrytään an hjk <= hjk; WHEN hjk -- sta hjk siirtyminen IF yo = '0' THEN -- nmuutokseen vaikuttava <= ei; -- päätöslohko kuvataan IF- ELSE -- lauseella Määrittelyt Lähdöt

26 Digitaalitekniikka (piirit) Luku 7 Sivu 26 (33) Tilanmuutosten kuvaaminen, esimerkkejä s0 s CASE CASE IS IS WHEN s0 WHEN s0 <= <= s; s; END CASE; END CASE; s0? 7 s0 s s0 s in 0 in 0 in2 0 s2 s2 CASE IS CASE IS WHEN WHEN s0 s0 IF in = '0' THEN IF in = '0' THEN <= s; <= s; ELSE ELSE <= s2; s <= s2; END IF; END IF; END END CASE; CASE; CASE CASE IS IS WHEN WHEN s0 s0 IF IF in in = = '' '' THEN THEN <= <= s0; s0; ELSIF ELSIF in2 in2 = = '0' '0' THEN THEN <= <= s; s; ELSE ELSE <= <= s2; s2; END END IF; IF; END END CASE; CASE; 0 in in2 0 in2 0 s2 s3 CASE CASE IS IS WHEN WHEN s0 s0 IF IF in in = = 0' 0' AND AND in2 in2 = = '0' '0' THEN THEN <= <= s; s; ELSIF ELSIF in in = = 0' 0' AND AND in2 in2 = = '' '' THEN THEN <= <= s0; s0; ELSIF ELSIF in in = = ' ' AND AND in2 in2 = = '0' '0' THEN THEN <= <= s2; s2; ELSE ELSE <= <= s3; s3; END IF; END IF; END END CASE; CASE;

27 Digitaalitekniikka (piirit) Luku 7 Sivu 27 (33) Lähtösignaalien kuvaaminen Valikoiva signaalin sijoituslause voidaan käyttää, kun lähtösignaali esiintyy vain lohkoissa sopii erityisesti Mooren koneisiin, joissa on paljon tiloja voidaan käyttää myös Mealyn koneen ehdottomille lähdöille? 8 s0 s s2 0 0 out2 out2 s3 s4 out out, out2 WITH WITH SELECT SELECT out out <= <= '' '' WHEN WHENs3 s3 s4, s4, '0' '0' WHEN WHEN OTHERS; OTHERS; WITH WITH SELECT SELECT out2 out2 <= <= '' '' WHEN WHENs s s2 s2 s4, s4, '0' '0' WHEN WHEN OTHERS; OTHERS; WITH WITH SELECT SELECT out out <= <= '' '' WHEN WHENs3 s3 s4, s4, '0' '0' WHEN WHEN OTHERS; OTHERS; WITH WITH SELECT SELECT out2 out2 <= <= '0' '0' WHEN WHENs0 s0 s3, s3, '' '' WHEN WHEN OTHERS; OTHERS;

28 Digitaalitekniikka (piirit) Luku 7 Sivu 28 (33) Lähtösignaalien kuvaaminen 2 Ehdollinen signaalin sijoituslause soveltuu kaikkiin tapauksiin välttämätön ehdollisille lähdöille Mealyn koneissa lähtösignaali pelkästään ehdollisissa lähtölohkoissa lähtösignaali sekä lohkoissa että ehdollisissa lähtölohkoissa sopii hyvin myös ehdottomille lähdöille, jos tiloja on vähän? 9 s0 s out in 0 in2 0 out3 out3 s2 out2 out2 out out out <= <= '' '' WHEN WHEN = s0 s0 ELSE ELSE '' '' WHEN WHEN = s2 s2 ELSE ELSE '0'; '0'; out2 out2 <= <= '' '' WHEN WHEN = s0 s0 AND ANDin in = '' '' ELSE ELSE '' '' WHEN WHEN = s0 s0 AND ANDin in = '0' '0' AND ANDin2 in2 = '' '' ELSE ELSE '0'; '0'; out3 out3 <= <= '' '' WHEN WHEN = s s ELSE ELSE '' '' WHEN WHEN = s0 s0 AND ANDin in = '0' '0' AND ANDin2 in2 = '0' '0' ELSE ELSE '0'; '0';

29 Digitaalitekniikka (piirit) Luku 7 Sivu 29 (33) Rakennekuvaus Rakennekuvaus vastaa piiri- tai lohkokaaviota esitellään komponentit COMPONENT-lauseilla komponenteilla on erilliset toiminnalliset tai rakennekuvaukset näihin viitataan komponentin nimillä esitellään sisäiset signaalit kuvataan komponenttien liittyminen portteihin ja sisäisiin signaaleihin esimerkkinä kokosummaimen rakennekuvauksen arkkitehtuuriosa porteilla toteutettuna

30 Digitaalitekniikka (piirit) Luku 7 Sivu 30 (33) p q cin? 0 Rakennekuvaus 2 a a a a u = u2 & u3 & u4 & u u2 u3 u4 a a c u5 = u6 Kokosummain s cout ARCHITECTURE ARCHITECTURE rakenne rakenne OF OF kokosummain kokosummain IS IS COMPONENT COMPONENT ex_or ex_or (a, (a, : : IN IN BIT; BIT; : : OUT OUT BIT); BIT); END END COMPONENT; COMPONENT; COMPONENT COMPONENT and_2 and_2 (a, (a, : : IN IN BIT; BIT; : : OUT OUT BIT); BIT); END END COMPONENT; COMPONENT; COMPONENT COMPONENT or_3 or_3 (a, (a,,, c: c: IN IN BIT; BIT; : : OUT OUT BIT); BIT); END END COMPONENT; COMPONENT; SIGNAL SIGNAL u, u, u2, u2, u3, u3, u4: u4: BIT; BIT; BEGIN BEGIN u: u: ex_or ex_or MAP MAP (a (a p, p, q, q, u); u); u2: u2: and_2 and_2 MAP MAP (a (a p, p, q, q, u2); u2); u3: u3: and_2 and_2 MAP MAP (a (a p, p, cin, cin, u3); u3); u4: u4: and_2 and_2 MAP MAP (a (a q, q, cin, cin, u4); u4); u5: u5: ex_or ex_or MAP MAP (a (a u, u, cin, cin, s); s); u6: u6: or_3 or_3 MAP MAP (a (a u2, u2, u3, u3, c c u4, u4, cout); cout); END END rakenne; rakenne;

31 Digitaalitekniikka (piirit) Luku 7 Sivu 3 (33) VHDL-kuvauksen testaus VHDL-kuvauksen testaus simulaattoriohjelmalla esim. VHDL Simili -ilmaisohjelma ladattavissa verkosta käytetään yleensä apuna testipenkkiä (test ench) myös testipenkki on VHDL-kuvaus Testipenkki Herätteet Testigeneraattori ja ja Testi- vasteanalysaattori (myös (myös vaste- VHDL-kuvaus)... Vasteet... Testattava VHDL-kuvaus (UUT) (UUT) esimerkkinä 2-tuloisen JA-portin testipenkki

32 Digitaalitekniikka (piirit) Luku 7 Sivu 32 (33) VHDL-kuvauksen testaus 2 Testigengen. Testi- VHDL VHDL Testipenkki at a t && t UUT ENTITY ENTITYtestipenkki IS IS -- --suunnitteluyksikön esittely esittely END ENDtestipenkki; -- --suunnitteluyksikössä suunnitteluyksikössäei ei ole ole ulkoisia ulkoisia signaaleja signaaleja ARCHITECTURE ARCHITECTUREtestaus OF OFtestipenkki IS IS -- --VHDL-arkkitehtuuri COMPONENT COMPONENTand_2 IS IS -- --esitellään testattava testattava piiri piiri and_2 and_2 komponenttina komponenttina (a, (a, : : IN IN BIT; BIT; : : OUT OUT BIT); BIT); END END COMPONENT; COMPONENT; CONSTANT CONSTANTjakso: TIME:= TIME:= ns; ns; -- --määritellään simulointijakso simulointijakso SIGNAL SIGNALat, at, t, t, t: t: BIT; BIT; -- --esitellään sisäiset sisäiset signaalit signaalit BEGIN BEGIN UUT: UUT: and_2 and_2 MAP MAP -- --kytketään testattava testattava piiri piiri UUT UUT (and_2) (and_2) (a (a at, at, t, t, t); t); -- --testigeneraattoriin herate: herate: PROCESS PROCESS BEGIN BEGIN -- --käynnistetään testaus testaus at at <= <= '0'; '0'; t t <= <= '0'; '0'; WAIT WAIT FOR FORjakso; -- --ensimmäinen heräte: heräte: at at = t t = 0 at at <= <= '0'; '0'; t t <= <= ''; ''; WAIT WAIT FOR FORjakso; -- --toinen heräte: heräte: at at = 0, 0, t t = at at <= <= ''; ''; t t <= <= '0'; '0'; WAIT WAIT FOR FORjakso; -- --kolmas heräte: heräte: at at =,, t t = 0 at at <= <= ''; ''; t t <= <= ''; ''; WAIT; WAIT; -- --neljäs heräte: heräte: at at = t t = END END PROCESS PROCESSherate; -- --lopetetaan testaus testaus END ENDtestaus;

33 Digitaalitekniikka (piirit) Luku 7 Sivu 33 (33) Yhteenveto VHDL VHDLon on Suomessa eniten eniten käytetty laitteiston kuvauskieli VHDL-kuvauksen perusosat ovat ovat suunnitteluyksikön esittely ja ja VHDLarkkitehtuuri VHDL-arkkitehtuuri on on joko joko käyttäytymis- tai tai rakennekuvaus VHDL-kielessä käytetään kommentteja, tunnisteita ja ja ojekteja Keskeisiä tyyppejä ovat ovat itti, itti, standardilogiikka, merkki, merkkijono ja ja VHDL- enumeroitu tyyppi tyyppi VHDL-kielessä käytetään erilaisia operaattoreita Signaalille tai tai portille portille annetaan arvo arvo sijoituslauseella Ehdolliseen ohjaukseen voidaan käyttää käyttääif- IF-ja ja CASE-lauseita Piirin Piirin päälohkokaavio kuvautuu suunnitteluyksikön esittelyksi Kominaatiopiirin toiminnallinen kuvaus kuvaus tehdään sijoituslauseella ASM-kaavion siirtymät kuvataan CASE-lauseella ja ja lähtösignaalit sijoituslauseilla Rakennekuvaus vastaa vastaa piiri- piiri-tai tai lohkokaaviota VHDL-kuvauksen testaamiseen käytetään testipenkkiä

ASM-kaavio: reset. b c d e f g. 00 abcdef. naytto1. clk. 01 bc. reset. 10 a2. abdeg. 11 a3. abcdg

ASM-kaavio: reset. b c d e f g. 00 abcdef. naytto1. clk. 01 bc. reset. 10 a2. abdeg. 11 a3. abcdg Digitaalitekniikka (piirit) Metropolia / AKo Pikku nnitteluharjoitus: Suunnitellaan sekvenssipiiri, jolla saadaan numerot juoksemaan seitsensegmenttinäytöllä: VHDL-koodin generointi ASM-kaavioista Tässä

Lisätiedot

Verilogvs. VHDL. Janne Koljonen University of Vaasa

Verilogvs. VHDL. Janne Koljonen University of Vaasa Verilogvs. VHDL Janne Koljonen University of Vaasa Sälää Huom! Verilogistauseita versioita: 1995, 2001 ja 2005. Kommentit Javasta tutut // ja /* */ ovat kommenttimerkkejä. Case sensitivity Isot ja pienet

Lisätiedot

Synkronisten sekvenssipiirien suunnittelu

Synkronisten sekvenssipiirien suunnittelu Digitaalitekniikka (piirit) Luku 6 Sivu (5) Synkronisten sekvenssipiirien suunnittelu.8.24 Fe/AKo Synkronisten sekvenssipiirien suunnittelu Digitaalitekniikka (piirit) Luku 6 Sivu 2 (5) Synkronisten sekvenssipiirien

Lisätiedot

Digitaalitekniikka (piirit), kertaustehtäviä: Vastaukset

Digitaalitekniikka (piirit), kertaustehtäviä: Vastaukset Digitaalitekniikka (piirit), kertaustehtäviä: Vastaukset Metropolia/AK. Mealyn koneessa on kolme tulosignaalia, joista yksi vaikuttaa pelkästään lähtösignaaleihin, yksi pelkästään koneen tilaan ja yksi

Lisätiedot

Digitaalitekniikka (piirit) Luku 14 Sivu 1 (16) Sekvenssipiirit. Kombinaatiopiiri. Tilarekisteri

Digitaalitekniikka (piirit) Luku 14 Sivu 1 (16) Sekvenssipiirit. Kombinaatiopiiri. Tilarekisteri Digitaalitekniikka (piirit) Luku 4 Sivu (6).8.24 Fe/AKo Tilarekisteri Kombinaatiopiiri Digitaalitekniikka (piirit) Luku 4 Sivu 2 (6).8.24 Fe/AKo Johdanto Tässä luvussa todetaan esimerkin avulla kombinaatiopiirien

Lisätiedot

VHDL Tehtävä 1 : JK-Kiikku toteutettu IF:llä

VHDL Tehtävä 1 : JK-Kiikku toteutettu IF:llä Pasi Vähämartti TEHTÄVÄT 1(13) VHDL Tehtävä 1 : JK-Kiikku toteutettu IF:llä entity JK_kiikku2 is Port ( J : in std_logic; K : in std_logic; CLK : in std_logic; Reset : in std_logic; Q : out std_logic;

Lisätiedot

Sekvenssipiirin tilat. Synkroninen sekvenssipiiri ? 1 ? 2

Sekvenssipiirin tilat. Synkroninen sekvenssipiiri ? 1 ? 2 Luku igitaalitekniikka (piirit) Täsmätehtävät.8. Fe/AKo igitaalitekniikka (piirit) Täsmätehtävät.8. Fe/AK Opetuskerta Sivu 4 Luku Opetuskerta Sivu Sekvenssipiirin tilat Montako tilaa vähintään tarvitaan

Lisätiedot

ELEC-C3240 Elektroniikka 2

ELEC-C3240 Elektroniikka 2 ELEC-C324 Elektroniikka 2 Marko Kosunen Marko.kosunen@aalto.fi Digitaalielektroniikka Tilakoneet Materiaali perustuu kurssiins-88. Digitaalitekniikan perusteet, laatinut Antti Ojapelto Luennon oppimistavoite

Lisätiedot

Sekvenssipiirin tilat

Sekvenssipiirin tilat igitaalitekniikka (piirit) Luku Täsmätehtävä Tehtävä Sekvenssipiirin tilat Montako tilaa vähintään tarvitaan seuraavissa sekvenssipiireissä: Painikkeella ohjattava lampun sytytys ja sammutus. Näyttöä ohjaava

Lisätiedot

Digitaalilaitteen signaalit

Digitaalilaitteen signaalit Digitaalitekniikan matematiikka Luku 3 Sivu 3 (9) Digitaalilaitteen signaalit Digitaalilaitteeseen tai -piiriin tulee ja siitä lähtee digitaalisia signaaleita yksittäisen signaalin arvo on kunakin hetkenä

Lisätiedot

Harjoitustehtävien ratkaisut

Harjoitustehtävien ratkaisut Sivu (22) 29.8.2 Fe/Ko Luku Sekvenssipiirit. Tutki luentokalvo- ja opetusmonisteessa esitettyä esimerkkiä synkronisesta sekvenssipiiristä. a) Montako tilaa piirissä on? Koska piirissä on kaksi tilasignaalia,

Lisätiedot

AUTO3030 Digitaalitekniikan jatkokurssi, harjoitus 5, ratkaisuja

AUTO3030 Digitaalitekniikan jatkokurssi, harjoitus 5, ratkaisuja AUTO3030 Digitaalitekniikan jatkokurssi, harjoitus 5, ratkaisuja s2009 Tehtävien ratkaisussa käytän yhteistä top-level -suunnitteluyksikköä, jonka komponentilla toteutetaan erilaiset piirin topologiat.

Lisätiedot

Digitaalitekniikan matematiikka Luku 3 Sivu 1 (19) Kytkentäfunktiot ja perusporttipiirit

Digitaalitekniikan matematiikka Luku 3 Sivu 1 (19) Kytkentäfunktiot ja perusporttipiirit Digitaalitekniikan matematiikka Luku 3 Sivu (9) && Digitaalitekniikan matematiikka Luku 3 Sivu 2 (9) Johdanto Tässä luvussa esitetään digitaalilaitteen signaalit ja digitaalipiirien perustyypit esitellään

Lisätiedot

AUTO3030 Digitaalitekniikan jatkokurssi, harjoitus 2, ratkaisuja

AUTO3030 Digitaalitekniikan jatkokurssi, harjoitus 2, ratkaisuja AUTO3030 Digitaalitekniikan jatkokurssi, harjoitus 2, ratkaisuja s2009 1. D-kiikku Toteuta DE2:lla synkroninen laskukone, jossa lasketaan kaksi nelibittistä lukua yhteen. Tulos esitetään ledeillä vasta,

Lisätiedot

21~--~--~r--1~~--~--~~r--1~

21~--~--~r--1~~--~--~~r--1~ - K.Loberg FYSE420 DIGITAL ELECTRONICS 13.05.2011 1. Toteuta alla esitetyn sekvenssin tuottava asynkroninen pun. Anna heratefunktiot, siirtotaulukko ja kokonaistilataulukko ( exitation functions, transition

Lisätiedot

2_1----~--~r--1.~--~--~--,.~~

2_1----~--~r--1.~--~--~--,.~~ K.Loberg FYSE420 DIGITAL ELECTRONICS 3.06.2011 1. Toteuta alia esitetyn sekvenssin tuottava asynkroninen pun. Anna heditefunktiot, siirtotaulukko ja kokonaistilataulukko ( exitation functions, transition

Lisätiedot

V H D L. Very high speed integrated circuits Hardware Description Language

V H D L. Very high speed integrated circuits Hardware Description Language V H D L H. Honkanen Very high speed integrated circuits Hardware Description Language Allaolevassa kuvassa on esitetty FGPA tai ASIC piirin suunnittelun vuokaavio. Kuva: FPGA piirin suunnittelu Tästä kokonaisuudesta

Lisätiedot

Java-kielen perusteet

Java-kielen perusteet Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, literaalivakio, nimetty vakio Tiedon merkkipohjainen tulostaminen 1 Tunnus Java tunnus Java-kirjain Java-numero

Lisätiedot

Java-kielen perusteita

Java-kielen perusteita Java-kielen perusteita valintalauseet 1 Johdantoa kontrollirakenteisiin Tähän saakka ohjelmissa on ollut vain peräkkäisyyttä eli lauseet on suoritettu peräkkäin yksi kerrallaan Tarvitsemme myös valintaa

Lisätiedot

Joni Heikkilä PYROLYYSIGENERAATTORIN AUTOMAATIO-OHJAUS OHJELMOITAVALLA LOGIIKKAPIIRILLÄ

Joni Heikkilä PYROLYYSIGENERAATTORIN AUTOMAATIO-OHJAUS OHJELMOITAVALLA LOGIIKKAPIIRILLÄ Joni Heikkilä PYROLYYSIGENERAATTORIN AUTOMAATIO-OHJAUS OHJELMOITAVALLA LOGIIKKAPIIRILLÄ Opinnäytetyö KESKI-POHJANMAAN AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma Kesäkuu 2008 TIIVISTELMÄ OPINNÄYTETYÖSTÄ

Lisätiedot

Esimerkkitentin ratkaisut ja arvostelu

Esimerkkitentin ratkaisut ja arvostelu Sivu (5) 2.2.2 Fe Seuraavassa on esitetty tenttitehtävien malliratkaisut ja tehtäväkohtainen arvostelu. Osassa tehtävistä on muitakin hyväksyttäviä ratkaisuja kuin malliratkaisu. 2 Tehtävät on esitetty

Lisätiedot

Java-kielen perusteet

Java-kielen perusteet Java-kielen perusteet Tunnus, varattu sana, kommentti Muuttuja, alkeistietotyyppi, merkkijono, Vakio Tiedon merkkipohjainen tulostaminen Ohjelmointi (ict1tx006) Tunnus (5.3) Javan tunnus Java-kirjain Java-numero

Lisätiedot

Digitaalitekniikka (piirit) Opetusmoniste

Digitaalitekniikka (piirit) Opetusmoniste Sivu (35) 3.2.2 Fe Esko T. Rautanen Digitaalitekniikka (piirit) Sisällysluettelo Sivu Synkroniset sekvenssipiirit 2. Opettavainen tarina 2.2 Digitaalisten piirien ryhmittely 3.3 Synkronisen sekvenssipiirin

Lisätiedot

VHDL-piirikuvaus ja simulointi Quartus II ja ModelSim Altera Edition -ohjelmilla

VHDL-piirikuvaus ja simulointi Quartus II ja ModelSim Altera Edition -ohjelmilla Vaasan yliopisto Sivu: 1/9 VHDL-piirikuvaus ja simulointi Quartus II ja ModelSim Altera Edition -ohjelmilla Tässä dokumentissa opastetaan, miten -kurssin VHDLtehtävissä tarvittavia ohjelmia käytetään.

Lisätiedot

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5) Alkuarvot ja tyyppimuunnokset (1/5) Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int luku = 123; Alkuarvon on oltava muuttujan tietotyypin mukainen, esimerkiksi int-muuttujilla kokonaisluku,

Lisätiedot

Digitaalitekniikka (piirit) Luku 18 Sivu 1 (32) Rekisterit ja laskurit R C1 SRG4 R C1/ CTRDIV16 1R G2 2CT=15 G3 C1/2,3 + CT 3

Digitaalitekniikka (piirit) Luku 18 Sivu 1 (32) Rekisterit ja laskurit R C1 SRG4 R C1/ CTRDIV16 1R G2 2CT=15 G3 C1/2,3 + CT 3 Digitaalitekniikka (piirit) Luku 8 Sivu (32) R C D SRG4 R C/ D CTRDIV6 R G2 2CT=5 G3 C/2,3 + CT 3 Digitaalitekniikka (piirit) Luku 8 Sivu 2 (32) Johdanto Tässä luvussa esitellään keskeiset salpoja ja kiikkuja

Lisätiedot

13. Loogiset operaatiot 13.1

13. Loogiset operaatiot 13.1 13. Loogiset operaatiot 13.1 Sisällys Loogiset operaatiot AND, OR, XOR ja NOT. Operaatioiden ehdollisuus. Bittioperaatiot. Loogiset operaatiot ohjausrakenteissa. Loogiset operaatiot ja laskentajärjestys.

Lisätiedot

Digitaalitekniikka (piirit) Luku 15 Sivu 1 (17) Salvat ja kiikut 1D C1 C1 1T 1J C1 1K S R

Digitaalitekniikka (piirit) Luku 15 Sivu 1 (17) Salvat ja kiikut 1D C1 C1 1T 1J C1 1K S R igitaalitekniikka (piirit) Luku 5 ivu (7).8.24 Fe/AKo C J C K C T C C J C K igitaalitekniikka (piirit) Luku 5 ivu 2 (7).8.24 Fe/AKo Johdanto Tässä luvussa esitetään salpapiirit, jotka ovat yksinkertaisimpia

Lisätiedot

Ohjausjärjestelmien jatkokurssi. Visual Basic vinkkejä ohjelmointiin

Ohjausjärjestelmien jatkokurssi. Visual Basic vinkkejä ohjelmointiin Ohjausjärjestelmien jatkokurssi Visual Basic vinkkejä ohjelmointiin http://www.techsoft.fi/oskillaattoripiirit.htm http://www.mol.fi/paikat/job.do?lang=fi&jobid=7852109&index=240&anchor=7852109 Yksiköt

Lisätiedot

13. Loogiset operaatiot 13.1

13. Loogiset operaatiot 13.1 13. Loogiset operaatiot 13.1 Sisällys Loogiset operaatiot AND, OR, XOR ja NOT. Operaatioiden ehdollisuus. Bittioperaatiot. Loogiset operaatiot ohjausrakenteissa. Loogiset operaatiot ja laskentajärjestys.

Lisätiedot

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin. 2. Ohjausrakenteet Ohjausrakenteiden avulla ohjataan ohjelman suoritusta. peräkkäisyys valinta toisto Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet

Lisätiedot

Oppikirjan harjoitustehtävien ratkaisuja

Oppikirjan harjoitustehtävien ratkaisuja Sivu (27) 26.2.2 e 7 Muistipiirit 7- Tietokoneen muistin koko on 256 K 6 b. Montako sanaa muistissa on? Mikä on sen sananpituus? Montako muistialkiota muistissa on? Muistissa on 256 kibisanaa eli 262 44

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 24.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 24.1.2011 1 / 36 Luentopalaute kännykällä alkaa tänään! Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 26.1.2009 T-106.1208 Ohjelmoinnin perusteet Y 26.1.2009 1 / 33 Valintakäsky if syote = raw_input("kerro tenttipisteesi.\n") pisteet = int(syote) if pisteet >=

Lisätiedot

Ongelma(t): Mistä loogisista lausekkeista ja niitä käytännössä toteuttavista loogisista piireistä olisi hyötyä tietojenkäsittelyssä ja tietokoneen

Ongelma(t): Mistä loogisista lausekkeista ja niitä käytännössä toteuttavista loogisista piireistä olisi hyötyä tietojenkäsittelyssä ja tietokoneen Ongelma(t): Mistä loogisista lausekkeista ja niitä käytännössä toteuttavista loogisista piireistä olisi hyötyä tietojenkäsittelyssä ja tietokoneen rakentamisessa? 2012-2013 Lasse Lensu 2 Transistori yhdessä

Lisätiedot

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. FT Ari Viinikainen TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op FT Ari Viinikainen Tietokoneen rakenne Keskusyksikkö, CPU Keskusmuisti Aritmeettislooginen yksikkö I/O-laitteet Kontrolliyksikkö Tyypillinen Von Neumann

Lisätiedot

BL40A17x0 Digitaalielektroniikka A/B: Ohjelmoitavat logiikkapiirit

BL40A17x0 Digitaalielektroniikka A/B: Ohjelmoitavat logiikkapiirit BL4A17x Digitaalielektroniikka A/B: Ohjelmoitavat logiikkapiirit Ohjelmoitavat logiikkapiirit (PLD, Programmable Logic Device) PLD (Programmable Logic Device) on yleinen nimitys integroidulle piirille,

Lisätiedot

VHDL/Verilog/SystemC. Jukka Jokelainen 20.10.2009

VHDL/Verilog/SystemC. Jukka Jokelainen 20.10.2009 VHDL/Verilog/SystemC Jukka Jokelainen 20.10.2009 Sisältö Mitä ihmettä on hardwaren ohjelmointi? VHDL Verilog SystemC Analogiaelektroniikan yhdistäminen digitaaliseen maailmaan Yhteenveto ja pohdintaa Hardwaren

Lisätiedot

Ongelma(t): Mistä loogisista lausekkeista ja niitä käytännössä toteuttavista loogisista piireistä olisi hyötyä tietojenkäsittelyssä ja tietokoneen

Ongelma(t): Mistä loogisista lausekkeista ja niitä käytännössä toteuttavista loogisista piireistä olisi hyötyä tietojenkäsittelyssä ja tietokoneen Ongelma(t): Mistä loogisista lausekkeista ja niitä käytännössä toteuttavista loogisista piireistä olisi hyötyä tietojenkäsittelyssä ja tietokoneen rakentamisessa? 2013-2014 Lasse Lensu 2 Transistori yhdessä

Lisätiedot

Muuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency, Date, Object, String, Variant (oletus)

Muuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency, Date, Object, String, Variant (oletus) VISUAL BASIC OHJEITA Kutsuttava ohjelma alkaa kometoparilla Sub... End Sub Sub ohjelmanimi()...koodia... End Sub Muuttujat Muuttujan esittely Muuttujatyypit ovat Boolean, Byte, Integer, Long, Double, Currency,

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 25.1.2010 T-106.1208 Ohjelmoinnin perusteet Y 25.1.2010 1 / 41 Valintakäsky if Tähänastiset ohjelmat ovat toimineen aina samalla tavalla. Usein ohjelman pitäisi

Lisätiedot

ELEC-C3240 Elektroniikka 2 Digitaalielektroniikka Karnaugh n kartat ja esimerkkejä digitaalipiireistä

ELEC-C3240 Elektroniikka 2 Digitaalielektroniikka Karnaugh n kartat ja esimerkkejä digitaalipiireistä ELE-324 Elektroniikka 2 Digitaalielektroniikka Karnaugh n kartat ja esimerkkejä digitaalipiireistä Materiaalia otettu myös: https://www.allaboutcircuits.com/textbook/digital/chpt-8/introduction-to-karnaughmapping/

Lisätiedot

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014 18. syyskuuta 2014 IDL - proseduurit Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

Ohjelmointiharjoituksia Arduino-ympäristössä

Ohjelmointiharjoituksia Arduino-ympäristössä Ohjelmointiharjoituksia Arduino-ympäristössä Yleistä Arduino-sovelluksen rakenne Syntaksi ja käytännöt Esimerkki ohjelman rakenteesta Muuttujat ja tietotyypit Tietotyypit Esimerkkejä tietotyypeistä Ehtolauseet

Lisätiedot

Kielioppia: toisin kuin Javassa

Kielioppia: toisin kuin Javassa Object Pascal Pascal kielen oliolaajennus (Inprise/Borland:n oma) luokat Voit uudelleenkäyttää luomiasi objekteja esim. komponentteja Periytyminen Kielioppia: toisin kuin Javassa Ei eroa isojen ja pienien

Lisätiedot

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne

Lisätiedot

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit IDL - proseduurit 25. huhtikuuta 2017 Viimeksi käsiteltiin IDL:n interaktiivista käyttöä, mutta tämä on hyvin kömpelöä monimutkaisempia asioita tehtäessä. IDL:llä on mahdollista tehdä ns. proseduuri-tiedostoja,

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 20.1.2010 T-106.1208 Ohjelmoinnin perusteet Y 20.1.2010 1 / 40 Arvon pyytäminen käyttäjältä Käyttäjän antaman arvon voi lukea raw_input-käskyllä. Käskyn sulkujen

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 21.1.2009 T-106.1208 Ohjelmoinnin perusteet Y 21.1.2009 1 / 32 Tyypeistä Monissa muissa ohjelmointikielissä (esim. Java ja C) muuttujat on määriteltävä ennen

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 21.9.2016 CSE-A1111 Ohjelmoinnin peruskurssi Y1 21.9.2016 1 / 22 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

Digitaalitekniikan matematiikka Luku 6 Sivu 1 (20) Kombinaatiopiirit & & A B A + B

Digitaalitekniikan matematiikka Luku 6 Sivu 1 (20) Kombinaatiopiirit & & A B A + B igitaalitekniikan matematiikka Luku 6 Sivu (20).9.20 e 0 0 0 0 0 + 0 0 0 0 0 0 0 igitaalitekniikan matematiikka Luku 6 Sivu 2 (20).9.20 e Johdanto Tässä luvussa esitellään porttipiirityypit J-EI ja TI-EI

Lisätiedot

Ehto- ja toistolauseet

Ehto- ja toistolauseet Ehto- ja toistolauseet 1 Ehto- ja toistolauseet Uutena asiana opetellaan ohjelmointilauseet / rakenteet, jotka mahdollistavat: Päätösten tekemisen ohjelman suorituksen aikana (esim. kyllä/ei) Samoja lauseiden

Lisätiedot

Ohjelmointi 1 Taulukot ja merkkijonot

Ohjelmointi 1 Taulukot ja merkkijonot Ohjelmointi 1 Taulukot ja merkkijonot Jussi Pohjolainen TAMK Tieto- ja viestintäteknologia Johdanto taulukkoon Jos ohjelmassa käytössä ainoastaan perinteisiä (yksinkertaisia) muuttujia, ohjelmien teko

Lisätiedot

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 81122P (4 ov.) 30.5.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan

Lisätiedot

Numeropelissä 3x3-ruudukko sisältää luvut 1, 2,, 9. Tehtäväsi on järjestää ruudukko näin:

Numeropelissä 3x3-ruudukko sisältää luvut 1, 2,, 9. Tehtäväsi on järjestää ruudukko näin: A Numeropeli Numeropelissä 3x3-ruudukko sisältää luvut 1, 2,, 9. Tehtäväsi on järjestää ruudukko näin: 1 2 3 4 5 6 7 8 9 Voit jokaisella siirrolla vaihtaa keskenään kaksi vierekkäistä lukua vaaka- tai

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2018-2019 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen

Lisätiedot

Ohjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan.

Ohjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan. Osoittimet Ohjelmassa muuttujalla on nimi ja arvo. Kääntäjä ja linkkeri varaavat muistilohkon, jonne muuttujan arvo talletetaan. Muistilohkon koko riippuu muuttujan tyypistä, eli kuinka suuria arvoja muuttujan

Lisätiedot

Tutoriaaliläsnäoloista

Tutoriaaliläsnäoloista Tutoriaaliläsnäoloista Tutoriaaliläsnäolokierroksella voi nyt täyttää anomuksen läsnäolon merkitsemisestä Esim. tagi ei toiminut, korvavaltimon leikkaus, yms. Hyväksyn näitä omaa harkintaa käyttäen Tarkoitus

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 2 vastaukset Harjoituksen aiheena on BNF-merkinnän käyttö ja yhteys rekursiivisesti etenevään jäsentäjään. Tehtävä 1. Mitkä ilmaukset seuraava

Lisätiedot

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 19.1.2011 T-106.1208 Ohjelmoinnin perusteet Y 19.1.2011 1 / 39 Haluatko antaa palautetta luennoista? Ilmoittaudu mukaan lähettämällä ilmainen tekstiviesti Vast

Lisätiedot

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti: 1 (7) Tiedon lukeminen näppäimistöltä Scanner-luokan avulla Miten ohjelma saa käyttöönsä käyttäjän kirjoittamaa tekstiä? Järjestelmässä on olemassa ns. syöttöpuskuri näppäimistöä varten. Syöttöpuskuri

Lisätiedot

Ohjelmoitavat logiikkaverkot

Ohjelmoitavat logiikkaverkot Digitaalitekniikka (piirit) Luku 9 Sivu (3) Ohjelmoitavat logiikkaverkot.8.24 Fe/AKo Ohjelmoitavat logiikkaverkot Ohjelmoitavat logiikkaverkot Programmable logic logic PLD-piirit Programmable logic logic

Lisätiedot

Sisällys. 18. Abstraktit tietotyypit. Johdanto. Johdanto

Sisällys. 18. Abstraktit tietotyypit. Johdanto. Johdanto Sisällys 18. bstraktit tietotyypit Johdanto abstrakteihin tietotyyppeihin. Pino ja jono. Linkitetty lista. Pino linkitetyllä listalla toteutettuna. 18.1 18.2 Johdanto Javan omat tietotyypit ovat jo tuttuja:

Lisätiedot

Digitaalitekniikan matematiikka Harjoitustehtäviä

Digitaalitekniikan matematiikka Harjoitustehtäviä arjoitustehtäviä Sivu 6 6.3.2 e arjoitustehtäviä uku 3 ytkentäfunktiot ja perusporttipiirit 3. äytäväkytkin on järjestelmä jossa käytävän kummassakin päässä on kytkin ja käytävän keskellä lamppu. amppu

Lisätiedot

11. Javan valintarakenteet 11.1

11. Javan valintarakenteet 11.1 11. Javan valintarakenteet 11.1 Sisällys If- ja if-else-lauseet. Orpo else. Valintaa toisin: switch-lause. 11.2 If-lause Merkitään varatulla sanalla if. Kuvaa yksisuuntaisen päätöksen: rakenteen lauseet

Lisätiedot

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 9.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 9.9.2015 1 / 26 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

Harjoitus 2 (viikko 45)

Harjoitus 2 (viikko 45) Mikäli tehtävissä on jotain epäselvää, laita sähköpostia vastuuopettajalle (jorma.laurikkala@uta.fi). Muista lisätä static-määre operaatioidesi otsikoihin, jotta ohjelmasi kääntyvät. Muista noudattaa hyvän

Lisätiedot

Chapel. TIE Ryhmä 91. Joonas Eloranta Lari Valtonen

Chapel. TIE Ryhmä 91. Joonas Eloranta Lari Valtonen Chapel TIE-20306 Ryhmä 91 Joonas Eloranta Lari Valtonen Johdanto Chapel on Amerikkalaisen Cray Inc. yrityksen kehittämä avoimen lähdekoodin ohjelmointikieli. Chapel on rinnakkainen ohjelmointikieli, joka

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 4 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 4 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 4 vastaukset Harjoituksen aiheena ovat imperatiivisten kielten lauseisiin, lausekkeisiin ja aliohjelmiin liittyvät kysymykset. Tehtävä 1. Mitä

Lisätiedot

Sisällys. 16. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. Aritmetiikkaa toisin merkiten

Sisällys. 16. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. Aritmetiikkaa toisin merkiten Sisällys 16. Ohjelmoinnin tekniikkaa Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely ja alustaminen yhdellä lauseella. For-lause lyhemmin. If-else-lause vaihtoehtoisesti

Lisätiedot

20. Javan omat luokat 20.1

20. Javan omat luokat 20.1 20. Javan omat luokat 20.1 Sisällys Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 20.2 Java API Java-kielen Application Programming Interface (API)

Lisätiedot

16. Ohjelmoinnin tekniikkaa 16.1

16. Ohjelmoinnin tekniikkaa 16.1 16. Ohjelmoinnin tekniikkaa 16.1 Sisällys Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely ja alustaminen yhdellä lauseella. For-lause lyhemmin. If-else-lause vaihtoehtoisesti

Lisätiedot

Sisällys. 20. Javan omat luokat. Java API. Pakkaukset. java\lang

Sisällys. 20. Javan omat luokat. Java API. Pakkaukset. java\lang Sisällys 20. Javan omat luokat Application Programming Interface (API). Pakkaukset. Merkkijonoluokka String. Math-luokka. Kääreluokat. 20.1 20.2 Java API Java-kielen Application Programming Interface (API)

Lisätiedot

18. Abstraktit tietotyypit 18.1

18. Abstraktit tietotyypit 18.1 18. Abstraktit tietotyypit 18.1 Sisällys Johdanto abstrakteihin tietotyyppeihin. Pino ja jono. Linkitetty lista. Pino linkitetyllä listalla toteutettuna. 18.2 Johdanto Javan omat tietotyypit ovat jo tuttuja:

Lisätiedot

Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti

Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti C! Perusteet 19.1.2017 Palautteesta (1. kierros toistaiseksi) Toistaiseksi helppoa Miksi vain puolet pisteistä? Vaikeinta oli ohjelmointiympäristön asennus ja käyttö Vaikeaa eroavuudet Pythonin ja C:n

Lisätiedot

16. Ohjelmoinnin tekniikkaa 16.1

16. Ohjelmoinnin tekniikkaa 16.1 16. Ohjelmoinnin tekniikkaa 16.1 Sisällys For-lause lyhemmin. Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely ja alustaminen yhdellä lauseella. If-else-lause vaihtoehtoisesti

Lisätiedot

Datatähti 2019 loppu

Datatähti 2019 loppu Datatähti 2019 loppu task type time limit memory limit A Summa standard 1.00 s 512 MB B Bittijono standard 1.00 s 512 MB C Auringonlasku standard 1.00 s 512 MB D Binääripuu standard 1.00 s 512 MB E Funktio

Lisätiedot

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A. Tehtävä. Tämä tehtävä on aineistotehtävä, jossa esitetään ensin tehtävän teoria. Sen jälkeen esitetään neljä kysymystä, joissa tätä teoriaa pitää soveltaa. Mitään aikaisempaa tehtävän aihepiirin tuntemusta

Lisätiedot

Harjoitus 6 (viikko 42)

Harjoitus 6 (viikko 42) Nämä ovat kurssin viimeiset harjoitukset. Hyväksytyistä ratkaisuista ja läsnäoloista kerättyjen pisteiden summan tulee olla vähintään 40 % ( pistettä) tehtävien ja läsnäolopisteiden kokonaislukumäärien

Lisätiedot

Sisällys. 17. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. for-lause lyhemmin

Sisällys. 17. Ohjelmoinnin tekniikkaa. Aritmetiikkaa toisin merkiten. for-lause lyhemmin Sisällys 17. Ohjelmoinnin tekniikkaa for-lause lyhemmin. Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely ja alustaminen yhdellä lauseella. if-else-lause vaihtoehtoisesti

Lisätiedot

Sinulle on annettu bittijono, ja tehtäväsi on muuttaa jonoa niin, että jokainen bitti on 0.

Sinulle on annettu bittijono, ja tehtäväsi on muuttaa jonoa niin, että jokainen bitti on 0. A Bittien nollaus Sinulle on annettu bittijono, ja tehtäväsi on muuttaa jonoa niin, että jokainen bitti on 0. Saat käyttää seuraavia operaatioita: muuta jokin bitti vastakkaiseksi (0 1 tai 1 0) muuta kaikki

Lisätiedot

Python-ohjelmointi Harjoitus 2

Python-ohjelmointi Harjoitus 2 Python-ohjelmointi Harjoitus 2 TAVOITTEET Kerrataan tulostuskomento ja lukumuotoisen muuttujan muuttaminen merkkijonoksi. Opitaan jakojäännös eli modulus, vertailuoperaattorit, ehtorakenne jos, input-komento

Lisätiedot

Ohjelmointi 1 C#, kevät 2013,

Ohjelmointi 1 C#, kevät 2013, Ohjelmointi 1 C#, kevät 2013, 19.4.2013 (English versions of the questions can be requested from the supervisor. Englanninkieliset kysymykset saa pyytämällä tentin valvojalta.) Tentti (yliopisto opiskelijat)

Lisätiedot

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia.

Ohjelmointitaito (ict1td002, 12 op) Kevät 2008. 1. Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen raine.kauppinen@haaga-helia. Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen raine.kauppinen@haaga-helia.fi 1. Java-ohjelmoinnin alkeita Tietokoneohjelma Java-kieli ja Eclipse-ympäristö Java-ohjelma ja ohjelmaluokka

Lisätiedot

Sisällys. 3. Pseudokoodi. Johdanto. Johdanto. Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen.

Sisällys. 3. Pseudokoodi. Johdanto. Johdanto. Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen. Sisällys 3. Pseudokoodi Johdanto ja esimerkki. Pseudokoodi lauseina. Kommentointi ja sisentäminen. Ohjausrakenteet: Valinta if- ja if--rakenteilla. oisto while-, do-while- ja for-rakenteilla. 3.1 3.2 Johdanto

Lisätiedot

Yhden bitin tiedot. Binaariluvun arvon laskeminen. Koodin bittimäärä ja vaihtoehdot ? 1

Yhden bitin tiedot. Binaariluvun arvon laskeminen. Koodin bittimäärä ja vaihtoehdot ? 1 Luku Digitaalitekniikan matematiikka Täsmätehtävät.9. Fe Digitaalitekniikan matematiikka Täsmätehtävät.9. Fe Opetuskerta Sivu Luku Opetuskerta Sivu Yhden bitin tiedot Luettele esimerkkejä yhden bitin tiedoista.

Lisätiedot

Johdatus Ohjelmointiin

Johdatus Ohjelmointiin Johdatus Ohjelmointiin Syksy 2006 Viikko 2 13.9. - 14.9. Tällä viikolla käsiteltävät asiat Peruskäsitteitä Kiintoarvot Tiedon tulostus Yksinkertaiset laskutoimitukset Muuttujat Tiedon syöttäminen Hyvin

Lisätiedot

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

1.3 Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 811122P (5 op.) 12.12.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan

Lisätiedot

Ratkaisu. Ensimmäinen kuten P Q, toinen kuten P Q. Kolmas kuten P (Q R):

Ratkaisu. Ensimmäinen kuten P Q, toinen kuten P Q. Kolmas kuten P (Q R): Diskreetti matematiikka, sks 2010 Harjoitus 2, ratkaisuista 1. Seuraavassa on kuvattu kolme virtapiiriä, joissa on paristo, sopiva lamppu L ja katkaisimia P, Q, R, joiden läpi virta kulkee (1) tai ei kulje

Lisätiedot

Tyyppejä ja vähän muutakin. TIEA341 Funktio ohjelmointi 1 Syksy 2005

Tyyppejä ja vähän muutakin. TIEA341 Funktio ohjelmointi 1 Syksy 2005 Tyyppejä ja vähän muutakin TIEA341 Funktio ohjelmointi 1 Syksy 2005 Viime luennolla... Haskellin alkeita pääasiassa Hello World!... ja muita tutunoloisia ohjelmia Haskellilla Haskellin voima on kuitenkin

Lisätiedot

Hohde Consulting 2004

Hohde Consulting 2004 Luento 5: XQuery AS-0.110 XML-kuvauskielten perusteet Janne Kalliola XQuery XQuery uudet funktiot sekvenssit muuttujat Iterointi järjestys suodatus järjestäminen Ehtorakenteet Muita toimintoja www.hohde.com

Lisätiedot

BL40A1711 Johdanto digitaaleketroniikkaan: Sekvenssilogiikka, pitopiirit ja kiikut

BL40A1711 Johdanto digitaaleketroniikkaan: Sekvenssilogiikka, pitopiirit ja kiikut BL40A1711 Johdanto digitaaleketroniikkaan: Sekvenssilogiikka, pitopiirit ja kiikut Sekvenssilogiikka Kombinatooristen logiikkapiirien lähtömuuttujien nykyiset tilat y i (n) ovat pelkästään riippuvaisia

Lisätiedot

Osoitin ja viittaus C++:ssa

Osoitin ja viittaus C++:ssa Osoitin ja viittaus C++:ssa Osoitin yksinkertaiseen tietotyyppiin Osoitin on muuttuja, joka sisältää jonkin toisen samantyyppisen muuttujan osoitteen. Ohessa on esimerkkiohjelma, jossa määritellään kokonaislukumuuttuja

Lisätiedot

Sisällys. 3. Muuttujat ja operaatiot. Muuttujat ja operaatiot. Muuttujat. Operaatiot. Imperatiivinen laskenta. Muuttujat. Esimerkkejä: Operaattorit.

Sisällys. 3. Muuttujat ja operaatiot. Muuttujat ja operaatiot. Muuttujat. Operaatiot. Imperatiivinen laskenta. Muuttujat. Esimerkkejä: Operaattorit. 3. Muuttujat ja operaatiot Sisällys Imperatiivinen laskenta. Muuttujat. Nimi ja arvo. Muuttujan nimeäminen. Muuttujan tyyppi.. Operandit. Arvon sijoitus muuttujaan. Aritmeettiset operaattorit. Arvojen

Lisätiedot

3. Muuttujat ja operaatiot 3.1

3. Muuttujat ja operaatiot 3.1 3. Muuttujat ja operaatiot 3.1 Sisällys Imperatiivinen laskenta. Muuttujat. Nimi ja arvo. Muuttujan nimeäminen. Muuttujan tyyppi. Operaattorit. Operandit. Arvon sijoitus muuttujaan. Aritmeettiset operaattorit.

Lisätiedot

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python 8. marraskuuta 2010 Ohjelmointi Perusteet Peruskäsitteitä Olio-ohjelmointi Pythonin alkeet Esittely Esimerkkejä Muuttujat

Lisätiedot

DIGITAALIPIIRISUUNNITTELU ALTERA QUARTUS II 5.0 OHJELMISTOLLA

DIGITAALIPIIRISUUNNITTELU ALTERA QUARTUS II 5.0 OHJELMISTOLLA TAMPEREEN AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma Tietokonetekniikan suuntautumisvaihtoehto DIGITAALIPIIRISUUNNITTELU ALTERA QUARTUS II 5.0 OHJELMISTOLLA Insinöörityö, joka on jätetty opinnäytteenä

Lisätiedot

Operaattoreiden ylikuormitus. Operaattoreiden kuormitus. Operaattoreiden kuormitus. Operaattoreista. Kuormituksesta

Operaattoreiden ylikuormitus. Operaattoreiden kuormitus. Operaattoreiden kuormitus. Operaattoreista. Kuormituksesta C++ - perusteet Java-osaajille luento 5/7: operaattoreiden ylikuormitus, oliotaulukko, parametrien oletusarvot, komentoriviparametrit, constant, inline, Operaattoreiden ylikuormitus Operaattoreiden kuormitus

Lisätiedot