Forum: FPGA, VHDL & Co. Xilinx tristate output


von Dom (Gast)


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.

von matzunami (Gast)


Lesenswert?

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

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


Angehängte Dateien:

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.

von Dom (Gast)


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

von matzunami (Gast)


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

von coder (Gast)


Lesenswert?

Ist ein Tristate-Output standardmäßig durch high oder low enabled?

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


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.

von coder (Gast)


Lesenswert?

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

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


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?

von coder (Gast)


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:
1
s_activate_async <= ACTIVATE;
2
3
process(s_clk)
4
begin
5
   if rising_edge(s_clk) then
6
      s_activate <= s_activate_async;
7
      ...
8
   end if;
9
end process;
10
11
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(?).

von Christian R. (supachris)


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 ;)

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.