DSP48E2

Calcule une équation arithmétique ou une opération logique personnalisable sur une slice DSP48E2 disponible sur certaines cibles FPGA Xilinx.

Configurez l'interface du nœud sur l'onglet Élément pour personnaliser l'équation arithmétique ou l'opération logique exécutée par le nœud à l'exécution.

Remarque Cette aide n'a pas pour objectif d'offrir une explication détaillée de la slice DSP48E2. Avant d'utiliser ce nœud, NI vous conseille de vous familiariser avec le guide de l'utilisateur 7 Series DSP48E2 Slice, disponible sur www.xilinx.com. Ce guide inclut des informations détaillées sur la slice (appelée aussi "tranche" ou "bloc logique") telles que des détails architecturaux, des considérations de cadencement et des exemples de programmes, qui vous aident à la programmer efficacement.
1378

Entrées/Sorties

datatype_icon

a

Valeur à utiliser dans un calcul arithmétique ou une opération logique sur la slice.

Conserver la précision des nombres à virgule fixe

Les valeurs à virgule fixe ne s'adaptent pas aux commandes et indicateurs ayant des types de données différents. Au lieu de cela, le programme contraint la valeur, ce qui diminue la précision. Pour maintenir la précision, câblez une valeur à virgule fixe du même type de données à l'entrée, ou ajustez la longueur de mot de la partie entière de l'entrée.

datatype_icon

acin

Valeur de a, cascadée d'un nœud DSP48 précédent, à utiliser dans un calcul arithmétique ou une opération logique sur la slice.

Pour afficher cette entrée, cliquez sur Changer le connecteur sur l'onglet Élément et sélectionnez l'option acin sur l'onglet Terminaux de la boîte de dialogue Configurer un connecteur DSP48.

Connexion d'entrée cascadée

Cette entrée cascadée ne se connecte qu'à la sortie acout d'un autre nœud DSP48.

datatype_icon

b

Valeur à utiliser dans un calcul arithmétique ou une opération logique sur la slice.

Conserver la précision des nombres à virgule fixe

Les valeurs à virgule fixe ne s'adaptent pas aux commandes et indicateurs ayant des types de données différents. Au lieu de cela, le programme contraint la valeur, ce qui diminue la précision. Pour maintenir la précision, câblez une valeur à virgule fixe du même type de données à l'entrée, ou ajustez la longueur de mot de la partie entière de l'entrée.

datatype_icon

bcin

Valeur de b, cascadée d'un nœud DSP48 précédent, à utiliser dans un calcul arithmétique ou une opération logique sur la slice.

Pour afficher cette entrée, cliquez sur Changer le connecteur sur l'onglet Élément et sélectionnez l'option bcin sur l'onglet Terminaux de la boîte de dialogue Configurer un connecteur DSP48.

Connexion d'entrée cascadée

Cette entrée cascadée ne se connecte qu'à la sortie bcout d'un autre nœud DSP48.

datatype_icon

c

Valeur à utiliser dans un calcul arithmétique ou une opération logique sur la slice.

Conserver la précision des nombres à virgule fixe

Les valeurs à virgule fixe ne s'adaptent pas aux commandes et indicateurs ayant des types de données différents. Au lieu de cela, le programme contraint la valeur, ce qui diminue la précision. Pour maintenir la précision, câblez une valeur à virgule fixe du même type de données à l'entrée, ou ajustez la longueur de mot de la partie entière de l'entrée.

datatype_icon

inmode

Bits de contrôle qui sélectionnent la fonctionnalité d'un pré-additionneur ainsi que a, b, d et les registres d'entrée.

Cette entrée n'apparaît que si vous choisissez Personnalisé comme option de Calcul sur l'onglet Élément.

Remarque National Instruments vous conseille de vous reporter à la section Input Ports du guide d'utilisateur de slice DSP48 approprié pour en savoir plus sur ce terminal.
datatype_icon

pcin

Valeur de p, cascadée d'un nœud DSP48 précédent, à utiliser dans une équation arithmétique ou une opération logique sur la slice.

Pour afficher cette entrée, cliquez sur Changer le connecteur sur l'onglet Élément et sélectionnez l'option pcin sur l'onglet Terminaux de la boîte de dialogue Configurer un connecteur DSP48.

Connexion d'entrée cascadée

Cette entrée cascadée ne se connecte qu'à la sortie pcout d'un autre nœud DSP48.

datatype_icon

carryin

Valeur booléenne qui représente l'entrée de retenue de la logique FPGA.

