Hallo Will nun das Programmieren von Mikrocontrollern anfangen! Habe bereitsb erfahrung in der C++ Programmierung(Im bereich Softwareengineering) Habe für den Anfang an einen AVR (AtMega-8) gedacht!! (Bin aber flexibel) Nun würde ich gerne wissen worin der Hauptunterschied zwischen der Programmierung von C(C++) und VHDL??? Was empfehlt ihr mir??
VHDL ist keine Programmiersprache, um Mikrocontroller zu programmieren ... http://de.wikipedia.org/wiki/Very_High_Speed_Integrated_Circuit_Hardware_Description_Language
VHDL und Verilog sind Hardware-Beschreibungssprachen, damit kann man FPGAs und CPLDs, aber keine AVR-Mikrocontroller programmieren http://www.mikrocontroller.net/articles/VHDL
Hi joeer deine Frage wurde ja schon beantwortet. Aber was mich persönlich interessieren würde in welchem Zusammenhang du Programmieren gelernt hast(Ausbildung, Studium oder selbst beigebracht). Es wundert mich das jemand C++ kann aber nicht den unterschied zu VHDL kennt. Gruß
Gruß Johannes Habe Medieninformatik studiert!! Da hast du aber kein Elektronik!! Da geht es hauptsächlich um Softwareprogrammierung und Medienverarbeitung!! Hab dann in einem Buch gelesen das VHDL momentan die üblichste Methode ist um Mikrocomputer zu programmieren! Was mich eigentlich verwundert hat weil ich das noch nie VHDL als Programmiersprache (im Zusammenhang mit Mikrocontrollern) gehört habe! Deshalb habe ich hier auch diese Frage gestellt! (Das was im Buch stand ist schlichtweg falsch geschrieben! (oder ich hab es falsch aufgefasst!! Werde nochmals nachschauen!!) Also nochmals sorry wegen der dummen Frage (hätte erstmals googeln sollen!! Aber konnte ja nicht ahnen dass das im Buch falsch drin steht) Gruß Joeer PS: Das Buch richtet sich an Ingenieure !!(Finde ich traurig!!)(Ich werd nochmals nachschauen ob ich es eventuell doch falsch aufgenommen hab)
Hi Joeer wie gesagt handelt es sich bei VHDL um eine Hardware-Beschreibungssprache. Mit der keine µC programmiert werden. Was aber möglich ist, mit VHDL einen µC zu programmieren (im Sinne einen Kern zu beschreiben) welcher dann mit C programmiert wird. Ist etwas seltsam zu verstehen. Ich hab einen Artikel vom IAF aus Offenburg die haben einen Prozessorkern (der Name ist SIRIUS, ist eine RISC-Architektur) entwickelt. Es handelt sich dabei um einen Soft-Kern der mit VHDL beschrieben wurde. Programmiert wird der KErn mit C. Implementiert wurde der Kern auf einem FPGA (ALTERA Cyclon). Leider ist der Bericht nicht beim IAF auf der Webseite und Scanner oder ähnliches hab ich gerade nicht zur Hand. Wenn es dich interessiert werd ich den Bericht morgen dann hochladen. Dann kann man vielleicht eher den Unterschied verstehen. PS: Falls jemand meint das meine Ausführung ungünstig gewählt ist lass ich mich gerne korregieren. Da ich selbst finde das es etwas seltsam zu verstehen ist. Gruß Sleeping IQ
Mittlerweile ist mir die Sache schon klar! Nachdem ihr mich darauf hingewiesen habt und ich mich genauer damit auseinandergesetzt habe! Ich würde es umgangssprachlich so ausdrücken: VHDL ist eine Programmiersprache zur Entwicklung digitaler Schaltungen(wie sie z.B. im Mikrocontroller vorkommen) Mit c kann ich den Mikrocontroller programmieren z.B: Taster Nummer 1 gedrückt --------> Ausgang... wird geschaltet(oder halt so ähnlich) Wenn ich doch total daneben liegen sollte könnt ihr mich ja gerne verbessern!! Wenn es Dir keine Umstände macht kannst du den Bericht aber trotzdem gerne hochladen !!(Bitte nur keinen Aufwand betreiben) Gruß Joeer
@ Joeer (Gast) >VHDL ist eine Programmiersprache zur Entwicklung digitaler Nein, es ist eine Hardwarebeschreibungssprache. Das Wort Programmiersprache ist praktisch schon mit den klassischen, sequentiellen Spachen belegt. >Schaltungen(wie sie z.B. im Mikrocontroller vorkommen) >Mit c kann ich den Mikrocontroller programmieren z.B: Taster Nummer 1 >gedrückt --------> Ausgang... wird geschaltet(oder halt so ähnlich) Mal ein Versuch von mir. VHDL ist eine Hardwarebeschreibungssprache, womit der Aufbau, das logische sowie zeitliche Verhalten von digitaler Hardware beschrieben werden kann. C ist eine Programmiersprache zur Beschreibeung sequentieller Programmabläufe in Mikroprozessoren. MFG Falk P.S. VHDL liegt technisch gesehen weit unterhalb von C, sogar unterhalb von Assembler auf der Hardwareebene. Allerding über der Transistorebene. Etwa so IC-Layout Transistoren Gatter VHDL kann das Register VHDL kann das Module VHDL kann das Assembler C Kommandozeile Windows
Hi Joeer hab den Artikel mal abfotografiert. Vielleicht wird dann klarer was man mit VHDL macht. Gruß
>Hab dann in einem Buch gelesen das VHDL momentan die üblichste Methode >ist um Mikrocomputer zu programmieren! In VHDL wird der Mikrocomputer praktisch implementiert, bei einem weiteren Prozess werden die Gater, Muxer usw. in Transistorlogik umgesetzt. Am Ende kann so ein entwickelter Mikrocomputer in einen IC umgesetzt werden (ASIC). Somit ist fast jeder komplizierter Logikbaustein ein ASIC, welcher Mal in VHDL oder Verilog beschrieben wurde. Niemand setzt sich heute noch hin und "bastelt/beschreibt" die µC's etc. mit einer reinen Transistorlogik. Mit C/C++ wäre es theoretisch auch möglich, nun hat man sich damals auf VHDL/Verilog konzentriert, was sich durchgesetzt hat.
Um mal etwas zur Verwirrung beizutragen: Mittels SystemC lässt sich (theoretisch) das komplette System beschreiben, also der Software- (sequentiell, Programmierung des µC-Cores) als auch der Hardware-Teil (Flipflop, Gatter,...). Viel Spass.
> Mit C/C++ wäre es theoretisch auch möglich, nun hat man sich damals auf > VHDL/Verilog konzentriert, was sich durchgesetzt hat. Naja, wenn man es so sieht wäre es theoretisch auch mit Assembler möglich ..
>Naja, wenn man es so sieht wäre es theoretisch auch mit Assembler >möglich .. Nein, weil Assembler CPU abhängig ist. C dagegen nicht. VHDL Synthese/Implementierung wird übrigens mittels C/C++ realisiert.
Bitte den Ironie-Detektor einschalten ! Und ob die Synthese/Simulationsprogramme in C oder C++ geschrieben werden, wird man wohl bei den Herstellerfirmen nachfragen müssen.
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.