Forum: FPGA, VHDL & Co. INST "XXX" LOC = "YYY" --> Frage zu diesem Constraint


von FPGA (Gast)


Lesenswert?

Hallo zusammen,

Ich habe mir ein Temac Example Design (Wrapper) erstellt (es 
funktioniert auch). Dieses Design nutzt einen GTX-Dual Transceiver. Es 
werden also zwei Ethernet Ports verwendet. Das komplette Design besteht 
aus diversen Files. Tief in der Hirarchie wird ein entsprechender 
GTX_DUAL instanziiert. Entsprechend wird im Constraint-File die 
Verknüpfung zu einem realen Hardcore-GTX hergestellt. Dies geschieht 
durch diese Zeile (Bestandteil des Examples):

INST"*GTX_DUAL_1000X_inst?GTX_1000X?tile0_rocketio_wrapper_gtx_i?gtx_dua 
l_i"  LOC = "GTX_DUAL_X0Y5"

Bis hierhin ist im Grunde alles klar und alles funktioniert.

Nun möchte ich das komplette Example Design ein zweites mal 
instanziieren. Für dieses zweite Design soll dann jedoch ein anderer 
Transceiver genutzt werden.

Wie kann ich nun im Constraintfile dem Tool mitteilen welcher 
Transceiver in der zweiten Instanz verwendet werden soll?

Danke und Gruß!
FPGA

von FPGA (Gast)


Lesenswert?

okay - ich glaube ich habe diese Zeile doch noch nicht so ganz 
verstanden:

INST"*GTX_DUAL_1000X_inst?GTX_1000X?tile0_rocketio_wrapper_gtx_i?gtx_dua
l_i"  LOC = "GTX_DUAL_X0Y5"

Was bedeutet das * am anfang der Zeile? Die ? sind wohl platzhalter wo 
irgendwas stehen kann...

von FPGA (Gast)


Lesenswert?

okay, also ich bin nun selber drauf gekommen. Ich werde mir mal das 
Constraint User Guide anschauen, dann muss sich niemand mit meinen 
Anfängerfragen abmühen :-))

http://www.xilinx.com/itp/xilinx10/books/docs/cgd/cgd.pdf

--> Fred kann gelöscht werden.

von Duke Scarring (Gast)


Lesenswert?

FPGA schrieb im Beitrag #3978342:
> Was bedeutet das * am anfang der Zeile?
Da steht für beliebige darübeliegende Hierarchieebenen bzw. Instanzen.

FPGA schrieb im Beitrag #3978378:
> --> Fred kann gelöscht werden.
Warum? So kann ihn jemand finden, der ein ähnliches Problem hat.

FPGA schrieb im Beitrag #3978308:
> Wie kann ich nun im Constraintfile dem Tool mitteilen welcher
> Transceiver in der zweiten Instanz verwendet werden soll?
Du mußt die INST-Zeile im .ucf duplizieren und entsprechend den 
Instanzpfad und den Teil bei 'LOC' anpassen.

Welches FPGA verwendest Du?

Duke

von FPGA (Gast)


Lesenswert?

Hallo Duke,

Danke für die Rückmeldung!

Die von mir gestellte Frage hätte ich sicher auch im Constraint Manual 
nachlesen können. Daher war mir die Frage im Nachhinein etwas peinlich 
:-)

> Welches FPGA verwendest Du?

Virtex5

Das Instanziieren klappt nun. Ich habe die Instanzzeile kopiert und 
entsprechend den Pfad angepasst.

Falls es jemanden interessiert:
1
INST "*inst_temac_ip_example_design_a?v5_emac_ll?v5_emac_block_inst?GTX_DUAL_1000X_inst?GTX_1000X?tile0_rocketio_wrapper_gtx_i?gtx_dual_i" LOC = "GTX_DUAL_X0Y5";

und
1
INST "*inst_temac_ip_example_design_b?v5_emac_ll?v5_emac_block_inst?GTX_DUAL_1000X_inst?GTX_1000X?tile0_rocketio_wrapper_gtx_i?gtx_dual_i" LOC = "GTX_DUAL_X0Y4"; # ok

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.