Hallo! Wenn ich eine kombinatorische Logik in einer Procedure modelliere, und diese an verschieden Stellen in meinem VHDL Code aufrufe, wird diese dann bei der Synthese mehrmals erzeugt, oder nur einmal? Genauer gesagt: Ist mit einer Procedure eine Ressourceneinsparung möglich? Vielen Dank für eure Antworten! Viele Grüße Max
@ Max (Gast) >Wenn ich eine kombinatorische Logik in einer Procedure modelliere, und >diese an verschieden Stellen in meinem VHDL Code aufrufe, wird diese >dann bei der Synthese mehrmals erzeugt, oder nur einmal? Mehrmals. >Genauer gesagt: Ist mit einer Procedure eine Ressourceneinsparung >möglich? Nein. MFG Falk
Doch! MAn kann in den Tools die option resource sharing aktivieren, was dazu führt, daß das Synthesetool nach Möglichkeiten sucht, zeitlich unabhängig agierende Teile zu multilpexen. Dies geht natürlich nur, wenn es keine Überlappung gibt und das Tool es erkennen kann, weil eine gewisse Identität gegeben ist. Den Code mit Hilfe von procedures zu strukturieren, ist ein gutes Mittel, dem tool sowas anzuzeigen. Auf diese Weise kann man bedenkenlos redundant instanziieren und es dem tool überlassen, das wieder zusammenzuschieben. Gerade bei unübersichtlichen Designs ist es so möglich, sich die Möglichekeiten des paralleln und sequenziellen Vorgehens bis zum Schluss offen zu halten. Manchmal ist es möglich, parallel agierende Pfade mit einem Takt zu verschieben, um sie "pipeline-bar" zu machen.
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.