Variablen-Abfrage

Gast #1683782
Lesenswert?
• ▲
▼
Hi,

habe ein Problem bei der Verwendung von Variablen:


1
process(clk)
2
variable index : std_logic;
3
begin
4
    if rising_edge(clk) then
5

6
       ...
7
       index := data_in;
8

9
       if index = '1' then
10

11
       end if;
12
    end if;


Manchmal beobachte ich, dass "data_in" zwar high ist, dass aber die 
nachfolgende Abfrage "if index = '1'" nicht im gleichen Takt greift, 
sondern einen Takt später, d.h index wir einen Takt nach data_in high.

 Kann mir das jemand mal erklären ?

Grüße, Franki
Gast #1684192
Lesenswert?
• ▲
▼
>Du hast ein FF gebaut data_in entspricht D und index ist der Ausgang
>(Q), dieser ändert sich erst nach dem Takt-Event.

Ist die Variable denn im Wave genau an derselben Position wie 
entsprechende Signal-Beschreibung ?

1
signal index : std_logic;
2
process(clk)
3
begin
4
    if rising_edge(clk) then
5

6
       ...
7
       index <= data_in;
8

9
       if index = '1' then
10

11
       end if;
12
    end if;

Grüße, Franki

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren