Forum: FPGA, VHDL & Co. Timing Constraints Einfluss Synthese


von Tobi (Gast)


Lesenswert?

Hallo Leute,

ich würde gernde wissen ob und welche Timing constraints die Synthese 
auch beeinflussen?
Ich benutze Xilinx Vivado und man kann bei jeden constraint file anhaken 
ob es für die Synthese und oder für die Implementierung verwendet werden 
soll.
Bisher ist mein Eindruck das es ausreicht den Hacken nur für die 
Implementierung zu setzten.
Meiner Meinung nach sind Timing Constraints( false path ) und Placement 
Constraints (set_property) nur für die Implementierung (also Place & 
Route) relevant. Stimmt das so?

Danke schon mal für eure Antworten

mfg

Tobi

von Weltbester FPGA-Pongo (Gast)


Lesenswert?

Was ist das für eine Frage?

Synthese-Constraints sind natürlich nur zum Spass drin, um Neulinge zu 
verwirren. Erfahrene Profis lassen die einfach weg, dann klappen 
Synthese und Routing viel besser. Probiere es aus.

von Duke Scarring (Gast)


Lesenswert?

Naja, bei Xilinx ISE hatte ich nicht den Eindruck, das XST die 
Constraints tatsächlich berücksichtigt. Aber bei Vivado soll ja alles 
besser sein...

Duke

von Chris (Gast)


Lesenswert?

Moin, Tobi.

Ich kenne mich jetzt leider mit Xilinx-Tools nicht so gut aus,
daher Vorsicht mit meiner Aussage.
Ein gutes/fortgeschrittenes FPGA-Tool (Fimen wie Xilinx, Altera und 
Synopsys sind für gute Tools bekannt) nutzt Timing-Constraints schon bei 
dem ersten Synthese-Schritt aus, um Logik-Einheiten mit unkritischem 
Timing weniger Ressourcen zuzuteilen und die guten/meisten Ressourcen 
dann für kritische Logikteile aufzusparen.
Ich benutze zB. eine kastrierte Synplify-Version für die Synthese (also 
das vor Place und Route). Die liefert unterschiedliche Ergebnisse, wenn 
ich ihr Timing-Constraints gebe oder sie weglasse.

Grüße, Chris

von Berti (Gast)


Lesenswert?

Chris schrieb:
> um Logik-Einheiten mit unkritischem
> Timing weniger Ressourcen zuzuteilen und die guten/meisten Ressourcen
> dann für kritische Logikteile aufzusparen.

Was sind denn solche "guten Resourcen" und "kritische Lögikteile"?

von Duke Scarring (Gast)


Lesenswert?

Berti schrieb:
> Was sind denn solche "guten Resourcen" und "kritische Lögikteile"?
Gute Ressourcen sind die, die zuerst ausgehen: BRAMs oder DPS-Blöcke.
Die kritische Logikteile sind da, wo das Timing zu eng ist.
Da geht dann jede Synthese anders aus...

Duke

von Tobi (Gast)


Lesenswert?

Ok danke für die Antworten,

mir ist einfach nur aufgefallen, dass wenn ich ein timing constraint 
schreibe, das Resultat immer das gleiche ist, egal ob ich das consraint 
nur für die implementierung oder für beides einstelle.
Von da an hab ich jedes Timing/Debug Constraint immer nur für die 
Implementierung angehackt.
Jetzt wollte ich nur mal fragen ob das gut so ist?

mfg

Tobi

von Michael W. (Gast)


Lesenswert?

1) anhacken -> anhaken!

2) Es gibt constraints, die nur bei der IMPL wichtig sind und umgekehrt. 
Dann macht es keinen Sinn, sie in zwei files zu haben oder sie auf 
andere Bereiche anzuwenden

3) Es gibt welche, die für beide Bereiche wichtig sind. die müssen mit 
einem Haken (nicht Hacken) versehen werden.

Siehe constraint guide

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.