mikrocontroller.net

Forum: FPGA, VHDL & Co. Übertragung von Daten über 2 Taktdomänen beim System Generator


Autor: amin (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich möchte Daten von einem 65MHz Core zu einem 100MHz Core übertragen. 
Der laut der Beschreibung vom System Generator, soll das mit Registern 
und FIFOs gehen. Jedoch bekomme ich grundsätzlich kein Signal an der 
Empfängerseite.

Im Anhang findet Ihr die mdl Files von einem Test.

Zur Erklärung der Sender läuft mit 65MHz und der Empfänger mit 100MHz.
Ich exportiere jedes dieser Testfiles zur EDK als Eigenen-Core, welche 
ich dann dort mit dem jeweiligen Takt takte.

Muss man eventuell in der EDK noch etwas wegen den "shared Memorys" 
einstellen ?
Oder hat jemand sonst eine Idee wo mein Fehler liegt.

Vielen Dank im Voraus

amin

Autor: amin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo nochmal,

ich habe inzwischen noch ein paar Tests gemacht. Zum einen habe ich 
versucht ob die Übertragung überhaupt funktioniert, wenn sender und 
empfänger beide auf 100MHz sind. Was leider auch nicht funktionierte.
Jedoch funktioniert die Übertragung wenn sender un Empänger auf dem 
selben Core sind.

Zudem habe ich das Full Signal ausgelsen, was auf Senderseite nach 
kurzer Zeit kommt, aber auf Empfängerseite bleibt der FIFO leer.

Sprich wie vermutet, liesst der FIFO auf der Empängerseite den Shared 
Memory nicht aus.

Hat jemand eine Idee woran das liegen könnte ?

Autor: amin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also meine Vermutung ist, dass man in der EDK die Shared Memory Namen 
der verschiedenen Cores verküpfen muss.
Jedoch finde ich grundsätzlich nur Informationen dazu, wie man so ein 
Shared Memory in C für den MicroBlaze auslesen kann.

Kann mir da keiner weiterhelfen, wie ich so einen SharedMemory in der 
EDK oder SystemGenerator von verschiedenen Cores verknüfen kann ?

Autor: amin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo noch mal,

ich habe gerade etwas im FAQ von Xilinx gefunden:
http://www.xilinx.com/support/answers/24290.htm

Und ich beürchte nun fast, das man den die Fifos/Register gar nicht über 
mehr als einen Core nutzen kann.

Eventuell muss ich wohl doch auf dieses Multiple Subsystem umsteigen.

Autor: amin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
falls jemand später mal das gleiche Problem haben sollte hier mal der 
aktuelle Stand der Dinge:

Bei einer Anfrage an XILINX habe ich den weg über den MicroBlaze als 
Lösungsansatz bekommen [vgl. sysgen_user.pdf s. 155].
Jedoch kommt das für meinen Fall nicht in Frage, da der MicroBlaze das 
ganze zu sehr ausbremsen würde.
Da ich nunmal kontinuierlich mit 65MHz 32Bit schreiben will und diese 
dann mit 100MHz auslesen möchte. Da würde der MicroBlaze wohl nicht 
mitkommen, es sei denn man würde ihn extrem hoch takten.

Autor: amin (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

hab mir jetzt einen Woraround für das Problem gebastelt.
Eventuell etwas überdimensoniert, aber eine andere sinnvolle Lösung habe 
ich nicht gesehen.

Und zwar habe ich jetzt die Ausgänge des 65MHz Cores direkt mit den 
Eingängen des 100MHz Cores verbunden. Damit es jedoch nicht zur 
Fehlabtastung kommt, geht das ganze im 100MHz in ein Dual Port RAM.

Am Oszi sieht das ganze genau so aus wie´s sein soll und scheint daher 
als LÖsung ganz brauchbar zu sein.

Wer Lust hat (oder das gleiche Problem hat) kann sich meine mdl 
Workaround-Testfiles anschauen (siehe Anhang).

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.