V H D L. Very high speed integrated circuits Hardware Description Language
|
|
- Tapio Lattu
- 7 vuotta sitten
- Katselukertoja:
Transkriptio
1 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 suunnittelukielen ( VHDL ) osuus on piirisuunnittelu ( Design entry ). Simuloinnit ja synteesi ovat kääntäjäohjelmiston tehtäviä. VHDL kielellä kuvataan digitaalitaalipiirin toiminta. Kuvaus voidaan tehdä joko rakennekuvauksena ( structual description ) tai käyttäytymiskuvauksena ( behavioral description ). VHDL kielessä ei kuvata pinninumeroita ( kuten esim AbelHDL:ssa ), vaan pinnikytkennät määritellään kääntäjässä
2 VHDL kielen ominaisuuksia: Standardisoitu kieli, IEEE , IEEE , IEEE Laajasti tuettu, ( lähes ) kaikista kääntäjistä löytyy VHDL tuki Laaja, VHDL:llä voidaan kuvata kaikki digitaalipiirit, PLD piireistä prosessoreihin Koodi tekstipohjainen, eli koodia voi kirjoittaa millä hyvänsä tekstieditorilla ( esim. nodepad ) Kuvaus voidaan tehdä: o Rakennekuvauksena ( structual description ) Esitetään logiikan toiminta komponentein ja/tai alemman tason sunnitteluyksiköin Vastaa kuvausta piirikaavio- tai lohkokaaviotasolla o Käyttäytymiskuvauksena ( behavioral description ) Esitetään piirin toiminta Vastaa kuvausta totuustaulun tai tilakaavion avulla EI priorisointia, laskentajärjestys määriteltävä sulkulausekkein! Samassa ohjelmassa ( END ) olevat operaatiot toteutuvat RINNAKKAISESTI!!! Kellotus kuvattava ehtolauseella Ei erottele pieniä ja suuria kirjaimia ( paitsi CHARACTER ) VHDL kielessä on runsaasti varattuja sanoja, tässä ohjeessa VHDL kielen sanat ovat kirjoitettu ISOLLA ja väriltään sinisiä tai punaisia OPERAATTORIT ( keskeisimmät ) : Loogiset operaattorit, Logical operators o AND, OR, NOT, NAND, NOR, XOR, XNOR o Vain NOT operaatio on korkeammalla prioriteetillä, muut prioriteetit määriteltävä sulkulausekkein! Aritmeettiset operaattorit, Arithmetic operators o + = Summa o = Erotus o * = Kertolasku o / = Jakolasku o ** = Potenssiinkorotus o MOD = Jakojäännösvarmistus o REM = Jakojäännös o ABS = Itseisarvo Vertailuoperaattorit, Relations operators o =, /=, <, >, <=, >= Ketjutusoperaattori, Concatenaus operator o &
3 TYYPIT ( Keskeisimmät ) BIT, Bitti o 0, 1 BIT_VECTOR, Bittijono o Esim: 000, , o Bittivektorin käsittely: Esimerkkinä 8- bittinen bittivektori: BIT_VECTOR (1 TO 8) -- Bittijono, LSB ensin BIT_VECTOR (8 DOWNTO 1) -- Bittijono, MSB ensin Ylemmällä rivillä olevassa bittijonossa ensimmäinen bitti on bitti numero yksi ja alemmalla rivillä olevassa bittijonossa bitti numero 1 on viimeinen. Bittijonon yksittäiseen bittiin voidaan viitata antamalla bittijonon nimi lisättynä osoitettavan bitin numero suluissa, esimerkki: Valimuuttuja <= bittijono(5); -- Valimuuttuja:n -- arvoksi asetetaan bittijono:n bitti numero 5 STD_LOGIC, Standardilogiikka o 0 ; 1 ; L ; H = loogiset tilat o X ; W = Ei tunnettu ( 0/1 ; L/H ) o Z = HiZ, korkeaimpedanssinen tila o - = Don t care o U = Uninitialized, Ei alustettu STD_LOGIC_VECTOR, bittijono o Samat tilavaihtoehdot, kuin STD_LOGIC:lla o Käsittely kuten bittivektorilla ( BIT_VECTOR ) BOOLEAN, Totuusarvo o FALSE ; TRUE CHARACTER, Merkki o Esim: a ; A ; 5 STRING, Merkkijono o Esim: abc123 ; tama on merkkijono INTEGER, Kokonaisluku o Esim: 0 ; 1 ; 123 ; -123 ; REAL, Reaaliluku o Esim: 0 ; ; ; 1.23e10 ; -4.53e-8 TIME, Aika [ Testbench ] o Esim: 45ns ; 500ps o Tuetut aikayksiköt: fs.. hr! o Aikamäärittelyt ovat vain testipenkkiä varten, eivät syntetisoidu kääntäjässä!!! o Käytetään testipenkin koodissa yleensä yhdessä WAIT FOR käskyjen kanssa
4 Koodin rakenne: o Tekstipohjainen ( ASCII ) Ensin esitetään käytettävät kirjastot: o Yleisesti tuetut kirjastot: LIBRARY IEEE; o Tämä kirjasto mahdollistaa matemaattiset operaatiot myös bittijonojen kesken ( ei tuettu kaikissa kääntäjissä ): USE IEEE.STD_LOGIC_UNSIGNED.ALL Sitten esitellään suunnitteluyksikkö, ENTITY Esitetään suunnitteluyksikön signaalit ja muuttujat tyyppeineen o PORT = Piiriin kytkettävät signaalit o SIGNAL = Sisäiset signaalit ( Näitä ei kytketä piirin nastoihin ) o VARIABLE = Muuttuja ( sisäinen ) o CONSTANT = Vakio ( sisäinen ) Sitten arkkitehtuuri, ARCHITECTURE o Sijoitusoperaattori: <= o Huom! OUT tyypin muuttujia EI VOI käyttää tulomuuttujina!! Huomioi sulkeet ja puolipisteet.. Useampia ehdon toteuttavia vaihtoehtoja voidaan antaa pystyviivalla: Kommentit erotetaan: -- Esimerkki VHDL kielisestä kuvauksesta, 2 tuloinen AND portti: - Esimerkissä VHDL kielen sanat suurella, kaikkiin koodeihin tuleva sinisellä ja käskyt punaisella LIBRARY IEEE; -- Alkuun aina kirjastomäärittelyt ENTITY kaksituloinen_ja IS -- Suunnitteluyksikön nimi PORT ( -- Piirin pinneihin kytkettäviä a, b: IN BIT; -- Esitellään tulobitit f: OUT BIT); -- Esitellään lähtöbitit END kaksituloinen_ja; ARCHITECTURE toiminto OF kaksituloinen_ja IS f <= a AND b; -- AND funktio, a&b=f END toiminto;
5 HERKKYYSLISTA Herkkyyslistalla voidaan määrittää ne muuttujat, joiden muuttuessa toiminto toteutetaan ARCHITECTURE OF IS PROCESS (... ) IS -- Sulkeiden sisään määräävät muuttujat koodi -- Tässä normaali ohjelmakoodi END PROCESS END EHTOLAUSEET VHDL kielessä on kaksi ehtolauserakennetta, IF ja CASE lauseet IF LAUSE IF lauseessa on kolme peruskäskyä: IF ( Jos ) o IF käsky voi esiintyä vain kerran ehtolausetta kohden ELSIF ( Ellei ja Jos ) ELSE ( Ellei ) Lopuksi END IF; CASE LAUSE CASE lauseessa annetaan jokainen vaihtoehto erikseen Käskyinä: CASE ; WHEN ja END CASE Ehdollinen sijoitus, WHEN Esimerkkinä nelituloisen MUX:n toiminta esitettynä IF ja CASE lausein LIBRARY IEEE; -- Alkuun aina kirjastomäärittelyt ENTITY nelituloinen_vali IS -- Suunnitteluyksikön nimi PORT ( -- Piirin pinneihin kytkettäviä val: IN BIT_VECTOR (1 DOWNTO 0); -- Kaksi ohjausbittiä D1, D1, D2, D3: IN BIT; -- Esitellään tulobitit Q: OUT BIT); -- Esitellään lähtöbitit END nelituloinen_vali; ARCHITECTURE Iffilause OF nelituloinen_vali IS PROCESS ( D0, D1, D2, D3, val ) IS IF val = "00" THEN -- Jos val 00 Q <= D0; -- niin Q saa D0 arvon
6 ELSIF val = "01" THEN -- Jos val 01 Q <= D1; -- niin Q saa D1 arvon ELSIF val = "10" THEN -- Jos val 10 Q <= D2; -- niin Q saa D2 arvon ELSE -- Ellei mikään em. toteudu, niin Q <= D3; -- niin Q saa D3 arvon END IF; -- Lopetetaan IF -lause END Iffilause; ARCHITECTURE Caselause OF 4tuloinen_valitsin IS PROCESS ( D0, D1, D2, D3, val ) IS CASE val IS -- Ohjaava muuttuja on val WHEN 00 => -- Kun val on 00, niin Q <= D0; -- niin Q saa D0 arvon WHEN 01 => -- Kun val on 01, niin Q <= D1; -- niin Q saa D1 arvon WHEN 10 => -- Kun val on 10, niin Q <= D2; -- niin Q saa D2 arvon WHEN 11 => -- Kun val on 11, niin Q <= D3; -- niin Q saa D3 arvon END CASE; -- Lopetetaan IF lause END Caselause; Saman valitsimen voi toteuttaa myös ehdollisen sijoituksen avulla Esittelyosio [ ENTITY END ] sama kuin aiemmissakin ARCHITECTURE Iffilause OF 4tuloinen_valitsin IS PROCESS ( D0, D1, D2, D3, val ) IS Q <= D0 WHEN val = 00 ELSE -- Jos val= 00,niin Q=D0, ellei D1 WHEN val = 01 ELSE -- Jos val= 01,niin Q=D1, ellei D2 WHEN val = 10 ELSE -- Jos val= 10,niin Q=D2, ellei D3 ; -- Muutoin D3 END Iffilause;
7 DYNAAMINEN TULO ( KELLON OHJAAMA TULO ) Kello-ohjatulle tulolle ei ole VHDL:ssa mitään erikoiskäskyä, vaan se toteutetaan ehtolauseen avulla, esimerkki nousevalla reunalla aktiivisesta kellosignaalista: IF kello EVENT AND kello = 1 THEN -- Jos kello:n reuna muuttunut ja kello 1,niin Huom! Kellon IF lauseeseen EI SAA liittää mitään kellotukseen liittymättömiä ehtoja! [ Käytännössä vain kellon enablointi voidaan liittää kellotuksen IF -lauseeseen ] Esimerkkejä herkkyyslistan ja kellotuksen käytöstä: Nousevalla reunalla aktiivinen D kiikku: LIBRARY IEEE; ENTITY D_kiikku IS -- Suunnitteluyksikön nimi PORT ( -- Piirin pinneihin kytkettäviä Kello, D: IN BIT; -- Esitellään tulobitit Q: OUT BIT); -- Esitellään lähtöbitit END D_kiikku; ARCHITECTURE behavior OF D_kiikku IS PROCESS ( Kello ) IS -- Tehdään, kun kello muuttuu IF kello EVENT AND kello = 1 THEN -- Jos kello:n reuna -- muuttunut ja kello 1,niin Q <= D ; -- Sijoitetaan Q:n arvoksi D:n arvo END IF; END behavior; -- Päätetään arkkitehtuuri Asykronisella nollauksella ( 0-aktiivinen ) varustettu T-kiikku: Koska OUT tyyppistä muuttujaa EI VOI käyttää tulomuuttujana, täytyy Q:lle luoda apumuuttuja funktiokäsittelyn mahdollistamiseksi LIBRARY IEEE; -- Alkuun aina kirjastomäärittelyt ENTITY T_kiikku IS -- Suunnitteluyksikön nimi PORT ( -- Piirin pinneihin kytkettäviä Kello, T, Nollaus: IN BIT; -- Tulobitit Q: OUT BIT); -- Lähtöbitit END T_kiikku;
8 ARCHITECTURE behavior OF T_kiikku IS SIGNAL apumuuttuja:bit; -- määritellään apumuuttuja -- Koodi alkaa PROCESS ( Kello, Nollaus ) IS -- Tehdään, kun kello -- tai nollaus muuttuu -- Alikoodi alkaa IF Nollaus = 0 THEN -- Jos nollaus on aktiivinen apumuuttuja <= 0 ; -- apumuuuttuja saa arvon 0 ELSIF kello EVENT AND kello = 0 THEN -- Ellei ja jos kellolla on laskeva reuna, niin IF T = 1 THEN -- Jos T on 1, niin apumuuttuja <= NOT apumuuttuja; -- Invertoidaan apumuut END IF; END IF; Q <= apumuuttuja; -- Nyt Q:n arvoksi sijoitetaan -- apumuuttujan arvo END behavior; -- Päätetään arkkitehtuuri JK kiikku: LIBRARY IEEE; ENTITY JK_kiikku IS -- Suunnitteluyksikön nimi PORT ( -- Piirin pinneihin kytkettäviä JK: IN BIT_VECTOR ( 1 DOWNTO 0 ); -- JK tulo bittiryhmänä Kello, Nollaus: IN BIT; -- Tulobitit Q: OUT BIT); -- Lähtöbitit END JK_kiikku; ARCHITECTURE behavior OF JK_kiikku IS SIGNAL apumuuttuja:bit; -- määritellään apumuuttuja -- Koodi alkaa PROCESS ( Kello, Nollaus ) IS -- Tehdään, kun kello -- tai nollaus muuttuu -- Alikoodi alkaa IF Nollaus = 0 THEN -- Jos nollaus on aktiivinen apumuuttuja <= 0 ; -- apumuuuttuja saa arvon 0 ELSIF kello EVENT AND kello = 1 THEN -- Jos kellolla on nouseva reuna, niin CASE JK IS -- Case käsky bittiryhmän JK mukaan WHEN 00 => NULL ; -- Jos JK 00, niin mitään ei tehdä WHEN 01 => apumuuttuja <= 0 ; -- Jos JK 01, niin -- apumuuttuja saa arvon 0 WHEN 10 => apumuuttuja <= 1 ; -- Jos JK 10, niin
9 -- apumuuttuja saa arvon 1 WHEN 11 => apumuuttuja <= NOT apumuuttuja; -- Jos JK 11, niin invertoidaan apumuuttuja END CASE; -- Lopetetaan Case -lause END IF; Q <= apumuuttuja; -- Nyt Q:n arvoksi sijoitetaan -- apumuuttujan arvo END behavior; -- Päätetään arkkitehtuuri LASKURI esimerkki laskurista ENTITY laskuri IS PORT( kello, nollaus: IN BIT; -- tulot lahto: OUT INTEGER RANGE 0 TO 15); -- lähtö END laskuri; ARCHITECTURE behavior OF laskuri IS SIGNAL apu: INTEGER RANGE 0 TO 15; -- apumuuttuja PROCESS ( kello, nollaus ) IS -- jos kello tai nollaus -- muuttuu, niin IF nollaus = '0' THEN -- jos nollaus aktiivinen apu <= 0; -- niin nollataan ELSIF kello'event AND kello='1' THEN -- jos kello apu <= apu+1; -- lisätään laskurin arvoa END IF; lahto <= apu; -- sijoitetaan apumuuttujan arvo lähtöön END behavior; MUUNNOKSET ERI TYYPPIEN KESKEN BITIN OSOITTAMINEN BITTIRYHMÄSTÄ Bitti tai bittejä bittiryhmästä ( BIT_VECTOR tai STD_LOGIC_VECTOR ) voidaan osoittaa asettamalla ko. bitin tai bittiryhmän bitin tai bittien järjestysnumero sulkeisiin. Esimerkkejä: -- Annetaan Q:n arvoksi bittijono nimisen bittijonon toiseksi vähiten merkitsevä bitti: Q <= bittijono( 1 ); -- Huom! Bitti 0 on LSB -- Annetaan JK kiikun tuloksi bittijono nimisen bittijonotavun kaksi keskimmäistä bittiä: JK <= bittijono( 4 DOWNTO 3 ); VHDL kielessä tyyppimuunnos voidaan toteuttaa CONV käskyllä, onnistuu tiedostotyypistä STD_LOGIC_VECTOR. Muuttunut tyyppi on esiteltävä
10 Esimerkkinä kahden kahdeksanbittisen luvun summain: Bittivektorina: LIBRARY IEEE; -- Alkuun aina kirjastomäärittelyt USE IEEE.STD_LOGIC_UNSIGNED.ALL; -- mahdollistaa matemaattiset -- operaatiot bittijonojen välillä ENTITY summain IS -- Suunnitteluyksikön nimi PORT ( -- Piirin pinneihin kytkettäviä Tulo1, Tulo2 : IN STD_LOGIC_VECTOR ( 7 DOWNTO 0 );-- Tulot, MSB ensin Kello : STD_LOGIC ; Summa : OUT STD_LOGIC_VECTOR ( 7 DOWNTO 0 )); -- Lähtötavu, MSB ensin END summain; ARCHITECTURE summmain OF summain IS -- Esittelyt PROCESS ( Kello ) -- Jos kello muuttuu IF kello'event AND kello = '1' THEN -- jos kellolla nouseva reuna summa <= Tulo1 + Tulo2 ; -- Summaus END IF; -- Päätetään IF -lause -- Päätetään herkkyyyslistan lause END summmain; Kokonaislukuna: LIBRARY IEEE; -- Alkuun aina kirjastomäärittelyt ENTITY summain IS -- Suunnitteluyksikön nimi PORT ( -- Piirin pinneihin kytkettäviä Tulo1, Tulo2 : IN INTEGER RANGE 0 to 255 ; -- Tulot Kello : STD_LOGIC ; Summa : OUT INTEGER RANGE 0 to 511 ); -- Lähtö END summain; ARCHITECTURE summmain OF summain IS -- Esittelyt PROCESS ( Kello ) -- Jos kello muuttuu IF kello'event AND kello = '1' THEN -- jos kellolla nouseva reuna summa <= Tulo1 + Tulo2 ; -- Summaus kokonaisluvuilla END IF; -- Päätetään IF -lause -- Päätetään herkkyyyslistan lause END summmain;
11 Kertolasku: LIBRARY IEEE; -- Alkuun aina kirjastomäärittelyt USE IEEE.STD_LOGIC_UNSIGNED.ALL; -- mahdollistaa matemaattiset -- operaatiot bittijonojen välillä ENTITY kertoja IS -- Suunnitteluyksikön nimi PORT ( -- Piirin pinneihin kytkettäviä Luku1, Luku2 : IN STD_LOGIC_VECTOR ( 3 DOWNTO 0 );-- Tulot, MSB ensin Kello : STD_LOGIC ; Tulo : OUT STD_LOGIC_VECTOR ( 7 DOWNTO 0 )); -- Lähtötavu, MSB ensin END kertoja; ARCHITECTURE kertoja OF kertoja IS -- Esittelyt PROCESS ( Kello ) -- Jos kello muuttuu IF kello'event AND kello = '1' THEN -- jos kellolla nouseva reuna Tulo <= Luku1 * Luku2 ; -- Tulo END IF; -- Päätetään IF -lause -- Päätetään herkkyyyslistan lause END kertoja;
12 KOMPONENTTI ja KOMPONENTIN KÄYTTÖ Mutkikkaampien komponenttien, kuten kiikkujen ja siirtorekistereiden kuvaaminen useamman kerran samassa prosessissa ei ole tarpeen, vaan kuvaus voidaan määrittää komponentiksi, jolloin sitä voidaan käyttää kuten komponenttia, määritellään tuloihin tulevat ja lähdöistä lähtevät komponentit. Komponentiksi voidaan määrittää myös toiminnallisia lohkoja, jolloin kuvaus siirtyykin lohkokaaviotasolle Rakenne: -- Esitellään kytkennän tulot ja lähdöt ENTITY vimpain IS -- Suunnitteluyksikön nimi PORT ( -- Piirin pinneihin kytkettäviä?,?: IN BIT; -- Esitellään tulobitit?,?: OUT BIT); -- Esitellään lähtöbitit END vimpain; ARCHITECTURE struktuuri OF vimpain IS -- Esitellään käytettävät komponentit COMPONENT komponentin_nimi PORT (?,? : IN BIT;? : OUT BIT); END COMPONENT; -- Muutkin komponentit samaan tyyliin -- Seuraavaksi esitellään sisäiset signaalit SIGNAL?,? : BIT; -- Sitten itse asiaan, eli määritellään kytkennät u1: komponentin_nimi PORT MAP(? =>?,? =>? ); jne -- Esitetään kytkennät signaalinimien avulla -- Kaikkien komponenttien kytkennät samalla tavalla END struktuuri;
13 Esimerkkinä seuraavanlainen tilakone:
14 -- Ensiksi esitetään käytettävät kirjastot LIBRARY IEEE; -- Sitten esitellään komponentit ENTITY kaksituloinen_tai IS -- Suunnitteluyksikön nimi PORT ( -- Piirin pinneihin kytkettäviä a, b: IN BIT; -- Esitellään tulobitit f: OUT BIT); -- Esitellään lähtöbitit END kaksituloinen_tai; ARCHITECTURE toiminto OF kaksituloinen_tai IS f <= a OR b; -- AND funktio, a+b=f END toiminto; ENTITY Invertteri IS -- Suunnitteluyksikön nimi PORT ( -- Piirin pinneihin kytkettäviä a: IN BIT; -- Esitellään tulobitit f: OUT BIT); -- Esitellään lähtöbitit END Invertteri; ARCHITECTURE toiminto OF Invertteri IS f <= NOT a; END toiminto; ENTITY JK_kiikku IS -- Suunnitteluyksikön nimi PORT ( -- Piirin pinneihin kytkettäviä JK: IN BIT_VECTOR ( 1 DOWNTO 0 ); -- JK tulo bittiryhmänä Kello: IN BIT; -- Tulobitit Q: OUT BIT); -- Lähtöbitit END JK_kiikku; ARCHITECTURE behavior OF JK_kiikku IS SIGNAL apumuuttuja:bit; -- määritellään apumuuttuja -- Koodi alkaa PROCESS ( Kello ) IS -- Tehdään, kun kello muuttuu -- Alikoodi alkaa IF kello EVENT AND kello = 1 THEN -- Jos kellolla on nouseva reuna, niin CASE JK IS -- Case käsky bittiryhmän JK mukaan WHEN 00 => NULL ; -- Jos JK 00, niin mitään ei tehdä WHEN 01 => apumuuttuja <= 0 ; -- Jos JK 01, niin -- apumuuttuja saa arvon 0 WHEN 10 => apumuuttuja <= 1 ; -- Jos JK 10, niin -- apumuuttuja saa arvon 1 WHEN 11 => apumuuttuja <= NOT apumuuttuja; -- Jos JK 11, niin invertoidaan apumuuttuja END CASE; -- Lopetetaan Case -lause END IF; Q <= apumuuttuja; -- Nyt Q:n arvoksi sijoitetaan -- apumuuttujan arvo END behavior; -- Päätetään arkkitehtuuri
15 -- Tilakoneen kytkentä esitetään ENTITY Tilakone IS -- Suunnitteluyksikön nimi PORT ( -- Piirin pinneihin kytkettäviä Y, clk : IN BIT; -- Esitellään tulobitit M, N: OUT BIT); -- Esitellään lähtöbitit END Tilakone; -- sitten kytkennät ARCHITECTURE struktuuri OF tilakone IS -- Esitellään käytettävät komponentit COMPONENT Kaksituloinen_tai PORT (a, b : IN BIT; f : OUT BIT); END COMPONENT; COMPONENT Invertteri PORT (a : IN BIT; f : OUT BIT); END COMPONENT; COMPONENT JK_kiikku PORT (JK : IN BIT_VECTOR; kello: IN BIT; Q : OUT BIT); END COMPONENT; -- Seuraavaksi esitellään sisäiset signaalit SIGNAL apu1, apu2, apu3 : BIT; -- Sitten itse asiaan, eli määritellään kytkennät u1: Invertteri PORT MAP( a => Y, f => apu1 ); u2: kaksituloinen_tai PORT MAP ( a => apu1, b => apu3, f => apu2 ); u3: JK_kiikku PORT MAP ( JK(1) => apu2, JK(0) => apu2, Q => M, kello => clk ); u4: JK_kiikku PORT MAP ( JK(1) => Y, JK(0) => Y, Q => apu3, kello => clk ); N <= apu3; END struktuuri;
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ä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ätiedotVHDL-kuvauskieli. Digitaalitekniikka (piirit) Luku 17 Sivu 1 (33)
Digitaalitekniikka (piirit) Luku 7 Sivu (33) Digitaalitekniikka (piirit) Luku 7 Sivu 2 (33) Johdanto Tässä luvussa esitellään laitteiston kuvauskielet ja niistä erityisesti VHDL esitetään VHDL-kuvauskielen
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ätiedotASM-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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ä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ätiedotTietotyypit ja operaattorit
Tietotyypit ja operaattorit Luennossa tarkastellaan yksinkertaisten tietotyyppien int, double ja char muunnoksia tyypistä toiseen sekä esitellään uusia operaatioita. Numeeriset tietotyypit ja muunnos Merkkitieto
LisätiedotFortran 90/95. + sopii erityisesti numeriikkaan:
Fortran 90/95 + sopii erityisesti numeriikkaan: + optimoivat kääntäjät tehokas koodi + mukana valmiiksi paljon varusfunktioita + kompleksiluvut + taulukko-operaatiot + operaattorit laajennettavissa myös
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ätiedotJavascript 2: Ohjelmointikielen ominaisuudet. Jaana Holvikivi Metropolia
Javascript 2: Ohjelmointikielen ominaisuudet Jaana Holvikivi Metropolia HTML - sivun rakenne ja osiot HTML HEAD STYLE SCRIPT STYLEsheet Javascript file BODY Javascript
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ätiedotLOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100
Tiedonsiirtokäskyt LOAD LOAD-käsky toimii jälkimmäisestä operandista ensimmäiseen. Ensimmäisen operandin pitää olla rekisteri, toinen voi olla rekisteri, vakio tai muistiosoite (myös muuttujat ovat muistiosoitteita).
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ä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ä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ä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ä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ä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ätiedotSisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä
Sisällys 11. Javan toistorakenteet Laskuri- ja lippumuuttujat.. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin lopettaminen break-lauseella.
LisätiedotRacket ohjelmointia osa 2. Tiina Partanen Lielahden koulu 2014
Racket ohjelmointia osa 2 Tiina Partanen Lielahden koulu 2014 Sisältö 1) Funktiot ja muuttujat (kertaus) 2) Animaatiot & pelit (big-bang) 3) Vertailuoperaattorit sekä boolean arvot 4) Tietorakenteet (struct)
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ä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ä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ätiedotkwc Nirni: Nimen selvennys : ELEKTRONIIKAN PERUSTEET 1 Tentti La / Matti Ilmonen / Vastaukset kysymyspapereille. 0pisk.
Tentti La 20.01.2001 / Matti Ilmonen / Vastaukset kysymyspapereille. Nirni: Nimen selvennys : 1 2 3 4 5 z -.. 0pisk.no: ARVOSANA 1. Selvita lyhyesti seuraavat kiitteet ( kohdat a... j ) a) Kokosummain?
Lisätiedotc) loogiset funktiot tulojen summana B 1 = d) AND- ja EXOR-porteille sopivat yhtälöt
IGITLITEKNIIKK I 5 Tentti:.. ELEKTRONIIKN LORTORIO Henkilötunnus - KT Σ. Kaksituloisen multiplekserin toimintaa kuvaa looginen funktio = +. Esitä a) :n toiminta K-kartalla (,5 p) b) minimoituna summien
LisätiedotC-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. Operaatioiden suoritusjärjestys
Loogisia operaatioita - esimerkkejä Tänään on lämmin päivä ja perjantai Eilen satoi ja oli keskiviikko tai tänään on tiistai. On perjantai ja kello on yli 13 Ei ole tiistai tai ei sada. Ei pidä paikkaansa,
Lisätiedot1. luento. Ohjelmointi (C) T0004 Syksy 2003. 1. luento. 1. luento. 1. luento. 1. luento. kurssin sisältö ja tavoitteet työmuodot.
EVTEK Teknillinen ammattikorkeakoulu Ohjelmointi (C) T0004 Syksy 2003 Olli Hämäläinen kurssin sisältö ja tavoitteet työmuodot luennot 1-2/2003 laboratorioharjoitukset 1-2/2003 kotitehtävät, laboratoriokerrat
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 peruskurssi Y1
Ohjelmoinnin peruskurssi Y1 CSE-A1111 30.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 30.9.2015 1 / 27 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.
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ä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ä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ätiedotTähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python
Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python 31. tammikuuta 2009 Ohjelmointi Perusteet Pythonin alkeet Esittely Esimerkkejä Muuttujat Peruskäsitteitä Käsittely
LisätiedotVIII. Osa. Liitteet. Liitteet Suoritusjärjestys Varatut sanat Binääri- ja heksamuoto
Osa VIII Liitteet Liitteet A B C Suoritusjärjestys Varatut sanat Binääri- ja heksamuoto Osa VIII A. Liite Operaattoreiden suoritusjärjestys On tärkeää ymmärtää, että operaattoreilla on prioriteettinsa,
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ätiedotLuonnollisten lukujen laskutoimitusten määrittely Peanon aksioomien pohjalta
Simo K. Kivelä, 15.4.2003 Luonnollisten lukujen laskutoimitusten määrittely Peanon aksioomien pohjalta Aksioomat Luonnolliset luvut voidaan määritellä Peanon aksioomien avulla. Tarkastelun kohteena on
LisätiedotF = AB AC AB C C Tarkistus:
Digitaalitekniikka I, tenttitehtäviä ratkaisuineen I 3..995 2. c) esitä seuraava funktio kanonisten summien tulona f(,,) = + Sovelletaan DeMorganin teoreemaa (työläs). Teoriaminimointia ei ole käytetty!
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ätiedotElektroniikan laboratorio Lisätehtävät 17.9.2003. Mallivastauksia
OULUN YLIOPISTO IGITLITEKNIIKK I Elektroniikan laboratorio Lisätehtävät 7.9. Mallivastauksia. Mitkä loogiset operaatiot oheiset kytkennät toteuttavat? Vihje: kytkin johtaa, kun ohjaava signaali =. Käytä
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ätiedotPHP tehtävä 3 Atte Pekarinen TIKT13A 4.12.2014
PHP-kielen perusteet 3.1 Mitä tarkoittaan heredoc? Milloin sitä kannattaa käyttää? Kirjoita esimerkki sen käyttämisestä. Heredoc on ominaisuus PHP-koodaamisessa, jolla voidaan kirjoittaa pitkiä tekstejä
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 15.2.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.2.2010 1 / 46 Merkkijonot Merkkijonojen avulla ohjelmassa voi esittää tekstitietoa, esim. nimiä, osoitteita ja
LisätiedotHarjoitustyö: virtuaalikone
Harjoitustyö: virtuaalikone Toteuta alla kuvattu virtuaalikone yksinkertaiselle olio-orientoituneelle skriptauskielelle. Paketissa on testaamista varten mukana kaksi lyhyttä ohjelmaa. Ohjeita Noudata ohjelman
LisätiedotJava-kielen perusteet
Java-kielen perusteet String-merkkijonoluokka 1 Ohjelmointikielten merkkijonot Merkkijonot ja niiden käsittely on välttämätöntä ohjelmoinnissa Valitettavasti ohjelmointikielten tekijät eivät tätä ole ottaneet
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ätiedot5/20: Algoritmirakenteita III
Ohjelmointi 1 / syksy 2007 5/20: Algoritmirakenteita III Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/17 Tämän
LisätiedotELEC-A4010 Sähköpaja Arduinon ohjelmointi. Jukka Helle
ELEC-A4010 Sähköpaja Arduinon ohjelmointi Jukka Helle Arduino UNO R3 6-20VDC 5VDC muunnin 16 MHz kideoskillaattori USB-sarjamuunnin (ATmega16U2) ATmega328 -mikro-ohjain 14 digitaalista I/O väylää 6 kpl
LisätiedotOpas toimilohko-ohjelmointiin
Opas toimilohko-ohjelmointiin Automaation tietotekniikka 2011 15. elokuuta 2011 Dokumentin versio Versio Pvm Muutokset Muuttaja 0.1 8.11.2010 Ensimmäinen versio Miika-Petteri Matikainen 0.1.1 12.11.2010
Lisätiedot1. Algoritmi 1.1 Sisällys Algoritmin määritelmä. Aiheen pariin johdatteleva esimerkki. Muuttujat ja operaatiot (sijoitus, aritmetiikka ja vertailu). Algoritmista ohjelmaksi. 1.2 Algoritmin määritelmä Ohjelmointi
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ä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ä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ä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ätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 1.4.2009 T-106.1208 Ohjelmoinnin perusteet Y 1.4.2009 1 / 56 Tentti Ensimmäinen tenttimahdollisuus on pe 8.5. klo 13:00 17:00 päärakennuksessa. Tämän jälkeen
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ätiedotAlgoritmit 1. Demot Timo Männikkö
Algoritmit 1 Demot 1 31.1.-1.2.2018 Timo Männikkö Tehtävä 1 (a) Algoritmi, joka tutkii onko kokonaisluku tasan jaollinen jollain toisella kokonaisluvulla siten, että ei käytetä lainkaan jakolaskuja Jaettava
Lisätiedot12. Javan toistorakenteet 12.1
12. Javan toistorakenteet 12.1 Sisällys Yleistä toistorakenteista. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirheitä. Silmukan rajat asetettu
LisätiedotSisällys. 12. Monimuotoisuus. Johdanto. Alityypitys. Johdanto. Periytymismekanismi määrittää alityypityksen.
Sisällys 12. Monimuotoisuus Johdanto. Periytymismekanismi määrittää alityypityksen. Viitteiden sijoitus ja vertailu. Staattinen ja dynaaminen. Parametrinvälitys eräs monimuotoisuuden sovellus.. Rajapinnat
LisätiedotTietuetyypin määrittely toteutetaan C-kielessä struct-rakenteena seuraavalla tavalla:
KERTAUSTEHTÄVIÄ Tietue Tietuetyypin määrittely toteutetaan C-kielessä struct-rakenteena seuraavalla tavalla: struct henkilotiedot char nimi [20]; int ika; char puh [10]; ; Edellä esitetty kuvaus määrittelee
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ä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ätiedotUML -mallinnus TILAKAAVIO
UML -mallinnus TILAKAAVIO SISÄLLYS 3. Tilakaavio 3.1 Tilakaavion alku- ja lopputilat 3.2 Tilan nimi, muuttujat ja toiminnot 3.3 Tilasiirtymä 3.4 Tilasiirtymän vai tilan toiminnot 3.5 Tilasiirtymän tapahtumat
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ätiedot12. Javan toistorakenteet 12.1
12. Javan toistorakenteet 12.1 Sisällys Yleistä toistorakenteista. Laskurimuuttujat. While-, do-while- ja for-lauseet. Laskuri- ja lippumuuttujat. Tyypillisiä ohjelmointivirheitä. Silmukan rajat asetettu
LisätiedotSystem.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);
Kysy Karilta tai Kimmolta, jos tehtävissä on jotain epäselvää. Kerro WETOon liittyvät ongelmat suoraan Jormalle sähköpostitse (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida ja
LisätiedotEsimerkki 1: Kahviautomaatti.
Esimerkki 1: Kahviautomaatti. ÄÄRELLISET AUTOAATIT JA SÄÄNNÖLLISET KIELET 2.1 Tilakaaviot ja tilataulut Tarkastellaan aluksi tietojenkäsittelyjärjestelmiä, joilla on vain äärellisen monta mahdollista tilaa.
LisätiedotKombinatorisen logiikan laitteet
Kombinatorisen logiikan laitteet Kombinatorinen logiikka tarkoittaa logiikkaa, jossa signaali kulkee suoraan sisääntuloista ulostuloon Sekventiaalisessa logiikassa myös aiemmat syötteet vaikuttavat ulostuloon
LisätiedotL models. Vaatimusmäärittely. Ryhmä Rajoitteiset
Teknillinen Korkeakoulu T-76.5 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija L models Vaatimusmäärittely Ryhmä Rajoitteiset Versio Päivämäärä Tekijä Muutokset
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ätiedotMuistutus aikatauluista
Muistutus aikatauluista (Nämä eivät välttämättä koske avoimen yo:n opiskelijoita Erkki Kailan rinnakkaisella kurssilla) Luento 1: kotitehtävät sulkeutuvat 20.9 12:00, ennen tutoriaalia Tutoriaali 1 sulkeutuu
LisätiedotString-vertailusta ja Scannerin käytöstä (1/2) String-vertailusta ja Scannerin käytöstä (2/2) Luentoesimerkki 4.1
String-vertailusta ja Scannerin käytöstä (1/2) Vertailuja tehdessä törmätään usein tilanteeseen, jossa merkkijonoa (esimerkiksi merkkijonomuuttujaa) pitää vertailla toiseen merkkijonoon. Tällöin tavanomainen
LisätiedotWeb-teknologiat. XML-datan kysely Topi Sarkkinen
Web-teknologiat XML-datan kysely Topi Sarkkinen Sisältö XML (lyhyesti) XPath XQuery XSLT XML Extensible Markup Language Ihmisten ja koneiden luettava metakieli, jolla voidaan määritellä muitakin kieliä
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ä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ätiedotSystem.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);
Mikäli tehtävissä on jotain epäselvää, laita sähköpostia vastuuopettajalle (jorma.laurikkala@uta.fi). Muista nimetä muuttujat hyvin sekä kommentoida ja sisentää koodisi. Ohjelmointitehtävien osalta palautetaan
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ätiedotMuuttujat ja kontrolli. Ville Sundberg
Muuttujat ja kontrolli Ville Sundberg 14.9.2007 Alkeistyyppi Alin abstraktiotaso josta tarvitsee välittää Yksittäinen, jakamaton tiedonjyvä Tavallaan kaikki alkeistyypit ovat lukuja arvojoukko vaihtelee
LisätiedotDigitaalitekniikan perusteet
HAMK Riihimäki Versio 1.0 Väinö Suhonen Digitaalitekniikan perusteet Loogiset funktiot ja portit Kombinaatiologiikan elimiä Rekisterilogiikan perusteet Rekisteri- ja sekvenssilogiikan elimiä ena up/ down
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ätiedotetunimi, sukunimi ja opiskelijanumero ja näillä
Sisällys 1. Algoritmi Algoritmin määritelmä. Aiheen pariin johdatteleva esimerkki. ja operaatiot (sijoitus, aritmetiikka ja vertailu). Algoritmista ohjelmaksi. 1.1 1.2 Algoritmin määritelmä Ohjelmointi
Lisätiedot