logo firmy Intel

intel UG-20094 Cyclone 10 GX Native Fixed Point DSP IP Core

intel-UG-20094-Cyclone-10-GX-Natywny-stały-punkt-DSP-IP-rdzeń-PRODUKT

Podręcznik użytkownika procesora Intel® Cyclone® 10 GX Native Fixed Point DSP IP Core

Rdzeń IP Intel Cyclone® 10 GX Native Fixed Point DSP tworzy i kontroluje pojedynczy blok Intel Cyclone 10 GX Variable Precision Digital Signal Processing (DSP). Rdzeń IP Cyclone 10 GX Native Fixed Point DSP jest dostępny tylko dla urządzeń Intel Cyclone 10 GX.

Schemat blokowy funkcji rdzenia IP DSP Cyclone 10 GX Native Fixed Pointintel-UG-20094-Cyclone-10-GX-Natywny-stały-punkt-DSP-IP-Core-FIG- (1)

Informacje powiązane
Wprowadzenie do rdzeni IP FPGA firmy Intel.

Funkcje rdzenia natywnego procesora DSP Cyclone 10 GX Fixed Point IP

Rdzeń Cyclone 10 GX Native Fixed Point DSP IP obsługuje następujące funkcje:

  • Wysokowydajne, zoptymalizowane pod kątem zużycia energii i w pełni zarejestrowane operacje mnożenia
  • Długości słów 18-bitowych i 27-bitowych
  • Dwa mnożniki 18 × 19 lub jeden mnożnik 27 × 27 na blok DSP
  • Wbudowany rejestr dodawania, odejmowania i podwójnej akumulacji 64-bitowej umożliwiający łączenie wyników mnożenia
  • Kaskadowanie 19-bitowe lub 27-bitowe, gdy presumator jest wyłączony, oraz kaskadowanie 18-bitowe, gdy presumator jest używany do utworzenia linii opóźniającej odczep do filtrowania aplikacji
  • Kaskadowa magistrala wyjściowa 64-bitowa do propagacji wyników wyjściowych z jednego bloku do następnego bez zewnętrznego wsparcia logicznego
  • Obsługa twardego presumatora w trybach 19-bitowym i 27-bitowym dla filtrów symetrycznych
  • Wewnętrzny bank rejestrów współczynników w trybie 18-bitowym i 27-bitowym do implementacji filtrów
  • 18-bitowe i 27-bitowe filtry systoliczne o skończonej odpowiedzi impulsowej (FIR) z rozproszonym sumatorem wyjściowym

Pierwsze kroki

Ten rozdział zawiera ogólne omówienieview przepływu projektowania rdzenia IP FPGA Intel, aby pomóc Ci szybko rozpocząć pracę z rdzeniem IP DSP Cyclone 10 GX Native Fixed Point. Biblioteka IP FPGA Intel jest instalowana jako część procesu instalacji Intel Quartus® Prime. Możesz wybrać i sparametryzować dowolny rdzeń IP FPGA Intel z biblioteki. Intel udostępnia zintegrowany edytor parametrów, który umożliwia dostosowanie rdzenia IP DSP FPGA Intel do obsługi szerokiej gamy aplikacji. Edytor parametrów prowadzi Cię przez ustawianie wartości parametrów i wybór opcjonalnych portów.

Informacje powiązane

  • Wprowadzenie do rdzeni IP Intel FPGA
    Zawiera ogólne informacje o wszystkich rdzeniach Intel FPGA IP, w tym parametryzację, generowanie, aktualizowanie i symulowanie rdzeni IP.
  • Tworzenie niezależnych od wersji skryptów symulacyjnych IP i Platform Designer (standardowych)
    Twórz skrypty symulacyjne, które nie wymagają ręcznej aktualizacji oprogramowania lub aktualizacji wersji IP.
  • Najlepsze praktyki zarządzania projektami
    Wytyczne dotyczące efektywnego zarządzania i przenoszenia projektu i własności intelektualnej files.
Ustawienia parametrów rdzenia IP DSP Cyclone 10 GX Native Fixed Point

Możesz dostosować rdzeń IP DSP Cyclone 10 GX Native Fixed Point, określając parametry przy użyciu edytora parametrów w oprogramowaniu Intel Quartus Prime.

Karta Trybu działania

Parametr Parametr generowany przez adres IP Wartość Opis
Proszę wybrać tryb działania tryb_operacyjny m18×18_full m18×18_sumof2 m18×18_plus36 m18×18_systolic m27×27 Wybierz żądany tryb pracy.
Konfiguracja mnożnika
Format reprezentacji dla operandu x najwyższego mnożnika podpisany_maksimum podpisany niepodpisany Określ format reprezentacji dla najwyższego operandu mnożnika x.
Parametr Parametr generowany przez adres IP Wartość Opis
Format reprezentacji dla operandu y najwyższego mnożnika podpisany_może podpisany niepodpisany Określ format reprezentacji dla najwyższego operandu mnożnika y.
Format reprezentacji dla dolnego mnożnika x operandu podpisany_mbx podpisany niepodpisany Określ format reprezentacji dla dolnego operandu mnożnika x.
Format reprezentacji dla dolnego mnożnika y operandu podpisany_mby podpisany niepodpisany Określ format reprezentacji dla dolnego operandu mnożnika y.

Zawsze wybieraj niepodpisany Do m18×18_plus36 .

Włącz port „sub” włącz_subskrypcję NIE Tak Wybierać Tak włączyć

