Opis predmeta
VHDL: vedenjsko in strukturno modeliranje.
Načrtovanje na algoritemskem in registrskem nivoju (RTL).
Metode simulacije in "Testbench".
Modeliranje za sintezo.
Programabilna vezja PLD.
Osnove programabilnih vezij FPGA.
Kompleksna kombinacijska aritmetična vezja v VHDL: paralelni števniki, množilniki.
Načrtovanje končnih avtomatov z VHDL.
Različni načini implementacije končnih avtomatov – upoštevanje specifičnih lastnosti avtomatov.
Implementacija kompleksnega digitalnega sistema v jeziku VHDL.
Asinhronska sekvenčna vezja: sinteza, uporaba.
CORDIC algoritmi. Mikroprocesor.
Predmet učimo na programih
Elektrotehnika 2. stopnja
Cilji in kompetence
Cilj predmeta je študentu predstaviti moderne postopke pri načrtovanju kompleksnejših digitalnih sistemov z uporabo programirljivih elementov (FPGA, CPLD). Prvi del predmeta vključuje segment analize in strukture kompleksnejših kombinacijskih vezij, medtem ko se drugi del predmeta osredotoča na analizo, opisu in načrtovanju sinhronskih vezij (števci, registri) ter algoritemskih avtomatov (ASM) ter zasnovo RISC mikroprocesorja in realizacijo mikroukazov zbirnem jeziku. Predmet daje teoretične in praktične osnove pri načrtovanju in uporabi kompleksnejših digitalnih sistemov z uporabo modernih orodij za sintezo vezij (VHDL).
Metode poučevanja in učenja
Na predavanjih so tako praktične kot tudi teoretično predstavljene osnove obravnavanih poglavij skupaj s prikazom rešitev enostavnih praktičnih primerov. Študentom je na voljo študijski material s podrobno vsebino.
Praktično delo poteka v okviru laboratorijskih vaj, ki se tesno prepletajo z obravnavano tematiko, v katerih se študentje postopoma seznanjajo z obravnavano programirljivo digitalno komponento (FPGA, CPLD) in pripadajočim inštrumentarijem.
Predvideni študijski rezultati
Po uspešno opravljenem modulu naj bi bili študenti zmožni:
– Analizirati in strukturirati odločitvena vezja z uporabo elementov (npr. kodirnik, dekodirnik, primerjalnik) v npr. vzporedni sortirnik,
– Sintetizirati kompleksnejša aritmetična vezja (seštevalnik/odštevalnik, primerjalnik, CLA/RC/Carry Skip/Carry Select/ seštevalnik, aritmetično logična enota in vzporedni seštevalnik, drevesni množilnik),
– Realizirati shranjevalni/pomikalni/univerzalni register ter izvesti različne vezave za izvedbo pomnilnika FIFO/LIFO ter vezij za šifiriranje podatkov (LFSR),
– Realizirati sinhroni/asinhroni dvojiški/BCD/ternarni/kvinarni števec ter izvesti različne vezave modulov/smeri/zaporedij štetja
– Sintetizirati obnašanje kompleksnega Mooreovega avtomata stanj (> 100 stanj), izvesti klasično sintezo avtomata z uporabo RTL gradnikov.
– Sintetizirati algoritemski avtomat stanj (ASM) v HDL in avtomat končnih stanj (FSM), simulirati njegovo delovanje in implementirati v obravnavano programirljivo digitalno komponento (FPGA/CPLD).
– Sintetizirati asinhroni avtomat stanj, simulirati njegovo delovanje in implementirati z uporabo logičnih vrat.
– Sintetizirati in implementirati vgrajeni "soft-core" RISC mikroprocesor, načrtati in z njim povezati periferno enoto in jo programirati v zbirnem jeziku.
Temeljni viri in literatura
- Brown, Stephen D. Vranesic, Zvonko G. "Fundamentals of digital logic with VHDL design", 2005 McGraw-Hill, ISBN 007-246085-7
- Katz, Randy H., Borriello, Gaetano "Contemporary logic design", 2005,
Upper Saddle River: Pearson Prentice Hall, ISBN 0-201-30857-6 - Mano, M. Morris, Kime, Charles R. "Logic and computer design fundamentals", 2008 Upper Saddle River : Pearson Prentice Hall, 978-0-13-206711-9
- Parhami, Behrooz "Computer architecture : from microprocessors to supercomputers", 2005, Oxford University Press, ISBN 0-19-515455-X
- Branko Šter, Ljubo Pipan: Digitalne strukture, Zapiski predavanj, 2008
- Domača stran predmeta / Course homepage: http://ndv.fe.uni-lj.si