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
> Weiß jemand, was ich falsch mache?
Ja, zu zeigst uns den Quell-Code nicht :-)
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.
Für die Simulation mußt du mein ich die Xilinx Core Lib einbinden, meist gibt es im Source einen entsprechenden Hinweis.
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. |
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.
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=
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.