Forum: FPGA, VHDL & Co. Zynq Critical Warning Invalid clock redefinition


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Jens D. (jens) Benutzerseite


Lesenswert?

Bei einem Zynq Design habe ich aus einem Clockausgang vom 
processing_system eine neue Clock genutzt, um daraus eine neue mit dem 
Clocking Wizard zu generieren. Nach der Implementierung erhalte ich 
folgende Warnung.
1
TIMING #1 Critical Warning Invalid clock redefinition on a clock tree. The primary clock Zynq_i/clk_wiz_0/inst/clk_in1 is defined downstream of clock clk_fpga_0 and overrides its insertion delay and/or waveform definition

In UG906 wird beschrieben:
1
Resolution:
2
Remove the create_clock constraint on the downstream object and allow the propagation of
3
the upstream clock or create a generated clock referencing the upstream primary clock.

Aber wo wird diese Clock definiert? Ich finde leider kein Property um es 
zu deaktivieren und in meinem Constraint File habe ich diese Clock auch 
nicht definiert.

von DSGV-Violator (Gast)


Lesenswert?

wenn es ein generierter Block ist, dann bringt es gerne sein eigenes 
constraint-file (*.xdc ?) mit. Mal im log-file nach de
m string create_clock suchen-

Als tcl-command kann das irgendwo im Designflow aufgerufen werden, 
eventuell auch vor der Synthese um die Netzlistengenerierun gleich aufs 
timing zu optimiern (-timing_driven)

https://docs.xilinx.com/r/2021.2-English/ug835-vivado-tcl-commands/create_clock

https://www.xilinx.com/publications/prod_mktg/club_vivado/presentation-2015/paris/Xilinx-TimingClosure.pdf

von Jens D. (jens) Benutzerseite


Lesenswert?

DSGV-Violator schrieb:
> wenn es ein generierter Block ist, dann bringt es gerne sein eigenes
> constraint-file (*.xdc ?) mit. Mal im log-file nach de
> m string create_clock suchen-

Ist es, das heißt ich kommentiere von Hand in dem File das constraint 
aus und dann bleibt es so?

Hab es gefunden, auskommentiert und danach war die Warnung weg. Bin da 
etwas verwirrt, weil es diese Option im Vivado selbst nicht gibt.

von DSGV-Violator (Gast)


Lesenswert?

Jens D. schrieb:
> DSGV-Violator schrieb:
>, weil es diese Option im Vivado selbst nicht gibt.

Was meinst du mit "gibt nicht in Vivado?"

Weil es nicht in der GUI "anklickbar"/findbar ist?

Also ich bin es gewöhnt vivado mit scripten (tcl) zu steuern, mit 
scripten kann man dann alles steuern und alle Optionen nutzen.

von Jens D. (jens) Benutzerseite


Lesenswert?

DSGV-Violator schrieb:
> Was meinst du mit "gibt nicht in Vivado?"

genau das meine ich.
Bin noch nicht so tief drin, und habe mit den TCL Scripten bisher nicht 
viel gemacht.
Nachdem Vivado den IP Status aktualisiert hat hat er mir das Constraint 
File wiede zurück geschrieben.

von Jürgen S. (engineer) Benutzerseite


Lesenswert?

Jens D. schrieb:
> ab es gefunden, auskommentiert und danach war die Warnung weg. Bin da
> etwas verwirrt, weil es diese Option im Vivado selbst nicht gibt.
Die Frage wäre eigentlich anders herum, nämlich wer das überzählige CON 
eingesetzt hat.

Hier in dem Fall ist es meistens so, dass das design an der Stelle keine 
PLL hatte, mit dem Wizzard etwas aufgesetzt wurde und dann später eine 
hinein kam.

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.