ПОРТ/Септембар 2020 — разлика између измена

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу
м (Dodato malo više u postavku + postavka projekta)
м (-novi red)
 
(Нису приказане 3 међуизмене 2 корисника)
Ред 4: Ред 4:


Zadatak je napraviti uređaj za pokretanje automobila. Kontrole automobila su:
Zadatak je napraviti uređaj za pokretanje automobila. Kontrole automobila su:
* <code>SW8</code> za uključivanje prikaza statusa automobila (uključen/isključen) na sedmosegmentnim ekranima.
* <code>SW9</code> za uključivanje automobila.
* <code>SW9</code> za uključivanje automobila.
* <code>SW8</code> za uključivanje prikaza statusa automobila ("OFF"/"On") na sedmosegmentnim ekranima.
* <code>SW7</code> prikazuje koliko se goriva sme sipati u automobil.
* <code>BTN0</code> za punjenje goriva na automobilu.
* <code>BTN0</code> za punjenje goriva na automobilu.
Količina goriva se prikazuje na <code>LED<sub>9..0</sub></code>, gde jedna LED dioda odgovara 10 litara goriva, gorivo se troši 5 litara po sekundi a puni 20 litara po sekundi.
Količina goriva se prikazuje na <code>LED<sub>9..0</sub></code>, gde jedna LED dioda odgovara 10 litara goriva, gorivo se troši 10 litara po sekundi a puni 5 litara po sekundi.


'''Postavka Quartus projekta može se naći [[Медиј:PORT Septembar 2020 Postavka.zip|ovde]].'''
'''Postavka Quartus projekta može se naći [[Медиј:PORT Septembar 2020 Postavka.zip|ovde]]. Rešenje roka može se naći [[Медиј:PORT Septembar 2020 Resenje.zip|ovde]].'''


== 1. zadatak ==
== 1. zadatak ==
Bila je data glavna šema, šeme za popunjavanje komponenti i testovi komponenti koji bi trebalo da pale LED diode na glavnoj šemi kada određena komponenta krene da radi kao očekivano.
Bila je data glavna šema, šeme za popunjavanje komponenti i testovi komponenti koji bi trebalo da pale LED diode na glavnoj šemi kada određena komponenta krene da radi kao očekivano.
# '''[? poena]''' Potrebno je realizovati sedmokanalni multiplekser sa četiri ulaza i dva signala za biranje.
# '''[? poena]''' Potrebno je realizovati sedmokanalni multiplekser sa četiri ulaza i dva signala za biranje.
# '''[? poena]''' Potrebno je realizovati prioritetni koder sa ulazom za uključivanje <code>EN</code>, takav da je aktivna vrednost signala za uključivanje logička nula.
# '''[? poena]''' Potrebno je realizovati prioritetni koder sa ulazom za uključivanje <code>EN</code>, takav da je aktivna vrednost signala za uključivanje logička nula, a najmanji bit ima najviši prioritet.
# '''[? poena]''' Potrebno je realizovati jednorazredni oduzimač sa ulazima <code>A</code>, <code>B</code> i <code>E<sub>i</sub></code> i izlazima <code>F</code> i <code>E<sub>i+1</sub></code>.
# '''[? poena]''' Potrebno je realizovati jednorazredni oduzimač sa ulazima <code>A</code>, <code>B</code> i <code>E<sub>i</sub></code> i izlazima <code>F</code> i <code>E<sub>i+1</sub></code>.
# '''[? poena]''' Koristeći jednorazredni oduzimač realizovati višerazredni oduzimač (''kolikorazredni?'').
# '''[? poena]''' Koristeći jednorazredni oduzimač realizovati trorazredni oduzimač.
# '''[? poena]''' Realizovati sekvencijalnu mrežu ''RisingEdge'' pomoću T flip-flopa.
# '''[? poena]''' Realizovati sekvencijalnu mrežu ''RisingEdge'' pomoću T flip-flopa.
# '''[? poena]''' Realizovati jednorazredni registar sa mogućnostima paralelnog upisa, inkrementiranja i sinhronog brisanja koristeći JK flip-flop.
# '''[? poena]''' Realizovati jednorazredni registar sa mogućnostima paralelnog upisa, inkrementiranja i sinhronog brisanja koristeći JK flip-flop.
Ред 22: Ред 23:


== 2. zadatak ==
== 2. zadatak ==
: ''Napomena: Postavke podzadataka možda nisu iste kao one sa ispita.''
Bila je data <code>CLK_DIVIDER</code> i <code>Binary2BCD</code> komponente, dekoder sa 16 izlaza kao i interfejs za sedmosegmentni displej.
Bila je data <code>CLK_DIVIDER</code> komponenta.
# '''[5 poena]''' Implementirati menjanje stanja automobila (uključen/isključen) preko <code>SW9</code>. Ukoliko je <code>SW8</code> uključen, prikazati stanje automobila na heksadecimalnom displeju tako da kad je isključen piše "OFF" a kad je uključen "On". Kada je automobil uključen on troši 10 litara goriva u sekundi, a kada mu sipamo gorivo (tu opciju omogućava <code>BTN0</code>) puni se 5 litara u sekundi. Automobil može da se puni samo kada je isključen. Potrebno je omogućiti prikaz stanja goriva na LED diodama (na primer, ako ima 53 litara goriva u rezervoaru, svetli dioda <code>LED6</code>).
# '''[? poena]''' Implementirati menjanje stanja automobila (uključen/isključen) preko <code>SW9</code>. Ukoliko je <code>SW8</code> uključen, prikazati stanje automobila na sedmosegmentnom ekranu (na bilo koji način).
# '''[5 poena]''' Omogućiti da se kada je rezervoar automobila pun (100 litara) na heksadecimalnom displeju ispiše "FULL", a kada je rezervoar prazan da se ispiše "----" ukoliko je <code>SW8</code> isključen. Takođe omogućiti da se pomoću <code>SW7</code> na heksadecimalnom displeju prikaže koliko se još goriva sme sipati u automobil.
# '''[? poena]''' Implementirati rezervoar automobila. Stanje rezervoara se prikazuje na <code>LED<sub>9..0</sub></code>, a gorivo se troši brzinom od 5 litara po sekundi.
# '''[5 poena]''' Implementirati uređaj i omogućiti da se ne sme sipati gorivo ako je pun rezervoar i trošiti ako je prazan.
# '''[? poena]''' Implementirati dopunu goriva pritiskom na <code>BTN0</code>. Rezervoar se puni brzinom od 20 litara po sekundi.


[[Категорија:ПОРТ]]
[[Категорија:ПОРТ]]
[[Категорија:Рокови]]
[[Категорија:Рокови]]

Тренутна верзија на датум 27. септембар 2020. у 15:58

Postavka

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

Nakon što su Danko i saradnici uspešno konstruisali upravljačku jedinicu za šporet i zasladili se palačinkama, došlo je vreme da odu u kladionicu na rulet. Ali nisu išli u bilo koju kladionicu, već su isključivo birali kladionice koje su držali njihovi bivši studenti koji su predmet položili sa ocenom šest, kojih je u gradu bilo ukupno jedna. Taj dan im se baš posrećilo, pa su veštom manipulacijom generatora nasumičnih brojeva uspeli da na ruletu osvoje 243.500 dinara, burek, automobil pomenutog bivšeg studenta i karticu za besplatnu kafu (ali za burek nismo sigurni). Posle ravnomerne raspodele dobitaka, Danku je ostao automobil. Ali, Dankovim mukama nikad kraja, jer čim je upalio auto primetio je da je uređaj za pokretanje pregoreo. Iz nepoznatih razloga, Danko je sa sobom poneo upravljačku jedinicu svog šporeta (koja je, ponovo, bila ista FPGA pločica koju je sačuvao od munja nakon junskog roka) i uređaj koji je bio sposoban da pokrene Quartus II 13.1 Web Edition, tako da je odmah prionuo na popravljanje svog novoosvojenog automobila.

Zadatak je napraviti uređaj za pokretanje automobila. Kontrole automobila su:

  • SW9 za uključivanje automobila.
  • SW8 za uključivanje prikaza statusa automobila ("OFF"/"On") na sedmosegmentnim ekranima.
  • SW7 prikazuje koliko se goriva sme sipati u automobil.
  • BTN0 za punjenje goriva na automobilu.

Količina goriva se prikazuje na LED9..0, gde jedna LED dioda odgovara 10 litara goriva, gorivo se troši 10 litara po sekundi a puni 5 litara po sekundi.

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, šeme za popunjavanje komponenti i testovi komponenti koji bi trebalo da pale LED diode na glavnoj šemi kada određena komponenta krene da radi kao očekivano.

  1. [? poena] Potrebno je realizovati sedmokanalni multiplekser sa četiri ulaza i dva signala za biranje.
  2. [? poena] Potrebno je realizovati prioritetni koder sa ulazom za uključivanje EN, takav da je aktivna vrednost signala za uključivanje logička nula, a najmanji bit ima najviši prioritet.
  3. [? poena] Potrebno je realizovati jednorazredni oduzimač sa ulazima A, B i Ei i izlazima F i Ei+1.
  4. [? poena] Koristeći jednorazredni oduzimač realizovati trorazredni oduzimač.
  5. [? poena] Realizovati sekvencijalnu mrežu RisingEdge pomoću T flip-flopa.
  6. [? poena] Realizovati jednorazredni registar sa mogućnostima paralelnog upisa, inkrementiranja i sinhronog brisanja koristeći JK flip-flop.
  7. [? poena] Realizovati trorazredni registar sa istim mogućnostima koristeći jednorazredni registar.

2. zadatak

Bila je data CLK_DIVIDER i Binary2BCD komponente, dekoder sa 16 izlaza kao i interfejs za sedmosegmentni displej.

  1. [5 poena] Implementirati menjanje stanja automobila (uključen/isključen) preko SW9. Ukoliko je SW8 uključen, prikazati stanje automobila na heksadecimalnom displeju tako da kad je isključen piše "OFF" a kad je uključen "On". Kada je automobil uključen on troši 10 litara goriva u sekundi, a kada mu sipamo gorivo (tu opciju omogućava BTN0) puni se 5 litara u sekundi. Automobil može da se puni samo kada je isključen. Potrebno je omogućiti prikaz stanja goriva na LED diodama (na primer, ako ima 53 litara goriva u rezervoaru, svetli dioda LED6).
  2. [5 poena] Omogućiti da se kada je rezervoar automobila pun (100 litara) na heksadecimalnom displeju ispiše "FULL", a kada je rezervoar prazan da se ispiše "----" ukoliko je SW8 isključen. Takođe omogućiti da se pomoću SW7 na heksadecimalnom displeju prikaže koliko se još goriva sme sipati u automobil.
  3. [5 poena] Implementirati uređaj i omogućiti da se ne sme sipati gorivo ako je pun rezervoar i trošiti ako je prazan.