mikrocontroller.net

Forum: FPGA, VHDL & Co. Xilinx tristate output


Autor: Dom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

bräuchte mal eine Info zu einem ucf File des Demo Boardes Virtex-5.
Wollte mal ein eigenes Projekt auf den FPGA spielen und blicke jedoch 
bei der Pin Zuweisung noch nicht ganz durch.
Auf welchen Pin wird der externe Clock gelegt (N15??)

Mit welchem Befehl kan man ungenützte Ausgänge auf einen definierten 
Zustand ziehen (Pull up) bzw. tristate vermeiden.

Für Infos bin ich sehr dankbar.

Autor: matzunami (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mit den unbenutzten pins musst du  nix machen, oder gibt es dafür bei 
dir einen bestimmten grund?
welches board hast du? ml505

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
> Mit welchem Befehl kan man ungenützte Ausgänge auf einen definierten
> Zustand ziehen (Pull up) bzw. tristate vermeiden.
Während der Konfiguration gibt es Optionen bei "Generate Programming
File" (Rechtsklick). Unused IOB Pins kann man hier z.B. auf PullUp oder
-Down stellen.

Nachdem das FPGA konfiguriert ist, mußt du Steuerausgänge, die an andere
Bausteine gehen (Chip-Select) in deinem VHDL-Code als Ausgang definieren
und auf den inaktiven Pegel stellen.

Am schlimmsten ist es, wenn du einen Steuereingang einfach an einen
FPGA-Eingang (= unbenutzter Pin) anschließt. Dann ist der Pegel an
beiden Eingängen undefiniert. Und undefinierte Pegel bei CMOS-Eingängen
ziehen einen erhöhten Strom durch die Transistoren der Eingangstreiber
nach sich.

Autor: Dom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wegen den unangeschlossenen Pins war mir klar warum ich es machen muss,
aber ich wusste nicht wo ich das einstellen kann.
Kenne bis jetzt nur den Cyclone II und bei diesem machen ich dass durch
einen einzigen Befehl im qsf file. Nun dachte ich mir, dass es für das
ucf file auch einen ähnlichen Befehl geben muss.

Könnte mir noch jemand sagen welcher Pin für den Eingangstakt der
richtige ist für das Demo Board ML507.

Vielen Dank

Autor: matzunami (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
AH15 -> 100MHz
AH17 -> 33MHz
AG18 -> 27MHz

ohne gewähr :)

aber wenn du nen bischen in den dokumenten des boards schaust findest du 
das auch

Autor: coder (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist ein Tristate-Output standardmäßig durch high oder low enabled?

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
coder schrieb:
> Ist ein Tristate-Output standardmäßig durch high oder low enabled?
Wie meinen?
Ein Tristate-Ausgang wird z.B. in VHDL hochohmig, wenn man ein 'Z' auf 
ihn schreibt. Er wird low, wenn amn eine '0' auf ihn schreibt, und das 
mit dem high kannst du dir selber herleiten.

Ob der für diese Umschalterei intern ein high oder ein low braucht, 
ist egal.

Autor: coder (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mich hat es nur gewundert, warum die Synthese einen nicht gewünschten 
Inverter vor den T-Input des Tristate-Outputs gehängt hat.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
coder schrieb:
> Mich hat es nur gewundert, warum die Synthese einen nicht gewünschten
> Inverter vor den T-Input des Tristate-Outputs gehängt hat.
Wo?

Autor: coder (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe hier einen Spartan-II, dessen Outputs von einem Signal, welches 
von extern herangeführt wird, aktiviert werden. Der Port activate 
übergibt das Signal, welches für eine Aktivierung '1' wird, an die 
Logik:
s_activate_async <= ACTIVATE;

process(s_clk)
begin
   if rising_edge(s_clk) then
      s_activate <= s_activate_async;
      ...
   end if;
end process;

READY <= s_ready when s_activate = '1' else 'Z'; -- s_ready wird '1' wenn die CLKDLL locked 

Im RTL-Schematic wird nun das Signal s_activate, bevor es zum 
tristate-Output geführt wird, über einen Inverter geführt. Es hat mich 
verwundert, aber vielleicht wird es ja von der Synthese so 
zurechtgebogen wie es der tristate braucht(?).

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, wenn man sich das OBUFT Element anschaut, wirds klarer. Offenbar 
verlangt die Logik am IOB tatsächlich eine 1 für den TS Modus. Ist ja 
aber völlig egal, dazu gibts ja Hochsprachen wie VHDL ;)

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.