2016-04-09 14 views
-1

ist eine Möglichkeit, Flip-Flop-Vektor auf einen anderen Wert als alle 0 zurückgesetzt? so etwas wie:VHDL-Flip-Flop zurückgesetzt anders als 0

PROCESS (clk) 
    BEGIN 
     IF RISING_EDGE(clk) THEN 
      IF rst = '1' THEN 
       ff <= INPUT_VALUE; 
... 

Diese nicht überleben Synthese. Ich möchte den Wert auf ff nur beim Zurücksetzen bekommen, dann ändere ich es - es funktioniert als ein Zähler mit dem ersten Wert von der Eingabe festgelegt.

+1

Dies sollte synthetisierbar sein, da es wie eine synchrone Last aussieht. Bitte geben Sie ein vollständiges Beispiel an und spezifizieren Sie das Synthesis-Tool, das Sie verwenden. –

+0

Der vollständige Prozess wird 'Code PROCESS (clk) BEGIN \t IF rising_edge (clk) THEN \t \t IF rst = '1' THEN \t \t \t iv_reg <= iv; \t \t ELSE \t \t \t IF input_change = '1' THEN \t \t \t \t \t iv_reg <= std_logic_vector (unsigned (iv_reg) + 1); \t \t \t \t ELSE \t \t \t \t \t iv_reg <= iv_reg; \t \t \t ENDE IF; \t \t ENDE IF; \t ENDE IF; ENDE PROZESS; ' synthetisiert von XST – scarabeus

+1

Funktionell sieht es perfekt aus. Was meinst du mit "überleben Synthese"? –

Antwort

0

Wie wäre es mit einem normalen Reset und dann load Signal, um den Zähler auf etwas anderes setzen? Dies wäre für mich der Standardweg.