Vrai L'entrée de retenue d'une opération arithmétique externe sur la slice DSP48 est définie à 1.
Faux L'entrée de retenue d'une opération arithmétique externe sur la slice DSP48 est définie à 0.

Pour afficher cette entrée, cliquez sur Changer le connecteur sur l'onglet Élément et sélectionnez l'option carryin sur l'onglet Terminaux de la boîte de dialogue Configurer un connecteur DSP48.

Remarque National Instruments vous conseille de vous reporter à la section Carry Input Logic du guide d'utilisateur de slice DSP48 approprié pour en savoir plus sur cette entrée.
datatype_icon

carrycascin

Valeur booléenne qui représente l'entrée retenue en cascade d'un nœud DSP48 précédent.

Vrai L'entrée de retenue en cascade d'une opération arithmétique externe sur la slice DSP48 est définie à 1.
Faux L'entrée de retenue en cascade d'une opération arithmétique externe sur la slice DSP48 est définie à 0.

Pour afficher cette entrée, cliquez sur Changer le connecteur sur l'onglet Élément et sélectionnez l'option carrycascin sur l'onglet Terminaux de la boîte de dialogue Configurer un connecteur DSP48.

Remarque National Instruments vous conseille de vous reporter à la section Carry Input Logic du guide d'utilisateur de slice DSP48 approprié pour en savoir plus sur cette entrée.

Connexion d'entrée cascadée

Cette entrée cascadée ne se connecte qu'à la sortie carrycascout d'un autre nœud DSP48.

datatype_icon

multsignin

Valeur booléenne qui représente le signe du résultat de la multiplication d'un calcul d'un nœud DSP48 précédent.

Vrai Le résultat de la multiplication du nœud DSP48 précédent est négatif, et l'entrée sur la slice DSP48 est définie à 1.
Faux Le résultat de la multiplication du nœud DSP48 précédent est positif, et l'entrée sur la slice DSP48 est définie à 0.

Pour afficher cette entrée, cliquez sur Changer le connecteur sur l'onglet Élément et sélectionnez l'option multsignin sur l'onglet Terminaux de la boîte de dialogue Configurer un connecteur DSP48.

Connexion d'entrée cascadée

Cette entrée cascadée ne se connecte qu'à la sortie multsignout d'un autre nœud DSP48.

datatype_icon

alumode

Bits de contrôle qui sélectionnent l'équation arithmétique ou l'opération logique évaluée par la slice.

Cette entrée n'apparaît que si vous choisissez Personnalisé comme option de Calcul sur l'onglet Élément.

Remarque National Instruments vous conseille de vous reporter à la section ALUMODE Inputs du guide d'utilisateur de slice DSP48 approprié pour en savoir plus sur cette entrée.
datatype_icon

opmode

Bits de contrôle qui sélectionnent l'entrée des multiplexeurs X, Y et Z sur la slice.

Cette entrée n'apparaît que si vous choisissez Personnalisé comme option de Calcul sur l'onglet Élément.

Remarque National Instruments vous conseille de vous reporter à la section X, Y, and Z Multiplexer du guide d'utilisateur de slice DSP48 approprié pour en savoir plus sur cette entrée.
datatype_icon

carryinsel

Bits de contrôle qui sélectionne la source de retenue.

Cette entrée n'apparaît que si vous choisissez Personnalisé comme option de Calcul sur l'onglet Élément.

Remarque National Instruments vous conseille de vous reporter à la section Carry Input Logic du guide d'utilisateur de slice DSP48 approprié pour en savoir plus sur cette entrée.
datatype_icon

acout

Valeur de a à passer en cascade à un autre nœud DSP48.

Pour afficher cette sortie, cliquez sur Changer le connecteur sur l'onglet Élément et sélectionnez l'option acout sur l'onglet Terminaux de la boîte de dialogue Configurer un connecteur DSP48.

Connexion de sortie cascadée

Cette sortie cascadée ne se connecte qu'à l'entrée acin d'un autre nœud DSP48.

datatype_icon

bcout

Valeur de b à passer en cascade à un autre nœud DSP48.

Pour afficher cette sortie, cliquez sur Changer le connecteur sur l'onglet Élément et sélectionnez l'option bcout sur l'onglet Terminaux de la boîte de dialogue Configurer un connecteur DSP48.

Connexion de sortie cascadée

Cette sortie cascadée ne se connecte qu'à l'entrée bcin d'un autre nœud DSP48.

datatype_icon

p

Résultat de l'opération réalisée par la slice.

