www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Unterschied IOBM/IOBS Xilinx OBUFDS Problem


Autor: 1660ES (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, vielleicht kann mir hier jemand weiterhelfen. Ich habe das 
folgende Problem:

Ich brauche an meinen Xilinx Virtex 5 ein differentielles clock 
Ausgangssignal.

Im VHDL Code versuche ich dies über ein OBUFDS zu erzeugen:
   AD9952_CLK_BUF : OBUFDS
   generic map (
      IOSTANDARD => "LVDS_25")
   port map (
      O => AD9952_CLK_IN_p,     -- Diff_p output (connect directly to top-level port)
      OB => AD9952_CLK_IN_n,   -- Diff_n output (connect directly to top-level port)
      I => SysClock_125       -- SysClock_125      -- Buffer input 
   );

Der Code ist im Top Modul und AD9952_CLK_IN_p und AD9952_CLK_IN_n sind 
Output Ports vom Typ STD_LOGIC.

Mein Constrains File für die beiden Ports sieht folgendermaßen aus:
Net AD9952_CLK_IN_p LOC = AK13;
Net AD9952_CLK_IN_p IOSTANDARD=LVDS_25;
Net AD9952_CLK_IN_n LOC = AK24;
Net AD9952_CLK_IN_n IOSTANDARD=LVDS_25;

Die restlichen belegten Pins an dieser Bank sind vom Typ LVCMOS25. Laut 
Datasheet kann man gleiche Logiclevel mischen.

Während des Mappings bekomme ich immer die folgende Fehlermeldung:

ERROR:Pack:1107 - Unable to combine the following symbols into a single 
IOBM component:
PAD symbol "AD9952_CLK_IN_p" (Pad Signal = AD9952_CLK_IN_p)
BUFINV symbol "AD9952_CLK_BUF/OBUFDS" (Output Signal = AD9952_CLK_IN_p)
An IO component of type An IO component of type IOBM was chosen because 
the
IO contains an true differential buffer symbol.
Each of the following constraints specifies an illegal physical site for 
a
component of type IOBM:
Symbol "AD9952_CLK_IN_p" (LOC=AK13 [Physical Site Type = IOBS])
The component type is determined by the types of logic and the 
properties and configuration of the logic it contains. Please double 
check that the types of logic elements and all of their relevant 
properties and configuration options are compatible with the physical 
site type of the constraint.
Please correct the constraints accordingly.
(das gleiche nochmal für  AD9952_CLK_IN_n)

1) Ich hoffe jemand kann mir sagen was ich in meinen Contraints File 
falsch mache
2) Ich habe schon einige Xilinx Dokumente durchgeschaut aber keine klare 
Antwort gefunden: Kann es sein das nur ganz bestimmte Bank Typen
    ein OBUFDS erlauben?

Sollte es Relevanz haben - ich verwende ISE 10.1.03

Autor: Jan M. (mueschel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein differentielles Signal kannst du nur an vorgegebenen Pin-Paaren 
ausgeben. Bist du sicher, dass AK13 und AK24 ein solches Paar sind?

Autor: 1660ES (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Jan M .
Nein bin mir da leider nicht sicher... -- macht aber irgend wie Sinn. 
Kannst Du mir vielleicht ein Tipp geben in welchen Datasheet ich bei 
http://www.xilinx.com/support/documentation/virtex-5.htm informationen 
finden kann welche Möglichkeiten eine bestimmte Bank hat - ich habe wie 
gesagt leider nichts gefunden.

Autor: 1660ES (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann ich das vielleicht aus den Package Files: 
http://www.xilinx.com/support/packagefiles/virtex-5-pkgs.htm rauslesen?

z.B.
AL13  6  IO_L3P_6
AK13  6  IO_L3N_6

wären differenziell ---

AK13  6  IO_L3N_6
AK24  6  IO_L4P_6

leider nicht...

Autor: Jan M. (mueschel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Genau, die differentiellen Ausgaenge haben jeweils den gleichen Namen, 
einmal mit P (positive) und einmal mit N (negative).


(Nur am Rande: Lattice markiert die Pins mit T (true) und C 
(complementary). Dort braucht man auch keinen speziellen output buffer 
zu instantiieren, es reicht, das positive Signal anzuschliessen und den 
Modus auf LVDS zu stellen)

Autor: 1660ES (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Merci - hat mir sehr weitergeholfen!

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.