Tematyka zajęć laboratoryjnych

Tematyka ćwiczeń

Ćwiczenie 0. Wykład wprowadzający IMIO, IRE, IT

Ćwiczenie 1. IRE Synteza układów kombinacyjnych w technologii PLD/FPGA. Realizacja podstawowych kombinacyjnych bloków funkcjonalnych. Realizacja układów arytmetycznych: sumatory, komparatory.

Ćwiczenie 2. IRE Synteza układów sekwencyjnych w technologii PLD/FPGA. Realizacja uniwersalnych rejestrów. Realizacja automatów FSM. Minimalizacja i kodowanie stanów. Realizacja liczników (różne tryby pracy, liczniki modulo n, itp.).

Ćwiczenie 3. IMIO Automaty stanów. Liczniki. Rejestry.  Model VHDL zawierający wiele procesów. Synteza logiczna w stylu komórek standardowych.

Ćwiczenie 4. IMIO Modelowanie hierarchiczne złożonych układów cyfrowych. Komunikacja pomiędzy komponentami za pomocą magistrali 3-stanowej. Synteza logiczna i synteza topografii w stylu komórek standardowych.

Ćwiczenie 5. IT Synteza RTL wybranego algorytmu. Wykorzystanie algorytmicznych maszyn stanów ASM i algorytmicznych maszyn stanów ze ścieżką  przepływu danych ASMD w projektowaniu układów cyfrowych. Wykorzystanie operacji realizowanych w trybie Mealy’ego i Moore’a. Wykorzystanie koncepcji współdzielenia zasobów.

Ćwiczenie 6. IT Synteza strukturalna wybranego algorytmu. Realizacja ukłądu sterującego US i układu operacyjnego UO. Wykorzystanie algorytmicznych maszyn stanów ASM do realizacji US w postaci automatu FSM.

Ćwiczenie 7. IT Zaawansowane procedury syntezy. Zastosowanie dekompozycji funkcjonalnej i redukcji argumentów w realizacji układów kombinacyjnych. Zastosowanie układów modyfikacji adresu i symbolicznej dekompozycji funkcjonalnej w realizacji automatów.

Ćwiczenie 8. IT Projektowanie układów DSP. Realizacji filtrów cyfrowych w strukturze szeregowej i metodł arytmetyki rozproszonej. Wykorzystanie specjalizowanych modułów wbudowanych DSP. Wykorzystanie koncepcji zrównoleglenia obliczeń. Zastosowanie dekompozycji funkcjonalnej w syntezie bloku arytmetyki rozproszonej.

Ćwiczenie 9. Termin rezerwowy.

Laboratorium 5 – instrukcja

Zadanie

Realizacja iteracyjnego algorytmu wyznaczania metodą Newtona przybliżonej wartości pierwiastka funkcji  f(x) =  a * x 2 – b

Współczynniki a i b dla grup podane są w tabeli

Nr. grupy 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
a 11 15 21 17 15 17 13 19 27 21 26 23 24 25 26 17 12 16 17 18
b 76 89 91 97 77 99 96 89 87 88 86 77 87 89 99 87 66 78 89 76

Do realizacji można wykorzystać projekt dla narzędzia Quartus2 umieszczony w materiałach do laboratorium. W realizacji poszczególnych etapów pomocne może być użycie predefiniowanych ustawień projektu tzw. Revions:

  • fnext
  • lab5
  • top_lab5

Etapy ćwiczenia

  1. Realizacja funkcji kombinacyjnej fnext (x) = x  – f(x) / f'(x)                (3 pkt.)

    • podać wyrażenie opisujące funkcję
    • funkcję podzielić na działania składowe z uwzględnieniem szerokości ścieżek na poszczególnych etapach przetwarzania danych przy założeniu, że x jest reprezentowane w kodzie NKB na 8 bitach
    • zweryfikować poprawność realizacji poszczególnych kroków przetwarzania w arkuszu kalkulacyjnym, np. EtherCalc (pokazać na czym polega zbieżność funkcji do oczekiwanej wartości, w ilu krokach funkcja zbiega do miejsca zerowego jeżeli na wejściu w pierwszym kroku jest wartość 10)
      UWAGA! W arkuszu pokazać także wyniki działań składowych
    • opisać funkcję fnext (x) w języku VHDL, przeprowadzić kompilację i podać liczbę wymaganych zasobów (liczb komórek, bloków DSP, bitów pamięci)
      UWAGA! Bloki realizujące operacje mnożenia i dzielenia zrealizować z wykorzystaniem narzędzia MegaWizard. Modyfikacje takich bloków także dokonywać z wykorzystaniem narzędzia MegaWizard. NIE edytować plików wygenerowanych przez to narzędzie.
    • za pomocą symulacji pokazać i porównać otrzymane wyniki z oczekiwanymi z arkusza.
  2. Realizacja algorytmu zadanego siecią ASMD                                  (0,5 pkt.)

    • wykorzystać funkcję z poprzedniego etapu
    • za pomocą symulacji zweryfikować poprawność realizacji funkcji w układzie sekwencyjnym
  3.  Uruchomienie zadania na płytce laboratoryjnej                             (0,5 pkt.)
    • pokazać poprawność działania dla różnych wartości wejściowych
  4. Realizacja algorytmu dla liczb stałoprzecinkowych                        (1 pkt.)
    • zmodyfikować opis funkcji fnext (x) by operowała na wartości x reprezentowanej w formacie U2Fix5.3 albo w kodzie NKB na 10 bitach
    • uruchomić na platformie DE-115