Összetett feladatok megoldása

Hasonló dokumentumok
Digitális technika VIMIAA02 7. hét Fehér Béla BME MIT

Digitális technika VIMIAA02 7. hét

SZORGALMI FELADAT. 17. Oktober

Digitális technika VIMIAA01

Adatfeldolgozó rendszer tervezése funkcionális elemekkel

5. KOMBINÁCIÓS HÁLÓZATOK LEÍRÁSÁNAK SZABÁLYAI

Digitális technika (VIMIAA02) Laboratórium 4

Digitális technika (VIMIAA02) Laboratórium 4

Véges állapotú gépek (FSM) tervezése

Digitális technika II. (vimia111) 5. gyakorlat: Tervezés adatstruktúra-vezérlés szétválasztással, vezérlőegység generációk

Számlálók, adatfeldolgozó egységek

Véges állapotú gépek (FSM) tervezése

Digitális technika VIMIAA02 9. hét Fehér Béla BME MIT

Digitális technika VIMIAA02 9. hét

A fealdatot két részre osztjuk: adatstruktúrára és vezérlőre

Digitális technika (VIMIAA01) Laboratórium 4

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Digitális technika (VIMIAA02) Laboratórium 3

PWM elve, mikroszervó motor vezérlése MiniRISC processzoron

Digitális technika (VIMIAA02) Laboratórium 3

Véges állapotú gépek (FSM) tervezése

Digitális technika VIMIAA01 5. hét

Digitális technika (VIMIAA02) Laboratórium 5

Digitális technika (VIMIAA02) Laboratórium 5

Digitális technika (VIMIAA02) Laboratórium 5.5

Digitális technika VIMIAA hét

Digitális technika VIMIAA hét

Digitális technika VIMIAA01 5. hét Fehér Béla BME MIT

Laborgyakorlat 3 A modul ellenőrzése szimulációval. Dr. Oniga István

Digitális Technika. Dr. Oniga István Debreceni Egyetem, Informatikai Kar

Digitális Technika. Dr. Oniga István Debreceni Egyetem, Informatikai Kar

Digitális technika II. (vimia111) 5. gyakorlat: Mikroprocesszoros tervezés, egyszerű feladatok HW és SW megvalósítása gépi szintű programozással

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT

Digitális technika VIMIAA01 9. hét

A feladatokat önállóan, meg nem engedett segédeszközök használata nélkül oldottam meg: Olvasható aláírás:...

Digitális rendszerek. Mikroarchitektúra szintje

Digitális technika VIMIAA01 6. hét Fehér Béla BME MIT

b. Következő lépésben egészítse ki az adatstruktúrát a teljes rendezéshez szükséges további egységekkel és készítse el a teljes mikroprogramot!

Bevezetés az informatikába

1. Kombinációs hálózatok mérési gyakorlatai

Szekvenciális hálózatok és automaták

SZÁMÍTÓGÉPEK BELSŐ FELÉPÍTÉSE - 1

Beágyazott és Ambiens Rendszerek Laboratórium BMEVIMIA350. Mérési feladatok az 1., 2. és 3. mérési alkalomhoz

Adatok ábrázolása, adattípusok

1. Kombinációs hálózatok mérési gyakorlatai

LOGIKAI TERVEZÉS HARDVERLEÍRÓ NYELVEN. Dr. Oniga István

2) Tervezzen Stibitz kód szerint működő, aszinkron decimális előre számlálót! A megvalósításához

Bevezetés az informatikába

Digitális technika VIMIAA02 6. EA Fehér Béla BME MIT

Komputeralgebra Rendszerek

Digitális technika VIMIAA02

Digitális technika VIMIAA02

Alapvető polinomalgoritmusok

Számítógépek felépítése, alapfogalmak

Programozási nyelvek 6. előadás

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II.

Digitális technika (VIMIAA02) Laboratórium 1


A feladatokat önállóan, meg nem engedett segédeszközök használata nélkül oldottam meg. Olvasható aláírás:...minta VIZSGA...

A tervfeladat sorszáma: 1 A tervfeladat címe: ALU egység 8 regiszterrel és 8 utasítással

Digitális technika (VIMIAA02) Laboratórium 1

A/D és D/A konverterek vezérlése számítógéppel

Digitális technika VIMIAA02 6. EA

Digitális technika Laboratórium 6.

Dr. Oniga István DIGITÁLIS TECHNIKA 8

A gyakorlatokhoz kidolgozott DW példák a gyakorlathoz tartozó Segédlet könyvtárban találhatók.

Diszkrét matematika I.

LOGIKAI TERVEZÉS HARDVERLEÍRÓ NYELVEN. Előadó: Dr. Oniga István

