Forum: FPGA, VHDL & Co. FPGA-Pins in Vivado zuordnen


You were forwarded to this site from EmbDev.net. Back to EmbDev.net
von -gb- (Gast)


Lesenswert?

Ich möchte in Vivado einem VHDL-Toplevel die Pins zuordnen und wüsste 
gerne wie man das am effektivsten macht. Für einige Ports habe ich feste 
Zuordnungen vom Layouter, die ich auch schon als location constraint 
definiert habe und die auch laufen / stimmen.

Bei anderen bin ich frei. Leider scheint Vivado die nicht zugeordneten 
nicht einfach frei zu verteilen, wie ISE das gemacht hat. Auch finde ich 
keinen grafischen Editor beim Pinplanner, wie es das in der ISE gibt.

Mein Problem ist, dass ich so, jeden einzelnen Pin in der 
FPGA-Beschreibung suchen muss, um zu schauen ob ein AB12 z.B. schon 
vergeben ist (irgendwo versteckt) von einem Core benutzt wird oder ganz 
und gar kein genereal purpose ist.

Ich würde gerne wie in ISE die Pins grafisch zuordnen können und auch 
mal rasch umsortieren. Dazu müsste man die Geometrie des Chips sehen, 
als das BGA-Gehäuse, um LVDS-Pins zu tauschen, damit das routing für den 
Layouter einfacher wird.

Gibt es das in Vivado nicht? Und wenn, wo?
(Hatte zuletzt mit ISE und Quartus zu tun).

von DSGV-Violator (Gast)


Angehängte Dateien:

Lesenswert?

G. B. schrieb:

> Gibt es das in Vivado nicht? Und wenn, wo?
> (Hatte zuletzt mit ISE und Quartus zu tun).

Zu bequem um mit google ein passendes Tutorial zu finden?!

* 
https://www.xilinx.com/support/documents/sw_manuals/xilinx2022_1/ug899-vivado-io-clock-planning.pdf
* 
https://www.xilinx.com/support/documentation-navigation/design-hubs/dh0007-vivado-pin-planning-hub.html

Das man den Pinplanner so schlecht findet könnte der geänderten 
methodology in Vivado geschuldet sein, für den Konstruktionsschritt 
"IO-Planning" macht der Projekt-Manager ein anderes Projekt/designflow 
auf, als für ein "volles" FPGA-Projekt.

> (Hatte zuletzt mit ISE und Quartus zu tun).
Dann lass dich auf Xilinx-Vivado schulen oder mach Selbststudium an den 
UG* und XAPP oder übergib das Projekt an einen der mit Vivado Erfahrung 
hat!

PS: Der angehangene Q'nD Screenshoot ist mit einem älteren Vivado 
gemacht, kann also in Details anders anschauen. Persönlich bevorzuge ich 
die Erzeugung eines *.xdc oder *.ucf pinouts per Editor und nachlesen in 
constrain guide und Package datasheet, danach weiß man, was die Tools so 
treiben, Clicki-K(l)acki Tools machen denkfaul.

von T.U.Darmstadt (Gast)


Lesenswert?

G. B. schrieb:
> Leider scheint Vivado die nicht zugeordneten
> nicht einfach frei zu verteilen, wie ISE das gemacht hat.
Es müsste eigentlich irgendwo einen ouput geben, wo das realisiert ist.
Routen sollte er es können.

von -gb- (Gast)


Lesenswert?

Die unterschiedlichen Ansichten je nach Zustand der Implementierung habe 
ich schon wahrgenommen.

DSGV-Violator schrieb:
> Zu bequem um mit google ein passendes Tutorial zu finden?!
Na dann suche mal. Die beziehen sich alle auf alte Vivados wie mir 
scheint und im Neuen ist die beschriebene Ansicht nicht zu finden. Es 
braucht wohl erst ein implementiertes Design. Selbiges gibt es aber 
nicht ohne vollständige Constraints. Diese wiederum wurden nicht von V 
vervollständigt.

Kann es sein, dass da ein Schalter falsch steht oder etwas erst gesetzt 
werden muss, was in der aktuellen Version einen anderen default-Wert 
hat?

von Christian R. (supachris)


Lesenswert?

Die Pins verteilen geht auch nach der Synthese, dazu muss das 
sythetisierte Design geöffnet werden. Ob man dann schon ein Floor 
Planning Projekt draus machen kann, weiß ich aber nicht. Ich hatte es 
aber mal hinbekommen, dort die noch nicht fixierten Pins automatisch 
verteilen zu lassen, das war aber auch gut versteckt...

https://support.xilinx.com/s/article/57986?language=en_US

von DSGV-Violator (Gast)


Lesenswert?

>> Zu bequem um mit google ein passendes Tutorial zu finden?!
> Na dann suche mal.

Nein.
Es ist nicht mein Problem, wenn hier jemand unwillig ist, sich in das 
Handbuch/Bedienung der von ihm benutzten Toolversion einzuarbeiten. Oder 
unwillig ist  mit der Version/Methodik zu arbeiten die er beherrscht.

> Die beziehen sich alle auf alte Vivados wie mir
> scheint und im Neuen ist die beschriebene Ansicht nicht zu finden. Es
> braucht wohl erst ein implementiertes Design.

Es braucht ein beschriebenes 'minimales Top-Interface/entity - keine 
vonnständige Implementierung. Minimum ist
Name, richtung, Signalstandard. Der designer muss schon wissen, was er 
überhaupt designen will und das muss er den Tools vorgeben/mitteilen. 
Und wenn die Tools eben die Signalstandards nicht als 
quadratisch-praktisch-gut aufgearbeitete GUI ,wie in der 
Ritter-Sport-Werbung, präsentieren, dann muss man sich eben das PinOut 
des Chips mit möglichen IO-Standard-Optionen als PDF bei Erstellung des 
Designs daneben legen.

> Selbiges gibt es aber
> nicht ohne vollständige Constraints. Diese wiederum wurden nicht von V
> vervollständigt.

Auch Vivado kann keine Gedanken lesen und damit nicht aus einer 
unvollständigen Spec die IO's erraten.

Wenn du bereits ein PCB hast, ergeben sich die meisten IO-Constraints 
sowies aus dessen Schaltplan und nicht nach Methode "Wünsch Dir was".

von Gustl B. (-gb-)


Lesenswert?

Christian R. schrieb:
> Die Pins verteilen geht auch nach der Synthese, dazu muss das
> sythetisierte Design geöffnet werden.

Genau das geht.
Run Synthesis
Open Synthesized Design
Und dann hast du mehrere Optionen wie du die Constraints setzt:
Window -> Package
Window -> I/O Ports
Window -> Package Pins
Window -> Device Constraints

> Ob man dann schon ein Floor
> Planning Projekt draus machen kann, weiß ich aber nicht. Ich hatte es
> aber mal hinbekommen, dort die noch nicht fixierten Pins automatisch
> verteilen zu lassen, das war aber auch gut versteckt...

Das funktioniert automatisch wenn man die Implementierung laufen lässt.

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.