Produit scalaire
- Mise à jour2023-02-17
- Temps de lecture : 5 minute(s)
Produit scalaire
Calcule le produit scalaire de deux vecteurs de nombres réels ou complexes. Si vous configurez Taille du vecteur à 1, vous devez fournir des valeurs scalaires. Pour toute autre Taille du vecteur, ce nœud supporte les valeurs scalaires ou les tableaux 1D de taille fixe de cette taille.
Entrées/Sorties

x
Valeurs en entrée. Vous pouvez transférer des valeurs scalaires point par point ou transférer toutes les valeurs à la fois dans un tableau de taille fixe.

y
Valeurs en entrée. Vous pouvez transférer des valeurs scalaires point par point ou transférer toutes les valeurs à la fois dans un tableau de taille fixe.

entrée valide
Valeur booléenne qui décrit si le prochain élément de données est arrivé pour être traité. Câblez la sortie sortie valide d'un nœud en amont à cette entrée pour transférer des données du nœud en amont à ce nœud-ci.
| Vrai | Le prochain élément de données est arrivé pour être traité. |
| Faux | Le prochain élément de données n'est pas arrivé pour être traité. |

prêt pour la sortie
Valeur booléenne qui définit si les nœuds en aval sont prêts à ce que ce nœud-ci renvoie une nouvelle valeur. Utilisez un nœud de rétroaction pour câbler la sortie prêt pour l'entrée d'un nœud en aval à cette entrée du nœud actuel.
| Vrai | Les nœuds en aval sont prêts à ce que ce nœud-ci renvoie une nouvelle valeur. |
| Faux | Les nœuds en aval ne sont pas prêts à ce que ce nœud-ci renvoie une nouvelle valeur. |
Default value: Vrai

produit scalaire
Le produit scalaire de x et y.

dépassement de l'opération
Un booléen qui indique si le type de données en sortie ne peut pas exprimer toutes les valeurs du résultat. Ce nœud applique les options de dépassement et d'arrondi en fonction de votre configuration de la sortie.
| Vrai | Le type de données en sortie ne peut pas exprimer toutes les valeurs du résultat. |
| Faux | Le type de données en sortie peut exprimer toutes les valeurs du résultat. |

sortie valide
Valeur booléenne qui indique si ce nœud calcule un résultat qui peut être utilisé par les nœuds en aval.
Câblez cette sortie à l'entrée entrée valide d'un nœud en aval pour transférer les données du nœud au nœud en aval.
| Vrai | Les nœuds en aval peuvent utiliser le résultat que ce nœud calcule. |
| Faux | Ce nœud renvoie une valeur non définie que les nœuds en aval ne peuvent pas utiliser. Remarque Ce nœud peut renvoyer des valeurs non définies différentes selon qu'il s'exécute en mode simulation ou sur du matériel. |

prêt pour l'entrée
Valeur booléenne qui indique si ce nœud est prêt à accepter de nouvelles données en entrée.
Utilisez Nœud de rétroaction pour câbler cette sortie à la sortie prêt pour la sortie d'un nœud en amont.
| Vrai | Le nœud est prêt à accepter de nouvelles données en entrée. |
| Faux | Le nœud n'est pas prêt à accepter de nouvelles données en entrée. |
Options de conjugaison
Configurer comment conjuguer les entrées pendant l'opération. Vous pouvez conjuguer n'importe quelle combinaison des entrées : x, y, les deux ou aucune.
Taille du vecteur
Spécifie la taille du vecteur en entrée.
Option de ressource
Spécifie comment implémenter le multiplieur. Auto permet au compilateur de décider s'il faut utiliser des multiplieurs en blocs embarqués ou des tables de correspondance. Table de correspondance force le nœud à utiliser des tables de correspondance.
Degré de pipeline
Configurer combien d'étages de pipeline ce nœud utilise en interne.
Que se passe-t-il si les interfaces ou les tailles des tableaux diffèrent ?
x et y doivent être tous deux scalaires ou tous deux un tableau 1D de taille fixe> Si les interfaces sont de types différents, x l'emporte. Si le type des deux interfaces est tableau 1D de taille fixe mais que les tableaux sont de tailles différentes, l'entrée de plus petite taille l'emporte. Si l'entrée prioritaire est un tableau 1D de taille fixe, le compilateur grise l'option de configuration Taille du vecteur pour le nœud et utilise la taille de tableau du fil de liaison.
Améliorer la fréquence maximale de l'horloge avec un pipeline
Vous pouvez améliorer les performances de cadencement de ce nœud sur une cible FPGA en ajustant le nombre d'étages du pipeline. En général, l'augmentation du nombre d'étages d'un pipeline augmente aussi la fréquence d'horloge maximale que ce nœud peut atteindre. Cependant, la fréquence d'horloge réelle dépend de nombreux facteurs, y compris :
- La cible FPGA utilisée
- La taille du multiplieur
- Les modes d'arrondi et de dépassement sélectionnés pour la configuration de virgule fixe du nœud
- Le mode que vous sélectionnez pour Ressource dans la section Option de pipeline de l'onglet Élément.
- La logique FPGA autre que le multiplieur