1. Ich verwende einen Spartan 3A. Dort möchte ich einen IO-Buffer verwenden, jedoch ist mir aus der Hilfe nicht so ganz klar, wann der IO-Buffer als Eingang und wann als Ausgang beschaltet ist. Ich kann den IO-Buffer mit der T-Leitung zwischen Eingang und Ausgang umschalten. 2. Ich weiß bei dem Symbol auch nicht an welcher Seite jetzt die Signale angeschlossen werden. Ich habe Daten ein einem Speicher die ich vom FPGA an einen externen Chip senden möchte. Demnach muss ich den Port auf Ausgang umschalten. Jedoch weiß ich nicht wo am Symbol ich die Daten anlegen muss? Ist es der I oder der O Anschluss?
Die Dreiecke könntest du auch als Pfeile sehen: an der flachen Seite gehen Daten rein, an der Spitze kommen sie raus... BTW: du wirst aber nicht etwa ein ganzes FPGA-Design über den Schaltplaneditor beschreiben wollen?
Nein das mache ich natürlich nicht. Sondern ich maches immer nur mit der IO-Buffer, diese gehen dann auf meine VHDL-Module. Ich mache immer ein TopDown Design, in der obersten Ebene verwende ich immer ein Schematics und den den Ebenen darunter VHDL-Module. Diese finde ich übersichtlich kostet allerdings dafür auch mehr Zeit. Dies habe ich noch gefunden: .O(O), // Buffer output .IO(IO), // Buffer inout port (connect directly to top-level port) .I(I), // Buffer input .T(T) // 3-state enable input, high=input, low=output Demnach muss ich T = 0 für Ausgang und T = 1 als Eingang beschalten Was mich nur wundert ist das ich mit dem T-Signal zwischen Input und Output umschalten kann. Jedoch wann schalte ich den Port wirklich in den Tristate Modus also Hochohmig?
Den IO-Buffer mit Tristate braucht es nur, wenn man über den gleichen Pin Signale einlesen UND ausgeben will. Für reine Ausgänge gibt es OBUF und für Eingänge IBUF. Für Busse gibt es, soweit ich mich erinnere IBUF4, IBUF8 usw. Im allgemeinen wäre es aber zu empfehlen, den Schaltplaneditor nicht zu verwenden, sondern VHDL oder Verilog zu lernen.
Harald schrieb: > Was mich nur wundert ist das ich mit dem T-Signal zwischen Input und > Output umschalten kann. Jedoch wann schalte ich den Port wirklich in den > Tristate Modus also Hochohmig? Wenn T = 1 ist, ist der Pin hochohmig und gleichzeitig Eingang. Wenn du nur hochohmig schaltbare Ausgänge haben willst, gibts den OBUFT dafür.
Ich neutze wie gesagt den Schaltplan Editor auch nur für den Toplevel. Das möchte ich auch weiterhin so betreiben. Ich möchte über die Leitung ja auch Daten senden und empfangen. Dies natürlich nicht gleichzeitig sondern nacheinander. Ich snde über die Leitung Daten an ein externes IC und erhalte auch Daten von dem externen IC über die gleiche Leitung. Deshalb muss ich auch den IO-Buffer verwenden. Das externe IC besitzt einen PORT der mir signalisiert das Daten für mich bereitstehen. Dann muss ich vom FPGA den OE-Pin vom externen IC setzen. Somit wird der IO-Buffer vom externen IC auf Output gestellt. Gleichzeitig muss ich dann natürlich meine FPGA Dateinleigung auf Eingang umstellen. Jetzt stellt sich mir die Frage wie ich dies am besten machen ohne dabei den exteren IC und den FPGA zu zerstören, denn es gibt ja einen kleinen Moment wo der Buffer der FPGAs und der Buffer des externen ICs beide auf Ausgang geschaltet sind (auch wenn dies nur einige ns der Fall ist). Gehen dabei nicht die ICs defekt?
Harald schrieb: > es gibt ja einen kleinen Moment wo der Buffer der FPGAs und der Buffer > des externen ICs beide auf Ausgang geschaltet sind (auch wenn dies nur > einige ns der Fall ist). Das ist ein traditioneller Buskonflikt. Der sollte bei der Busübergabe aber nicht gleich ein paar ns dauern... > Dann muss ich vom FPGA den OE-Pin vom externen IC setzen. Somit wird der > IO-Buffer vom externen IC auf Output gestellt. > Gleichzeitig muss ich dann natürlich meine FPGA Dateinleigung auf > Eingang umstellen. Gleichzeitig gibt es nicht. Was passiert hier zuerst, wenn du das Umschaltsignal vom FPGA parallel auf die beiden Treiber (OBUF und externes IC) gibst? Der von dir beschreibene Fall ist unkritisch, denn bis der externe Buffer auf Ausgang steht, ist das FPGA längst hochohmig. Interessant ist das Umschalten des FPGAs auf "Ausgabe": der OBUF schaltet zuerst, das externe IC bekommt es ein paar 100ps später erst mit. Daher sind hier kurz beide auf Ausgang geschaltet. > Gehen dabei nicht die ICs defekt? Nein, sie werden nur warm... ;-)
Wir wissen doch alle das ICs im grunde nur mit Rauch arbeiten. Arbeiten diese dann zu stark kommt auch schon mal der Rauch aus dem IC :-)
Harald schrieb: > Das externe IC besitzt einen PORT der mir signalisiert das Daten für > mich bereitstehen. Dann muss ich vom FPGA den OE-Pin vom externen IC > setzen. Somit wird der IO-Buffer vom externen IC auf Output gestellt. > Gleichzeitig muss ich dann natürlich meine FPGA Dateinleigung auf > Eingang umstellen. Jetzt stellt sich mir die Frage wie ich dies am > besten machen ohne dabei den exteren IC und den FPGA zu zerstören, denn > es gibt ja einen kleinen Moment wo der Buffer der FPGAs und der Buffer > des externen ICs beide auf Ausgang geschaltet sind (auch wenn dies nur > einige ns der Fall ist). Gehen dabei nicht die ICs defekt? Nö. Das ist doch ein sauberes Handshake! Ext IC gibt einen Request ab. FPGA zieht am OE und setzt den Tristate gleichzeitig auf Eingang. NACHDEM OE gesetzt ist, wird der ext IC erst auf Ausgang gesetzt. Es sollte keine Probleme geben, dass beide Ausgänge gleichzeitig treiben.
Wie Lothar Miller schon geschrieben hat wird erst beim Umschalten der FPGA-Pins auf Ausgang das Problem auftauchen, da der FPGA zuerst die FPGA-Pins auf Ausgangs setzt und das OE-Signal für den externen IC benötigt ja eine gewisse Zeit zum externen IC. In dieser Zeit sind bei Ports (FPGA und externes IC auf Ausgang gestellt) Erst wenn das externe IC seine Ports wieder auf Eingang umgeschaltet hat ist die Gefahr gebannt.
Da moderne IC Konstantsromquellen und -senken auf den Ausgängen haben kann ausgeschlossen werden das da etwas abraucht. Aber es fliest während der Überlappzeit natürlich der Maximalstrom, das geht auf Kosten des Stromverbrauchs, und bei hohen Frequenzen wirds auch deutlich wärmer, hat ja Lothar schon erwähnt. Ausserdem ist zu beachten dass die Stromänderung beim Abschalten eines der beiden Treiber Störungen in Nachbarleutungen induzieren kann.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.