DE0-Nano SD-IP(Opencore) Wishbone

Gast #2924834
Lesenswert?

Hallo miteinander,

ich bin noch relativ neu in der FPGA Welt und versuche mich gerade in 
der Verwendung von SD-Karten mit dem DE0-Nano-Board von Terasic:
http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=139&No=593&PartNo=1

Ein erstes NIOSIIe ist bereits 
aufgesetzt(Taster,LEDs,UART,SPI,SDRAM,Flash).

Die SD-Karte wird momentan über SPI angebunden. Zusätzlich verwende ich 
das PetitFAT von Elm Chan. Das funktioniert auch alles soweit.

Nun möchte ich allerdings etwas mehr "Bums" und würde dazu gerne den SD 
Core von Opencores verwenden, da er den 4-Bit Modus verwendet und 
wahrscheinlich nicht soviel Laufzeit des NIOS frisst (da in HW):
http://opencores.org/project,sdcard_mass_storage_controller

Leider überfordert mich das gerade etwas :-)

Gibt es irgendein Dokument (oder einen willigen Leser) das/der mir 
erklärt wie ich die Verilog-Files einbinden muss, wie ich den Wishbone 
des Cores mit dem Avalon des FPGA verbinde?

Vllt. hat das auch schon jemand mal gemacht und ich könnte da etwas 
abspicken?
Oder hat jemand nen Link wo ich mir etwas anlesen kann?

Grüße und danke für eure Unterstützung.
Blue
Gast #2924867
Lesenswert?

Marius Wensing schrieb:
> 1. Für die Konvertierung von Wishbone <-> Avalon steht hier was:
> http://en.wikipedia.org/wiki/Wishbone_%28computer_bus%29

Ah, super...sowas hatte ich schon gesucht. Scheint also eine einfache 
"Umverdrahtung" zu werden.

Marius Wensing schrieb:
> 2. Verilog-Files kannst du ganz einfach in dein Quartus-Projekt
> hinzufügen. Du musst dir dann nur eine passende Component-Deklaration
> schreiben, damit du das Modul in VHDL nutzen kannst.

Ich importiere Sie mir also ins Projekt, bastle mir irgendwie ein 
Schematic draus, erstelle in Qsys/SOPC eine Avalon-Master und verknödle 
das dann in meinem Schematic?
Sehe ich das richtig?
(Zusätzlich natürlich noch die Pins im Pinplaner nach außen führen).

Grüße und Danke für die schnelle Hilfe.
Blue
#2924899
Lesenswert?

Bastel dir einfach ein "Verdrahtungs"-Modul, das die Wishbone<->Avalon 
Verbindung übernimmt. Das Modul baust du dann mit allen Submodulen in 
Qsys als neue Komponente ein.

MfG
Marius

EDIT: Schematic brauchst du dafür nicht. Lass dir einfach vom Quartus ne 
Component-Instantiation draus basteln. Geht unter File - Create / Update 
- Create VHDL Component Declaration Files for Current File.
Gast #2925646
Lesenswert?

DE0 nano hat doch gar keinen SD-Kartenslot? :-o

Davon mal abgesehen: bei alteraforum.com in den Untiefen von 
University-IPs gibt es irgendwo einen fertigen SD-Controller (von 
Opensource aber mit AVALON-Bus). Dazu gab es auch Sourcen und Beispiele. 
Einfacher habe ich noch nie SD-Karte in Betrieb genommen.

Kest
Gast #2925806
Lesenswert?

Kest schrieb:
> DE0 nano hat doch gar keinen SD-Kartenslot? :-o

Es hat aber sehr viele freie IOs ;-)

Kest schrieb:
> Davon mal abgesehen: bei alteraforum.com in den Untiefen von
> University-IPs gibt es irgendwo einen fertigen SD-Controller (von
> Opensource aber mit AVALON-Bus). Dazu gab es auch Sourcen und Beispiele.
> Einfacher habe ich noch nie SD-Karte in Betrieb genommen.

Danke für den Tipp. Muss ich mir dann unbedingt mal anschauen [1].
Wobei ich den Opencore trotzdem noch weiterverfolgen möchte.
Wenn mans einmal gemacht hat, stehen einem halt ziemlich viele 
kostenlose IP-Cores zu verfügung.

Wenn ich was zum laufen bekommen habe melde ich mich wieder...oder wenn 
ich vor Verzweiflung nicht mehr weiter komme.

Grüße
Blue

[1]: 
ftp://ftp.altera.com/up/pub/University_Program_IP_Cores/90/altera_up_ava 
lon_sd_card_interface.zip
Gast #2926444
Lesenswert?

Kann mir doch nochmal jemand weiterhelfen?

Ich hab mal in die Avalon Spec[1] reingeschaut, werde aber nicht so 
richtig schlau.

Was für ein Avalon Interface muss ich denn im Qsys einfügen.
Ich brauche ja für den SD Core von Opencores einen Wishbone Master und 
einen Wishbone Slave und den kann ich dann durch das richtige verbinden 
mit dem Avalon zusammen tüdeln.
Auf S.15 ist auch ein Blockschaltbild wo sie Custom-Logic verbinden, was 
ja bei mir mit dem SD Core der Fall sein dürfte.

Nur welchen Avalon-Master/Slave muss ich im Qsys nehmen?

Bridges-->Mermory Mapped --> Avalon-MM Tristate Bridge ?
Qsys Interconnect --> Memory-Mapped --> Avalon-MM Slave Agent/Translator 
?

Vllt. eine dumme Frage, aber für mich als Anfänger nicht so richtig zu 
durchschauen.


Grüße
Blue

[1]: www.altera.com/literature/manual/mnl_avalon_spec.pdf
Gast #2926704
Lesenswert?

Marius Wensing schrieb:
> Du musst dir in Qsys eine neue Komponente erstellen, die ein
> Avalon-Slave-Interface zur Verfügung stellt. Dann kannst du die wie alle
> anderen Komponenten an deinen NIOS anbinden.
>
> Gruß
> Marius

Danke Marius. Werde es morgen probieren.
Ich dachte es würde evtl. ein fertiges Modul geben.

Grüße
Blue

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren