Diskrete Verzögerung

Verzögert den Eingabewert um einen bestimmten Wert. Dieser Knoten unterstützt Skalar- und Array-Werte aus Integer-, Festkomma- und booleschen Datentypen, sowie Cluster und Cluster-Arrays.

1378

Ein-/Ausgänge

datatype_icon

D

Zu verzögernde Daten.

Hinweis Der Datentyp von D wird nicht an die Quelle angepasst.
datatype_icon

n-1

Index des internen Registers, dessen Wert den Ausgabewert Q erreicht. Der Wert für n-1 kann zwischen 0 und n-1 liegen, wobei n der Wert für maximale Verzögerung in der Registerkarte Element ist.

datatype_icon

Anfangswerte

Einstellungen für die Anfangswerte der internen Register, die dieser Knoten verwendet.

datatype_icon

Aktivieren

Ein boolescher Wert, mit dem festgelegt wird, ob dieser Knoten den vorherigen Eingang für D ignoriert.

TRUE Der Knoten verschiebt alle Werte in das nächste interne Register und übergibt einen Wert von D an das erste interne Register.
FALSE Der Knoten ignoriert D und verschiebt vorhandene Werte nicht, was bedeutet, dass die internen Register den Wert aus der vorherigen Taktperiode beibehalten
Verwenden Sie diese Eingabe, um nur mit gültigen Werte von D zu arbeiten. Sie können beispielsweise den Ausgang Ausgabe gültig von Knoten für Rechenoperationen mit hohem Datendurchsatz mit diesem Eingang verbinden. In dieser Situation nimmt die diskrete Verzögerung einen Wert von D nur dann an, wenn der eingehende Wert gültig ist.

Default value: TRUE

datatype_icon

Q

Verzögerter D-Wert. Q gibt den Wert des im Eingang n-1 angegeben Registers aus.

Maximale Verzögerung

Legt die maximale Anzahl von Taktperioden fest, um die dieser Knoten D verzögern kann, was wiederum die Anzahl der internen Register festlegt, die von diesem Knoten verwendet werden. Der Wert muss zwischen 16 und 512 liegen. Verwenden Sie den Eingang n-1, um festzulegen, welches Register den Ausgang Q erreicht.

Examples

Wenn Sie als Maximale Verzögerung20 Taktperioden festlegen, erstellt der Knoten 20 Register zum Speichern von Werten. Ein mit D verbundener Wert bewegt sich schrittweise mit jeder Takperiode von Register 0 bis Register 19. Wenn Sie jedoch n-1 verwenden, um die Anzahl eines bestimmten internen Registers zu bestimmen, gibt Q den Wert dieses Registers statt den Wert des letzten Registers aus. Wenn beispielsweise 17 Taktperioden vergangen sind, befindet sich der Wert von D, den Sie in der ersten Taktperiode gesendet haben, in Register 16. Wenn Sie einen Wert von 16 mit n-1 in der 18. Taktperiode verbinden, gibt der Knoten diesen Wert aus. Der Wert wurde um 17 Taktperioden verzögert, und nicht um 20.

Wahl zwischen diskreter Verzögerung und Rückkopplungsknoten

Die diskrete Verzögerung und der Rückkopplungsknoten sind einander ähnlich. Es gibt jedoch einige wichtige Unterschiede. Die folgende Tabelle enthält Empfehlungen für die Wahl zwischen den beiden Knoten.

Rückkopplungsknoten Diskrete Verzögerung Empfehlung
Entwurf und Funktionen Konzipiert für das
  • Zurückleiten eines Ausgangssignal an einen Eingang
  • Verzögern eines Eingangssignals um eine konstante Anzahl von Taktperioden
Entwurf dient zur Verzögerung eines Eingangssignals um eine konstante oder variable Anzahl von Taktperioden. Verwenden Sie den Knoten, der zu dem Anwendungsfall passt, den Sie programmieren.
Initialisierungsoptionen Initialisiert die internen Register auf benutzerdefinierte Werte in den folgenden Situationen:
  • Beim ersten Aufruf an das FPGA-VI oder beim Zurücksetzen des VIs
  • Wenn das FPGA-VI kompiliert oder geladen wird oder wenn das FPGA-VI zurückgesetzt wird
  • Wenn das FPGA-VI kompiliert oder lädt. Ignoriert, wenn das FPGA-VI zurückgesetzt wird
  • Setzt interne Register beim ersten Aufruf an das FPGA-VI oder beim Zurücksetzen des VIs auf Null zurück
  • Initialisiert interne Register mit benutzerdefinierten Werten, wenn das FPGA-VI kompiliert oder geladen wird. Ignoriert, wenn das FPGA-VI zurückgesetzt wird.
Diskrete Verzögerung implementiert Verzögerungen unter Verwendung von Zuordnungstabellen für Schieberegister (SRL), anstelle von Flipflops. Mit SRLs werden mehrere Verzögerungen in einer Zuordnungstabelle (LUT) zusammengefasst, wodurch sich die Ressourcenauslastung des FPGAs stark verringert, anders als bei Verwendung von Flipflops.
Definieren von Anfangswerten Anfangswerte werden durch Verbinden eines Werts mit dem Eingang Anfangswerte im Diagramm definiert. Anfangswerte werden durch Verwenden des Eingangs Anfangswerte definiert. Verwenden Sie die diskrete Verzögerung, wenn Sie ein Initialisierungs-VI haben oder ein Array fester Größe verzögern möchten.
Unterstützung für dynamische Verzögerung Nein Ja Verwenden Sie die diskrete Verzögerung zur Implementierung einer dynamischen Verzögerung.
Unterstützung für die Darstellung von Rückkopplung im Blockdiagramm Ja Nein Verwenden Sie den Rückkopplungsknoten zur Darstellung einer Rückkopplung im Diagramm.

Auswirkungen auf die Leistung des Knotens beim Implementieren von Verzögerungen

Dieser Knoten implementiert Verzögerungen unter Verwendung von Zuordnungstabellen für Schieberegister (SRL) anstelle von Flipflops. Mit SRLs werden mehrere Verzögerungen in einer Zuordnungstabelle (LUT) zusammengefasst, wodurch sich die Ressourcenauslastung des FPGAs stark verringert, anders als bei Verwendung von Flipflops.

Leistungsbeeinträchtigung bei der Simulation

Dieser Knoten kann die Simulationslaufzeit erheblich erhöhen, wenn die Ausführung zeitgleich mit dem Herunterladen, Anhalten oder Ausführen des FPGA-VIs stattfindet.