loop mit clk event Abfrage in Prozedur

Gast #1409210
Lesenswert?

Kann man einen clk'event Anweisung in einer loop einer Prozedur 
verwenden?
Das ganze soll lediglich in einer Testbench verwendet werden.
Es werden nämlich KEINE Werte an DATAIN übergeben.
DATAIN ist permanent XXXX!



1
    for Z in 0 to row-1 loop
2
      report "..stimulate DATAIN";
3
         for S in 0 to column-1 loop
4
         if CLK = '1' and CLK'event then    
5
           next_pixel := image(Z)(S);
6
           DATAIN <= next_pixel;
7
           DVLIN <= not DVLIN;
8
        end if;
9
        end loop;       
10
   end loop;
Moderator (Firma: Titel) Persönliche Seite #1409264
Lesenswert?

> Das ganze soll lediglich in einer Testbench verwendet werden.
Das mit der Loop geht schon.
Was nicht geht ist die Abfrage auf die steigende Flanke...
Als Tipp: sieh dir mal die Indices (Z und S) im Simulator genauer an.
Was passiert mit denen?

Abhilfe:  Nimm ein
wait until rising_edge(clk);
oder ein
wait until clk='1';
1
    for Z in 0 to row-1 loop
2
      report "..stimulate DATAIN";
3
      for S in 0 to column-1 loop
4
        wait until rising_edge(CLK);
5
        next_pixel := image(Z)(S);
6
        DATAIN <= next_pixel;
7
        DVLIN <= not DVLIN;
8
     end loop;       
9
   end loop;

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