Forum: FPGA, VHDL & Co. Haltefunktion in VHDL gesucht


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Mark W. (kram) Benutzerseite


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich benoetige eine Haltefunktion in VHDL.
Es soll auf einen Eingang(fallende Flanke) reagiert werden. Dann soll 
der Ausgang immer noch einige Zeit an bleiben. Idealerweise im Code 
einzustellende Taktzyklen. Ich habe das mal aufgemalt, siehe Anhang.
Meine derzeitige Idee ist ein Zaehler, wo das Eingangssignal immer der 
Reset und Start ist.
Geht das auch einfacher?

von Fpga K. (fpgakuechle) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Mark W. schrieb:

> Meine derzeitige Idee ist ein Zaehler, wo das Eingangssignal immer der
> Reset und Start ist.
> Geht das auch einfacher?

Schieberegistermakro (SRL32) wenn es um bis zu 16/32 Takte geht. Das ist 
dann aber architekturabhängig.

von Lothar M. (lkmiller) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Mark W. schrieb:
> Es soll auf einen Eingang(fallende Flanke) reagiert werden.
Ist das ein asynchroner Eingang? Soll nur auf die fallende Flanke des 
Eingangssignals reagiert werden? Ist das Eingangssignal immer gleich 
lange auf low? Sind das immer 2 Takte? Oder kann das Eingangssignl auch 
mal nur einen halben Takt low sein? Oder kann das Eingangssignal mal 20 
Takte low sein? Falls ja: was soll dann passieren? Soll dann das 
Ausgangssignal 8..12 Takte low sein oder eher 28..32?

Im Großen&Ganzen würde ich aber bisher damit und einem 
dahintergeschalteten 7..11 Takte-Zähler dein Problem angehen:
http://www.lothar-miller.de/s9y/archives/19-Kurzer-Spike-in-Puls-umgewandelt.html

von Mark W. (kram) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Ich habe es jetzt mit einem Integerzaehler gemacht.

von Lothar M. (lkmiller) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Mark W. schrieb:
> Ich habe es jetzt mit einem Integerzaehler gemacht.
Und wie hast du das mit den 0-1 Takten Latency hinbekommen?
Hoffentlich nicht in bester Anfängermanier, indem das Eingangssignal 
asynchron direkt schnurstraks auf die Flipflops des Zählers geht...

Siehe dazu das da (denn ein Zähler ist die reinste Form einer FSM):
http://www.lothar-miller.de/s9y/archives/64-State-Machine-mit-asynchronem-Eingang.html
Und natürlich das:
http://www.lothar-miller.de/s9y/archives/70-Asynchroner-Reset.html

von Mark W. (kram) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Nein, aber das oben beschriebene Signal ist tatsaechlich asyncron. Aber 
ich habe im Design schon ein Signal, was von dem abhaengt. Natuerlich 
von der einsyncronisierten Variante. Damit ging es auch.
Somit konnte ich mir ein FIFO wegoptimieren. Jetzt kann ich Asyncron 
einen 3MHz ADC auslesen, allerdings mit 6MHz, weil der 16 bit hat und 
ich nur 8 bit jeweils abholen kann. Also ich muss bei jedem Abholen 
immer zuerst das High-Byte abholen, dann aber jedes bis die Uebertragung 
fertig ist. Also muss jede Uebertragung immer mit einem High-Byte 
anfangen.

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.

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