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

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

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...

Kiegészítő segédlet szinkron sorrendi hálózatok tervezéséhez

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

Mérési jegyzőkönyv. az ötödik méréshez

A MiniRISC processzor

Dr. Oniga István DIGITÁLIS TECHNIKA 8

Újrakonfigurálható eszközök

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

Dr. Oniga István DIGITÁLIS TECHNIKA 9

Digitális technika - Ellenőrző feladatok

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

A számítógép alapfelépítése

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

Digitális technika (VIMIAA02) Laboratórium 4

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

Digitális technika VIMIAA hét

Digitális technika (VIMIAA02) Laboratórium 4

Digitális technika (VIMIAA01) Laboratórium 4

Egyszerű RISC CPU 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

DIGITÁLIS TECHNIKA 7. Előadó: Dr. Oniga István

Periféria kezelési módszerek. programozott megszakításos DMA-s - közvetlen szoftver ütemezés - lekérdezéses ütemezés

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

Egyszerű számítógép működése

Az interrupt Benesóczky Zoltán 2004

Digitális technika házi feladat III. Megoldások

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

Dr. Oniga István DIGITÁLIS TECHNIKA 9

3.6. HAGYOMÁNYOS SZEKVENCIÁLIS FUNKCIONÁLIS EGYSÉGEK

DIGITÁLIS TECHNIKA 8 Dr Oniga. I stván István

Digitális technika VIMIAA01

Digitális technika VIMIAA01

Adatfeldolgozó rendszer tervezése funkcionális elemekkel

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

DIGITÁLIS TECHNIKA feladatgyűjtemény

SZORGALMI FELADAT. 17. Oktober

Digitális technika (VIMIAA02) Laboratórium 12

Digitális technika (VIMIAA02) Laboratórium 12

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

Hardver leíró nyelvek (HDL)

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

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

Verilog ismertető (Szántó Péter, BME MIT, )

PMU Kezdı lépések. 6-0 Csatlakozás LG GLOFA-GM és SAMSUNG PLC-hez. 6-1 Kommunikáció LG PMU és LG GLOFA-GM7 / GM6 / GM4 között

Digitális technika (VIMIAA02) Laboratórium 5.5

Megoldás Digitális technika I. (vimia102) 4. gyakorlat: Sorrendi hálózatok alapjai, állapot gráf, állapottábla

Digitális technika (VIMIAA02) Laboratórium 5

Digitális technika (VIMIAA02) Laboratórium 5

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

EB134 Komplex digitális áramkörök vizsgálata

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

Digitális technika VIMIAA02 7. hét

Az MSP430 mikrovezérlők digitális I/O programozása

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

Ellenőrző mérés mintafeladatok Mérés laboratórium 1., 2011 őszi félév

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

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

Újrakonfigurálható eszközök

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

Digitális technika VIMIAA01 9. hét

Digitális technika (VIMIAA02) Laboratórium 3

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

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

Digitális technika (VIMIAA02) Laboratórium 3

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

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

Újrakonfigurálható eszközök

11. KÓDÁTALAKÍTÓ TERVEZÉSE HÉTSZEGMENSES KIJELZŐHÖZ A FEJLESZTŐLAPON

Verilog HDL ismertető

DIGITÁLIS TECHNIKA I

Periféria illesztési példák áramkörön belüli buszra (kiegészítés az előadás vázlathoz) Benesóczky Zoltán (2017)

Összetett feladatok megoldása

Szántó Péter BME Méréstechnika és Információs Rendszerek Tanszék, FPGA Labor

Digitális technika (VIMIAA01) Laboratórium 9

LOGSYS EGYSZERŰ ALKALMAZÁS KÉSZÍTÉSE A LOGSYS KINTEX-7 FPGA KÁRTYÁRA A XILINX VIVADO FEJLESZTŐI KÖRNYEZET HASZNÁLATÁVAL június 16. Verzió 1.

Digitális technika Laboratórium 6.

Gépészmérnöki és Informatikai Kar Automatizálási és Kommunikáció- Technológiai Tanszék

1 done by: b+bme. Adja meg, hogy milyen ICW3 parancsot kell küldeni a MASTER illetve a SLAVE egységeknek!

Programozási segédlet DS89C450 Fejlesztőpanelhez

14. TARTALOM FUTTATÁSA A FEJLESZTŐLAP HÉTSZEGMENSES KIJELZŐJÉN

Mikrorendszerek tervezése

Ú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

SZÁMÍTÓGÉP ARCHITEKTÚRÁK

Digitális technika (VIMIAA01) Laboratórium 9

Elektronikus dobókocka tervezési példa

Digitális technika VIMIAA02 9. hét

Előadó: Nagy István (A65)

6. hét: A sorrendi hálózatok elemei és tervezése

A mikroszámítógép felépítése.

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

Digitális technika VIMIAA01 5. hét

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

A vezérlő alkalmas 1x16, 2x16, 2x20, 4x20 karakteres kijelzők meghajtására. Az 1. ábrán látható a modul bekötése.

A Picoblaze Core implementálása FPGA-ba

8.3. AZ ASIC TESZTELÉSE

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

Budapesti Műszaki és Gazdaságtudományi Egyetem. A Verilog HDL II. Nagy Gergely. Elektronikus Eszközök Tanszéke (BME) szeptember 26.

Programozott soros szinkron adatátvitel

Átírás:

NÉV:... neptun kód:.. feladatokat önállóan, meg nem engedett segédeszközök használata nélkül oldottam meg: Olvasható aláírás:... Kedves Kolléga! kitöltést a név és aláírás rovatokkal kezdje! z alábbi kérdésekre a válaszokat - ahol lehet - mindig a feladatlapon adja meg! feladatok megoldása során a részletes kidolgozást nagyfeladatonként, ha szükséges külön papíron végezze, (egyértelműen jelölje, hogy melyik lap melyik feladathoz tartozik, a papírra már a kezdetkor írja rá a nevét és neptun kódját) és ezeket a papírokat is adja be a dolgozatával! kérdésekre a táblázatok vagy a pontozott vonalak értelemszerű kitöltésével válaszoljon, hacsak külön másként nem kérjük. Mindenütt a legegyszerűbb megoldás éri a legtöbb pontot. Jó munkát! Ellenőrző kérdések (27p) E. Konvertálja az alábbi számokat a kért formátumra! (3p) kiinduló formátum konvertálandó szám kért formátum konvertált szám 6 bites 2-es komplemens 8 bites 2-es komplemens decimális 62 CD (6 bites) Fixpontos decimális 3.25 8 bites fixpontos 2-es komplemens, 2 db 2-edes jegy. E2. dja meg, a oole algebra disztributív tulajdonságának 2 féle alakját 2 változóval! (2p) ( C) = C...... (C) = ( )( C)... E3. (2p) Megadtuk egy ismert funkcionális elem Verilog leírásának egy jellemző részletét. dja meg a funkcionális elem nevét! (2p) wire [7:],; wire [2:] O; assign O = {<, ==, >} ; neve:..nagyság (magnitude) komparátor... E. felrajzolt multiplexerrel az alábbi 3 változós logikai függvényt kell megvalósítani. Kösse rá a multiplexer bemeneteire a megfelelő jeleket és konstansokat a következők közül: C, /C,,! (Írja oda a megfelelő jelneveket!) (2p) f(,,c) f(,,c) = ///C / /C E5. lább megadtunk egy F(,,C) logikai függvény Verilog leírását. Végezze el az alábbi feladatokat! (C az LS) assign F = ({,,C}>3 b) & ({,,C}<3 b) ({,,C}>3 b); C a. Töltse ki a függvény Karnaugh tábláját! (2p) MS S S Y MPX 2 3 /C C b. dja meg a függvény egyszerűsítetlen SOP alakját Verilog logikai kifejezésként! (p) C 2 assign F = ~&&C &&~C &&~C &&C;... c. dja meg a függvény legegyszerűbb SOP alakját dja meg a függvény egyszerűsítetlen SOP alakját Verilog logikai kifejezésként!! (p) assign F =...;... E6. a. Rajzolja le egy olyan logika blokkvázlatát tanult funkcionális elemekkel, amely a bemenetére érkező [3:], [3:] előjel nélküli bites számok közül a nagyobbat teszi a bites O[3:] kimenetére! (2p) E: F: F2: F3: : I MPX O s O I Oa>b a b komp b. dja meg a fenti logika Verilog leírását! (2p) assign O = ( > )? : ;...

