Forum: FPGA, VHDL & Co. keep hierarchy verändert Funktion?


von FPGAküchle (Gast)


Lesenswert?

Hallo miteinander,

ich habe hier ein fremd-design für Spartan2 unter ise8.2 .
Je nach Einstellung der Sytnheseoption von Keep hierarchy (YES|NO)
funzt oder funzt nicht eine designecke. Keep hierarchy=no bewirkt dass
nach der synthese alle subcomponenten zu einer zusammengefasst werden.

Was könnt die ursache sein? Fehler im XST kann ich (fast)
ausschliessen, ich tippe auf fehlende constraints. Hinweise?
Radschläge?

von T.M. (Gast)


Lesenswert?

Also wir müssen das Setting immer auf yes setzen, wegen der part.
Rekonfiguration. Machen das aber mit einem "richtigen" Synthesetool
(Leonardo) ;-) An der Funktion dürfte sich aber nichts ändern.
Höchstens vielleicht an der Platzierung, kannst ja mal versuchen RANGE
Constraints für die Module anzugeben. Mehr als diese Constraints machen
wir auch nicht.

Also:
1. das Modul mit einem AREA_GROUP Constraint mit einem Namen
kennzeichnen
2. RANGE Constraint auf diesen Namen setzen, da einfach ne gewünschte
Fläche des FPGA angeben.

Aber eigentlich dürfte das nur für part. Rek. von belang sein, um zu
verhindern, das die Flächen der statischen / dynamischen Module sich
überschneiden.


T.M.

von Klaus F. (kfalser)


Lesenswert?

Fehler im XST kann man eigentlich nie ausschließen.
Wenn das Design voll sychron ist, dann darf sich mit keep hierarchy
nichts ändern, constraints hin oder her.
Vielleicht ist retiming aktiviert, dann ist es dem Compiler erlaubt die
Logik noch ein bischen mehr durcheinanderzuschütteln.
Ist eine Post-Synthese Simulation zu aufwändig?

Grüße
Klaus

von Kest (Gast)


Lesenswert?

Diese Keep-Hierarchy ist schon eine tückische Sache. Wenn das Design
flackgekloppt wird, kann der Platzierer vieles einfach nicht finden --
Constraints Problem.

Wieso es mal geht, mal nicht, kann ich nicht sagen, wahrscheinlich sind
die Tools doch blöde :-o Habe mal so ein Fall gehabt, wo ein (altes)
Design gar nicht ging (oder nur sporadisch). Erst als ich die
Constraints gelöscht habe und alles dem Platzierer überlassen habe
funktionierte es! Du solltest also versuchen nach und nach die
Constraints löschen, bzw. nur die wichtigsten lassen.

Kest

von FPGAküchle (Gast)


Lesenswert?

So jetzt gehts wieder (mit und ohne hierarchie), ich habe so ziemlich
alles constraint was ging. also den tools die freiheitsgrade genohmen.
Wahrscheinlich sind durch das flachkloppen pfade zwischen verschiedenen
Timinggroups oder aus diesen "gewandert". Vielleicht habe ich auch
zuviele wildcards (*) in den constraints.

Jetzt gehts an die eigentlich Arbeit (30 min vor regulären feierabend
:-( ).

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.