ПОРТ/Август 2021

Извор: SI Wiki
< ПОРТ
Датум измене: 29. август 2021. у 23:16; аутор: KockaAdmiralac (разговор | доприноси) (Tekst postavke od Katarine Gužvić, 2020/0373)
(разл) ← Старија измена | Тренутна верзија (разл) | Новија измена → (разл)
Пређи на навигацију Пређи на претрагу

Postavka

Prikaz animacije rotacije veš mašine na sedmosegmentnom ekranu iz postavke zadatka.

Zadatak je napraviti upravljač perionicom veša. Date su kontrole:

  • Sedmosegmentni ekrani HEX0 do HEX2 respektivno za predstavljanje veš mašina perionice, tokom animacije rotacije pale i gase se segmenti na kružnom delu ekrana (prikazano na slici) i sveukupno trajanje jedne rotacije je jedna sekunda,
  • SW0 do SW2 za paljenje veš mašina,
  • LED5..0 za prikazivanje trenutnog broja žetona koje korisnik ima, i
  • BTN0 za povećavanje broja žetona.

Mašine ne rade ukoliko je broj žetona koje korisnik ima manji od broja upaljenih veš mašina.

1. zadatak

  1. [4 poena] Napraviti jednorazredni komparator sa ulazima A, B, Gi-1, Ei-1, Li-1 i izlazima Gi, Ei, Li.
  2. [3 poena] Napraviti šestorazredni komparator koristeći modul iz prethodne stavke.
  3. [3 poena] Napraviti šestokanalni multiplekser sa dva ulaza i jednim selekcionim signalom.
  4. [2 poena] Napraviti šestokanalni multiplekser sa 4 ulaza i jednim izlaznim signalom koristeći modul napravljen u trećoj tački.
  5. [3 poena] Realizovati FallingEdge kao sekvencijalnu mrežu Murovog tipa koristeći isključivo RS flip flopove.
  6. [6 poena] Napraviti jednorazredni registar sa operacijama paralelnog upisa (LD), serijskog upisa u levo (SL), serijskog upisa u desno (SR) i sinhronog brisanja (CL) koristeći D flip flop. Najveći prioritet ima operacija paralelnog upisa, zatim serijskog upisa u levo, zatim serijskog upisa u desno i na kraju najmanji prioritet ima sinhrono brisanje (LD > SL > SR > CL).
  7. [4 poena] Napraviti šestorazredni registar sa svim operacijama kao i prethodni koristeći modul iz prethodne stavke.

2. zadatak

  1. [2 poena] Napraviti kombinacionu mrežu koja ima tri ulazna signala (X1, X2, X2) i dva izlazna signala z1 i z2 koja treba da prikazuje broj aktivnih ulaznih signala u binarnom brojnom sistemu. Na primer, ako su aktivna bilo koja dva ulazna signala potrebno je da signal z2 ima aktivnu vrednost a signal z1 neaktivnu (102).
  2. [5 poena] Potrebno je realizovati modul koji upravlja korišćenjem žetona sa tri ulazna signala INC, ON2..0 i CLK, i jednim izlaznim signalom TOKENS5..0. On čuva informaciju o trenutnom broju žetona koje korisnik ima kao sekvencu jedinica onoliko puta koliko ima žetona (na primer, za 4 žetona se čuva vrednost 0011112). Maksimalan broj žetona koje korisnik može da ima je 6, a minimalan 0. Pomoću signala INC broj žetona se povećava za 1. Potrebno je obezbediti da se broj žetona uvek nalazi u opsegu od 0 do 6. Izlazni signal daje informaciju o tome koliko žetona korisnik ima. Ulazni signal ON2..0 daje informaciju o tome koje su mašine u tom trenutku aktivne (na primer, ukoliko su prva i druga mašina uključene onda je vrednost signala 1102). U zavsnosti od toga koliko je mašina upaljeno broj žetona korisnika se smanjuje za određen broj svake sekunde (na primer, ako su aktivne dve mašine svake sekunde korisnik gubi po dva žetona). Za realizaciju ove stavke dostupan je modul OneSecondTimer.
  3. [4 poena] Napraviti modul koji upravlja jednom veš mašinom (dozvoljava paljenje i gašenje). Potrebno je da ima dva ulazna signala EN i CLK a jedan izlazni signal WM5..0. Modul treba da simulira okretanje veš mašine tako što jednu jedinicu na WM5..0 pomera od bita najmanje težine do bita najveće težine i ponavlja to sve dok je upaljena (jedna rotacija traje jednu sekundu). Ukoliko je veš mašina ugašena na izlazu su sve nule. Nakon svakog uključivanja rotacija kreće od najnižeg bita izlaznog signala. Za realizaciju ovog modula bio je dat modul One36thOfSecond.
  4. [4 poena] Potrebno je implementirati celu šemu pomoću koje se upravlja perionicom veša. Veš mašinama se upravlja modulima iz stavke 3.