E7. Röviden írja le, mi történik egy szubrutin meghívásakor a MiniRISC CPU esetén! (2p).... STCK-re kerül a következő utasítás címe. 2...Elugrik a szubrutin címére. E8. Melyik tanult kombinációs funkcionális elem Verilog leírását adtuk meg alább? (p) wire [3:] In, In, Y; wire s; assign Y = In & {{~s}} In & {{s}}; funkcionális elem neve:...2/-es bites busz multiplexer... E9. Rajzolja le az USRT soros adatátvitel idődiagramját (start bit, 8 adat bit, stop bit esetére)! (Egészítse ki az alábbi rajzot!) (2p) E. Mely állítások igazak és melyek hamisak? Jelölje -al az igaz, --al a hamis állításokat! (5p). Csak NOR kapukkal és a logikai konstanssal minden logikai függvény megvalósítható. 2. Egy D flip-flopból egyetlen EXOR kapuval bites engedélyezhető számláló készíthető. 3. z aszinkron RM-ok az /WR alacsony szintje alatt írják be az adatot.. z processzorhoz a perifériától érkező interrupt kérés mindig érvényre jut. - 5. MiniRISC processzor 3 regiszter címes architektúrával relkezik. - Feladatok: F. (3p) dott egy FSM az alábbi kódolt állapotgráfjával. Végezze el az alábbi feladatokat! // konstans és változó deklarációk c. //Next_state logika (6p): always@(...*... ) localparam [:] = 2 b, = 2 b, case (state) C = 2 b, D = 2 b,; : next_state <= ; reg [:] state; reg [:] next_state; : next_state <= C; a. Mealy vagy Moore modell szerint működik? C: if(x) next_state <= D; (p) Mealy. next_state <= ;. b. dja meg az állapotregiszter Verilog leírását! //Állapotregiszter (2p): always@( posedge clk...) if () state <= ; clk tx start D D D2 D3 D D5 D6 D7 stop C x D z=!x z= state <= next_state; z = D: next_state <= ; default: next_state <= ; case d. z FSM kimenete az állapotkód és a z változó. dja meg a z kimenet Verilog leírását! Elkezdtük, folytassa! (2p) wire z; assign z = (state ==C)& ~x (state ==D); z = state[] &~x state[]&state[] ; e. z automata bemenetére x=-át adunk folyamatosan. Milyen ismert funkcionális elemnek megfelelően viselkedik az FSM? dja meg a nevét és tulajdonságait! (2p) számláló, modulusa 3, törölhető F2. (8p) feladat egy páros reflexidő játék tervezése adatstruktúra-vezérlő felbontásban. készülék nyomógombjai lenyomáskor órajel hosszú impulzust adnak adnak a rszerórajellel szinkronban (nem kell megtervezni). játékot a STRT nyomógombbal indítja a játékmester. Ennek hatására a készülék véletlenszerűen kigyújtja valamelyik játékos LED-jét (LD vagy LD). (Relkezésre áll egy külső bites jel (RND), melynek állapota a STRT impulzus megjelenése után véletlenszerű). Ugyanekkor elindul a másik játékoshoz tartozó 2 számjegyes pont számláló (CD_cnt vagy CD_cnt) és.sec-onként lép -et. ( léptetéshez adott egy külső. sec-onként órajelig aktív sigs jel.) játékosok feladata, hogy a saját LED-jük kigyulladásakor minél gyorsabban nyomják le a nyomógombjukat (P ill. P), hogy a másik játékos pontszámlálója minél kevesebbet lépjen. mint az aktuális játékos lenyomta a nyomógombját, leáll a másik ponszámlálója, elindul a sajátja és kigyullad a másik játékos LED-je. Most neki kell minél gyorsabban lenyomni a nyomógombját. játék addig tart, amíg valamelyik játékos pont számlálója el nem éri a 99-et (ez a játékos nyer), ekkor ponszámlálók megállnak, LD és LD kialszik.. Ezután a STRT újboli megnyomására kezdhető újra a játék. z áramkör órajele egy néhány MHz-es clk jel (pontos értéke itt lényegtelen). kijelzés megvalósításától az egyszerűsítés végett eltekintünk. 2

feladat megoldását részfeladatokra bontottuk. a. Tervezzen meg egy CD_cnt, -es modulusú felfele számláló egységet! (dja meg a Verilog leírását!) Legyen szinkron törölhető (), engedélyezhető (e)! leírást alább elkezdtük, fejezze be! (5p) b. Példányosítson az a-pontbeli modulból kettőt-kettőt úgy, hogy azok páronként egy 2 dekádos CD számlálót alkossanak (CD_cntL ill. CD_cntL a kisebb helyiértékű digit). Ezek a pont számlálók. számlálókat törölje az és a vezérlő cnt_cl jele is,.sec-onként lépjen (sig_s), amelyiket a vezérlő engedélyezi a cnt_e vagy cnt_e jellel! (6p) CD_cnt CD_cntL (.clk(clk), ( cntcl),.e(cnt_e & sig_s.),.tc(tcl),.q(ql)); CD_cnt CD_cntH (.clk(clk), ( cntcl),.e(tcl ),.tc(tch),.q(qh)); CD_cnt CD_cntL (.clk(clk), ( cntcl),.e(cnt_e & sig_s.),.tc(tcl),.q(ql)); CD_cnt CD_cntH (.clk(clk), ( cntcl),.e(tcl),.tc(tch),.q(qh)); a. CD számlálóverilog leírása: module CD_cnt ( input clk,, e, output tc, output reg [3:] q); assign tc = e&(q == d9);.. always @( posedge clk ) if ()...q<= d;... if ( e ) if( tc.)...q<= d;... q <= q d; module c. dja meg azt az f feltételt, amely jelzi, hogy két kaszkádosított számláló közül valamelyik végállapotban van! (a qh, ql, qh, ql jeleket használja) (p) assign f = ({qh, ql} ==8 h99) ({qh, ql} ==8 h99); d. Tervezze meg a vezérlő Moore állapotgráfját és rajzolja le! rajzot elkezdtük, fejezze be! (Hiányzó állapotátmenetek (nyilak), hiányzó állapotátmeneti feltételek, hiányzó kimenetek! Feltétel nélküli állapotátmenet esetén ne írjon semmit a nyílra!) (6p) /STRT IDLE STRT INIT f... RND WIT_P P& ~f LD = LD =... cnt_cl =... cnt_e = cnt_e =... LD = LD = cnt_cl = cnt_e = cnt_e =!RND LD =... LD =... cnt_cl = cnt_e =... cnt_e =... f P&~f WIT_P LD =... LD =... cnt_cl =... cnt_e =... cnt_e =... IMSC (5p) Külön lapon adja meg a sigs jelet előállító modul Verilog leírását! modul a rszer 6MHz-es órajeléből állítja elő a.sec-onként órajelig aktív sigs jelet. Megoldás. Megoldás 2. module msec(input clk,, output sigs) module msec(input clk,, output sigs) reg[2:] q; reg[2:] q; localparam ini_value = 2 d_599_999; localparam max_value = 2 d_599_999; assign sigs = (q == 2 d); assign sigs = (q ==max_value); always @(posedge clk ) always @(posedge clk ) if( sigs) q <= ini_value; if( sigs) q <= 2 d; q<= q 2 d; q<= q 2 d; module module F3(7p) Egy külső adatfogadó egységet kell kezelni a MiniRSIC processzorhoz illesztett logika segítségével. külső egység bites részletekben képes 8 bites adatokat fogadni a PD3- adatvonalain. Egy USY jellel jelzi, amikor nem képes adat fogadására. 8 bites adat beírása két DWR impulzussal történik. z alsó bitjet az első DWR, felső bitjet a második DWR impulzus lelfutó éle írja be. 2. DWR hatására a USY jel -be áll, amíg a periféria újabb adat fogadására nem képes. DWR impulzus minimális hossza legalább MiniRISC Tclk. Mini RISC busz Din[7:] Dou[7:] [7:] WR RD clk Periféria illesztõ megtervezõ külsõ adatfogadó egység PD3- PD3- DWR DWR USY USY 3 D3- D7-

