DSP48E2

Berechnet eine benutzerdefinierbare arithmetische Gleichung oder Logikoperation an einem DSP48E2-Logikblock, der auf bestimmten Xilinx-FPGAs verfügbar ist.

Zum benutzerdefinierten Anpassen der arithmetischen Gleichung oder logischen Operation während der Ausführung konfigurieren Sie die Knotenschnittstelle auf der Registerkarte Objekt.

Hinweis Diese Hilfe bietet keine umfassenden Erklärungen für den DSP48E2-Logikblock. Es wird empfohlen, sich vor Verwendung dieses Knotens mit dem "7 Series DSP48E2 Slice User Guide" vertraut zu machen, der auf www.xilinx.com zu finden ist. Dieses Dokument enthält detaillierte Angaben zum Logikblock, z. B. zum Aufbau und zum Timing. Die enthaltenen Beispielprogramme helfen Ihnen dabei, effektiv mit dem Logikblock zu programmieren.
1378

Ein-/Ausgänge

datatype_icon

a

Wert, der bei einer arithmetischen Berechnung oder Logikoperation im Logikblock verwendet werden soll.

Beibehalten der Genauigkeit von Festkommawerten

Festkommawerte passen sich nicht an Bedien- und Anzeigeelemente mit unterschiedlichen Datentypen an. Stattdessen wird der Wert angepasst, was zu einer verringerten Genauigkeit führt. Zum Beibehalten der Genauigkeit verbinden Sie einen Festkommawert mit übereinstimmendem Datentyp mit dem Eingang oder passen Sie die Integer-Wortlänge des Eingangs an.

datatype_icon

acin

Wert von a, der von einem vorhergehenden DSP48-Knoten kaskadiert ist, der bei einer arithmetischen Berechnung oder Logikoperation im Logikblock verwendet werden soll.

Zur Anzeige dieses Eingangs klicken Sie auf der Registerkarte Objekt auf Anschlussfeld ändern und wählen Sie auf der Registerkarte Anschlüsse im Dialogfeld Anschlussfeld für DSP48 konfigurieren die Option acin aus.

Kaskadierte Eingangsverbindungen

Dieser kaskadierte Eingang kann nur mit dem Ausgang acout eines anderen DSP48-Knotens verbunden werden.

datatype_icon

b

Wert, der bei einer arithmetischen Berechnung oder Logikoperation im Logikblock verwendet werden soll.

Beibehalten der Genauigkeit von Festkommawerten

Festkommawerte passen sich nicht an Bedien- und Anzeigeelemente mit unterschiedlichen Datentypen an. Stattdessen wird der Wert angepasst, was zu einer verringerten Genauigkeit führt. Zum Beibehalten der Genauigkeit verbinden Sie einen Festkommawert mit übereinstimmendem Datentyp mit dem Eingang oder passen Sie die Integer-Wortlänge des Eingangs an.

datatype_icon

bcin

Wert von b, der von einem vorhergehenden DSP48-Knoten kaskadiert ist, der bei einer arithmetischen Berechnung oder Logikoperation im Logikblock verwendet werden soll.

Zur Anzeige dieses Eingangs klicken Sie auf der Registerkarte Objekt auf Anschlussfeld ändern und wählen Sie auf der Registerkarte Anschlüsse im Dialogfeld Anschlussfeld für DSP48 konfigurieren die Option bcin aus.

Kaskadierte Eingangsverbindungen

Dieser kaskadierte Eingang kann nur mit dem Ausgang bcout eines anderen DSP48-Knotens verbunden werden.

datatype_icon

c

Wert, der bei einer arithmetischen Berechnung oder Logikoperation im Logikblock verwendet werden soll.

Beibehalten der Genauigkeit von Festkommawerten

Festkommawerte passen sich nicht an Bedien- und Anzeigeelemente mit unterschiedlichen Datentypen an. Stattdessen wird der Wert angepasst, was zu einer verringerten Genauigkeit führt. Zum Beibehalten der Genauigkeit verbinden Sie einen Festkommawert mit übereinstimmendem Datentyp mit dem Eingang oder passen Sie die Integer-Wortlänge des Eingangs an.

datatype_icon

Eingangsmodus

Steuerbits zur Auswahl der Funktionsweise des Voraddierers, der Eingangsregister sowie der Anschlüsse a, b und d.

