Forum: FPGA, VHDL & Co. interne Clock-Leitung mit timing constraints


von Bustle (Gast)


Lesenswert?

Hallo ihr,

kann mir jemand sagen wie ich eine Interne Clockleitung mit timing 
constraints versehen kann?

Ich habe ein externes Signal welches ich über ein DCM verdopple und 
anschließend nach einem Bufg als Clockleitung nutze. Nur kann ich dieser 
Clockleitung keine Timing Constraints im ucf-file zuweisen. 
Fehlermeldung: Signaleitung unbekannt.

Dankeschön.

von Eman (Gast)


Lesenswert?

Ich denke doch, dass DCM-Ausgänge schon als Clocks und damit "bevorzugt" 
und so schnell wie möglich behandelt werden. Schneller als schnell geht 
halt nicht. ;) Du kannst höchstens manuell irgendwelche Buffer zuweisen, 
falls die Synthese es nicht automatisch macht.

von Christoph (Gast)


Lesenswert?

Das Signal wird einer Gruppe zugewiesen, die du dann "constrainen" 
kannst.

http://toolbox.xilinx.com/docsan/xilinx9/books/docs/cgd/cgd.pdf

stichwort:TNM_NET

Gruß,
Christoph

von Christian R. (supachris)


Lesenswert?

Hm, bei meiner ISE 9.2.0.4 macht der die Clocks hinter der DCM 
automatisch ins UCF. Ich hab nur den Eingangstakt angegeben und die 
Ausgangstakte berechnet die ISE. Steht im Design Summary dann immer 
drin.

von Bustle (Gast)


Lesenswert?

Dankeschön,

hab es ausprobiert wie Christoph es geschrieben hat aber komme noch 
nicht ganz klar.

NET "Interner_CLK" TNM_NET = "CLK_GRP";
TIMESPEC "TS_CLK_GRP" = PERIODE "CLK_GRP" 96MHZ

Es kommt immer noch die Fehlermeldung:

ERROR:ConstraintSystem:59 - Constraint <NET "Interner_CLK" S>: NET 
"Interner_CLK" not found.

Muss das Signal Top-Level (main.vhd) liegen? Oder welche Gründe kann es 
noch geben?

Gruß, Bustle

von Christoph (Gast)


Lesenswert?

Ja, das UCF beschreibt ja die Pins und deren Attribute von und zur 
"Außenwelt", und das findet im Top Level statt.
Wenn man einen Clock über einen Pin reinbekommt, muss also das Attribut 
PERIODE auf den net namen angewendet werden, der im Top Level in der 
Entity steht.
Die Perioden der clocks, die aus der DCM kommen, berechnet er sich dann 
selber, die brauch man nicht mehr anzugeben.

Das constrain PERIODE an sich wird übrigens als T angegeben (also in ps, 
ns, us...) und nicht als frequenzangabe.

Gruß,
Christoph

von lkmiller (Gast)


Lesenswert?

>Das constrain PERIODE an sich wird übrigens als T angegeben (also in ps,
>ns, us...) und nicht als frequenzangabe.

Nein. Sowohl Zeit als auch Frequenz möglich:

NET "clk" TNM_NET = "clk";
TIMESPEC "TS_clk" = PERIOD "clk" 96 MHz HIGH 50 %;
(Original-Output vom Create-Timing-Constraints Tool von ISE)

von Christoph (Gast)


Lesenswert?

schau an, wieder was dazu gelernt... :-)

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.