Hallo erstmal. Ich möchte mich gerne mit FPGAs beschäftigen. Erfahrung habe ich bisher nur in 8Bit und 16Bit PICs gesammelt. Dazu stelle ich mir einige Fragen. Doch zuerst wollte ich erläutern, wie ich vorgehen wollte: Zuerst will ich mich in die Arbeitsweise der FPGAs einlesen (bin ich auch schon bei). Danach wollte ich etwas mit dem Tool und einem Demo bzw Devboard rumspielen und ein gewisses Gefühl für bekommen. Mein Langzeitziel wäre es, einen Logicanalyser oder gar kleines, unretables, dafür selbst erstelltes Lowend-Oszi zu bauen. Aus Primär Kostengründen würde ich gerne bei Max. 4 Lagen bleiben, was also BGA ausschließen dürfte. Aber es soll ja auch kein 500MSPS Oszi werden. Doch ich habe dazu noch ein paar Fragen. 1. Ich habe hier bereits 2 Boards. Eins ist mit einem Spartan3 (XC3S100E), das andere hat einen Cyclone IV (EP4CE6E22C8N) drauf. Die Peripherie ist bei beiden ähnlich. SDRAM, Taster, 7Segmentanzeigen, ... Ich würde ungern mich in dem Cyclone4 und Alteras Software auseinandersetzen und dann aus irgendeinem (vorhersehbaren) Grund umentschieden und mich dann in die Xilinx's einarbeiten zu müssen. Ich tendiere eher zum Cyclone, aber das hat kaum spezielle Gründe. Aus meiner Sicht sind die Pro und Cons: Cyclone/Altera: + bei Mouser zu haben, wo ich eigentlich ausschließlich bestelle + das Board ist minimal besser ausgestattet - Die neueren Cyclone5 gibt es nur in BGA - Soweit ich das herausgelesen habe, sind sie langsamer als die Spartans, zumindest was DRAM Anbindung angeht. Spartan/Xilinx: + Schneller + Spartan6 auch in TQFP - Muss separat bei einem anderen Händler bestellt werden Die Frage ist auch, ob ich denn die neuste Generation brauche, oder ob ein Spartan3 bzw Cyclone4 reicht. Und wie sieht es mit der Software aus? Unterstützt die Freie Version die Spartan3&6 bzw Cyclone4? Oder sonstiges, weswegen eine der beiden Programme vorzuziehen ist? Sehr wahrscheinlich gibt es ähnlich wie bei ARM, AVR, PIC, MSP.... keine Richtige Antwort, aber mich würden Meinungen und Erfahrungen interessieren. 2. Was ist mit Lattice? Würde mir jemand dazu so sehr raten, dass ich mir davon noch ein Board holen sollte? Wenn ja, wieso? Ich will die jetzt nicht unter den Teppich kehren, aber bei den anderen beiden habe ich bereits ein Board. Lattice FPGAs habe ich schon öfter in (Teardownvideos von) Oszis gesehen, auch von Namenhaften Herstellern. Da denke ich mir wiederum, wieso sollten sie auf so einen kleinen (im Vergleich zu Altera und Xilinx) Hersteller setzen? Haben die vielleicht Features, die bei Oszis gut einsetzbar sind? Oder ist es nur der Preis? 3. Lohnt es sich, mit dem "zusammenklicken der Logikgatter" zu beschäftigen, oder doch gleich von Anfang an mit VHDL oder Verilog? Mir gefällt es grafisch ganz gut, nur irgendwann wird es sich unübersichtlich. Zudem wird bestimmt nicht ohne Grund fast ausschließlich eine der beiden Sprachen genutzt. 4. Haltet ihr den beschriebenen Weg für beschreitbar oder ratet ihr mir etwas anders bzw in einer anderen Reihenfolge zu machen? 5. Kann man diese überteuerten Konfigspeicher eigentlich durch normale Flash- oder EEPROM Bausteine ersetzen? Meine da mal was gelesen zu haben, das gewisse Speicher gehen. Das war es erstmal. Es kommen aber wahrscheinlich noch ein paar mehr Fragen. Vielen Dank schon mal an alle Schreiber
- Cyclone 5 ist neu, Spartan 6 veraltet. Ich würde den S6 eher mit C4 vergleichen. Spartan 6 ist ein aussergewöhnlich preiswerter Chip, nicht unbedingt repräsentativ, - Altera bietet mehr in der freien Toolchain. Die ist einfacher und linearer zu bedienen. Besonders, seit ISE durch Vivado ersetzt wurde, - Wenn Du Dich professionell entwickeln willst, sollte man aber wissen, wie was wo eingesetzt wird: Das Verhältnis in der Industrie, die FPGAs selber einsetzen, also dafür entwickeln, ist etwa: Xilinx in rund 90% der Firmen verwendet - Tendenz sinkend Altera in rund 60% der Firmen verwendet - Tendenz steigend Lattice in rund 15% der Firmen verwendet - Tendenz unbekannt Actel in weniger, als 10% der Firmen verwendet. > Logigatter Zum Verständnis ja, > Kann man diese überteuerten Konfigspeicher eigentlich durch normale Flash- oder EEPROM Bausteine ersetzen Ja und es geht auch ohne, mit einem uC der das aktiv aus seinem Flash tut.
M. schrieb: > Cyclone 5 ist neu, Spartan 6 veraltet. Ich würde den S6 eher mit C4 > vergleichen. Spartan 6 ist ein aussergewöhnlich preiswerter Chip, nicht > unbedingt repräsentativ, Repräsentativ ist ja egal. Wenn die Super Preiswert sind, ist das ja eher ein Grund FÜR die Reihe. Ich hab mir mal die Tabellen angeguckt: https://www.altera.com/solutions/technology/external-memory/overview.html Und www.xilinx.com/products/silicon-devices/fpga.html Da steht, der Spartan6 kann DDR3 Speicher mit 800MHz ansteuern, der Cyclone5 "nur" mit 400MHz und der Cyclone4 garnier DDR3. Auch wenn ich vielleicht kein DDR3 RAM nutze und auch nicht bis zu 800MHz nutze, scheint der Spartan6 mehr Power zu haben, und das bei geringerem Preis... M. schrieb: > Ja und es geht auch ohne, mit einem uC der das aktiv aus seinem Flash > tut. Gut. Ein uC wird eh drauf sein, dann bietet sich ja die Verwendung seines Flashes an.. Kannst du auch was zu 2. sagen?
ich schrieb: > > Ich hab mir mal die Tabellen angeguckt: > https://www.altera.com/solutions/technology/external-memory/overview.html > Und > www.xilinx.com/products/silicon-devices/fpga.html > > Da steht, der Spartan6 kann DDR3 Speicher mit 800MHz ansteuern, der > Cyclone5 "nur" mit 400MHz Das steht da nicht. Xilinx gibt die Geschwindigkeit in den auch anderswo üblichen Werten ohne Einheit an, und das sind Mbps. Während Altera beides angibt, sowohl Mpbs als auch MHz. Cyclon V und Spartan 6 sind somot gleichauf, beide max 400 MHz. ich schrieb: > Kannst du auch was zu 2. sagen? Lattice ist vor allem mit kleineren FPGAs erfolgreich, ein Marktsegment das von Xilinx vernachlässigt, und von Altera gerade erst wieder endeckt (Max10) wird.
> Ja und es geht auch ohne, mit einem uC der das aktiv aus seinem Flash tut. Leider brauchen die heutigen FPGAs so viel Konfigurations-Daten, dass dafür das Flash der embedded controller nicht reicht. Deshalb landet man meistens doch wieder bei zusätzlichen Flash-Speichern.
Helmut S. schrieb: > Leider brauchen die heutigen FPGAs so viel Konfigurations-Daten, dass > dafür das Flash der embedded controller nicht reicht. Deshalb landet man > meistens doch wieder bei zusätzlichen Flash-Speichern. Das ist wahr. Jaja. Mir geht's darum, dass der Speicher auf meinem Altera-Board (EPCS4SI8), ein popeliges 4Mbit Speicher bei Digikey knapp15€ kostet, die 16Mbit Version sogar 17. Ein normaler, serieller Flash mit 4Mbit bekommt man dagegen ab 22cent, 16Mbit ab 46cent. Für die 15€ bekomme ich ja schon den Cyclone4 und n dsPIC dazu...
ich schrieb: > Da steht, der Spartan6 kann DDR3 Speicher mit 800MHz ansteuern, der > Cyclone5 "nur" mit 400MHz und der Cyclone4 garnier DDR3. Auch wenn ich > vielleicht kein DDR3 RAM nutze und auch nicht bis zu 800MHz nutze, > scheint der Spartan6 mehr Power zu haben, und das bei geringerem > Preis... Du machst dir zu viel Sorgen um die Zukunft. Das sind alles Sachen, die dich erst in einem Jahr interessieren werden. Und mit der bis dahin gewonnenen Erfahrung kannst du die Fragen, die du jetzt hast, selber beantworten... ich schrieb: > Zuerst will ich mich in die Arbeitsweise der FPGAs einlesen (bin ich > auch schon bei). Die grundlegende Arbeitsweise ist simpel: es gibt Flipflops und LUTs. Das ist der Teil, in dem du dich mit "deiner" Logik und "deiner" Hardware austoben kannst. Und dann haben die FPGAs "aussen rum" schon Hardware integriert, die man auch auf der Platine realisieren könnte, die man heute aber direkt auf dem Chip macht, weil man sie sowieso "immer" braucht: RAM, Taktmanager, Serializer und Deserializer... Lattice User schrieb: > Lattice ist vor allem mit kleineren FPGAs erfolgreich, ein Marktsegment > das von Xilinx vernachlässigt, und von Altera gerade erst wieder endeckt > (Max10) wird. Wobei auch einer der "kleinen" Lattice FPGAs die Zielanforderungen (Logik-Analyzer und Oszilloskop) locker erfüllen kann... ich schrieb: > 3. Lohnt es sich, mit dem "zusammenklicken der Logikgatter" zu > beschäftigen, oder doch gleich von Anfang an mit VHDL oder Verilog? Mir > gefällt es grafisch ganz gut Siehe den Beitrag "Re: kruder Fehler bei FPGA-Programmierung (ISE WEBpack-Schematic)" ich schrieb: > Würde mir jemand dazu so sehr raten, dass ich mir davon noch ein Board > holen sollte? Ich würde an deiner Stelle einfach mal mit irgendwas anfangen, statt zig Eval-Boards zu kaufen...
Tach, das Thema mit den LA kommt immer wieder in den verschiedenen Threads auf, mein Fazit: Kaum eines dieser Projekte wird etwas, und wenn, dann ist es kaum brauchbar. Von einem echten Produkt als Tool für andere würde ich absehen. Zum Lernen aber: Einfach weitermachen! Was man dann schliesslich für HW einsetzt, ist fast schon egal. Ansonsten etwas persönlicher Senf: - Xilinx: Wenn man mit den Bugs (ISE, Spartan6 RAM-Probleme) und dem fehlenden Support für "kleine" Entwickler leben kann: Immer noch erste Wahl, schlicht wegen der Verfügbarkeit, und wenn man "high end" braucht. - Lattice: Der Support ist vorhanden, wird allerdings offenbar über Indien abgewickelt. Für knifflige Fragen braucht man schon einen recht direkten Kanal. Relativ viel machen kann man mit den günstigen MACHXO2. Da hat Lattice eindeutig die Nase vorn. Auch die Toolchain ist ganz solide, abgesehen von den mico Build&Debug-Umgebungen. - Altera: Das Quartus-Gezuppel ist mindestens so anstrengend zu bedienen wie ISE, ansonsten schenkt sich bei deren FPGAs nix. Spezielle Schmankerl wie bei Lattice fehlen, allerdings haben sie möglicherweise mit ihren MAX-Serien wieder einen Coup gelandet, man wird sehen...Noch sind die Dinger zu teuer. Mehr Gedanken würde ich mir über die Simulator-Umgebung machen. Die ist schlussendlich entscheidend fürs Funktionieren des Designs. Timing-Analyse des synthetisierten Designs kann man auch gut noch ohne HW machen..
ich schrieb: > Repräsentativ ist ja egal. Die Aussage bezog sich darauf, dass der Spartan 6 nicht repräsentativ ist für den Umstand, dass FPGAs von Xilinx bei gleichem Preis besser oder schneller sind. Mit "repräsentativ" im Sinne von wertschätzungssteigernd hat das nichts zu tun.
Lothar Miller schrieb: > Du machst dir zu viel Sorgen um die Zukunft. Das sind alles Sachen, die > dich erst in einem Jahr interessieren werden. Und mit der bis dahin > gewonnenen Erfahrung kannst du die Fragen, die du jetzt hast, selber > beantworten... Richtig. Meine Sorge ist, dass ich in 1 oder 2 Jahren an dem Punkt bin, an dem ich etwas anspruchsvolleres machen will (z.B. eben ein Oszi) und mir denke "hätte ich mal mit Spartan dratt Cyclone angefangen", bzw. anders rum... Vermutlich ist es egal. Mir gefällt das Cycloneboard besser, bei Spartan habe ich aber die Möglichkeit DDR3 an einen FPGA in TQFP (Spartan6) dranzuhängen.. Naja, ich denke es wird das Cycloneboard. Lothar Miller schrieb: > Ich würde an deiner Stelle einfach mal mit irgendwas anfangen, statt zig > Eval-Boards zu kaufen... Zugegeben hab ich keins der beiden Boards hier gekauft sondern geschenkt bekommen. Ich würde mir auch nur ein Latticrbord holen, wenn hier jemand meint, dass es (mit Aussicht auf ein Oszi) VORREILE bringt. Und ich dachte eben, dass es die gibt, da ich die häufig mal gesehen habe. Fitzebutze schrieb: > Von einem echten Produkt als Tool für andere > würde ich absehen. Zum Lernen aber: Einfach weitermachen! Genau dazu ist es da. Ich habe hier einen LA (wenn auch nur in Verbindung mit PC) und ein (Analog)Speicheroszi. Ich find die Technik dahinter interessant und ich würde es gerne mal Probieren. Mit Display, Knöpfen, ... zuerst auch ggf mit nur 1MPSP, wofür ich nichtmal ein FPGA bräuchte. Einfach um zu lernen. Wenn das Gerüst steht, würde ich "einfach" nur die Samplegeschwindigkeit und den Speicher hochdrehen und dabei das dafür notwendige lernen, sprich hauptsächlich Designregeln etc. Fitzebutze schrieb: > Mehr Gedanken würde ich mir über die Simulator-Umgebung machen. Die ist > schlussendlich entscheidend fürs Funktionieren des Designs. > Timing-Analyse des synthetisierten Designs kann man auch gut noch ohne > HW machen.. Ich dachte, das wäre bei der Umgebung (ISE bzw Quartus) dabei!? Wenn nicht, was ist denn zu empfehlen? M. schrieb: > Mit "repräsentativ" im Sinne von wertschätzungssteigernd hat das nichts > zu tun. Nene. Ich meine ja nur, das es, wenn ich nur Cyclone6 nutze, egal ist, ob die anderen Xilinx Familien überteuert sind oder nicht. Daher ist es egal, ob sie für Xilinx allgemein repräsentativ sind oder nicht. Vielen Dank schonmal für die ganze Resonanz :) Und Sorry für die Rechtschreibfehler. Die Autokorrektur ist zum k***en. Ist jetzt aber aus.
ich schrieb: > Richtig. Meine Sorge ist, dass ich in 1 oder 2 Jahren an dem Punkt bin, > an dem ich etwas anspruchsvolleres machen will (z.B. eben ein Oszi) und > mir denke "hätte ich mal mit Spartan dratt Cyclone angefangen" Mach dir erstmal lieber Gedanken in welcher "Sprache" du dein Design beschreiben willst. Mit den Schemaeditoren wird es schnell unübersichtlich und die Synthesewerkzeuge werfen dir viel mehr Fehlermeldungen um die Ohren. Du wirst dich wundern was die alles an einer einfachen Verbindung mäkeln können. Das wird schnell frustierend. Also nimm gleich eine Hardwabeschreibungssprache, die ist Herstellerunabhängig und du kannst das Wissen übertragen. > Genau dazu ist es da. Ich habe hier einen LA (wenn auch nur in > Verbindung mit PC) und ein (Analog)Speicheroszi. Ich find die Technik > dahinter interessant und ich würde es gerne mal Probieren. > Mit Display Da musst du schauen welches Board dein Display unterstützt > Knöpfen Buttons haben fast alle Eval Boards, Drehencoder eher keines. > 1MPSP Da langweilt sich jedes FPGA zu Tode;) > Wenn das Gerüst steht, würde ich: > "einfach" nur die Samplegeschwindigkeit Hochdrehen Das geht nur bis zu gewissen Geschwindigkeiten, irgendwann muss du auf LVDS umsteigen und dafür sind nicht alle Boards geeignet, auch wenn der FPGA darauf es kann. > und den Speicher hochdrehen Du hast FPGA internen Speicher, den kanst du "hochdrehen" bis zum stärksten FPGA das mit der kostenlosen Version noch funktioniert. Du hast externes SRAM (langsamer, niedrige Speicherdichte) Wenn du noch mehr willst dann: externes DDRx Ram. Bei DDR Ram sollte das FPGA Hardware dafür haben oder ein kostenloser IP-Core zu Ansteuerung dabei sein. .. Wenn du das eine Jahr Vollzeit dafür Zeit hast könnte das schon was werden un dein Board zu klein werden. No Risk no Fun. Aber der Weg ist das Ziel und erworbenes Wissen kann dir keiner mehr nehmen.
M. schrieb: > - Cyclone 5 ist neu, Spartan 6 veraltet. Ich würde den S6 eher mit C4 > vergleichen. Spartan 6 ist ein aussergewöhnlich preiswerter Chip, nicht > unbedingt repräsentativ, Naja, die Preis-Gewohnheiten in diesen Gefilden sind schon einigermaßen anders, als man es als bastelnder Interessent gebrauchen kann: Spartan 6: fängt bei 11€ an und landet dann ganz schnell jenseits von 20€. Der größte Spartan 6, den man noch selber aufsetzen kann (xx9) liegt bei 16..17€ Artix: fängt bei 26€ an, Mittelfeld um 35..40€ Kintex: fängt bei 130€ an. Cyclone 3: fängt bei 12€ an. Cyclone 5: fängt bei 35€ an. OK, wenn man Eval-Boards geschenkt bekommen hat, ist das alles was anderes. Aber wenn da nicht dedizierte Firmeninteressen dahinterstehen, dann sind solche Dinger 'mal eben so' für den durchschnittlichen Bastler einfach zu teuer. Abgesehen von der nicht mehr gegebenen Verarbeitung ohne Mehrlagenleiterplatte und kommerziellem Bestücker. W.S.
> > Fitzebutze schrieb: >> Von einem echten Produkt als Tool für andere >> würde ich absehen. Zum Lernen aber: Einfach weitermachen! > > Genau dazu ist es da. Ich habe hier einen LA (wenn auch nur in > Verbindung mit PC) und ein (Analog)Speicheroszi. Ich find die Technik > dahinter interessant und ich würde es gerne mal Probieren. Mit Display, > Knöpfen, ... zuerst auch ggf mit nur 1MPSP, wofür ich nichtmal ein FPGA > bräuchte. Einfach um zu lernen. Wenn das Gerüst steht, würde ich > "einfach" nur die Samplegeschwindigkeit und den Speicher hochdrehen und > dabei das dafür notwendige lernen, sprich hauptsächlich Designregeln > etc. > Tip: Es gibt da die Rigol-Oszis, die von einigen Leuten auch gehackt werden. Ist ein Blackfin und ein FPGA drin, zumindest in den älteren Revisionen. > Fitzebutze schrieb: >> Mehr Gedanken würde ich mir über die Simulator-Umgebung machen. Die ist >> schlussendlich entscheidend fürs Funktionieren des Designs. >> Timing-Analyse des synthetisierten Designs kann man auch gut noch ohne >> HW machen.. > > Ich dachte, das wäre bei der Umgebung (ISE bzw Quartus) dabei!? Wenn > nicht, was ist denn zu empfehlen? > Da ist schon immer was dabei, was sich über die Jahre immer mal geändert hat, Xilinx hat irgendwann Modelsim durch sein eher bedingt brauchbares Eigenfabrikat Isim ersetzt, was jetzt gerade bei Vivado wieder aktuell ist, habe ich mir gar nicht erst angesehen. Modelsim ist ansich nicht schlecht, aber in der freien Version ziemlich kastriert. Es gibt da auch andere, komplett freie Ansätze, die ich durchaus empfehlen könnte, aber es ist vielleicht zum Anfangen etwas knifflig. Guck hier sonst mal nach den Themen zu "myHDL" und "ghdl". Mit einer Erweiterung ghdlex geht auch Cosimulation mit Software, allerdings braucht man dafür Linux. Würde aber zum Anfangen eher mal das nehmen, was mitgeliefert ist. Wenn die Designs komplexer werden, kannst du immer noch umsteigen.
M. schrieb: > Xilinx in rund 90% der Firmen verwendet - Tendenz sinkend > Altera in rund 60% der Firmen verwendet - Tendenz steigend > Lattice in rund 15% der Firmen verwendet - Tendenz unbekannt > Actel in weniger, als 10% der Firmen verwendet. Sehr interessante Zahlen. Sind die irgendwie belegbar? Gelten die für D, Europa oder weltweit? Duke
M. schrieb: > Actel in weniger, als 10% der Firmen verwendet. Kann es sein, dass du damit Microsemi meinst?
Lothar Miller schrieb: > M. schrieb: >> Actel in weniger, als 10% der Firmen verwendet. > Kann es sein, dass du damit Microsemi meinst? Er weiss nicht dass Actel nicht mehr existiert, d.h. man kann davon ausgehen dass seine Zahlen aus den Fingern gesaugt sind. Ausserdem beziehen sich die Zahlen auf Stückzahlen oder Umsatz?
Duke Scarring schrieb: > M. schrieb: >> Xilinx in rund 90% der Firmen verwendet - Tendenz sinkend >> Altera in rund 60% der Firmen verwendet - Tendenz steigend >> Lattice in rund 15% der Firmen verwendet - Tendenz unbekannt >> Actel in weniger, als 10% der Firmen verwendet. > > Sehr interessante Zahlen. Sind die irgendwie belegbar? Gelten die für D, > Europa oder weltweit? > > Duke Die Zahlen mögen zwar selbst geschätzt sein, aber so ähnlich schätze ich die Lage auch ein. Hier mal ein Link. http://sourcetech411.com/2013/04/top-fpga-companies-for-2013/
:
Bearbeitet durch User
26.05.2015, finanztreff.de 2010 2011 2012 2013 2014 Altera Umsatz [M$] 1.954,40 2.064,50 1.783,00 1.732,60 1.932,10 Xilimx Umsatz [M$] 2.369,40 2.240,70 2.168,70 2.382,50 2.377,30 Die beiden sind nahe beisammen, Xilinx mit etwas mehr Umsatz, Altera mit einem positiven Momentum.
Duke Scarring schrieb: > Sehr interessante Zahlen. Sind die irgendwie belegbar? Gelten die für D, > Europa oder weltweit? Die derzeitige zahlenmässige Verteilung bei unseren Kunden, soweit mir bekannt. Die Kunden sind zu 80% in Deutschland, der Rest meistens A,CH. Wohlgemerkt bezieht sich das darauf, dass überhaupt die Familie in der Firma eingesetzt wird, nicht, wieviel die Hersteller dadurch verkaufen. Man kann davon ausgehen, dass einer, der auch Lattice einsetzt, einen speziellen Grund hat und davon mehr einsetzt. Die Verteilung der Umsätze zeigt, dass Altera obwohl sie in weniger Firmen vertreten sind, fast schon mehr verkaufen. Sie haben also noch Potenzial. Das grösste Potenzial haben die kleinen, aber nur wenige Firmen leisten sich den Luxus mit mehr, als 2 Herstellern zu arbeiten. Eher schon gehen die auf einen einzigen, was dann wieder andere Probleme macht. Am Weitesten verbreitet sind die Familien bei den Zulieferen: Die bauen noch am ehesten mit allem, was der Martk hergibt. Der Aufträge wegen.
Alles klar. Ich werde dann mit dem Cycloneboard anfangen. Es kann mit USB programmiert werden (das Spartan3 Board nur mit Parallelport) und das Board hat mehr Peripherie. Bis ich die 400Mbps DDR2 ausgereizt habe, dauert es wohl noch etwas. Die BGA 80 oder 68 kann man doch mit 4 Lagen meistern oder? Bleibt nur noch die Überlegung, ob Verilog oder VHDL ;) VHDL steht viel in Stellenbeschreibungen, was ggf. iwann interessant sein kann. Verilog hingegen sieht übersichtlicher aus und ähnelt eher C, was ich ganz gut beherrsche. Ist die Frage, ob das nützlich oder eher hinderlich ist.... Aber vielen Dank bisher für alle Antworten.
ich schrieb: > Verilog hingegen sieht übersichtlicher aus und ähnelt eher C, was ich > ganz gut beherrsche. Dann auf jeden Fall: VHDL. Denn so sehr Verilog auch C "ähnelt", so unterschiedlich ist das Ergebnis. Ich sehe dich schon eine for-Schleife zum Auffüllen eines Vektors hinschreiben...
:
Bearbeitet durch Moderator
ich schrieb: >Ist die Frage, ob das nützlich oder eher hinderlich ist.... So eine ODER Verknüpfung kann man als Fpga entwickler nur mit "Ja" beantworten (x | !x -> true) ;-) Im Ernst, die Frage ist falsch gestellt. Es ist wie beim normalen Schaltplanentwurf: wenn man sich im klaren ist, welche Widerstände/Transistoren/OPV/ etc man wie verbindet ist es egal ob man den schalplan per Hand mit DIN-schaltzeichen skiziiert oder einen schaltplaneditor mit japanischen symbolen benutzt. Also man hat die digitalschaltung/funktion im Kopf oder als blockschaltbild/datapath/controlpath auf papier und schreibt sie dann so in VHDL oder Verilog das die synthese genau das macht was man auf dem Paier/im_Kopf hat. Verilog ist f. FPGA-Einsteiger IMHO besser geeignet da es nicht die kruden Varianten der Verhaltensbeschreibungen wie VHDL zuläßt. Verilog ist da mehr eine "Verdrahtungssprache" während VHDL eine "Algorithmussprache" ist. > Verilog > hingegen sieht übersichtlicher aus und ähnelt eher C, was ich ganz gut > beherrsche. Wenn Du versuchst FPGA-Entwurf allein mit deinen Erfahrungen als C-PC-programmierer zu verstehen hast du eine Pistole an dein Knie gesetzt und drückst ununterbrochen ab .... MfG,
Hi, oben wurde ja schon MyHDL erwähnt, und es gab mal nen anderen Thread dazu, deswegen nur kurz: Wenn es keinen Zwang zur Quellsprache gibt und die Frage nach Verilog oder VHDL nur bedingt durch Tools oder Team ist, dürfte auch MyHDL was zum Anfangen sein. Aber: Auch ein C-Hacker sollte was von Assembler verstehen. Ich bin mit folgendem Ansatz sehr schnell zum Ziel gekommen: in MyHDL entwickeln/simulieren, nach VHDL ausgeben, nochmal verifizieren/synthetisieren. Bisher sind auch bei komplexen Designs keine Unterschiede (d.h. Bugs in MyHDL) aufgetreten. Aber man muss - wie in VHDL - genau wissen, was man da hinschreibt. Von den Datentypen ist MyHDL her relaxter und spart einem massiv Zeit beim Testbenching und komplexeren Simulationen. Code-Wiederverwertbarkeit ist auch optimal (da Python). Wo Dir schlussendlich MyHDL nicht unbedingt hilft, ist die architektonische Gestaltung, aber das muss man nicht am Anfang gleich richtig machen.
Lothar Miller schrieb: > Ich sehe dich schon eine for-Schleife zum Auffüllen eines > Vektors hinschreiben... Warum geht das nicht? Das kann man allgemein doch nicht sagen...
Ich mag vom ansehen her VHDL lieber, das ist schon von der Sprache so dass man es versteht auch wenn man kein VHDL kann. Ein pro für Verilog ist dass die meisten examples der eval-boards von altera und xilinx in Verilog geschrieben sind.
Ich denke, ich werde bei den anfänglich eher kleinen Projekten beide Sprachen probieren. Eine LED blinken lassen, ... Ich kann mir digitale Schaltungen aus Gattern eigentlich ganz gut vorstellen. Nur frag ich mich, wie ich damit einfach das hinbekomme, was ein 10Zeiler beim µC ist. Beispielsweise einen ADC-Wert via SPI oder Parallel empfangen, den Spannungswert berechnen und dann als Zahl über ein VGA-Signal ausgeben. Irgendwas, was eben wirklich sequenziell abgearbeitet wird. Aber das wird bestimmt noch kommen. Eine Frage am Rande hätte ich da noch. Vorausgesetzt ich arbeite nur mit Cyclones, reicht da die kostenlose Quartus II Version aus? Ich weiß, dass man für Arria10 FPGAs die Vollversion braucht, doch ich werde mir bestimmt keinen FPGA holen, der ab 3-4k€ anfängt ;)
http://www.lothar-miller.de/s9y/ Da hast du viele praxixnahe Beispiele (zB die genannte SPI-Schnittstelle oder RS232 implementieren, Signale einlesen usw)
> Ich kann mir digitale Schaltungen aus Gattern eigentlich ganz gut > vorstellen. Nur frag ich mich, wie ich damit einfach das hinbekomme, was > ein 10Zeiler beim µC ist. Hast du schon mal aus nem TTL Counter und ein paar Gattern einen State machine gebaut? Also eine Aufzugsteuerung oder so? Sequenzielle Abläufe bekommt man hin indem man Flipflops benutzt bzw. counter und Schieberegister.
Maathias schrieb: > Lothar Miller schrieb: >> Ich sehe dich schon eine for-Schleife zum Auffüllen eines >> Vektors hinschreiben... > Warum geht das nicht? Logisch geht das. Nur wird dieser Vektor eben nich nacheinander Bit für Bit aufgefüllt, sondern alle Bits gleichzeitig. Die for-Schleife macht in Verilog/VHDL also komplett was anderes als in C.
Lothar Miller schrieb: > Logisch geht das. Nur wird dieser Vektor eben nich nacheinander Bit > für Bit aufgefüllt, sondern alle Bits gleichzeitig. Die for-Schleife > macht in Verilog/VHDL also komplett was anderes als in C. und dann als besonderes Schmankerl noch Variablen anstatt Signale verwenden (weil man das vom programmieren mit den lokalen Variablen so gelernt hat) und das Chaos ist "vorprogrammiert"...
Du widersprichst Dir selbts. ich schrieb: > Ich kann mir digitale Schaltungen aus Gattern eigentlich ganz gut > vorstellen. 1) > Nur frag ich mich, wie ich damit einfach das hinbekomme, 2) Offenbar kannst Du Dir das nicht vorstellen. > Beispielsweise einen ADC-Wert via SPI oder > Parallel empfangen, den Spannungswert berechnen und dann als Zahl über > ein VGA-Signal ausgeben. Du brauchst: Eine Schaltung, die einen ADC ansteuert Eine Schaltung, die berechnet Eine Schaltung, die VGA erzeugen kann Eine Schaltung, die den Wert in Pixel zerlegt und dem VGA übergibt Eine Schaltung, die die drei steuert Du musst also das was der uc kann, in Teilen nachbauen. Ich komme in 3 Monaten wieder vorbei und lasse mir das Ergebnis zeigen.
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.