Dieser Eingang wird nur angezeigt, wenn auf der Registerkarte Objekt als Berechnungsmodus die Option "Benutzerdefiniert" ausgewählt ist.

Hinweis Weitere Informationen zu diesem Anschluss erhalten Sie im Abschnitt "Input Ports" im Benutzerhandbuch des betreffenden DSP48-Logikblocks.
datatype_icon

pcin

Wert von p, der von einem vorhergehenden DSP48-Knoten kaskadiert ist, der bei einer arithmetischen Gleichung oder Logikoperation im Logikblock verwendet werden soll.

Zur Anzeige dieses Eingangs klicken Sie auf der Registerkarte Objekt auf Anschlussfeld ändern und wählen Sie auf der Registerkarte Anschlüsse im Dialogfeld Anschlussfeld für DSP48 konfigurieren die Option pcin aus.

Kaskadierte Eingangsverbindungen

Dieser kaskadierte Eingang kann nur mit dem Ausgang pcout eines anderen DSP48-Knotens verbunden werden.

datatype_icon

carryin

Boolescher Wert, der den Übertragseingang von der FPGA-Logik darstellt.

True Der Eingang des DSP48-Logikblocks für den Übertrag von einer externen arithmetischen Operation ist auf 1 gesetzt.
False Der Eingang des DSP48-Logikblocks für den Übertrag von einer externen arithmetischen Operation ist auf 0 gesetzt.

Zur Anzeige dieses Eingangs klicken Sie auf der Registerkarte Objekt auf Anschlussfeld ändern und wählen Sie auf der Registerkarte Anschlüsse im Dialogfeld Anschlussfeld für DSP48 konfigurieren die Option carryin aus.

Hinweis Weitere Informationen zu diesem Eingang erhalten Sie im Abschnitt "Carry Input Logic" im Benutzerhandbuch des betreffenden DSP48-Logikblocks.
datatype_icon

carrycascin

Boolescher Wert für das Weiterleiten des kaskadierten Übertrags eines vorherigen DSP48-Knotens.

True Der Eingang für das Weiterleiten des Übertrags von vorherigen Knoten ist am DSP48-Logikblock auf 1 gesetzt.
False Der Eingang für das Weiterleiten des Übertrags von vorherigen Knoten ist am DSP48-Logikblock auf 0 gesetzt.

Zur Anzeige dieses Eingangs klicken Sie auf der Registerkarte Objekt auf Anschlussfeld ändern und wählen Sie auf der Registerkarte Anschlüsse im Dialogfeld Anschlussfeld für DSP48 konfigurieren die Option carrycascin aus.

Hinweis Weitere Informationen zu diesem Eingang erhalten Sie im Abschnitt "Carry Input Logic" im Benutzerhandbuch des betreffenden DSP48-Logikblocks.

Kaskadierte Eingangsverbindungen

Dieser kaskadierte Eingang kann nur mit dem Ausgang carrycascout eines anderen DSP48-Knotens verbunden werden.

datatype_icon

multsignin

Boolescher Wert für das Vorzeichen des Produkts einer vorhergehenden DSP48-Knotenberechnung.

True Das Ergebnis der Multiplikation des vorhergehenden DSP48-Knotens ist negativ und die Eingabe auf dem DSP48-Logikblock ist auf 1 gesetzt.
False Das Ergebnis der Multiplikation des vorhergehenden DSP48-Knotens ist positiv und die Eingabe auf dem DSP48-Logikblock ist auf 0 gesetzt.

Zur Anzeige dieses Eingangs klicken Sie auf der Registerkarte Objekt auf Anschlussfeld ändern und wählen Sie auf der Registerkarte Anschlüsse im Dialogfeld Anschlussfeld für DSP48 konfigurieren die Option multsignin aus.

Kaskadierte Eingangsverbindungen

Dieser kaskadierte Eingang kann nur mit dem Ausgang multsignout eines anderen DSP48-Knotens verbunden werden.

datatype_icon

alumode

Steuer-Bits, welche die arithmetische Gleichung oder Logikoperation auswählen, die vom Logikblock berechnet wird.

Dieser Eingang wird nur angezeigt, wenn auf der Registerkarte Objekt als Berechnungsmodus die Option "Benutzerdefiniert" ausgewählt ist.

Hinweis Weitere Informationen zu diesem Eingang erhalten Sie im Abschnitt "ALUMODE Inputs" im Benutzerhandbuch des betreffenden DSP48-Logikblocks.
datatype_icon

