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