www.mikrocontroller.net

Forum: FPGA, VHDL & Co. CLK-Delay kompensieren


Autor: Thomas Pototschnig (pototschnig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich beschäftige mich gerade mit den Überlegungen, wie man einen ARM7 
(z.B. SAM7SE512) an ein FPGA über den static memory controller anbindet.

Die Timings im Datenblatt geben die Signale für den Speicherzugriff alle 
in Abhängigkeit des Master-Clocks MCK an, den man aber von außen nicht 
bekommt. Laut dem at91.com-Forum kann man den SDRAM-Clock SDCK 
missbrauchen, der folgende Parameter hat:
(1) Symbol   | (2) Parameter                   | (3) Minimum | (4) Maximum |
(1) SDRAMCxx | (2) MCK Rising to SDCK Rising   | (3) 5.381   | (4) 8.038   |
(1) SDRAMCxx | (2) MCK Falling to SDCK Falling | (3) 4.832   | (4) 7.219   | 

Wenn ich das richtig verstehe, dann kommt der SDCK um 5 bis 8ns zuspät. 
Kann man über Constraints (z.B. Altera oder Xilinx) beim 
Synthesewerkzeug einstellen, dass bestimmte Signale verzögert werden, 
bzw dem Werkzeug mitteilen, dass das CLK-Signal später kommt?

Für Hilfe wäre ich sehr dankbar :-)

Mfg
Thomas Pototschnig

Autor: Kest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aber klar kann man das einstellen.

Am einfachsten ist aber (z.B. bei Altera), die Clock um eine bestimmte 
Phase zu schieben (mittels PLL und dank MegaWizzard ist es ein 
Kinderspiel). Ab da behandeltst Du alle Deine Signale als Synchrone 
Signale und musst Dich um nichts mehr kümmern :-)


Grüße,

Kest

Autor: Thomas Pototschnig (pototschnig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kest wrote:
> Aber klar kann man das einstellen.
>
> Am einfachsten ist aber (z.B. bei Altera), die Clock um eine bestimmte
> Phase zu schieben (mittels PLL und dank MegaWizzard ist es ein
> Kinderspiel). Ab da behandeltst Du alle Deine Signale als Synchrone
> Signale und musst Dich um nichts mehr kümmern :-)

Danke für den Tipp, das werd ich mir später mal ankucken. Jo, genau das 
ist der Sinn, weil ich dann keine asynchronen Signale mehr vom memory 
controller kriege und alles viel einfacher wird :-)

Mfg
Thomas Pototschnig

Autor: Captain Jumbo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Geht das wirklich über Constraints ?
Die SetupTime (Pin Input) regelt doch die MAXIMALE Dauer. Mir wäre nicht 
bewusst, daß man damit eine MINIMALE Verzögerung einstellen könnte, die 
die Synthese dann faktisch erzeugt! Man kann doch nur die Input Delay 
Stufen nutzen und einige ns schinden.

Was spricht denn gegen ein saubere Lösung mit einem Eintakten der 
Signale mit 6ns = 160 MHz ? Dann erwischt man die Flanke doch in jedem 
Fall, oder ?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.