www.mikrocontroller.net

Forum: FPGA, VHDL & Co. inout


Autor: ehde76 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
servus,

was macht ihr eigentlich mit offenen inouts? in oder out kann man ja 
offen lassen, bzw. auf festen wert legen. iouts, tristate drann und den 
dann auf 'Z', keine ahnung... erleuchtet mich bitte...

gruß ehde76

Autor: tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
verstehe deine frage nicht ganz. Entweder ein io fungiert als Sender, 
oder Empfänger (hochohmig 'Z'). Ganz in der Luft hängt der nie, es sei 
denn eine Richtung wird nicht benötigt. Dann ist das zwar in der 
Verhaltenbeschreibung
ein IO, aber nach der Synthese enweder ein 'IN' oder ein 'OUT'. Mehr 
nicht.

Autor: ehde76 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
es geht um die io's eines srams, diese sind mit dem fpga fest 
verdrahtet, es werden aber nicht alle pins des datenbusses im design 
benötigt... das gleiche ist beim adressbus, das dieser aber out ist, 
sind die nicht benötigten pins auf einen festen wert gelegt...

Autor: tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich würde jedes io-pin welches nicht benutzt wird mit einem  Pull-Down 
(Up) Widerstand auf GND oder VDD setzen. Damit kannst du nichts falsch 
machen.

Autor: ehde76 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi tobias,

an der platine kann ich nichts machen, wollte wissen wie ich das in in 
vhdl löse... wie ist das mit der einstellung "trim unconnected ports" in 
der ise, was macht diese genau mit den unbenutzten pins... dazu habe ich 
auch noch nichts gefunden...

gruß

Autor: tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK, ich dachte dass du die Platine noch entwickelst. Wenn diese aber 
schon fertig ist, dann ist das ja noch einfacher. Leg einfach in der 
Top-Entity deines FPGA "InOut" Signale für die unbenutzen pins deines 
Adressbusses an, und leg diese Signale dann auf 'L' oder 'H'. Ein FPGA 
besitzt normalerweise schon eingebaute Pull-Ups und Pull-Downs. Schau 
dir am besten noch mal das Datenblatt deines FPGA an, und insbesondere 
die Schaltbilder für die IO Treiber. Da müßten Schutzdioden drin sein 
die mit Power und GND verbunden sind. Du kannst natürlich auch die 
Logic-Primitive deines FPGA Herstellers einbinden.


Hier ein Auszug aus dem Spartan3 Datasheet:

Pull-Up and Pull-Down Resistors
The optional pull-up and pull-down resistors are intended to
establish High and Low levels, respectively, at unused I/Os.
The pull-up resistor optionally connects each IOB pad to
VCCO. A pull-down resistor optionally connects each pad to
GND. These resistors are placed in a design using the
PULLUP and PULLDOWN symbols in a schematic, respectively.
They can also be instantiated as components, set as
constraints or passed as attributes in HDL code. These
resistors can also be selected for all unused I/O using the
Bitstream Generator (BitGen) option UnusedPin. A Low
logic level on HSWAP_EN activates the pull-up resistors on
all I/Os during configuration.
The Spartan-3 I/O pull-up and pull-down resistors are significantly
stronger than the "weak" pull-up/pull-down resistors
used in previous Xilinx FPGA families. See Table 32,
page 56 for equivalent resistor strengths.

In der Lib PDF in habe ich dann noch gefunden, wie man diese mittels 
Logic-Primitive instanziert:

VHDL Instantiation Template
-- Component Declaration for PULLDOWN should be placed
-- after architecture statement but before begin keyword
-- <Cut code below this line and paste into the architecture body>
-- PULLDOWN: I/O Buffer Weak Pull-down
-- All FPGA, CoolRunner-II
-- The current version of the Xilinx HDL Libraries Guide
PULLDOWN_inst : PULLDOWN
port map (
O => O -- Pulldown output (connect directly to top-level port)
);
-- End of PULLDOWN_inst instantiation

Der Rest sollte jetzt für dich kein Problem mehr sein.






Autor: ehde76 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke, hat geholfen...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.