Simualtion nach bestimmter Bedingung beenden

Gast #2414846
Lesenswert?

Hallo,
wollt mal fragen, wie schaffe ich es das die Simulation nach einer 
bestimmten bedingung aufhört.
Ich habe eine Bedingung z.B.
1
if n > "00000011" then x <= x"0000"; --ich möchte, wenn n grösser als drei wird, soll die simulation beendet werden, hierbei wird lediglich dieses Signal auf 0 gesetzt aber die Simulation wird weiter fortgeführt
2
else case n is 
3
                when "00000010" =>  x <= x"0000";
4
                when others => x <= signal(6 downto 0);
5
      end case;
6
end if;

Ich bin offen für jede Anregung.Danke.
Moderator (Firma: Titel) Persönliche Seite #2414881
Lesenswert?

Du brauchst eine Assertion.

Allerdings gehört die nicht in einen synthesefähigen Code in eine 
if-Abfrage, sondern (wenn schon, dann) einfach davor:
1
  assert  (n <= "00000011") 
2
    report "n ist größer als 3"
3
    severity failure;   
4
  case n is 
5
         when "00000010" =>  x <= x"0000";
6
         when others => x <= signal(6 downto 0);
7
  end case;

Allerdings hätte ich da noch eine Frage:
Was ist dein eigentliches Problem?
Gast #2414911
Lesenswert?

hallo danke für deine Hilfe, hat geklappt, wunderbar.

Mein eigentliches Signal, sind werte die an einen DA wandler gegeben 
werden, mit den werten generiere ich ein Rechtecksignal, und nach 3 
rechtecken wollte ich einfach schluss machen.

Aber super hat geklappt. Vielen Dank.

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