Gratis 8/16-Bit Softcore Prozessor

Gast #1805154
Lesenswert?

Hallo allerseits

Ich habe soeben meinen neusten Softcore Prozessor namens Proteus gratis 
zum Download zur Verfügung gestellt.

Der Prozessor ist über 23 Generics stark konfigurierbar (z.B. lassen 
sich Instruktionen ein-/ausschalten, die Wortbreite lässt sich ändern, 
die Anzahl der GP-Register ist einstellbar etc.). Er unterstützt auch 
Benutzerdefinierte Instruktionen und es gibt einen passenden Assembler 
sowie eine Builder Software (momentan nicht gratis).

Der Prozessor hat ein separates Instruktions und Dateninterface, beide 
sind Wishbone kompatibel.

Wer interesse hat kann sich den Proteus Prozessor hier herunterladen:

http://www.logicsolutions.ch/Download.htm

Für Fragen stehe ich gerne zur Verfügung, die e-mail findet Ihr auch auf 
meiner Homepage.

Gruss

Oli
#1805203
Lesenswert?

Hallo Oliver,

das sieht alles sehr interessant aus - ich bin seit längeren auf der 
Suche nach einem 8-Bit Core für meinen Spartan 3E. Es gibt ja 
anscheinend doch schon ein paar ...
Das Problem mit allen bisher gefundenen ist die Einschränkung auf 1024 
Befehle. Warum ist das eigentlich so ? (Bin allerdings kein 
VHDL-Experte)

Gruss Uwe
Gast #1805214
Lesenswert?

Wohl weil ein Blockram 18kBit gross ist und eine Instruktion 
üblicherweise 18 oder 16 Bit breit. Das ergibt dann 1k Instruktionen.
Bei Proteus kannst du bis zu 64k Instruktionen ausführen. Hier gibt es 
diese Beschränkung also nicht.
Gast #1805476
Lesenswert?

Es ist praktisch kein Aufwand mehrere Blöcke zu verwenden. Aber man muss 
dann auch die Instruktionen für entsprechend lange Programmsprünge zur 
Verfügung stellen. Hat man eine 18-Bit Instruktion wird es sehr schwer 
z.b. Sprünge über einen 14-Bit Adressraum in den Instruktionssatz 
einzufügen. Deshalb beschränken sich viele auf einen RAM Block (1k 
instruktionen).

Ich habe beim Design von Proteus selbst gsehen, dass es nicht einfach 
ist lange Programmsprünge in einen 16-Bit Instruktionssatz zu kriegen...
#1805657
Lesenswert?

Danke für dein Feedback, Oliver.
Ist vielleicht ein naiver Gedanke von mir, aber könnte man den 
Adressdecoder nicht mit einer gewissen Eigenintelligenz ausstatten, so 
das der zusätzliche Adress-Verwaltungsaufwand sich nicht auf die 
Instruktionen auswirkt ? (wie gesagt, bin in Sachen 
Hardware-Programmierung ein Newbie)
Gast #1805771
Lesenswert?

Uwe N. schrieb:
> Danke für dein Feedback, Oliver.
> Ist vielleicht ein naiver Gedanke von mir, aber könnte man den
> Adressdecoder nicht mit einer gewissen Eigenintelligenz ausstatten, so
> das der zusätzliche Adress-Verwaltungsaufwand sich nicht auf die
> Instruktionen auswirkt ? (wie gesagt, bin in Sachen
> Hardware-Programmierung ein Newbie)

Bei den größeren 8Bit PICs gabs da mal 1-2 Bank-Bits, die bei Sprüngen 
gesetzt/gelöscht wurden, je nachdem in welche Bank man springen wollte.

Sowas kann der Assembler normalerweise alleine erledigen und solang man 
innerhalb einer Bank bleibt, braucht man auch nichts setzen/löschen.

Vermutlich könnte man sowas sogar nachträglich recht einfach in einen 
solchen Softcore integrieren.

Grüße,
Steuerbert
Moderator (Firma: Titel) Persönliche Seite #1805781
Lesenswert?

Steuerbert schrieb:
> Bei den größeren 8Bit PICs gabs da mal 1-2 Bank-Bits
Jaja, das haben schon viele angefangen. Trotzdem ist dieses 
Bank-Switching einfach nur hingebastelter Murks.

> Vermutlich könnte man sowas sogar nachträglich recht einfach in einen
> solchen Softcore integrieren.
Da wäre dann aber die generelle Verbreiterung des Adressbusses weit 
sinnvoller. Ein relativer Sprung ist davon nicht betroffen, für einen 
absoluten Sprung könnte es 2 verschiedene Reichweiten geben (so gesehen 
beim AVR mit ajmp und ljmp)...
Gast #1806460
Lesenswert?

So ähnlich macht Proteus das auch. Es gibt relative Sprünge und für 
Absolute Sprünge über eine Sektorgrenze hinweg werden zwei Instruktionen 
benötigt (eine für das Setzen eines Hilfsregisters und eine für den 
Sprung, diese Aufteilung bleibt aber vor dem Programmierer Verborgen und 
wird vom ASsembler übernommen).

Gruss Oli
Gast #1806462
Lesenswert?

@Jens

Welche Schululngsunterlagen? Die Architekturbeschreibung, der Sourcecode 
und alle Tools (bis auf den Builder) sind frei erhältlich und du kannst 
sie von meiner Homepage herunterladen (Link im ersten Beitrag dieses 
Threads).
Gast #1806495
Lesenswert?

@Jens

Das kommt auch auf den Verwendungszweck an. An Lehrbetriebe habe ich die 
gesamten Unterlagen jeweils für etwas über CHF4'000 verkauft.
Brauchst du die Unterlagen nur für dich oder für die Ausbildung von 
Azubis oder Schülern?

Falls du die Unterlagen nur privat für dich brauchst könnte ich dir 
etwas entgegenkommen. Ausserdem musst du ja nicht alle Module kaufen. 
Die Unterlagen sind folgendermassen unterteilt:

- Einführung ins Thema Programmierbare Logik
- Marktübersicht (Stand 2008)
- Quartus II Design Flow
- Time Quest Timing Analyzer
- Quartus II JTAG Tools

Zu jedem Kapitel gibt es eine Übung, eine Referenzlösung zur Übung und 
einen Kurztest.

Falls du interesse hast, schreibe mir doch eine e-mail:
info@logicsolutions.ch


Gruss Oli

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