Nagy Gergely április 4.

ISE makró (saját alkatrész) készítése

7.hét: A sorrendi hálózatok elemei II.

funkcionális elemek regiszter latch számláló shiftregiszter multiplexer dekóder komparátor összeadó ALU BCD/7szegmenses dekóder stb...

Digitális technika VIMIAA01

I. A DIGITÁLIS ÁRAMKÖRÖK ELMÉLETI ALAPJAI

Digitális technika VIMIAA01

Verilog HDL ismertető 2. hét : 1. hét dia

Bevezetés a számítástechnikába

Kombinációs áramkörök modelezése Laborgyakorlat. Dr. Oniga István

A mikroprocesszor felépítése és működése

Digitális technika VIMIAA01

Karakteres LCD kijelző használata MiniRISC processzoron

Digitális Technika. Dr. Oniga István Debreceni Egyetem, Informatikai Kar

Logikai áramkörök. Informatika alapjai-5 Logikai áramkörök 1/6

Segédlet az Informatika alapjai I. című tárgy számrendszerek fejezetéhez

Készítette: Nagy Tibor István

Újrakonfigurálható eszközök

I. C8051Fxxx mikrovezérlők hardverfelépítése, működése. II. C8051Fxxx mikrovezérlők programozása. III. Digitális perifériák

Verilog HDL ismertető 4. hét : hét dia

Az INTEL D-2920 analóg mikroprocesszor alkalmazása

Specifikáció. B logikai formula, a bemeneti feltétel, K logikai formula, a kimeneti feltétel, A az algoritmus, amelyre az állítás vonatkozik.

A félév során előkerülő témakörök

Verilog HDL ismertető

BASH SCRIPT SHELL JEGYZETEK

DSP architektúrák dspic30f család memória kezelése

Digitális technika VIMIAA02 1. EA Fehér Béla BME MIT

Egyszerű RISC CPU tervezése

4. hét: Ideális és valódi építőelemek. Steiner Henriette Egészségügyi mérnök

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

DIGITÁLIS TECHNIKA feladatgyűjtemény

Átírás:

Összetett feladatok megoldása F1. A laboratóriumi feladat a legnagyobb közös osztó kiszámító algoritmusának realizálása digitális hardver eszközökkel. Az Euklideszi algoritmus alapja a maradékos osztás, azaz az lnko(a,b) a következőképpen számítható : a = b * q1 + r1 b = r1 * q2 + r2 r1 = r2 * q3 + r3 r1 = a % b r2 = b % r1 r3 = r1 % r2 ahol bb > r1 > r2 > r3 >=0 és a % a Verilog moduló osztás művelet eredménye. Mivel a % operátor nem szintetizálható, ezért egyszerűbb algoritmussal dolgozunk. lnko(a,b) = lnko (a-b, b) ha a > b lnko(a,b) = lnko (a, b-a) ha b > a A számítási lépéseket addig folytatjuk, amíg a két regiszter tartalma egyenlővé válik, amikor a regiszterek tartalma az lnko értékét adja. Tervezzük meg az lnko (a,b) számítását végző digitális rendszert! A digitális rendszert az alábbi általános adatstruktúra vezérlő szerinti felépítéssel valósítjuk meg: ai bi clk rst START GCD GCD adatstruktúra rst vezérlés rst GCD vezérlő státusz ao bo READY F1.a Tegyünk javaslatot az lnko(a,b) számítására szolgáló rendszer adatstruktúrájára. Az adatstruktúra 3 féle verzióban, egymástól kissé eltérő felépítéssel, eltérő műveleti elemekkel építhető fel. Röviden tekintsük át a működési elvet mindhárom verzióra, értékeljük a szükséges funkcionális egységeket, a működés lépéseit: 1. Végrehajtás a b regisztertartalom cserével, egyszerű kivonóval 2. Végrehajtás komplex SUB - RSUB műveleti egységgel (a b ill. b a egy egységben) 3. Végrehajtás két kivonó egységgel A lnko(a,b) számítására az egyszerű algoritmus mellett is van választási lehetőségünk. Biztosan szükségünk van 2 adattároló regiszterre, amibe az elsődleges bemeneti adatokat és a későbbiek során az iterációs részeredményeket tölthetjük.

