ISE wirft mir am Ende des Gesamtlaufes ein Timing aus, das mit Maximalfrequenz = 77MHz angeben wird. Intern verwende ich aber 100 MHz zum absampeln. Heisst das, das das Design nicht läuft? Funktionieren tut es, sowei ich das sehen kann. (kann aber noch nicht alles testen) ?
Das Ergebnis 77Mhz sagt aus, dass gewährleistet ist, dass es keinen Pfad gibt, bei dem die Laufzeiten zwischen den Registern zu Setup-Holdzeit-Problemen führen können, wenn die Frequenz kleiner 77 MHz ist. Du kannst die nach der Synthese auch sehen, welches die Kritischen Pfade sind und dann für dich entscheiden, welche Auswirkung eine solche Verletzung an dieser Stelle auf das Verhalten deines Desings haben wird. Oder du kannst große Logiktiefen "aufbrechen", indem du ein Register in den Pfad einfügst und somit 2 Takte Zeit gewinnst.
Wenn Du einen globalen Reset verwendest setze doch mal die TIG-Constraint für den Reset. Rick
Was heisst "am Ende des Gesamtlaufes"? Hast du deine gewuenschte Taktrate als Contraint angegeben? Welcher Baustein?
Spartan 3, das consraint bezieht sich auf die clock-input frequenz der DCMs von 25Mhz. Der Timingreport zeigt Warnings = 0, ich habe aber überall Dreiecke. Zu den Problemen sagt ISE konkret: INFO:Par:62 - Your design did not meet timing. The following are some suggestions to assist you to meet timing in your design. Und dann soll ich dwen Explorer aufmachen ... den ich nicht finde. (?) Ausserdem: PhysDesignRules:1095 - General routing resources will be used for the signal CLK25 of DCM comp clk/XLXI_14/DCM_SP_INST CLKIN since the driving IOB comp CLK25IN is not located on the same (top or bottom) edge of the device. General routing will cause increased clock delay. To get dedicated clock routing resources, locate both comps on the top edge or the bottom edge of the device. INFO:PhysDesignRules:772 - To achieve optimal frequency synthesis performance with the CLKFX and CLKFX180 outputs of the DCM comp clk/XLXI_14/DCM_SP_INST/clk/XLXI_14/DCM_SP_INST, consult the device Interactive Data Sheet. Damit kann ich wenig anfangen (?) Idee ?
>PhysDesignRules:1095 Der Chip hat extra Leitungen für CLK-Signale. Diese sollten ausschließlich in diesen Leitungen laufen, sonst bekommst du sehr große Laufzeitunterschiede der Clock zu verschiedenen Teilen des Chips. Er schafft es jetzt nicht, deine durch die DCM erzeugte Clock in einer solchen Leitung zu führen, weil die DCM, die er verwendet dafür an der falschen Stelle liegt. - Wie viele DCM und wie viele verschiedene Clocks verwendest du und wie viele hat dein Chip? (Das dürfte das Problem mit deinem Design sein) >INFO:PhysDesignRules:772 Er will dir nur sagen, du solltst einfach das Datenblatt lesen, bevor du die Clock-synthese einer DCM benutzt...
Jan, das habe ich formal natürlich verstanden. Mein Problem ist , wie ich inhaltlich darauf reagieren soll, da ich nicht weiss, ich ich das steuern soll mit den clock Regionen. Praktisch ist es hier so, daß ich 50Mhz benötige, dazu aber auch 100Mhz für den Bus und nochmal 200MHz zum Verzögern einiger Eingangssignale. Ausserdem brauche ich noch eine niedere Freuqenz als externen clock. Aufgebaut ist es jetzt so, das 25Meg reinkommen, in den DCM gehen und von dort über einen Buffer rauskommen. Diese 25Meg gehen in einen zweiten DCM der über den FX Ausgang 100 macht. Parallel dazu habe ich einen dritten DCM der ebenfalls an diesem gebufferten Signal hängt und 10Mhz erzeugen soll, die ich der Einfachheit halber mit 25x2 / 5 erzeuge. Die 200 sind noch nicht drin und werden gfs nicht gebraucht. Mal sehen. Ist das ok so, daß 2 DCMs an einem ersten hängen? Die Clocks sollten möglichst übereinstimmen, d.h. die Flanken passen. Ich überlege jetzt allerdings, alle DCMs un abhängig an den Eingang zu hängen, ausserdem wäre es gfs von Vorteil den 100er um 90 Grad zu verzögern, damit die Flanken niemals interferieren. Ich weiss nur nicht, wie das mit der Synthese wird, da ja beim Clockübergang dann noch weniger Zeit ist und es garnicht mehr hinhaut - während es mir real eigentlich egal ist, da es vom bus her 1.5 Takte dauern dürfte, zur Übernahme. Ich meine damit , daß das eingetakte Signal auch erst mit der übernächsten Flanke des 50ers übernommen werden darf. Müsste man das "contrainen" ?
Zum Hintereinanderschalten von DCMs gibt es einen Answer Record (18181) bei xilinx. Warum brauchst du drei DCMs? Aus einer DCM kannst du bis zu vier verschiedene Frequenzen gleichzeitig erhalten. Wenn ich es richtig im Kopf habe, hast du zumindest beim Virtex2 immer nur zwei DCM in der selben Spalte und damit direkt verbunden, ob drei zusammengeschaltete DCM moeglich sind, kann ich nicht sagen.
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.