Copyright (c) 2004-2011 text & photos: Jarmo T. Alander all rights reserved
lipas.uwasa.fi/~TAU/AUTO1010:

AUTO1010 DIGITAALITEKNIIKAN PERUSTEET /INTRODUCTION TO DIGITAL ELECTRONICS
5 op / 5 cu
Vastuuopettaja / Course contact teacher: Jarmo Alander
Assistentti / Course assistant: Janne Koljonen
AUTOkansanvitsaus?
Milläs me ennen ohjelmointiin, kun ei ollut Javaa?
Noteboard
7.9.2011:
Tutustumme digitaalitekniikkaan oheisen oppikirjan avulla, jota löytyy muutama
kpl Tritoniasta fyysisenä kirjana sekä myös e-kirjana.
Muutamia käytännön asioita mikrotentteihin liittyen:
- olethan paikalla heti laskuharjoitusten alussa, jotta vältetään turhat myöhästymiset; jos ei ole ajoissa paikalla, niin voi yrittää seuraavaan ryhmään, jos siitäkin myöhästyy, niin sitten suoritus hylätään sillä viikolla
- ensimmäiseen laskariryhmään osallistuville tasoituspiste (jonka siis 1. ryhmään kuuluva menettää jos myöhästyy)
- kullakin viikolla saa osallistua vain yhteen mikrotenttiin
- tehtävät tulevat niin luentomateriaalista (Avainsivu) kuin vastaavasta alueesta oppikirjasta (sivut Avain-sivulla)
- eri laskariryhmillä on eri kysymykset ja saattaa olla, että toisessa on vähän vaikeampia...tai sitten ei... tai ...
- heikoin suoritus jätetään pois lopullisesta arviosta (sisältäen hylätyt ja poissao lot)
- kurssin päätyttyä järjestetään keräilytentti, jolla voi yrittää paikata suoritustaan
6.9.2010:
Syksyllä 2011 pyritään digitaalielektroniikan opintoja edelleen orientoimaan
FPGA-tekniikan ympärille. Tavoitteena on, että kaikilla Vaasasta valmistuvilla
diplomi-insinööreillä olisi ainakin FPGA-tekniikan alkeet hallinnassaan.
WOMPATISTA (päivitetty 14.9.2011):
AUTO1010 Digitaalitekniikan perusteet S2011
Ke 14-16 Viikot 38-38 Salissa F141
Ke 14-16 Viikot 39-39 Salissa F326
Ke 14-16 Viikot 40-40 Salissa F251
Ke 14-16 Viikot 41-41 Salissa F345
Ke 12-14 Viikot 42-42 Salissa F453
Ke 14-16 Viikot 44-44 Salissa F119
Ke 14-16 Viikot 45-45 Salissa F652
Ke 14-16 Viikot 46-46 Salissa F250
Ke 10-12 Viikot 47-47 Salissa F652
Ke 14-16 Viikot 48-48 Salissa F652
Opettaja: Jarmo Alander
AUTO1010R2 Digitaalitekniikan perusteet S2011
To 16-18 Viikot 37-42 Salissa TF4110
To 16-18 Viikot 44-45 Salissa TF4110
Opettaja: Timo Mantere
AUTO1010R1 Digitaalitekniikan perusteet S2011
To 10-12 Viikot 37-39 Salissa TF4110
To 10-12 Viikot 40-40 Salissa TF4109
To 10-12 Viikot 41-42 Salissa TF4110
To 10-12 Viikot 44-45 Salissa TF4110
Opettaja: Timo Mantere
-------------------------------------
3.9.2009:
Kurssilla on uusi oppikirja: Ian Grout:
Digital Systems Design with FPGAs and CPLDs, Newnes, 2008.
Lukujärjestys / timetable
Tarkemmat tiedot (päivitykset) kurssien ajoista yms löytyvät / More information (updated) about the courses
Wompatista / from Wompat .
LINKKI AUTOallakkaan
Lyhyesti / briefly
Oletko kiinnostunut tietokoneen rakenteesta ja toiminnasta?
Kurssi AUTO1010 (ent. TAU.103) Digitaalitekniikka käsittelee digitaalitekniikan perusteita eli kertoo mitä ovat digitaalipiirit, miten niitä suunnitellaan ja miten niistä rakennetaan suurempia kokonaisuuksia esimerkiksi tietokoneiden keskusyksikköjä. Kurssilla opitaan suunnittelemaan ja toteuttamaan VHDL-kielellä ja FPGA-piireillä yksinkertaisia digitaalisia järjestelmiä. Viime vuosina kurssin harjoitustyö on liittynyt online signaalien käsittelyyn kuten videokuvan muokkaukseen FPGA:lla.
Kurssia suositellaan kaikille tietokoneista, automaatiosta ja tietotekniikasta kiinnostuneille. Kurssi sopii erityisen hyvin täydentämään automaation ja tietotekniikan opintoja. Myös signaalien käsittelyn, säädön, robotiikan ja mekatroniikan opintojen perustaksi kurssi sopii hyvin.
Are you interested in architecture and functioning of computers? The course AUTO1010 (formerly TAU.103) Introduction to Digital Electronics deals with basics of digital electronics: how digital devices e.g CPUs are designed and constructed. After the course the students are able to design and simulate simple digital circuits using VHDL-language.
The course is recommended to all interested in computers and automation. The course is especially suited to complement studies of automation and computing, including signal processing, control, robotics, and mechatronics.
Osaamistavoitteet / Learning outcome
Opintojakson suoritettuaan opiskelija osaa: - selittää ja laskea Boolen logiikan perusoperaatioilla
- kuvata ja testata yksinkertaisen digitaalipiirin VHDL-kuvauskielellä
- suunnitella ja optimoida yksinkertaisia veräjä ja kiikkupiirejä
- suunnitella ja toteuttaa yksinkertaisia laskuripiirejä piirikaavioin ja kuvauskielellä
- osaa lukujen esitysmuodot ja yhteenlaskupiirin toiminnan
- kuvata tietokoneen keskusyksikönrakenteen ja toiminnan
- tuntee puolijohdetekniikan alkeet
- tuntee ja osaa soveltaa digitaalisia peruspiirejä
- osaa kuvata perusveräjien rakenteen transistoritasolla
- osaa tehdä kytkentöjä TTL-piireillä
- tuntee FPGA-tekniikan ja osaa toteuttaa sillä yksinkertaisen sovelluksen
Esitiedot / Preliminary courses
Ohjelmointitaito, algebran perusteet
Basic programming skills and basics of algebra.
Tentti / Examination
Tällä kurssilla on käytössä ns. Mikrotentit:
Muutamia käytännön asioita mikrotentteihin liittyen:
- olethan paikalla heti laskuharjoitusten alussa, jotta vältetään turhat myöhästymiset; jos ei ole ajoissa paikalla, niin voi yrittää seuraavaan ryhmään, jos siitäkin myöhästyy, niin sitten suoritus hylätään sillä viikolla
- ensimmäiseen laskariryhmään osallistuville tasoituspiste (jonka siis 1. ryhmään kuuluva menettää jos myöhästyy)
- kullakin viikolla saa osallistua vain yhteen mikrotenttiin
- tehtävät tulevat niin luentomateriaalista Avainsivulle kuin vastaavasta alueesta oppikirjasta (sivut Avain-sivulla)
- eri laskariryhmillä on eri kysymykset ja saattaa olla, että toisessa on vähän vaikeampia...tai sitten ei... tai ...
- kaksi heikointa suoritusta jätetään pois lopullisesta arviosta (sisältäen hylätyt ja poissao lot)
- kurssin päätyttyä järjestetään pari keräilytenttiä, joilla voi yrittää paikata suorituksiaan
Myös perinteinen tenttiminen on mahdollista jos/kun ei selviä kurssista Mikrotenteillä.
Tentissä on 5 kysymystä (a 10pist), joista läpipääsyyn vaaditaan 50% maksimipisteistä (=25).
Tässä tenttilukuvinkkejä:
Tentissä kysytään samantapaisia asioita, joita on ollut laskuharjoituksissa
(ei mikrotenttitehtäviä).
Kannattaa siis kerrata laskuharjoituksia ja katsoa myös aiempien vuosien tehtäviä,
koska laskaritehtävät hieman vaihtelevat, kuten tenttitehtävätkin.
Tyypillisesti tentissä on seuraavan tyyppisiä tehtäviä, jotka siis kannattaa
selvittää osaavansa:
- essee puolijohdetekniikasta (CMOS, NMOS, yms)
- jokin teoriakysymys esim de Morgan
- Karnaugh'n karttalla annetun funktion minimointi
- yksinkertainen piirisuunnittelu (esim. vertailupiiri) ja ratkaisu myös VHDL:llä
- automaaatin suunnittelu tilakaaviosta lähtien Karnaugh'n karttojen avulla (esim. Gray laskuri)
- kysymys FPGA-tekniikasta
Kun ollaan vähitellen siirtymässä sähköiseen tenttimiseen, niin on mahdollista,
että siinä olisi mikrotenttimäisiä kysymyksiä, koska ne on helppo automatisoida.
Tentittääkö muttei ole tenttiä?
Oppikirjat / Text books
Nykyinen oppikirja:
Ian Grout, Digital Systems Design with FPGAs and CPLDs, Newnes, 2008. 724 pages
löytyy Tritoniasta myös e-kirjana.
Myös vanhaa oppikirjaa voi käyttää oheismateriaalina:
- Lars-Hugo Hemert, "Digitala kretsar", Student litteratur.
- R. Lipsett, C. Schaefer & C. Ussery, "VHDL: Elektroniikan kuvaus- ja suunnittelukieli", Hantro ky, 1991.
Lisäksi / In addition:
Luentokalvoja / Some lecture slides (Alander)
Altera FPGA johdantokalvoja / Altera FPGA tutorial slides (Janne Kallio)
Luennot (kalvot) / Lectures (slides)
Aikataulut löytyvät Wompatista / Timetable of lectures can be found in Wompat system.
Kalvot / Slides
Sisältö/ Contents
KURSSIN RUNKO Groutin OPPIKIRJAN MUKAAN:
- Johdanto ohjelmoitavaan logiikkaan / Introduction to programmable logic
- Elektroniikkasuunnittelusta / Electronic systems design
- Piirilevyn suunnittelu / PCB design
- Suunnittelukielistä / Design languages
- Johdanto digitaalielektroniikkasuunnitteluun / Introduction to digital logic design
- Johdanto digitaalielektroniikkasuunnitteluun VHDL:llä / Introduction to digital logic desig with VHDLn
- Johdanto signaalien käsittelyyn / Introduction to digital signal processing
Tämä käsitellään kurssilla AUTO1030 Signaalien käsittely
/
This topic is left for the AUTO course AUTO1030 Signal processing.
- A/D ja D/A muunnokset / Interfacing digital logic to the real world: A/D conversion, D/A conversion, and power electronics
- Elektroniikkatestaus / Testing the electronic system
- Järjestelmäsuunnittelu / System-level design
- WORKING ON ....
KURSSIN AIKAISEMPI RUNKO (Hemert)
- Boolen algebra
- muuttujat, lausekkeet, JA, TAI, EI, XOR, teoreemoja /
variables, clauses, AND, OR, NOT, XOR, theorems
- summien tulo, tulojen summa / product of sums, sum of products
- monotonisuus /monotonicity
- Boolean SAT
- CMOS-tekniikka /technology
- fotolitografia / photolithography
- invertteri / inverter
- NAND, NOR, XOR
- Veräjät /gates
- Yksinkertainen esimerkki veräjäpiiristä:
totuustaulu, piirikaavio, VHDL-kuvaus /
A simple example gate circuit:
truth table, circuit diagram, VHDL model.
- Yksinkertaiset veräjäpiirit /simple combinatorial circuits
- Karnaugh'n kartta ja piirien minimointi / minimisation by Karnaugh's maps
- Hasardit / hazards
- VHDL-kielen perusteet / VHDL basics
- suunnitteluyksikkö eli "laatikkokaavio" / entity
- arkkitehtuuri eli rakenne / architecture
- portti / port:
laitteet (modulit) kytketään porteilla
- process ... wait on
= operaatio ja ajoitus
- laitemallit eli suunnittelunäkökulmat; ei siis valokuva- tms mallit:
- käyttäytymismalli eli funktio "matikka"
- ajoitusmalli eli dynamiikka "fyssa":
heräte - vaste, tapahtumajono
- rakennemalli eli modulaarisuus "tite":
laite voi koostua laitteista, jotka koostuvat laitteista ...
- Lukujen koodaus / encoding of numbers
- Aritmetiikkaa / arithmetics
- Kiikkupiirit / flip-flops
- Laskurit ja tila-automaatit / counters and state automaton
- Muistit / memories
- Konekäskyt / machine instructions
- Prosessorin rakenne (PIC) / Architecture of a simple processor (PIC)
- VLSI-piirien suunnittelu / VLSI design
- AD-muuntimet ml. delta-sigma muunnin / AD converters including delta-sigma converter
- Option: Piirien testaus / testing digital circuits
Laskuharjoitukset / Exercises
Webistä vanhat laskuharjoitustehtävät löytyvät hakemistosta ftp://ftp.uwasa.fi/cs/AUTO/AUTO1010/ pdf-tiedostoina harj*.pdf (vanhoja myös/tai .ps tiedostoina):
Uudet laskuharjoitukset osoitteesta http://lipas.uwasa.fi/~TAU/AUTO1010/ (alla). Syksy/Fall 2011:
Harjoitus /Exercise 1: harj11-1.pdf
Harjoitus /Exercise 2: harj11-2.pdf
Harjoitus /Exercise 3: harj11-3.pdf
Harjoitus /Exercise 4: harj11-4.pdf
Harjoitus /Exercise 5: harj11-5.pdf
Harjoitus /Exercise 6: harj11-6.pdf
Harjoitus /Exercise 7: harj11-7.pdf
Harjoitus /Exercise 8: harj11-8.pdf
Harjoitus /Exercise 9: harj11-9.pdf
Harjoitus /Exercise 10: harj11-10.pdf
Harjoitus /Exercise 11: harj11-11.pdf
Soon available:
Xmas
Huom! VHDL ohjelman voi ladata PC:hen esimerkiksi seuraavasta linkistä: SymphonyEda.
Vanhoja laskuharjoituksia / Old exercises
Syksy/Fall 2010:
Harjoitus /Exercise 1: harj10-1.pdf
Harjoitus /Exercise 2: harj10-2.pdf
Harjoitus /Exercise 3: harj10-3.pdf
Harjoitus /Exercise 4: harj10-4.pdf
Harjoitus /Exercise 5: harj10-5.pdf
Harjoitus /Exercise 6: harj10-6.pdf
Harjoitus /Exercise 7: harj10-7.pdf
Harjoitus /Exercise 8: harj10-8.pdf
Harjoitus /Exercise 9: harj10-9.pdf
Syksy/Fall 2009:
Harjoitus /Exercise 1: harj09-1.pdf
Harjoitus /Exercise 2: harj09-2.pdf
Harjoitus /Exercise 3: harj09-3.pdf
Harjoitus /Exercise 4: harj09-4.pdf
Harjoitus /Exercise 5: harj09-5.pdf
Harjoitus /Exercise 6: harj09-6.pdf
Harjoitus /Exercise 7: harj09-7.pdf
Harjoitus /Exercise 8: harj09-8.pdf
Harjoitus /Exercise 9: harj09-9.pdf
Syksy/Fall 2008:
Harjoitus /Exercise 1: harj08-1.pdf
Harjoitus /Exercise 2: harj08-2.pdf
Harjoitus /Exercise 3: harj08-3.pdf
Harjoitus /Exercise 4: harj08-4.pdf
Harjoitus /Exercise 5: harj08-5.pdf
Harjoitus /Exercise 6: harj08-6.pdf
Harjoitus /Exercise 7: harj08-7.pdf
Harjoitus /Exercise 8: harj08-8.pdf
Harjoitus /Exercise 9: harj08-9.pdf
Syksy/Fall 2007:
Harjoitukset /Exercises 1-2: harj07-1-2.pdf
Harjoitukset /Exercises 3-4: harj07-3-4.pdf
Harjoitukset /Exercises 5-6: harj07-5-6.pdf
Harjoitukset /Exercises 7-9: harj07-7-9.pdf
Syksy/Fall 2006:
Harjoitukset /Exercises 1-2: harj06-1-2.pdf
Harjoitukset /Exercises 3-4: harj06-3-4.pdf
Harjoitukset /Exercises 5-6: harj06-5-6.pdf
Harjoitukset /Exercises 7-8: harj06-7-8.pdf
Harjoitukset /Exercises 9-10: harj06-9-10.pdf (+ kurssivaatimukset ja RIC käskykoodit)
Syksy/Fall 2005:
harj05-1-2.ps tai harj05-1-2.pdf (sama pdf-formaatissa)
harj05-3-4.ps tai harj05-3-4.pdf (sama pdf-formaatissa)
harj05-5-6.ps tai harj05-5-6.pdf (sama pdf-formaatissa)
harj05-7-8.ps tai harj05-7-8.pdf (sama pdf-formaatissa)
Vanhoja laskuharjoituksia / Old exercises (TAU.103)
2004:
harj04-1-2.ps
harj04-3-4.ps
harj04-5-6.ps
harj04-7-8.ps
harj04-9-10.ps
2003:
harj03-1-2.ps
harj03-3-4.ps
harj03-5-6.ps
harj03-7-8.ps
harj03-9-10.ps
Harjoitustyö / Lab work
Yleisesti ottaen harjoitustöiden tehtävänä on mm.
- antaa opiskelijoille mahdollisuus soveltaa teoriaa käytäntöön ja
siten syventää oppimista
- harjoituttaa itsenäisempään työskentelyyn kuin tenttiin lukeminen on
- antaa mahdollisuuden omien ideoiden toteuttamiseen
eli kaikkiaan valmentamaan suunnittelun ja tuotekehityksen tehtäviin.
Käytännössä AUTOmaation harjoitustyöt tehdään ns. problem based learning (PBL)
-menetelmällä eli niissä opitaan käytännön tehtäviä ratkomalla luentoja
syvällisemmin perustaitoja.
Oulun yliopisto: PBL
/
In general the purpose of laboratory work includes, but is not limited to
- give the student the opportunity to apply theory and thus deepen learning
- give the student more freedom than the exam
- give the student the opportunity to develop his/her own ideas
i.e. to prepare the student for product design and development work.
In practise the labworks of AUTOmation are done by the famous problem based learning (PBL)
approach, which gives the student an excellent opportunity to learn basic skills by doing.
Wikipedia: PBL

