Forum: FPGA, VHDL & Co. Xilinx-Warnung unklar


von Gast111 (Gast)


Lesenswert?

Hallo,

ich habe ein etwas komplexeres Firmwaredesign. Durch eine kleine 
Änderung in einem VHDL-Modul bekomme ich nun folgende Warnung beim 
Mapping:

Pack:266 - The function generator touchctrl/tp_dout_mux0000<0>21 failed 
to merge with F5 multiplexer touchctrl/tp_dout_mux0000<1>1181_f5.  There 
is a conflict for the FXMUX.  The design will exhibit suboptimal timing.

Meine Timing-Constraints werden zwar erfüllt und somit stellt das Ganze 
kein wirkliches Problem dar, aber ich würde trotzdem gerne wissen woher 
das kommt und wie ich das "beheben" kann.

Den VHDL-Code darf ich leider nicht veröffentlichen. Mir ist klar, dass 
die Antwort ein wenig schwierig ist, aber evt hat ja jemand einen Tipp 
parat.

Die Xilinx-Seite hat leider keine passende Antwort.

Gruß... Gast111.

von Uwe Bonnes (Gast)


Lesenswert?

Ist das "blankes" Verilog, oder hast Du den Code so geschrieben, das 
genau Elemente der CLB angesprochen werden. Die Meldung sieht mir nach 
letzteren aus.

von Gast111 (Gast)


Lesenswert?

Entschuldigung, dass ich ein wenig arg ungenau war. Das Ganze ist in 
VHDL geschrieben, ohne irgendwelche Constraints (außer Timing und 
Pinassignments). Also keinerlei manuelle Zuweisungen von CLBs, Slices, 
MUXs,.... Zieplattform ist ein Spartan3-400 bzw -1500.
Das Modul besteht im Wesentlichen aus einer mittelgroßen Statemachine, 
in die ich nachträglich noch zwei States eingefügt habe.
Evt. muss ich wirklich mal mit dem FPGA Editor rangehen und das ganze 
rausfummeln. Ich habe gehofft, dass evt hier jemand schon etwas 
ähnliches hatte und einen Tipp parat hat in welche Richtung ich schauen 
muss.

von Duke Scarring (Gast)


Lesenswert?

@Gast111:

Wenn Deine Timing-Constraints erfüllt werden, dann ignoriere die 
Warnung. Vielleicht fügst Du irgendwann noch ein/zwei States zu 
"touchctrl/tp_dout" hinzu und dann passt es wieder.

Es lohnt nur wenigen Fällen, das Design auf die Ressourcen zu 
optimieren. Z.B. dann, wenn die Ressourcen knapp werden und man nicht 
mal schnell einen größeren FPGA einsetzen kann.

Duke

P.S.: Das soll kein Aufruf sein um suboptimalen Code zu schreiben.

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.