Intel UG-20094 Cyclone 10 GX Natif Point Fixe DSP IP Core
Guide de l'utilisateur Intel® Cyclone® 10 GX Native Fixed Point DSP IP Core
Le cœur IP DSP à point fixe natif Intel Cyclone® 10 GX instancie et contrôle un seul bloc de traitement du signal numérique à précision variable (DSP) Intel Cyclone 10 GX. Le cœur IP DSP à point fixe natif Cyclone 10 GX est uniquement disponible pour les appareils Intel Cyclone 10 GX.
Cyclone 10 GX Native Fixed Point DSP IP Core Schéma de principe fonctionnel
Informations connexes
Introduction aux cœurs IP Intel FPGA.
Cyclone 10 GX Native Fixed Point DSP IP Core Caractéristiques
Le cœur IP DSP à point fixe natif Cyclone 10 GX prend en charge les fonctionnalités suivantes :
- Opérations de multiplication hautes performances, optimisées en puissance et entièrement enregistrées
- Longueurs de mot 18 bits et 27 bits
- Deux multiplicateurs 18 × 19 ou un multiplicateur 27 × 27 par bloc DSP
- Registre intégré d'addition, de soustraction et de double accumulation 64 bits pour combiner les résultats de multiplication
- 19 bits ou 27 bits en cascade lorsque le pré-additionneur est désactivé et 18 bits en cascade lorsque le pré-additionneur est utilisé pour former la ligne de retard de prise pour l'application de filtrage
- Bus de sortie 64 bits en cascade pour propager les résultats de sortie d'un bloc au bloc suivant sans prise en charge de logique externe
- Pré-additionneur dur pris en charge dans les modes 19 bits et 27 bits pour les filtres symétriques
- Banque de registres de coefficients internes en modes 18 bits et 27 bits pour la mise en œuvre du filtre
- Filtres systoliques à réponse impulsionnelle finie (FIR) 18 bits et 27 bits avec additionneur de sortie distribué
Commencer
Ce chapitre donne un aperçu généralview du flux de conception du cœur IP Intel FPGA pour vous aider à démarrer rapidement avec le cœur IP DSP à point fixe natif Cyclone 10 GX. La bibliothèque IP Intel FPGA est installée dans le cadre du processus d'installation d'Intel Quartus® Prime. Vous pouvez sélectionner et paramétrer n'importe quel cœur IP Intel FPGA à partir de la bibliothèque. Intel fournit un éditeur de paramètres intégré qui vous permet de personnaliser le cœur IP Intel FPGA DSP pour prendre en charge une grande variété d'applications. L'éditeur de paramètres vous guide tout au long du réglage des valeurs des paramètres et de la sélection des ports optionnels.
Informations connexes
- Présentation des cœurs IP Intel FPGA
Fournit des informations générales sur tous les cœurs IP Intel FPGA, y compris le paramétrage, la génération, la mise à niveau et la simulation des cœurs IP. - Création de scripts de simulation IP et Platform Designer (standard) indépendants de la version
Créez des scripts de simulation qui ne nécessitent pas de mises à jour manuelles pour les mises à niveau du logiciel ou de la version IP. - Meilleures pratiques de gestion de projet
Lignes directrices pour une gestion efficace et la portabilité de votre projet et de votre propriété intellectuelle files.
Paramètres du noyau IP DSP à point fixe natif Cyclone 10 GX
Vous pouvez personnaliser le noyau IP DSP à point fixe natif Cyclone 10 GX en spécifiant les paramètres à l'aide de l'éditeur de paramètres du logiciel Intel Quartus Prime.
Onglet Mode de fonctionnement
Paramètre | Paramètre généré par IP | Valeur | Description |
Veuillez choisir le mode de fonctionnement | mode de fonctionnement | m18×18_full m18×18_sumof2 m18×18_plus36 m18×18_systolic m27×27 | Sélectionnez le mode de fonctionnement souhaité. |
Configuration du multiplicateur | |||
Format de représentation du multiplicateur supérieur x opérande | signé_max | signé non signé | Spécifiez le format de représentation de l'opérande multiplicateur supérieur x. |
Paramètre | Paramètre généré par IP | Valeur | Description |
Format de représentation de l'opérande multiplicateur supérieur y | signé_mai | signé non signé | Spécifiez le format de représentation de l'opérande multiplicateur supérieur y. |
Format de représentation du multiplicateur inférieur x opérande | signé_mbx | signé non signé | Spécifiez le format de représentation de l'opérande x du multiplicateur inférieur. |
Format de représentation de l'opérande multiplicateur inférieur y | signé_mby | signé non signé | Spécifiez le format de représentation de l'opérande multiplicateur inférieur y.
Sélectionnez toujours non signé pour m18×18_plus36 . |
Activer le port "sous" | activer_sub | Non Oui | Sélectionner Oui pour permettre
sous-port. |
Enregistrez l'entrée 'sub' du multiplicateur | sous_horloge | Non Horloge0 Horloge1 Horloge2 | Sélectionner Horloge0, Horloge1, ou Horloge2 pour activer et spécifier le signal d'horloge d'entrée pour le sous-registre d'entrée. |
Cascade d'entrée | |||
Activer la cascade d'entrée pour l'entrée 'ay' | ay_use_scan_in | Non Oui | Sélectionner Oui pour activer le module d'entrée en cascade pour toutes les entrées de données.
Lorsque vous activez le module d'entrée en cascade, le noyau IP DSP à point fixe natif du Cyclone 10 GX utilise les signaux d'entrée de balayage comme entrée au lieu de tous les signaux d'entrée. |
Activer la cascade d'entrée pour l'entrée 'by' | par_use_scan_in | Non Oui | Sélectionner Oui pour activer le module d'entrée en cascade par entrée de données.
Lorsque vous activez le module d'entrée en cascade, le noyau IP DSP à virgule fixe native du Cyclone 10 GX utilise les signaux d'entrée ay comme entrée plutôt que par des signaux d'entrée. |
Activer le registre de retard de données | delay_scan_out_ay | Non Oui | Sélectionner Oui pour activer le registre de retard entre y et par les registres d'entrée.
Cette fonction n'est pas prise en charge dans m18×18_plus36 et m27x27 mode opérationnel. |
Paramètre | Paramètre généré par IP | Valeur | Description |
Activer les données par registre de retard | delay_scan_out_by | Non Oui | Sélectionner Oui pour activer le registre de retard entre les registres d'entrée et le bus de sortie de balayage.
Cette fonction n'est pas prise en charge dans m18×18_plus36 et m27x27 mode opérationnel. |
Activer le port d'analyse | gui_scanout_enable | Non Oui | Sélectionner Oui pour permettre
bus de sortie de balayage. |
largeur du bus de sortie 'scanout' | scan_out_width | 1–27 | Spécifiez la largeur de
bus de sortie de balayage. |
Configuration des données 'x' | |||
largeur du bus d'entrée 'ax' | largeur_axe | 1–27 | Spécifiez la largeur de
ax bus d'entrée.(1) |
Enregistrez l'entrée 'ax' du multiplicateur | ax_clock | Non Horloge0 Horloge1 Horloge2 | Sélectionner Horloge0, Horloge1, ou Horloge2 pour activer et spécifier le signal d'horloge d'entrée pour le registre d'entrée ax.
Le registre d'entrée ax n'est pas disponible si vous définissez source d'opérande 'ax' à 'coef'. |
largeur du bus d'entrée 'bx' | largeur_bx | 1–18 | Spécifiez la largeur de
bus d'entrée bx.(1) |
Entrée de registre 'bx' du multiplicateur | bx_horloge | Non Horloge0 Horloge1 Horloge2 | Sélectionner Horloge0, Horloge1, ou Horloge2 pour activer et spécifier le signal d'horloge d'entrée pour le registre d'entrée bx.
Le registre d'entrée bx n'est pas disponible si vous définissez source d'opérande 'bx' à 'coef'. |
Configuration des données 'y' | |||
'ay' ou 'scanin' bus width | ay_scan_in_width | 1–27 | Spécifiez la largeur du bus d'entrée ay ou scanin.(1) |
Enregistrez l'entrée 'ay' ou l'entrée 'scanin' du multiplicateur | ay_scan_in_clock | Non Horloge0 Horloge1 Horloge2 | Sélectionner Horloge0, Horloge1, ou Horloge2 pour activer et spécifier le signal d'horloge d'entrée pour le registre d'entrée ay ou scanin. |
'par' largeur de bus d'entrée | par_largeur | 1–19 | Spécifiez la largeur de par bus d'entrée.(1) |
Paramètre | Paramètre généré par IP | Valeur | Description |
Registre d'entrée 'by' du multiplicateur | by_clock | Non Horloge0 Horloge1 Horloge2 | Sélectionner Horloge0, Horloge1, ou Horloge2 pour activer et spécifier le signal d'horloge d'entrée pour by ou scanin
registre d'entrée.(1) |
Sortie 'résultat' Configuration | |||
largeur du bus de sortie 'resulta' | result_a_width | 1–64 | Spécifiez la largeur de
bus de sortie resulta. |
largeur du bus de sortie 'resultb' | résultat_b_width | 1–64 | Spécifiez la largeur du bus de sortie resultb. resultb uniquement disponible lors de l'utilisation de operation_mode m18×18_complet. |
Utiliser le registre de sortie | horloge_sortie | Non Horloge0 Horloge1 Horloge2 | Sélectionner Horloge0, Horloge1, ou Horloge2 pour activer et spécifier le signal d'horloge d'entrée pour les registres de sortie resulta et resultb. |
Onglet Pré-additionneur
Paramètre | Paramètre généré par IP | Valeur | Description |
source d'opérande 'ay' | opérande_source_mai | pré-additionneur d'entrée | Spécifiez la source de l'opérande pour une entrée y. Sélectionner pré-éditeur pour activer le module pré-additionneur pour le multiplicateur supérieur. Les paramètres pour ay et par source d'opérande doivent être identiques. |
'par' source d'opérande | opérande_source_mby | pré-additionneur d'entrée | Spécifiez la source de l'opérande pour par entrée. Sélectionner pré-éditeur pour activer le module pré-additionneur pour le multiplicateur inférieur. Les paramètres pour ay et par source d'opérande doivent être identiques. |
Définir le pré-additionneur sur une opération de soustraction | preadder_subtract_a | Non Oui | Sélectionner Oui pour spécifier l'opération de soustraction pour le module de pré-additionneur pour le multiplicateur supérieur. Les paramètres de pré-additionneur pour le multiplicateur supérieur et inférieur doivent être identiques. |
Définir l'opération de pré-additionneur b sur la soustraction | preadder_subtract_b | Non Oui | Sélectionner Oui pour spécifier l'opération de soustraction pour le module de pré-additionneur pour le multiplicateur inférieur. Les paramètres de pré-additionneur pour le multiplicateur supérieur et inférieur doivent être identiques. |
Configuration des données 'z' | |||
'az' largeur du bus d'entrée | az_largeur | 1–26 | Spécifiez la largeur du bus d'entrée az.(1) |
Enregistrez l'entrée 'az' du multiplicateur | az_horloge | Non Horloge0 Horloge1 Horloge2 | Sélectionner Horloge0, Horloge1, ou Horloge2 pour activer et spécifier le signal d'horloge d'entrée pour les registres d'entrée az. Les réglages d'horloge pour les registres d'entrée ay et az doivent être identiques. |
'bz' largeur du bus d'entrée | largeur_bz | 1–18 | Spécifiez la largeur du bus d'entrée bz.(1) |
Enregistrez l'entrée 'bz' du multiplicateur | bz_horloge | Non Horloge0 Horloge1 Horloge2 | Sélectionner Horloge0, Horloge1, ou Horloge2 pour activer et spécifier le signal d'horloge d'entrée pour les registres d'entrée bz. Les réglages d'horloge pour les registres d'entrée by et bz doivent être identiques. |
Onglet Coefficient interne
Paramètre | Paramètre généré par IP | Valeur | Description |
source d'opérande 'ax' | opérande_source_max | saisir coefficient | Spécifiez la source d'opérande pour le bus d'entrée ax. Sélectionner coefficient pour activer le module de coefficient interne pour le multiplicateur supérieur.
Sélectionner Non pour Enregistrez l'entrée 'ax' du multiplicateur paramètre lorsque vous activez la fonction de coefficient interne. |
Paramètre | Paramètre généré par IP | Valeur | Description |
Les paramètres pour la source des opérandes ax et bx doivent être identiques. | |||
source d'opérande 'bx' | opérande_source_mbx | saisir coefficient | Spécifiez la source d'opérande pour le bus d'entrée bx. Sélectionner coefficient pour activer le module de coefficient interne pour le multiplicateur supérieur.
Sélectionner Non pour Entrée de registre 'bx' du multiplicateur paramètre lorsque vous activez la fonction de coefficient interne. Les paramètres pour la source des opérandes ax et bx doivent être identiques. |
Configuration du registre d'entrée 'coefsel' | |||
Registre d'entrée 'coefsela' du multiplicateur | coef_sel_a_clock | Non Horloge0 Horloge1 Horloge2 | Sélectionner Horloge0, Horloge1, ou Horloge2 pour activer et spécifier le signal d'horloge d'entrée pour les registres d'entrée coefsela. |
Entrée de registre 'coefselb' du multiplicateur | coef_sel_b_horloge | Non Horloge0 Horloge1 Horloge2 | Sélectionner Horloge0, Horloge1, ou Horloge2 pour activer et spécifier le signal d'horloge d'entrée pour les registres d'entrée coefselb. |
Configuration du stockage des coefficients | |||
coef_a_0–7 | coef_a_0–7 | Entier | Spécifiez les valeurs de coefficient pour le bus d'entrée ax.
Pour le mode de fonctionnement 18 bits, la valeur d'entrée maximale est 218 – 1. Pour le fonctionnement 27 bits, la valeur maximale est 227 – 1. |
coef_b_0–7 | coef_b_0–7 | Entier | Spécifiez les valeurs de coefficient pour le bus d'entrée bx. |
Onglet Accumulateur/Cascade de sortie
Paramètre | Paramètre généré par IP | Valeur | Description |
Activer le port "accumuler" | activer_accumuler | Non Oui | Sélectionner Oui pour permettre
porte accumulateur. |
Activer le port "négatif" | activer_negate | Non Oui | Sélectionner Oui pour permettre
inverser le port. |
Activer le port 'loadconst' | activer_loadconst | Non Oui | Sélectionner Oui pour permettre
port loadconst. |
Entrée de registre 'accumuler' de l'accumulateur | cumuler_horloge | Non Horloge0 Horloge1 Horloge2 | Sélectionner Horloge0 , Horloge1, ou Horloge2 pour activer et spécifier le signal d'horloge d'entrée pour les registres d'entrée d'accumulation. |
Paramètre | Paramètre généré par IP | Valeur | Description |
Entrée de registre 'loadconst' de l'accumulateur | load_const_clock | Non Horloge0 Horloge1 Horloge2 | Sélectionner Horloge0, Horloge1, ou Horloge2 pour activer et spécifier le signal d'horloge d'entrée pour les registres d'entrée loadconst. |
Entrée de registre 'négation' de l'unité d'addition | négation_horloge | Non Horloge0 Horloge1 Horloge2 | Sélectionner Horloge0, Horloge1, ou Horloge2 pour activer et spécifier le signal d'horloge d'entrée pour les registres d'entrée de négation. |
Activer le double accumulateur | activer_double_accum | Non Oui | Sélectionner Oui pour activer la fonction de double accumulateur. |
Valeur N de la constante prédéfinie | load_const_value | 0 – 63 | Spécifiez la valeur constante prédéfinie.
Cette valeur peut être 2N où N est la valeur constante prédéfinie. |
Activer le port d'entrée en chaîne | use_chainadder | Non Oui | Sélectionner Oui pour activer le module cascade de sortie et le bus d'entrée chainin.
La fonction de sortie en cascade n'est pas prise en charge dans m18×18_complet mode de fonctionnement. |
Activer le port de sortie de chaîne | gui_chainout_enable | Non Oui | Sélectionner Oui pour activer le bus de sortie chainout. La fonction de sortie en cascade n'est pas prise en charge dans
m18×18_complet mode de fonctionnement. |
Onglet Pipeline
Paramètre | Paramètre généré par IP | Valeur | Description |
Ajouter un registre de pipeline d'entrée au signal de données d'entrée (x/y/z/coefsel) | input_pipeline_clock | Non Horloge0 Horloge1 Horloge2 | Sélectionner Horloge0, Horloge1, ou Horloge2 pour activer et spécifier le signal d'horloge d'entrée pour les registres d'entrée de pipeline x, y, z, coefsela et coefselb. |
Ajouter un registre de pipeline d'entrée au signal de données 'sub' | sub_pipeline_clock | Non Horloge0 Horloge1 Horloge2 | Sélectionner Horloge0, Horloge1, ou Horloge2 pour activer et spécifier le signal d'horloge d'entrée pour le registre d'entrée du sous-pipeline. (2) |
Ajouter un registre de pipeline d'entrée au signal de données "accumuler" | cumul_pipeline_clock | Non Horloge0 Horloge1 Horloge2 | Sélectionner Horloge0, Horloge1, ou Horloge2 pour activer et spécifier le signal d'horloge d'entrée pour le registre d'entrée de pipeline d'accumulation.(2) |
Ajouter un registre de pipeline d'entrée au signal de données 'loadconst' | load_const_pipeline_clock | Non Horloge0 Horloge1 Horloge2 | Sélectionner Horloge0, Horloge1, ou Horloge2 pour activer et spécifier le signal d'horloge d'entrée pour le registre d'entrée du pipeline loadconst.(2) |
Ajouter un registre de pipeline d'entrée au signal de données 'negate' | négation_pipeline_clock | Non Horloge0 Horloge1 Horloge2 | Sélectionner Horloge0, Horloge1, ou Horloge2 pour activer et spécifier le signal d'horloge d'entrée pour le registre d'entrée de pipeline négatif.(2) |
Largeur maximale des données d'entrée par mode de fonctionnement
Vous pouvez personnaliser la largeur des données pour les entrées x, y et z comme spécifié dans le tableau.
Tous les registres d'entrée de pipeline pour les signaux de commande dynamiques doivent avoir le même réglage d'horloge.
Mode de fonctionnement | Largeur maximale des données d'entrée | |||||
ax | ay | az | bx | by | bz | |
Sans pré-additionneur ni coefficient interne | ||||||
m18×18_complet | 18 (signé)
18 (non signé) |
19 (signé)
18 (non signé) |
Non utilisé | 18 (signé)
18 (non signé) |
19 (signé)
18 (non signé) |
Non utilisé |
m18×18_sumof2 | ||||||
m18×18_systolique | ||||||
m18×18_plus36 | ||||||
m27×27 | 27 (signé)
27 (non signé) |
Non utilisé | ||||
Avec fonction de pré-additionneur uniquement | ||||||
m18×18_complet | 18 (signé)
18 (non signé) |
|||||
m18×18_sumof2 | ||||||
m18×18_systolique | ||||||
m27×27 | 27 (signé)
27 (non signé) |
26 (signé)
26 (non signé) |
Non utilisé | |||
Avec fonction de coefficient interne uniquement | ||||||
m18×18_complet | Non utilisé | 19 (signé)
18 (non signé) |
Non utilisé | 19 (signé)
18 (non signé) |
Non utilisé | |
m18×18_sumof2 | ||||||
m18×18_systolique | ||||||
m27×27 | 27 (signé)
27 (non signé) |
Non utilisé |
Description fonctionnelle
Le cœur IP DSP à point fixe natif Cyclone 10 GX se compose de 2 architectures ; Multiplication 18 × 18 et multiplication 27 × 27. Chaque instanciation du cœur IP DSP Point Fixe Natif Cyclone 10 GX génère une seule des 1 architectures en fonction des modes de fonctionnement sélectionnés. Vous pouvez activer des modules optionnels pour votre application.
Informations connexes
Blocs DSP à précision variable dans le chapitre Périphériques Intel Cyclone 10 GX, Intel Cyclone 10 GX Core Fabric and General Purpose I/Os Handbook.
Modes de fonctionnement
Le cœur IP DSP à point fixe natif Cyclone 10 GX prend en charge 5 modes de fonctionnement :
- Le mode complet 18 × 18
- Le mode Somme de 18 18 × 2
- Le mode 18 × 18 Plus 36
- Le mode systolique 18 × 18
- Le mode 27 × 27
Le mode complet 18 × 18
Lorsqu'il est configuré en mode complet 18 × 18, le noyau IP DSP à point fixe natif Cyclone 10 GX fonctionne comme deux 18 (signé/non signé) × 19 (signé) ou 18 indépendants.
(signé/non signé) × 18 multiplicateurs (non signés) avec sortie 37 bits. Ce mode applique les équations suivantes :
- résultata = hache * ay
- résultatb = bx * par
L'architecture 18 × 18 en mode complet
Le mode Somme de 18 18 × 2
Dans les modes 18 × 18 Somme de 2, le cœur IP DSP à virgule fixe native Cyclone 10 GX active les multiplicateurs supérieur et inférieur et génère un résultat par addition ou soustraction entre les 2 multiplicateurs. Le signal de commande sous-dynamique commande un additionneur pour effectuer les opérations d'addition ou de soustraction. La largeur de sortie résultante du noyau IP DSP à point fixe natif Cyclone 10 GX peut prendre en charge jusqu'à 64 bits lorsque vous activez la cascade d'accumulateur/sortie. Ce mode applique l'équation de resulta =[±(ax * ay) + (bx * by)].
L'architecture 18 × 18 Somme de 2 modes
Le mode 18 × 18 Plus 36
Lorsqu'il est configuré en mode 18 × 18 Plus 36, le noyau IP DSP à point fixe natif Cyclone 10 GX n'active que le multiplicateur supérieur. Ce mode applique l'équation de resulta = (ax * ay) + concatenate(bx[17:0],by[17:0]).
L'architecture 18 × 18 Plus 36 modes
Vous devez définir le format de représentation pour les multiplicateurs inférieurs y opérande sur non signé lors de l'utilisation de ce mode. Lorsque le bus d'entrée est inférieur à 36 bits dans ce mode, vous devez fournir l'extension signée nécessaire pour remplir l'entrée 36 bits.
Utilisation d'un opérande inférieur à 36 bits en mode 18 × 18 Plus 36
Cet exampLe fichier montre comment configurer le noyau IP DSP à point fixe natif Cyclone 10 GX pour utiliser le mode opérationnel 18 × 18 Plus 36 avec une donnée d'entrée 12 bits signée de 101010101010 (binaire) au lieu d'un opérande 36 bits.
- Définissez Format de représentation pour le multiplicateur inférieur x opérande : sur signé.
- Définissez Format de représentation pour l'opérande y du multiplicateur inférieur : sur non signé.
- Définissez la largeur du bus d'entrée 'bx' sur 18.
- Définissez la largeur du bus d'entrée 'by' sur 18.
- Fournissez les données '111111111111111111' au bus d'entrée bx.
- Fournissez les données de '111111101010101010' au bus d'entrée.
Le mode systolique 18 × 18
Dans les modes de fonctionnement systoliques 18 × 18, le cœur IP DSP à virgule fixe native Cyclone 10 GX active les multiplicateurs supérieur et inférieur, un registre systolique d'entrée pour le multiplicateur supérieur et un registre systolique de chaîne pour la chaîne dans les signaux d'entrée. Lorsque vous activez la sortie en cascade, ce mode prend en charge le résultat d'une largeur de sortie de 44 bits. Lorsque vous activez la fonction d'accumulateur sans sortie en cascade, vous pouvez configurer la largeur de sortie du résultat sur 64 bits.
L'architecture du mode systolique 18 × 18
Le mode 27 × 27
Lorsqu'il est configuré en modes 27 × 27, le noyau IP DSP à point fixe natif Cyclone 10 GX permet un multiplicateur de 27 (signé/non signé) × 27 (signé/non signé). Le bus de sortie peut prendre en charge jusqu'à 64 bits avec la cascade d'accumulateur/sortie activée. Ce mode applique l'équation de resulta = ax * ay.
L'architecture du mode 27 × 27
Modules facultatifs
Les modules optionnels disponibles dans le Cyclone 10 GX Native Fixed Point DSP IP Core sont :
- Cascade d'entrée
- Pré-additionneurs
- Coefficient interne
- Accumulateur et cascade de sortie
- Registres des pipelines
Cascade d'entrée
La fonction de cascade d'entrée est prise en charge sur ay et par le bus d'entrée. Lorsque vous réglez Enable input cascade for 'ay' input sur Yes, le noyau IP DSP à point fixe natif du Cyclone 10 GX prendra les entrées des signaux d'entrée de balayage au lieu du bus d'entrée ay. Lorsque vous réglez Enable input cascade for 'by' input sur Yes, le noyau IP DSP à point fixe natif du Cyclone 10 GX prendra les entrées de n'importe quel bus d'entrée au lieu de par bus d'entrée.
Il est recommandé d'activer les registres d'entrée pour ay et/ou par chaque fois que la cascade d'entrée est activée pour l'exactitude de l'application.
Vous pouvez activer les registres de retard pour qu'ils correspondent à l'exigence de latence entre le registre d'entrée et le registre de sortie. Il y a 2 registres de retard dans le noyau. Le registre de retard supérieur est utilisé pour les ports d'entrée y ou scan-in tandis que le registre de retard inférieur est utilisé pour les ports de sortie scan-out. Ces registres de retard sont pris en charge en mode complet 18 × 18, 18 × 18 sommes de 2 modes et 18 × 18 modes systoliques.
Pré-additionneur
Le pré-additionneur peut être configuré dans les configurations suivantes :
- Deux pré-additionneurs 18 bits indépendants (signés/non signés).
- Un pré-additionneur 26 bits.
Lorsque vous activez le pré-additionneur dans les modes de multiplication 18 × 18, ay et az sont utilisés comme bus d'entrée vers le pré-additionneur supérieur tandis que by et bz sont utilisés comme bus d'entrée vers le pré-additionneur inférieur. Lorsque vous activez le pré-additionneur en mode de multiplication 27 × 27, ay et az sont utilisés comme bus d'entrée du pré-additionneur. Le pré-additionneur prend en charge les opérations d'addition et de soustraction. Lorsque les deux pré-additionneurs dans le même bloc DSP sont utilisés, ils doivent partager le même type d'opération (addition ou soustraction).
Coefficient interne
Le coefficient interne peut prendre en charge jusqu'à huit coefficients constants pour les multiplicandes en modes 18 bits et 27 bits. Lorsque vous activez la fonction de coefficient interne, deux bus d'entrée pour contrôler la sélection du multiplexeur de coefficients seront générés. Le bus d'entrée coefsela est utilisé pour sélectionner les coefficients prédéfinis pour le multiplicateur supérieur et le bus d'entrée conseil est utilisé pour sélectionner les coefficients prédéfinis pour le multiplicateur inférieur.
Le stockage de coefficients interne ne prend pas en charge les valeurs de coefficients contrôlables dynamiquement et un stockage de coefficients externe est nécessaire pour effectuer une telle opération.
Accumulateur et cascade de sortie
Le module accumulateur peut être activé pour effectuer les opérations suivantes :
- Opération d'addition ou de soustraction
- Opération d'arrondi biaisé utilisant une valeur constante de 2N
- Accumulation double canal
Pour effectuer dynamiquement une opération d'addition ou de soustraction de l'accumulateur, contrôlez le signal d'entrée négatif. Pour une opération d'arrondi biaisé, vous pouvez spécifier et charger une constante prédéfinie de 2N avant l'activation du module d'accumulateur en spécifiant un entier à la valeur du paramètre N de la constante prédéfinie. L'entier N doit être inférieur à 64. Vous pouvez activer ou désactiver dynamiquement l'utilisation de la constante prédéfinie en contrôlant le signal loadconst. Vous pouvez utiliser cette opération comme multiplexage actif de la valeur ronde dans le chemin de retour de l'accumulateur. Le coût chargé et l'utilisation cumulée du signal s'excluent mutuellement.
Vous pouvez activer le registre de double accumulateur à l'aide du paramètre Enable double accumulator pour effectuer une double accumulation. Le module accumulateur peut prendre en charge le chaînage de plusieurs blocs DSP pour les opérations d'addition ou de soustraction en activant le port d'entrée de chaînage et le port de sortie de chaînage. En mode systolique 18 × 18, seuls 44 bits du bus d'entrée de chaîne et du bus de sortie de chaîne seront utilisés. Cependant, toutes les chaînes 64 bits du bus d'entrée doivent être connectées au bus de sortie de chaîne du bloc DSP précédent.
Registre des pipelines
Le noyau IP DSP à point fixe natif Cyclone 10 GX prend en charge un seul niveau de registre de pipeline. Le registre de pipeline prend en charge jusqu'à trois sources d'horloge et un signal d'effacement asynchrone pour réinitialiser les registres de pipeline. Il existe cinq registres de pipeline :
- registre de pipeline de bus d'entrée de données
- registre de pipeline de signal de commande sous-dynamique
- inverser le registre de pipeline de signal de commande dynamique
- accumuler le registre de pipeline de signal de commande dynamique
- registre de pipeline de contrôle dynamique loadconst
Vous pouvez choisir d'activer chaque registre de pipeline de bus d'entrée de données et les registres de pipeline de signal de contrôle dynamique indépendamment. Cependant, tous les registres de pipeline activés doivent utiliser la même source d'horloge.
Schéma de pointage
Les registres d'entrée, de pipeline et de sortie du noyau IP DSP à virgule fixe native Cyclone 10 GX prennent en charge trois sources/activations d'horloge et deux effacements asynchrones. Tous les registres d'entrée utilisent aclr[0] et tous les registres de pipeline et de sortie utilisent aclr[1]. Chaque type de registre peut sélectionner l'une des trois sources d'horloge et des signaux de validation d'horloge. Lorsque vous configurez le noyau IP DSP à point fixe natif Cyclone 10 GX en mode de fonctionnement systolique 18 × 18, le logiciel Intel Quartus Prime définit le registre systolique d'entrée et la source d'horloge du registre systolique de la chaîne sur la même source d'horloge que le registre de sortie en interne.
Lorsque vous activez la fonction de double accumulateur, le logiciel Intel Quartus Prime définit la source d'horloge du registre du double accumulateur sur la même source d'horloge que le registre de sortie en interne.
Contraintes du schéma de pointage
Cet onglet affiche les contraintes que vous devez appliquer pour tous les schémas de pointage du registre.
Condition | Contrainte |
Lorsque le pré-additionneur est activé | La source d'horloge pour les registres d'entrée ay et az doit être la même. |
La source d'horloge pour les registres d'entrée by et bz doit être la même. | |
Lorsque les registres de pipeline sont activés | La source d'horloge pour tous les registres de pipeline doit être la même. |
Lorsque l'un des registres d'entrée pour les signaux de commande dynamiques | La source d'horloge pour les registres d'entrée pour sub, accumulate, loadconst et negate doit être la même. |
Signaux de base IP DSP à point fixe natif Cyclone 10 GX
La figure suivante montre les signaux d'entrée et de sortie du noyau IP DSP à point fixe natif Cyclone 10 GX.
Signaux de base IP DSP à point fixe natif Cyclone 10 GX
Signaux d'entrée de données
Nom du signal | Taper | Largeur | Description |
hache[] | Saisir | 27 | Bus de données d'entrée vers le multiplicateur supérieur. |
oui [] | Saisir | 27 | Bus de données d'entrée vers le multiplicateur supérieur.
Lorsque le pré-additionneur est activé, ces signaux sont servis comme signaux d'entrée au pré-additionneur supérieur. |
az[] | Saisir | 26 | Ces signaux sont des signaux d'entrée vers le pré-additionneur supérieur.
Ces signaux ne sont disponibles que lorsque le pré-additionneur est activé. Ces signaux ne sont pas disponibles dans m18×18_plus36 mode opérationnel. |
bx[] | Saisir | 18 | Bus de données d'entrée au multiplicateur inférieur.
Ces signaux ne sont pas disponibles dans m27×27 mode opérationnel. |
par[] | Saisir | 19 | Bus de données d'entrée au multiplicateur inférieur.
Lorsque le pré-additionneur est activé, ces signaux servent de signaux d'entrée au pré-additionneur inférieur. Ces signaux ne sont pas disponibles dans m27×27 mode opérationnel. |
bz[] | Saisir | 18 | Ces signaux sont des signaux d'entrée vers le pré-additionneur inférieur. Ces signaux ne sont disponibles que lorsque le pré-additionneur est activé. Ces signaux ne sont pas disponibles dans m27×27 et m18×18_plus36 modes de fonctionnement. |
Signaux de sortie de données
Nom du signal | Taper | Largeur | Description |
résultat[] | Sortir | 64 | Bus de données de sortie du multiplicateur supérieur.
Ces signaux prennent en charge jusqu'à 37 bits pour m18×18_complet mode opérationnel. |
résultat[] | Sortir | 37 | Bus de données de sortie du multiplicateur inférieur.
Ces signaux ne sont disponibles que dans m18×18_complet mode opérationnel. |
Horloge, activer et effacer les signaux
Nom du signal | Taper | Largeur | Description |
cl[] | Saisir | 3 | Signaux d'horloge d'entrée pour tous les registres.
Ces signaux d'horloge ne sont disponibles que si l'un des registres d'entrée, registres de pipeline ou registre de sortie est défini sur Horloge0, Horloge1, ou Horloge2. • clk[0] = Horloge0 • clk[1] = Horloge1 • clk[2] = Horloge2 |
ena[] | Saisir | 3 | Activation de l'horloge pour clk[2:0]. Ce signal est actif-Haut.
• ena[0] est pour Horloge0 • ena[1] est pour Horloge1 • ena[2] est pour Horloge2 |
acclr[] | Saisir | 2 | Signaux d'entrée clairs asynchrones pour tous les registres. Ce signal est actif-Haut.
Utiliser ac[0] pour tous les registres d'entrée et utilisation ac[1] pour tous les registres de pipeline et le registre de sortie. Par défaut, ce signal est désactivé. |
Signaux de contrôle dynamique
Nom du signal | Taper | Largeur | Description |
sous | Saisir | 1 | Signal d'entrée pour ajouter ou soustraire la sortie du multiplicateur supérieur avec la sortie du multiplicateur inférieur.
• Désactivez ce signal pour spécifier l'opération d'addition. • Confirmez ce signal pour spécifier l'opération de soustraction. Par défaut, ce signal est désactivé. Vous pouvez activer ou désactiver ce signal pendant l'exécution.(3) |
nier | Saisir | 1 | Signal d'entrée pour additionner ou soustraire la somme des multiplicateurs supérieurs et inférieurs avec les données des signaux enchaînés.
• Désactivez ce signal pour spécifier l'opération d'addition. • Confirmez ce signal pour spécifier l'opération de soustraction. Par défaut, ce signal est désactivé. Vous pouvez activer ou désactiver ce signal pendant l'exécution.(3) |
accumuler | Saisir | 1 | Signal d'entrée pour activer ou désactiver la fonction d'accumulateur.
• Désactivez ce signal pour désactiver la fonction d'accumulateur. • Activez ce signal pour activer la fonction d'accumulateur. Par défaut, ce signal est désactivé. Vous pouvez activer ou désactiver ce signal pendant l'exécution.(3) |
chargeconst | Saisir | 1 | Signal d'entrée pour activer ou désactiver la fonction de constante de charge.
• Désactivez ce signal pour désactiver la fonction de constante de charge. • Activez ce signal pour activer la fonction de charge constante. Par défaut, ce signal est désactivé. Vous pouvez activer ou désactiver ce signal pendant l'exécution.(3) |
Signaux de coefficient interne
Nom du signal | Taper | Largeur | Description |
coefsela [] | Saisir | 3 | Signaux de sélection d'entrée pour 8 valeurs de coefficient définies par l'utilisateur pour le multiplicateur supérieur. Les valeurs des coefficients sont stockées dans la mémoire interne et spécifiées par des paramètres coef_a_0 à coef_a_7.
• coefsela[2:0] = 000 fait référence à coef_a_0 • coefsela[2:0] = 001 fait référence à coef_a_1 • coelsela[2:0] = 010 fait référence à coef_a_2 • … et ainsi de suite. Ces signaux ne sont disponibles que lorsque la fonction de coefficient interne est activée. |
coefsel[] | Saisir | 3 | Signaux de sélection d'entrée pour 8 valeurs de coefficient définies par l'utilisateur pour le multiplicateur inférieur. Les valeurs des coefficients sont stockées dans la mémoire interne et spécifiées par des paramètres coef_b_0 à coef_b_7.
• coefselb[2:0] = 000 fait référence à coef_b_0 • coefselb[2:0] = 001 fait référence à coef_b_1 • coelselb[2:0] = 010 fait référence à coef_b_2 • … et ainsi de suite. Ces signaux ne sont disponibles que lorsque la fonction de coefficient interne est activée. |
Signaux en cascade d'entrée
Nom du signal | Taper | Largeur | Description |
scanner[] | Saisir | 27 | Bus de données d'entrée pour le module d'entrée en cascade.
Connectez ces signaux aux signaux de balayage du noyau DSP précédent. |
balayage[] | Sortie | 27 | Bus de données de sortie du module cascade d'entrées.
Connectez ces signaux aux signaux de balayage du noyau DSP suivant. |
Signaux de sortie en cascade
Nom du signal | Taper | Largeur | Description |
enchaîner[] | Saisir | 64 | Bus de données d'entrée pour le module de sortie en cascade.
Connectez ces signaux aux signaux de sortie de chaînage du noyau DSP précédent. |
enchaînement[] | Sortir | 64 | Bus de données de sortie du module de sortie en cascade.
Connectez ces signaux aux signaux chainin du noyau DSP suivant. |
Historique de révision du document pour le Guide de l'utilisateur IP Core DSP à point fixe natif Cyclone 10 GX
Date | Version | Changements |
Novembre 2017 | 2017.11.06 | Version initiale. |
Société intel. Tous les droits sont réservés. Intel, le logo Intel et les autres marques Intel sont des marques commerciales d'Intel Corporation ou de ses filiales. Intel garantit les performances de ses produits FPGA et semi-conducteurs selon les spécifications actuelles conformément à la garantie standard d'Intel, mais se réserve le droit d'apporter des modifications à tout produit et service à tout moment et sans préavis. Intel n'assume aucune responsabilité découlant de l'application ou de l'utilisation de toute information, produit ou service décrit dans le présent document, sauf accord exprès et écrit d'Intel. Il est conseillé aux clients d'Intel d'obtenir la dernière version des spécifications de l'appareil avant de se fier aux informations publiées et avant de passer des commandes de produits ou de services.
D’autres noms et marques peuvent être revendiqués comme étant la propriété d’autrui.
Documents / Ressources
![]() |
Intel UG-20094 Cyclone 10 GX Natif Point Fixe DSP IP Core [pdf] Guide de l'utilisateur UG-20094 Cyclone 10 GX DSP IP Core natif à point fixe, UG-20094, Cyclone 10 GX DSP IP Core natif à point fixe, DSP IP Core natif à point fixe, DSP IP Core à point fixe, DSP IP Core |