Hallo,
mein aktueller Ansatz ist ein Teil vom Microblaze selbst zu schreiben.
Das hat den Vorteil daß ich einige Tools (zumindest den Assembler)
benutzen kann und nur die Funktionen implementieren muß die
ich wirklich benötige.
Die meisten IP Cores sind leider nur 8 oder 16 bit CPUs,
damit ist es recht umständlich 1MB RAM zu benutzen.
Die 32 bit Cores benötigen leider alle jede Menge Ressoucen,
dazu kommt dann noch die notwendige Peripherie (Busse, IO).
Ich habe schon einige Testprojekte mit dem Microblaze
im Xilinx EDK erstellt.
Dabei habe ich das Problem daß ich zwar im EDK wunderschöne
Basis Systeme erstellen kann,
jedoch diese dann im ISE nicht zusammen mit den restlichen
System Teilen bearbeiten kann.
Wenn ich so ein Basis System im EDK erstelle sehe ich noch
nicht mal wie viele Ressourcen benötigt werden.
Ich möchte gern den 1MB SRAM auf meinem Board als VGA und
gleichzeitig als CPU Memory (Instructionen + Daten) benutzen.
Es gibt zwar im EDK mindestens 1000 verschiedenen Versionen von
OPB, PLB, LMB, FSL, XCL, usw. Buss Systemen, aber wie ich diese so
verbinden kann daß die CPU einen gemeinsamen Instruction und
Daten RAM benutzt und diesen mit dem VGA Controller teilt
habe ich noch nicht herausgefunden.
Als Ergebnis vom EDK bekomme ich dann ca. 20 Files die alle
nur Wrapper für irgendwelche Library Module sind.
In allen vom EDK erstellten Files stehen gleich mehrere Copyrights
von Xilinx und IBM, d.h. man kann so ein Projekt nie veröffentlichen.
Wenn ich das im ISE Webpack erstelle würde ich ganz einfach einen
Adress Decoder für RAM/IO sowie ein enable Flag für den Zugriff
von CPU / VGA benutzen.
Das sind nur wenigen Zeilen VHDL im Vergleich zu den Unmengen
die das EDK dafür produziert.
Wie macht Ihr sowas ?
Erstellt Ihr eure IP Systeme mit dem Xilinx EDK
oder lieber selbst im ISE Webpack ?
Kann man so ein System ohne Sourcen für den Microblaze
und den OPB dann im Modelsim debuggen ?
Andreas