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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren