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
@ 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
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ß
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ß
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
SoftCore != SoftCoreProzessor Ulrich_s schreibt was von Ethernet und SDRAM. Gruß
franke schrieb: > Ulrich_s schreibt was von Ethernet und SDRAM. Ja - und SDRAM/ Ethernet werden i.d.R. von einem Prozessor bedient. Nach SoftCore-Prozessoren wurde zwar nicht direkt gefragt, aber auch nicht direkt ausgeschlossen.
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.
> 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.
Ethernet != TCP/IP. Der IP macht den MAC, daher kann ich einfach Daten von A nach B transportieren, ohne Stack. Gruß
franke schrieb: > Ethernet != TCP/IP. > > Der IP macht den MAC, daher kann ich einfach Daten von A nach B > transportieren, ohne Stack. René sprach von Ethernet Frames, nicht von TCP/IP.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.