Hi Wenn ich in eine Process Variablen verwende darf ich denen dann gleich am Anfang sich slebst zuweisen um keine Latches zu erzeugen wenn ich sie in If Abfragen nicht in jeden Zweig zuweise? Oder ist das nicht erlaubt? Danke im vorhinein für die Antworten. variable x : integer range 0 to 10; x:= x; MFG Gast
Eine Zuweisung wie das hier ist garantiert explizit speichernd:
1 | variable x : integer range 0 to 10; |
2 | :
|
3 | x:= x; |
4 | :
|
5 | :
|
Wenn eine Variable gelesen wird, bevor sie geschrieben wird, muß sie speichernd sein. Wenn das in einem kombinatorischen Prozess passiert, hast du ein Latch. In einem getakteten Prozess gibt das ein Flipflop.
Hi Habe das ganze in einen kombinatorischen Prozess und wenn ich die Zuweisung x:= x weglasse sagt mir die Synthese das er latches erzeugt nachdem ich den variablen nicht in allen if zweigen was zuweise und wenn ich die zuweiung drin habe bekomme ich keine latches. MFG Gast
Ich weiß nicht, wo du x:= x; her hast, aber vermutlich willst du eher ein x:=0;
naja ich will gerade nicht x:=0 weil ich in x einen Wert habe den ich ständig brauch und nicht bei jeden durchlauf auf 0 setzen kann.
>> Habe das ganze in einen kombinatorischen Prozess... > weil ich in x einen Wert habe den ich > ständig brauch und nicht bei jeden durchlauf auf 0 setzen kann. Dann willst du explizit ein Latch. Sieh dir mal den RTL Plan nach der Synthese an, da sollten dann sowohl mit als auch ohne diese Zuweisung Latches entstehen. Wenn das mit der Zuweisung nicht passiert, dann sind noch irgendwelche Wechselwirkungen oder die Synthese übersetzt deine Beschreibung falsch...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.