Forum: FPGA, VHDL & Co. custom IP über PLB zu µBlaze?


von olpo (Gast)


Lesenswert?

Hallo,

ich habe einen IPcore, der muss dem Microblaze unbedingt etwas 
mitteilen. :)

Geht das denn, daß der IP über PLB an eine Microblaze-Adresse schreibt?
XPS "Create and Import Peripheral" bietet keine Möglichkeit an den 
eigenen Core zu einem PLB-Master zu machen. Man kann höchstens eine 
Read-Fifo anlegen. Aber kann die auch der Microblaze auslesen?

Welche Möglichkeiten habe ich noch zu µBlaze zu sprechen? Ist FSL die 
richtige Wahl?

Wäre nett, wenn jmd was schreiben könnte.
Das ist mein erstes vollständiges Design und ich kenne mich mit gutem 
Stil nicht aus.
Danke.

von Georg A. (georga)


Lesenswert?

Du hast drei Möglichkeiten:

1) Der Microblaze holt die Daten AKTIV über den PLB aus einem FIFO in 
deinem Device, evtl. aufgeweckt durch einen Interrupt. Dauert halt ein 
paar Taktzyklen pro Wort. Ist an sich das einfachste und sehr portabel 
(alles normale Speicherzugriffe und keine FSL-Extravaganzen).

2) Der Microblaze holt AKTIV die Daten vom FSL, dahinter brauchst du 
auch ein FIFO. Das ganze evtl. aufgeweckt von einen Interrupt. Geht 
etwas schneller als 1, für kontinuierlich hohe Datenraten (mal so übern 
Daumen >1Mbyte/s) aber auch nicht so geeignet, ausser du machst dein 
FIFO sehr gross, damit nichts verloren geht. Insgesamt spart das 
FSL-Interface aber nicht viel, die IRQ-HW braucht man so oder so. Der 
FSL ist eher für ein schnelles Coprozessor-Interface gedacht, also Daten 
schnell hinschreiben und zurücklesen.

3) Dein Device macht selbst DMA-Zugriffe über den PLB. Dazu gibt es 
AFAIR einen DMA-Central-Core oder du machst den PLB-Master selbst (etwas 
mühsam). Ist das effizienteste, erfordert aber etwas Koordinierung im 
Speicher (unter MMU-Linux also einen Treiber, uCLinux bräuchte keinen) 
und das Debugging ist auch nicht ganz so einfach (wenn was schief geht).

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.