podport.

Zarejestruj wejście 'sub' mnożnika pod_zegar NIE Zegar0 Zegar1 Zegar2 Wybierać Zegar0, Zegar1, Lub Zegar2 aby włączyć i określić sygnał zegara wejściowego dla podrejestru wejściowego.
Kaskada wejściowa
Włącz kaskadę wejściową dla wejścia „ay” użyj_skanowania NIE Tak Wybierać Tak aby włączyć moduł kaskadowego wejścia dla dowolnego wejścia danych.

Po włączeniu modułu kaskady wejściowej rdzeń IP DSP Cyclone 10 GX Native Fixed Point używa skanowanych sygnałów wejściowych jako sygnałów wejściowych, a nie wszystkich sygnałów wejściowych.

Włącz kaskadę wejściową dla wejścia „przez” według_użycia_skanowania_w NIE Tak Wybierać Tak aby włączyć moduł kaskady wejściowej dla danych wejściowych.

Po włączeniu modułu kaskady wejściowej rdzeń IP DSP Cyclone 10 GX Native Fixed Point używa sygnałów wejściowych ay jako sygnałów wejściowych, a nie sygnałów wejściowych by.

Włącz rejestr opóźnień danych opóźnienie_skanowania_ay NIE Tak Wybierać Tak aby włączyć rejestr opóźnienia pomiędzy ay i rejestrami wejściowymi.

Ta funkcja nie jest obsługiwana w m18×18_plus36 I m27x27 tryb operacyjny.

Parametr Parametr generowany przez adres IP Wartość Opis
Włącz dane za pomocą rejestru opóźnienia opóźnienie_skanowania_przez NIE Tak Wybierać Tak aby włączyć rejestr opóźniający pomiędzy rejestrami wejściowymi i magistralą wyjściową skanowania.

Ta funkcja nie jest obsługiwana w m18×18_plus36 I m27x27 tryb operacyjny.

Włącz port skanowania gui_scanout_włącz NIE Tak Wybierać Tak włączyć

skanowanie magistrali wyjściowej.

szerokość magistrali wyjściowej „scanout” szerokość_skanowania 1–27 Określ szerokość

skanowanie magistrali wyjściowej.

Konfiguracja danych 'x'
szerokość magistrali wejściowej 'ax' szerokość_osi 1–27 Określ szerokość

magistrala wejściowa ax.(1)

Zarejestruj wejście 'ax' mnożnika zegar_osiowy NIE Zegar0 Zegar1 Zegar2 Wybierać Zegar0, Zegar1, Lub Zegar2 aby włączyć i określić sygnał zegara wejściowego dla rejestru wejściowego ax.

Rejestr wejściowy ax nie jest dostępny, jeśli ustawisz źródło operandu 'ax' Do 'współczynnik'.

szerokość magistrali wejściowej „bx” szerokość_bx 1–18 Określ szerokość

magistrala wejściowa bx.1)

Zarejestruj wejście 'bx' mnożnika zegar_bx NIE Zegar0 Zegar1 Zegar2 Wybierać Zegar0, Zegar1, Lub Zegar2 aby włączyć i określić sygnał zegara wejściowego dla rejestru wejściowego bx.

Rejestr wejściowy bx nie jest dostępny, jeśli ustawisz źródło operandu „bx” Do 'współczynnik'.

Konfiguracja danych 'y'
szerokość magistrali „ay” lub „scanin” ay_scan_w_szerokości 1–27 Określ szerokość magistrali wejściowej ay lub scanin.1)
Zarejestruj wejście 'ay' lub wejście 'scanin' mnożnika ay_scan_w_zegarze NIE Zegar0 Zegar1 Zegar2 Wybierać Zegar0, Zegar1, Lub Zegar2 aby włączyć i określić sygnał zegara wejściowego dla rejestru wejściowego ay lub scanin.
szerokość magistrali wejściowej 'według' według szerokości 1–19 Określ szerokość magistrali wejściowej.1)
Parametr Parametr generowany przez adres IP Wartość Opis
Zarejestruj wejście 'przez' mnożnika według_zegara NIE Zegar0 Zegar1 Zegar2 Wybierać Zegar0, Zegar1, Lub Zegar2 aby włączyć i określić sygnał zegara wejściowego dla by lub scanin

rejestr wejściowy.(1)

Konfiguracja wyjścia „wynik”
szerokość magistrali wyjściowej 'resulta' wynik_szerokość 1–64 Określ szerokość

wynikowa magistrala wyjściowa.

szerokość magistrali wyjściowej 'resultb' wynik_szerokość_b 1–64 Określ szerokość magistrali wyjściowej resultb. resultb jest dostępny tylko w przypadku użycia operation_mode m18×18_pełny.
Użyj rejestru wyjściowego zegar_wyjściowy NIE Zegar0 Zegar1 Zegar2 Wybierać Zegar0, Zegar1, Lub Zegar2 aby włączyć i określić sygnał zegara wejściowego dla rejestrów wyjściowych resulta i resultb.

Karta Pre-dodawania