opmode

Steuer-Bits für die Auswahl des Eingangs für den X-, Y- und Z-Multiplexer des Logikblocks.

Dieser Eingang wird nur angezeigt, wenn auf der Registerkarte Objekt als Berechnungsmodus die Option "Benutzerdefiniert" ausgewählt ist.

Hinweis Weitere Informationen zu diesem Eingang erhalten Sie im Abschnitt "X, Y, and Z Multiplexer" im Benutzerhandbuch des betreffenden DSP48-Logikblocks.
datatype_icon

carryinsel

Steuer-Bits für die Auswahl der Carry-Quelle.

Dieser Eingang wird nur angezeigt, wenn auf der Registerkarte Objekt als Berechnungsmodus die Option "Benutzerdefiniert" ausgewählt ist.

Hinweis Weitere Informationen zu diesem Eingang erhalten Sie im Abschnitt "Carry Input Logic" im Benutzerhandbuch des betreffenden DSP48-Logikblocks.
datatype_icon

acout

Wert von a, der an einen anderen DSP48-Knoten weitergegeben wird.

Zur Anzeige dieses Ausgangs klicken Sie auf der Registerkarte Objekt auf Anschlussfeld ändern und wählen Sie auf der Registerkarte Anschlüsse im Dialogfeld Anschlussfeld für DSP48 konfigurieren die Option acout aus.

Kaskadierte Ausgangsverbindungen

Dieser kaskadierte Ausgang kann nur mit dem Eingang acin eines anderen DSP48-Knotens verbunden werden.

datatype_icon

bcout

Wert von b, der an einen anderen DSP48-Knoten weitergegeben wird.

Zur Anzeige dieses Ausgangs klicken Sie auf der Registerkarte Objekt auf Anschlussfeld ändern und wählen Sie auf der Registerkarte Anschlüsse im Dialogfeld Anschlussfeld für DSP48 konfigurieren die Option bcout aus.

Kaskadierte Ausgangsverbindungen

Dieser kaskadierte Ausgang kann nur mit dem Eingang bcin eines anderen DSP48-Knotens verbunden werden.

datatype_icon

p

Ergebnis der Operation, die vom Logikblock ausgeführt wurde.

Beibehalten der Genauigkeit von Festkommawerten

Festkommawerte passen sich nicht an Bedien- und Anzeigeelemente mit unterschiedlichen Datentypen an. Stattdessen wird der Wert automatisch angepasst, was zu einem Genauigkeitsverlust führt. Zum Beibehalten der Genauigkeit verbinden Sie einen Festkommawert mit einem entsprechenden Datentyp mit dem Ausgang oder passen Sie die Integer-Wortlänge des Ausgangs an.

datatype_icon

pcout

Wert von p, der an einen anderen DSP48-Knoten weitergegeben wird.

Zur Anzeige dieses Ausgangs klicken Sie auf der Registerkarte Objekt auf Anschlussfeld ändern und wählen Sie auf der Registerkarte Anschlüsse im Dialogfeld Anschlussfeld für DSP48 konfigurieren die Option pcout aus.

Kaskadierte Ausgangsverbindungen

Dieser kaskadierte Ausgang kann nur mit dem Eingang pcin eines anderen DSP48-Knotens verbunden werden.

datatype_icon

carryout

4-Bit-Ausgang des DSP48-Logikblocks.

Zur Anzeige dieses Ausgangs klicken Sie auf der Registerkarte Objekt auf Anschlussfeld ändern und wählen Sie auf der Registerkarte Anschlüsse im Dialogfeld Anschlussfeld für DSP48 konfigurieren die Option carryout aus.

Hinweis Weitere Informationen zu diesem Ausgang erhalten Sie im Abschnitt "CARRYCASCOUT and CARRYOUT Ports" in der Dokumentation zu Ihrem DSP48-Logikblock.
datatype_icon

carrycascout

Boolescher Wert für das Steuer-Bit für den Carry-Ausgang, der an einen anderen DSP48-Knoten weitergegeben werden soll.

True Der Kaskadenübertragsausgang am DSP48-Logikblock ist auf 1 gesetzt.
False Der Kaskadenübertragsausgang am DSP48-Logikblock ist auf 0 gesetzt.

Zur Anzeige dieses Ausgangs klicken Sie auf der Registerkarte Objekt auf Anschlussfeld ändern und wählen Sie auf der Registerkarte Anschlüsse im Dialogfeld Anschlussfeld für DSP48 konfigurieren die Option carrycascout aus.

