Forum: FPGA, VHDL & Co. Problem mit clk Port


von Philip K. (plip)


Lesenswert?

Servus,

ich habe in meinem Top-Level einen Port clk, den ich einem Signal 
zuweise.
Dabei bekomm ich folgende Fehlermeldung:

ERROR:Xst:2035 - Port <clk> has illegal connection. Port is connected to 
input buffer and following ports:


Die Xilinx Hilfe sagt dazu:

This error will occur if the instantiated netlist contains I/O ports. 
There are two ways to fix this error:

1. Generate the instantiated netlist without I/O ports.
2. Instruct XST not to add I/O Buffers.


Irgendwie hab ich da grundlegende Verständnisprobleme. Warum soll eine 
Netzliste  keine I/O-Ports haben?

Und dann noch eine Frage zu den User-Constraints -  mir ist nicht ganz 
klar, wie und wo man die überhaupt eingibt.

Gruß Philip

von Falk B. (falk)


Lesenswert?

@ Philip Kirchhoff (plip)

>ich habe in meinem Top-Level einen Port clk, den ich einem Signal
>zuweise.

>Irgendwie hab ich da grundlegende Verständnisprobleme. Warum soll eine
>Netzliste  keine I/O-Ports haben?

Kann man einstelln, dass die nicht automatisch generiert werden. ist 
aber nur selten sinnvoll. Postem mal deinen Code als Anhang.

>Und dann noch eine Frage zu den User-Constraints -  mir ist nicht ganz
>klar, wie und wo man die überhaupt eingibt.

Im UCF, das ist eine Textdatei. Ist aus dem Projektnavigator direkt 
editierbar.

MFG
Falk

von Philip K. (plip)


Lesenswert?

Ich denke ich weiß jetzt woran es liegt. Ich verwende ein 
Wishbone-Syscon, das ich irgendwo im Netz gefunden hab. Darin ist ein 
IBUFG explizit instantiiert. Und ich habe den Takt, mit dem ich den Rest 
meines Systems takte auf den Eingang dieses Syscon gepackt.
Wäre es Murks, den Ausgang des IBUFG einfach aus dem Syscon zu führen 
und damit mein System zu takten? Oder wie mach ich das am besten?

von Bescheidenheit (Gast)


Lesenswert?

< Instruct XST not to add I/O Buffers.

Das ist der übliche Weg. Hast du schon mal XST Optionen gesetzt?
wenn nicht, in der Ise links der Streifen mit den Übersetzungsschritten, 
dort bei synthesis (XST) per maus properties auswählen. Falls da zu 
wenig properties angezeigt werden, irgendwo (Projekt settings(?)) kann 
der User level von Novice? auf Advanced gestellt werden. bei advanced 
kanns du alle optionen setzten, bei novice nur einige.


I/O heisst hier wohl io Pads. Klar kann deine netztliste I/O leitungen 
haben. Xilinx meint aber wohl dass stück im FPGA an dem das 
FPGA-beimchen dranhängt (nennt man Pad oder Pad-cell). Jetzt wird es 
wohl so sein, das durch das automatische Einfügen der Pads(?) in Deinem 
design ein Pad auf ein anderes Pad geschaltet wird, genauer, ein Pad 
ausgang (intern) auf anders Pad dort Eingang (extern) geschaltet wird. 
Sozusagen zwei FPGA eingangs-Beinchen hintereinander. Dat geht aber Net.

von Bescheidenheit (Gast)


Lesenswert?

Ju, das klingt plausibel, zwei IBUFg hintereinander geht eben nicht.
a) schmeiss wie von dir angedacht den IBUFG raus
b) verhindere den automat. erzeugten IBUFG.


Eventuell reicht es den IBUFG zum BUFG umzubenennen,
IBUFG ist m:E. zwei FPGA primitive, das Pad und der Takttreiber BUFG).
den Takttreiber brauchst du un der wird üblicherweise per hand 
eingefügt,
nicht automat..

von Philip K. (plip)


Lesenswert?

Ok, danke!

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.