Forum: FPGA, VHDL & Co. Interpretation des Synthesergebnisses


von Xilinxuser (Gast)


Lesenswert?

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)

?

von Schlumpf (Gast)


Lesenswert?

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.


von Rick Dangerus (Gast)


Lesenswert?

Wenn Du einen globalen Reset verwendest setze doch mal die 
TIG-Constraint für den Reset.

Rick

von Jan M. (mueschel)


Lesenswert?

Was heisst "am Ende des Gesamtlaufes"?
Hast du deine gewuenschte Taktrate als Contraint angegeben?
Welcher Baustein?

von Xilinxuser (Gast)


Lesenswert?

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 ?


von Jan M. (mueschel)


Lesenswert?

>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...

von Xilinxuser (Gast)


Lesenswert?

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" ?

von Jan M. (mueschel)


Lesenswert?

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
Noch kein Account? Hier anmelden.