1. verzió: Ha a > b nem teljesül, írjuk át egymásba a regiszterek tartalmát, ezután már teljesül a > b és a kivonás elvégezhető. A műveletvégzés után a különbséget mindig írjuk az a regiszterbe. Amikor a = b, leállás. 2. verzió: Ha a > b, elvégezzük a kivonást és a különbséget írjuk az a regiszterbe. Ha a < b, akkor felcseréljük az operandusokat a kivonó bemenetén (azaz egy fordított operandus sorrendű kivonást, RSUB hajtunk végre), és a különbséget a b regiszterbe írjuk. Amikor a = b, leállás. 3. verzió: Két azonos felépítésű egységet tervezünk, mindkettő képes minden ütemben kivonást végezni a saját tartalma és a másik regiszter tartalma között. Csak azt az eredményt tároljuk, ahol a nagyobb operandus volt. Amikor a = b, leállás. F1.b Válasszunk ki egy lehetséges végrehajtási verziót és ehhez rajzoljuk fel a lnko(a,b) számítására szolgáló rendszer magasszintű állapotvezérlőjét, 8 bites előjel nélküli számábrázolású operandusokat feltételezve. A kimeneti eredmény is legyen 8 bites formátumú. A rendszer számára rendelkezésre áll egy clk és egy rst jel a működtetéshez. A működést a START pulzus indítja és a feladat elvégzése után egy READY pulzussal jelzi a kész állapotot. Az első verziót, tehát a regisztercserét alkalmazó módszert választva a bemutatáshoz, a magasszintű állapotdiagram (HLSM) a következő: 6 állapotot különböztetünk meg: IDLE, INIT, TEST, EXCH, SUB, READY. Ezekből egy esetben, a SUB állapotban történik valóban hasznos műveletvégzés. Az INIT előkészítési lépésben csak az adatbetöltés, a TEST vizsgálati állapotban a következő állapot kijelölése, az EXCH adatcsere állapotban a regiszter tartalmak átírása történik, de ekkor az algoritmus nem lép az lnko számítása felé. Van két egyszerű adminisztrációs állapot (IDLE, READY) is, az bekapcsolás/indulás és a feladat befejezésének jelzése miatt. A magasszintű állapotdiagram interfész jelei: START: A rendszer indítóimpulzusa, bemeneti parancs, bit változó READY: A kész jelzés, kimeneti státuszjel, bitváltozó Ai, Bi: A bemeneti adatok, 8 bites pozitív egész bitvektor értékek (0 255) Ao, Bo: A kimeneti lnko érték (egyenlőek, egyik felesleges), 8 bites pozitív egész bitvektor értékek 1 <= (Ao=Bo) <= min {Ai, Bi} A felrajzolt magasszintű állapotdiagram (HLSM) Moore modell szerinti működést modellez.

F1.b Rajzoljuk fel részletesen a választott adatstruktúrát, a szükséges a regisztereket, adattárolókat, a műveletvégzőket, az ezeket összekapcsoló adatutakat és az útválasztó multiplexereket! Ehhez a magasszintű működési modellhez a következő részletes adatstruktúra tartozik. Az adatstruktúra elemei a következők: Tartalmaz két 8 bites multifunkciós regisztert, amelyek nem teljesen azonosak. Az Ao_reg nevű regiszter 3 bemeneti értéket fogadhat, a Bo_reg nevű regiszter két bemenetet. A bemeneti multiplexereket nem rajzoltuk fel külön, a bemeneti források közül választó vezérlőjeleket azonban azonosítottuk (loada, excha, upda, ill. loadb, exchb). Az iterációs lépések műveleteit a 8 bites SUB kivonó végzi el, ami két pozitív érték különbségét számolja ki, A > B kezdeti operandus értékekkel. A COMP komparátor a regiszterek tartalmát hasonlítja össze és biztosítja mindhárom lehetséges feltételjelet. F1.c Adjuk meg a funkcionális elemek Verilog HDL leírását! Soroljuk fel a szükséges belső vezérlőjeleket, és rendelkezésre álló státuszjeleket. A Verilog HDL specifikáció a következő: A funkcionális egységek viselkedési leírása a következő:

F1.d. Tervezzük meg a vezérlőegységet, a korábban megismert FSM tervezési módszer alkalmazásával. A vezérlőegységnek 6 állapota van. Az FSM már csak az egybites vezérlő és státuszjelekkel dolgozik. Topológiailag ugyanaz, mint a HLSM, de itt már csak a státuszjeleket és a vezérlőjeleket tüntetjük fel.

Ezt az FSM-et az ismert általános vezérlőegység tervezési módszerrel a következőképpen specifikálhatjuk: A következő állapotot meghatározó állapot átmeneti logika: A kimeneti logika:

A lnko számítása a másik két adatstruktúra választása esetén is hasonló módon megtervezhető. A működés hatékonysága szempontjából ez a regisztertartalom cserés megoldás a legrosszabb. A másik két megoldás iterációs ciklusa csak 2 órajel ütemet igényel.