Anfängerfragen zu SoftCores

OP #2589770
Lesenswert?
• ▲
▼
Hallo,

dies ist mein erster Post hier in diesem Forum ... Möget ihr Nachsicht 
walten lassen ..
Ich arbeite mich mit Verilog ins Thema FPGAs ein, habe ein Spartan 3AN 
Board.
LEDs blinken lassen kann ich schon sehr gut :-)

Ich habe Fragen zu SoftCores, besonders für Ethernet und SDRAM.


Wie installiert man einen SoftCore?

Wie hoch ist die Performance Einbusse wenn man einen SoftCore verwendet? 
Nimmt man in der Regel an, dass der SoftCore schon optimal ist und man 
selbst "sowas" nicht arg viel schneller implementieren kann?

Wie gut sind die OpenCore SoftCores?



Thanks,
Ulrich
#2589791
Lesenswert?
• ▲
▼
@  Ulrich S. (ulrich_s)

>Wie installiert man einen SoftCore?

Er wird wie ein normales VHDL/verilog Modul eingebunden. Nix Wildes.

>Wie hoch ist die Performance Einbusse wenn man einen SoftCore verwendet?

Wieso EInbuße? Der Core hat auf der Zielarchitektur eine bestimmte 
Leistung. Die Logik, die mit ihm verbunden ist, muss das 
berücksichtigen. Logik, die vom Core unabhängig ist, läuft so schnell 
wie eh und je.

>Nimmt man in der Regel an, dass der SoftCore schon optimal ist und man
>selbst "sowas" nicht arg viel schneller implementieren kann?

Kommt drauf an, wer den Core gemacht hat und ob er für eine 
Zieltechnologie optiomiert wirde oder eher ein universeller Core ist, 
der in viele Architekturen direkt eingefügt werden kann.

>Wie gut sind die OpenCore SoftCores?

Keine Ahnung.

MfG
Falk
Gast #2589927
Lesenswert?
• ▲
▼
Im Gegenteil, ein Softcore eines Herstellers für seinen Baustein ist 
schneller als der Code, den du produzierst.

OpenCores ist klasse, habe einige im Einsatz, sind aber natürlich nicht 
Architektur-optimiert.

Gruß
#2590000
Lesenswert?
• ▲
▼
Mann sollte vielleicht noch erwähnen, das Soft-Cores von Herstellern 
meistens nicht so einfach zu erhalten sind.

Typische Beispiele für Soft-Cores sind Mikrocontroller wie PicoBlaze 
oder MicroBlaze welche samt ihren Programmen bei Bedarf in ein FPGA 
integriert werden können. Diese sind nach meinem letzten Wissenstands 
nach nicht frei erhältlich. Man braucht dafür eine spezielles Programm 
von Xilinx, das EDK und das ist teuer.
EDK ist eine Software-Pool, wo auch das von Xilinx verwendete ISE 
enthalten ist.


Gruß
#2590008
Lesenswert?
• ▲
▼
Marco ... schrieb:
> ... wie PicoBlaze ... oder MicroBlaze welche samt ihren Programmen bei
> Bedarf in ein FPGA integriert werden können. Diese sind nach meinem
> letzten Wissenstands nach nicht frei erhältlich.

Der PicoBlaze ist auf jeden Fall frei bei Xilinxs. Selbst der MicroBlaze 
ist seit ISE13.4 in abgespeckter Form (kein externer RAM) als freie IP 
im Core Generator zu finden.

EDIT:
Zum Schreiben der Software für MB braucht es dann aber endweder das SDK 
oder
Eclipse (afaik frei). Beim PicoBlaze reicht im Prinzip der mitgelieferte 
Assembler (KCPSM o.s.ä.) - aber Achtung: unter W7 läuft die Toolchain 
nicht mehr (Ausnahme bildet die PicoBlaze Toolchain für den Spartan 6).

Gruss Uwe
Gast #2590207
Lesenswert?
• ▲
▼
um ehrlich zu sein... keiner was was er will... und genug 
Klugscheißerei,
ich will hier keinen Glaubenskrieg anfangen.

SDRAM und Ethernet in FPGA werden i.d.R nicht an einem Prozessor 
genutzt, weil i.d.R viel zu langsam.
(Firma: www.dossmatik.de) #2590978
Lesenswert?
• ▲
▼
> SDRAM und Ethernet in FPGA werden i.d.R nicht an einem Prozessor
> genutzt, weil i.d.R viel zu langsam.

Ethernet Paktet will ich nicht in VHDL zusammenstellen. Das 
Zusammenstellen von Datenpaketen und Daten Protokolle ist gerade was für 
ein CPU.


Die Sache zum Threadanfang "wie installiert man einen Softcore" zurück.

Die CPU ist in einer Hardwarebeschreibungssprache verdrahtet.
Deinen Software-Code, den die CPU ausführt wird ist in einem RAM-Block 
hinterlegt. Wie der Softwarecode in den RAM hinein kommt hängt von der 
Toolchain ab und unterscheidet sich vom verwendeten Softcore.
Gast #2601015
Lesenswert?
• ▲
▼
Moin,

zum Thema Softcore-Einstieg kann ich die ZPU empfehlen. Es darf geunkt 
werden, dass das Teil nicht besonders performant sei, aber es eignet 
sich prima wenn:

- Geringer Resourcenverbrauch
- Hohe Taktfrequenz
- Debugging-Möglichkeit via JTAG
- Einfacher VHDL-Code und praktische Testbench

ein Thema sind. Es gibt, glaube ich, auch eine Verilog-Implementation.
Würde bisher aber nur für die "Zealot"-Implementation meine Finger ins 
Feuer legen.
Gibt hier im Forum auch ein Beispielprojekt für ein Spartan2-Evalboard, 
einfach mal nach ZPU suchen.

Grüsse,
- Strubi

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