1 Bit Speicher in CPLD ohne Takt

Gast #4384522
Lesenswert?
• ▲
▼
Hallo zusammen,

in einem ungetaktetem CPLD (Coolrunner) möchte ich ein externes HW 
Fehlersignal (Err_HW) speichern, so dass dieses Fehlersignal intern 
(Err_int) weiterverarbeitet werden kann.
Der Status von Err_int soll beibehalten werden, auch wenn der HW Fehler 
wieder zurück geht. Ein Reset soll den gespeicherten Wert wieder 
verwerfen.

Welches VHDL Konstrukt ist hierfür das Richtige?

Err_HW:  0 Fehler; 1 kein Fehler
Err_int: 0 Fehler; 1 kein Fehler
RST:     Reset bei steigender Flanke

Err_HW -> "Speicher" -> Err_int
              ^
       RST  --^


Vielen Dank für eure Hilfe,
Ben
Moderator (Firma: Titel) Persönliche Seite #4384713
Lesenswert?
• ▲
▼
Ben schrieb:
> RST:     Reset bei steigender Flanke
Ein flankengesteuerter Reset? Das ist mal eine seltsame Forderung.
Denn damit ist dann eigentlich der Reset ein Takteingang und gegenüber 
Err_HW nachrangig.

Wie auch immmer...
> Welches VHDL Konstrukt ist hierfür das Richtige?
1
signal err_int : std_logic;
2
:
3
:
4
    process (err_hw, rst) begin
5
       if (err_hw='1') then
6
           err_int<='1';
7
       elsif rising_edge(rst) then
8
           err_int<='0';
9
       end if;
10
    end process;
Durch diese extrem asynchrone Geschichte hast du natürlich irgendwelchen 
seltsamen Effekten Tür und Tor geöffnet.
Siehe dort: 
http://www.lothar-miller.de/s9y/categories/35-Einsynchronisieren
Du musst also mindestens noch das err_int einsynchronisieren.

Was du eigentlich willst ist sowas:
http://www.lothar-miller.de/s9y/archives/19-Kurzer-Spike-in-Puls-umgewandelt.html
Gast #4385374
Lesenswert?
• ▲
▼
Danke für eure Antworten soweit.

1) Welche bessere Lösung gäbe es, wenn ich kein flankengesteuertes Reset 
verwenden würde?

2) Im betroffenen CPLD gibt es keinen Takt, sondern nur rein 
kombinatorische Logik.
Damit fällt dann diese Lösung doch weg, oder? Diese kannte ich schon von 
deiner Seite und habe ich in einem FPGA erfolgreich eingesetzt.
http://www.lothar-miller.de/s9y/archives/19-Kurzer-Spike-in-Puls-umgewandelt.html

Gruß,
Ben

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.