Mikroelektronikai áramkörtervezés

A tantárgy angol neve: Microelectronic Circuit Design

Adatlap utolsó módosítása: 2023. március 19.

Budapesti Műszaki és Gazdaságtudományi Egyetem
Villamosmérnöki és Informatikai Kar
BSc, villamosmérnök
Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
VIEEAC06 5 2/2/0/v 5  
3. A tantárgyfelelős személy és tanszék Dr. Horváth Péter,
4. A tantárgy előadója Dr. Horváth Péter, adjunktus, EET
5. A tantárgy az alábbi témakörök ismeretére épít

Mikroelektronika

Elektronika 1.

Digitális technika 1.

Digitális technika 2.

Programozás 1.

Programozás 2.
6. Előtanulmányi rend
Ajánlott:
Mikroelektronika
7. A tantárgy célkitűzése

 A tárgy megismerteti a modern digitális áramkörök tervezésének eszközeit és módszereit. Az összetett digitális funkciót megvalósító rendszerek tervezésének menetét a különböző elvonatkoztatási szinteken használatos formális nyelvű modellek jellegzetességeinek és az azok feldolgozásához használt EDA szoftverrendszerek működésének ismertetésén keresztül mutatja be. A tárgy továbbá áttekintést nyújt az áramköri tervek funkcionális verifikációjának módszereiről, valamint fizikai megvalósításuk lehetséges technológiáiról, beleértve a standard cellás ASIC és programozható logikai áramköröket. Az előadássorozat a feldolgozott témakörök alapján az alábbi részekre bontható:

1.               A digitális tervezés folyamata, a „design-flow”

2.               Rendszertervezés és viselkedési modellezés

3.               Regiszter-transzfer szintű tervezés, hardverleíró nyelvek

4.               Formális nyelvű modellek funkcionális verifikációja

5.               A digitális áramkörök időzítési kérdései

6.               Megvalósítási technológiák

7.               Automatizált áramkörszintézis és fizikai tervezés

 

8. A tantárgy részletes tematikája

Előadások:

1. hét: Digitális rendszertervezés: Absztrakciós szintek, optimalizációs szempontok, a tervezés folyamata, tervezésifolyamat-modellek, iterációk a tervezésben

2. hét: Digitális funkció modellezése magas szintű programozási nyelvekkel: Esettanulmány - Objektumorientált áramköri modellek: OO ISA szimulátorok, alkalmazás-specifikus utasításkészletű processzorhoz illeszthető gyorsító áramkör klaszteranalízis alkalmazásokhoz.

3. hét: Hardverleíró nyelvek, regiszter-transzfer szintű tervezés I.: RTL alapfogalmak, erőforrás-allokáció és ütemezés, a hardverleíró nyelvek (HDL-ek) eredete, a HDL-ek szerepe napjainkban, terminológia, ABEL, VHDL, SystemVerilog, HDL-ek szintetizálható részhalmaza, HDL példák: logikai kapu, félösszeadó, multiplexer, prioritásos enkóder, aritmetikai áramkörök, tri-state buffer

4. hét: Hardverleíró nyelvek, regiszter-transzfer szintű tervezés II.: Egyidejűség és sorrendiség modellezése, szintézis eszközök kódolási konvenciói, HDL példák: D flip-flop, regiszter, shift-regiszter, regisztertömbök, FIFO, éldetektorok, szinkron aritmetika + register balacing, watchdog, késleltetésmérő, FSK modulátor / demodulátor

5. hét: Hardverleíró nyelvek, regiszter-transzfer szintű tervezés III.: Állapotgépek leírási módjai, jellegzetességeik szimulációs és szintézis szempontból, adatfeldolgozó rendszerek modellezése, újrafelhasználhatóság, technológiafüggetlenség, IP-alapú tervezés, a modularitás, lokalitás és regularitás elve az IP tervezésben, RTL tervezési és szintézis technikák űripari alkalmazásokban, nagymegbízhatóságú (fail-safe) állapotgépek, FSM holtpont, egyedi / automatizált H2/3 állapotkódolások

6. hét: Funkcionális verifikáció I.: A verifikáció fogalma, célja és jelentősége, beépülése a digitális rendszertervezés folyamatába, black-box, grey-box, white-box verifikáció, a gerjesztés előállításának módjai (irányított, random, szűkített random tesztek)

7. hét: Funkcionális verifikáció II.: Önellenőrző tesztkörnyezetek, regressziós tesztelés, verifikációs komponensek, debug és error injection interfész, a verifikáció minősítése, lefedési mérőszámok, naplózás, riportgenerálás, verifikációs terv

8. hét: A digitális áramkörök időzítési kérdései: A késleltetések fizikai háttere CMOS áramkörökben, a Liberty adatbázis, a metastabilitás jelensége, kapcsolástechnikai magyarázata dinamikus master/slave D flip-flop esetén, lokális adatutak szerkezete, kritikus út fogalma, időzítési kényszerek típusai, órajelfeltétel, órajel-elcsúszás, lokális jitter, bemeneti/kimeneti késleltetés, időzítési kényszerek formális rögzítése, az SDC formátum.

9. hét: Metastabilitás órajeltartományok határán: CDC, órajel-szinkronizálók: double flopping + éldetektorok, statikus jelek átvitele, visszacsatolatlan és visszacsatolt vektorszinkronizálók, aszinkron dual-clock FIFO, reset-szinkronizálás, fan-out kiegyenlítés, reset-szekvenciák

10. hét: Digitális funkció megvalósításának technológiái: Full-custom ASIC, standard cellás ASIC, PLD-k: konfigurálható összeköttetések, PROM, PLA, CPLD, FPGA

11. hét: RTL szintézis és optimalizáció I.: Az RTL szintézis fogalma, kézi RTL szintézis példák, RTL optimalizációs módszerek, állapotkódolások

12. hét: RTL szintézis és optimalizáció II.: Technológiafüggetlen logikai optimalizáció (constant folding, logikai minimalizálás, factorization, flattening), technológiafüggő logikai optimalizáció (register balacing, komplex kapuk, scan-path insertion), a fizikai szintézis algoritmusai

13. hét (tartalék előadás): RTL optimalizáció és timing closure esettanulmányok I.: szorzó modul optimalizációja, FSM kimeneti logika optimalizációja, hosszú számlánc optimalizációja

14. hét (tartalék előadás): RTL optimalizáció és timing closure esettanulmányok II.: FPGA-k dedikált órajelelosztó hálózatai

 

Gyakorlatok: A tárgy egy konkrét demonstrációs rendszer megtervezésén és megvalósításán keresztül mutatja be a digitális áramkörtervezés gyakorlati oldalát. A demonstrációs rendszer egyaránt tartalmaz adattárolási, kommunikációs és adatfeldolgozási (aritmetikai) feladatokat ellátó IP magokat.

1. hét: Demonstrációs rendszer specifikációjának és rendszertervének elkészítése, funkcionális particionálás, hardver-szoftver interfész definiálása. Kevert elvonatkoztatású (rendszer/RTL) kapcsolási séma készítése magas szintű rendszerterv alapján.

2. hét: Kitérő I.: A logikai szimulációs szoftver megismerése előre elkészített HDL modell és testbench szimulációján keresztül, a hullámforma-megjelenítő konfigurálása.

3-6. hét: Almodulok szintetizálható VHDL / SystemVerilog modelljeinek elkészítése RTL kapcsolási séma és rendszerterv alapján. Almodul-szintű egyszerű tesztkörnyezetek készítése VHDL / SystemVerilog nyelven és hullámforma-alapú funkcionális verifikáció. Toplevel integráció és verifikáció.

7-8. hét: Önellenőrző tesztkörnyezetek készítése VHDL / SystemVerilog nyelven. Szisztematikus toplevel szintű funkcionális verifikáció.

