Haltefunktion in VHDL gesucht

OP Persönliche Seite #6321247
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?
Angehängte Dateien:
Moderator (Firma: Titel) Persönliche Seite #6321344
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
Moderator (Firma: Titel) Persönliche Seite #6322839
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
OP Persönliche Seite #6322911
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren