Volker wrote:
> Grundsätzlich sollte man alle Eingangssignale mindestens über 2 FF mit
> dem Haupttakt synchronisieren, dies gilt hier für Filterwith.
> Falls sich Filterwith nämlich genau dann ändert, wenn es abgetastet
> wird, wird es zu Problemen kommen.
Ich denke, dass Filterwidth nicht davon betroffen ist, wenn es sich
nicht zufällig ändern kann. Wenn der Wert beim Power-Up oder durch
irgendeine Konfiguration gesetzt wird, ist es ein Quasi-Statisches
Signal, daraus wird i.A. ein False-Path, der bei den Timing Constraints
nicht beachtet werden muß.
Natürlich muß dafür irgendein Mechanismus sicherstellen, dass während
der Filter-Berechnng dieser Wert nicht geändert wird. Aber für die
Funktion des Systems hilft hier eine Eintaktung nicht, denn was würde
(trotz Synchronisierung) passieren, wenn sich Filterwidth z.B. von 10000
auf 100 ändert, wenn Highcount/Lowcount gerade 1000 ist?
Richtig: der Gleich-Fall wird erst nach einem Wrap-Around des Zählers
erreicht.
Fazit: Eintakten ist wichtig auf der Registerebene. Auf der
Systemebene/Verhaltensebene greifen andere Mechanismen.