Synthese einer procedure

Gast #728535
Lesenswert?

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
#728571
Lesenswert?

@ 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
Gast #729317
Lesenswert?

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.

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