mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Unterschied bzw Zusammenhang zwischen C und VHDL


Autor: joeer(Anfänger) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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??

Autor: Florian Haskamp (trapperjohn)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
VHDL ist keine Programmiersprache, um Mikrocontroller zu programmieren 
...

http://de.wikipedia.org/wiki/Very_High_Speed_Integ...

Autor: Christoph Kessler (db1uq) (christoph_kessler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
VHDL und Verilog sind Hardware-Beschreibungssprachen, damit kann man 
FPGAs und CPLDs, aber keine AVR-Mikrocontroller programmieren
http://www.mikrocontroller.net/articles/VHDL

Autor: Dominik S. (sleepingiq)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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ß

Autor: Joeer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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)

Autor: Dominik S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Joeer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ 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

Autor: Dominik S. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi Joeer
hab den Artikel mal abfotografiert. Vielleicht wird dann klarer was man 
mit VHDL macht.

Gruß

Autor: Trohl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Joeer: Deine Ausrufezeichen-Taste klemmt!

Autor: A. F. (artur-f) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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.

Autor: Panzer H. (panzer1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Klaus Falser (kfalser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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 ..

Autor: A. F. (artur-f) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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.

Autor: Klaus Falser (kfalser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.