VHDL-Forum

 
Sie sind nicht eingeloggt.
LoginLogin Kostenlos anmeldenKostenlos anmelden
BeiträgeBeiträge MembersMitglieder SucheSuche HilfeHilfe
VotesUmfragen FilesDateien CalendarKalender BookmarksBookmarks

Anfang   zurück   weiter   Ende
Autor Beitrag
BerndR
Stammgast


Beiträge: 29

New PostErstellt: 21.12.09, 10:12     Betreff: Re: elsif ungleich case ? Antwort mit Zitat  

tiptoi® Wieso? Weshalb? Warum? 13: t...
Hallo Tobias,

das liegt daran, dass du dem Synthesetool nicht vorschreibst, wie sich IO(1) und IO(2) in den nicht beschriebenen Fällen verhalten sollen. Es sieht so aus, als ob bei if Latches generiert werden und beim case nicht (Das ist auch von Synthese-tool zu Synthese-tool unterschiedlich). Dadurch werden im ersten Fall die IO-Daten gehalten bis die Anweisung für das Rücksetzen kommt und im zweiten Fall nicht.
Um das gewünschte Verhalten für beide Beschreibungsarten zu erhalten, solltest du in die else bzw. when others -Bedingung den Halteterm eintragen IO(1) <= IO(1); IO(2) <= IO(2);
Wenn die IOs als output definiert sind, wird es hier eine Fehlermeldung geben. Deshalb ist es ratsam hierfür interne Signale zu erzeugen, die am Schluss den Outputs zugewiesen werden.
Signal io1 : std_logic;
Signal io2 : std_logic;

Im Prozess werden dann die internen Signale io1 und io2 benutzt.
Ausserhalb des Prozesses kommt dann noch die Zuweisung:
IO(1) <= io1; und
IO(2) <= io2;

Damit sollte es dann funktionieren.

Gruß

Bernd

nach oben
Benutzerprofil anzeigen Private Nachricht an dieses Mitglied senden
Sortierung ändern:  
Anfang   zurück   weiter   Ende
Seite 43 von 177
Gehe zu:   
Search

powered by carookee.com - eigenes profi-forum kostenlos

Design © trevorj