Dass sind ja gleich ganz viele Fragen auf ein mal :-)
Mal sehen ob ich alles beantworten kann:
> - nach der Synthese, Map, Palce&Route werden Reports erstellt, worauf
> muss ich da achetn? welche wichtige Infos stecken dort(die ich prüfen
> muss!)? alles durchlesen?
Die wichtigsten Sachen zum genau durchlesen sind aus meiner Sicht:
- Die Warnungen von der Synthese. Auf viele Design Probleme wirst du
hier schon hingewiesen. Warnungen wirst du so gut wie immer haben, du
musst dann herausfinden ob das so gewünscht ist oder ob das ein Problem
darstellt.
- Unter "Analysis Report" den "Place&Route Trace", diesen musst du im
"Process" Baum zusätzlich aktivieren. Dieser Report gibt dir Auskunft
über die kritischen Pfade, also welche Logikteile verantwortlich sind
für die erreichbare Taktfrequenz.
> - Bei "Strategies" gibt es bei "Timing" das Feld "Frequency(MHZ)" muss
> man hier die Systemfrequenz eintragen? oder irgendeine höhere?
> (Lattice => Diamond)
Die Frequenz die du hier einträgst wird vom Symplify für die optimierung
der Synthese benutzt. Diese Einstellung ist also unabhängig von den
Regeln die du im Constraints File definierst (Die werden vom Place&Route
beachtet).
Diese Frequenz sollte also gleich oder grösser der Zielfrequenz sein.
Ist sicher nicht verkehrt hier etwas aufzurunden damit der Place&Route
etwas mehr Luft hat. Also bei dir mit der PLL z. B. 70 oder 80 MHz.
> - Noch eine Frage:
> ich benutze eine PLL um meine Systemclock zu verdoppeln (32.768Mhz =>
> 65.536Mhz)
> PLL wird durch IPExpress erstellt, und als Componnent benutzt:
>
> Nach der Synthese bekomme ich die Warnungen, was heißt es genau?
>
> - Blackbox EPLLD1 is missing a user supplied timing model. This may have
> a negative effect on timing analysis and optimizations (Quality of
> Results)
Dies stellt kein Problem dar. Wichtig ist, dass bei der PLL der
Synthesizer alle Taktfrequenzen kennt um zu Prüfen ob das Design korrekt
ist (siehe nächsten Punkt).
Der Simulator besitzt ein korrektes Timing Model der PLL, Probleme
können also in der Post-Route Simulation entdeckt werden.
> - @W: MT420 |Found inferred clock SysPLL|CLKOP_inferred_clock with
> period 5.00ns. A user-defined clock should be declared on object
> "n:PLL_CONTROLLER.CLKOP"
CLKOP ist der Ausgang der PLL. Der Synthesizer erkennt dieses Signal
richtigerweise als Taktsignal in deinem System.
Damit der Synthesizer weiss, wie hoch die Frequenz dieses Signals ist,
muss du ein "Synthesis Constraints" File anlegen (In Diamond als Eintrag
in der "Files List"), das wird dann vom Synplify benutzt.
Du kannst die Einträge da entweder von Hand selber Schreiben oder den
Synplifie aus Diamond starten (In der Toolbar das Synplify Logo
anklicken), dann kannst du in der Synplifie GUI ähnlich wie in Diamond
die Regeln zuweisen zu den erkannten Taktsignalen.
Beispiel Eintrag aus einer *.sdc Datei:
1 | define_clock {n:RefBus.FrequencyDivider.PLL.CLKOP} -name {n:RefBus.FrequencyDivider.PLL.CLKOP} -freq 150 -clockgroup default_clkgroup_3
|
Für den PLL Ausgang wird hier eine Frequenz von 150 MHz definiert.
Grüsse
Christoph