ПОРТ/Јун 2020
Поставка
- Напомена: Одређени делови поставке су остављени уметничкој интерпретацији преписивача и нису се нужно налазили у испитном задатку.
Након неуспешне недеље коцкања, мали Данко је изгубио све паре и сада нема довољно новца да врати дуг зеленашима. Мали Данко је узео 3 Алтера Цyцлоне V ФПГА плочице да би их продао и вратио дуг. На његову несрећу, Захарије је то вече спавао у павиљону и видео малог Данка како узима плочице, па је одлучио да га заустави. Мали Данко је брзо сео у кола, али је заборавио дозволу. На сву срећу, на сувозачевом месту је пронашао Алтера Цyцлоне III ФПГА плочицу. Малом Данку је одмах пала идеја да направи уредјај који ће да прати возила испред њега и избегава их.
Поставка Qуартус пројекта може се наћи овде. Решење рока може се наћи овде.
1. задатак
Била је дата главна шема и тестови наших компоненти који би требало да упале ЛЕД диоде када компонента ради као очекивано, само што тестови за последње три компоненте нису радили па је њих демонстратор ручно прегледао.
- [4 поена] Направити једноразредни компаратор са улазима
A,B,Gi-1,Ei-1,Li-1и излазимаGi,Ei,Li. - [3 поена] Направити троразредни компаратор.
- [4 поена] Направити троканални мултиплексер са два улаза и улазом за омогућавање.
- [3 поена] Направити троканални мултиплексер са четири улаза.
- [6 поена] Направити једноразредни регистар са паралелним уписом, чишћењем, инкрементирањем, померањем улево и померањем удесно са D флип-флопом. Сигнал за инкрементирање инкрементира број само када је сигнал за пренос из претходног регистра укључен.
- [2 поена] Направити дворазредни регистар са инкрементирањем и чишћењем.
- [3 поена] Направити троразредни регистар са свим као за једноразредни.
2. задатак
Дате су компоненте CLK_DIVIDER и RisingEdge. Биле су дате шеме за ручно тестирање компоненти из свих ставки задатка и дате компоненте су већ биле искоришћене у њима. Компоненте су биле у фајловима mainX.bdf, а тест шеме у фајловима test_mainX.bdf, где шема main5.bdf није имала своју тест шему (то је била главна шема, па се на њих и тестирало). Нису биле дате компоненте из првог задатка у ВХДЛ-у, већ су морале да се користе направљене. Пазити на то да се излази који се повезују на седмосегментни екран негирају при излазу из компоненти јер се сегменти седмосегментног екрана пале при вредности 0 (ово није било урађено у поставци, али је било напоменуто на испиту).
- [3 поена] Направити бројач који броји по секвенци 0-1-4-2-0 када је сигнал
Cједнак 1 и рестартује секвенцу када је сигналCLједнак 1 (сигналCLима већи приоритет). Потребно је користити модуле из првог задатка. Излаз овог кола је тробитни сигнал и користи се за позицију новонадолазећег аута. - [2 поена] Направити секвенцијалну мрежу која броји поене Данка на ширини од 6 бита када је укључен улазни сигнал
INCи подржава чишћење кроз сигналCL(који има највећи приоритет). - [3 поена] Направити секвенцијалну мрежу са четири излаза, где су прва три позиције надолазећих аутомобила (на горњој слици горње три формуле обојене црвеном бојом) а четврти се користи за детекцију судара. Када је укључен сигнал
LDмрежа учитава стање саIN2..0и на излазима враћа последња четири учитана стања, а када је укључен сигналCL(који има највећи приоритет) мрежа чисти учитана стања. - [3 поена] Направити секвенцијалну мрежу за контролу Данковог аута која има сигнале
UPиDOWNкоје кружно померају Данков ауто горе и доле (када је Данко горе и помери се нагоре мора да се појави доле, када је Данко доле и помери се надоле мора да се појави горе) и сигналLDкоји учитава Данкову позицију са улазаIN. - [4 поена] Имплементирати целу игру (улазни сигнали су
UP,DOWNиRESET).