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?
Geht auf ne CPLD schon, auf nem 9572 wirds aber versammt eng :) Für eine 4bit CPU sollte es wohl noch reichen. Programmiert wird im schlimmstenfall in bytecode es sei den du schreibst dir einen Assembler oder C-Compiler... @8051 core: schau mal auf opencores vorbei... (Siehe Google ;)
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.
> CPLD XC9572 Da hast du nur 72 Flipflops :-/ Allein eine einzige Registerbank eines 8051 braucht 64 Bits. Da hat dann gerade noch der Akku Platz, dann ists aus, 72 FFs verbraten. Kein Platz mehr für PC, B, PSW, SP, DPTR ...
Ingrid meinte: >> 3. Ist der Programmspeicher des Mikrocontroller's auf dem FPGA oder ein >> externes EPROM? > > Meist einfach RAM im FPGA Ähem, natürlich kann es auch ein externer RAM sein.
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,
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 :)
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!
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.