Hallo, ich habe einen Virtex 5. In dem soll ein Microblaze mit 80 MHz laufen. Der MB beschreibt verschiedene Register, die die restliche Logik (250 MHz) steuern. Jetzt habe ich schon verschiedene Constraints gesetzt um ein Timing-Closure hinzubekommen. Trotzdem werden noch Timing-Fehler angemeckert, die (meiner Meinung nach) von den Constraints abgedeckt werden. ------------------------------------------------------------------------ -------- Hold Paths: TS_80_to_250 = MAXDELAY FROM TIMEGRP "TMN_clk80" TO TIMEGRP "TMN_clk250" 4 ns; ------------------------------------------------------------------------ -------- Paths for end point pedas_sl_top_0/pedas_sl_top_0/m_cntrl/m_pulse_block/state_FSM_FFd4 (SLICEL.D5), 1 path ------------------------------------------------------------------------ -------- Slack (hold path): -0.232ns (requirement - (clock path skew + uncertainty - data path)) Source: pedas_sl_top_0/pedas_sl_top_0/mreg_file/s_regfile_12_0 (FF) Destination: pedas_sl_top_0/pedas_sl_top_0/m_cntrl/m_pulse_block/state_FSM_FFd4 (FF) *Requirement:* *0.000ns* Data Path Delay: 0.219ns (Levels of Logic = 1) Positive Clock Path Skew: 0.018ns (0.264 - 0.246) Source Clock: PULSEMEM_BRAM_PORTA_BRAM_Clk rising at 87.500ns Destination Clock: clk_250_0000MHz rising at 88.000ns Clock Uncertainty: 0.433ns Clock Uncertainty: 0.433ns ((TSJ^2 + DJ^2)^1/2) / 2 + PE Total System Jitter (TSJ): 0.070ns Discrete Jitter (DJ): 0.363ns Phase Error (PE): 0.247ns Minimum Data Path: pedas_sl_top_0/pedas_sl_top_0/mreg_file/s_regfile_12_0 to pedas_sl_top_0/pedas_sl_top_0/m_cntrl/m_pulse_block/state_FSM_FFd4 Location Delay type Delay(ns) Physical Resource Logical Resource(s) ------------------------------------------------- ------------------- SLICEL.DQ Tcko 0.414 pedas_sl_top_0/pedas_sl_top_0/mreg_file/s_regfile_12_0 pedas_sl_top_0/pedas_sl_top_0/mreg_file/s_regfile_12_0 SLICEL.D5 net (fanout=3) e 0.000 pedas_sl_top_0/pedas_sl_top_0/mreg_file/s_regfile_12_0 SLICEL.CLK Tah (-Th) 0.195 pedas_sl_top_0/pedas_sl_top_0/m_cntrl/m_pulse_block/state_FSM_FFd4 pedas_sl_top_0/pedas_sl_top_0/m_cntrl/m_pulse_block/state_FSM_FFd4-In1 pedas_sl_top_0/pedas_sl_top_0/m_cntrl/m_pulse_block/state_FSM_FFd4 ------------------------------------------------- --------------------------- Total 0.219ns (0.219ns logic, 0.000ns route) (100.0% logic, 0.0% route) ------------------------------------------------------------------------ -------- Mich erstaunt am meisten, dass das Requieremnt auf 0 steht. Hier der Abschnitt aus dem ucf: INST "pedas_sl_top_0/pedas_sl_top_0/mreg_file/s*" TNM = TMN_clk80; INST "pedas_sl_top_0/pedas_sl_top_0/m_cntrl/*" TNM = TMN_clk250; INST "pedas_sl_top_0/pedas_sl_top_0/m_pulse_gen/*" TNM = TMN_clk250; TIMESPEC TS_80_to_250 = FROM "TMN_clk80" TO "TMN_clk250" 4 ns; INST "pedas_sl_top_0/pedas_sl_top_0/m_cntrl/Mmult_s_wide_measurements_mult000 0" TNM = tmn_mult; TIMESPEC TS_mult = FROM "TMN_clk80" TO "tmn_mult" 8 ns DATAPATHONLY; Tom
Thomas Reinemann schrieb: > In dem soll ein Microblaze mit 80 MHz laufen. Der MB beschreibt > verschiedene Register, die die restliche Logik (250 MHz) steuern. Wie hängen diese beiden Takte zusammen?
Lothar Miller schrieb: > Wie hängen diese beiden Takte zusammen? Es gibt einen Quarzoszillator mit 25 MHz, daraus werden über die Virtex5 PLLs die 80 MHz und 250 MHz gemacht. Tom
Kannst Du den MB nicht mit 83.333MHz oder 125 MHz takten? Das müßte auf dem V5 funktionieren und sollte das Timing an der Domänengrenze entspannen. Bei 80/250 ist da nicht viel Luft dazwischen: Thomas Reinemann schrieb: > Source Clock: PULSEMEM_BRAM_PORTA_BRAM_Clk rising at 87.500ns > Destination Clock: clk_250_0000MHz rising at 88.000ns Duke
Wegen dem bisschen Luft habe ich ja ein Constraint gesetzt. Ich finde es merkwürdig, dass der Fehler bei dem Hold-Timining auftritt. So etwas hatte ich bisher noch nicht. Wirken sich Constraints nur auf das Setup-Timing aus? Ich werde mal den MB mit 83.33 MHz laufen lassen. Tom
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.