intel UG-20094 Cyclone 10 GX Native Fixed Point DSP IP Core
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 Point
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
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
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
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.
- Ustaw Format reprezentacji dla dolnego operandu mnożnika x: na ze znakiem.
- Ustaw Format reprezentacji dla dolnego mnożnika y operandu: na bez znaku.
- Ustaw szerokość magistrali wejściowej 'bx' na 18.
- Ustaw szerokość magistrali wejściowej 'by' na 18.
- Dostarcz dane '111111111111111111' do magistrali wejściowej bx.
- 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
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
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
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 I 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 |