Forum: FPGA, VHDL & Co. Erste Schritte mit FPGA - ich komme nicht weiter


von I. E. (anfaenger69)


Lesenswert?

Hallo zusammen.

Ich soll/möchte mich in die FPGA Welt einarbeiten und habe eine 
Testplatine mit einen Lattice XP10 bekommen. Bisher habe ich nur AVR's 
in Assembler und C programmiert. Die FPGA Welt sieht jedoch ganz anders 
aus. Ich habe schon ein bisschen hier im Forum durchgelesen und auch 
schon die ispVM und Lattice Diamond Software herunter geladen. Ein isp 
Programmierkabel hängt auch schon dran und der XP10 wird im ispVM auch 
erkannt.

Soweit ich das aus den mir verständlichen Fragmenten beim durchlesen der 
Foreneinträge und des FPGA Artikels dieser Seite erkannt habe, handelt 
es sich bei FPGA's nicht um einen sequenziellen Programmablauf wie bei 
den AVR's, sondern um programmierte Abhängigkeiten (z.B. und-, oder-, 
nicht- Gatter). Ich habe die Erleuchtung noch nicht bekommen wie man nun 
beginnt ein Programm daraus zu machen. Bei den Codebeispielen, die beim 
Lattice Diamond dabei sind, habe ich keine besonderen Programmsequenzen 
erkannt, sondern bisher nur eine große Ansammlung von Einstellungen 
diverser Ports und Blöcke.

Kann mir jemand auf die Spünge helfen wie mit Lattice Diamond weiter zu 
verfahren ist? Mein erstes Ziel ist es eine LED auf einem Port blinken 
zu lassen.

von PittyJ (Gast)


Lesenswert?

So sass ich vor 2 Monaten auch davor: intensives Lernen war angesagt.

Ich habe mir einige Bücher besorgt:
Ashenden: The Designers Guide to VHDL ist recht gut.
Auch die Bücher von Pong P.Chu sind hilfreich.

Bei VHDL ist alles parallel. Sequentielle Programme bekommt man nur über 
State-Machines, die über eine Clock getaktet werden.

Für deine LED brauchst du einen Takt, den du herunter zählst. Und bei 
einem Nulldurchgang wird der Status getoggelt. So etwas sollte bei guten 
Beispielen beschrieben werden. Da ich hier Xilinx habe, kann ich bei 
Lattice-Beispielen nicht weiter helfen.

von Uwe N. (ex-aetzer)


Lesenswert?

Igor Ebner schrieb:
> Soweit ich das aus den mir verständlichen Fragmenten beim durchlesen der
> Foreneinträge und des FPGA Artikels dieser Seite erkannt habe, handelt
> es sich bei FPGA's nicht um einen sequenziellen Programmablauf wie bei
> den AVR's,

Hallo Igor,

bin selber Anfänger, probier es trotzdem ;-)

Verabschiede dich vom Gedanken eines "Programms" im FPGA. VHDL und 
Konsorten sind Hardware-Beschreibungssprachen, das hat mit 
konventioneller Programmierung nix zu tun.

Ich kann bei dieser komplexen Materie erstmal nur auf Literatur 
verweisen, wie z.B. der hier (nicht zu unrecht) viel zitierte Reichardt/ 
Schwarz "VHDL-Synthese" (Oldenburg Verlag).

Ich selbst "arbeite" mit den Xilix'schen ICs/ Tools (noch, tendiere zum 
Wechsel auf Altera), Lattice Diamond ist im Forum seltener gefragt und 
dementsprechend wenige Anworten könntst du hierfür bekommen, es sei den 
es ist ein "sprachliches" Problem (VHDL/ Verilog).


Gruss Uwe

von I. E. (anfaenger69)


Lesenswert?

Danke schon mal. Bevor ich nun beginne ein Buch zu bestellen, habe ich 
erst einmal Panik bekommen, dass ein FPGA für sequenzielle Aufgaben dann 
fast nicht geeignet ist, da man nur noch an Takten zählen / überwachen 
und neu setzen ist. Die Testplatine hat jedoch bereits ein schönes 
Programm drinnen, in dem ein großes grafisches Display angesteuert wird, 
Tasten überwacht werden, Schrittmotoren angesprochen werden usw. Wie 
würde da die Programmierung dann aussehen? Mehrere verschieden schnelle 
Takte, die bei bestimmten Werten jeweils eine andere Aktion auslösen? 
Wie können Speicherinhalte von externen Speichern auf das Display 
übertragen werden, wenn es keine sequenzielle Handlung gibt?

Das noch vorhandene Programm im XP10 ist leider ein überbleibsel des 
Vorbesitzers, also keine Möglichkeit mehr an den Source ran zu kommen. 
Das werde ich löschen / überschreiben müssen, wenn meine erste HEX Datei 
fertig ist.

von Martin (Gast)


Lesenswert?

Igor Ebner schrieb:
> handelt
>
> es sich bei FPGA's nicht um einen sequenziellen Programmablauf wie bei
>
> den AVR's, sondern um programmierte Abhängigkeiten (z.B. und-, oder-,
>
> nicht- Gatter).

Das klingt  so  als  ob Du keinen blassen Schimmer hast  was ein FPGA 
so macht  und was es kann.

Das führt  auf  die Frage:  was willst DU denn eigentlich damit machen?

von Uwe N. (ex-aetzer)


Lesenswert?

Lerne und Verstehe erstmal VHDL oder Verilog, je nach Geschmack.
Dann kannst du dir Gedanken über komplexere Dinge wie Grafik-Display 
Ansteuerung machen, sonst hat es keinen Sinn.

Am besten du vergisst temporär deine C-Kenntnisse - das ist, so komisch 
es klingt, eher verwirrend.

von Uwe N. (ex-aetzer)


Lesenswert?

Achja, du kannst aus deinem Board den Bitstream (kein HEX-File) 
auslesen, auf dem PC speichern und bei belieben später wieder neu 
einspielen.

von I. E. (anfaenger69)


Lesenswert?

Das mit dem Schimmer hast Du vollkommen recht :c)

Wie gesagt, mit den AVR's ist es überhaupt kein Problem. Code wird vom 
Prozessor oben nach unten (ab Adresse 0x000) abgearbeitet und fertig. 
Aber bei den FPGA's beginne ich nur sehr langsam gerade deren 
Funktionsweise zu verstehen und befürchte, dass ich in der 
selbstverwaltung von Zählern unter gehen werde, bevor ich mich an 
komplexe Handlungen heran wagen kann.

Mein Ziel ist es die vorhandene Testplatine soweit zu bringen, dass ich 
das Display und die Schrittmotoren selbst mit meinem Programm ansprechen 
kann und die Tastatureingänge selbst abfragen kann. Auch will ich später 
Sequenzen für die Schrittmotoren von einem USB Stick lesen, oder 
zumindest von einer SD Karte. Bis dahin ist es jedoch noch ein weiter 
weg. Deswegen erst einmal das kleine Ziel mit einer blinkenden LED, 
damit ich die Funktionsweise genauer erkenne und darauf aufbauen kann.

Ich könnte mir auch vorstellen, dass es für gewisse Funktionen (wie z.B. 
serielle Ausgaben, Displayansteuerungen, SD Karten lesen) fertige Libs 
gibt, die ich noch nicht entdeck habe :c)

von Uwe N. (ex-aetzer)


Lesenswert?

Igor Ebner schrieb:
> Wie gesagt, mit den AVR's ist es überhaupt kein Problem. Code wird vom
> Prozessor oben nach unten (ab Adresse 0x000) abgearbeitet und fertig.

Und genauso ist es bei VHDL eben NICHT. Das "Programm" arbeitet parallel 
- es ist ja auf Hardware abgebildet.
(es gibt, um die Verwirrung zu steigern, kombinatorische und 
sequentielle Logik - aber das steht alles im Lehrbuch)

Wie gesagt: vergiss ASM und C.

Igor Ebner schrieb:
> Ich könnte mir auch vorstellen, dass es für gewisse Funktionen (wie z.B.
> serielle Ausgaben, Displayansteuerungen, SD Karten lesen) fertige Libs
> gibt, die ich noch nicht entdeck habe :c)

Ja, das gibt es, z.B. für UARTs, SPI und komplexere Dinge wie DDRx und 
Ethernet Zeugs, dies aber meist nur als Lizenz, d.h. du musst blechen.

von I. E. (anfaenger69)


Lesenswert?

Gut, dann muss ich nun grundsätzlich überlegen ob ich auf diesen Zug 
aufspringen will oder nicht. Ich denke ich wäre bereit es zu lernen und 
will es versuchen. Sonst treibt man zurück und stirbt alt mit einem 
Atmel in der Hand :c)

Sqeuenzielle Logik klingt, glaube ich, nach dem, was ich brauche :c)

Ein VHDL Buch zu kaufen ist erstmal kein Problem - die kosten ja im 
Vergleich zur Hardware oder den Libs kaum was, nur habe ich in der 
Vergangenheit die Erfahrung gemacht, dass Bücher die ersten Schritte gar 
nicht beschreiben, sondern gleich ins eingemachte gehen, ohne speziell 
auf die vorhandene Hardware einzugehen. Ich bin mir fast sicher, dass in 
Deinem Vorschlag "The Designers Guide to VHDL" kein einziges 
Sterbenswörtchen über Lattice Diamond, ispVM oder ispLEVER verschwendet 
wurde. So habe ich bücher zwar gerne als nachzuschlagende Referenz 
verwendet, aber der erste Kickstart ist immer der schwierigste, wo ich 
auf Unterstützung Eurer Gemeinschaft hoffe :c)

Welche Hardware  Software  Libs hast Du (andere dürfen sich auch 
melden) im Einsatz um mit FPGA's herum zu spielen? Sollte ich - um die 
Umstellung zu Xilinx offen zu halten / universell zu bleiben, gleich 
eine andere Software einsetzen?

von Duke Scarring (Gast)


Lesenswert?

Igor Ebner schrieb:
> Mein Ziel ist es die vorhandene Testplatine soweit zu bringen, dass ich
> das Display und die Schrittmotoren selbst mit meinem Programm ansprechen
> kann und die Tastatureingänge selbst abfragen kann. Auch will ich später
> Sequenzen für die Schrittmotoren von einem USB Stick lesen, oder
> zumindest von einer SD Karte.
Das geht doch alles so "langsam", daß Du mit einem Controller viel 
schneller am Ziel bist...
Wenn ich nur den FPGA dafür verwenden dürfte, würde ich mir einen 
Softcore reinbauen und den herkömmlich programmieren...

Duke

von dito (Gast)


Lesenswert?

Wie hier schon gesagt wurde: Es ist der falsche Ansatz, sich gleich mit 
einem konkreten FPGA zu beschäftigen. Lerne erstmal die Sprache VHDL und 
mach dich mit dem Simulator (z.B. Modelsim) vertraut. Der nächste 
Schritt besteht dann darin, eine "synthesefähige Beschreibung" zu 
implementieren und zu simulieren. Erst dann kannst du dir Gedanken über 
einen konkreten FPGA machen.

von Uwe N. (ex-aetzer)


Lesenswert?

Igor Ebner schrieb:
> Gut, dann muss ich nun grundsätzlich überlegen ob ich auf diesen Zug
> aufspringen will oder nicht. Ich denke ich wäre bereit es zu lernen und
> will es versuchen.

Ja, sonst springst du nämlich VOR den Zug ;-)

Igor Ebner schrieb:
> nur habe ich in der
> Vergangenheit die Erfahrung gemacht, dass Bücher die ersten Schritte gar
> nicht beschreiben, sondern gleich ins eingemachte gehen, ohne speziell
> auf die vorhandene Hardware einzugehen.

Das macht bei einem Buch, indem es um eine HW-Beschreibungssprache geht 
ja auch Sinn - die Beschreibung der Herstellerspezifischen Tools würde 
den Rahmen komplett sprengen.

Igor Ebner schrieb:
> Welche Hardware  Software  Libs hast Du (andere dürfen sich auch
> melden) im Einsatz um mit FPGA's herum zu spielen?

Wenn du mich meinst - ich habe nur die zur Verfügung, die mir Xilinx mit 
seinem kostenlosen ISE mitliefert. Für den Anfang weit mehr als genug.

Igor Ebner schrieb:
> Sollte ich - um die
> Umstellung zu Xilinx offen zu halten / universell zu bleiben, gleich
> eine andere Software einsetzen?

Naja, das ist wie gesagt Geschmackssache. Für den Anfang ist Xilinx oder 
Altera besser geeignet, weil es einfach mehr Leute benutzen und man 
speziell bei Tool-Fragen eher eine Antwort bekommt.
Es ist ja auch die Frage der Verfügbarkeit der ICs.

von Harry (Gast)


Lesenswert?

Igor Ebner schrieb:
> Das mit dem Schimmer hast Du vollkommen recht :c)
>
> Wie gesagt, mit den AVR's ist es überhaupt kein Problem. Code wird vom
> Prozessor oben nach unten (ab Adresse 0x000) abgearbeitet und fertig.

Du kannst dir den Unterschied bildlich vorstellen:
Beim AVR schreibst du ein Programm für einen Prozessor.
Beim FPGA baust du selbst einen Prozessor.

