Entwicklung eines Soft-Core Prozessors

Gast #418332
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
Gast #418334
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
Gast #418336
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.
Gast #418337
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ß!
Gast #418339
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...

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