Parametr Parametr generowany przez adres IP Wartość Opis
źródło operandu 'ay' źródło_operandu_może wejściowy preadder Określ źródło operandu dla wejścia ay. Wybierz prelegent aby włączyć moduł pre-addera dla górnego mnożnika. Ustawienia dla ay i by operand source muszą być takie same.
źródło operandu 'by' źródło_operandu_mby wejściowy preadder Określ źródło operandu dla wejścia. Wybierz prelegent aby włączyć moduł pre-addera dla dolnego mnożnika. Ustawienia dla ay i by operand source muszą być takie same.
Ustaw pre-sumator jako operację odejmowania preadd_subtract_a NIE Tak Wybierać Tak aby określić operację odejmowania dla modułu pre-addera dla górnego mnożnika. Ustawienia pre-addera dla górnego i dolnego mnożnika muszą być takie same.
Ustaw operację pre-dodawania b na odejmowanie preadd_subtract_b NIE Tak Wybierać Tak aby określić operację odejmowania dla modułu pre-addera dla dolnego mnożnika. Ustawienia pre-addera dla górnego i dolnego mnożnika muszą być takie same.
Konfiguracja danych „z”
szerokość magistrali wejściowej 'az' szerokość_az 1–26 Określ szerokość magistrali wejściowej az.1)
Zarejestruj wejście 'az' mnożnika zegar_z NIE Zegar0 Zegar1 Zegar2 Wybierać Zegar0, Zegar1, Lub Zegar2 aby włączyć i określić sygnał zegara wejściowego dla az rejestrów wejściowych. Ustawienia zegara dla ay i az rejestrów wejściowych muszą być takie same.
szerokość magistrali wejściowej 'bz' szerokość_bz 1–18 Określ szerokość magistrali wejściowej bz.1)
Zarejestruj wejście 'bz' mnożnika zegar bz NIE Zegar0 Zegar1 Zegar2 Wybierać Zegar0, Zegar1, Lub Zegar2 aby włączyć i określić sygnał zegara wejściowego dla rejestrów wejściowych bz. Ustawienia zegara dla rejestrów wejściowych by i bz muszą być takie same.

Karta współczynnika wewnętrznego

Parametr Parametr generowany przez adres IP Wartość Opis
źródło operandu 'ax' operand_source_max wejście współczynnik Określ źródło operandu dla magistrali wejściowej ax. Wybierz współczynnik aby włączyć wewnętrzny moduł współczynników dla najwyższego mnożnika.

Wybierać NIE Do Zarejestruj wejście 'ax' mnożnika parametr po włączeniu funkcji współczynnika wewnętrznego.

Parametr Parametr generowany przez adres IP Wartość Opis
      Ustawienia źródła operandu ax i bx muszą być takie same.
źródło operandu „bx” źródło_operandu_mbx wejście współczynnik Określ źródło operandu dla magistrali wejściowej bx. Wybierz współczynnik aby włączyć wewnętrzny moduł współczynników dla najwyższego mnożnika.

Wybierać NIE Do Zarejestruj wejście 'bx' mnożnika parametr po włączeniu funkcji współczynnika wewnętrznego.

Ustawienia źródła operandu ax i bx muszą być takie same.

Konfiguracja rejestru wejściowego „coefsel”
Zarejestruj wejście 'coefsela' mnożnika współczynnik_sel_zegara NIE Zegar0 Zegar1 Zegar2 Wybierać Zegar0, Zegar1, Lub Zegar2 aby włączyć i określić sygnał zegara wejściowego dla rejestrów wejściowych coefsela.
Zarejestruj wejście 'coefselb' mnożnika współczynnik_sel_b_zegara NIE Zegar0 Zegar1 Zegar2 Wybierać Zegar0, Zegar1, Lub Zegar2 aby włączyć i określić sygnał zegara wejściowego dla współbieżnych rejestrów wejściowych.
Konfiguracja przechowywania współczynników
współczynnik_a_0–7 współczynnik_a_0–7 Liczba całkowita Określ wartości współczynników dla magistrali wejściowej ax.

W trybie pracy 18-bitowej maksymalna wartość wejściowa wynosi 218 – 1. W trybie pracy 27-bitowej maksymalna wartość wynosi 227 – 1.

współczynnik_b_0–7 współczynnik_b_0–7 Liczba całkowita Określ wartości współczynników dla magistrali wejściowej bx.

Karta Akumulator/Kaskada wyjściowa

Parametr Parametr generowany przez adres IP Wartość Opis
Włącz port „akumulacji” włącz_akumulację NIE Tak Wybierać Tak włączyć

port akumulatora.

Włącz port „negate” włącz_negację NIE Tak Wybierać Tak włączyć

zaprzeczyć portowi.

Włącz port „loadconst” włącz_stałą_ładowania NIE Tak Wybierać Tak włączyć

załaduj stały port.

Zarejestruj wejście „akumuluj” akumulatora akumuluj_zegar NIE Zegar0 Zegar1 Zegar2 Wybierać Zegar0 , Zegar1, Lub Zegar2 aby włączyć i określić sygnał zegara wejściowego dla rejestrów wejściowych akumulacji.
Parametr Parametr generowany przez adres IP Wartość Opis
Zarejestruj wejście 'loadconst' akumulatora załaduj_stały_zegar NIE Zegar0 Zegar1 Zegar2 Wybierać Zegar0, Zegar1, Lub Zegar2 aby włączyć i określić sygnał zegara wejściowego dla rejestrów wejściowych loadconst.
Zarejestruj wejście „negacja” jednostki sumującej zanegować_zegar NIE Zegar0 Zegar1 Zegar2 Wybierać Zegar0, Zegar1, Lub Zegar2 aby włączyć i określić sygnał zegara wejściowego dla rejestrów wejściowych negujących.
Włącz podwójny akumulator włącz_podwójne_akumulatory NIE Tak Wybierać Tak aby włączyć funkcję podwójnego akumulatora.
Wartość N ustalonej stałej załaduj_wartość_stałą 0 – 63 Określ ustawioną wstępnie wartość.

