Forum: FPGA, VHDL & Co. TimeQuest & SPI-IP-Core


von Matthias G. (mgottke)


Angehängte Dateien:

Lesenswert?

Ich stehe zur Zeit auf dem Schlauch und bekomme einfach das Timing 
Constrain für einen einfachen SPI Core nicht gebacken:

Mein Test-Design:
Einen Takteingang (clk_in) mit 50MHz. Gefolgt von einer PLL die daraus 
einen clk_cpu von 90MHz erzeugt. Im SOPC-Builder ein Nios und ein SPI 
IP-Core. Der Core ist so eingestellt dass der SPI-Takt 15MHz beträgt. 
Daher: Der SPI-Takt ist 1/6 des CPU-Taktes (=IP-Core Takt). Ich benutzen 
am SPI nur die Ausgänge. MISO ist unbenutzt (konstant Low) und benötigt 
daher kein Constraining.

Nun werden alle SPI-Signale (SPI-Takt, MOSI und CS) vom CPU-Takt 
abgeleitet. Alle Ausgänge kommen aus einem FF das vom CPU-Takt getaktet 
wird. Daher: Der SPI-Takt ist nicht der Takt für das MOSI und daher 
nicht der Taktgeber für das Schieberegister.

Im Anhang ist nun mein Grundlegendes sdc-File. Daraus wird näheres 
ersichtlich. Kann mit da jemand helfen?

Und hier noch die Reportaufrufe dazu:
1
report_timing \
2
   -from_clock clk_cpu \
3
   -to_clock clk_spi_out \
4
   -setup \
5
   -npaths 20 -detail path_and_clock \
6
   -panel_name {Display | SPI Timing | setup}
7
8
report_timing \
9
   -from_clock clk_cpu \
10
   -to_clock clk_spi_out \
11
   -hold  \
12
   -npaths 20 -detail path_and_clock \
13
   -panel_name {Display | SPI Timing | hold}

von Matthias G. (mgottke)


Lesenswert?

Gibt es hier keine Altera-User, die so was schon mal gemacht haben?

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.