Forum: FPGA, VHDL & Co. Lattice: Wann ist ein Signal (Takt) auch ein Clock?


von Sebastian (Gast)


Lesenswert?

Hallo,

ich verwende Neuerdings Lattice Diamond und habe Probleme mit den Clock 
Ressourcen.

Im Spreadsheet View werden mir unter "Clock Ressource" einige 
Clock-Signale angezeigt, aber leider auch einige nicht.

Wann ist denn ein Signal auch ein Clock?

Z.B. habe ich ein Output-Signal aus der EPLLD Komponente namens 
CLKOP_OUT

>PLL : EPLLD port map(
> CLKI => CLK_IN,
> ...
> CLKOP => CLKOP_OUT,
> CLKINTFB => iClkIntFB);

Kommischerweise wird unter "Clock Ressource" iClkIntFB als Clock erkannt 
aber CLKOP_OUT ist nicht aufzufinden...

Oder ist es gar nicht notwendig CLKOP_OUT zu definieren weil es über die 
PLL bereits definiert ist? So würde es von Xilinx kennen aber da ich mir 
nicht sicher bin wollte ich das Signal einfach definieren...

Danke,
Seb

von Lattice User (Gast)


Lesenswert?

Sebastian schrieb:
> Hallo,
>
> ich verwende Neuerdings Lattice Diamond und habe Probleme mit den Clock
> Ressourcen.
>
> Im Spreadsheet View werden mir unter "Clock Ressource" einige
> Clock-Signale angezeigt, aber leider auch einige nicht.
>
> Wann ist denn ein Signal auch ein Clock?
>
> Z.B. habe ich ein Output-Signal aus der EPLLD Komponente namens
> CLKOP_OUT
>
>>PLL : EPLLD port map(
>> CLKI => CLK_IN,
>> ...
>> CLKOP => CLKOP_OUT,
>> CLKINTFB => iClkIntFB);
>
> Kommischerweise wird unter "Clock Ressource" iClkIntFB als Clock erkannt
> aber CLKOP_OUT ist nicht aufzufinden...
>
> Oder ist es gar nicht notwendig CLKOP_OUT zu definieren weil es über die
> PLL bereits definiert ist? So würde es von Xilinx kennen aber da ich mir
> nicht sicher bin wollte ich das Signal einfach definieren...
>
> Danke,
> Seb

Warum verwendest du nicht IPExpress um die PLL aufzusetzen?

Davon abgesehen hultigt Synplify dem McMurphy Prinzip: bei mehreren 
Namem für ein Signal verwende für die Clock immer den, mit dem der 
Benutzer am wenigsten was anfangen kann. Ach ja, und nach der nächsten 
Änderung einen anderen.  (Es gibt das Attribut keep um Namen zu 
erzwingen)

Schau dir den ClockReport nach P&R an, der zeigt alle Clocksignale mit 
tasächlicher Quelle und Verwendung an.

von Sebastian (Gast)


Lesenswert?

Hallo Lattice User,

danke für dein Feedback. Wie verwendet man das Attribut keep?
Im Namen als z.B. statt clk, dann clk_keep oder meinst du "attribute 
syn_keep", aber bei letzterem geht meines Wissens nicht um die 
Namensgebung...

Danke,
Seb

von Schlumpf (Gast)


Lesenswert?

Wenn du in deiner nachfolgenden Schaltung einen Clock gar nicht 
verwendest, dann wird dieser auch nicht auf den Clock-Tree geroutet und 
erscheint somit auch nicht im Floorplanner.
Das Signal wird einfach wegoptimiert.

Könnte das die Ursache sein?

von Sebastian (Gast)


Lesenswert?

Hallo Schlumpf,

nein, den Takt verwende ich ganz sicher. Und zwar mehrmals mit 
rising_edge.

Gruß, Seb

von Lattice User (Gast)


Lesenswert?

Sebastian schrieb:
> Hallo Lattice User,
>
> danke für dein Feedback. Wie verwendet man das Attribut keep?
> Im Namen als z.B. statt clk, dann clk_keep oder meinst du "attribute
> syn_keep", aber bei letzterem geht meines Wissens nicht um die
> Namensgebung...
>

Ich meinte syn_keep, da geht es zwar primär nicht um die Namensgebung, 
hat mit bei Clocks bisher mit einer Ausnahme immer geholfen.
Ich mache es auf dem toplevel signal.

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.