Forum: FPGA, VHDL & Co. Bidirektionaler Pin ohne INOUT


von Micha (Gast)


Lesenswert?

Hallo,

gibt es eine Möglichkeit einen bidirektionalen Pin zu gestalten, ohne 
den Port-Typ INOUT?

Kann man das über ein externes Signal steuern und eine Art Output-en 
schaffen?

Ich sitze gerade vor einem Design, bei dem in der Beschreibung 
bidirektionale Pins erwähnt werden und eigentlich für die Punktion 
(Doppelbelegung für zwei verschiedene Modi) auch notwendig sind.

Nur leider sind alle Ports des Topfiles IN oder OUT, aber kein Port ist 
INOUT.

Das passt irgendwie mit meinem Weltbild nicht zusammen.

Nun ist die Frage, ob eine genauere Analyse Sinn macht, oder ob ich mich 
erst einmal kümmern muss, Beschreibung und Design in Einklang zu 
bringen.

Vielen Dank!
Micha

von Falk B. (falk)


Lesenswert?

@  Micha (Gast)

>gibt es eine Möglichkeit einen bidirektionalen Pin zu gestalten, ohne
>den Port-Typ INOUT?

Nein. Warum auch?

>Kann man das über ein externes Signal steuern und eine Art Output-en
>schaffen?

Ja, aber das ist ein anderes Thema.

>Ich sitze gerade vor einem Design, bei dem in der Beschreibung
>bidirektionale Pins erwähnt werden und eigentlich für die Punktion
>(Doppelbelegung für zwei verschiedene Modi) auch notwendig sind.

>Nur leider sind alle Ports des Topfiles IN oder OUT, aber kein Port ist
>INOUT.

Weil das wahrscheinlich eben NICHT ein Top level für einen realen IC, 
sondern nur für das Modul ist. INOUT sollte man NUR an IC-Pins bnutzen, 
nicht innerald des FPGAs zwischen Modulen.

>Das passt irgendwie mit meinem Weltbild nicht zusammen.

Doch. Die Treiber und INOUT-Funktion werden in einem umhüllenden Top 
level File (Wrapper) definiert.

MFG
Falk

von M. (Dipl Ing) (Gast)


Lesenswert?

Falk Brunner schrieb:
>>Kann man das über ein externes Signal steuern und eine Art Output-en
>
>>schaffen?
>
> Ja, aber das ist ein anderes Thema.

logisch, ist doch easy:

Das externe Signal wird einfach asynchron oder in einsynchronsiter Form 
abgefragt, um den Buffer zu steuern.

Du musst nur den OE des normalen Tristatebuffers ansteuern.

oder in VHDL

if (extern-sig='1') then
   input_output <= ausgabedaten;
else
   input_output <= 'z';
end if;


eingabedaten <= input_output;

fertig

von amateur (Gast)


Lesenswert?

Falls Du über Hardware, und nicht über Software sprichst, schau Dir doch 
mal die "Konstruktion" der (Ein-,Aus-,Weisnicht-)gänge von Chips wie dem 
PCF8574 an. Die sind sowohl als auch.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Jeder Pin, der irgendwann in seinem "Leben" mal Eingang und Ausgang sein 
kann (egal ob gleichzeitig oder nacheimander) muss ein Inout sein.

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.