Mutex
Registrierter Benutzer
Beiträge: 1
|
Erstellt: 16.11.07, 21:59 Betreff: Re: mehrmaliges Setzen eines Signales in einem Process
drucken
weiterempfehlen
|
|
|
Hi!
Das liegt daran, weil nur immer bei der Steigenden Flanke die Werte upgedated werden. In deinem Fall macht das daher keinen sinn zuerst 0 zuzweisen und dann 1 dazu zu zählen. Denn der Counterwert wird nur bei der steigenden flanke übernommen, was er übernimmt (zuweist) liegt am letzten Befehl den er ausführt. -> daher ist die erste Zuweisung sinnlos (verstehe sowieso ned ganz was der Code bringen soll). Ich glaube außerdem auch das Quartus diese Zeile sowieso wegoptimiert, bin mir da aber nicht ganz sicher. Daher kannst du jetzt hoffentlich auch verstehen warum du 1001 raus bekommst. wenn man getaktete Sachen hat mus man eben aufpassen.
SIGNAL counter : std_logic_vector(3 DOWNTO 0) = "1000";
PROCESS (clk) BEGIN IF(rising_edge(clk)) THEN counter = "0000"; counter = counter + 1; END IF; END PROCESS;
|
|