Hallo, laut Eurem Hinweis darf ich ja ins Betreff nicht Anfänger schreiben, deshalb weise ich hier gleich darauf hin, daß ich einer bin :-) Ich habe auch nur eine ganz kurze Frage: Was ein Mikrocontroller ist, ist mir klar. Nun habe ich mich heute mal etwas genauer mit FPGA's beschäftigt und sehe den Unterschied nicht so ganz. Ist ein FPGA nicht eigentlich auch nichts anderes als ein Mikrocontroller bzw. vielmehr als ein Mikroprozessor? Gruß t.a.
Ein FPGA ist nichts anderes als voll viele Gatter, die man nach belieben zusammenschalten kann. So kann unter anderem auch ein uC designed werden. Grüße, André
Hallo Thomas Es gibt Leute die sagen FPGAs seien weiche Hardware. Da mann fast alles programmmieren kann. MfG Peter
Hallo, Das kommt auf die Anwendung, die Fähigkeit und das Durchhaltevermögen des Entwicklers an. Ein µC hat den Vorteil, daß er in vielen Dingen schon fertig entwickelt ist. Sprich, er kann mit einfachen Befehlen dem EVA-Prinzp folgen (Eingabe, Verarbeitung, Ausgabe). Du mußt Dir wenig Gedanken um Dinge wie Programmcounter oder 'wie sieht eine ALU aus?' machen. Rechen- und Steuerwerk sind vorgegeben. Das geht zwar zu Kosten der Flexibilität, vereinfacht eine Entwicklung aber ungemein. Meinen letzten FPGA habe ich zwar vor ca. 8 Jahren programmiert, aber sehr viel hat sich an den Prinzipien nicht verändert. (Korrigiert mich, falls ich mich irre). Ich habe damals einen Prozessor auf einem FPGA entwickelt. Das hieß, zwei Monate Arbeit, Schaltplane malen, Simulieren, Bücher lesen und testen. Und am Ende beherrschte der Proessor mal gerade 16 Assemblerbefehle. Die genaue Liste habe ich nicht mehr im Kopf, so in etwa: MOV, ADD, SUB, IN, OUT, OR, XOR, NEG... also nur das Nötigste. Zudem gab es nur vier Register, dafür aber eine 3-stufige Pipeline. Bei anderen Dingen ist ein FPGA sicherlich ganz gut geeignet. Beispielsweise um ein Protokoll zu implementieren oder eine TFT- oder LCD-Ansteuerung. (Habe ich noch nicht gemacht, also legt mich nicht darauf fest.) Gruß, Chaldäer
Ich habe auch versucht mich ein wenig über FPGA's schlau zu machen. Auch las ich des öfteren was André und Chaldäer erwähnten, dass man damit einen µC nachbilden kann. Allerdings habe ich nur sehr theoretische Abhandlungen zu dem Thema finden könne. Zugegeben, ich weiss nichts über FPGA's und ich kann mir nur im entferntesten vorstellen wie eine CPU aufgebaut ist. Aber ist es nicht so, dass vielmehr Realisierungen eines µC mit einem FPGA absoluter Murks wäre? Die Anzahl der Gatter dürfte doch bei weitem nicht ausreichen um ein halbwegs anständiges Ergebniss zu bekommen. Oder sehe ich das falsch? Ok, ich muss auch zugeben, dass ich nichtmal weiss, wieviele Gatter sich in einem Standard-FPGA programmieren lassen, aber ich kann mir nicht vorstellen dass es ausreichen würde um z.b. einen 4433 voll nachzubilden. Desswegen würde mich intressieren, was sich mit handelüblichen FPGA's (z.b. Xilinix ISPLSI1016E) überhaupt realisieren lässt, was die Komplexität betrifft. Ich meine den Hardwaretechnischen Aspekt und nicht den Aufwand ein entsprechendes VHDL-Skript zu schreiben. Aven
Hallo, da täusch Dich mal nicht was die Komplexität angeht. Das Programmieren ist garnicht mal so schwer. Kleine Projekte hab ich auch schon gemacht. Zwar keine uC, aber einen LCD-Controller. Schau mal auf www.opencores.org, da wirste fündig. Selbst AMD testet die Prozessoren auf FPGAs. Das sind aber große und zudem auch mehrere verschaltete. Grüße, André
Nun ich denke mir halt dass ein frei programmierbares logisches Gatter sicherlich um ein enormes komplexer ist wie ein fest definiertes. Aufgrund dieses Hardwaremehraufwandes denke ich halt dass dies nicht so einfach möglich ist. Ich hatte einmal versucht mich mit FPGA's zu beschäftigen gab jedoch auf, nach dem ich nur theoretisches Material dazu fande. Auch VHDL-Tutorial haben mir nichts genützt, da ich eher praktisch orientiert bin. Ich lerne am besten wenn ich etwas nachbaue und dann verändere. Solche Projektseiten suchte ich jedoch vergebens. Korrigiert mich, falls ich etwas übersehen habe. Sven
Die AVR-Kerne sind auch in VHDL geschrieben (Microcode). Der AT90S1200 war der erste dieser Gattung und ist aus einer Diplomarbeit der Herren Ansgard und V???? entstanden. Ist schon ein mächtiges Werkzeug, wenn mans beherrscht. Ich kanns leider (noch) nicht...
die heutige technik der fpga ist sehr weit entwickelt. die komplexität und die grösse übersteigen schon bald die vorstellung. die high end fpgas z.b virtex familie von xilinx haben ein volumen von mehreren milionen gattern. die haben dann aber auch ihren preis. es gibt aber auch fpgas, z.b spartan-II mit 100k gattern und internem block ram die nicht so viel kosten, d.h nur ca. 100EURO. damit kann man problemlos ganze dsp cores integrieren. der grosse vorteil besteht dann darin, das alles was in einem fpga implementiert ist ja reine hardware ist. so kann dann z.b eine mulitplikation in einem takzyklus realisiert werden. zur programierung, da gibt es verschiedene möglichkeiten. man kann z.b bsp. das schaltungdesign mittels schematic vornehmen, da können dann gatter zähler als schematic blöcke integriert werden und zusammen geschaltet werden. dann gibt es die möglichkeit vhdl. das ist eine sehr mächtige hardware beschreibungssprache die mittlerweile auch standart ist.es braucht jedoch seine zeit bis man damit umgehen kann. vorallem das umdenken vom sequenziellen denken ist am anfang eher schwierig. dann gibt es auch verschieden tools wie z.b den core generator. mittels eines solchen werkzeugs kann man z.b eine fir filter mittels simulink u. matlab simulieren und der generator generiert daraus den synthese fähigen vhdl code. solche werkzeuge haben aber auch ihren preis. die ganzen synthese werkzeuge sind in ihrer grundfunktionalität dafür gratis vom hersteller verfügbar. tobias ich persönlich denke das die bausteine fpga und cpld die zukunft der digitalen siganlverarbeitung sind. eine ähnliche performance wird man mit herkömmlichen prozessoren nicht hinbekommen. auf jeden fall ein sehr interessantes und zukunftträchtiges gebiet. es
Hi FPGA's haben einen Nachteil: Kosten! Deswegen ist ihr Einsatzgebiet noch sehr eng begrenzt. Ist die Anforderung an die Verarbeitungsgeschwindigkeit eher gering reicht ein µC oder ein DSP. Ist die benötigte Verarbeitungsgeschwindigkeit sehr hoch aber auch die Stückzahl etwas höhr lohnt sich ein ASIC (der sich aus dem VHDL syntethisieren läßt) Bleibt der kleine Bereich der kleinen Stückzahlen und hohen Verarbeitungsgeschwindigkeiten. Was tot ist sind große TTL-Gräber. Da nimmt man einen CPLD (große GAL's) Matthias
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.