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
@ 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
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?
< 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.
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..
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.