www.mikrocontroller.net

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


Autor: Sascha (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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


Autor: Thomas Pototschnig (pototschnig)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sascha (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.