www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Eigenentwicklung eines µCs


Autor: MC (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tag an alle,
was haltet ihr von der Idee, von allen bekannten µP-/µC-Familien die 
besten Eigenschaften in einem CPLD bzw. FPGA zusammenzukloppen?

Bitte sagt jetzt nicht, es sei zu viel Aufwand, würde zu Lange 
dauern,...
Dies ist kein reeller Plan, nur eine Idee;-}

Autor: Gerd B. (silicat) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier:
http://www.opencores.org/browse.cgi/by_category
(rechts Spalte)

gibts schon einige µC-Kerne

Autor: Fred (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
toller Plan, nur eine blöde Idee ...

Gruß Fred

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schon die Diskussion über "die besten Eigenschaften" dürfte dazu führen, 
dass sich nicht die FPGAs sondern die Beteiligten kloppen.

Autor: Michael G. (linuxgeek) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry aber besonders realistisch und besonders sinnvoll ist das wirklich 
nicht als Projekt fuer eine Einzelperson.

Autor: Jens Plappert (Firma: FTSK) (gravewarrior)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mann könnte fast sagen dass das die dümmste Idee aller Zeiten ist! Wenn 
das jetzt nur so eine Idee wäre, dann wäre das cool, aber du willst es 
ja unbedingt als reeles Projekt machen. 
nenenenenenenenenenenenenenenenen phfvorrum

Autor: Johnny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dein Ansatz ist eigentlich schon ziemlich falsch. Mit einem CPLD bzw. 
FPGA könntest Du höchstens die rein digitalen Teile des Mikrocontrollers 
wie CPU, Timer, I/O's, BUS, IRQ-Logik ... abdecken. Einen beachtlichen 
Teil nehmen jedoch auch noch ein: Speicher (insbesondere Flash), 
Oszillatorschaltung, AD Wandler, Spannungsüberwachung / Reset (meist 
ausgeklügelter als im FPGA, da häufiger für batteriebetriebene Geräte 
verwendet), Schmitt-Trigger Eingänge, interne Pull-Ups/Pull-Downs für 
I/O's, ...
Wenn Du Dir einen hardwaremässigen Emulator für einen Mikrocontroller 
ansiehst, kannst Du den Aufwand in etwa abschätzen.
Das Vorhaben wäre mit Sicherheit kein Hobbyprojekt.

Autor: Mendel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
so eine bessere "EierLegendeWollMilchSau" als die Megas
ist durch Kreuzung von PIC + ARM erst in der F100 Generation
zu erwarten!

gez. Mendel

Autor: MC (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Huch, ganz schön viele Reaktionen.
Ihr nehmt meinen Post viel zu ernst. Es war nur mal eine Idee, kein Plan 
oder sogar Projekt, schon gar nicht für eine Einzelperson.
Nein, ich bin momentan durch Hobby, Ausbildung,... mit verschiedenen 
Controllerfamilien konfrontiert. Bei allen sehe ich Stärken und 
Schwächen.
Da kam mir einfach mal so spontan die Idee, alle Stärken zu vereinen.
Als Basis dafür fiel mir als estes eine programmierbare Logik ein.
Obwohl, so ein Massengrab aus 74er Bausteinen wäre auch nicht schlecht, 
am besten noch in TTL. Dann freut sich auch das Netzteil;-)

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Da kam mir einfach mal so spontan die Idee, alle Stärken zu vereinen.

Da kommt mir doch spontan die Frage, welche Stärken Du meinst.

Mir käme die Idee, die Stärken von Bananen und Erdbeeren zu vereinen. 
Insbesondere, wie man ein geschmackliche Abstimmung findet, daß die 
Schnecken mitgegessen werden können.

Autor: Stefan Helmert (Firma: dm2sh) (stefan_helmert)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

das ist in der Regel auch das Prinzip, wie das die Prozessorentwickler 
machen. Sie werfen alles raus, was schlecht ist und kombinieren das, was 
gut ist. Das Problem ist aber, man erkennt nicht auf anhieb, dass 
bestimmte Sachen nicht zusammenpassen. Wenn man dann alles, was schön 
aus sieht (die besten Eigenschaften) in einem Topf wirft, dann kommt 
schnell Mist raus. Man hat dann 100 verschieden Adressierungsmodelle und 
das Gesamtkonzept geht verloren. Am Ende ist man dann bei einer Art 
Hochsprachen (Bytecode)-Interpreter angekommen.
Wenn man schon einen FPGA nimmt, kann man doch gleich einen dynamisch 
rekonfigurierbaren Kern machen, dessen Befehlssatz sich Softwareabhängig 
erweitern lässt oder auch umschalten.
Ein Verbesserungsvorschlag wäre auch, die Codeeffizienz zu erhöhen. Die 
Wahrscheinlichkeit, dass ein bestimmter Befehl auftritt ist 
kontextabhängig, also davon welche Befehle vorher standen. Außerdem gibt 
es Befehle, die generell seltener auftreten. Nun kann man seltene 
Befehle einfach zu gunsten der häufigen schlechter gestalten (Länge, 
Rechenzeit). Um die Gesamte Codeffizienz zu erhöhen, muss man dann schon 
Befehlsgruppen bilden oder Codezuordnung dynamisch ändern, abhängig vom 
vorigen Befehl. Je Größer die gebildeten Befehlsgruppen sind, um so 
besser ist die Speichereffizienz.
Nun muss man halt abwegen, will man lieber höchste Codeeffizienz oder 
einen bezahlbaren Compiler bzw. eine Chance das in Assembler zu 
programmieren und schon beißt sich die Schlange in den Schwanz...

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MC wrote:
> Huch, ganz schön viele Reaktionen.
> Ihr nehmt meinen Post viel zu ernst. Es war nur mal eine Idee, kein Plan
> oder sogar Projekt, schon gar nicht für eine Einzelperson.

Das heißt wir sollen gar nicht antworten? ;)

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Mir käme die Idee, die Stärken von Bananen und Erdbeeren zu vereinen.