von M. D. (wpmd)


Lesenswert?

Wenn du wissen willst wie Lattice Diamond funktioniert, dann schau ins 
User Manual von Diamond.
Da ist vieles drin beschrieben, inkl. den ersten Schritten um ein 
Projekt anzulegen, etc.
Wenn du das hast, brauchst du eigentlich nur eine VHDL oder Verilog 
Datei für dein erstes Ziel, die LED blinken zu lassen.
Wie du diese Datei schreibst, findest du, wie schon erwähnt wurde, in 
den entsprechenden VHDL / Verilog Büchern. Das ist vollkommen unabhängig 
von deiner Hardware.
Zurück im Diamond Manual findest du auch die infos wie du die FPGA Pins 
definierst, synthetisierst, ...
Damit sollte dass dann eigentlich klappen.

von I. E. (anfaenger69)


Lesenswert?

Jungs, danke schon mal. Das was Ihr schreibst öffnet mir schon weitere 
Fenster...

>daß Du mit einem Controller viel schneller am Ziel bist...
Yo, mein nächstes Ziel ist jedoch eher der Einstieg in die FPGA Welt, 
als nur diese Platine zum laufen zu bringen. Natürlich habe ich schon 
fertige Routinen für meinen Atmel, die ich nur noch zusammen werfen 
könnte :c)

> Wenn ich nur den FPGA dafür verwenden dürfte, würde ich mir einen
> Softcore reinbauen und den herkömmlich programmieren...

Aha... "Softcore" ... Hab gerade mal das Archiv auf dieser Seite bemüht. 
Jetzt glaube ich, kommen wir der Sache ganz nach dran. Könnte man also 
z.B. für eine VGA Ausgabe die Hardware bemühen und es laufen einer oder 
mehrere Cores, die eine sequenzielle Abhandung durchführen?

>Beim AVR schreibst du ein Programm für einen Prozessor.
>Beim FPGA baust du selbst einen Prozessor.
Jetzt hats geklingelt... Ein Softcore würde also die vorhandene Hardware 
ausnutzen, ob eine richtige Programmsequenz ablaufen lassen zu können? 
Die Libs (z.B. RS232 Ausgang auf einem Pin) würden die Hardware direkt 
ansprechen und in der Softcore würde ein z.B. C-Programm ablaufen, dass 
mit der Hilfe der RS232 Lib einen langen Text ausgibt?

von I. E. (anfaenger69)


Lesenswert?

Blöd beschrieben. Das C-Programm würde ja kompiliert werden, je nach dem 
was die Softcore an Befehlen kann... Richtig?

von Uwe N. (ex-aetzer)


Lesenswert?

Igor Ebner schrieb:
> Aha... "Softcore" ...

Konzentrier dich auf die Basics, sonst kommst du selbst mit einem 
einfachen Softcore wie dem PicoBlaze in Trudeln (hier geht nur ASM, 
dieser hat mit dem Atmel'schen ASM gar nix zu tun). Davon abgesehen hast 
du es dann mit mehreren unterschiedlichen Tools zu tun (tw. DOS)

Sowas wie MicroBlaze oder NIOS, welche mit C (gnucc) programmiert 
werden, sind noch in grösserer Entfernung.

von Martin (Gast)


Lesenswert?

Erstmal  solltest Du verstehen was ein FPGA überhaupt ist.

Ist Dir überhaupt  klar weshalb Du mit einem FPGA arbeiten willst?

Du  hast  doch keinen  blanken Schimmer von Digitaldesign, und da willst 
Du gleich mit einem FPGA  loslegen  ohne zu wissen was der macht?

Bleib  lieber bei Controllern und schreib Software, statt irgendwelche 
Gattergräber  auf einem FPGA  zu verdrahten.

Das bisschen Funktionalität  dass  Du  anscheinend  zu bauen 
beabsichtigst  passt locker in  einen Controller.

von hamse (Gast)


Lesenswert?

ja stimmt.... Jeder Softcore hat natürlich seine (Assembler-)Befehle.

Ich glaube du benötigst noch ein bisschen Nachhilfe was ein FPGA denn 
eigentlich ist.

Vielleicht mal auf Wikipedia oder ähnlichen Seiten nachlesen? Hier auf 
www.mikrocontroller.net gibts ja auch einiges im Wiki.

Nur soviel dazu: Ja, ein FPGA kennt im Endeffekt nur simple Gatter und 
Flip-FLops oder gehen wir noch eine Stufe tiefer: LUTs und Flip-FLops. 
Jede digitale Technik besteht aus diesen Grundbausteinen. Ein FPGA kann 
also prinzipiell dazu dienen digitale Schaltungen aufzubauen. Und damit 
man das nicht per Hand mit Gattern und Flip-Flops aufbauen muss gibt es 
Hardwarebeschreibungssprachen wie VHDL.

Wenn du das lernen willst: ok, aber frage dich doch nochmal vorher ob du 
das den wirklich brauchst für dein Problem, denn warum soll man sich das 
Leben unnötig kompliziert machen?
Etwas tolles ist es natürlich auch wenn du es um der Neugierde willen 
lernen möchtest, denn danach stehen dir viele Möglichkeiten offen. Es 
geht übrigens bei FPGAs nicht hauptsächlich darum nen Softcore 
reinzubauen und nen Prozessor zu haben....nein, ein FPGA ist eigentlich 
als Ersatz für ASICs zu sehen, also viel universeller. Es kann natürlich 
einen Prozessor ersetzen, kann aber VIEL mehr...

von I. E. (anfaenger69)


Lesenswert?

Das klingt sau-gut... :c)

Die Neugierde ist voll da, und im Falle eines Projektes kann ich 
zuschlagen und sagen: Ja, das könnte man so und so machen. Und schon 
habe ich einen Job :c)

Sehe ich das richtig, dass man mehrere Softcores auf einem FPGA parallel 
laufen lassen könnte, ohne dass sich diese gegenseitig stören, solange 
sie keine gemeinsamen Recourcen (z.B. Pins oder Speicher) verwenden? 
z.B. ein Softcore für ein VGA Signal, ein Softcore für den TCP Stack und 
pro Schrittmotor ein unabhängiger weiterer Softcore, die vom Timing 
komplett unterschiedlich laufen könnten? Also das was man früher nur mit 
mehreren Atmels auf einer Platine lösen konnte?

von Helmut S. (helmuts)


Lesenswert?

Nur mal so am Rande, 99% der FPGA-Designs benutzen überhaupt keinen 
Prozessor(Softcore) im FPGA. Die FPGAs werden hauptsächlich zur 
Echtzeit-Signalverarbeitung, Hardwaresteuerung, Grafikansteuerung oder 
für schnelle Kommunikationsprotokolle verwendet.

von I. E. (anfaenger69)


Lesenswert?

Verstehe, verstehe. Wie würdest Du z.B. eine CNC Fräse mit Webinterface 
kombinieren? Für die Motoren wäre der FPGA ja ideal. Der Webserver 
arbeitet jedoch mit vielen Variablen, Texten und Bildern, die in einem 
Speicher abgelegt sind, und je nach Fall unterschiedlich zusammen 
verknüpft und ausgegeben werden. Würdest Du auf die Platine einen FPGA 
und einen Atmel (für den Webzugriff) drauf setzen oder doch ein oder 
mehrere Softcores einsetzen?

von Uwe N. (ex-aetzer)


Lesenswert?

Igor Ebner schrieb:
> Verstehe, verstehe.

Aha, sorry - das bezweifel ich langsam. Du willst alles, und zwar 
sofort. Das wird nicht klappen.

Ich gebe es auf.

von Helmut S. (helmuts)


Lesenswert?

Igor Ebner schrieb:
> Verstehe, verstehe. Wie würdest Du z.B. eine CNC Fräse mit Webinterface
> kombinieren? Für die Motoren wäre der FPGA ja ideal. Der Webserver
> arbeitet jedoch mit vielen Variablen, Texten und Bildern, die in einem
> Speicher abgelegt sind, und je nach Fall unterschiedlich zusammen
> verknüpft und ausgegeben werden. Würdest Du auf die Platine einen FPGA
> und einen Atmel (für den Webzugriff) drauf setzen oder doch ein oder
> mehrere Softcores einsetzen?

Den Webserver mit Softcore im FPGA laufen zu lassen wäre Unfug. Also auf 
jeden Fall FPGA plus extra Processor-IC. Auf keinne Fall Softcore, denn 
da würde dein Projekt 10 Jahre dauern oder noch wahrscheinlicher nie 
fertig werden.

von M. D. (wpmd)


Lesenswert?

Uwe N. schrieb:
> Igor Ebner schrieb:
>> Verstehe, verstehe.

Uwe N. schrieb:
> Aha, sorry - das bezweifel ich langsam. Du willst alles, und zwar
> sofort. Das wird nicht klappen.

Das seh ich auch so!
Fang doch einfach mal mit deinem kleinen LED Programm an.
Dann verstehst du vielleicht wie ein FPGA im Grunde funktioniert.
Danach arbeitest du dich immer weiter voran, bis du irgendwann mal einen 
softcore (bei Lattice z.B. der Mico32) anfasst.
Dass du verstehen willst was mit FPGAs so alles möglich ist, ist ja ok. 
Wenn du aber selber einen Einstieg finden willst, dann fang schön klein 
an und gewöhn dich erstmal an die Beschreibungssprache und vor allem die 
parallele Arbeitsweise eines FPGA...

von I. E. (anfaenger69)


Lesenswert?

Das kommt Dir nur so vor. Ich will nicht "alles", ich würde aber gerne 
wissen, was man "alles" damit anstellen kann. Aber wenn mal so eine 
Aufgabe ansteht, dann will ich entscheiden können welche Möglichkeiten 
ich dafür habe und was für Hardware ich dafür benötige.

Sofort soll es auch nicht sein, wie ich schon geschrieben habe, bleibt 
die Testplatine noch wochenlang aus. Mit Euren Antworten habe ich schon 
mal die grobe Funktionsweite des FPGA's erkannt. Und als ersten Schritt 
will ich ja nur eine blinkende LED. Natürlich kann ich dafür einen Atmel 
verwenden, dann fehlt aber der Lerneffekt. Und man könnte ja auch sagen: 
Für eine LED nimmste lieber einen NE555 statt einen Atmel usw...

Deswegen bin ich schon sehr froh, dass Ihr mir soweit schon mal den 
richtigen Weg weist...

Ich bin gerade noch am suchen ob man wirklich mehrere Softcores parallel 
laufen lassen kann. Aber alle Einträge sprechen immer nur von einem 
Softcore.

OK, hab gerade gelesen: Also sollte ein Webserver in einen extra 
Prozessor hinein kommen... Somit vermutlich auch alle anderen komplexen 
Sachen wie USB, Ethernet, usw...

von Duke Scarring (Gast)


Lesenswert?

Igor Ebner schrieb:
> Ich bin gerade noch am suchen ob man wirklich mehrere Softcores parallel
> laufen lassen kann. Aber alle Einträge sprechen immer nur von einem
> Softcore.
Ja, kann man. Ein Xilinx-FAE berichtete mal von einem Kunden, der sechs 
MicroBlaze im FPGA verbaut hat. Und der Leon3 von Gaisler ist auch 
multiprozessorfähig.
Aber wenn man das macht, hat man akademisches Interesse oder zuviel Geld 
& Zeit.

> OK, hab gerade gelesen: Also sollte ein Webserver in einen extra
> Prozessor hinein kommen... Somit vermutlich auch alle anderen komplexen
> Sachen wie USB, Ethernet, usw...
Das passt doch alles zusammen in einen Cortex-M3. Nimm einen Controller, 
wo das Speicherinterface rausgeführt wurde. Dort kann dann der FPGA ran.
Softwareseitig würde ich ein real-time OS wie FreeTOS oder eCos 
verwenden. Da ist der IP-Stack und der Webserver schon fertig.

Duke

von Lupinus Digitalus (Gast)


Lesenswert?

Hallo Igor,

wenn Du Beispiele suchst, was man mit den FPGAs machen kann, dann schau 
doch mal bei Lattice in die Sektion Referenzdesigns auf deren Webseite:
http://www.latticesemi.com/products/intellectualproperty/aboutreferencedesigns.cfm
Dort findest du kostenfreie Designs in VHDL oder Verilog gemeinsam mit 
Dokumentation, die Dir die Funktion erklärt.

Das wäre doch schon einmal ein guter Startpunkt. Lass dich nicht von den 
unterstützten Bausteinenfamilien in den Spalten täuschen, die meisten 
Funktionen können auf beliebige Familen portiert werden.

Wenn Du neben Literatur eine andere Art der Einarbeitung suchst, dann 
kontaktiere einfach einen Schulungspartner des FPGA Herstellers. Ich war 
z.B. schon bei der Firma Evision in dem VHDL Einsteiger Kurs und habe 
gute Erfahrungen gemacht.

Das ist auf jeden Fall effektiver als andere Wege und kostet auch nur 
kleines Geld.

Aus persönlicher Erfahrung kann ich nur sagen, dass ich den Support von 
Lattice am Besten finde. Man kann in München auch mal anrufen und 
bekommt bei Problemem auch direkt Auskunft.

Viele Grüße

Lupi

von I. E. (anfaenger69)


Lesenswert?

OK, wenn ich die ganzen Antworten mal zusammenfasse kommt folgendes 
raus:

1) Ein Softcore ist zwar möglich, aber umständlicher zu behandeln, als 
ein normaler Prozessor. Damit wäre jedoch ein Programmablauf wie in 
einem Prozessor schon möglich. Mit einem Softcore in einem FPGA könnte 
man einen Prozessor weglassen, wenn der Prozessor:
A. nicht genug Ein- und Ausgänge hat
B. das geplante Gehäuse zu klein für zwei dicke Chips wäre
C. das Timing bei den Ausgängen nicht garantiert werden kann, wenn der 
Prozessor noch andere Aufgaben zu erfüllen hat.

2) Mehrere Softcores sind richtig schwrierig einzubauen, für 
Hobby-Bastler kaum zu machen.

3) Ein FPGA ist mehr für Echtzeit-Signalverarbeitung, Hardwaresteuerung, 
Grafikansteuerung oder für schnelle Kommunikationsprotokolle zu 
gebrauchen, trotzdem aollte ein externer Prozessor das Programm 
ausführen, also quasi die Logistik übernehmen.

Also ist das Programm auf der Test-Platine, die ich erwischt habe, eher 
eine Ausnahme, wie man es nicht machen sollte: Mit einem FPGA alles 
zusammen erledigen (Grafisches Display mit komplexen Menüs und 
Untermenüs und Texteingabefeldern, Tastatur, steuerung mehrer 
Stepmotoren...

@Lupi
den Gedanken einer Schulung hatte ich schon, bevor ich hier losgelegt 
hatte zu schreiben, evtl sollte ich auf diesen Zug aufspringen. Ich bin 
auch der Meinung, dass man mit einer Schulung an einem Tag mehr 
erreicht, als selbstständig mühsam wochenlang aus dem WWWald mit 
Millionen von Informationen das richtige heraus zu picken, die sich 
teilweise auch widersprechen.

Mein "ich-bin-neugierig-Plan" sieht also so aus:

1. jemanden suchen, der mir auf einer XP10 Experimentierplatine eine 
Privarschulung in Nähe München verpasst (meldet Euch :c) - das ist der 
schnellste Weg.

2. Wenn dieses fehlschlägt, dann Literatur besorgen, Codebeispiele für 
Lattice Diamond suchen und die LED zum laufen bringen, notfalls im Forum 
für jeden Schritt dumme Fragen stellen müssen - das ist der ganz lange 
Weg, aber günstig.

Wenn beides nicht klappt dann sich zu einer Schulung anmelden - das ist 
der teuerste Weg. Das ist der mittlere Weg, aber teuerer. Auch dann 
befürchte ich, dass die Schulung nicht Lattice-Hardware-nah abläuft, 
sondern nur allgemein, dass auf dem Lattice gar nicht laufen muss, weil 
dieser bestimmt einige Einstellungen hat, die nicht jeder FPGA hat.

Über die VHDL Sprache mache ich mir keine Sorgen, das wird bestimmt 
langsam aber sicher immer umfangreicher, wie bisher mein ASM, C, BASIC, 
HTML, SQL es auch wurden und immer noch wachsen.

von I. E. (anfaenger69)


Lesenswert?

Nachtrag:

ich habe mir gerade den Link von Lupi angeschaut:

http://www.latticesemi.com/products/intellectualproperty/aboutreferencedesigns.cfm

der XP selbst hat ja fast gar nichts an Referenz Designs. der XP2 selbst 
dafür umso mehr. Fällt der XP10C unter die XP Klasse oder unter die XP2 
Klasse?

von Lattice User (Gast)


Lesenswert?

Igor Ebner schrieb:
> der XP selbst hat ja fast gar nichts an Referenz Designs. der XP2 selbst
> dafür umso mehr. Fällt der XP10C unter die XP Klasse oder unter die XP2
> Klasse?

Der XP10C ist ein XP.
Die meisten dieser Beispiele sind generisch genug um auch auf anderen 
FPGA's zu funktionieren (z.B. Wishbone SPI).

Im Diamond ist es sehr einfach den typ zu wechseln, einfach Edit auf der 
Chipbezeichnung ganz oben in der Filelist.

Pin zuordungen gehen dabei natürlich kaput, IP Express Module (z.B. EBR) 
müssen danach auch neu generiert werden.

Unter "C:\lscc\diamond\1.3\examples" findet sich auch ein einfaches 
Zählerbeispiel in mehreren Varianten für die ersten Stolperversuche.

von Lattice User (Gast)


Lesenswert?

Was mir gerade erst selbst aufgefallen ist:

Unter
"C:\lscc\diamond\1.3\active-hdl\Samples_82"

Sind viele Beispiele für den Aldec Simulator einschliesslich eines 8051 
Softcores in VHDL. Allerdings sind diese nicht Lattice spezifisch.

von Steffen H. (avrsteffen)


Angehängte Dateien:

Lesenswert?

Hallo Igor,

Bin zwar selber noch ein Anfänger, aber ich kann dir hier mal ein paar 
Unterlagen posten die mir geholfen haben mich in die Welt der FPGA's 
einzuarbeiten.

>>>Warum nimmt nam einen FPGA und keinen µC?
Hier mal meine Gründe mich in die Welt der FPGA einzuarbeiten:

1) Man braucht für eine Echtzeitaufgabe einen Prozess den ein µC 
zeitlich nicht mehr schafft oder an seine Grenze stößt

2) Die Ausgangs/Eingangs-Pins sind (fast) frei programmierbar.

3) FPGA's haben schon interne Block-RAM integriert


Gruß Steffen

von hamse (Gast)


Lesenswert?

wegen Softcore: nette Spielerei, jedoch wird in der Entwicklung ein 
Softcore wohl eher selten und dann für Kleinigkeiten eingesetzt; bei 
Uni/FH wird ein Softcore sicher öfter benutzt, weil er Hardware spart.

Mehrere Softcores: natürlich möglich, aber das schreit geradezu nach 
einem größeren externen Prozessor.

Nicht zu vergessen: Viele VHDL-Libraries und Blackboxes (siehe: IP) 
werden von den FPGA-Firmen nur gegen Bares angeboten. Für Hobbybastler 
und Uni/FH gibt es natürlich auch viele freie 
VHDL-Funktionsblöcke/Libraries, die sind dann oft nicht vollständig bzw. 
ungetestet bzw. möglicherweise fehlerhaft.

von Uwe (Gast)


Lesenswert?

Ein Lehrbuch über Digitale Schaltungen und Bauelemente wäre für den 
Einstieg nicht schlecht (Also noch mit TTL Gattern und so). Zähler, 
FlipFlops, Kombinatorische Logik, Zustandsmaschinen usw. verstehen und 
praktisch anwenden lernen (Grundlagen der Digitaltechnik). Zu diesem 
Zeitpunkt sollte es dir möglich sein einen Algorithmus in eine 
Digitalschaltung zu konvertieren bzw. andersherum.
Danach kann man sich mit der Grafischen Entwicklung von kleinen CPLD 
bzw. FPGA Projekten beschäftigen. Später gehts dann mit VHDL Verilog 
bzw. RTL weiter.

von uwe (Gast)


Lesenswert?

Eine CPU ist nichts weiter als eine Komplexe FSM "Finit State Machine". 
google mal Zustandsmaschine oder "State Machine". Dann eine Bauen auf 
papier oder in einem C programm. Dann mal zwei oder mehr bauen die 
miteinander kommunizieren. Dann hast du im Prinzip mehrere parallele 
Prozesse die jeweils sequentiel abgearbeitet werden. Ich empfehle dir 
mit einem Lehrbuch für Digitale Schaltuingen anzufangen bei 
Logikfunktionen, FlipFlops, Counter, und Zustandsmaschinen. Danach 
schnappst du dir VHDL und baust deine eigene CPU. Plane aber etwas Zeit 
ein. Dann versuch ZWEI davon mal SINNVOLL an EINEM Problem arbeiten zu 
lassen (Synchronisation, Koheränz usw.)
Danach its ein weiterführender Lehrgang auf einer speziellen 
Zielhardware sicher nützlich (z.B. um die Tricks, Vor- und Nachteile 
einer Hardwareplattform bzw. Synthesewerkzeuge kennenzulernen)

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

PittyJ schrieb:
> Ashenden: The Designers Guide to VHDL ist recht gut.
Ack.
> Auch die Bücher von Pong P.Chu sind hilfreich.
Nak. Meist undurchschaubar und umständlich beschrieben.
Siehe auch den Beitrag "Suche VHDL Buch"

Igor Ebner schrieb:
> dann Literatur besorgen,
VHDL-Synthese Reichart&Schwarz

> Codebeispiele für Lattice Diamond suchen
VHDL-Code ist portierbar.

> und die LED zum laufen bringen,
Eine einzige LED?
Ich würde ein Lauflicht vorschlagen:
http://www.lothar-miller.de/s9y/archives/61-Lauflicht.html

> notfalls im Forum für jeden Schritt dumme Fragen stellen müssen
Die meisten dieser Fragen wurden schon gestellt. Gute 90% kann dir die 
Suche beantworten...

von I. E. (anfaenger69)


Lesenswert?

Na gut, soweit wie der FPGA theoretisch funktioniert ist mir nun 
bewusst, auch habe ich mit UND/ODER/NICHT/XOR usw. TTL Gattern auch 
schon eine 8086 CPU mit ALU, Program Counter, Taktung, Register usw. in 
der Lehre vor 25 Jahren aufgebaut - diese Kenntnisse sind also auch da. 
Aber leider hat mir keines Eurer geschätzten Bemühungen dabei geholfen 
dieses in ipsDiamond als ersten Schritt zu starten. Und wenn es nur 
darum geht einen einzigen UND Gatter auf den Lattice zu spielen. An 
Laufschrift noch gar nicht zu denken...

Auch weiss ich immer noch nicht, ob ich jetzt mehr Einarbeitungszeit in 
ipsDiamond stecken soll, oder gleich mit anderen Programmen beginnen 
soll, die evtl übersichtlicher sind, oder auch mit anderen FPGA Typen / 
Marken zurecht kommen. Deshalb kam auch meine Frage welche Tools Ihr 
benutzt?

von MCUA (Gast)


Lesenswert?

>Na gut, soweit wie der FPGA theoretisch funktioniert ist mir nun
>bewusst,
????
1. Grundlegende Logic verstehen , dann
2. verschiedene Logic-Blöcke, Routing-Möglichkeiten
    in PALs  GALs  PLDs / CPLDs / versch. FPGAs verstehen
3. erst dann Verdrahtung dessen , mittels Schaltplan, VHDL oder 
sonstwas.
(Ein Schaltplan ist norm.weise kein Programm! (kann aber im Sonderfall 
eins darstellen))

von Lattice User (Gast)


Angehängte Dateien:

Lesenswert?

Igor Ebner schrieb:
> Und wenn es nur
> darum geht einen einzigen UND Gatter auf den Lattice zu spielen. An
> Laufschrift noch gar nicht zu denken...
>

Wie wärs einfach mal eines von Lothars Beispiele in eine .vhd 
verfrachten und ausprobieren:

1. Diamond Starten
2. File->New-Project
3. FPGA auswählen,
4. lauflicht.vhd der Dateiliste hinzufügen.

Damit ist das Projekt angelegt.
Im Linkem Panel vo Filelist auf Process wechseln
Doppelclick auf "Place&Route Trace" um alle Schritte bis zur statischen 
Timing Analyse zu starten.

Bei obigen Vorgehen sind jetzt erstmal Pins automatisch zugewiesen 
worden, das kann man dann im "Spreadsheet View" auf die tatsächliche 
Pins ändern.
(Spreadsheet View wird mit dem Icon ganz links in der Toolbar 
aufgerufen)
Danach nochmal "Place&Route Trace"

Wenn man einen Schaltplan sehen will:
Synplify starten (im Tools Menu)
Im Synplify F8 (bzw Run->Run)
HDL-Analyst->RTL->Flattened View
(Damit habe ich angehängtes Bild erzeugt)




> Auch weiss ich immer noch nicht, ob ich jetzt mehr Einarbeitungszeit in
> ipsDiamond stecken soll, oder gleich mit anderen Programmen beginnen
> soll, die evtl übersichtlicher sind, oder auch mit anderen FPGA Typen /
> Marken zurecht kommen. Deshalb kam auch meine Frage welche Tools Ihr

Es gibt keine freien bzw bezahlbaren Tools die herstellerübergreifend 
funktionieren.
Altera User plagen sich mit Quartus, Lattice User mit Diamond, Xilinx 
User mit .....

von Duke Scarring (Gast)


Lesenswert?

Lattice User schrieb:
> Xilinx
> User mit .....
ISE/XST und Altium User mit dem jeweiligen Herstellertool (s.o.) und dem 
Wrapper von Altium (=doppelte Verwirrung für Anfänger, wenn mal was 
nicht geht).

Duke

P.S.: Actel(Microsemi) wäre da auch noch. Die verwenden wohl Libero.

von I. E. (anfaenger69)


Lesenswert?

Yo, die Info von Lattice User (Gast) ist das, was mir noch gefehlt hat - 
und nicht geschaft habe es aus Euch heraus zu entlocken :c)

Damit habe ich es endlich geschafft die oben angegebenen VHDL beispiele 
in den Lattice zu übertragen und die LED's blinken zu lassen. Meine 
Testplatine lebt :c)

Ich weiss dass ich erst einen Bruchteil der VHDL Sprache kenne und noch 
viel zu lernen habe. Ich will jetzt trotzdem mal in die Zukunft 
schweifen:
Auf der Platine befindet sich noch ein Hitachi TX14D12 Display, das 
direkt zum Lattice verdrahtet ist:

Pins: DTMG, DCLK, R0-R5, G0-G5, B0-B5

Werde ich mir nun die Arbeit von Anfang an machen müssen und die 
Ansteuerung für das Display anhand des Datenblatts komplett selbst 
zusammen schreiben müssen, oder gibt es bereits Module oder Code 
Schnipsel dafür?

von martin (Gast)


Lesenswert?

Hallo Igor,

ich wundere mich  etwas  dass Dich  noch niemand
auf  opencore.org  aufmerksam gemacht hat.


Ich habe  mal  nach Lattice  xp10  gegoogelt.  Scheint  ein seltenes 
board zu sein,    kein Link  auf Demodesigns,  nichts.

Das Handbuch
http://www.msc-ge.com/download/lattice/files/ebug12.pdf

ist  auch  nicht toll,  sehr  kurz.  Macht  auf  mich keinen guten 
Eindruck.
Musst Du unbedingt  dieses  board benutzen?

Ich habe  auch Dein Posting  auf  my-hammer gesehen.

Viel  zu ambitioniert, Dein plan.

Ganz  zu schweigen  von    I2C, Seriell, evtl TCP Stack, evtl Displays.

Besorg  Dir  ein besseres  Evaluationsboard,  und nicht von Lattice, 
die Firma    zu klein.  Nimm Xilinx  oder Altera.

Und nimm ein board  mit einem Display drauf.

Ich selbst  habe  ein Altera-Evalkit  von Terasic .
http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=56&No=372

Da ist  auch  ein  nios II softcore drauf.
Auch wenn Du da die Finger von lassen solltest.

von I. E. (anfaenger69)


Lesenswert?

Yo, ich habe auch das Gefühl, dass ich mit dem Lattice so ziemlich 
alleine da stehe. Ich habe halt das schöne Board vor mir liegen, hat 
mich nichts gekostet, hat das große Display, Metallfront und noch eine 
Folientastatur drauf, USB, SD Kartenleser, einen AD Wandler, einen RAM 
Chip und einen Flash Chip dabei, und sogar noch ein USB 
Programmierkabel, also alles was man sich so wünscht. Also wollte ich 
das als Einsprung in die FPGA Welt verwenden. Für einen Privatunterricht 
wird sich vermutlich auch niemand melden, wenn sich so wenige auskennen 
bzw das mühsam erarbeitete lieber für sich behalten möchten. Vermutlich 
wird die schöne Platine in die Tonne wandern und ich arbeite mich zuerst 
in die ARM Prozessoren ein...

von martin (Gast)


Lesenswert?

Jetzt   also  solls ein ARM sein.
Deine Postings  sind  doch  die Totalverarsche.

Verkauf  das Teil  bei ebay,  und gut  is.

von I. E. (anfaenger69)


Lesenswert?

Den AVR kenne ich schon einigermassen und wollte was neues kennen 
lernen, wenn einem schon so eine Platine in die Hände fällt.

Warum soll das eine Totalverarsche sein? Darf ich Dich mal von weiter 
oben zitieren?

Autor: Martin (Gast)
Datum: 10.08.2011 14:25
..."Bleib lieber bei Controllern"...

Wie ich schon weiter oben geschrieben habe bin ich am überlegen ob ich 
auf den Zug aufspringen soll oder nicht. Der Lattice scheint dafür 
weniger geeignet zu sein, obwohl mich das kleine bisschen, was ich in 
VHDL zusammen bekommen habe, schon fasziniert hat. Vielleicht bekomme 
ich ja mal eine Xilinx Platine in die Hand. Bis dahin schaue ich mich 
mal weiter um ( ohne jemanden verarschen zu wollen, nenn wir es 
Wegfindung... )

von Yatko J. (denim)


Lesenswert?

@ Igor Ebner

Hallo Igor, Ich weiss, der Thread ist relativ alt, aber hoffe trotzdem, 
du ließt noch mit :)
Mir geht es ähnlich wie dir. Komme aus der AVR Welt und möchte nichts 
verpassen und ständig hinzulernen.
Wie weit bist du nun gekommen und hast du nun FPGA drauf :) ?
Welches Projekt bist du als erstes angegangen und was hat dir am besten 
geholfen FPGA zu verstehen ?

von I. E. (anfaenger69)


Lesenswert?

Nein, ich habe aufgegeben...

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Yatko Jaens schrieb:
> Welches Projekt bist du als erstes angegangen
Ein Blinklicht und dann den Binärzähler auf LEDs, danach das Lauflicht, 
dann die serielle Schnittstelle, dann einen Modellbauservo über RS232 
ansteuern, dann auf einem VGA Monitor Pong spielen...

> und was hat dir am besten geholfen FPGA zu verstehen ?
Einfach damit herumspielen: Learning by doing!

Auf keinen Fall darfst du dir ein Riesenmegamonsterprojekt vornehmen und 
dann in einem Monat fertig sein wollen. Das sind dann immer die 
Kandidaten, die ihr EVAL-Board nach 3 Monaten wieder bei EBAY 
verticken...

Als Tipp: um zu sehen, ob dir das überhaupt liegt kannst du ja einfach 
mal die Software (ISE) herunterladen und ein Blinklicht machen:
http://www.lothar-miller.de/s9y/archives/81-Xilinx-ISE-Step-by-Step.html
http://www.lothar-miller.de/s9y/archives/80-Hello-World!.html

von I. E. (anfaenger69)


Lesenswert?

Hallo Lothar,

das ging sogar noch, das hat auch soweit funktioniert.

Bei mir scheiterte es dann als ich ein Softcore einbauen wollte. Das 
Softcore selbst ging auch noch, aber sämtliche vom Hersteller (Digilent) 
spezifisch für das Board zur Verfügung gestellten Demo Projekte und auch 
fertige Libraries funktionierten nicht, weil sich die Versionsnummer der 
Xilinx SDK/EDK/ISE geändert hat. Die Bescheibung passte nicht mehr und 
die IDE spukte Fehler aus, die korrigiert hätten werden müssen. Es kam 
keine Hilfe vom Hersteller, das interessierte ihn nicht einmal, dass 
seine alten Demos nicht mehr funktionieren, es kam auch keine brauchbare 
Hilfe aus dem Forum.

