Clock Constraints in cilinx vivado

Gast #5720092
Lesenswert?

Hallo,

Ich versuche nun gerade seit Stunden die Taktrate via vivado Constraints 
zu definieren. Ich habe ein DIGILENT ARTY S7 board. Im Contraint gibt es 
die 100MHz clock definition:
1
set_property -dict { PACKAGE_PIN R2    IOSTANDARD SSTL135 } [get_ports { CLK100MHZ }]; #IO_L12P_T1_MRCC_34 Sch=ddr3_clk[200]
2
create_clock -add -name sys_clk_pin -period 10.000 -waveform {0 5.000}  [get_ports { CLK100MHZ }];

in meiner verilog Beschreibung kann ich nun den Port CLK100MHZ  Nutzen.
Nun möchte ich aber gern, einen 60MHz Takt haben.

ALso hätte ich gedacht man bräuchte nun eine PLL bei der man den 100MHz 
Takt um den Faktor 3 Multipliziert und um den Faktor 5 Teilt.
1
create_generated_clock -divide_by 5 -multiply_by 3 -source [get_ports {CLK100MHZ}]  clk2

WIe müsste der create_generated_clock für 60MHz aussehen?
Gast #5720163
Lesenswert?

vivado_clk schrieb:

> ALso hätte ich gedacht man bräuchte nun eine PLL bei der man den 100MHz
> Takt um den Faktor 3 Multipliziert und um den Faktor 5 Teilt.


Wenn du mit PLL eine interne DCM meinst, brauchst du am eingangspin nix 
anders constrainen, du musst lediglich eine DCM passend generieren und 
instanziieren. Zum Generieren nimmst du am besten den clocking wizard 
aus dem IP Catalog (Siehe snippet im Anhang)

PS: Durch einen Fehler in der Vorschau, ist womöglich das snippet 
doppelt und die Doublette kann nicht entfernt werden.
Angehängte Dateien:
Gast #5720172
Lesenswert?

Danke für die Antwort.

Wenn ich nun versuche den clock wizzard zu laden dann bekomme ich 
komische fehler:
1
create_bd_cell -type ip -vlnv xilinx.com:ip:clk_wiz:6.0 clk_wiz_0
2
FALSE
3
ERROR: [IP_Flow 19-3188] Error occurred while initializing 'pll_clk_wiz_0_0'
4
Tcl error in update procedure while setting value 'MMCM' on the parameter 'PRIMITIVE'. FALSE
5

6
ERROR: [IP_Flow 19-3428] Failed to create Customization object pll_clk_wiz_0_0
7
CRITICAL WARNING: [IP_Flow 19-973] Failed to create IP instance 'pll_clk_wiz_0_0'. Error during customization.
8
ERROR: [BD 41-1712] Create IP failed with errors
9
ERROR: [BD 5-7] Error: running create_bd_cell  -vlnv xilinx.com:ip:clk_wiz:6.0 -type ip -name clk_wiz_0 .
10
ERROR: [Common 17-39] 'create_bd_cell' failed due to earlier errors.
11
endgroup
Gast #5720207
Lesenswert?

Ja nun ich würde es gerne ohne die IP versuchen.

Ich verstehe die OCnstrints syntax noch nicht so ganz. Aber es muss odch 
möglich sein, den vorhanden 100Mhz clock auf 60mhz zu bringen.

ich meine den create:generated_clock gobt es. .. ich verstehe nur noch 
wie man dieses constraint korrekt benutzt.
Gast #5720230
Lesenswert?

vivado_clk schrieb:
> Ja nun ich würde es gerne ohne die IP versuchen.
>
> Ich verstehe die OCnstrints syntax noch nicht so ganz. Aber es muss odch
> möglich sein, den vorhanden 100Mhz clock auf 60mhz zu bringen.
>
> ich meine den create:generated_clock gobt es. .. ich verstehe nur noch
> wie man dieses constraint korrekt benutzt.

Such dir nen Tutorial, mit timingconstraints kann man m.W. noch keine 
Taktgenerierung im FPGA steuern ausser Instanziierung des passenden 
FPGA-Moduls gehts es nicht.

http://users.wpi.edu/~rjduck/MMCM%20Vivado%20example%20VHDL.pdf
Beitrag "Vivado Clocking Wizard Clock-Output funktioniert nicht in Testbench"
#5720248
Lesenswert?

vivado_clk schrieb:
> Aber es muss odch möglich sein, den vorhanden 100Mhz clock auf 60mhz zu
> bringen.

Nein, das geht nicht. Du brauchst zwingend einen MMCM. Den kannst du 
über den Wizzard generieren oder manuell instanziieren, aber das will 
bei sowas eigentlich auch keiner.

Die Constraints sind lediglich dazu da, den Tools zu sagen, worauf sie 
optimieren und prüfen sollen.

Wenn du den MMCM nutzt, macht der IP Generator das für dich, da musst du 
erst mal gar nichts selbst angeben.

Ansonsten gibts auch einen Constraints Wizzard, wenn du das 
synthetisierte oder implementierte Design öffnest.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren