ПОРТ/Јул 2020
Поставка
- Напомена: Одређени делови поставке су остављени уметничкој интерпретацији преписивача и нису се нужно налазили у испитном задатку.
Мали Данко се враћао кући са јунског испита из ПОРТ-а када га је задесила страшна олуја. Где год да би се померио падала је киша, али то га није бринуло јер је са собом понео кабаницу и кишобран као сваки угледан студент Софтверског инжењерства. Оно што је Данка највише бринуло јесте да га не погоди муња на путу до куће, јер је са собом понео ФПГА плочицу из лабораторије како би могао да вежба унапред за ОРТ2 и не би могао да изађе страшном Захарију на очи уколико би се тој плочици нешто десило.
Задатак је имплементирати симулацију Данка како се на седмосегментним екранима ФПГА плочице креће кроз кишу док избегава муњу. Киша је представљена вертикалним сегментима и смењује свој приказ на притисак BTN2 (киша може да се приказује или у вертикалним сегментима горње половине екрана или у вертикалним сегментима доње половине екрана).
На седмосегментним екранима се такође приказују позиције Данка и места ће следеће да падне муња, тако да се муња приказује на средњем хоризонталном сегменту а Данко на доњем хоризонталном сегменту. Муња насумично мења своју следећу позицију сваким притиском BTN2. Позиције Данка и муње се такође приказују у бинарном систему на ЛЕД диодама LED9..8 и LED7..6, респективно.
Данкови поени се приказују у бинарном систему на ЛЕД диодама LED5..0. Повећавају се за 1 уколико се Данко при притиску BTN2 налази десно од најављене позиције муње, дуплирају се уколико се налази лево од најављене позиције муње а бришу се уколико га је погодила муња.
Данко се помера помоћу BTN1 и SW9, где SW9 одређује смер у којем ће Данко кренути (уколико је 0, Данко се помера лево а уколико је 1 Данко се помера десно). Дугме BTN0 користи се за ресетовање целог система.
Поставка Qуартус пројекта може се наћи овде.
1. задатак
Била је дата главна шема и тестови компоненти који би требало да упале ЛЕД диоде када компонента крене да ради као очекивано, с тим што тест за пету ставку није радио.
- [4 поена] Потребно је реализовати једноразредни компаратор са улазима
A,B,Gi-1,Ei-1иLi-1и излазимаG,EиL. - [3 поена] Потребно је реализовати дворазредни компаратор са улазима
AиBи излазимаG,EиLкористећи једноразредни компаратор из претходне ставке. - [4 поена] Потребно је реализовати декодер са два улаза
X0иX1, сигналомEза омогућавање и четири излаза. - [3 поена] Реализовати секвенцијалну мрежу РисингЕдге Муровог типа користећи ЈК флип-флоп.
- [6 поена] Реализовати једноразредни регистар преко Т флип-флопа са могућностима серијског уписа преко померања у лево, инкрементирања, декрементирања и синхроног брисања. Обезбедити да највиши приоритет има сигнал
CL, затим сигналINC, паDECи на крајуSL. - [2 поена] Реализовати дворазредни регистар са могућностима инкрементирања, декрементирања и синхроног брисања преко једноразредног регистра реализованог у прошлој ставци. Обезбедити да редослед приоритета сигнала операција буде исти као у прошлој ставци.
- [3 поена] Реализовати троразредни регистар са могућностима инкрементирања, серијског уписа преко померања у лево и синхроног брисања преко једноразредног регистра реализованог у претпрошлој ставци. Обезбедити да редослед приоритета сигнала операција буде исти као у претпрошлој ставци.
2. задатак
За разлику од јунског испитног рока, нису постојале тест шеме за одвојене компоненте већ су пинови били повезани на главној шеми (која није садржала ништа поред пинова) и постављени у Пин Планнер-у и нису биле дате никакве компоненте.
- [4 поена] Направити генератор насумичних бројева који броји по секвенци 0-3-1-2-0 када улаз
NEXTима активну вредност и враћа се на почетак када улазCLEARима активну вредност. - [4 поена] Направити секвенцијалну мрежу која помера Данка. Мрежа има улазе
CL,MOVEиDIR, када сигналMOVEима активну вредност Данко се помера улево уколико сигналDIRима неактивну вредност и удесно уколико има активну вредност, а када сигналCLима активну вредност мрежа се враћа у почетно стање. - [2 поена] Направити мрежу која рачуна Данкове поене на ширини од шест бита са улазима
CL,INCиSLи излазомpts5..0. - [5 поена] Имплементирати игру дату у поставци задатка.