Hast du schon mal ein C Program für einen stinknormalen AVR programmiert
? Wenn ja, so wie du dort vorgehst kannst du auf im bestfalle mit pAVR
vorgehen. Nur das du eben zuerst in VHDL etc. den pAVR Core erzeugst,
ihn in den FPGA lädtst und danach kannst du diesen programmierten Chip
als echte AVR Kopie betrachten, im Bestfalle wohlgemerkt. Denn wenn du
dir mal pAVR genauer anschaust so ist es ein ziemlich abgespeckter
Universal-AVR. Das Universal bezieht sich auf den AVR Kern, sprich dem
Rechenwerk das größtenteils kompatibel zu den heutigen AVR's ist. Der
ganze wichtige Rest, wie die viele Timer, Brownout, PWM, ADC's, Analog
Comparator, Watchdog, Interrupts, FLASH Befehle, EEPROM fehlt komplett
im pAVR. Es ist also noch ne Menge Arbeit um pAVR wirklich kompatibel
zu bekommmen. Aber gerade bei diese nötigen Ausbau-Arbeiten stößt du an
die Grenzen. Den der pAVR VHDL ist nicht leicht zu synthetisieren und
jede kleine Erweiterung vesaut das komplette Timing.
Damit wird der Vorteil ersichtlich: benutzt du einen echten AVR dann
ist der fertig, getestet und funktionsfähig. Du musst nur noch deine
Software schreiben. Benutzt du einen FPGA mit AVR IP Core so musst du
erstmal das hinbekommmen. Das kann schonmal mehrere Monate Zeit
rauben.
Die ganzen IP Codes verschiedener MCU's sind zwar schön und gut.
Schaut man sie sich näher an dann sind es meistens abgespeckte
Versionen mit mehr akademischen Anspruch, vonwegens -> es ist machbar.
Sinn machen FPGA's IP Cores die komplett neue Design Strategien
verfolgen, zb. hochspezialisierte MCU's die hochparallele Berchnungen
durchführen können. Sprich Sinn macht auf FPGAs alles wofür es keine
billigen Fertig-MCU's gibt. Alles andere ist akademischer Natur, Hobby
und Spaß.
Gruß hagen