Forum: FPGA, VHDL & Co. Quartus 12.0 SP2.16 Fehler des Compilers?


von Jochen F. (jamesy)


Lesenswert?

Hallo alle,

ich arbeite derzeit recht viel an einem komplexen FPGA-Design, welches 
unter anderem eine VGA-Ausgabe beinhaltet. Nun kommt es vor, daß ich 
einfach irgendwo etwas ändere an einem ganz anderen Teil des Designs, 
und plötzlich hat der VSYNC des Monitors die doppelte Frequenz. Ändere 
ich anderswo wieder etwas, so ist die Chance hoch, daß alles wieder OK 
compiliert.
Ich programmiere grafisch, also erhalte ich ein .bdf-File.
Bin ich da alleine, oder hat jemand ein paar Tips, wie ich das umgehen 
kann. Es handelt sich um einen Cyclone II EP2C20..484N7. Ich weiß nicht, 
bis zu welcher Version der supported worden ist.
Oder ist es wirklich besser, das alles in VHDL reinzuklappern, ich 
vermute, das wäre dann eine riesige Extraarbeit. Liege ich da falsch?

Gruß, Jochen

von Christian R. (supachris)


Lesenswert?

Sowas passiert in der Regel, wenn das FPGA ziemlich voll ist und sehr 
wenige oder gar keine Constraints gesetzt sind. Dann kann der Router 
schon mal Amok laufen. Bei Xilinx ISE kam das zumindest oft vor. Die 
funktionieren ja alle nach dem gleichen Prinzip. Hast du denn alle 
nötigen Timing Constraints gesetzt?

von Jochen F. (jamesy)


Lesenswert?

Der Baustein ist zu etwa 2% voll. Sind die Timing Constraints so wichtig 
für einen popeligen Counter bis 1023?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Jochen Fe. schrieb:
> Sind die Timing Constraints so wichtig für einen popeligen Counter bis
> 1023?
Sind Loc-Constraints so wichtig, wenn nur 5 Pins verwendet werden?

Es ist doch absolut kein Aufwand, der Toolchain die Oszillatorfrequenz 
mitzuteilen. Du sagst ja schon, welche Pins du gerne verwenden 
würdest...

Im Übrigen vermute ich hier eher Effekte wie eine Taktgenerierung mit 
Flipflops/Vorteilern und dazu dann noch asynchrone (und sogar 
kombinatorische) Resets.

> Ich programmiere grafisch
Oha...

> Oder ist es wirklich besser, das alles in VHDL reinzuklappern, ich
> vermute, das wäre dann eine riesige Extraarbeit.
Du vermutest mit an sicherheit grenzender Wahrscheinlichkeit falsch.
Ich verweise da gern auf den Beitrag "kruder Fehler bei FPGA-Programmierung (ISE WEBpack-Schematic)"

> Oder ist es wirklich besser, das alles in VHDL reinzuklappern
Du kannst es auch in Verilog reinklappern. Braucht halt etwas mehr 
Platz, weil Verilog so sperrig ist... ;-)
Siehe 
http://www.lothar-miller.de/s9y/archives/88-VHDL-vs.-Verilog-am-Beispiel-einer-Stoppuhr.html

: Bearbeitet durch Moderator
von Jochen F. (jamesy)


Lesenswert?

Lothar Miller schrieb:
> Es ist doch absolut kein Aufwand, der Toolchain die Oszillatorfrequenz
> mitzuteilen. Du sagst ja schon, welche Pins du gerne verwenden
> würdest...

Das verstehe ich! Habe mich heute durch die Doku gelesen, und bin so 
klug als wie zuvor ;-)
>
> Im Übrigen vermute ich hier eher Effekte wie eine Taktgenerierung mit
> Flipflops/Vorteilern und dazu dann noch asynchrone (und sogar
> kombinatorische) Resets.
Nicht hier. Nur ein erster Zähler, der aus 25 MHz 31.25 kHz macht, und 
der zweite zählt dann bis auf 60 Hz runter. Allerdings sind bei 119 Hz 
die Ausgangspulse nicht gleich lang, das fiel mir auf.....
Falls jemand die Frequenzen bekannt vorkommen - ja, es ist eine 
VGA-Ausgabe.

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.