Forum: FPGA, VHDL & Co. Entwicklung eines Soft-Core Prozessors


von Max (Gast)


Lesenswert?

Guten Tag,
auf der Suche nach einem geeignten Soft-Core Prozessor für ein nun
abgeschlossenes Projekt ist mir aufgefallen, dass es nur eine Hand voll
wirklich brauchbarer Prozessoren im Netz gibt. Nun hab ich mir überlegt
einen eigenen Prozessor zu entwickeln. Da ich das aber keinesfalls
alleine Schaffe dachte ich mir, man könnte das hier doch als Projekt
angehen!

Ein FPGA als Grundlage finde ich nicht schlecht, da diese viel Logik
mit sich bringen und man versuchen könnte einen so einfach wie
möglichen Prozessor zu entwickeln und davon dann mehrere auf einem CHip
unterzubringen (Multiprozessorsystem), wovon ich mir hohe Rechenleistung
versprechen würde. Da FPGA´s ja eigentlich zur parallelen Arbeit
ausgelegt sind, wäre dies glaub ich ein Lohnenswerter Ansatz und man
könnte damit FPGA´s attraktiver machen, wenn es um Soft-Cores geht!

Bin gespannt, was ihr dazu meint!

MfG Max

von Xenu (Gast)


Lesenswert?

Erstens ist es gar nicht so schwer einen Prozessor zu programmieren**,
wenn man ein bisschen Ahnung von Digitaltechnik und VHDL/Verilog hat,
zweitens gibt es sehr wohl brauchbare Prozessoren im Netz,
und drittens kommst Du zu spät:
http://www.mikrocontroller.net/forum/read-9-411815.html

von Max (Gast)


Lesenswert?

Die Art von Prozessor an die ich dachte wäre sicherlich nicht einfach zu
programmiern, da ich erstens an 32bitter und zweitens eher an einen
Virtex FPGA oder vergleichbar dachte!

Jeder Kern sollte über 150Mhz schaffen, damit sich ein FPGA wenigstens
halbwegs lohnt!

MfG Max

von Roger S. (edge)


Lesenswert?

Wenn du dann damit ein Projekt vorwiegend in Software implementieren
willst, dann ist ein FPGA Perlen vor die Saeue.

Falls es dir doch nur um den Lerneffekt gehen sollte, dann muesste dir
den erreichbaren Takt ja egal sein.

Cheers, Roger

von Jürgen Schuhmacher (Gast)


Lesenswert?

Yet another uC-Core. Ich fände es produktiver, ein brauchbares HDL-Set
von vorverarbeitenden Funktionen zu erarbeiten, die tatsächlich
parallel arbeiten, den potentiellen Core entlasten und das Design
wirklich beschleunigen. Ich denke da an automatisierte
Überwachungsfunktionen für Datenströme, die in ucs ständig rödeln und
Zeitverbraten und nur 1% der Zeit wirklich benötigt werden. Für ein
neues Design habe ich eine programmierbare Datenzelle entworfen, die
belibig kaskadier und blockbar ist und an einen Interrauptcontroller
(ebenfalls EIegenentwurf) abgeschlossen werden kann. Der uc kann viele
ständig wichitige Alarm, und Überwachungsfunktionen an das FPGA
auslagern und kriegt nur einen interrupt-vector der Zellen, die
reagieren (Wert erreicht, Wert überschritten, Datenstrom reisst ab,
Datenstrom springt an). Die Vectoren wandern in eine pipelined queue,
damit nichts verloren geht und der uc minimal belastet wird (jeder int
nur einmal abzuarbeiten). Auch machbar ist Datenstromstatistik, wie
Mittelwert, RMS, 10%-90%-Schwellen und die Datenrekonstruktion bei
verlorenen Bits und natürlich die Filterung.

von Xenu (Gast)


Lesenswert?

>Die Art von Prozessor an die ich dachte wäre sicherlich nicht einfach
>zu programmiern, da ich erstens an 32bitter und zweitens eher an
>einenVirtex FPGA oder vergleichbar dachte!

Die Anzahl der Bits sagt an sich gar nichts aus, weil es in VHDL keinen
Unterschied macht, ob ich (31 downto 0) oder (7 downto 0) schreibe.
Ich nehme aber an, was Du damit meinst, sind die üblichen Dinge die man
mit 32-Bittern assoziiert, z.B. eine MMU. Das ist natürlich mehr Arbeit.
So einen Prozessor gibt es aber auch schon: Nennt sich Leon.

>Jeder Kern sollte über 150Mhz schaffen, damit sich ein FPGA
>wenigstens halbwegs lohnt!

Na dann viel Spaß!

von Jürgen Schuhmacher (Gast)


Lesenswert?

Mit Leon meinst Du den, der im Hpe mini steckt, oder?

von Xenu (Gast)


Lesenswert?

Ja genau, da ist ein Leon3 mit dabei.
Das ist ein SPARC-Prozessor, der für die ESA entwickelt wurde.
Den gibt's kostenlos, der steht unter der LGPL. Und weils ein
SPARC ist, gibt's dafür u.a. auch den gcc.

Webseite hier:
http://www.gaisler.com/cms4_5_3/index.php?option=com_content&task=view&id=13&Itemid=53

Einen (vernünftigen) 32-Bitter selber zu entwerfen, halte ich für
Zeitverschwendung. Ausser man ist bereit, auch einen C-Compiler dafür
zu schreiben oder zu portieren. Ich bezweifle dass irgendwer sich für
einen 32-Bitter interessiert, solange es dafür keinen C-Compiler
gibt...

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.