Diskrete Verzögerung
- Aktualisiert2023-02-17
- 4 Minute(n) Lesezeit
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.
Ein-/Ausgänge

D
Zu verzögernde Daten.

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.

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

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 |
Default value: TRUE

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
|
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:
|
|
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.