Wartość ta może wynosić 2N Gdzie N jest ustaloną wcześniej stałą wartością.

Włącz port łańcuchowy użyj_chainadder NIE Tak Wybierać Tak aby włączyć moduł kaskadowy wyjściowy i magistralę wejściową.

Funkcja kaskady wyjściowej nie jest obsługiwana w m18×18_pełny Tryb pracy.

Włącz port łańcuchowy włącz_gui_chainout NIE Tak Wybierać Tak aby włączyć magistralę wyjściową chainout. Funkcja kaskady wyjściowej nie jest obsługiwana w

m18×18_pełny Tryb pracy.

Karta Pipelining

Parametr Parametr generowany przez adres IP Wartość Opis
Dodaj rejestr potoku wejściowego do sygnału danych wejściowych (x/y/z/coefsel) zegar_potoku_wejściowego NIE Zegar0 Zegar1 Zegar2 Wybierać Zegar0, Zegar1, Lub Zegar2 w celu włączenia i określenia sygnału zegara wejściowego dla rejestrów wejściowych potoku x, y, z, coefsela i coefselb.
Dodaj rejestr potoku wejściowego do sygnału danych „sub” zegar_pod_potoku NIE Zegar0 Zegar1 Zegar2 Wybierać Zegar0, Zegar1, Lub Zegar2 aby włączyć i określić sygnał zegara wejściowego dla rejestru wejściowego podpotoku. (2)
Dodaj rejestr potoku wejściowego do sygnału danych „accumulate” zegar_potokowy_akumulatora NIE Zegar0 Zegar1 Zegar2 Wybierać Zegar0, Zegar1, Lub Zegar2 aby włączyć i określić sygnał zegara wejściowego dla rejestru wejściowego potoku akumulacyjnego.2)
Dodaj rejestr potoku wejściowego do sygnału danych „loadconst” załaduj_stały_zegar_potoku NIE Zegar0 Zegar1 Zegar2 Wybierać Zegar0, Zegar1, Lub Zegar2 aby włączyć i określić sygnał zegara wejściowego dla rejestru wejściowego potoku loadconst.2)
Dodaj rejestr potoku wejściowego do sygnału danych „negate” zanegować_zegar_potoku NIE Zegar0 Zegar1 Zegar2 Wybierać Zegar0, Zegar1, Lub Zegar2 aby włączyć i określić sygnał zegara wejściowego dla rejestru wejściowego potoku negującego.2)

Maksymalna szerokość danych wejściowych na tryb pracy
Można dostosować szerokość danych dla pól wejściowych x, y i z zgodnie ze specyfikacją w tabeli.

Wszystkie rejestry wejściowe potoku dla sygnałów sterowania dynamicznego muszą mieć takie samo ustawienie zegara.

Tryb działania Maksymalna szerokość danych wejściowych
ax ay az bx by bz
Bez pre-sumatora lub współczynnika wewnętrznego
m18×18_pełny 18 (podpisano)

18

(niepodpisane)

19 (podpisano)

18 (niepodpisane)

Nieużywane 18 (podpisano)

18

(niepodpisane)

19 (podpisano)

18

(niepodpisane)

Nieużywane
m18×18_suma2
m18×18_skurczowy
m18×18_plus36
m27×27 27 (podpisano)

27 (niepodpisane)

Nieużywane
Tylko z funkcją Pre-adder
m18×18_pełny 18 (podpisano)

18 (niepodpisane)

m18×18_suma2
m18×18_skurczowy
m27×27 27 (podpisano)

27

(niepodpisane)

26 (podpisano)

26 (niepodpisane)

Nieużywane
Tylko z funkcją współczynnika wewnętrznego
m18×18_pełny Nieużywane 19 (podpisano)

18 (niepodpisane)

Nieużywane 19 (podpisano)

18

(niepodpisane)

Nieużywane
m18×18_suma2
m18×18_skurczowy
m27×27 27 (podpisano)

27 (niepodpisane)

Nieużywane

Opis funkcjonalny

Rdzeń IP DSP Cyclone 10 GX Native Fixed Point składa się z 2 architektur; mnożenia 18 × 18 i mnożenia 27 × 27. Każda instancja rdzenia IP DSP Cyclone 10 GX Native Fixed Point generuje tylko 1 z 2 architektur w zależności od wybranych trybów operacyjnych. Możesz włączyć opcjonalne moduły do ​​swojej aplikacji.

Informacje powiązane
Rozdział o blokach DSP o zmiennej precyzji w urządzeniach Intel Cyclone 10 GX, podręcznik Intel Cyclone 10 GX Core Fabric and General Purpose I/Os Handbook.

Tryby operacyjne

Rdzeń Cyclone 10 GX Native Fixed Point DSP IP obsługuje 5 trybów pracy:

  • Tryb pełny 18 × 18
  • Tryb sumy 18 18 × 2
  • Tryb 18 × 18 Plus 36
  • Tryb skurczowy 18 × 18
  • Tryb 27 × 27

Tryb pełny 18 × 18
W przypadku konfiguracji w trybie pełnym 18 × 18 rdzeń IP DSP Cyclone 10 GX Native Fixed Point działa jako dwa niezależne procesory 18 (ze znakiem/bez znaku) × 19 (ze znakiem) lub 18
(signed/unsigned) × 18 (unsigned) mnożników z wyjściem 37-bitowym. Ten tryb stosuje następujące równania:

  • wynik = ax * ay
  • wynikb = bx * przez

