Unterschied IOBM/IOBS Xilinx OBUFDS Problem

Gast #1310945
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:
1
   AD9952_CLK_BUF : OBUFDS
2
   generic map (
3
      IOSTANDARD => "LVDS_25")
4
   port map (
5
      O => AD9952_CLK_IN_p,     -- Diff_p output (connect directly to top-level port)
6
      OB => AD9952_CLK_IN_n,   -- Diff_n output (connect directly to top-level port)
7
      I => SysClock_125       -- SysClock_125      -- Buffer input 
8
   );

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
#1311063
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)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.