Besten Dank für die Antworten!!!
Andi Z. schrieb:
> ich habe festgestellt, dass dieses delay grösstenteils aus einer
> zusammenschaltung von kombinatorik kommt. je länger der kombinatorische
> pfad is desto mehr delay hast du.
Du meinst hier wahrscheinlich das reale Delay im Signal. Diese 5.0 ns 
sind aber ein Delay-Constraint, also eine Einschränkung, die sich das 
Tool vorgibt und der die Signale aller Pfade nach dem Place and Route 
genügen müssen. So verstehe ich das.
Andi Z. schrieb:
> wenn das ein unkritischer pfad ist dann kannst du ihn aus dieser
> timing-synthese nehmen und er wird nicht geprüft. das mach ich bei mir
> bei solchen pfaden, bei denen ich mir sicher bin das die signale zur
> zeit des eintaktens auf jedenfall anliegen.
> Design Planner -> Spreadsheed View -> Block.
> dort kannst du die signale auswählen die unkritisch sind.
Und wie kann man von einem Signal sicher wissen, dass es zum Zeit des 
Eintaktens auf jeden Fall anliegt. Ist nicht gerade das die Aufgabe 
dieser automatischen Timing-Analyse, zu prüfen ob die Signale zur 
richtigen Zeit anliegen und zu melden, wenn das nicht der Fall ist. Ich 
habe in dem oben erwähnten Tutorial gesehen, dass asynchrone Signale 
(z.B. asynch. Reset) in dieser Block-Preference aus der Timing-Analyse 
ausgeschlossen werden sollen, weil sie ja vom Takt unabhängig sind.
Klaus Falser schrieb:
> Wenn Du nun vom Ausgang eines FFs das mit fallender Flanke arbeitet
> spi_master_c/n_status_2  (from pll_clock -)
>
> auf ein Signale geführt, das mit steigender Flanke arbeitet
> spi_master_c_MOSI_MASTERio  (to pll_clock +)
>
> --> dann hast Du 5 ns constraint.
Das klingt ziemlich einleuchtend! Die Zeichen +/- bei pll_clock bedeuten 
also, steigende/fallende Flanke. Und ich habe gerätselt, wie ich das 
verstehen soll. Eigentlich arbeite ich in diesem Design nur mit 
steigenden Flanken, darum verstehe ich nicht warum die syntetisierte 
Schaltung FF mit fallender Flanke verwendet. Ich verwende allerdings 
Reference Disigns von Lattice und die habe ich mir nicht sehr gründlich 
durchgeschaut. Normal muss das doch immer im Code zu finden sein, wenn 
irgend wo FFs verwendet werden, die mit fallender Flanke getaktet sind, 
oder? Oder kann das auch sonst wie zustande kommen?