Intel UG-20094 Cyclone 10 GX Native Fixed Point DSP IP Core
Ghidul utilizatorului Intel® Cyclone® 10 GX Native Fixed Point DSP IP Core
Nucleul IP Intel Cyclone® 10 GX Native Fixed Point DSP instanțează și controlează un singur bloc Intel Cyclone 10 GX Variable Precision Digital Signal Processing (DSP). Nucleul IP Cyclone 10 GX Native Fixed Point DSP este disponibil numai pentru dispozitivele Intel Cyclone 10 GX.
Diagrama bloc funcțională Cyclone 10 GX Native Fixed Point DSP IP Core
Informații conexe
Introducere în Intel FPGA IP Cores.
Cyclone 10 GX Native Fixed Point DSP IP Caracteristici de bază
Nucleul IP DSP Cyclone 10 GX Native Fixed Point acceptă următoarele caracteristici:
- Operații de înmulțire de înaltă performanță, optimizate în funcție de putere și înregistrate complet
- Lungimea cuvintelor de 18 și 27 de biți
- Doi multiplicatori 18 × 19 sau un multiplicator 27 × 27 per bloc DSP
- Registrul de adunare, scădere și acumulare dublă de 64 de biți încorporat pentru a combina rezultatele înmulțirii
- În cascadă de 19 biți sau 27 de biți când pre-adunatorul este dezactivat și în cascadă de 18 biți când pre-adunatorul este utilizat pentru a forma linia de întârziere a apei pentru aplicația de filtrare
- Busă de ieșire în cascadă pe 64 de biți pentru a propaga rezultatele de la un bloc la următorul bloc fără suport logic extern
- Pre-adăugător dur acceptat în modurile de 19 și 27 de biți pentru filtre simetrice
- Banca de registre de coeficienți intern în ambele moduri de 18 biți și 27 de biți pentru implementarea filtrului
- Filtre de răspuns la impulsuri finite (FIR) sistolice de 18 și 27 de biți cu adaos de ieșire distribuită
Noțiuni de bază
Acest capitol oferă o prezentare generalăview a fluxului de proiectare a nucleului Intel FPGA IP pentru a vă ajuta să începeți rapid cu nucleul IP Cyclone 10 GX Native Fixed Point DSP. Biblioteca Intel FPGA IP este instalată ca parte a procesului de instalare Intel Quartus® Prime. Puteți selecta și parametriza orice nucleu Intel FPGA IP din bibliotecă. Intel oferă un editor de parametri integrat care vă permite să personalizați nucleul Intel FPGA DSP IP pentru a suporta o mare varietate de aplicații. Editorul de parametri vă ghidează prin setarea valorilor parametrilor și prin selectarea porturilor opționale.
Informații conexe
- Introducere în Intel FPGA IP Cores
Oferă informații generale despre toate nucleele IP Intel FPGA, inclusiv parametrizarea, generarea, actualizarea și simularea nucleelor IP. - Crearea de scripturi de simulare IP independente de versiune și Platform Designer (Standard).
Creați scripturi de simulare care nu necesită actualizări manuale pentru actualizări de software sau de versiune IP. - Cele mai bune practici de management de proiect
Orientări pentru gestionarea eficientă și portabilitatea proiectului și IP-ul dvs files.
Cyclone 10 GX Native Fixed Point DSP IP Core Parameter Settings
Puteți personaliza nucleul IP Cyclone 10 GX Native Fixed Point DSP prin specificarea parametrilor utilizând editorul de parametri din software-ul Intel Quartus Prime.
Tab. Mod de operare
Parametru | Parametru generat de IP | Valoare | Descriere |
Vă rugăm să alegeți modul de funcționare | operation_mode | m18×18_full m18×18_sumof2 m18×18_plus36 m18×18_systolic m27×27 | Selectați modul de funcționare dorit. |
Configurația multiplicatorului | |||
Format de reprezentare pentru operandul multiplicator x superior | signed_max | semnat nesemnat | Specificați formatul de reprezentare pentru operandul multiplicator x superior. |
Parametru | Parametru generat de IP | Valoare | Descriere |
Format de reprezentare pentru operandul multiplicator superior y | semnat_mai | semnat nesemnat | Specificați formatul de reprezentare pentru operandul multiplicator superior y. |
Format de reprezentare pentru operand multiplicatorul x inferior | signed_mbx | semnat nesemnat | Specificați formatul de reprezentare pentru operandul multiplicator x inferior. |
Format de reprezentare pentru operand multiplicatorul inferior y | signed_mby | semnat nesemnat | Specificați formatul de reprezentare pentru operandul multiplicator inferior y.
Selectați întotdeauna nesemnat pentru m18×18_plus36 . |
Activați portul „sub”. | enable_sub | Nu Da | Selecta Da pentru a activa
subport. |
Înregistrați intrarea „sub” a multiplicatorului | sub_ceas | Nu Ceas0 Ceas1 Ceas2 | Selecta Ceas0, Ceas1, sau Ceas2 pentru a activa și specifica semnalul de ceas de intrare pentru registrul de intrare secundar. |
Cascada de intrare | |||
Activați cascada de intrare pentru intrarea „ay”. | ay_use_scan_in | Nu Da | Selecta Da pentru a activa modulul în cascadă de intrare pentru orice intrare de date.
Când activați modulul în cascadă de intrare, nucleul IP DSP cu punct fix nativ Cyclone 10 GX utilizează semnalele de intrare de scanare ca intrare în loc de semnale de intrare. |
Activați cascada de intrare pentru intrarea „prin”. | by_use_scan_in | Nu Da | Selecta Da pentru a activa modulul în cascadă de intrare prin intrarea datelor.
Când activați modulul în cascadă de intrare, nucleul IP DSP Native Fixed Point Cyclone 10 GX utilizează semnalele de intrare ay ca intrare în loc de semnale de intrare. |
Activați registrul de întârziere a datelor | delay_scan_out_ay | Nu Da | Selecta Da pentru a activa registrul de întârziere între ay și registrele de intrare.
Această caracteristică nu este acceptată în m18×18_plus36 şi m27x27 modul de operare. |
Parametru | Parametru generat de IP | Valoare | Descriere |
Activați datele prin registru de întârziere | delay_scan_out_by | Nu Da | Selecta Da pentru a activa registrul de întârziere între registrele de intrare și magistrala de ieșire de scanare.
Această caracteristică nu este acceptată în m18×18_plus36 şi m27x27 modul de operare. |
Activați portul de scanare | gui_scanout_enable | Nu Da | Selecta Da pentru a activa
magistrală de ieșire de scanare. |
lățimea magistralei de ieșire „scanout”. | scan_out_width | 1–27 | Specificați lățimea
magistrală de ieșire de scanare. |
Configurație de date „x”. | |||
lățimea magistralei de intrare „ax”. | ax_width | 1–27 | Specificați lățimea
magistrală de intrare ax.(1) |
Înregistrați intrarea „ax” a multiplicatorului | ax_clock | Nu Ceas0 Ceas1 Ceas2 | Selecta Ceas0, Ceas1, sau Ceas2 pentru a activa și specifica semnalul de ceas de intrare pentru registrul de intrare ax.
Registrul de intrare ax nu este disponibil dacă setați sursa operandului „ax”. la 'coef'. |
lățimea magistralei de intrare „bx”. | bx_width | 1–18 | Specificați lățimea
magistrală de intrare bx.(1) |
Înregistrați intrarea „bx” a multiplicatorului | bx_clock | Nu Ceas0 Ceas1 Ceas2 | Selecta Ceas0, Ceas1, sau Ceas2 pentru a activa și specifica semnalul de ceas de intrare pentru registrul de intrare bx.
Registrul de intrare bx nu este disponibil dacă ați setat sursa operandului „bx”. la 'coef'. |
Configurație de date „y”. | |||
„da” sau „scanează” lățimea autobuzului | ay_scan_in_width | 1–27 | Specificați lățimea magistralei de intrare ay sau scanin.(1) |
Înregistrați intrarea „da” sau introducerea „scanare” a multiplicatorului | ay_scan_in_clock | Nu Ceas0 Ceas1 Ceas2 | Selecta Ceas0, Ceas1, sau Ceas2 pentru a activa și specifica semnalul de ceas de intrare pentru registrul de intrare ay sau scanin. |
„prin” lățimea magistralei de intrare | by_width | 1–19 | Specificați lățimea magistralei de intrare.(1) |
Parametru | Parametru generat de IP | Valoare | Descriere |
Înregistrați intrarea „prin” a multiplicatorului | la_ceas | Nu Ceas0 Ceas1 Ceas2 | Selecta Ceas0, Ceas1, sau Ceas2 pentru a activa și specifica semnalul de ceas de intrare pentru by sau scanin
registru de intrare.(1) |
Ieșire „rezultat” Configurație | |||
lățimea magistralei de ieșire „rezultat”. | rezultat_a_lățime | 1–64 | Specificați lățimea
magistrala de ieșire rezultată. |
lățimea magistralei de ieșire „rezultatb”. | result_b_width | 1–64 | Specificați lățimea magistralei de ieșire rezultatb. resultb disponibil numai când se utilizează operation_mode m18×18_full. |
Utilizați registrul de ieșire | ceas_ieșire | Nu Ceas0 Ceas1 Ceas2 | Selecta Ceas0, Ceas1, sau Ceas2 pentru a activa și specifica semnalul de ceas de intrare pentru registrele de ieșire result și resultb. |
Fila Pre-adunator
Parametru | Parametru generat de IP | Valoare | Descriere |
sursa operandului „da”. | operand_source_may | predder de intrare | Specificați sursa operandului pentru intrarea ay. Selecta predder pentru a activa modulul pre-adăugător pentru multiplicatorul superior. Setările pentru ay și după sursa operandului trebuie să fie aceleași. |
„de” sursa operandului | operand_source_mby | predder de intrare | Specificați sursa operandului pentru intrare. Selecta predder pentru a activa modulul pre-adunator pentru multiplicatorul de jos. Setările pentru ay și după sursa operandului trebuie să fie aceleași. |
Setați pre-adăugarea unei operații la scădere | predder_subtract_a | Nu Da | Selecta Da pentru a specifica operația de scădere pentru modulul pre-adunator pentru multiplicatorul superior. Setările de pre-adăugător pentru multiplicatorul de sus și de jos trebuie să fie aceleași. |
Setați operația de pre-adunator b la scădere | predder_subtract_b | Nu Da | Selecta Da pentru a specifica operația de scădere pentru modulul pre-adunator pentru multiplicatorul de jos. Setările de pre-adăugător pentru multiplicatorul de sus și de jos trebuie să fie aceleași. |
Configurație de date „z”. | |||
lățimea magistralei de intrare „az”. | az_width | 1–26 | Specificați lățimea magistralei de intrare az.(1) |
Înregistrați intrarea „az” a multiplicatorului | az_clock | Nu Ceas0 Ceas1 Ceas2 | Selecta Ceas0, Ceas1, sau Ceas2 pentru a activa și specifica semnalul de ceas de intrare pentru registrele de intrare az. Setările ceasului pentru registrele de intrare ay și az trebuie să fie aceleași. |
lățimea magistralei de intrare „bz”. | bz_width | 1–18 | Specificați lățimea magistralei de intrare bz.(1) |
Înregistrați intrarea „bz” a multiplicatorului | bz_clock | Nu Ceas0 Ceas1 Ceas2 | Selecta Ceas0, Ceas1, sau Ceas2 pentru a activa și specifica semnalul de ceas de intrare pentru registrele de intrare bz. Setările ceasului pentru registrele de intrare by și bz trebuie să fie aceleași. |
Tab. Coeficient intern
Parametru | Parametru generat de IP | Valoare | Descriere |
sursa operandului „ax”. | operand_source_max | intrare coef | Specificați sursa operandului pentru magistrala de intrare ax. Selecta coef pentru a activa modulul de coeficient intern pentru multiplicatorul superior.
Selecta Nu pentru Înregistrați intrarea „ax” a multiplicatorului parametru atunci când activați caracteristica coeficientului intern. |
Parametru | Parametru generat de IP | Valoare | Descriere |
Setările pentru sursa de operanzi ax și bx trebuie să fie aceleași. | |||
sursa operandului „bx”. | operand_source_mbx | intrare coef | Specificați sursa operandului pentru magistrala de intrare bx. Selecta coef pentru a activa modulul de coeficient intern pentru multiplicatorul superior.
Selecta Nu pentru Înregistrați intrarea „bx” a multiplicatorului parametru atunci când activați caracteristica coeficientului intern. Setările pentru sursa de operanzi ax și bx trebuie să fie aceleași. |
Configurația registrului de intrare „coefsel”. | |||
Înregistrați intrarea „coefsela” a multiplicatorului | coef_sel_a_clock | Nu Ceas0 Ceas1 Ceas2 | Selecta Ceas0, Ceas1, sau Ceas2 pentru a activa și specifica semnalul de ceas de intrare pentru registrele de intrare coefsela. |
Înregistrați intrarea „coefselb” a multiplicatorului | coef_sel_b_clock | Nu Ceas0 Ceas1 Ceas2 | Selecta Ceas0, Ceas1, sau Ceas2 pentru a activa și specifica semnalul de ceas de intrare pentru registrele de intrare coefselb. |
Configurație de stocare a coeficientului | |||
coef_a_0–7 | coef_a_0–7 | Întreg | Specificați valorile coeficientului pentru magistrala de intrare ax.
Pentru modul de funcționare pe 18 biți, valoarea maximă de intrare este 218 – 1. Pentru funcționarea pe 27 de biți, valoarea maximă este 227 – 1. |
coef_b_0–7 | coef_b_0–7 | Întreg | Specificați valorile coeficientului pentru magistrala de intrare bx. |
Fila Cascada Acumulator/Ieșire
Parametru | Parametru generat de IP | Valoare | Descriere |
Activați portul „acumulare”. | enable_accumulate | Nu Da | Selecta Da pentru a activa
port acumulator. |
Activați portul „negat”. | enable_negate | Nu Da | Selecta Da pentru a activa
nega portul. |
Activați portul „loadconst”. | enable_loadconst | Nu Da | Selecta Da pentru a activa
portul loadconst. |
Înregistrați intrarea „acumulată” a acumulatorului | acumulare_clock | Nu Ceas0 Ceas1 Ceas2 | Selecta Ceas0 , Ceas1, sau Ceas2 pentru a activa și specifica semnalul de ceas de intrare pentru registrele de intrare acumulate. |
Parametru | Parametru generat de IP | Valoare | Descriere |
Înregistrați intrarea „loadconst” a acumulatorului | load_const_clock | Nu Ceas0 Ceas1 Ceas2 | Selecta Ceas0, Ceas1, sau Ceas2 pentru a activa și specifica semnalul de ceas de intrare pentru registrele de intrare loadconst. |
Înregistrați intrarea „negație” a unității de adunare | negate_clock | Nu Ceas0 Ceas1 Ceas2 | Selecta Ceas0, Ceas1, sau Ceas2 pentru a activa și specifica semnalul de ceas de intrare pentru registrele de intrare anulate. |
Activați acumulatorul dublu | enable_double_accum | Nu Da | Selecta Da pentru a activa caracteristica acumulatorului dublu. |
Valoarea N a constantei prestabilite | load_const_value | 0 – 63 | Specificați valoarea constantă prestabilită.
Această valoare poate fi 2N unde N este valoarea constantă prestabilită. |
Activați portul de lanț | use_chainadder | Nu Da | Selecta Da pentru a activa modulul în cascadă de ieșire și magistrala de intrare în lanț.
Funcția cascadă de ieșire nu este acceptată în m18×18_full mod de operare. |
Activați portul chainout | gui_chainout_enable | Nu Da | Selecta Da pentru a activa magistrala de ieșire chainout. Funcția cascadă de ieșire nu este acceptată în
m18×18_full mod de operare. |
Fila Conducte
Parametru | Parametru generat de IP | Valoare | Descriere |
Adăugați registrul conductei de intrare la semnalul de date de intrare (x/y/z/coefsel) | input_pipeline_clock | Nu Ceas0 Ceas1 Ceas2 | Selecta Ceas0, Ceas1, sau Ceas2 pentru a activa și specifica semnalul de ceas de intrare pentru registrele de intrare în conductă x, y, z, coefsela și coefselb. |
Adăugați registrul conductei de intrare la semnalul de date „sub”. | sub_pipeline_clock | Nu Ceas0 Ceas1 Ceas2 | Selecta Ceas0, Ceas1, sau Ceas2 pentru a activa și specifica semnalul de ceas de intrare pentru registrul de intrare al conductei secundare. (2) |
Adăugați registrul conductei de intrare la semnalul de date „acumulat”. | accum_pipeline_clock | Nu Ceas0 Ceas1 Ceas2 | Selecta Ceas0, Ceas1, sau Ceas2 pentru a activa și specifica semnalul de ceas de intrare pentru registrul de intrare al conductei de acumulare.(2) |
Adăugați registrul conductei de intrare la semnalul de date „loadconst”. | load_const_pipeline_clock | Nu Ceas0 Ceas1 Ceas2 | Selecta Ceas0, Ceas1, sau Ceas2 pentru a activa și specifica semnalul de ceas de intrare pentru registrul de intrare al conductei loadconst.(2) |
Adăugați registrul conductei de intrare la semnalul de date „negat”. | negate_pipeline_clock | Nu Ceas0 Ceas1 Ceas2 | Selecta Ceas0, Ceas1, sau Ceas2 pentru a activa și specifica semnalul de ceas de intrare pentru registrul de intrare a conductei de negare.(2) |
Lățimea maximă a datelor de intrare pe mod de operare
Puteți personaliza lățimea datelor pentru intrările x, y și z, așa cum este specificat în tabel.
Toate registrele de intrare în conductă pentru semnalele de control dinamic trebuie să aibă aceeași setare de ceas.
Modul de operare | Lățimea maximă a datelor de intrare | |||||
ax | ay | az | bx | by | bz | |
Fără pre-asumator sau coeficient intern | ||||||
m18×18_full | 18 (semnat)
18 (nesemnat) |
19 (semnat)
18 (nesemnat) |
Nu este folosit | 18 (semnat)
18 (nesemnat) |
19 (semnat)
18 (nesemnat) |
Nu este folosit |
m18×18_sumof2 | ||||||
m18×18_sistolic | ||||||
m18×18_plus36 | ||||||
m27×27 | 27 (semnat)
27 (nesemnat) |
Nu este folosit | ||||
Doar cu funcția de pre-adăugător | ||||||
m18×18_full | 18 (semnat)
18 (nesemnat) |
|||||
m18×18_sumof2 | ||||||
m18×18_sistolic | ||||||
m27×27 | 27 (semnat)
27 (nesemnat) |
26 (semnat)
26 (nesemnat) |
Nu este folosit | |||
Doar cu caracteristica de coeficient intern | ||||||
m18×18_full | Nu este folosit | 19 (semnat)
18 (nesemnat) |
Nu este folosit | 19 (semnat)
18 (nesemnat) |
Nu este folosit | |
m18×18_sumof2 | ||||||
m18×18_sistolic | ||||||
m27×27 | 27 (semnat)
27 (nesemnat) |
Nu este folosit |
Descrierea funcțională
Nucleul IP Cyclone 10 GX Native Fixed Point DSP este format din 2 arhitecturi; Înmulțirea 18 × 18 și înmulțirea 27 × 27. Fiecare instanțiere a nucleului IP Cyclone 10 GX Native Fixed Point DSP generează doar 1 din cele 2 arhitecturi, în funcție de modurile de operare selectate. Puteți activa module opționale pentru aplicația dvs.
Informații conexe
Blocuri DSP cu precizie variabilă în capitolul Dispozitive Intel Cyclone 10 GX, Intel Cyclone 10 GX Core Fabric și manual I/O de uz general.
Moduri operaționale
Nucleul IP Cyclone 10 GX Native Fixed Point DSP acceptă 5 moduri de operare:
- Modul complet 18 × 18
- Modul Suma 18 18 × 2
- Modul 18 × 18 Plus 36
- Modul sistolic 18 × 18
- Modul 27 × 27
Modul complet 18 × 18
Când este configurat ca modul complet 18 × 18, nucleul IP DSP Native Fixed Point Cyclone 10 GX funcționează ca două 18 (semnate/nesemnate) × 19 (semnate) sau 18 independente.
(semnați/nesemnati) × 18 multiplicatori (nesemnati) cu ieșire pe 37 de biți. Acest mod aplică următoarele ecuații:
- rezulta = ax * ay
- rezultatb = bx * de
Arhitectura Full Mode 18 × 18
Modul Suma 18 18 × 2
În 18 × 18 Sumă a 2 moduri, nucleul IP DSP Cyclone 10 GX Native Fixed Point activează multiplicatorii de sus și de jos și generează un rezultat din adunarea sau scăderea dintre cei 2 multiplicatori. Semnalul de control subdinamic controlează un sumator pentru a efectua operațiile de adunare sau scădere. Lățimea de ieșire rezultată a nucleului IP DSP cu punct fix nativ Cyclone 10 GX poate suporta până la 64 de biți atunci când activați cascada de acumulator/ieșire. Acest mod aplică ecuația rezultatului =[±(ax * ay) + (bx * by)].
Arhitectura 18 × 18 Suma a 2 moduri
Modul 18 × 18 Plus 36
Atunci când este configurat ca modul 18 × 18 Plus 36, nucleul IP DSP nativ cu punct fix Cyclone 10 GX activează doar multiplicatorul superior. Acest mod aplică ecuația rezultă = (ax * ay) + concatenate(bx[17:0],by[17:0]).
Arhitectura 18 × 18 Plus 36 Mode
Când utilizați acest mod, trebuie să setați formatul de reprezentare pentru multiplicatorii inferiori y operand la nesemnat. Când magistrala de intrare este mai mică de 36 de biți în acest mod, vi se cere să furnizați extensia semnată necesară pentru a completa intrarea pe 36 de biți.
Folosind operand mai puțin de 36 de biți în modul 18 × 18 Plus 36
Acest exampfișierul arată cum să configurați nucleul IP DSP Native Fixed Point Cyclone 10 GX pentru a utiliza modul operațional 18 × 18 Plus 36 cu date de intrare semnate pe 12 biți de 101010101010 (binar) în loc de operand pe 36 de biți.
- Setați Formatul de reprezentare pentru operand multiplicatorul x inferior: la semnat.
- Setați Formatul de reprezentare pentru operandul multiplicator inferior y: la nesemnat.
- Setați lățimea magistralei de intrare „bx” la 18.
- Setați lățimea magistralei de intrare „prin” la 18.
- Furnizați datele „111111111111111111” către magistrala de intrare bx.
- Furnizați datele „111111101010101010” prin magistrala de intrare.
Modul sistolic 18 × 18
În modurile operaționale sistolice 18 × 18, miezul IP DSP Cyclone 10 GX Native Fixed Point activează multiplicatorii de sus și de jos, un registru sistolic de intrare pentru multiplicatorul superior și un registru sistolic în lanț pentru lanțul de semnale de intrare. Când activați cascada de ieșire, acest mod acceptă o lățime de ieșire rezultată de 44 de biți. Când activați caracteristica acumulator fără cascadă de ieșire, puteți configura lățimea rezultatului de ieșire la 64 de biți.
Arhitectura modului sistolic 18 × 18
Modul 27 × 27
Când este configurat ca moduri 27 × 27, nucleul IP DSP Native Fixed Point Cyclone 10 GX activează un multiplicator 27(semnat/nesemnat) × 27(semnat/nesemnat). Busul de ieșire poate suporta până la 64 de biți cu acumulatorul/cascada de ieșire activată. Acest mod aplică ecuația rezultată = ax * ay.
Arhitectura modului 27 × 27
Module opționale
Modulele opționale disponibile în Cyclone 10 GX Native Fixed Point DSP IP Core sunt:
- Cascada de intrare
- Preasumatori
- Coeficient intern
- Acumulator și cascadă de ieșire
- Registre de conducte
Cascada de intrare
Funcția cascadă de intrare este acceptată pe ay și de către magistrala de intrare. Când setați Activare cascadă de intrare pentru intrarea „ay” la Da, nucleul IP DSP Native Fixed Point Cyclone 10 GX va prelua intrări de la semnalele de intrare de scanare în loc de magistrala de intrare ay. Când setați Enable input cascade for 'by' input la Da, nucleul IP DSP Native Fixed Point Cyclone 10 GX va prelua intrări de la orice magistrală de intrare în loc de către magistrala de intrare.
Se recomandă activarea registrelor de intrare pentru ay și/sau by ori de câte ori este activată cascada de intrare pentru corectitudinea aplicației.
Puteți activa registrele de întârziere pentru a se potrivi cu cerințele de latență dintre registrul de intrare și registrul de ieșire. Există 2 registre de întârziere în nucleu. Registrul de întârziere superior este utilizat pentru porturile de intrare ay sau scanare în timp ce registrul de întârziere de jos este utilizat pentru porturile de ieșire de scanare. Aceste registre de întârziere sunt acceptate în modul complet 18 × 18, 18 × 18 sume a 2 moduri și moduri sistolice 18 × 18.
Preasumator
Pre-adunatorul poate fi configurat în următoarele configurații:
- Două pre-adăugătoare independente pe 18 biți (semnate/nesemnate).
- Un pre-adăugător pe 26 de biți.
Când activați pre-adunatorul în moduri de înmulțire 18 × 18, ay și az sunt folosite ca magistrală de intrare pentru pre-adunatorul de sus, în timp ce by și bz sunt folosite ca magistrală de intrare pentru pre-adunatorul de jos. Când activați pre-adunatorul în modul de înmulțire 27 × 27, ay și az sunt folosite ca magistrală de intrare pentru pre-asumator. Pre-adunatorul acceptă atât operații de adunare, cât și de scădere. Când sunt utilizate ambele preasumatoare din același bloc DSP, acestea trebuie să partajeze același tip de operație (fie adunare, fie scădere).
Coeficient intern
Coeficientul intern poate suporta până la opt coeficienți constanți pentru multiplicanții în modurile de 18 și 27 de biți. Când activați caracteristica de coeficient intern, vor fi generate două magistrale de intrare pentru a controla selecția multiplexorului de coeficienți. Busul de intrare coefsela este utilizat pentru a selecta coeficienții predefiniti pentru multiplicatorul de sus, iar magistrala de intrare consilier este folosit pentru a selecta coeficienții predefiniti pentru multiplicatorul de jos.
Stocarea internă a coeficientului nu acceptă valori ale coeficientului controlabile dinamic, iar stocarea coeficientului extern este necesară pentru a efectua o astfel de operație.
Acumulator și cascadă de ieșire
Modulul acumulator poate fi activat pentru a efectua următoarele operații:
- Operație de adunare sau scădere
- Operație de rotunjire părtinită folosind o valoare constantă de 2N
- Acumulare cu două canale
Pentru a efectua în mod dinamic operația de adunare sau scădere a acumulatorului, controlați semnalul de intrare negat. Pentru o operațiune de rotunjire părtinitoare, puteți specifica și încărca o constantă prestabilită de 2N înainte ca modulul acumulator să fie activat prin specificarea unui număr întreg la valoarea parametrului N a constantei presetate. Numărul întreg N trebuie să fie mai mic de 64. Puteți activa sau dezactiva dinamic utilizarea constantei presetate controlând semnalul loadconst. Puteți utiliza această operațiune ca o muxare activă a valorii rotunde în calea de feedback al acumulatorului. Costul încărcat și utilizarea semnalului acumulat se exclud reciproc.
Puteți activa registrul acumulatorului dublu utilizând parametrul Activare acumulator dublu pentru a efectua acumularea dublă. Modulul de acumulator poate suporta înlănțuirea mai multor blocuri DSP pentru operațiuni de adunare sau scădere, activând portul de intrare în lanț și portul de ieșire de ieșire în lanț. În modul sistolic 18 × 18, vor fi utilizați numai 44 de biți din magistrala de intrare în lanț și magistrala de ieșire în lanț. Cu toate acestea, toate lanțurile de 64 de biți din magistrala de intrare trebuie să fie conectate la magistrala de ieșire de ieșire din lanț din blocul DSP precedent.
Registrul conductelor
Nucleul IP Cyclone 10 GX Native Fixed Point DSP acceptă un singur nivel de registru de conducte. Registrul conductei acceptă până la trei surse de ceas și un semnal clar asincron pentru a reseta registrele conductei. Există cinci registre de conducte:
- registrul conductei magistralei de intrare a datelor
- registrul conductei de semnal de control sub dinamic
- anulați registrul conductei de semnal de control dinamic
- acumulează registrul conductei de semnal de control dinamic
- Registrul conductei de control dinamic loadconst
Puteți alege să activați fiecare registre de conducte ale magistralei de intrare de date și registrele conductei de semnal de control dinamic în mod independent. Cu toate acestea, toate registrele pipeline activate trebuie să utilizeze aceeași sursă de ceas.
Schema de ceas
Registrele de intrare, conductă și ieșire din nucleul IP DSP Native Fixed Point Cyclone 10 GX acceptă trei surse/activări de ceas și două ștergere asincrone. Toate registrele de intrare folosesc aclr[0] și toate registrele pipeline și de ieșire folosesc aclr[1]. Fiecare tip de registru poate selecta una dintre cele trei surse de ceas și semnale de activare a ceasului. Când configurați nucleul IP DSP cu punct fix nativ Cyclone 10 GX la modul de funcționare sistolic 18 × 18, software-ul Intel Quartus Prime va seta registrul sistolic de intrare și sursa ceasului registrului sistolic în lanț la aceeași sursă de ceas ca și registrul de ieșire intern.
Când activați caracteristica de acumulator dublu, software-ul Intel Quartus Prime va seta sursa de ceas cu registru de acumulator dublu la aceeași sursă de ceas ca și registrul de ieșire intern.
Constrângeri ale schemei de sincronizare
Această filă arată constrângerile pe care trebuie să le aplicați pentru toate schemele de sincronizare a registrului.
Stare | Constrângere |
Când pre-adunatorul este activat | Sursa de ceas pentru registrele de intrare ay și az trebuie să fie aceeași. |
Sursa de ceas pentru registrele de intrare by și bz trebuie să fie aceeași. | |
Când registrele pipeline sunt activate | Sursa de ceas pentru toate registrele conductei trebuie să fie aceeași. |
Când oricare dintre intrări se înregistrează pentru semnale de control dinamic | Sursa de ceas pentru registrele de intrare pentru sub, acumulare, loadconst și negate trebuie să fie aceeași. |
Cyclone 10 GX Native Fixed Point DSP IP Core Signals
Următoarea figură arată semnalele de intrare și de ieșire ale nucleului IP DSP nativ cu punct fix Cyclone 10 GX.
Cyclone 10 GX Native Fixed Point DSP IP Core Signals
Semnale de intrare de date
Nume semnal | Tip | Lăţime | Descriere |
topor[] | Intrare | 27 | Introduceți magistrala de date în multiplicatorul superior. |
da[] | Intrare | 27 | Introduceți magistrala de date în multiplicatorul superior.
Când pre-adunatorul este activat, aceste semnale sunt servite ca semnale de intrare către pre-adunatorul superior. |
az[] | Intrare | 26 | Aceste semnale sunt semnale de intrare către pre-adunatorul superior.
Aceste semnale sunt disponibile numai când pre-adunatorul este activat. Aceste semnale nu sunt disponibile în m18×18_plus36 modul de operare. |
bx[] | Intrare | 18 | Intrarea magistralei de date la multiplicatorul inferior.
Aceste semnale nu sunt disponibile în m27×27 modul de operare. |
de[] | Intrare | 19 | Intrarea magistralei de date la multiplicatorul inferior.
Când pre-adunatorul este activat, aceste semnale servesc ca semnale de intrare către pre-adunatorul de jos. Aceste semnale nu sunt disponibile în m27×27 modul de operare. |
bz[] | Intrare | 18 | Aceste semnale sunt semnale de intrare către pre-adunatorul inferior. Aceste semnale sunt disponibile numai când pre-adunatorul este activat. Aceste semnale nu sunt disponibile în m27×27 şi m18×18_plus36 moduri de operare. |
Semnale de ieșire de date
Nume semnal | Tip | Lăţime | Decripție |
rezultat[] | Ieșire | 64 | Autobuz de date de ieșire de la multiplicatorul superior.
Aceste semnale acceptă până la 37 de biți pentru m18×18_full modul de operare. |
rezultatb[] | Ieșire | 37 | Ieșire magistrală de date de la multiplicatorul inferior.
Aceste semnale sunt disponibile numai în m18×18_full modul de operare. |
Ceas, activare și ștergere semnale
Nume semnal | Tip | Lăţime | Descriere |
clk[] | Intrare | 3 | Semnale de ceas de intrare pentru toate registrele.
Aceste semnale de ceas sunt disponibile numai dacă oricare dintre registrele de intrare, registrele conductei sau registrul de ieșire este setat la Ceas0, Ceas1, sau Ceas2. • clk[0] = Ceas0 • clk[1] = Ceas1 • clk[2] = Ceas2 |
ena[] | Intrare | 3 | Activare ceas pentru clk[2:0]. Acest semnal este activ - Înalt.
• ena[0] este pentru Ceas0 • ena[1] este pentru Ceas1 • ena[2] este pentru Ceas2 |
aclr[] | Intrare | 2 | Semnale clare de intrare asincrone pentru toate registrele. Acest semnal este activ - Înalt.
Utilizare aclr[0] pentru toate registrele de intrare și utilizare aclr[1] pentru toate registrele conductei și registrul de ieșire. În mod implicit, acest semnal este dezactivat. |
Semnale de control dinamic
Nume semnal | Tip | Lăţime | Descriere |
sub | Intrare | 1 | Semnal de intrare pentru a adăuga sau scădea ieșirea multiplicatorului de sus cu ieșirea multiplicatorului de jos.
• Dezactivați acest semnal pentru a specifica operația de adăugare. • Afirmați acest semnal pentru a specifica operația de scădere. În mod implicit, acest semnal este dezactivat. Puteți activa sau anula acest semnal în timpul rulării.(3) |
nega | Intrare | 1 | Semnal de intrare pentru a adăuga sau scădea suma multiplicatorilor de sus și de jos cu datele din semnalele în lanț.
• Dezactivați acest semnal pentru a specifica operația de adăugare. • Afirmați acest semnal pentru a specifica operația de scădere. În mod implicit, acest semnal este dezactivat. Puteți activa sau anula acest semnal în timpul rulării.(3) |
acumula | Intrare | 1 | Semnal de intrare pentru a activa sau dezactiva caracteristica acumulatorului.
• Dezactivați acest semnal pentru a dezactiva caracteristica acumulatorului. • Afirmați acest semnal pentru a activa funcția acumulator. În mod implicit, acest semnal este dezactivat. Puteți activa sau anula acest semnal în timpul rulării.(3) |
loadconst | Intrare | 1 | Semnal de intrare pentru a activa sau dezactiva caracteristica constantă de încărcare.
• Dezactivați acest semnal pentru a dezactiva caracteristica constantă de încărcare. • Afirmați acest semnal pentru a activa caracteristica constantă de încărcare. În mod implicit, acest semnal este dezactivat. Puteți activa sau anula acest semnal în timpul rulării.(3) |
Semnale de coeficient intern
Nume semnal | Tip | Lăţime | Descriere |
coefsela[] | Intrare | 3 | Semnale de selecție de intrare pentru 8 valori ale coeficientului definite de utilizator pentru multiplicatorul superior. Valorile coeficientului sunt stocate în memoria internă și specificate prin parametri coef_a_0 la coef_a_7.
• coefsela[2:0] = 000 se referă la coef_a_0 • coefsela[2:0] = 001 se referă la coef_a_1 • coelsela[2:0] = 010 se referă la coef_a_2 • … și așa mai departe. Aceste semnale sunt disponibile numai când funcția de coeficient intern este activată. |
coefselb[] | Intrare | 3 | Semnale de selecție de intrare pentru 8 valori ale coeficientului definite de utilizator pentru multiplicatorul inferior. Valorile coeficientului sunt stocate în memoria internă și specificate prin parametri coef_b_0 la coef_b_7.
• coefselb[2:0] = 000 se referă la coef_b_0 • coefselb[2:0] = 001 se referă la coef_b_1 • coelselb[2:0] = 010 se referă la coef_b_2 • … și așa mai departe. Aceste semnale sunt disponibile numai când funcția de coeficient intern este activată. |
Semnale de intrare în cascadă
Nume semnal | Tip | Lăţime | Descriere |
scanare[] | Intrare | 27 | Bus de date de intrare pentru modulul în cascadă de intrare.
Conectați aceste semnale la semnalele de scanare de la miezul DSP precedent. |
scanout[] | Ieșire | 27 | Bus de date de ieșire a modulului în cascadă de intrare.
Conectați aceste semnale la semnalele de scanare ale următorului nucleu DSP. |
Semnale în cascadă de ieșire
Nume semnal | Tip | Lăţime | Descriere |
lanț[] | Intrare | 64 | Bus de date de intrare pentru modulul în cascadă de ieșire.
Conectați aceste semnale la semnalele chainout de la miezul DSP precedent. |
înlănțuire[] | Ieșire | 64 | Bus de date de ieșire a modulului în cascadă de ieșire.
Conectați aceste semnale la semnalele în lanț ale următorului nucleu DSP. |
Istoricul revizuirilor documentului pentru Ghidul utilizatorului Cyclone 10 GX Native Fixed Point DSP IP Core
Data | Versiune | Schimbări |
noiembrie 2017 | 2017.11.06 | Lansare inițială. |
Intel Corporation. Toate drepturile rezervate. Intel, sigla Intel și alte mărci Intel sunt mărci comerciale ale Intel Corporation sau ale subsidiarelor sale. Intel garantează performanța produselor sale FPGA și semiconductoare conform specificațiilor actuale, în conformitate cu garanția standard Intel, dar își rezervă dreptul de a face modificări oricăror produse și servicii în orice moment, fără notificare. Intel nu își asumă nicio responsabilitate sau răspundere care decurg din aplicarea sau utilizarea oricăror informații, produse sau servicii descrise aici, cu excepția cazului în care Intel a convenit în mod expres în scris. Clienții Intel sunt sfătuiți să obțină cea mai recentă versiune a specificațiilor dispozitivului înainte de a se baza pe orice informații publicate și înainte de a plasa comenzi pentru produse sau servicii.
Alte nume și mărci pot fi revendicate ca fiind proprietatea altora.
Documente/Resurse
![]() |
Intel UG-20094 Cyclone 10 GX Native Fixed Point DSP IP Core [pdfGhid de utilizare 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 |