Architektura trybu pełnego 18 × 18

intel-UG-20094-Cyclone-10-GX-Natywny-stały-punkt-DSP-IP-Core-FIG- (2)

Tryb sumy 18 18 × 2
W trybach 18 × 18 Sum of 2 rdzeń IP DSP Cyclone 10 GX Native Fixed Point włącza górne i dolne mnożniki i generuje wynik z dodawania lub odejmowania między 2 mnożnikami. Subdynamiczny sygnał sterujący steruje sumatorem, aby wykonać operacje dodawania lub odejmowania. Szerokość wyjściowa resulta rdzenia IP DSP Cyclone 10 GX Native Fixed Point może obsługiwać do 64 bitów, gdy włączysz kaskadę akumulatora/wyjścia. Ten tryb stosuje równanie resulta =[±(ax * ay) + (bx * by)].

Architektura 18 × 18 Suma 2 trybów

intel-UG-20094-Cyclone-10-GX-Natywny-stały-punkt-DSP-IP-Core-FIG- (3)

Tryb 18 × 18 Plus 36
W przypadku konfiguracji w trybie 18 × 18 Plus 36 rdzeń IP Cyclone 10 GX Native Fixed Point DSP włącza tylko górny mnożnik. Ten tryb stosuje równanie resulta = (ax * ay) + concatenate(bx[17:0],by[17:0]).

Architektura trybu 18 × 18 Plus 36

intel-UG-20094-Cyclone-10-GX-Natywny-stały-punkt-DSP-IP-Core-FIG- (4)

Musisz ustawić format Representation dla dolnych mnożników y operand na unsigned podczas korzystania z tego trybu. Gdy magistrala wejściowa jest mniejsza niż 36-bitowa w tym trybie, musisz podać niezbędne rozszerzenie ze znakiem, aby wypełnić 36-bitowe wejście.

Używanie operandu mniejszego niż 36-bitowy w trybie 18 × 18 Plus 36
Ten byłyample pokazuje, jak skonfigurować rdzeń IP DSP Cyclone 10 GX Native Fixed Point do korzystania z trybu operacyjnego 18 × 18 Plus 36 ze podpisanymi 12-bitowymi danymi wejściowymi 101010101010 (binarnymi) zamiast 36-bitowego operandu.

  1. Ustaw Format reprezentacji dla dolnego operandu mnożnika x: na ze znakiem.
  2. Ustaw Format reprezentacji dla dolnego mnożnika y operandu: na bez znaku.
  3. Ustaw szerokość magistrali wejściowej 'bx' na 18.
  4. Ustaw szerokość magistrali wejściowej 'by' na 18.
  5. Dostarcz dane '111111111111111111' do magistrali wejściowej bx.
  6. Dostarcz dane '111111101010101010' przez magistralę wejściową.

Tryb skurczowy 18 × 18
W trybach operacyjnych systolic 18 × 18 rdzeń IP DSP Cyclone 10 GX Native Fixed Point włącza górne i dolne mnożniki, rejestr wejściowy systolic dla górnego mnożnika i rejestr łańcuchowy systolic dla łańcucha w sygnałach wejściowych. Po włączeniu kaskady wyjściowej ten tryb obsługuje szerokość wyjściową resulta wynoszącą 44 bity. Po włączeniu funkcji akumulatora bez kaskady wyjściowej można skonfigurować szerokość wyjściową resulta na 64 bity.

Architektura trybu systolicznego 18 × 18

intel-UG-20094-Cyclone-10-GX-Natywny-stały-punkt-DSP-IP-Core-FIG- (4)

Tryb 27 × 27
W przypadku konfiguracji w trybach 27 × 27 rdzeń IP Cyclone 10 GX Native Fixed Point DSP umożliwia mnożnik 27 (signed/unsigned) × 27 (signed/unsigned). Szyna wyjściowa może obsługiwać do 64 bitów z włączoną kaskadą akumulatora/wyjścia. Ten tryb stosuje równanie resulta = ax * ay.

Architektura trybu 27 × 27

intel-UG-20094-Cyclone-10-GX-Natywny-stały-punkt-DSP-IP-Core-FIG- (6)

Moduły opcjonalne

Opcjonalne moduły dostępne w rdzeniu Cyclone 10 GX Native Fixed Point DSP IP Core to:

  • Kaskada wejściowa
  • Pre-sumatory
  • Współczynnik wewnętrzny
  • Akumulator i kaskada wyjściowa
  • Rejestry rurociągów

Kaskada wejściowa
Funkcja kaskady wejściowej jest obsługiwana na magistrali wejściowej ay i by input bus. Po ustawieniu opcji Enable input cascade for 'ay' input na Yes (Włącz kaskadę wejściową dla wejścia 'ay') rdzeń IP DSP Cyclone 10 GX Native Fixed Point będzie pobierał dane wejściowe z sygnałów wejściowych skanowania zamiast z magistrali wejściowej ay. Po ustawieniu opcji Enable input cascade for 'by' input (Włącz kaskadę wejściową dla wejścia 'by') rdzeń IP DSP Cyclone 10 GX Native Fixed Point będzie pobierał dane wejściowe z magistrali wejściowej ay zamiast z magistrali wejściowej by input bus.

Zaleca się włączenie rejestrów wejściowych dla ay i/lub , gdy tylko włączona jest kaskada wejściowa, w celu zapewnienia poprawności działania aplikacji.

Możesz włączyć rejestry opóźnień, aby dopasować wymagania opóźnienia między rejestrem wejściowym a rejestrem wyjściowym. W rdzeniu znajdują się 2 rejestry opóźnień. Górny rejestr opóźnień jest używany dla portów wejściowych ay lub scan-in, podczas gdy dolny rejestr opóźnień jest używany dla portów wyjściowych scanout. Te rejestry opóźnień są obsługiwane w trybie pełnym 18 × 18, sumach 18 × 18 2 trybów i trybach systolic 18 × 18.

Pre-dodawanie

Pre-dodatek można skonfigurować w następujących konfiguracjach:

  • Dwa niezależne 18-bitowe (ze znakiem/bez znaku) presumatory.
  • Jeden 26-bitowy presumator.

Gdy włączysz pre-sumator w trybach mnożenia 18 × 18, ay i az są używane jako magistrala wejściowa do górnego pre-sumatora, podczas gdy by i bz są używane jako magistrala wejściowa do dolnego pre-sumatora. Gdy włączysz pre-sumator w trybie mnożenia 27 × 27, ay i az są używane jako magistrala wejściowa do pre-sumatora. Pre-sumator obsługuje zarówno operacje dodawania, jak i odejmowania. Gdy używane są oba pre-sumatory w tym samym bloku DSP, muszą one współdzielić ten sam typ operacji (dodawanie lub odejmowanie).

Współczynnik wewnętrzny
Wewnętrzny współczynnik może obsługiwać do ośmiu stałych współczynników dla mnożników w trybach 18-bitowym i 27-bitowym. Po włączeniu funkcji wewnętrznego współczynnika zostaną wygenerowane dwie magistrale wejściowe do sterowania wyborem multipleksera współczynników. Magistrala wejściowa coefsela służy do wybierania wstępnie zdefiniowanych współczynników dla górnego mnożnika, a magistrala wejściowa counsel służy do wybierania wstępnie zdefiniowanych współczynników dla dolnego mnożnika.

Wewnętrzny magazyn współczynników nie obsługuje dynamicznie sterowanych wartości współczynników. Do wykonania takiej operacji wymagany jest zewnętrzny magazyn współczynników.

Akumulator i kaskada wyjściowa

Moduł akumulatora można włączyć w celu wykonania następujących operacji:

  • Operacja dodawania lub odejmowania
  • Operacja zaokrąglania stronniczego przy użyciu stałej wartości 2N
  • Akumulacja dwukanałowa

Aby dynamicznie wykonać operację dodawania lub odejmowania akumulatora, należy sterować sygnałem wejściowym negacji. W przypadku operacji zaokrąglania stronniczego można określić i załadować wstępnie ustawioną stałą 2N przed włączeniem modułu akumulatora, określając liczbę całkowitą dla wartości parametru N wstępnie ustawionej stałej. Liczba całkowita N musi być mniejsza niż 64. Można dynamicznie włączać lub wyłączać użycie wstępnie ustawionej stałej, sterując sygnałem loadconst. Można użyć tej operacji jako aktywnego multipleksowania wartości zaokrąglenia do ścieżki sprzężenia zwrotnego akumulatora. Koszt ładowania i skumulowane użycie sygnału wykluczają się wzajemnie.

Rejestr podwójnego akumulatora można włączyć za pomocą parametru Enable double accumulator, aby wykonać podwójną akumulację. Moduł akumulatora może obsługiwać łączenie łańcuchowe wielu bloków DSP w celu wykonywania operacji dodawania lub odejmowania, włączając port wejściowy łączenia łańcuchowego i port wyjściowy łączenia łańcuchowego. W trybie systolicznym 18 × 18 używane będą tylko 44-bitowe magistrale wejściowe łańcucha i wyjściowe łączenia łańcuchowego. Jednak wszystkie 64-bitowe łańcuchy w magistrali wejściowej muszą być podłączone do magistrali wyjściowej łączenia łańcuchowego z poprzedniego bloku DSP.

Rejestr rurociągów

Rdzeń Cyclone 10 GX Native Fixed Point DSP IP obsługuje pojedynczy poziom rejestru potokowego. Rejestr potokowy obsługuje do trzech źródeł zegara i jeden asynchroniczny sygnał czyszczenia w celu zresetowania rejestrów potokowych. Istnieje pięć rejestrów potokowych:

  • rejestr magistrali wejściowej danych
  • rejestr podrzędnego dynamicznego sygnału sterującego
  • zanegować dynamiczny rejestr sygnału sterującego
  • gromadź dynamiczny rejestr sygnału sterującego
  • loadconst dynamiczny rejestr potoku sterowania

Możesz wybrać włączenie każdego rejestru potoku magistrali danych wejściowych i rejestrów potoku sygnałów sterowania dynamicznego niezależnie. Jednak wszystkie włączone rejestry potoku muszą używać tego samego źródła zegara.

Schemat taktowania

Rejestry wejściowe, potokowe i wyjściowe w rdzeniu Cyclone 10 GX Native Fixed Point DSP IP obsługują trzy źródła zegara/włączenia i dwa asynchroniczne czyszczenia. Wszystkie rejestry wejściowe używają aclr[0], a wszystkie rejestry potokowe i wyjściowe używają aclr[1]. Każdy typ rejestru może wybrać jedno z trzech źródeł zegara i sygnałów włączania zegara. Po skonfigurowaniu rdzenia Cyclone 10 GX Native Fixed Point DSP IP do trybu pracy systolic 18 × 18 oprogramowanie Intel Quartus Prime ustawi rejestr wejściowy systolic i źródło zegara rejestru łańcuchowego systolic na to samo źródło zegara, co rejestr wyjściowy wewnętrznie.