Hinweis Weitere Informationen zu diesem Ausgang erhalten Sie im Abschnitt "CARRYCASCOUT and CARRYOUT Ports" in der Dokumentation zu Ihrem DSP48-Logikblock.

Kaskadierte Ausgangsverbindungen

Dieser kaskadierte Ausgang kann nur mit dem Eingang carrycascin eines anderen DSP48-Knotens verbunden werden.

datatype_icon

multsignout

Boolescher Wert für das Vorzeichen des multiplizierten Ergebnisses, das an einen anderen DSP48-Knoten weitergegeben werden soll.

True Das Ergebnis der Multiplikation ist negativ und die Ausgabe auf dem DSP48-Logikblock ist auf 1 gesetzt.
False Das Ergebnis der Multiplikation ist positiv und die Ausgabe auf dem DSP48-Logikblock ist auf 0 gesetzt.

Zur Anzeige dieses Ausgangs klicken Sie auf der Registerkarte Objekt auf Anschlussfeld ändern und wählen Sie auf der Registerkarte Anschlüsse im Dialogfeld Anschlussfeld für DSP48 konfigurieren die Option multsignout aus.

Kaskadierte Ausgangsverbindungen

Dieser kaskadierte Ausgang kann nur mit dem Eingang multsignin eines anderen DSP48-Knotens verbunden werden.

Konfigurieren der Knotenschnittstelle

