Testbench Schwierigkeit

Gast #1662541
Lesenswert?

Hallo,

ich habe hier folgenden Auszug aus einer Testbench, welche nicht 
funktioniert. Es werden keine wr-Pulse erzeugt.
1
    for n in 0 to 20 loop
2
      wait for 1 ms;
3
      
4
      if n = 5 then
5
        start <= '1';
6
      else 
7
        start <= '0';
8
      end if;
9
      row <= std_logic_vector(to_unsigned(5*n, row'length)) after 100 ns;
10
      wr <= '1' after 100 ns;
11
      wr <= '0' after 100 ns;  
12
    end loop;

Ich kann mir den Fehler nicht erklären und erbitte Hilfe.

Danke
Moderator (Firma: Titel) Persönliche Seite #1662586
Lesenswert?

@  pferdi
> ersetz mal die after durch wait for konstrukte
Richtig, du hast das gleich nach der loop ja schon mal gemacht...
1
      row <= std_logic_vector(to_unsigned(5*n, row'length));
2
      wait for 100 ns;
3
      wr <= '1';
4
      wait for 100 ns;
5
      wr <= '0';

Sieh dir mal an, was after macht, und wie es den zeitlichen Ablauf 
beeinflusst... :-/

Ich könnte mir denken, dass sowas auch funktioniert:
1
      row <= std_logic_vector(to_unsigned(5*n, row'length));
2
      wr <= '1' after 100 ns, '0' after 200 ns;

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