Po włączeniu funkcji podwójnego akumulatora oprogramowanie Intel Quartus Prime ustawi źródło zegara rejestru podwójnego akumulatora na to samo źródło zegara, co rejestr wyjściowy.

Ograniczenia schematu zegara
Na tej karcie znajdują się ograniczenia, które należy uwzględnić we wszystkich schematach taktowania rejestrów.

Stan Ograniczenie
Gdy pre-dodawanie jest włączone Źródło zegara dla rejestrów wejściowych ay i az musi być takie samo.
  Źródło zegara dla rejestrów wejściowych by i bz musi być takie samo.
Gdy rejestry potokowe są włączone Źródło zegara dla wszystkich rejestrów potoku musi być takie samo.
Gdy którykolwiek z rejestrów wejściowych dla sygnałów sterowania dynamicznego Źródło zegara dla rejestrów wejściowych dla funkcji sub, aggregate, loadconst i negate musi być takie samo.
Cyclone 10 GX Native Fixed Point DSP Sygnały rdzeniowe IP

Na poniższym rysunku przedstawiono sygnały wejściowe i wyjściowe rdzenia IP DSP Cyclone 10 GX Native Fixed Point.

Cyclone 10 GX Native Fixed Point DSP Sygnały rdzeniowe IP

intel-UG-20094-Cyclone-10-GX-Natywny-stały-punkt-DSP-IP-Core-FIG- (7)

Sygnały wejściowe danych
Nazwa sygnału Typ Szerokość Opis
topór[] Wejście 27 Szyna danych wejściowych do mnożnika górnego.
aj[] Wejście 27 Szyna danych wejściowych do mnożnika górnego.

Po włączeniu presumatora sygnały te są przesyłane jako sygnały wejściowe do górnego presumatora.

z[] Wejście 26 Sygnały te stanowią sygnały wejściowe dla górnego presumatora.

Sygnały te są dostępne tylko wtedy, gdy pre-advert jest włączony. Sygnały te nie są dostępne w m18×18_plus36

tryb operacyjny.

bx[] Wejście 18 Magistrala danych wejściowych do mnożnika dolnego.

Sygnały te nie są dostępne w m27×27 tryb operacyjny.

przez[] Wejście 19 Magistrala danych wejściowych do mnożnika dolnego.

Po włączeniu presumatora sygnały te służą jako sygnały wejściowe do dolnego presumatora.

Sygnały te nie są dostępne w m27×27 tryb operacyjny.

bz[] Wejście 18 Te sygnały są sygnałami wejściowymi do dolnego pre-sumatora. Sygnały te są dostępne tylko wtedy, gdy pre-sumator jest włączony. Sygnały te nie są dostępne w m27×27 m18×18_plus36 tryby operacyjne.
Sygnały wyjściowe danych
Nazwa sygnału Typ Szerokość Opis
wynik[] Wyjście 64 Szyna danych wyjściowych z górnego mnożnika.

Sygnały te obsługują do 37 bitów m18×18_pełny tryb operacyjny.

wynikb[] Wyjście 37 Magistrala danych wyjściowych z dolnego mnożnika.

Sygnały te są dostępne tylko w m18×18_pełny tryb operacyjny.

Zegar, włączanie i czyszczenie sygnałów

Nazwa sygnału Typ Szerokość Opis
zegar[] Wejście 3 Sygnały zegara wejściowego dla wszystkich rejestrów.

Te sygnały zegara są dostępne tylko wtedy, gdy którykolwiek z rejestrów wejściowych, rejestrów potokowych lub rejestrów wyjściowych jest ustawiony na Zegar0, Zegar1, Lub Zegar2.

• zegar[0] = Zegar0

• zegar[1] = Zegar1

• zegar[2] = Zegar2

ena[] Wejście 3 Włączenie zegara dla clk[2:0]. Ten sygnał jest aktywny-wysoki.

• ena[0] jest dla Zegar0

• ena[1] jest dla Zegar1

• ena[2] jest dla Zegar2

[zaloguj] Wejście 2 Asynchroniczne sygnały wejściowe do czyszczenia dla wszystkich rejestrów. Ten sygnał jest aktywny-wysoki.

Używać aclr[0] dla wszystkich rejestrów wejściowych i użytku aclr[1] dla wszystkich rejestrów potokowych i rejestrów wyjściowych.

Domyślnie ten sygnał jest wyłączony.

Sygnały sterowania dynamicznego

Nazwa sygnału Typ Szerokość Opis
zastąpić Wejście 1 Sygnał wejściowy dodający lub odejmujący sygnał wyjściowy górnego mnożnika od sygnału wyjściowego dolnego mnożnika.

• Anuluj potwierdzenie tego sygnału, aby określić operację dodawania.

• Potwierdź ten sygnał, aby określić operację odejmowania.

Domyślnie ten sygnał jest dezaktywowany. Możesz potwierdzić lub dezaktywować ten sygnał w czasie wykonywania.3)

negować Wejście 1 Sygnał wejściowy służący do dodawania lub odejmowania sumy mnożników górnych i dolnych z danymi z sygnałów łańcuchowych.