Harjoitustyöaiheita / Lab work topics
Päivitetty 5.2.2010/jal.
Suositus: kannattaa yhdistää AUTO1010 ja AUTO1030 (signaalien käsittely) harjoitustyöt kaksoistyöksi. Myös muut yhdistelmätyöt mahdollisia. Viime aikoina on keskitytty FPGA:lla toteutettuihin töihin.
Harjoitustyön vaiheet:
- 0: tehtävän valinta ja ryhmiinjako;
- 1: tehtäväpaperin (tehtävän sanallinen kuvaus) palautus
- 2: modulisuunnittelu ja kuvaus VHDL:llä (muista myös sanallinen dokumentointi) Kaikki toteuttavat vertailupiirin kuvauksen ja testauksen (muista myös testipenkki) VHDL:llä ja testauksen FPGA:lla sekä dokumentoinnin.
- 3:
-
-
- n: Testatun ratkaisun dokumentin palautus...
- ICGA-kuvien väritys. Lisätietoja
- Taajuuden mittaus (mittalaitetoteutus / FPGA): laskuri ja kello.
- Mediaanisuodin (voi yhdistää signaalien käsittelyn harjoitustyöhön)
Ohje: verrataan lukupareja ja järjestetään ne suuruusjärjestykseen ja toistetaan, kunnes mediaani ratkaistu.
FPGA-toteutus mahdollisuuksien mukaan kuvankäsittelyyn. - PC-koekytkentälevy (TTL) liitos: luku- ja kirjoitustoiminnot.
- Java-kielinen digitaalipiirin testauslaite (voi yhdistää edelliseen)
- Peli: labyrintti, Karnaugh-kartta tms yksinkertainen peli.
- Matriisioperaatiot (sijoitus, yhteenlasku, transpoosi, ehkä kertolasku) kokonaisluvuille FPGA:lla.
- SAT/FPGA: millä muuttujien arvoilla annettu Boolen lauseke on tosi.
- GA FPGA:lla.
- Piirin minimointi Javalla (GA, random).
- Mikrokontrollerisovellus.
- Kenttäväyläasema (voi yhdistää muihin automaatiokursseihin)
- LEDall II /PIC -prosessori 8x8 LED PWM & master control
- Kvanttilaskentapiiri: perinteisen logiigan korvaaminen XOR-piireillä.
- Äänestyslaite: infrapunasignaalia lähettävä ja vastaanottava laite (vrt. äänestys Haluatko miljonääriksi ohjelmassa)
- MakeUpMeter eli värimittari: päävärien (RGB) mittaus, ADC ja näyttö
- UV-mittari voi olla osa edellistä
- Yksinkertainen delta-sigma muunnin (voidaan yhdistää kursseihin Signaalien käsittely, Digitaalitekniikan jatkokurssi):
Työn vaiheet: - Perehtyminen delta-sigma muuntimeen
- Protopiirin rakentaminen ja testaus
- VHDL-kuvaus yksinkertaisesta delta-sigma-muuntimesta
- VHDL-kuvauksen testaus simulaattorilla
- FPGA-toteutus ja testaus
- Raportointi (edellisten kanssa rinnan)
- Näyttö mittalaitteeseen: Analoginen LED-näyttö (lämpötila, tuulen nopeus, kosteus, paine yms )
Analog LED-display for basic weather units (temperature, wind speed, humidity, pressure)
- Kello: kts. esim: LED-aurinkokello
- Oma-aihe:
- ...

Lähialueiden kursseja / related courses
Seuraavassa listaa kursseista, jotka ovat jotenkin "sukua" tälle kurssille.
/
Next a list of courses that are somehow linked to the topic of this course.
AUTOkurssit / AUTO courses:
Muiden oppiaineiden suositeltavia kursseja:
Recommended courses from other subjects:
Mitä hel... / What FAQ?
- Q: Miksi kurssilla ei ole suomen kielistä digitaalitekniikan oppikirjaa?
/
Why there is no English text book?
A: Tarkoitus on oppia alan sanastoa myös toisella kotimaisella.
Tarvittaessa Tritoniasta löytyy monia englannin kielisiä oppikirjoja.
/
From the science library Tritonia you can find many English text book on
digital electronics.

Aktiviteetteja / activities
Digital measurement device development:
Links
Hardware
Software Companies - Impulse: FPGA software: e.g. C to FPGA
- Local companies:
- Global companies:

Tulevaisuus / Future
We will have activities related to FPGA circuits and especially their programming in signal processing applications.
Kiitokset / acknowledgements
Olli Kanniainen for scanning Mellberg.