Forum: FPGA, VHDL & Co. resize() über Registerstufe führen?


von Mike (Gast)


Lesenswert?

Hallo,

wenn ich in VHDL eine mathematische Formel synthetisieren möchte, die 
aus mehreren elementaren Rechenoperationen besteht, dann sollte ich 
sicherlich hinter jedem Addierer, Subtrahierer etc. ein Register setzen, 
wenn ich eine hohe Taktgeschwindigkeit erzielen möchte. Soviel ist klar.

Aber wie sieht aus, wenn ich die resize-Funktion anwende (z. B. am 
Eingang einer Komponente. Würdet ihr das auch über ein Register führen 
(auch in Hinblick auf signed-Werte)? Oder gleich dahinter einen 
Addierer, Subtrahierer etc.? Was sagt da die "best practice"?

Ich habe bisher hinter resized-Funktionen immer ein Register gesetzt. 
Ich komme aber langsam ins Grübeln, ob das nicht reine 
Ressourenverschwendung ist.

Grüße,
Mike

von Uwe .. (uwegw)


Lesenswert?

Wozu sollte da ein Register nötig sein? Es werden ja einfach nur 
Leitungen weggelassen bzw. mit konstanten Werten erzeugt...

von Mike (Gast)


Lesenswert?

Bei resize auf unsigned-Werten mag ich dir ja Recht geben, aber trifft 
das auch auf signed zu? Da muss doch in Abhängigkeit vom MSB 
"aufgefüllt" werden...

von Uwe .. (uwegw)


Lesenswert?

Da wird dann ja einfach nur die MSB-Leitung auf die zusätzlichen Bits 
weitergeleitet...

von Mike (Gast)


Lesenswert?

Hmm, okay hast Recht! Danke.

Wie sieht das denn beim Shiften aus? Sollte man dahinter ein Register 
packen?

von Uwe .. (uwegw)


Lesenswert?

Stell dir einfach vor, wie du das Ganze als TTL-Grab aufbauen würdest. 
Dann wird sofort klar, was wirkliche Logik und was nur Verdrahtung ist.

Shiften um eine konstante Anzahl von Bits heißt ja nichts anderes, als 
die Bitleitungen nicht 1:1, sondern versetzt zu verbinden.

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
Noch kein Account? Hier anmelden.