ПОРТ/Јул 2020

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу

Postavka

Napomena: Određeni delovi postavke su ostavljeni umetničkoj interpretaciji prepisivača i nisu se nužno nalazili u ispitnom zadatku.

Mali Danko se vraćao kući sa junskog ispita iz PORT-a kada ga je zadesila strašna oluja. Gde god da bi se pomerio padala je kiša, ali to ga nije brinulo jer je sa sobom poneo kabanicu i kišobran kao svaki ugledan student Softverskog inženjerstva. Ono što je Danka najviše brinulo jeste da ga ne pogodi munja na putu do kuće, jer je sa sobom poneo FPGA pločicu iz laboratorije kako bi mogao da vežba unapred za ORT2 i ne bi mogao da izađe strašnom Zahariju na oči ukoliko bi se toj pločici nešto desilo.

Zadatak je implementirati simulaciju Danka kako se na sedmosegmentnim ekranima FPGA pločice kreće kroz kišu dok izbegava munju. Kiša je predstavljena vertikalnim segmentima i smenjuje svoj prikaz na pritisak BTN2 (kiša može da se prikazuje ili u vertikalnim segmentima gornje polovine ekrana ili u vertikalnim segmentima donje polovine ekrana).

Na sedmosegmentnim ekranima se takođe prikazuju pozicije Danka i mesta gde će sledeće da padne munja, tako da se munja prikazuje na srednjem horizontalnom segmentu a Danko na donjem horizontalnom segmentu. Munja nasumično menja svoju sledeću poziciju svakim pritiskom BTN2. Pozicije Danka i munje se takođe prikazuju u binarnom sistemu na LED diodama LED9..8 i LED7..6, respektivno.

Dankovi poeni se prikazuju u binarnom sistemu na LED diodama LED5..0. Povećavaju se za 1 ukoliko se Danko pri pritisku BTN2 nalazi desno od najavljene pozicije munje, dupliraju se ukoliko se nalazi levo od najavljene pozicije munje a brišu se ukoliko ga je pogodila munja.

Danko se pomera pomoću BTN1 i SW9, gde SW9 određuje smer u kojem će Danko krenuti (ukoliko je 0, Danko se pomera levo a ukoliko je 1 Danko se pomera desno). Dugme BTN0 koristi se za resetovanje celog sistema.

Postavka Quartus projekta može se naći ovde. Rešenje roka može se naći ovde.

1. zadatak

Bila je data glavna šema i testovi komponenti koji bi trebalo da upale LED diode kada komponenta krene da radi kao očekivano, s tim što test za petu stavku nije radio.

  1. [4 poena] Potrebno je realizovati jednorazredni komparator sa ulazima A, B, Gi-1, Ei-1 i Li-1 i izlazima G, E i L.
  2. [3 poena] Potrebno je realizovati dvorazredni komparator sa ulazima A i B i izlazima G, E i L koristeći jednorazredni komparator iz prethodne stavke.
  3. [4 poena] Potrebno je realizovati dekoder sa dva ulaza X0 i X1, signalom E za omogućavanje i četiri izlaza.
  4. [3 poena] Realizovati sekvencijalnu mrežu RisingEdge Murovog tipa koristeći JK flip-flop.
  5. [6 poena] Realizovati jednorazredni registar preko T flip-flopa sa mogućnostima serijskog upisa preko pomeranja u levo, inkrementiranja, dekrementiranja i sinhronog brisanja. Obezbediti da najviši prioritet ima signal CL, zatim signal INC, pa DEC i na kraju SL.
  6. [2 poena] Realizovati dvorazredni registar sa mogućnostima inkrementiranja, dekrementiranja i sinhronog brisanja preko jednorazrednog registra realizovanog u prošloj stavci. Obezbediti da redosled prioriteta signala operacija bude isti kao u prošloj stavci.
  7. [3 poena] Realizovati trorazredni registar sa mogućnostima inkrementiranja, serijskog upisa preko pomeranja u levo i sinhronog brisanja preko jednorazrednog registra realizovanog u pretprošloj stavci. Obezbediti da redosled prioriteta signala operacija bude isti kao u pretprošloj stavci.

2. zadatak

Za razliku od junskog ispitnog roka, nisu postojale test šeme za odvojene komponente već su pinovi bili povezani na glavnoj šemi (koja nije sadržala ništa pored pinova) i postavljeni u Pin Planner-u i nisu bile date nikakve komponente.

  1. [4 poena] Napraviti generator nasumičnih brojeva koji broji po sekvenci 0-3-1-2-0 kada ulaz NEXT ima aktivnu vrednost i vraća se na početak kada ulaz CLEAR ima aktivnu vrednost.
  2. [4 poena] Napraviti sekvencijalnu mrežu koja pomera Danka. Mreža ima ulaze CL, MOVE i DIR, kada signal MOVE ima aktivnu vrednost Danko se pomera ulevo ukoliko signal DIR ima neaktivnu vrednost i udesno ukoliko ima aktivnu vrednost, a kada signal CL ima aktivnu vrednost mreža se vraća u početno stanje.
  3. [2 poena] Napraviti mrežu koja računa Dankove poene na širini od šest bita sa ulazima CL, INC i SL i izlazom pts5..0.
  4. [5 poena] Implementirati igru datu u postavci zadatka.