Geteilten Takt als Takt verwenden

OP #5417068
Lesenswert?

Mein FPGA-design erzeugt per PLL ein 100MHz Signal.
Dies möchte ich duch 4 teilen und als 25MHz Takt verwenden.
Ich möchte den 25MHz Takt auch im SDC File angeben, damit
ich das Timing verifizieren kann.

Wenn ich so programmiere:
1
// clk_100: 100MHz Takt von PLL erzeugt
2
// Counter1: Binärzähler
3

4
parameter cntrWidth = 40 ;
5
wire [ cntrWidth-1:0] cntr100 ;
6
Counter1 #( .WIDTH( cntrWidth ) ) CounterA ( clk_100, cntr100 ) ;
7

8
wire clk_25 ;
9
assign clk_25=cntr100[1] ;   // clk_25 ist 25MHz  Takt
10

11
always @(posedge clk_25) begin
12
  .....
13
  end

erhalte ich die Warnung:

Warning (332060): Node: Counter1:CounterA|cntr_o[1] was determined to be 
a clock but was found without an associated clock assignment.

Daraufhin habe ich dem SDC File hinzugefügt:

create_generated_clock -name myClk1 -period 40.0 [get_nets 
Counter1:CounterA|cntr_o[1]]

Das hat aber anscheinend keine Wirkung, die Warnung bleibt bestehen.
Auch die Zeile

create_clock -name clk_25 -period 40.0 [get_pins clk_25]

Führt nicht zum Ziel. Was mache ich falsch? Wie spezifiziere ich
einen Takt der intern erzeugt wird?
(Firma: www.elpra.de) Persönliche Seite #5417158
Lesenswert?

Du solltest die 25 MHz ebenfalls via PLL generieren. In der Regel 
brauchst du dann nicht mal die 25 MHz als Constraint zu spezifizieren, 
die meisten Tools (zumindest der großen Hersteller) leiten das direkt 
ab.

Ich weiß zwar nicht welchen FPGA du hier verwenden willst, jedoch kenne 
ich jetzt spontan keinen bei dem man einfach Logik auf ein Clock Netz 
routen darf.

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