Forum: FPGA, VHDL & Co. Wie werden Ausgangszellen bei bi-dir zurückgelesen?


von Argo (Gast)


Lesenswert?

Wenn ich mit einem FF auf einen Ausgang gehe, gelangt das Signal an 
einen physikalischen Ausgangsbuffer. Bei einem bidirektionalen Pin kann 
ich den Ausgang ja wieder abfragen, im Gegensatz zu einem normalen 
Design, wo ich den Ausgang nur über ein Zwischensignal abfragen kann.

Nun ist die Frage, wo die Information real abgegriffen wird?

Ist es am Ausgang des FFs, vor dem Buffer, sodaß das Signal voll 
synchron im Design zur Verfügung steht oder ist es tatsächlich am Pin, 
womit ja eine erhebliche Verzögerung entsteht, man aber die Leitung 
sehen kann.

von Klaus F. (kfalser)


Lesenswert?

Am Pin, wenn das Port als inout deklariert ist.

von Jan M. (mueschel)


Lesenswert?

Die Beschaltung dr I/O-Buffer findest du in jedem FPGA-Datenblatt. 
Normalerweise wird direkt am Eingang von aussen verzweigt in input und 
output.

von Morin (Gast)


Lesenswert?

An Pin wird schonmal gar nix abgegriffen. Dafür bräuchte es ja für jeden 
Pin einen zweiten Bondingdraht -> viel zu teuer. Wenn überhaupt, dann am 
Pad.

Im FPGA-Editor von Xilinx kann man die Signalwege sehr schön sehen. 
Leider hab ich den hier nicht parat, so dass ich jetzt nicht nachsehen 
kann.

von Uwe Bonnes (Gast)


Lesenswert?

Wie waere es mit einem Blick in das Datenblatt und eventuelle 
Userguides?

von Gast (Gast)


Lesenswert?

>An Pin wird schonmal gar nix abgegriffen. Dafür bräuchte es ja für jeden
>Pin einen zweiten Bondingdraht -> viel zu teuer.

Wäre auch unnötig, da es zwei vollkommen parallel Drähte wären, wo doch 
einer reicht. Ein Verbindung zum Pin muss ja bestehen, weil sonst die 
Funktion "IN" nicht ginge.

Und genau deshalb kann auch nicht vor dem Ausgangsbuffer abgegriffen 
werden, weil sonst der Input, die Wikrung des Pins nicht sehen würde.

Klar, hat man dann mehr Verzögerung bei den Lese des OUTs, weil beide 
Buffer dazu kommen. Die sind aber schnell - die /Lauf-Schaltzeit hängt 
dann sogar mehr an dem, was aussen dran ist.

von Ratzeputzer (Gast)


Lesenswert?

Sollte dem Problem nicht prinzipiell aus dem Weg gegangen werden, indem 
man, wenn man das Signal, was man rausgibt, braucht, ein Zwischensignal 
einführt? Damit ist man immer auf der sicheren Seite und kommt nie auf 
die bestimmt nicht so gute Idee, einen INOUT zu verwenden, nur weil man 
das Signal braucht.

von Klaus F. (kfalser)


Lesenswert?

Einen INOUT Port zuverwenden, nur weil man das Signal auch lesen muss, 
ist sowieso falsch. Dazu ist "buffer" gedacht, aber das wird nicht 
normalerweise nicht empfohlen.

von Gast (Gast)


Lesenswert?

> Dazu ist "buffer" gedacht, aber das wird nicht normalerweise nicht
> empfohlen.
Siehe die entsprechenden Warnings bei der Xilinx-Synthese

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.