9. hét: Kitérő II.: Áramkörszintézis szoftver megismerése előre elkészített HDL modell szintézisén keresztül, statikus időzítésvizsgálat.

10. hét: Demonstrációs rendszer szintézise FPGA technológiára, statikus időzítésvizsgálat, időzítési optimalizáció, post-place&route időzítési szimuláció.

11-12. hét: FPGA-prototípus tesztelése, egyszerű szoftver-interfész készítése Python nyelven. 

 

9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium)

A tantárgy elméleti anyagát a 2 óra/hét kiméretű előadásokon ismertetjük.

A tárgyhoz tantermi gyakorlat (2 óra/hét) tartozik.

10. Követelmények

Szorgalmi időszakban:

A nagyzárthelyi elégséges szintű teljesítése

A félév során 3 kiszárthelyit íratunk. Az aláírás megszerzéséhez legalább 2 kiszárthelyi elégséges szintű teljesítése szükséges.

Otthoni házi feladat elkészítése (elmélet): Egy kijelölt, szűkebb tématerület szakirodalom alapján való feldolgozása és bemutatása a félév végén.

Otthoni házi feladat elkészítése (gyakorlat): A félév során 3 gyakorlati házi feladatot adunk ki. Az aláírás megszerzéséhez legalább 2 házi feladat elégséges szintű teljesítése szükséges.

 

Vizsgaidőszakban:

A vizsgaidőszakban minden hallgatónak vizsgát kell tennie. A vizsga egy kötelező írásbeli részből és egy opcionális szóbeli részből áll. Az írásbeli részt minden hallgatónak kötelező megírni.

A szóbeli vizsgán minden, legalább elégséges szintet elért hallgatónak lehetősége van egy jegyet javítani. 

11. Pótlási lehetőségek

A nagyzárthelyi a pótlási időszakban egy alkalommal pótolható, második pótlásra nincs lehetőség.

A kiszárthelyik külön-külön nem, csak együttesen pótolhatók a pótlási időszakban.

A házi feladatok késedelmes bemutatására a pótlási időszak végéig van lehetőség.

12. Konzultációs lehetőségek

Zárthelyik ill. vizsganapok előtt az előadókkal történő személyes megbeszélés vagy e-mail képezi a konzultáció alapját.

13. Jegyzet, tankönyv, felhasználható irodalom

Elektronikusan elérhető előadás fóliák, oktató által készített segédanyagok.

Tanszéki elektronikus jegyzetek a tanszéki tanulmányi felületről.

Horváth Péter – Digitális rendszerek modellezése és szintézise, L’Harmattan, 2021, ISBN: 9789634147480.

14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
Kontakt óra56
Félévközi készülés órákra16
Felkészülés zárthelyire18
Házi feladat elkészítése8
Kijelölt írásos tananyag elsajátítása8
Vizsgafelkészülés44
Összesen150
15. A tantárgy tematikáját kidolgozta Dr. Horváth Péter, adjunktus, EET
IMSc tematika és módszer

Az IMSc-s hallgatók számára ugyanazon tananyag és tematika mellett mélyebb, összetettebb feladatok gyakoroltatják ugyanazokat a témaköröket (lásd kijelölt írásos tananyag elsajátítása és házi feladat). Az érdeklődők számára a tárgyon tanultak alkalmazását bemutató, illetve a tárgy tananyagán túlmutató szakmai írásokat teszünk közzé a tárgy honlapján. Ezek egyéni elmélyülésre adnak lehetőséget. Feldolgozásukhoz konzultációk keretében segítséget nyújtunk.

IMSc pontozás

Házi feladat: egy, a hallgató féléves feladatához szorosan nem kapcsolódó, analóg és/vagy digitális áramkörtervezési probléma feldolgozása szakirodalmi források alapján (25 pont).

Az IMSc pontok megszerzése a programban részt nem vevő hallgatók számára is biztosított.