• Anuluj potwierdzenie tego sygnału, aby określić operację dodawania.

• Potwierdź ten sygnał, aby określić operację odejmowania.

Domyślnie ten sygnał jest dezaktywowany. Możesz potwierdzić lub dezaktywować ten sygnał w czasie wykonywania.3)

gromadzić Wejście 1 Sygnał wejściowy umożliwiający włączenie lub wyłączenie funkcji akumulatora.

• Anuluj ten sygnał, aby wyłączyć funkcję akumulatora.

• Potwierdź ten sygnał, aby włączyć funkcję akumulatora.

Domyślnie ten sygnał jest dezaktywowany. Możesz potwierdzić lub dezaktywować ten sygnał w czasie wykonywania.3)

stała obciążenia Wejście 1 Sygnał wejściowy umożliwiający włączenie lub wyłączenie funkcji stałego obciążenia.

• Anuluj potwierdzenie tego sygnału, aby wyłączyć funkcję stałego obciążenia.

• Potwierdź ten sygnał, aby włączyć funkcję stałego obciążenia.

Domyślnie ten sygnał jest dezaktywowany. Możesz potwierdzić lub dezaktywować ten sygnał w czasie wykonywania.3)

Sygnały współczynników wewnętrznych

Nazwa sygnału Typ Szerokość Opis
cukiernia[] Wejście 3 Sygnały wyboru wejściowego dla 8 wartości współczynników zdefiniowanych przez użytkownika dla górnego mnożnika. Wartości współczynników są przechowywane w pamięci wewnętrznej i określane przez parametry współczynnik_a_0 Do współczynnik_a_7.

• coefsela[2:0] = 000 odnosi się do współczynnik_a_0

• coefsela[2:0] = 001 odnosi się do współczynnik_a_1

• coelsela[2:0] = 010 odnosi się do współczynnik_a_2

• … i tak dalej.

Sygnały te są dostępne wyłącznie po włączeniu funkcji współczynnika wewnętrznego.

współczuję[] Wejście 3 Sygnały wyboru wejściowego dla 8 wartości współczynników zdefiniowanych przez użytkownika dla dolnego mnożnika. Wartości współczynników są przechowywane w pamięci wewnętrznej i określane przez parametry współczynnik_b_0 Do współczynnik_b_7.

• coefselb[2:0] = 000 odnosi się do współczynnik_b_0

• coefselb[2:0] = 001 odnosi się do współczynnik_b_1

• coelselb[2:0] = 010 odnosi się do współczynnik_b_2

• … i tak dalej.

Sygnały te są dostępne wyłącznie po włączeniu funkcji współczynnika wewnętrznego.

Sygnały kaskadowe wejściowe

Nazwa sygnału Typ Szerokość Opis
skanowanie[] Wejście 27 Magistrala danych wejściowych dla modułu kaskady wejściowej.

Podłącz te sygnały do ​​sygnałów skanowania z poprzedniego rdzenia DSP.

skanowanie[] Wyjście 27 Magistrala danych wyjściowych modułu kaskady wejściowej.

Podłącz te sygnały do ​​sygnałów skanujących kolejnego rdzenia DSP.

Sygnały kaskadowe wyjściowe

Nazwa sygnału Typ Szerokość Opis
łańcuchowanie[] Wejście 64 Magistrala danych wejściowych dla modułu kaskadowego wyjściowego.

Podłącz te sygnały do ​​sygnałów łańcuchowych z poprzedniego rdzenia DSP.

łańcuch[] Wyjście 64 Magistrala danych wyjściowych modułu kaskadowego.

Podłącz te sygnały do ​​sygnałów łańcuchowych następnego rdzenia DSP.

Historia rewizji dokumentu dla podręcznika użytkownika Cyclone 10 GX Native Fixed Point DSP IP Core

Data Wersja Zmiany
Listopad 2017 2017.11.06 Pierwsze wydanie.

Korporacja intelektualna. Wszelkie prawa zastrzeżone. Intel, logo Intel i inne znaki Intel są znakami towarowymi firmy Intel Corporation lub jej podmiotów zależnych. Firma Intel gwarantuje wydajność swoich produktów FPGA i produktów półprzewodnikowych zgodnie z aktualnymi specyfikacjami zgodnie ze standardową gwarancją firmy Intel, ale zastrzega sobie prawo do wprowadzania zmian we wszelkich produktach i usługach w dowolnym czasie i bez powiadomienia. Firma Intel nie przyjmuje żadnej odpowiedzialności wynikającej z zastosowania lub wykorzystania jakichkolwiek informacji, produktów lub usług opisanych w niniejszym dokumencie, z wyjątkiem przypadków wyraźnie uzgodnionych na piśmie przez firmę Intel. Klientom firmy Intel zaleca się uzyskanie najnowszej wersji specyfikacji urządzenia przed poleganiem na opublikowanych informacjach oraz przed złożeniem zamówienia na produkty lub usługi.

Inne nazwy i marki mogą być własnością osób trzecich.

Dokumenty / Zasoby

intel UG-20094 Cyclone 10 GX Native Fixed Point DSP IP Core [plik PDF] Instrukcja użytkownika
UG-20094 Cyclone 10 GX Native Fixed Point DSP IP Core, UG-20094, Cyclone 10 GX Native Fixed Point DSP IP Core, Native Fixed Point DSP IP Core, Fixed Point DSP IP Core, DSP IP Core

Odniesienia

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *