Forum: FPGA, VHDL & Co. Effektive Ausnutzung von MGTs im Xilinx Aurora IP


von Tim (Gast)


Lesenswert?

Hallo,
für ein Konzept wollte ich viele Aurora Cores auf einem Virtex-7 
verwenden. Da ich mehr als 16 MGTs verwende, möchte ich auch mehrere IPs 
instanziieren.

Prinzipiell geht es einfach dadrum:
Man hat einen Core mit 5 MGTs. Dieser verbraucht ein Quad (A) mit 4 von 
4 GTs und ein Quad(B) mit 1 von 4 GTs. Der Core benötigt nur einen 
Refclockeingang (A), da er den Takt von Quad(A) auf Quad(B) intern 
routen kann.

Nun die Frage:
Kann ein zweiter Core die restlichen GTs von Quad(B) nutzen mit den 
Refclock von Quad(C)? oder muss ich auf die 3 von 4 GTs Quad (B) 
verzichten und zwei neue Quads (C und D) anreißen?

Hat schon jemand soviele GTs mit Aurora verwendet :)?

von Duke Scarring (Gast)


Lesenswert?

Tim schrieb:
> Kann ein zweiter Core die restlichen GTs von Quad(B) nutzen mit den
> Refclock von Quad(C)? oder muss ich auf die 3 von 4 GTs Quad (B)
> verzichten und zwei neue Quads (C und D) anreißen?
Das klingt nach einer Frage, wo selbst der FAE ins Schwitzen kommen 
dürfte.
Trotzdem würde ich es versuchen, dort eine Auskunft zu erhalten.


Duke

von Antti L. (xilant)


Lesenswert?

bist du sicher das aurora wirklich mit 5 GTs konfigurierbar ist??
Den Ref clock kann man schon etwas flexible routen, aber ob alles so 
sauber geht hängt mal von der IP ab.

Für Aurora in 2014.4 musste ich den clock substuct alles selber bauen, 
mit 2015.2 geht es jetzt mit Xilinx cores direkt was ich brauche.

von Tim (Gast)


Lesenswert?

mit 5 GTs konnte man den Core erzeugen und simulieren. Vivado 2015.2

von Christian R. (supachris)


Lesenswert?

Was hindert dich das einfach mal auszuprobieren? Kannste ja mal zusammen 
klicken und schauen ob der das hinbekommt.

von Tim (Gast)


Lesenswert?

Ich habe es jetzt mal ausprobiert:
scheint nicht auf die effektive Weise zu gehen. Der 
Implementierungsschritt meckert.

Liegt wohl daran das zwei Aurora-Cores dann quasi das überschneidende 
Quad doppelt instanziieren und Probleme mit der Definition der 
Datenleitungen und den PLL-Takten bekommen.

Man kann sicher herumdoktern in den generierten Outputs. Erfahrungsgemäß 
bereitet das mir zuviele Sorgen. Das Anpassen der MGTs auf ein 
Vielfaches von 4 (oder zumindest in der Nähe davon) scheint dann wohl 
der komfortablere Kompromiss zu sein.

von Antti L. (xilant)


Lesenswert?

das "shared logic" und clocking ist meist das problem, nicht die GTx 
cores selber.

5 ist wirklich eine schlechtes nummer

von tja (Gast)


Lesenswert?

Hallo,

meine Erfahrung sagt, dass man, wenn man mit dem Core-Generator nicht 
weiter kommt, dann doch die Sachen per Hand instanzieeren sollte. Ist 
zwar aufwendiger, aber dafür bekommt man sehr viel mehr Freiheitsgrade. 
Normalerweise sollte mit einem Diff-Clock 3 Quads verwenden können, wenn 
diese links und rechts daneben liegen (sowas ist aber in der Doku sehr 
gut beschrieben)

Wie man manuel die Gewalt über die Instanziierung bekomment? Man macht 
sich mit dem Core-Genator ein Design, meist bekommt man ein 
ausführliches VHD File mitdazu, dass man dann für die eigenen 
Bedürfnisse anpassen kann.
Schwierigkeitsgrad dürfte ich dafür eher in Richtung "Profi" ansiedeln. 
Ist nicht alles so ganz trivial... Es sollte dann egal sein, wieviele 
Transceiver man verwendet.

Viel Glück ;-)

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.