nennt sich Erdbeer Banana Daiquiri

>Insbesondere, wie man ein geschmackliche Abstimmung findet, daß die
>Schnecken mitgegessen werden können.

Macht man mit einem großen Schuss Rum ;)

Autor: MC (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aber einem ganz großen!!! Ach übrigens, schau mal im Supermarkt, Müller 
&Co haben seit neusestem diese komischen Frucht-Softdrinks. Im Prinzip 
sind das zermatschte Früchte (also Erdbeeren und Bananen) und 
haufenweise Zucker (sozusagen als Rum-Ersatz).

Autor: mr.chip (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das geht schon aus einem einfachen Grund nicht: Praktisch alle 
Eigenschaften sind in Zielkonflikte verwickelt. Daher müsste man 
zunächst mal entscheiden, auf welche Ziele man Wert legt. Genau hier 
liegt dann der Hund begraben, warum es eben viele verschiedene 
Prozessor-Familien mit unterschiedlichen Vor- und Nachteilen gibt.


> Mann könnte fast sagen dass das die dümmste Idee aller Zeiten ist!

Da findet man ganz bestimmt dümmere :-)

Autor: Fred (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> Mann könnte fast sagen dass das die dümmste Idee aller Zeiten ist!

Nein Nein Nein

wenn der Proz. für Deine (allg.) Anwendung schneller (leistungsfähiger)
ist und alle "IHN" brauchen werden wir sehr schnell Dein Ausgaben
refinanzieren.


Fred

Autor: Matthias Lipinsky (lippy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also, werden schon Wünsche angenommen?

Autor: MC (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Angenommen wird alles, die Frage ist nur, wann die Ergebnisse kommen 
(wie schon gesagt, nur eine Idee, kein Plan/Projekt).
Also meine Kontonummer ist .... ;-)
Über finanzielle Unterstützung der MC'schen Mikrocontrollerschmiede 
würde ich mich sehr freuen.

Autor: Carsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wunsch @ Matthias Lipinsky

64-Bit Risk CPU mit 1GHz getaktet (256 IO's)
zum Preis von 10€

:) Carsten

Autor: MC (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Muss es denn funktionieren, oder darf's auch vom Laster gefallen sein?

Autor: 3363 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich find die Idee super. Die Datenbreite waere dann variabel, resp 
koennte als Optimierungsparameter verwendet werden. Wenn man zB 120 
register braucht und dann noch 120 byte RAM, dann genuegt ein Byte zur 
Adressierung. Und wenn man nur 27 Befehle braucht, so sind die mit 5 Bit 
decodiert.

Autor: Christine R. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Also ich find die Idee super. Die Datenbreite waere dann variabel, resp
>koennte als Optimierungsparameter verwendet werden. Wenn man zB 120
>register braucht und dann noch 120 byte RAM, dann genuegt ein Byte zur
>Adressierung. Und wenn man nur 27 Befehle braucht, so sind die mit 5 Bit
>decodiert.
Das wärs. Und Interessant wäre wenn du zusätzlich einen compiler 
entwickelst, der abhängig von den benötigten Ressourcen denn 
Prozessorkern synthetisiert und eben auch ein Programm. Der Compiler 
synthetisiert sich den Prozessorkern...

Wird vermutlich sehr aufwendig;)

Autor: MC (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So in der Art habe ich mir das gedacht.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die vielzitierte Eierlegende Wollmilchsau. Oink, Oink.
An deren Züchtung scgin Gnerationen von Ings gescheitert sind.
Was aber BWLer nicht daran hindert, permanent auf deren Entwicklung zu 
drängen.

;-)
Falk

Autor: Matthias Lipinsky (lippy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>BWLer ... permanent auf deren Entwicklung zu drängen.

Wieso Entwicklung? Verwendung reicht doch

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Matthias Lipinsky (lippy)

>>BWLer ... permanent auf deren Entwicklung zu drängen.

>Wieso Entwicklung? Verwendung reicht doch

Bezugsquelle?

Autor: Matthias Lipinsky (lippy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Bezugsquelle?

Das wüsste ich selbst gern.

Wenn es eine geben würde, wäre diese wohl zu teuer.

Autor: MC (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vom Preis her könnte es die "eierlegende Wollmilchsau" bei Conrad geben.
Owohl, eher doch nicht, da Conrad ja ne Apotheke ist:
sehr teuer und nichts auf Lager

Autor: chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine schöne Projektidee wäre, den Prozessorkern zu entwickeln, der am 
wenigsten Gatter in einem CPLD braucht.

Also: Was ist die kleinstmögliche Anzahl Gatter, die man braucht, um 
einen Prozessor zu realisieren?

Wie sieht ein sehr einfacher Kern aus? Was braucht man?

- Programmzähler
- Arbeitsregister
- Alu

weiter ?

Autor: Jadeclaw Dinosaur (jadeclaw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@MC: Daß die Idee, eine eierlegende Wollmilchsau zu erschaffen, eine 
ziemlich dumme Idee ist, ist bereits gesagt worden, aber ein Hauptgrund 
ist noch nicht genannt worden: Die Zielanwendung.
Mach mal deine eierlegende Wollmilchsau und versuch dann damit z.B. 
einen Sat-Antennenschalter zu realisieren. Der ganze Schalter darf im 
Laden aber nur 10 Euro kosten. (4 LNB, einen Ausgang). Die Lösung im 
Schalter, der bei mir im Einsatz ist: ATTiny11. Ein ganz kleiner AVR, 
der im Bastlerversand gerade 65 cent kostet. 10000er Preis 
wahrscheinlich weit darunter. Jede Menge von den Dingen, die du 
vielleicht in deine Wollmilchsau integrieren willst, werden 
möglicherweise garnicht gebraucht. Es hat schon seinen Grund, warum z.B. 
Atmel in seiner AVR 8-Bit-Serie an die 40 Typen hat. So kann man sich 
den Controller aussuchen, der den besten Kompromiss aus Preis, 
Ausstattung und Leistung darstellt. Also gilt auch hier: Pflichtenheft 
für das zu erstellende Gerät erstellen und dann den passenden Controller 
auswählen. DEN Universalcontroller kann es deshalb schon garnicht geben. 
Allen BWLern zum Trotz.

Gruß
Jadeclaw.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stichworte:
-Turingmaschine
Da reichen glaube ich 3 Zustände aus, hab ich mal irgendwann in der CT 
gelesen. Nur schnell ist das ganze nicht, man kann nicht alles haben 
immer nur einen Teil ;)

-Brainf??k (da gibt es auch C-compiler für :)
einen Brainf??k interpreter ist schnell geschrieben. (Nein ich werde es 
nicht machen :)

Autor: chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein wenig komplexer als eine Turingmaschine darf es schon sein.

Eine Mindesanforderung wäre:

- 8 Bit Addition
- call & ret

Ok, das ganze könnte man als Bit-Slice Prozessor realisieren. Nehmen wir 
mal an, das CPLD ist recht schnell und der Prozessor soll nur dazu 
dienen, langsame Kontrollaufgaben durchzuführen.

Autor: Düsentrieb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...dann nimm nen AVR !
ganz vergessen? der ist genau so entstanden:
2 studenten überlegten, was wäre optimal,
was kann real mit so wenig gattern gebaut werden, dass es in nen fpga 
geht und testbar ist,
welchen befehlssatz braucht man, damit alle zufrieden sind, asm + 
compiler..
usw.
ergebnis war die at1200 , später dann die aufgebohrten mega usw.

also genau das, was du (MC) machen willst.

andere teams hatten komplexere 32-bit-vorstellungen, deren optimierte 
designs zb als dievrse arm-versionen zu sehen sind..

was genau willste nu neu+besser+billiger machen ????

Autor: nasowas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
eine Lebensweisheit: Alles Gute ist nie beisammen!

gilt für uCs, Frauen, ... was Du willst.

Autor: MC (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>eine Lebensweisheit: Alles Gute ist nie beisammen!
>gilt für uCs, Frauen, ... was Du willst.
wo du recht hast...

Autor: MC (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>...dann nimm nen AVR !
>ganz vergessen? der ist genau so entstanden:
>2 studenten überlegten, was wäre optimal,
optimal nach ihren Vorstellungen...

>Eine schöne Projektidee wäre, den Prozessorkern zu entwickeln, der am
>wenigsten Gatter in einem CPLD braucht.
sag ich doch die ganze Zeit

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Düsentrieb wrote:

> andere teams hatten komplexere 32-bit-vorstellungen, deren optimierte
> designs zb als dievrse arm-versionen zu sehen sind..

Naja, der Prozessorkern entstammt einem Universalcomputer, der
eigentlich mal (nach der Vorstellung der Gründer) hätte den IBM-PC
ablösen sollen (Acorn RISC).  Das hat nicht geklappt, aber weil der
Prozessor selbst recht genial war, haben sie daraufhin das Design
an andere lizensiert, und irgendwann haben dann diverse Hersteller
ihre Peripherie herum gestapelt, um auch Microcontroller draus zu
zimmern.

Autor: Johnny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum nicht mal einen weiblichen uC entwickeln?

Autor: Düsentrieb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Warum nicht mal einen weiblichen uC entwickeln?
ja, das isses doch:
+macht spontan völlig unlogische entscheidungen
+kennt die "wenn-aber-dann-doch-vielleicht" verknüpfung
+hat gelegentlich seine tage...

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was habt ihr gegen die Idee? Natürlich kann man nach seinem Geschmack 
locker einen µC in einem FPGA implementieren. Schwieriger wird es jedoch 
dafür einen passenden Compiler zu Entwickeln ;)

Autor: MC (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Warum nicht mal einen weiblichen uC entwickeln?
großer Vorteil wäre die sehr einfache Produzierung von weiteren 
Derivaten!!!
Durch die Vermischung der Eigenschaften der beiden Partner + die 
Evolution bekommt man bestimmt spannende Derivate. Am besten wirds dann, 
wenn die Dinger in die Pubertät kommen.

Autor: 3357 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Idee zu blockieren weil zu schwierig ist - veraltet. Geh auf den 
Baum zurueck. Ich denke auch ein Compiler sollte den Kern syntetisieren 
koennen. Wenn sich ein Problem auf einen Vorwahlzaehler mit 2 
selektierbaren Vorwahlen reduzieren laesst, brauch ich den Rest nicht.

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> Warum nicht mal einen weiblichen uC entwickeln?
> großer Vorteil wäre die sehr einfache Produzierung von weiteren
> Derivaten!!!

> +macht spontan völlig unlogische entscheidungen
> +kennt die "wenn-aber-dann-doch-vielleicht" verknüpfung
> +hat gelegentlich seine tage.

Den zu debuggen wird bestimmt lustig ;-)

Autor: whitenoise (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Düsentrieb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
debuggen war mal, nennt sich dann ja auch : diskutieren ...

Autor: whitenoise (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
fpga... das kann jeder aber:

http://www.cc86.org/~dkuschel/index2.htm

und noch ein OS dazu, das ist hardcore...

http://www.cc86.org/~dkuschel/index2.htm

gruß,
w.

Autor: MC (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mensch, danke für den Link. Die Seite kenn ich zwar schon seit einigen 
Jahren, aber ich hab den Link nicht mehr gefunden.

Autor: whitenoise (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...ist zwischenzeitig umgezogen...

Autor: I_ H. (i_h)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sowas gibt es doch schon. Zb. von Altera den Nios2, da kann man die 
Busbreiten festlegen, den RAM und den Controller (zB. internes RAM, SRAM 
oder SDRAM), und was einem sonst noch so einfällt (Zusatzhardware, 
selbstentwickelt oder fertig, 100 Timer oder 30 PWM Kanäle, usw.).
Und es gibt sogar einen Compiler dazu (gcc portierung), den man mit dem 
CPU Design füttern und der einem dann Code generiert (C/C++).

Ein wirklicher Durchbruch ist das Ding aber nicht. Und auf den kleinsten 
FPGA passt das Ding natürlich auch nicht, die kleinste Variante liegt so 
im Bereich um 2k Logikzellen auf Altera FPGAs.

Das einzige was man wirklich verbessern könnte sind die 
Entwicklungswerkzeuge.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Johnny (Gast)

>Warum nicht mal einen weiblichen uC entwickeln?

Mit Fuzzy Logic . . .

Autor: Matthias Lipinsky (lippy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> ... weiblichen ... => ... Logic ...

...

Autor: MC (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein 8Bit-µC mit 32Bit Opcode ist etwas übertrieben, oder?
Ich weiß, dass die AVRs 16Bit Opcode haben. Die PICs variieren von 12 
bis glaub ich 24Bit (bei den 8Bittern).

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.