VHDL-kuvauskieli. Digitaalitekniikka (piirit) Luku 17 Sivu 1 (33)
|
|
- Kalle Majanlahti
- 7 vuotta sitten
- Katselukertoja:
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
Digitaalitekniikka (piirit) Metropolia / AKo Pikku nnitteluharjoitus: Suunnitellaan sekvenssipiiri, jolla saadaan numerot juoksemaan seitsensegmenttinäytöllä: VHDL-koodin generointi ASM-kaavioista Tässä
LisätiedotVerilogvs. 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ätiedotSynkronisten 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ätiedotDigitaalitekniikka (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ätiedotDigitaalitekniikka (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ätiedotVHDL 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ätiedotSekvenssipiirin 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ätiedotELEC-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ätiedotSekvenssipiirin 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ätiedotDigitaalilaitteen 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ätiedotHarjoitustehtä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ätiedotAUTO3030 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ätiedotDigitaalitekniikan 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ätiedotAUTO3030 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ätiedot21~--~--~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ätiedot2_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ätiedotV 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ätiedotJava-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ätiedotJava-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ätiedotJoni 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ätiedotEsimerkkitentin 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ätiedotJava-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ätiedotDigitaalitekniikka (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ätiedotVHDL-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ätiedotAlkuarvot 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ätiedotDigitaalitekniikka (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ätiedot13. 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ätiedotDigitaalitekniikka (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ätiedotOhjausjä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ätiedot13. 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ätiedotKoottu 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ätiedotOppikirjan 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ätiedotOhjelmoinnin 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ätiedotOhjelmoinnin 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ätiedotOngelma(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ätiedotTIEP114 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ätiedotBL40A17x0 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ätiedotVHDL/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ätiedotOngelma(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ätiedotMuuttujatyypit 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ätiedotOhjelmoinnin 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ätiedotELEC-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ätiedotATK 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ätiedotOhjelmointiharjoituksia 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ätiedotKielioppia: 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ätiedotTIEP114 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ätiedotIDL - 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ätiedotOhjelmoinnin 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ätiedotOhjelmoinnin 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ätiedotOhjelmoinnin 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ätiedotOhjelmoinnin 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ätiedotDigitaalitekniikan 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ätiedotEhto- 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ätiedotOhjelmointi 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ätiedot1.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ätiedotNumeropelissä 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ätiedot811120P 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ätiedotOhjelmassa 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ätiedotTutoriaalilä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ätiedot815338A 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ätiedotTIEP114 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ätiedotOhjelmoinnin 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ätiedotOhjelmassa 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ätiedotOhjelmoitavat 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ätiedotSisä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ätiedotDigitaalitekniikan 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ätiedot11. 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ätiedotOhjelmoinnin 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ätiedotHarjoitus 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ätiedotChapel. 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ätiedot815338A 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ätiedotSisä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ätiedot20. 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ätiedot16. 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ätiedotSisä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ätiedot18. 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ätiedotPerusteet. 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ätiedot16. 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ätiedotDatatä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ätiedotSe 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ätiedotHarjoitus 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ätiedotSisä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ätiedotSinulle 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ätiedotPython-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ätiedotOhjelmointi 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ätiedotOhjelmointitaito (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ätiedotSisä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ätiedotYhden 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ätiedotJohdatus 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ätiedot1.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ätiedotRatkaisu. 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ätiedotTyyppejä 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ätiedotHohde 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ätiedotBL40A1711 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ätiedotOsoitin 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ätiedotSisä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ätiedot3. 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ätiedotPythonin 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ätiedotDIGITAALIPIIRISUUNNITTELU 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ätiedotOperaattoreiden 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