Conserver la précision des nombres à virgule fixe

Les valeurs à virgule fixe ne s'adaptent pas aux commandes et indicateurs ayant des types de données différents. Au lieu de cela, le programme contraint la valeur, ce qui diminue la précision. Pour maintenir la précision, câblez une valeur à virgule fixe du même type de données à la sortie, ou ajustez la longueur de mot de la partie entière de la sortie.

datatype_icon

pcout

Valeur de p à passer en cascade à un autre nœud DSP48.

Pour afficher cette sortie, cliquez sur Changer le connecteur sur l'onglet Élément et sélectionnez l'option pcout sur l'onglet Terminaux de la boîte de dialogue Configurer un connecteur DSP48.

Connexion de sortie cascadée

Cette sortie cascadée ne se connecte qu'à l'entrée pcin d'un autre nœud DSP48.

datatype_icon

carryout

sortie de retenue 4 bits de la slice DSP48.

Pour afficher cette sortie, cliquez sur Changer le connecteur sur l'onglet Élément et sélectionnez l'option carryout sur l'onglet Terminaux de la boîte de dialogue Configurer un connecteur DSP48.

Remarque National Instruments vous conseille de vous reporter à la section CARRYCASCOUT and CARRYOUT Ports du guide d'utilisateur de slice approprié pour en savoir plus sur cette sortie.
datatype_icon

carrycascout

Valeur booléenne qui représente le bit de contrôle pour la sortie de retenue à transférer en cascade vers un autre nœud DSP48.

Vrai La sortie de retenue en cascade d'une opération arithmétique externe sur la slice DSP48 est définie à 1.
Faux La sortie de retenue en cascade d'une opération arithmétique externe sur la slice DSP48 est définie à 0.

Pour afficher cette sortie, cliquez sur Changer le connecteur sur l'onglet Élément et sélectionnez l'option carrycascout sur l'onglet Terminaux de la boîte de dialogue Configurer un connecteur DSP48.

Remarque National Instruments vous conseille de vous reporter à la section CARRYCASCOUT and CARRYOUT Ports du guide d'utilisateur de slice approprié pour en savoir plus sur cette sortie.

Connexion de sortie cascadée

Cette sortie cascadée ne se connecte qu'à l'entrée carrycascin d'un autre nœud DSP48.

datatype_icon

multsignout

Valeur booléenne qui représente le signe du résultat de la multiplication à transférer en cascade vers un autre nœud DSP48.

Vrai Le résultat de la multiplication est négatif, et la sortie sur la slice DSP48 est définie à 1.
Faux Le résultat de la multiplication est positif, et la sortie sur la slice DSP48 est définie à 0.

Pour afficher cette sortie, cliquez sur Changer le connecteur sur l'onglet Élément et sélectionnez l'option multsignout sur l'onglet Terminaux de la boîte de dialogue Configurer un connecteur DSP48.

Connexion de sortie cascadée

Cette sortie cascadée ne se connecte qu'à l'entrée multsignin d'un autre nœud DSP48.

Configurer l'interface du nœud

