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