Forum: FPGA, VHDL & Co. Rückkopplung mit buffer?


von fred (Gast)


Lesenswert?

Guten Morgen Zusammen,

wenn ich eine TopLevelEntitiy habe , in der ich eine Komponente einfügen 
möchte und ich von dieser eingefügten Komponente Rückgabewerte wieder in 
meiner darüberliegenden Ebene benötige, wie realisiert man das am 
besten?
Mit Hilfe eines buffer-Signals?

Meine Komponente gibt mir ein Ausgangssignale, welche ich in der TLE als 
Eingangssignal brauche? Würde es funktionieren, wenn ich dem Ausgang 
einem buffer Signal zuordne und dieses buffersignal dann dem Eingang?

Oder lassen sich buffer's nur intern, also innerhalb der Komponenten 
verwenden?


Gruß und Dank,

fred

von Georg A. (georga)


Lesenswert?

> Mit Hilfe eines buffer-Signals?

Nö, out reicht völlig...

Ich glaube aber, dass dir das mit den Signalen und wo man in/out 
braucht, irgendwie noch etwas unklar ist. in/out&Co werden nur für den 
Modus von Ports benötigt, das steht dann auch in der 
entity/component-Deklaration. Daran "aussen" angeschlossene Signale 
werden in der Architecture drüber definiert und haben gar keinen Modus 
(ausser es sind wieder gleich Ports).

> Oder lassen sich buffer's nur intern, also innerhalb der
> Komponenten verwenden?

buffer-Ports sind wie out, nur dass sie innerhalb der instanziierten 
Komponente auch gelesen werden können. Normalerweise geht das mit out ja 
nicht. Die Legende sagt, dass man sie aber eher vermeiden sollte, weil 
nicht alle Syntheseprogramme sie verstehen und das direkte Durchreichen 
an äussere Ports auch wieder buffer benötigt. Ob's stimmt, kann ich 
nicht sagen, habe sie noch nie benutzt, geht auch ohne.

von Christian R. (supachris)


Lesenswert?

Du kannst doch im Top-Level Modul auch Signale verwenden, die aus den 
Untermodulen getrieben werden und dann im Top Level beliebig verwendet 
werden können. Da wird gern ein _i hinten dran geschrieben, da sieht man 
sofort, dass es das gleiche Signal wie der Port ist, aber eben intern.

von Felix O. (felixanius)


Lesenswert?

Georg A. schrieb:
> Die Legende sagt, dass man sie aber eher vermeiden sollte, weil
> nicht alle Syntheseprogramme sie verstehen und das direkte Durchreichen
> an äussere Ports auch wieder buffer benötigt. Ob's stimmt, kann ich
> nicht sagen, habe sie noch nie benutzt, geht auch ohne.

Stimmt denn die Legende? :D
Also ich habe auch gehört, dass man buffer eher vermeiden sollte, liegt 
das an der Synthesefähigkeit oder gibt es noch andere Gründe?
Danke

von Felix O. (felixanius)


Lesenswert?

Weiß das jemand, bzw. hat jemand damit Erfahrungen gemacht?

von Fpgakuechle K. (Gast)


Lesenswert?

Felix O. schrieb:
> Weiß das jemand, bzw. hat jemand damit Erfahrungen gemacht?

In den XST User guides steht einiges, bspw zum Thema mixed project 
(VHDL+verilog) im xst.pdf:
"XST does not support VHDL buffer and linkage ports."

an anderer Stelle (xst_v6s6.pdf) bei der es um VHDL only geht steht:


"NOT RECOMMENDED Coding Example WITH Buffer Port Mode
Xilinx does not recommend using buffer port mode. Although VHDL allows 
buffer port mode when a signal is used both internally and as an output 
port (when there is only one internal driver), buffer ports are a 
potential source of errors during synthesis, and complicate validation 
of post-synthesis results through simulation."

Also mehr Fallstricke als Vorteile,

MfG,

von Felix O. (felixanius)


Lesenswert?

Ah, vielen Dank!

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.