Choisissez une des trois options de Calcul sur l'onglet Élément pour déterminer comment le nœud agira à l'exécution.

  • Arithmétique—Évaluer une équation mathématique spécifiée à l'exécution.

    Cliquez sur Éditer sur l'onglet Élément pour sélectionner les valeurs à utiliser dans l'équation.

  • Logique—Évaluer une expression booléenne spécifiée à l'exécution.

    Cliquez sur Éditer sur l'onglet Élément pour configurer l'expression booléenne.

  • Personnalisé—Configurer la fonctionnalité du nœud à l'exécution en spécifiant les entrées opmode, alumode, inmode et carryinsel sur le diagramme.

    Le nœud DSP48 configure automatiquement opmode, alumode, inmode et carryinsel lorsque vous sélectionnez le type de calcul Arithmétique ou Logique. Si la combinaison des configurations des entrées opmode, alumodeinmode et carryinsel n'est pas valide, le programme rapporte une erreur à l'exécution identifiant la combinaison non valide de valeurs en entrée.

  • Configurer les entrées et sorties d'un nœud DSP48

    Un nœud DSP48 a plusieurs entrées et sorties optionnelles que vous pouvez activer pour personnaliser la fonctionnalité d'une slice DSP48 sur le diagramme. Activez les entrées et sorties optionnelles du nœud pour configurer les valeurs utilisées par le nœud pour les calculs qu'il effectue.

    Effectuez les étapes suivantes pour choisir les entrées et sorties du nœud DSP48 à afficher sur le diagramme.

    1. Sur le diagramme, sélectionnez le nœud DSP48 à configurer.
    2. Cliquez sur le bouton Changer le connecteur sur l'onglet Élément.
    3. Sur l'onglet Terminaux de la boîte de dialogue Configurer un connecteur DSP48, sélectionnez les entrées et sorties à afficher sur le diagramme et cliquez sur OK.

    Maintenir la précision numérique d'un nœud DSP48

    Pour maintenir la précision numérique dans votre programme, vous devez définir correctement la longueur de mot de la partie entière des entrées de vos calculs. Si vous ne définissez pas correctement la longueur de mot de la partie entière, le résultat des calculs risque de ne pas être juste.

    La longueur de mot d'une entrée d'un nœud DSP48 est une valeur constante qui correspond à la largeur de bits de l'entrée correspondante sur la slice DSP48. Utilisez l'onglet Configuration de virgule fixe de la boîte de dialogue Configurer un connecteur DSP48 pour ajuster la longueur de mot de la partie entière d'une entrée ou d'un groupe d'entrées d'un nœud DSP48.

    Remarque Soustrayez la longueur de mot de la partie entière de la longueur de mot totale pour obtenir la longueur de mot de la partie fractionnaire.

    La table suivante répertorie les modifications à effectuer sur le type de données des entrées d'un nœud DSP48 pour maintenir la précision numérique des calculs arithmétiques.

    Configuration d'entrée de nœud ou d'équation Spécifications pour maintenir la précision numérique Exemple

    a, b

    • La longueur de mot de la partie fractionnaire de l'entrée est supérieure ou égale à celle de la source.
    • La longueur de mot de la partie entière de l'entrée est supérieure ou égale à celle de la source.

    Le type de données de la source de b est I16 <1.15>. Pour maintenir la précision, définissez la longueur de mot de la partie entière de b à 3, 2 ou 1.

    Multiplieur (p = a * b)

    La longueur de mot de la partie fractionnaire de p est égale à la somme des longueurs de mot des parties fractionnaires de a et b.

    • Le type de données de la source de a est I16 <1.15>.
    • Le type de données de la source de b est I16 <2.14>.

    La somme des longueurs de mot des parties fractionnaires est 29. Dans ce cas, définissez les longueurs de mots de a, b et p en conséquence :

    • Définissez la longueur de mot de la partie entière de a à 10.
    • Définissez la longueur de mot de la partie entière de b à 4.
    • Définissez la longueur de mot de la partie entière de p à 19.

    Accumulateur (p = p + c)

    La longueur de mot de la partie fractionnaire de p est égale à celle de c.

    Le type de données de la source de c est I16 <3.13>.

    Définissez la longueur de mot de la partie entière de p à 35.

    Configurations des équations arithmétiques DSP48E2 courantes

    Un nœud DSP48 calcule l'équation générique suivante lorsque vous sélectionnez Arithmétique dans le menu déroulant Calcul sur l'onglet Élément.

    p = (+/Non z) +/- (x+y + carryin)

    z, x+y et carryin sont des variables. Vous pouvez assigner une valeur constante, la valeur d'une entrée d'un nœud ou le résultat d'un calcul à ces variables. Les sources disponibles pour carryin dépendent des valeurs que vous spécifiez pour z et x+y. Cliquez sur le bouton Éditer sur l'onglet Élément pour configurer l'équation.

    Lorsque vous sélectionnez DSP48E1 dans le menu déroulant Interface sur l'onglet Élément, une deuxième équation résolvant m apparaît dans la boîte de dialogue Configurer DSP48. Vous pouvez utiliser le résultat de cette équation comme valeur d'entrée pour x+y dans le calcul effectué par le nœud.

    Par défaut, l'interface DSP48E2 d'un nœud DSP48 calcule l'équation suivante.

    p = c + (m + carryin)

    m = a * b

    Remarque Pour toutes les configurations qui utilisent des mutiplieurs, vous devez définir Mode d'unité logique à Un 48 bits.
    Opération arithmétique Équation arithmétique Configuration

    Multiplier

    p = a*b+carryin 1378

    Multiplier avec pré-additionneur

    p = (d+a)*b+carryin 1378

    Multiplier-accumuler

    p = p+(a*b+carryin) 1378

    Multiplier-additionner

    p = c+ (a*b+carryin) 1378

    Multiplier-soustraire

    p = c-(a*b+carryin) 1378