Forum: FPGA, VHDL & Co. Shared eMMC (FPGA als zweiter Host)


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von P. K. (pek)


Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen

Ich möchte mein eMMC Flash, welches tipp-topp am S0-Port meines FX3S 
läuft, nun auch vom FPGA aus ansteuern (nicht funktional, sondern für 
den Boundary-Scan, welchen FX3 nicht bietet).

Die Leitungen sind dan im Y, was von der Signalintegrität zumindest 
durchdacht sein muss. Gibt es dazu Literatur, Links, Layout-Guidelines?

Hat das von Euch schon jemand mal gemacht? Dos and Don'ts?

Merci 6 Gruss
Peter

von Bernhard (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ich würde die eMMC an den FPGA hängen und den FX3S an den FPGA.
Damit kann der FPGA auf die eMMC zugreifen wenn die CPU das nicht tut 
(und diese ggf verzögern oder anhalten)

von P. K. (pek)


Bewertung
0 lesenswert
nicht lesenswert
Bernhard schrieb:
> Ich würde die eMMC an den FPGA hängen und den FX3S an den FPGA.

Das geht nicht. der FX3 bootet aus dem eMMC, das FPGA wird später vom 
FX3 über USB und SlaveFifo I/F konfiguriert.

Wie erwähnt will ich vom FPGA auch nicht funktional auf das eMMC 
zugreifen, sondern es geht um Produktionstestbarkeit des eMMC.

von Hmmhmm (Gast)


Bewertung
0 lesenswert
nicht lesenswert
P. K. schrieb:
> Bernhard schrieb:
>> Ich würde die eMMC an den FPGA hängen und den FX3S an den FPGA.
>
> Das geht nicht. der FX3 bootet aus dem eMMC, das FPGA wird später vom
> FX3 über USB und SlaveFifo I/F konfiguriert.
>
> Wie erwähnt will ich vom FPGA auch nicht funktional auf das eMMC
> zugreifen, sondern es geht um Produktionstestbarkeit des eMMC.

Ich halte das für nicht emfehlenswert.
Du musst nämlich sicherstellen:
- Welchen Status die EMMC-Ports des Prozessors haben
- Welchen die des FPGAs
Und das auch im und direkt nach dem Reset. Du muss genau wissen, was der 
EMMC-Block des Prozessors unter allen Betriebsbedingungen tut. Natürlich 
das gleiche für das FPGA.

Wenn du das nicht kannst, treiben die Ports von FPGA und Prozessor dann 
gegeneinander - zumindest wird das die Funktion behindern oder das EMMC 
irgendwie beeintraächtigen (undefinierte Pegel). Oder die Hardware 
zwerstören.
Das könnte man mit Serienwiderstände unterbinden, aber die 
Geschwindigkeit der Schnittstelle verbietet das eher.

Besser wäre eine Software auf deinem Prozessor. Ob das EMMC geht, 
erkennt man eh beim Programmieren des Images, oder?

von Lothar M. (lkmiller) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
P. K. schrieb:
> Wie erwähnt will ich vom FPGA auch nicht funktional auf das eMMC
> zugreifen, sondern es geht um Produktionstestbarkeit des eMMC.
Da würde ich es bestenfalls so probieren:
1
    µC o-----------------o---------------o eMMC
2
                        FPGA

Oder schlimmstenfalls nur mit ganz kurzen Stubs (<10mm):
1
    µC o-----------------.---------------o eMMC
2
                         |
3
                         o
4
                        FPGA

Wenn das FPGA dann die Eingägne hochohmig schaltet, sollte sich die 
Busbeeinflussung in Grenzen halten.

von Hmmhmm (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Lothar M. schrieb:
> Wenn das FPGA dann die Eingägne hochohmig schaltet, sollte sich die
> Busbeeinflussung in Grenzen halten.

Tja, nun, zum Beispiel ist die clockleitung per Default ein DO am 
Prozessor.

Da müsste man schon sicherstellen, dass das im Reset oder was auch immer 
auch NICHT der Fall ist. Wie sollte man sonst per boundary-Scan einen 
Takt ausgeben können, wenn der Prozessor dagegenhält?
Der ist ja nicht Boundary-Scan fähig, daher sind dessen internen Blöcke 
untrennbar kontaktiert.

Der Bus ist einfach so nicht für zwei Master gedacht. Eigentlich nicht 
einmal für zwei Slaves, mangels select.

Ich würde vermuten, dass man sich mit einem derartigen Test viele 
unnötige Probleme einhandelt. Daher wäre mein Vorschlag, das eher in 
einen anderen Testschritt zu verlagern. Oder eine Testsoftware auf dem 
Prozessor zu verwenden.

von Lothar M. (lkmiller) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Hmmhmm schrieb:
> Tja, nun, zum Beispiel ist die clockleitung per Default ein DO am
> Prozessor.
Auch wenn der Prozessor im Reset ist?

von P. K. (pek)


Bewertung
0 lesenswert
nicht lesenswert
Lothar M. schrieb:
> Da würde ich es bestenfalls so probieren:
>   µC o-----------------o---------------o eMMC
>                         FPGA

Schaut bei mir eher so aus:
1
   µC o-----o---------------------------o FPGA
2
           eMMC

Nach all den Antworten, und dem Risiko dass ich die Signal-Integrity 
nicht auf die Reihe kriege, werde ich diese Idee wohl bleiben lassen und 
den TE mit einem Funktionstest belasten.

Merci sowieso!

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]
  • [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.