Forum: FPGA, VHDL & Co. Pins stimmen nicht mit Vorgabe aus .ucf überein. Warum?!


von Natalie (Gast)


Lesenswert?

Hi zusammen!

Ich sitze vor einem schier unlösbaren Problem. Leider werden einige der 
im .ucf spezifizierten Pins von ISE 12.4 nicht übernommen, sondern 
anders geroutet. Ich weiß nicht woran das liegen kann, bzw. wie ich die 
Software zur Übernahme der Vorgaben zwingen kann.

Hat jemand von Euch eine Idee? Wäre echt lieb weil ich gerade nicht mehr 
weiter weiß...

von Christian R. (supachris)


Lesenswert?

Poste doch mal die Log-Dateien von Map und PAR. Da steht bestimmt was 
drin dazu.

von Pille (Gast)


Lesenswert?

Da wird es doch sicher eine Warnung zu geben, wenn irgendein Constraint 
nicht übernommen wir.

von Klaus Könner (Gast)


Lesenswert?

Christian R. schrieb:
> Poste doch mal die Log-Dateien von Map und PAR. Da steht bestimmt was
> drin dazu.

Das ucf file wird vom NGDbuild eingelesen. Fehler beim Einlesenen 
sollten also in desen Log-file zu finden sein (meist *.bld). PAR hat nix 
mit dem einlesen der LOC-constraints aus dem ucf zu schaffen und MAP 
baut auf das Ergebniss von ngdbuilt auf.

Options zu NGDbuildfindest du hier: 
http://www.xilinx.com/support/documentation/sw_manuals/xilinx12_1/pp_db_translate_properties.htm

Interessant könnte -r sein, der alle dazu führt das alle LOC-Constraints 
ignoriert werden.

Schreib mal irgendeinen Bockmist in das ucf, wenn die tools nicht 
abbrechen, dann liest er ein anderes ucf als das an dem du editierst.

MfG,

von Georg A. (georga)


Lesenswert?

Ist die Schreibweise auch konsistent, insb. die Vektorschreibweise? Es 
gibt auch eine map-Option (XILINX_MAP_LOCWARN=y), die dazu führt, dass 
im ucf spezifizierte Pins nicht vorhanden sein müssen und nur Warnings 
produzieren. Das kann zum Testen etc. schon sehr praktisch sein, einen 
aber auch übel beissen...

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Georg A. schrieb:
> dass im ucf spezifizierte Pins nicht vorhanden sein müssen
> und nur Warnings produzieren.
Insbesondere, wenn man "Allow Unmatched LOC Constraints" angekreuzt 
hat...

von Klaus Könner (Gast)


Lesenswert?

Lothar Miller schrieb:
>> dass im ucf spezifizierte Pins nicht vorhanden sein müssen
>> und nur Warnings produzieren.
> Insbesondere, wenn man "Allow Unmatched LOC Constraints" angekreuzt
> hat...

Das ist so nicht ganz korrekt. Allow Unmatched LOC Constraints
bezieht sich nicht auf nicht vorhandende PINS, sondern auf nicht 
vorhandene
(bspw. wegoptimiert da (noch) nicht beschaltet) SIGNALE.

Lt. TO gibt es die Signale aber sehr wohl im Schlussdesign, werden aber 
an andere pins geroutet als vorgegeben ("Leider werden einige der
im .ucf spezifizierten Pins von ISE 12.4 nicht übernommen, sondern
anders geroutet.") Das klingt m.E. nicht nach einem "Allow Unmatched LOC 
Constraints" (wegoptimierte IO-Signale).

MfG

von Georg A. (georga)


Lesenswert?

> Das klingt m.E. nicht nach einem "Allow Unmatched LOC
> Constraints" (wegoptimierte IO-Signale).

Doch, wenn die Signale nach der Synthese irgendwie anders heissen und 
die Option an ist. Die im UCF vorgesehenen Pins bleiben für die nicht 
vorhandenen Signale reserviert, die "falsch" Benannten suchen sich einen 
freien Platz...

von Fpgakuechle K. (Gast)


Lesenswert?

Georg A. schrieb:
>> Das klingt m.E. nicht nach einem "Allow Unmatched LOC
>> Constraints" (wegoptimierte IO-Signale).
>
> Doch, wenn die Signale nach der Synthese irgendwie anders heissen und
>  Die im UCF vorgesehenen Pins bleiben für die nicht
> vorhandenen Signale reserviert, die "falsch" Benannten suchen sich einen
> freien Platz...


Ob es solche Signale gibt, die sich selbst einen Stuhl pardon Pin 
genommen habeb kann man aus dem PAR-Report ershen (*.par) ->

   Number of BUFGMUXs                        3 out of 8      37%
   Number of DCMs                            1 out of 4      25%
   Number of External IOBs                 102 out of 173    58%
      Number of LOCed IOBs                 102 out of 102   100%

Die Pins die in der Zeile " Number of LOCed IOBs" an den 100% fehlen, 
sind solche.

Das die Ports der Top_entity nach der Synthese "irgendwie anders 
heissen" ist mir noch nicht untergekommen. Grad mal bei den arrays gibts 
es definierte Umbenennungen. Und das die Pin-Locs für nichtaufgefundene 
Signal automatisch für diese Implementierung als do not use reserviert 
sind, ist mir auch neu. Nach meinen Wissen werden pins nur durch das 
Schlüsselwort PROHIBIT für die anderenen Tools blockiert.
Aber ich lasse mich gern durch Zitate der entsprechenden Passagen in der 
Dok vom Gegenteil überzeugen.

von René D. (Firma: www.dossmatik.de) (dose)


Lesenswert?

Ich hatte auch mal den gleichen Effekt.

Da hatte es geholfen das UCF File mit Remove aus dem Projekt zu 
entfernen.
Und danach wieder mit Add source das File wieder in das Projekt zu 
nehmen.

Dann wurden die Pins richtig zugewiesen.

von Georg A. (georga)


Lesenswert?

Tja, das kommt davon, wenn man diesem ISE-GUI-Horror (seit 14 Jahren 
immer wieder neu, aber dieselbe Sch..sse) vertraut. Ein Makefile und gut 
ist.

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.