Zum Festlegen, wie der Knoten während der Ausführung funktioniert, wählen Sie eine der drei Optionen unter Berechnung auf der Registerkarte Objekt aus.

  • Arithmetik—Während der Ausführung wird eine angegebene mathematische Gleichung berechnet.

    Zur Auswahl der Werte für die Gleichung klicken Sie auf der Registerkarte Objekt auf Bearbeiten.

  • Logik—Während der Ausführung wird ein angegebener boolescher Ausdruck berechnet.

    Zum Konfigurieren des booleschen Ausdrucks klicken Sie auf der Registerkarte Objekt auf Bearbeiten.

  • Benutzerdefiniert—Zum Konfigurieren des Funktionsumfangs für den Knoten während der Ausführung geben Sie die Werte der Eingänge opmode, alumode, inmode und carryinsel im Diagramm an.

    Bei Auswahl von "Arithmetik" oder "Logik" als Berechnungstyp werden opmode, alumode, inmode und carryinsel des DSP48-Knotens automatisch konfiguriert. Wenn die Kombination der Einstellungen der Eingänge opmode, alumode, inmode und carryinsel ungültig ist, gibt das Programm während der Ausführung einen entsprechenden Fehler aus.

  • Konfigurieren der Ein- und Ausgänge eines DSP48-Knotens

    Ein Knoten des Typs DSP48 ist mit diversen optionalen Ein- und Ausgängen ausgestattet, mit deren Hilfe Sie die Funktionsweise eines DSP48-Logikblocks im Diagramm Ihren Anforderungen entsprechend anpassen können. Durch Aktivieren optionaler Ein- und Ausgänge können Sie die bei der Ausführung des Knotens verwendeten Werte für die Berechnung festlegen.

    Um festzulegen, welche Eingänge eines DSP48-Knotens im Diagramm angezeigt werden sollen, gehen Sie wie folgt vor:

    1. Wählen Sie im Diagramm den zu konfigurierenden DSP48-Knoten aus.
    2. Klicken Sie auf der Registerkarte Objekt auf die Schaltfläche Anschlussfeld ändern.
    3. Wählen Sie auf der Registerkarte Anschlüsse des Dialogfelds Anschlussfeld für DSP48 konfigurieren aus, welche Ein- und Ausgänge des Knotens im Diagramm zu sehen sein sollen, und klicken Sie anschließend auf OK.

    Beibehalten der numerischen Genauigkeit an einem DSP48-Knoten

    Damit die numerische Genauigkeit bei jedem Schritt der Berechnungen von der Eingabe bis zur Ausgabe beibehalten wird, müssen Sie die Integer-Wortlänge der Eingangswerte ordnungsgemäß festlegen. Wenn Sie dies unterlassen, kann die Berechnung ein falsches Ergebnis liefern.

    Die Wortlänge eines Eingangswerts eines DSP48-Knotens ist ein konstanter Wert, der mit der Bitbreite des entsprechenden Eingangswerts eines DSP48-Logikblocks übereinstimmt. Die Integer-Wortlänge von Eingangswerten eines DSP48-Knotens wird auf der Registerkarte Festkommakonfiguration des Dialogfelds Anschlussfeld für DSP48 konfigurieren festgelegt.

    Hinweis Durch Abziehen der Integer-Wortlänge (d. h. der Wortlänge für den ganzzahligen Teil der Zahl) von der Gesamtwortlänge erhalten Sie Wortlänge des Nachkommaanteils.

    In der folgenden Tabelle werden die Modifikationen angezeigt, die am Datentyp der Eingangswerte von DSP48-Knoten erforderlich sind, damit die numerische Genauigkeit durchgehend die Gleiche ist.

    Konfiguration der Knoteneingangswerte oder der Gleichung Erfordernisse zum Beibehalten der numerischen Genauigkeit Beispiel

    a, b

    • Die Wortlänge des Nachkommaanteils an einem Eingang ist größer oder gleich der Wortlänge des Nachkommaanteils des am Eingang anliegenden Werts.
    • Die Integer-Wortlänge an einem Eingang ist größer oder gleich der Integer-Wortlänge des am Eingang anliegenden Werts.

    Der Datentyp des am Eingang b anliegenden Werts lautet I16 <1.15>. Stellen Sie die Integer-Wortlänge von b auf 3, 2 oder 1 ein, damit die Anforderungen zum Beibehalten der numerischen Genauigkeit erfüllt werden.

    Faktor (p = a * b)

    Die Wortlänge des Nachkommaanteils von p entspricht der Summe der Wortlängen des Nachkommaanteils von a und b.

    • Der Datentyp des am Eingang a anliegenden Werts lautet I16 <1.15>.
    • Der Datentyp des am Eingang b anliegenden Werts lautet I16 <2.14>.

    Die Summe der Wortlängen des Nachkommaanteils lautet 29. Stellen Sie in diesem Fall die Wortlängen von a, b und p entsprechend ein:

    • Stellen Sie die Integer-Wortlänge von a auf 10 ein.
    • Stellen Sie die Integer-Wortlänge von b auf 4 ein.
    • Stellen Sie die Integer-Wortlänge von p auf 19 ein.

    Summierer (p = p + c)

    Die Wortlänge des Nachkommaanteils von p entspricht der Wortlänge des Nachkommaanteils von c.

    Der Datentyp des am Eingang c anliegenden Werts lautet I16 <3.13>.

    Stellen Sie die Integer-Wortlänge von p auf 35 ein.

    Gebräuchliche DSP48E2-Einstellungen für arithmetische Gleichungen

    Ein DSP48-Knoten berechnet die folgende generische Gleichung, wenn Sie auf der Registerkarte Objekt auf dem Dropdown-Menü Berechnung die Option Arithmetisch auswählen.

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

    z, x+y und carryin sind Variablen. Sie können diese Variablen so konfigurieren, dass sie entweder einen konstanten Wert annehmen, einem Eingangswert des Knotens entsprechen oder das Rechenergebnis darstellen. Die Quellen für carryin sind von den für z und x+y festgelegten Werten abhängig. Klicken Sie zum Konfigurieren der Gleichung die auf der Registerkarte Objekt befindliche Schaltfläche Bearbeiten an.

    Wenn Sie auf der Registerkarte Objekt aus dem Dropdown-Menü Schnittstelle die Einstellung DSP48E1 auswählen, wird im Dialogfeld DSP48 konfigurieren eine zweite Gleichung zur Lösung von m angezeigt. Das Ergebnis dieser Gleichung kann bei Ausführung des Knotens als Eingangswert für die Berechnung von x+y verwendet werden.

    Per Standardeinstellung berechnet die DSP48E2-Schnittstelle eines DSP48-Knotens die folgende Gleichung:

    p = c + (m + carryin)

    m = a * b

    Hinweis Bei allen Einstellungen, die Faktoren umfassen, muss Logikeinheit-Modus auf Ein 48-Bit eingestellt werden.
    Arithmetische Operation Arithmetische Gleichung Konfiguration

    Multiplizieren

    p = a*b+carryin 1378

    Multiplizieren mit Voraddierer

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

    MAC-Operation

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

    Multiplizieren-Addieren

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

    Multiplizieren-Subtrahieren

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