Frage zu Register aus D FF

OP #716272
Hi,
warum erzeugt der folgende Code die Warnung
"Warning (10631): VHDL Process Statement warning at E_Register.vhd(23): 
inferring latch(es) for signal or variable "Q", which holds its previous 
value in one or more paths through the process"
1
Save: process(D, Reset, Clk)
2
  begin
3
  
4
    if(Reset = '1') then
5
      Q <= (others=>'0');
6
    elsif (Clk'Event and Clk = '1') then  
7
    
8
      for i in n-1 downto 0 loop
9
        Q(i) <= D(i);
10
      end loop;
11
    end if;
12

13
  end process;


Was ist an der for-Schleife so schlimm? Kann ich sie einfach weglassen?
Die Zuweisung Q <= D; sollte das gleiche machen, oder...?
Gast #716289
Das sagt nut das Du nicht für alle Fälle dem Q einen Wert zuweist... 
Deswegen generiert Dir das Synthesetool ein Latch...

Außerdem gehört das D nicht in die Sensitivity-List. In synchrone 
Prozesse gehört nur Clk und maximal noch ein Reset.
OP #716420
Ok danke soweit,
aber ist ein D FF nicht "transparent", wenn der Takt high ist? Das heißt 
jede Änderung vom D-Eingang wird währen Takt=1 am Ausgang sichtbar?
Dann müsste der Prozess doch auch auf D lauschen...
Gast #716423
Muss nicht... Das ist ja implementierungsabhängig. Ich kenne D-FF 
eigentlich nur Flankengetriggered. Kannste aber auch mal implementieren. 
Dazu muss nur das Clk'event raus.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 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.