Nach mehrmonatigem Herumprobieren, lesen, googeln, dumme Fragen stellen 
und angepöbelt werden kam ich keinen einzigen Schritt mehr weiter und 
habe die Lust daran verloren.

In weiser Voraussicht dachte ich mir, wenn ich ein 1000€ teueres Board 
kaufe, dass ich dann nicht so schnell aufgebe, habe ich es doch noch ein 
paar mal wieder angepackt, und scheiterte immer wieder an der gleichen 
Stelle. Das frustriert. Ein Hobby sollte nicht frustrieren... Und so 
weise war der Kauf dann auch nicht, eher dumm :c)

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Igor Ebner schrieb:
> Bei mir scheiterte es dann als ich ein Softcore einbauen wollte.
Der kluge Schluss daraus kann sowieso nur sein: ein Softcore ist 
Siliziumvergeudung. Ein FPGA ist super für kundenspezifische 
Anwendungen, aber was ist an einem CPU-Core üblicherweise spezifisch? 
Wenn Prozessor im FPGA, dann ein Hardcore. Denn mit den kompakten ARMs 
kommen die jetzt (nach anfänglichen Versuchen mit AVR- und PPC-Cores) so 
langsam wieder ins Rennen.

> es kam auch keine brauchbare Hilfe aus dem Forum.
Weil das im echten Leben kaum einer macht. Bestenfalls an ein paar 
Hochschulen wird diese Softcores-könne-Alles Lehre noch verbreitet...

> wenn ich ein 1000€ teueres Board kaufe
Autsch, so ein Board wird garantiert einen spürbaren Wertverlust haben. 
Aber bei der ganzen Softcoregeschichte kommen dann ja noch Lizenzen und 
Software dazu...

von I. E. (anfaenger69)


Lesenswert?

Ein FPGA mit Hardcore klingt gut...
Hab mal gegoogelt, meinst Du sowas wie der Actel SmartFusion?

Ich habe die Befürchtung, dass man da mangels Verbreitung auch keine 
große Hilfe erwarten kann.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Igor Ebner schrieb:
> Ein FPGA mit Hardcore klingt gut...
> Hab mal gegoogelt, meinst Du sowas wie der Actel SmartFusion?
Ich war da in Gedanken eher bei Xilinx und Altera:
http://www.altera.com/devices/processor/arm/cortex-a9/m-arm-cortex-a9.html
http://www.embedded.com/electronics-products/electronic-product-reviews/embedded-tools/4115523/Xilinx-puts-ARM-core-into-its-FPGAs

von Josef G. (bome) Benutzerseite


Lesenswert?

Lothar Miller schrieb:
>> wenn ich ein 1000€ teueres Board kaufe
> Autsch, so ein Board wird garantiert einen spürbaren Wertverlust haben.
> Aber bei der ganzen Softcoregeschichte kommen dann ja noch Lizenzen und
> Software dazu...

Für Hobbyisten: http://www.bomerenzprojekt.de

Lizenzkosten bei Xilinx und bei Digilent: Null
Lizenzkosten für Konfiguration incl. 8bit-Softcore: Null

Kosten für Hardware bei trenz:
Spartan 3E Starter Board ca. 145EUR +MwSt
oder:   Nexys2 500K  114EUR +MwSt
Academic noch billiger.

von Josef G. (bome) Benutzerseite


Lesenswert?

Vorteil von Softcore gegenüber Hardcore:
Man kann das FPGA auch für etwas anderes verwenden.

von Klaus (Gast)


Lesenswert?

Josef G. schrieb:
> Für Hobbyisten: http://www.bomerenzprojekt.de

Erstens: Hör doch bitte mal auf, überall wo es auch nur entfernt um uC 
Cores im FPGA geht, mit deinem Projekt rumzuspammen.

Zweitens: Dein letzter Beitrag ergibt nicht den leisesten Sinn. Egal, ob 
man einen Hardcore oder Softcore im FPGA hat, man kann es immer 
gleichzeitig auch für andere Sachen benutzten.

von Josef G. (bome) Benutzerseite


Lesenswert?

Klaus schrieb:
> Zweitens: Dein letzter Beitrag ergibt nicht den leisesten Sinn. Egal, ob
> man einen Hardcore oder Softcore im FPGA hat, man kann es immer
> gleichzeitig auch für andere Sachen benutzten.

Ich hätte besser schreiben sollen: Ein Hobbyist, der sich
ein FPGA-Board zulegt, wird sich nicht durch die Wahl
des FPGA auf eine bestimmte CPU festlegen wollen.

von W. M. (thematsche)


Lesenswert?

Schau dir mal die Seite etwas genauer an:

http://www.fpga4fun.com

von Josef G. (bome) Benutzerseite


Lesenswert?

Walter M. schrieb:
> Schau dir mal die Seite etwas genauer an:
>
> http://www.fpga4fun.com

Kannte ich noch nicht. Was mir bei der "SPOC"-CPU aufgefallen ist:
> Part 6: Hardware architecture ... coming soon

Coming soon seit 2006! Meine CPU ist offengelegt.

von W. M. (thematsche)


Lesenswert?

Josef G. schrieb:

> Kannte ich noch nicht. Was mir bei der "SPOC"-CPU aufgefallen ist:
>> Part 6: Hardware architecture ... coming soon
>
> Coming soon seit 2006! Meine CPU ist offengelegt.

sag mal, ist das jetzt dein thread oder was?

Der Post war an den TO gerichtet!!!!

von Josef G. (bome) Benutzerseite


Lesenswert?

Walter M. schrieb:
> Der Post war an den TO gerichtet!!!!

Sorry.

von Duke Scarring (Gast)


Lesenswert?

Josef G. schrieb:
> Coming soon seit 2006! Meine CPU ist offengelegt.
Aber Josef, wir haben 2013 und nicht 1970.

Mir reicht schon ein Blick in Deine Signaldefinitionen, um davon Abstand 
zu halten.
Schau Dir bei Lothar an, wie lesbarer Code aussieht. Code, den man auch 
einem Anfänger/Einsteiger zumuten kann.

Duke

von Michael G. (tronic_9)


Lesenswert?

Lupinus Digitalus schrieb:
> Wenn Du neben Literatur eine andere Art der Einarbeitung suchst, dann
> kontaktiere einfach einen Schulungspartner des FPGA Herstellers. Ich war
> z.B. schon bei der Firma Evision in dem VHDL Einsteiger Kurs und habe
> gute Erfahrungen gemacht.

Schon mal dort was bestellt?

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
Noch kein Account? Hier anmelden.