Forum: FPGA, VHDL & Co. Spartan3 Taktvervielfachung per DCM


von Thomas (Gast)


Lesenswert?

Hallo Leute,

ich habe hier das Avnet Spartan 3A Evaluation Kit mit XC3S400A und 16MHz 
Quarz.
Meine Anwendung läuft bereits.
Jetzt wollte ich den internen Takt per DCM ein wenig hochschrauben.
Dabei habe ich mich genau an folgende Anleitung gehalten:
http://fpgawiki.dustingram.com/index.php?title=Custom_Clocking
(Allerdings mit ISE 11.1)
Der Teiler steht auf M=4 und D=1.
Laut Synthesereport währen sogar 160MHz möglich.

Das Problem: Nichts geht.
Modelsim bleibt sofort hängen mit Fehlermeldung:
"Fatal error in Process determine_phase_shift at 
C:/Xilinx/11.1/ISE/vhdl/src/unisims/primitive/DCM_SP.vhd line 1295"

ISE erzeugt anstandslos das Programming File, aber das funktioniert 
nicht.

Weiß jemand, was ich falsch mache?

Gruß,
Thomas

von Klaus F. (kfalser)


Lesenswert?

> Weiß jemand, was ich falsch mache?

Ja, zu zeigst uns den Quell-Code nicht :-)

von Thomas (Gast)


Lesenswert?

Naja, bei mir sieht es halt genauso aus wie im Link, der Code drumherum 
ist doch unwichtig.
Ich werde aber morgen das Problem auf eine Minimum reduzieren und hier 
posten.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Für die Simulation mußt du mein ich die Xilinx Core Lib einbinden, meist 
gibt es im Source einen entsprechenden Hinweis.

von Thomas (Gast)


Lesenswert?

Hmm, nach einem "Cleanup Project Files" ging es auf einmal...

Außerdem habe ich jetzt NUR ein Häkchen bei CLKFX gesetzt und das Teil 
so verdrahtet:
1
Inst_clk64dcm: clk64dcm PORT MAP(
2
  CLKIN_IN => clk,
3
  CLKFX_OUT => clk64
4
);
Ist das OK so, wenn ich dann nur noch clk64 verwende?

ISE sagt dazu folgendes:
1
INFO:PhysDesignRules:772 - To achieve optimal frequency synthesis performance
2
   with the CLKFX and CLKFX180 outputs of the DCM comp
3
   Inst_clk64dcm/DCM_SP_INST, consult the device Interactive Data Sheet.

von Thomas (Gast)


Lesenswert?

Ach ja, simulieren geht immer noch nicht.
Wie kann man denn die "Xilinx Core Lib" einbinden? Ich finde da nichts 
zu.
Aber ich werde das wohl eh als Top-Level Entity vorschalten und alle 
anderen Signale einfach durchrouten.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Thomas schrieb:
> Ach ja, simulieren geht immer noch nicht.
> Wie kann man denn die "Xilinx Core Lib" einbinden? Ich finde da nichts
> zu.
http://www.google.de/search?hl=de&safe=off&q=xilinx+unisim&meta=

von Thomas (Gast)


Lesenswert?

Hmm, k.A. wie mir das weiter helfen soll.
Unisim ist natürlich im VHDL eingebunden.
Ist aber jetzt auch egal. Habs jetzt in eine (weitere) Top-Level Entity 
verfrachtet, die sonst nichts anderes macht.
Das halte ich für die sauberste Lösung, und simulieren brauch ich das so 
auch nicht.

von Christian R. (supachris)


Lesenswert?

Um den DCM simulieren zu können, muss man die Auflösung im Modelsim auf 
1ps oder kleiner stellen. "-t 1ps" als Kommanozeilenparameter für vsim.

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.