[VHDL] D-FlipFlop

OP #423721
Folgende Aufgabe:Ein positiv flankengesteuertes D-FlipFlop mit 
asynchronen Clear und Set ist gefragt. Beide Signale sind aktiv Low.

Als Lösung wurde uns vom Lehrer folgender Code gegeben:
1
Library IEEE;
2
use IEEE.Std_Logic_1164.all;
3

4
entity FF is
5
port(d, clk, clr, set: IN std_ulogic;
6
 q: OUT std_ulogic;)
7
end FF;
8

9
architecture a of FF is
10
begin
11
 process(clk,clr,set)
12
 begin
13
  if(clr='1') then
14
   q<='0';
15
  elsif(set='1') then
16
   q<='1';
17
  elsif(event'clk and clk='1')
18
   q<=d;
19
  end if;
20
 end process;
21
end a;
Die Fragen: Bei aktiv Low, müßte an der Stelle if clr= und set= nicht 
ein '0' folgen?
Welcher Teil erfüllt die asynchrone Clear und Set Forderung bzw. was ist 
dies überhaupt?
Gast
Ja, du hast recht, bei active Low muss das FF auf low reagieren, also 
müssen da auch Nullen im Code stehen. Der "if" und der erste 
"elsif"-Zweig bilden den asynchronen Teil der Schaltung, da sie den 
Ausgang sofort beeinflussen, wenn sie ein Null-Signal bekommen.
"Synchron" bedeutet, dass auf ein Taktsignal gewartet wird.
Moin...

Wobei hier wieder mal der alte Fehler mit
> (event'clk and clk='1')

gemacht wird. Ein Wechsel von Z oder X auf 1 wird (fehlerhaft) als Takt 
ausgewertet. Die richtige Funktion heißt hier
> rising_edge(clk).

Die gezeigte Variante muss sehr sorgfältig geprüft werden und ist idR 
nicht die gewünschte.

--
 SJ

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.