Forum: FPGA, VHDL & Co. 50 Mhz mit/oder ohne Frequenzteiler


von Sascha (Gast)


Lesenswert?

Hallo,

ich bin gerade dabei ein LCD per FSM mit einem Spartan3E anzusteuern. 
Das ganze soll erstmal kein Profiwerk sein, sondern eher ein wenig 
Einarbeitung in die Materie LCD und FSM. Ausschliessen, dass ich die mir 
erzeugte "Blackbox" irgendwann nocheinmal benötige, kann ich aber nicht.

Nun da 40 ms Initialisierungspause bei 50 Mhz doch einen recht grossen 
Counter benötigen, wollte ich fragen, was man dann macht.
Ich habe mir mal einen Frequenzteiler geschrieben, der könnte aus die 50 
Mhz um einiges heruntertakten.
Ich gehe davon aus, dass ein Frequenzteiler der mir für meine LCD 
Blackbox den Takt generiert langfristig/bauteilemässig besser dasteht.

Was meinen die Profis dazu? Oder sollte man doch den ganzen FSM Mist 
sein lassen und nen IP Core ala Picoblaze laufen lassen.

Sascha


von Thomas P. (pototschnig)


Lesenswert?

Hallo,

Ich hab jetzt mal überschlagen und komm auf einen 21Bit Zähler. Für 
einen FPGA ist das ein klacks.

Frequenzteiler ist natürlich auch eine Möglichkeit, wenn du von 
vornherein sagen kannst, dass es dir reicht die Statemaschine mit z.B. 
1MHz laufen zu lassen. Ein HD44780 LCD kann z.B. sowiso nicht so schnell 
- da ist es sinnlos eine 50MHz Statemaschine zu haben.

Ob das Sinn oder Unsinn ist musst du entscheiden. Ich persönlich nehme 
für HD44780-LCDs einen Microcontroller. Würde es sich um ein TFT-Panel 
mit LV-TTL Eingänge handeln, wär der µC zu langsam und ich würde einen 
FPGA nehmen.

Wenn das aber ein Projekt zum Warmwerden mit den FPGAs ist, ist es auf 
jeden Fall Sinnvoll.

Die Verwendung vom PicoBlaze ist nur ein "workaround" dafür dass du dich 
in VHDL noch nicht so gut auskennst. Aber mach mal wirklich die 
Statemachine. Dann lernst du ein Haufen dazu.

Mfg
Thomas

von Sascha (Gast)


Angehängte Dateien:

Lesenswert?

Thomas,

danke für Deine Antwort. Ja es ist erstmal etwas zum Warmwerden.
Habe es jetzt geschafft das Display zu initialisieren. So wie es 
aussieht macht es auch etwas auf meinem Spartan3E Development Board.

Habe das ganze mal ohne Frequenzteiler realisiert und ja es kommt ein 21 
Bit Zähler und Komparator zum Einsatz. Allerdings ist die Maximale 
Frequenz nicht so optimal:
======================================================================== 
=
Timing constraint: Default period analysis for Clock 'CLOCK'
  Clock period: 11.380ns (frequency: 87.873MHz)
  Total number of paths / destination ports: 3751 / 32
------------------------------------------------------------------------ 
-

Vielleicht kann man dort noch etwas rausholen.
Ich werde jetzt jedenfalls erstmal testen ob ich auch etwas aufs Display 
bekommen.
Die Simulation mit etwas mehr wie 40 ms ist jedoch nicht so optimal. 
Gibt es eine Möglichkeit in Modelsim die ersten 40ms (werden eh 
gewartet) zu skippen?

Sascha

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.