Mikrocontroller in VHDL

Gast #1433547
Lesenswert?

Hallo,
erstsmal zu meinem Background: Ich bin mit VHDL noch ein wirklicher 
Anfänger.
Habe ein kleines Demoboard mit dem CPLD XC9572 und habe damit meine 
ersten kleinen Binkereien gemacht... Ich hoffe, man wird mir meine etwas 
naiven Fragen verzeihen und mich nicht auf http://www.giyf.de/ verweisen 
:-)

Also ich habe irgendwo gelesen das man in so ein FPGA auch einen 
Mikrocontroller reinzaubern kann.

1. Gibt es da einen wirklich kleinen kostenlosen Core der vieleicht 
sogar in ein CPLD rein passt? Ich wäre auch mit einer 4-Bit-MCU wie 
GC49C501 schon glücklich... ;-)
GC49C501 ist eine 4-Bit-Version vom 8051

2. Wie wird so ein Mikrocontroller im FPGA programmiert? Assembler oder 
C?

3. Ist der Programmspeicher des Mikrocontroller's auf dem FPGA oder ein 
externes EPROM?

4. Gibt es den Quellcode für einen 8051-Core(bin ein alter 8051-Fan!) 
auch kostenlos zum runterladen?
Angehängte Dateien:
Moderator Persönliche Seite #1433588
Lesenswert?

VHDL Anfänger schrieb:

> 2. Wie wird so ein Mikrocontroller im FPGA programmiert? Assembler oder
> C?

Hängt rein vom Core ab.  Du findest bei opencores beispielsweise auch
einen ATmega103-Clone, der ließe sich problemlos in C programmieren.
Sollte bei den von dir bevorzugten 8051s aber auch möglich sein.

Die Programmierschnittstelle muss der Core natürlich selbst implemen-
tieren, beispielsweise als ISP-Schnittstelle.  Die spricht man dann
von außen genauso an, als wäre sie ein entsprechender Controller in
(festverdrahteter) Hardware.

Allerdings hat ein Controller ja mehr als eine CPU, und nicht jedes
Peripheriegerät wird sich in einem FPGA abbilden lassen -- denk nur
an Dinge wie Analog-Komparator oder ADC.

> 3. Ist der Programmspeicher des Mikrocontroller's auf dem FPGA oder ein
> externes EPROM?

Meist einfach RAM im FPGA, d. h. ist beim Ausschalten futsch.  Da
das FPGA aber sowieso aus einem Flash-ROM geladen wird, kann natürlich
das Flash-Image auch eine Vorbelegung für den Controller-Speicher
enthalten.
Gast #1434088
Lesenswert?

VHDL Anfänger schrieb:
> Hallo,
> erstsmal zu meinem Background: Ich bin mit VHDL noch ein wirklicher
> Anfänger.
> Habe ein kleines Demoboard mit dem CPLD XC9572 und habe damit meine
> ersten kleinen Binkereien gemacht... Ich hoffe, man wird mir meine etwas
> naiven Fragen verzeihen und mich nicht auf http://www.giyf.de/ verweisen
> :-)
>
> Also ich habe irgendwo gelesen das man in so ein FPGA auch einen
> Mikrocontroller reinzaubern kann.
>
> 1. Gibt es da einen wirklich kleinen kostenlosen Core der vieleicht
> sogar in ein CPLD rein passt? Ich wäre auch mit einer 4-Bit-MCU wie
> GC49C501 schon glücklich... ;-)
> GC49C501 ist eine 4-Bit-Version vom 8051
>
> 2. Wie wird so ein Mikrocontroller im FPGA programmiert? Assembler oder
> C?
>
> 3. Ist der Programmspeicher des Mikrocontroller's auf dem FPGA oder ein
> externes EPROM?
>
> 4. Gibt es den Quellcode für einen 8051-Core(bin ein alter 8051-Fan!)
> auch kostenlos zum runterladen?

Vergiss CPLD, mit einem kleinen FPGA hast du:
 -ausreichend Platz, auch für mehrere Controller in einem Chip
 -benötigst keinen exteren SRAM als Arbeitsspeicher
 -kanns on-Chip debug hardware einsetzen (z.B. Xilinx Chipscope)
 -kannst statt 8 bit auch locker 32 bit controller realisieren

Und es gibt FPGA-s mit on-Board EEPROM (Xilinx Spartan3 - NV 
(NonVolatile)), Das kommt einer Ein-Chip Lösung schon recht nahe. teile 
des on-Board PROMs kann man ich durch sein eigenes Design nutzen, 
vielleicht als Programmspeicher für den Controller.


Xilinx hat einen 8 bit controller für CPLD im Angebot, den Picoblaze, 
aber benötigt den dicksten CPLD (512 - nicht preiswert) und externen 
Speicher.

Für den picoblaze hat xilinx auch einen Assembler. Allerdings rate ich 
vom Picoblaze ab, da dessen VHDL-Code eine Netzliste aus LUT's und FF 
ist, da lernt man nicht wirklich wie ein mikrocontroller aufgebaut ist.

Xilinx hat auch eine Fix und Fertig 32 bit Lösung: Core, C-Compiler, 
debugger, SDK nennt sich Microblaze. Isse aber nich für ohne Euro, aber 
probiere kann man 30 Tage.

Gut Naechtle,
Persönliche Seite #1434297
Lesenswert?

Fpga Kuechle schrieb:
> Für den picoblaze hat xilinx auch einen Assembler. Allerdings rate ich
> vom Picoblaze ab, da dessen VHDL-Code eine Netzliste aus LUT's und FF
> ist, da lernt man nicht wirklich wie ein mikrocontroller aufgebaut ist.
Es gibt aber eine Appnote wo der Aufbau und die herangehjensweise 
aufgeführt ist, ist recht informativ :)
Gast #1434645
Lesenswert?

Hi,
da der Poster ja sogar mit einer 4-bit CPU zufrieden waere, wuerde ich 
definitiv zum Picoblaze (unter Xilinx) oder zum Pacoblaze (fuer alle 
anderen FPGA Hersteller) raten. Der Assembler-Code ist recht einfach zu 
verstehen und das Teil kann schon eine ganze Menge...
Und es gibt bei Xilinx eine ganz gute Doku zu dem Teil.
Zum 'starten' genau richtig!
#1434699
Lesenswert?

Mico32 ist ein open-source VHDL softcore processor.
Vielleicht hilft dir dieser Link weiter:
http://www.latticesemi.com/products/intellectualproperty/ipcores/mico32/index.cfm

Hab ihn zwar noch nicht selber verwendet, aber dafür wirst du sicher 
einen FPGA benötigen, ein CPLD ist da definitiv zu klein.

lg
Rooney




-----------------------------------------
http://www.poms-engineering.at

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