Hallo Kommunity, ich habe Timing-Probleme (oder Verständnissprobleme :) ) in meinem Design. Es ist mit 25MHz getaktet. Jede 8 CLK-Takte wird einen Clock-Enable-Signal erzeugt. Und es klappt. ISE meldet keine Zeitverletzungen. aber, Ich habe meinen Design geändert und jetzt läuft es mit 50MHz getaktet und Clock-Enable wird jede 16 Takte erzeugt. Jetzt spuckt mir ISE Timing-Warnungen. Warum ist das so? Mein Design läuft in beiden Fällen mit 3.125MHz, nur CLK ist schneller und Clock-Enable entsprechend langsamer. MfG
Dimi S. schrieb: > Jetzt spuckt mir ISE Timing-Warnungen. Welche? > Warum ist das so? Mein Design läuft in beiden Fällen mit 3.125MHz Hast du die Constraints so gesetzt, dass die Tools da wissen? Das Stichwort für dich heißt "Multi-Cycle-Constraint"
ISE meldet folgendes:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
Ich habe hier im Forum mehrere Threads zum Thema "Timing Constraints" gelesen und folgendes gerade ausprobiert... Ich habe "FFS" to "FFS" auf 50ns gesetzt (in meinem Fall habe ich genug Zeit, da FFs nur mit 3.125MHz schalten). Jetzt sind die Warnungen weg! Ob ich es richtig verstanden habe und ob es die richtige Lösung ist weiss ich nicht. MfG
Dimi S. schrieb: > Ich habe "FFS" to "FFS" auf 50ns gesetzt 50ns sind eigentlich noch viel zu anspruchsvoll... > (in meinem Fall habe ich genug Zeit, da FFs nur mit 3.125MHz schalten). Richtig wären da eher 16*20ns. Und diesen Faktor 16 gibst du über den Multi-Cycle-Constraint an... > Jetzt sind die Warnungen weg! Na bitte.
Vielen vielen Dank! Jetzt wird mir einiges klar!!! Noch einen Beispiel, un es richtig zu begreifen: wenn ich in meinem Design eine FSM habe, die mit 100MHz läuft, und z.B. 2 module: eine mit ClockEnable 100MHz/8 und andere mit 100MHz/4. Meine .ucf soll so aussehen:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
Ist es richtig?? MfG
Dimi S. schrieb: > Ist es richtig?? Die Idee passt. Ob die Syntax stimmt, sagt dir die Toolchain... ;-)
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.