Unterschied bzw Zusammenhang zwischen C und VHDL

Gast #945843
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??
#946035
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ß
Gast #946263
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)
Gast #946323
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
Gast #946397
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
#946449
@ 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
Persönliche Seite #947637
>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.
#947644
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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.