Gast
#5469069
Hey Leute, ich habe ein paar kleine Fragen zum TimeQuest Analzyer, bzw generell zum Timing von Signalen etc. Ich habe sonst immer nur ein kleines FPGA Board mit nur einem Clock Eingang genutzt (z.B. DE0 Nano). Jetzt arbeite ich mit einem größeren Board (DE5 Net) und habe dort verschiedene IO-Bänke mit verschiedenen Clock Eingängen. Da kommen natürlich direkt einige Timing Probleme auf mich zu. Einige davon konnte ich beheben, manche verstehe ich nicht und manche denke ich zu verstehen, bin mir aber bei der Behebung der Probleme unsicher. Mir fehlt wohl ein bisschen das Grundverständniss wie ich mit verschiedenen Takteingängen umgehe und diese miteinander vereine, oder eben nicht vereine. Deshalb stelle ich einfach mal ein paar Fragen und hoffe auf aufschlussreiche antworten. 1. Ich habe häufig gesehen, das die Pfade von Buttons (Reset) oder LEDs als false_paths angegeben werden. Damit werden sie ja Timing technisch nicht weiter beachtet oder? Mache ich das, da die Laufzeit dieser Signale unkritisch ist? Die LEDs sind jam eist eh nur Anzeige von Status etc und ob da einmal "unwahre" Daten ankommen wäre nicht schlimm? 2. Ich habe Signale, die in verschiedenen Taktdomänen liegen. Signal X wird von der Clock A gesetzt, in einem anderen Teil von Clock B gelesen (auch ein unkritisches Signal, ein Valid Bit). Hier bekomme ich auch Timingfehler. Setze ich hier auch false_paths? Bekomme sonst Setup Timing Fehler. 3. Zu guter letzt habe ich eine Dual Clock FIFO um Daten zwischen zwei Takten zu syncroniseren. Da habe ich einfach über clock_groups die beiden Takte (lesen und schreiben) auf komplett asyncron gesetzt und bekomme nun keine Fehler mehr. Ist das so richtig? Wie man sieht, was Timing angeht habe ich leider recht wenig Ahnung/Erfahrung. Ich würde mich auch über generelle Informationen freuen wie man bei so einem Design vorgeht, wenn mehrere Takte vorhanden sind, worauf ich achten muss, Tipps für den Timing Analyzer etc. Liebe Grüße