Ehhez a külső egységhez kell periféria illesztő logikát tervezni a MiniRISC buszra ([7:], Din[7:], Dou[7:], RD, WR, IRQ, clk, ). periféria illesztő parancs regiszterrel (PR), státusregiszterrel (SR) és egy adatregiszterrel (DR) relkezik. DWR impulzus előállítására a parancsregiszter beíró jelét használjuk (DWR = PR_wr, a kiírt adat értéke lényegtelen). periféria USY jelének aktuális értéke a státusregiszter D bitjén olvasható be, a többi bit értéke a beolvasáskor bármi lehet. z bites adatot az illesztő adatregiszterének alsó bitjére kell kiírni, a felső bit értéke tetszőleges lehet. z adat regiszter visszaolvasható. periféria báziscíme xd. programozói felülete a következő: funkció Cím D7 D6 D5 D D3 D2 D D olvasható/írható Parancs regiszter PR áziscím x x x x x x x x W (PR_wr) Státus regiszter SR áziscím x x x x x x x USY R (SR_rd) dat regiszter DR áziscím 2 x x x x PD3 PD2 PD PD W/R (DR_wr, DR_rd), a. Tervezze meg Verilog nyelven a periféria parancs regiszterbe írást engedélyező PR_wr, a státus regiszter és az adatregiszter olvasását engedélyező SR_rd és DR_rd jeleit, továbbá a kimeneti adatregiszter írását engedélyező DR_wr jelet! (6p) parameter base_addr = 8 HD; // a periféria kezdőcíme assign psel = (base_ddr >> 2) == ( >> 2);. processzor assign PR_wr = psel & ([:] == 2 b) & WR;... assign SR_rd = psel & ([:] == 2 b) & RD;... assign DR_rd = psel & ([:] == 2 b) & RD;...... // aktív, ha a periféria címtartományához fordul a assign DR_wr = psel & ([:] == 2 b) & WR;... b. dja meg Verilog nyelven az adatregiszter leírását! z adatregiszter bites, a Dou[3:] íródik bele, ha a DR_wr jel aktív. z jel törli. Elkezdtük, folytassa! (2p) c. dja meg Verilog nyelven a státus regiszter és adat regiszter visszaolvasásához szükséges logikát! Elkezdtük, folytassa! (2p) b. reg [3:] q;] always @( posedge clk ) if( ) q <= b;... if(..dr_wr.) q <=..Dou[3:]; assign PD = q; Folytassa az assembly programhoz szükséges definíciókat! (p) DEF PR xd DEF SR..xD... DEF DR..xD2... DEF USY...x... DT DatrrLen: D x6 Datrr: D xaa, xfd, xbf, x75, x79,x55 CODE c. alwasys(*) case({sr_rd, DR_rd}) 2 b: Din[] <=...USY;... 2 b.: Din[3:] <=...q;.(pd is jó) default: Din <= 8 h.;...; case e. Irjon meg egy olyan szubrutint, amely az r regiszterben megadott 8 bites adatot két bites részletben kiírja a perifériára, ha az nem foglalt! (2p) DatWR: mov r2,..sr... ;státus olvasás tst r2, #USY... ;USY bit tesztelése jnz DatWR... ;vissza, ha még foglalt mov DR, r... ;adat alsó bit kiírása DR-be mov PR, r ;DWR generálás swp r... ;felső alsó bit csere mov DR, r... ;adat felső bit kiírása DR-be mov PR, r ;DWR generálás rts... ;visszatérés f. z előbbi szubrutint felhasználva írjon olyan program részletet, amely a d-pontnál definiált Datrr területről kiír a DatrrLen címen található számú adatot a perifériába! (DatrrLen > és DatrrLen < 32) (p) rrwr: mov r, #DatrrLen. ;tömb hossz címének betöltése mov r,(r). ;tömb hossz beolvasása mov r, #Datrr. ;tömb címének betöltése loop: mov r, (r) ;adat beolvasása a memóriából jsr DatWR. ;adat kiírása a perifériába add r, #. ;cím növelés sub r, #. ;adat számláló csökkentés jnz loop. ;vissza, ha van még adat IMSC (5p) külső egység kezelése a fenti módon kicsit nehézkes. Használjon az illesztő eredeti bites adatregisztere helyett 8 biteset, így a teljes 8 bites adat egyszerre beleírható! Tervezzen utána olyan logikát, amely a külső egység bites PD[3:] adat bemenetére az adatregiszterbe írás (DR_wr) után az adatregiszter alsó bitjét kapcsolja, a DWR impulzus (PR_wr) kiadása után pedig a felső bitjét.

wire [3:] PD reg sel; reg [7:] dreg; always @(posedge clk) if() sel <= b; dreg <= 8 h; if(dr_wr) sel <= b; dreg <= Dou; if(pr_wr) sel <= b; assign PD = sel? dreg[7:] : dreg[3:]; (iztonságosabb volna a sel jel egy órajellet történő késleltetése, de ezt ne várjuk el a hallgatóktól.) Relkezésre álló idő: perc 5