Hallo,
ich versuche, leider noch ohne viel Erfahrung, 2 DCM'S im XC3s50
aufzubauen. Möchte aus 20MHz input 100 und 150 generieren. Egal ob ich
versuche von einem oder 2 externen Eingängen die DCM's zu speisen,
meldet die IDE10.1 immer Error
"Place:962 - A DCM / BUFGCTRL clock component pair have been found that
are not placed at an optimal DCM / BUFGCTRL site pair. The DCM component
<inst_GCLK2/DCM_SP_INST> is locked to site <DCM_X1Y0> and the
corresponding BUFGCTRL component <inst_GCLK2/CLK0_BUFG_INST> is locked
to site BUFGMUX_X2Y1>. This will not allow the usage of the fast path
between the DCM and the Clock buffer. ..."
Jetzt kann ich zwar mit dem .ucf Eintrag den Error wenigstens in eine
Warnung umbiegen aber wirklich weiterhelfen tut das letztlich auch
nicht, da ich den sauberen Clock brauche. Die app-notes und guides von
xilinx haben mich leider auch nicht weitergebracht. Hat jemand
vielleicht einen Tip oder brauchbaren Link wie ich die 2 DCM ordentlich
zum spielen bringe ??
@ Joern (Gast)
>Jetzt kann ich zwar mit dem .ucf Eintrag den Error wenigstens in eine>Warnung umbiegen aber wirklich weiterhelfen tut das letztlich auch
Na das ist doch selbsterklärend. Du hast die DCMs per Constrainsts
platziert, leider aber falsch. Die Software erkannt es nicht als
optimale Konfiguration an. Platzier sie mal woanders.
MFG
Falk
hmmm? Eigentlich habe ich die nur per wizard erstellt, bin mir also
nicht bewußt sie irgendwo platziert zu haben. Würde sie auch gerne
dorthin platzieren wo's am besten paßt, nur wie ?? Habe zwar gelesen das
es über 'user constrainsts/floorplan/IO/Log....' zu plazieren gehen
soll, nur die Info allein hilft mir auch nicht weiter. Kannst du mir da
vielleicht in meiner Unwissenheit noch etwas weiterhelfen??
@ Joern (Gast)
>hmmm? Eigentlich habe ich die nur per wizard erstellt, bin mir also>nicht bewußt sie irgendwo platziert zu haben.
Dan hat die der Wizard reingeschmuggelt.
>vielleicht in meiner Unwissenheit noch etwas weiterhelfen??
Im ISE Projektexplorer gibt es einen PFad "User Constraints", den kann
man öffnen, dort steht dann was mit "Edit Constraints". Das UCF ist ein
einfaches Textfile, wo ma seine Constraints reinschreibt. Die Syntax
gibt es in der Onlinehilfe sowie im Constraint User Guide, irgendwo auf
der Xilinx-Homepage
MFG
Falk
OK, soweit war ich auch schon. Da steht die ganze IO-Pin-Definition
drin. Auch meine beiden Clock Input P124/129(GCLK4/GCLK8), wobei ich
auch schon andere versucht habe. Habe mir gedacht das GCLK4..7 und
GCLK8..11 eigentlich zu den beiden DCM's im S50 passen sollten. Paßt
aber scheinbar irgendwie doch nicht. So weit ich das verstehe
(vielleicht aber falsch) kann er den Outbuffer des DCM nicht geeignet
platzieren. Oder?? Und wie kann ich das beheben ??
@ Joern (Gast)
>(vielleicht aber falsch) kann er den Outbuffer des DCM nicht geeignet>platzieren. Oder??
Nein, es geht umd die DCMs + Global Clock buffer. Schau in den
Floorplanner, dort kannst du auch sehr einfach die Platzierung machen.
UCF ist der Hack für UNIX-Anhänger ;-)
MFG
Falk
@ Joern
Mit dem DCM hatte ich Anfangs auch Probleme.
Versuche folgendes:
Den Systemtakt 20MHz an den CLKIN-Eingang vom DCM1 (20MHz->100MHz) und
den CLKIN-Eingang vom DCM2 (20MHz->150MHz) an den CLK0-Pin vom DCM1. Den
RST-Pin von DCM1 und DCM2 an GND anschliessen.
Nun sollten am CLKFX-Pin vom DCM1 100Mhz und am CLKFX-Pin vom DCM2
150MHz anliegen.
Wichtig ist dass die Häckhen bei RST und CLKFX gesetzt sind.
Gruss
Stanko
@Falk:
Im Floorplaner kann ich den Clock Input Pin schön hin und her platzieren
(praktisch alles von GCLK4..11 durchprobiert) was mir aber nicht hilft,
der Fehler bleibt. Wenn ich dort noch mehr rumschieben kann muß mir
nochmal jemand 'n Wink geben.
@ Stanko:
Werd ich gleich mal probieren. Klinkt aber ein wenig nach in serie
geschaltete DCM's , was ich per Wizard auch schon probiert hatte und
irgend ne andere Fehlermeldung brachte.
Ich versuch's und gebe Meldung.
Schonmal danke für die Unterstützung, falls es jetzt jemanden zu spät
wird !
Naja, die Fehlermeldung erklärt doch alles. Der kleine Chip hat nur eine
DCM pro Seite, man kann also nicht einen CLK-Eingang für beide DCMs
benutzen. Das einfachste wäre, den Takt an 2 GCK Eingänge zu legen, pro
Seite einen. Du könntest aber im Core Generator auch 2 DCMs kaskadieren,
da gibts einen extra Punkt. Vielleicht kommst du da irgendwie auf deine
Takt-kombinationen.
@ Christian:
Genau das hatte ich mir auch gedacht ! Nur, siehe oben, auch wenn ich
über 2 GCK Eingänge die DCMs unabhängig voneinander aufbauen will (z.B.
"P124/129(GCLK4/GCLK8)") bleibt mein Problem erhalten. Am Wizard Punkt
"serie" bin ich noch dran.
@ Joern (Gast)
>Im Floorplaner kann ich den Clock Input Pin schön hin und her platzieren>(praktisch alles von GCLK4..11 durchprobiert) was mir aber nicht hilft,
Das ist doch nichtmal die halbe Miete. Es gibt drei Komponenten, die
richtig platziert werden müssen
Clock Input Pin
DCM
Global Clock Buffer.
Müssen alle im Floorplanner zu finden sein. Die müssen alle an die
richtige Stelle EXPLIZIT platziert werden.
MFG
Falk
@ supachris:
Das hatte ich eigentlich anders gesehen, da der 50er Chip nur die 2 DCMs
auf der einen Seite hat. Aber ok, nichts geht über probieren.
Ergebnis:
Error 962 + Error 1012
"Place:1012 - A clock IOB / DCM component pair have been found that are
not placed at an optimal clock IOB / DCM
site pair. The clock component <inst_GCLK2/DCM_SP_INST> is placed at
site <DCM_X1Y0>. The clock IO/DCM site can be
paired if they are placed/locked in the same quadrant. The IO
component <Clock2> is placed at site <P58>. This will
not allow the use of the fast path between the IO and the Clock
buffer."
Was mir auch einleuchtet. Laut UG331 hat der S50AN nur Top-Left und
Top-Right und die scheinen mir nach Figure 2-2 über die global clock
inputs GCLK4...11 richtig angebunden. Hmm? Aber die ISE meckert ??
@ Falk:
Leuchtet mir ein. Den Input Pin kann ich platzieren, ok soweit kein
Problem. Das DCM sehe ich im Floorplan, aber der ist ja wohl fest
vorgeben. Also geht da nichts. Bleibt der global Clock Buffer, den ich
aber nicht sehe. Und was ich nicht sehe, kann ich nicht platzieren.
Somit stellt sich die Frage: Wie finde ich den Buffer im Floorplan ??
Ich bekomme im Area Floorplan unter translated Netlist auch die Pins und
die inst_GCLK gelistet, aber wenn ich da draufgehe werden nur die Pin im
Floorplan angezeigt. Wenn ich die inst_GCLK rüberziehe in den Floorplan
scheint aber nichts zu passieren, sieht also nicht so aus als wenn ich
da irgendetwas platziere. ?? Oder ??
@Joern (Gast)
>Problem. Das DCM sehe ich im Floorplan, aber der ist ja wohl fest>vorgeben. Also geht da nichts.
Nöö, du kanst dir aussuchen, an welhe Stelle er soll, auch wenn der IC
nur zwei DCM Platzierungen kennt.
>Somit stellt sich die Frage: Wie finde ich den Buffer im Floorplan ??
Der muss in der Liste aller Elemente am linken Rand auftauchen, wo auch
alle LUTs unf FFs zu finden sind.
>Floorplan angezeigt. Wenn ich die inst_GCLK rüberziehe in den Floorplan>scheint aber nichts zu passieren, sieht also nicht so aus als wenn ich>da irgendetwas platziere. ?? Oder ??
Du musst sie glaub ich mit einem Click platzieren.
MFG
Falk
@ Falk:
Aller Anfang ist schwer !! Hab's gefunden / Problem behoben !
Sind wohl die elementarsten Grundkenntnissen die mir da noch fehlen aber
ich bin bemüht. Besten Dank nochmal !
@Joern,
Und wo lag jetzt dein Problem? Ich hatte selbst mal ein X3C50/X3C100
mit zwei DCMs (per CoreGenerator erzeugt), und die liessen sich ohne
Probleme synthetisieren/implementieren. Ich hatte nur einen GCLK-Eingang
verwendet, keine Contraints (z.B. per Floorplanner). Kannst du vieleicht
etwas dazu sagen? Hatte ich nur Glück bei der Wahl des GCLK-Eingangs?
Gruss
Jörg