www.mikrocontroller.net

Forum: FPGA, VHDL & Co. VHDL - Software oder Hardware?


Autor: Oliver N. (neufranke)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieder mal die alte Diskussion: Ist VHDL Entwicklung nun 
Softwareentwicklung oder Hardwareentwicklung?

Da es faktisch beides darstellt, weil in einer Controllersoftware auch 
Timer und F-Teiler konfigurietrt werden und umgekehrt auch Hardware 
heute über Software (E-Schaltplan, EDIF, Bohrfiles) definiert wird , 
womit die Grenzen fliessend sind, präzisiert sich die Frage daruf, was 
der Schwerpunkt beim VHDL ist:

Meine Meinung: VHDL (besonders algorithmische und ablauforientierte) 
sind meistens behavioral formuliert. Der Strukturanteil ist gering und 
damit ist es eher Softwareentwicklung.

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie definierst du "Software"?

Wikipedia definiert Software bspw. so:

  "Software [ˈsɒf(t)wɛː] wird umgangssprachlich synonym mit ausführbaren
  Computerprogrammen gebraucht. Die technische Definition umfasst
  dagegen jede Art von digitalen Daten als Software, die auf einer
  Hardware gespeichert sein können, […]

  Aus technischer Sicht bezeichnet Software alle nichtphysischen
  Funktionsbestandteile des Gerätes."

Nach der technischen Definition ist die Konfiguration eines programmier-
baren Logikbaustein eindeutig Software, unabhängig, ob sie in VHDL oder
als Schaltplan entwickelt wurde, oder ob behavioral oder structural.

Während die meisten Programmiersprachen für Computer (z.B. von Pascal
und C) imperativ sind, sind Hardwarebeschreibungssprachen (z.B. VHDL und
Verilog) datenflussorientiert. Es gibt aber auch datenflussorientierte
Programmiersprachen für Computer, weswegen die Klassenzugehörigkeit der
verwendeten Sprache kein Kriterium für die Zuordnung zu Hardware- oder
Softwareentwicklung sein kann.

Zu den meisten textuellen Sprachen gibt es grafische Äquivalente. Bei
HDLs sind dies bspw. Schaltpläne, bei imperativen Programmiersprachen
bspw. Flussdiagramme. Aber auch wenn der Schaltplan sehr nach Hardware
aussieht, ist er eigentlich nur eine spezielle Form eines
Datenflussdiagramms, wie es auch in der Computersoftwareentwicklung
eingesetzt wird.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ist VHDL Entwicklung nun Softwareentwicklung oder Hardwareentwicklung?
Es ist vom Grundsatz her das selbe, ob ich C, Basic oder sonstwas auf 
einer fertigen Statemachine (das ist ein Prozessor) programmiere. 
Lediglich die Syntax ist ein wenig anders. Aber das Resultat sind 
sequentiell abgearbeitete (bestenfalls durch einen Interrupt 
unterbrochene) Schrittfolgen. Dieses Verhalten ist zutiefst menschlich 
und leicht zu verstehen ;-)

In einer mit VHDL beschriebenen Hardware existiert aber das gesamte 
"Programm" gleichzeitig. Auch mit einer reinen Verhaltensbeschreibung 
werden parallele (und damit bis in den ps-Bereich gleichzeitige) 
Prozesse erzeugt. Die Denk- und Vorgehensweise bei der Hardware- 
beschreibung unterscheidet sich (oder sollte es wenigstens) signifikant 
von der Rechnerprogrammierung.

Man bekommt evtl. Fehler in einem Hardwaredesign leichter in den Griff, 
wenn man zwar Verhalten beschreibt, aber in FFs und LUTs denkt.

Fazit:
Ein FPGA-Entwickler mag per Definition ein Softwareentwickler sein, ohne 
das Denken eines Hardwareentwicklers wird er scheitern.

> Der Strukturanteil ist gering und damit ist es eher Softwareentwicklung.
Wäre für dich dann Strukturbeschreibung = Hardwareentwicklung
und              Verhaltensbeschreibung = Softwareentwicklung
BTW:
Lass die Finger weg von der Strukturbeschreibung.
Es ist peinlich, dass auch heute noch in Lehrbüchern Halb- und 
Volladdierer aus Einzelgattern zusammengedrahtet werden.

Autor: Morin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Lass die Finger weg von der Strukturbeschreibung.

Das würde ich nicht so sagen. Was reine Strukturbeschreibungen auf 
tiefer Ebene angeht hast du natürlich recht, aber z.B. beschreibe ich 
ein Komplettsystem durchaus als Instanziierung einer Softcore-CPU und 
Peripherie und "verkabele" das ganze dann.

> Es ist peinlich, dass auch heute noch in Lehrbüchern Halb- und
> Volladdierer aus Einzelgattern zusammengedrahtet werden.

Auch das nicht unbedingt. Ein Addierer, der aus HA und VA 
zusammengesetzt ist liefert das richtige Ergebnis und ist für einen 
Anfänger zu verstehen - und damit für die Lehre geeignet. Peinlich wird 
es erst, wenn die Lehrbücher den Eindruck erwecken, man würde Addierer 
heute noch so bauen oder auch nur in HDL so formulieren.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> und "verkabele" das ganze dann.
ACK.
Auf jeden Fall besser, als dafür Schematics zu verwenden.

> Peinlich wird es erst, wenn die Lehrbücher den Eindruck erwecken, man
> würde Addierer heute noch so bauen oder auch nur in HDL so formulieren.
Richtig, so war es von mir gemeint.
Das Problem ist:
In einem Buch ist alles gleich. Man kann nicht am "Tonfall" erkennen, ob 
etwas wichtig ist, oder ob es reicht, wenn man es mal "gehört" hat. Wenn 
also einem Halb- und dem daraus aufgebauten Volladdierer z.B. 5 Seiten 
gewidmet werden, dann könnte man meinen, es wäre gleich wichtig, wie 
etwas anderes, dem der selbe Platz gewidmet wird (z.B. dem 
Einsynchronisieren oder dem korrekten Überschreiten von Taktdomänen).

Autor: max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Frage an sich ist schon falsch.
VHDL ist eine Sprache die zur Modelierung von Abläufen dient.
Wird daraus ein "Programm" für z.B.: einen FPGA syntetisiert dann
kann man dies als Software bezeichnen.
Wird ausgehend von der VHDL Beschreibung z.B.: ein ASIC erstellt
dann ist dieser logischerweise der Hardware zuzuordnen.

Eine Beschreibungsprache wie VHDL ist selbst weder Hard noch Software.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
max wrote:
> Eine Beschreibungsprache wie VHDL ist selbst weder Hard noch Software.

Die Frage die von  Oliver N. gestellt wurde, lautet:
>> Ist VHDL-Entwicklung nun Softwareentwicklung oder Hardwareentwicklung?
Siehe der 1. Satz im 1. Post  ;-)

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wird daraus ein "Programm" für z.B.: einen FPGA syntetisiert dann
>kann man dies als Software bezeichnen.

Es wird kein "Programm" für den FPGA erzeugt. VHDL ist das "Programm" 
für den Simulator und die Synthesesoftware - für letztere ist es sogar 
"nur" so einen Art Script.

VHDL ist eindeutig eine Software, genau wie ein MATLBA-script oder ein 
LABVIEW File. Da gibt es nichts zu deuten.

Das FPGA-image, das daraus erzeugt wird, ist eine Firmware, also auf dem 
Leven eines EPROM-image für einen Microcontroller. Beides immer noch 
Software. Der FPGA selbst ist die Hardware.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Der FPGA selbst ist die Hardware.
Dann müsste man also auch hier den Begriff hardwarenahe Programmierung 
einführen? Ein Begriff also, der bei Low-Level (z.B. Treiber-) 
Programmierung ja auch schon etabliert ist.
Also ist FPGA-Entwicklung hardwarenahe Softwareentwicklung?
Denn wenn ein uC oder ein IO-Baustein oder ein Grafikcontroller schon 
hardwarenah ist, was ist dann erst ein FPGA?

Autor: Jan M. (mueschel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nach meinem Empfinden ist das, was man mit VHDL und FPGAs macht 
eindeutig Programmieren. In VHDL beschreibe ich ein gewünschtes 
Verhalten genauso wie ich das in jeder anderen Programmiersprache tun 
würde - Natürlich ist die Syntax, Denkweise und die spätere Umsetzung 
beim kompilieren/synthetisieren eine völlig andere, aber der 
Grundgedanke ist derselbe.
Da ich dabei einen Quellcode schreibe, der dann von einem Programm in 
das funktionstüchtige Werk umgesetzt wird und alles nur in verschiedenen 
Speicherbereichen existiert, handelt es sich für mich dabei auch um 
Software.

Entwickele ich Hardware, entwerfe ich die zwar auch am PC, aber das 
Endergebnis ist immer ein physisch vorhandenes Etwas. Dazu gehören dann 
auch die detailgenaue Betrachtung des elektrischen Eigenschaften, 
Impedanzen, Widerstände, das alles beim FPGA in erster Linie keine Rolle 
spielt.

Insofern halte ich einen FPGA erst einmal für nichts anderes als einen 
Mikrocontroller oder Prozessor - nur ist sein interner Aufbau und seine 
Arbeitsweise eine völlig andere. Bei allen handelt es sich aber um 
kleine schwarze (oder silberne) Kästchen, deren genaue Funktion ich nach 
meinen Wünschen festlegen kann.

Ich würde sogar noch weiter gehen und sagen, jemand der mit Assembler 
auf Mikrocontrollern gearbeitet hat, hat es sehr viel einfacher auf 
programmierbare Logik zu wechseln, als z.B. ein reiner 
Java-Programmierer auf Assembler umzusteigen.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Natürlich ist die Syntax, Denkweise und die spätere Umsetzung
> beim kompilieren/synthetisieren eine völlig andere, aber der
> Grundgedanke ist derselbe.
Das Hauptproblem ist dabei eigentlich, dass dann gilt:
FPGA-Entwicklung = Programmierung = Softwareentwicklung
Und sich daraus als logischer Umkehr(kurz)schluss ergibt:
Softwareentwickler = FPGA-Entwickler

Und das kann nicht mehr stimmen  :-/
Denn zumindest die (Java-, C#-, MSVCC-, Visual-Basic-) Softies, die ich 
kenne schütteln Angesichts der Strategie beim FPGA-Design nur ratlos die 
Köpfe.

> Insofern halte ich einen FPGA erst einmal für nichts anderes als einen
> Mikrocontroller oder Prozessor
Diese Ansicht kann ich teilen.
> nur ist sein interner Aufbau und seine Arbeitsweise eine völlig andere.
Trotzdem soll der Vorgang, das Ding zum Funktionieren zu bringen, gleich 
heißen (Software-Entwicklung)?

Autor: Jan M. (mueschel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Das Hauptproblem ist dabei eigentlich, dass dann gilt:
> FPGA-Entwicklung = Programmierung = Softwareentwicklung

Ich meinte eher, dass Programmierung ein Oberbegriff für beides ist.


> Trotzdem soll der Vorgang, das Ding zum Funktionieren zu bringen, gleich
> heißen (Software-Entwicklung)?
Nein, Programmierung.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> Trotzdem soll der Vorgang, das Ding zum Funktionieren zu bringen, gleich
>> heißen (Software-Entwicklung)?
> Nein, Programmierung.
Ja, das mit dem Programmieren ist soweit klar.

Aber die originäre Frage lautete:
>>>> Wieder mal die alte Diskussion:
>>>> Ist VHDL Entwicklung nun Softwareentwicklung oder Hardwareentwicklung?
Und mir scheint, die ist (noch) nicht beantwortet  ;-)

Autor: DI UV (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
VHDL-Programmierer gibt es nicht. ES gibt FPGA-Entwickler, ASIC-Designer 
etc.. Die bringen Hardware ans laufen in dem sie das Timing anpassen, 
für tichtig terminierte leitungen auf dm PCB sorgen, etc.. Ausnahme 
Verifikanten, die vornehmlich Quellcode analysieren, Modelle schreiben 
und simulieren - das sind die Softwerker aus der "VHDL-Abteilung".

Einen gedankenexperiment, wer bekommt eher einen beispielsweise 
Homecomputer als FPGA-Nachbau ans laufen, ein Softwerker mit 20 Jahren 
erfahrung oder ein Hardwerker mit 20 Jahren Erfahrung.

Autor: Lo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich votiere für Softwareentwicklung.
Denn egal, welche Regeln und Paradigmen man für die Programmierung 
befolgt, egal, dass man mit einem if letztendlich bestimmte 
FlipFlop-Verschaltungen bewirkt, am Ende kommt was weiches raus, nämlich 
.vhd-Dateien, mcs-Dateien etc.
Dass diese dann als Firmware auf einen Chip gespielt werden, ist dann 
egal.
Alle PC-Software löst letztendlich auch irgendwelche hardwarenahen 
Befehle aus, die "im Chip", also der CPU irgendwas machen.
Wenn ich aber Hardware entwickle, muss hinten auch Hardware rauskommen.
Wenn ich bei Xilinx arbeite und den Spartan 4 mitentwickle, dann bin ich 
Hardwareentwickler. Aber das was aufs FPGA aufgespielt wird, ist meiner 
Meinung nach soft. Es ist ja auch soft, ich kann ja ganz verschiedene 
"Programme" aufspielen.
Außerdem ist es ja auch nicht so, dass im FPGA beim Aufspielen der 
Firmware irgendwas hardwaretechnisches geändert wird, da werden ja keine 
neuen Leitungen gelötet oder irgendsowas. Es wird ja nur vorhandene 
Hardware konfiguriert.

Autor: Bernd G. (Firma: LWL flex SSI) (berndg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist doch egal.
Hauptsache, ich kann damit meine Brötchen verdienen.

Autor: DI UV (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
<Also ich votiere für Softwareentwicklung.
<Denn egal, welche Regeln und Paradigmen man für die Programmierung
<befolgt, egal, dass man mit einem if letztendlich bestimmte
<FlipFlop-Verschaltungen bewirkt, am Ende kommt was weiches raus, 
nämlich
<.vhd-Dateien, mcs-Dateien etc.


Mumpitz, da wäre ja auch die klassische Hardwareentwicklung wie 
Schaltungsentwurf, leiterplatten-design etc Softwareentwicklung. 
Schliesslich kommt da auch was weiches raus, Gerberdateien, 
Programmierfiles für den bestückautomaten, belichter etc, Zeichnungen im 
PDF-Format ....

Autor: Xenu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Also ist FPGA-Entwicklung hardwarenahe Softwareentwicklung?

Wohl eher softwarenahe Hardwareentwicklung.

VHDL ist eine Hardwarebeschreibungssprache. Synthesefähiger VHDL-Code 
ist ein Bauplan für eine digitale Schaltung, und nicht Software, die auf 
dem FPGA läuft. Klar ist die Konfigurationsdatei für einen FPGA 
Software, aber VHDL oder andere HDLs sind dehalb noch lange keine 
Programmiersprachen, die in irgendeiner Weise auf dem FPGA sequenziell 
abgearbeitet werden.

Jemand, der keine Ahnung von digitalen Schaltungen hat, wird mit VHDL 
nicht viel Freude haben. Bei vielen Fragen hier im Forum sieht man ganz 
deutlich, dass die Fragesteller offensichtlich große Verständnisprobleme 
haben, sich ihren VHDL-Code als digitale Hardware vorzustellen.

Autor: mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kurze Anmerkung:
VHDL steht schlicht und einfach für Very Hight Speed Integrated 
Ciruit(das war das V :-) HARDWARE!!! Description Language. Also: VHDL 
ist eine Modellierungssprache für die Beschreibung von Hardware. Und 
KEINE Programmiersprache. Hier wird nichsts programmiert, was später 
irgendwo ausgeführt werden soll, sondern ein Modell beschrieben, welches 
mit einem geeigneten Simulator ausgeführt werden kann (also eine 
ausführbare Spezifikation für Hardware). Da VHDL ursrünglich eben nicht 
dafür konzipiert wurde Software zu beschreiben, wird für die Erstellung 
von ausführbaren Spezifikation gemischter HW/SW Systeme (z.B. 
SystemOnChip Modelle) ofmals auch SystemC benutzt.
viele Grüße
Mike

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Xenu wrote:
> VHDL ist eine Hardwarebeschreibungssprache. Synthesefähiger VHDL-Code
> ist ein Bauplan für eine digitale Schaltung, und nicht Software, die auf
> dem FPGA läuft.

Fest steht, das heutzutage ein großer Teil des geschriebenen VHDL-Codes 
keine vorhandene Hardware beschreibt oder jemals in solche umgesetzt 
werden wird, sondern nur "soft" den Inhalt der RAM-Zellen eines FPGAs 
bestimmt. Nicht umsonst gibt es ja auch die Unterscheidung zwischen 
"soft" und "hard"-Prozessorkernen.

> Klar ist die Konfigurationsdatei für einen FPGA
> Software, aber VHDL oder andere HDLs sind dehalb noch lange keine
> Programmiersprachen, die in irgendeiner Weise auf dem FPGA sequenziell
> abgearbeitet werden.

Ob sequentiell oder nicht hat ja mit der Frage "Hardware oder Software" 
nichts zu tun. Es gibt auch genügend nicht-sequentielle 
Programmiersprachen, z.B. deklarative wie Prolog.

Autor: Lo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Mumpitz, da wäre ja auch die klassische Hardwareentwicklung wie
>Schaltungsentwurf, leiterplatten-design etc Softwareentwicklung.
>Schliesslich kommt da auch was weiches raus, Gerberdateien,
>Programmierfiles für den bestückautomaten, belichter etc, Zeichnungen im
>PDF-Format ....

Drum schrieb ich auch "_am Ende_ kommt was weiches raus".
Und am Ende einer Platinenentwicklung steht eine Platine.

Autor: Nephilim (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
am ende einer VHDL-Entwicklung kann aber auch ein ASIC rauskommen. also 
Hardware. in dem fall würd ich schon von einer hardwareentwicklung 
ausgehen. nur weil es auch für simulationen genutzt werden kann und auf 
nem FPGA genutzt wird ist es für mich noch keine wirkliche 
softwareenttwicklung. natürlich produziert man erstmal software, aber 
dann ist halt die frage, was ist mit dieser software machbar. bis zu 
einem gewissen schritt kann man durchaus parallelen zur 
softwarenetwicklung sehen. von entwicklungsstrategien mal abgesehen. 
sprich, man schreibt eine abstrakte beschreibung. lässt diese übersetzen 
und erhält sozusagen ein produkt. bei der softwareentwicklung ein code 
speziell für ein target, welches dann für eine gewisse zeit dieses 
verhalten annehmen kann. dies ist auch bei einem vhdl-design für fpgas 
richtig. aber bei der entwicklung in vhdl kann das ziel halt auch der 
asic sein und das ist dann ein unveränderliches stück hardware, was die 
beschriebene funktionalität annimmt. also für mich reine 
hardwareentwicklung. im endeffekt würd ich sagen ist eine entwicklung 
mit VHDL eher hardwareentwicklung als softwareentwicklung, auch wenn 
softwareentwicklung in dem sinne mit möglich ist.

Autor: DI UV (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
<Fest steht, das heutzutage ein großer Teil des geschriebenen VHDL-Codes
<keine vorhandene Hardware beschreibt oder jemals in solche umgesetzt
<werden wird, sondern nur "soft" den Inhalt der RAM-Zellen eines FPGAs
<bestimmt. Nicht umsonst gibt es ja auch die Unterscheidung zwischen
<"soft" und "hard"-Prozessorkernen.

Mumpitz, SRAM-basierende FPGA sind nur ein teil des Marktes. Und schon 
mal was von Hardcopy gehört?

http://www.altera.com/literature/hb/hrd/hc_handbook.pdf Seite 2-1


Die verwechselst hier gehörig die Funktion und den Aufbau von SRAM. 
Silizummäßig mag der SRAM eines FPGA's gleich dem eines embedded 
processors sein, aber er funktioniert nicht als 
(daten|Programm-speicher) einer CPU sondern als Steuerelement eines 
Schalters. Nicht alles was in eine SRAM-Zelle geschrieben wird ist die 
Ablaufsteuerung einer CPU und ergo Software.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Also: VHDL ist eine Modellierungssprache für die Beschreibung
> von Hardware.

Naja, mal langsam: Modelle sind immer Software! Sonst wäre ja die 
Erstellung von VHDL-AMS auch Mechanikentwicklung, oder bzw FEM-Modelle 
oder deren ERsaätze in C wären Autoentwicklung, nur weil das Modell 
später in ein crashbares Teil umgesetzt wird.

Die formelle Erstellung von Scripten, Modellen, Abläufen und deren 
Beschreibungen sind Softwareentwicklung! VHDL-Code ist ein Modell! Es 
dient der ersatzweise Simulatin von Hardware - speist also eine 
Simulationssoftware - genau wie System-C. Dies sind alles 
Programmsprachen, Programmiersprachen oder Programmstruktursprachen.

Hardwareentwicklung heisst, entweder Mechanik oder Elektronik 
zusammenzubauen, wobei hier speziell auch bei der Elektronik auf die 
Mechanik (Leiterplattengeometrie, Materialien, Löttechniken) abgehoben 
wird.

Der Hardwareentwickler beherrscht diese umsetzungsrelevanten Dinge.

Der Softwareentwickler erstellt davon unabhängige abstrakte Modelle und 
Abläufe, die dann in eine Hardware 8oder auch eine ganz andere!) 
einfliessen und genau das macht man bei VHDL-Code.

Ach ja: Ein "load accu" Befehl in der Maschinensprache, setzt auch nur 
Registerzellen, die einen Multiplexer dazu bewegen, die Datenleitungen 
eines RAMS auf das Accu-Register zu legen und beim nächsten Clock 
einzulesen. Das ist nichts anderes, als per config stream eine LE-Zelle 
dazu zu bewegen, permament einen Pfad zu schalten.

VHDL programmiert die LE-Zelle und die Interconncetions! Dass das 
statisch ist und meistens nicht reconfiguriert wird, ist unerheblich.

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
DI UV wrote:
> <Fest steht, das heutzutage ein großer Teil des geschriebenen VHDL-Codes
> <keine vorhandene Hardware beschreibt oder jemals in solche umgesetzt
> <werden wird, sondern nur "soft" den Inhalt der RAM-Zellen eines FPGAs
> <bestimmt. Nicht umsonst gibt es ja auch die Unterscheidung zwischen
> <"soft" und "hard"-Prozessorkernen.
>
> Mumpitz, SRAM-basierende FPGA sind nur ein teil des Marktes.

Was ich oben schrieb.

> Und schon mal was von Hardcopy gehört?
>
> http://www.altera.com/literature/hb/hrd/hc_handbook.pdf Seite 2-1

Ja, von ASICS habe ich schon mal gehört.

> Nicht alles was in eine SRAM-Zelle geschrieben wird ist die
> Ablaufsteuerung einer CPU und ergo Software.

Abgesehen davon dass das nur eine von vielen Definitionsmöglichkeiten 
ist, mal von der anderen Seite betrachtet: etwas das nicht physisch 
vorhanden ist, ist keine Hardware. Demnach wäre die Entwicklung einer 
FPGA-Konfiguration weder Software noch Hardware.

Die Begriffe "Software" und "Hardware" sind hier einfach 
überstrapaziert, wie man FPGA-Entwicklung einordnet hängt von Details in 
der Definition dieser Begriffe ab, und das macht die ganze Diskussion 
irgendwie sinnlos.

Autor: Der Besucher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also wenn sich die Diskussion dadrum drehen würde, ob zuerst das Ei oder 
die Henne da war, würde ich für das Ei stimmen.
Genauso kann man aber auch fragen ob Fernsehen Informationen bietet oder 
Massenverdummung.
Oder ist Windows besser als Linux? Und welches Linux oder UNIX-Derivat 
ist da wieder am besten. Auch auf Windows anwendbar...
Werden Sozialpädagogen gebraucht, oder verwalten sie sich nur selbst 
nach dem Studium?
So viele Fragen und keine Antworten...
Also ich habe zu allem meine Meinung, und jeder andere sicherlich auch. 
Nur stimmen sie oft nicht überein.

Der Besucher

Autor: Lo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, FPGA-Programmierung ist Pilze. ;)

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lo wrote:
> Ok, FPGA-Programmierung ist Pilze. ;)
Geht nicht. Pilze gibts auch schon... ;-)

Autor: DI UV (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
< Ok, FPGA-Programmierung ist Pilze. ;)

Na, das ist auch keine neue Erkenntnis, schon mal was von Mushroom 
-managment gehört:

a company's staff being treated like mushrooms: kept in the dark, 
covered with dung, and -- when grown big enough -- decapitated
(http://en.wikipedia.org/wiki/Mushroom_management)


zu deutsch:  Mitarbeiter sind im Dunkeln zu halten und mit Sche*** zu 
füttern. Wenn sich ein helles Köpfchen zeigt -abschneiden.

Das ist typisch für ne FPGA-Entwicklungsabteilung, besonders die wie 
Softwerker behandelt werden.

MfG,

Autor: Natan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Nach der technischen Definition ist die Konfiguration eines
> programmierbaren Logikbaustein eindeutig Software, unabhängig
> davon, ob sie in VHDL oder als Schaltplan entwickelt wurde,
> oder ob behavioral oder structural.

So ist es, siehe auch hier:

Beitrag "Re: Lacher der Woche Ingenieur-Mangel in Deutschland eskaliert trotz Wirtschaftskrise"

VHDL-Code ist Software. Mein Professor hielt sich aber auch für schlau 
und wollte mir was anders erzählen.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Daher zum allerletzten mal:
>
> VHDL-Erstellung ist Softwareentwicklung!
>
> VHDL-Erstellung ist Softwareentwicklung!
Ich zitiere mich selbst aus dem 
Beitrag "Re: VHDL - Software oder Hardware?"
Das Hauptproblem ist dabei eigentlich, dass dann gilt:
FPGA-Entwicklung = Programmierung = Softwareentwicklung
Und sich daraus als logischer Umkehr(kurz)schluss ergibt:
Softwareentwickler = FPGA-Entwickler

Und das kann nicht mehr stimmen  :-/
Denn zumindest die (Java-, C#-, MSVCC-, Visual-Basic-) Softies, 
die ich kenne, schütteln Angesichts der Strategie beim 
FPGA-Design nur ratlos die Köpfe.
Und mancher Abteilungschef ist schon heftig auf die Nase gefallen, weil 
er meinte C=C, also kann ein C-Programmierer mit System-C Hardware 
beschreiben.

Es ist etwas anderes, fertige und geprüfte Hardware (wie z.B. die SIO, 
Timer, SPI in einem uC) zu parametrisieren, oder sich seine Hardware 
selber zu beschreiben.

> VHDL-Erstellung ist Softwareentwicklung!
Und wenn es so wäre:
Es ist trotzdem etwas grundlegend anderes, als wirkliche Software zu 
schreiben. Wenn ich vorher in Basic programmiert habe, kann ich ohne 
weiteres auf C umsteigen. Die Denkweise und die Syntaxelemente sind 
annähernd gleich.
Wenn ich aber vorher in Basic programmiert habe und steige auf VHDL um, 
dann wird es hart, sehr hart.

> Daher zum allerletzten mal:
Wenns zum letzten Mal ist, dann können wir da noch mal drüber weg sehen 
;-)

Autor: Hardwarefaschist (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Name sagt es doch: Beschreibungssprache (Description language). Ist
also dasselbe wie ein Stromlaufplan.
Oder sieht hier irgendjemand einen Stromlaufplan als Software an?
Bei Stromlaufplänen und VHDL-Skripten hat der normale hardwareferne 
C-Softwerker nicht die Spur eines Durchblicks.
Na also.

Autor: omg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>VHDL-Programmierer gibt es nicht. ES gibt FPGA-Entwickler, ASIC-Designer
>etc.. Die bringen Hardware ans laufen in dem sie das Timing anpassen,

Es gibt auch keine Software-Programmierer.
Es gibt Software-Entwickler. Die Modelle von Software bauen, Abläufe, 
Sequenzdiagramme, Aktivitäsdiagramme und Zustandsautomaten DESIGNEN und 
das ganze dann schlussendlich Implementieren, simulieren und testen.

Software-Programmierer sind die kleinen Boxen, die man an seinen 
Controller anschließt um das Programm in den Speicher des Controllers zu 
"flashen" / brennen .

Für mich persönlich ist hardwarenahes Softwaredesign z.B. für einen 
Mikrocontroller sehr ähnlich der Beschreibung einer Hardware 
Schnittstelle in einem FPGA.

Z.b. wenn ich einen I2C Treiber für einen Mikrocontroller schreibe, 
nimmt mir zwar die I2C Hardware im Controller schon so Dinge wie Timing, 
Flankensynchronisierung usw. ab. Aber die Auswertung, das Lesen der 
Register, das Setzen des ACK Bits und die ganze Statemachine, die den 
Signalverlauf auswertet wird auch hier in Software beschrieben.

VHDL ist nochmal eine Stufe tiefer darunter. Hier wird eben das ganze 
BESCHRIEBEN, dass die I2C Hardware im Controller übernimmt.

Was jedoch ein unfairer Vergleich ist:
"Ein BASIC Programmierer kann kein VHDL programmieren"

Wenn dieser BASIC Programmierer, ein echter Softwarentwickler ist, der 
sowohl Programme für PCs als auch für uCs entwickelt hat, dann wird er 
auch mit VHDL zurecht kommen. Wenn es aber ein "reiner" PC Software 
Entwickler ist(z.B. ein Java Programmierer, der total unabhängig von 
Hardware und Betriebssystem in seiner eigenen Welt programmiert) gebe 
ich dir Recht.

Aber damit sagst du implizit, dass ein Hardwareentwickler auch gleich 
ein FPGA Entwickler ist. In meiner Firma kenne ich keinen 
Hardwareentwickler, der auch FPGAs programmieren kann (wir machen aber 
auch "nur" Leistungselektronik...)

Just my 2 cents ;-)

Autor: Zufällig auf Arbeit (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht mal als Einwurf:

VHDL beschreibt die Schaltung, wie sie funktionieren soll (Entsprechung 
des Schaltplans). VHDL an sich ist eigenständig für nichts nutzbar.
Es ist nur die Eingabesprache, die einer bestimmten Syntax genügen muss
(wie ein Schaltplan - da sind auch bestimmte allgemeinverständliche 
Symbole vereinbart). Die formale Richtigkeit der Eingaben wird vom 
Editor kontrolliert.

Die eigentliche Programmiersoftware beim Schaltkreisentwurf dürfte wohl 
im
Synthesetool, Fitter, Simulator usw. beheimatet sein - also an Orten, 
die dem normalsterblichen Schaltkreisentwerfer gar nicht zugänglich 
sind.

VHDL ist also eine Eingabemaske! Obwohl es einen ähnlichen Schreibstil 
wie Programmiersprachen hat, ist es keine.

Autor: Segor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jetzt setzten aber einige Software mit Programmiersprache gleich, was 
nicht stimmt.

VHDL ist im engeren Sinn sicher keine klassische Programmiersprache( von 
state machines und Ausgabezuweisungen in Variablen mal abgesehen, 
abgesehen, die genau so beschrieben werden, wie in C) dennoch ist es 
selbstredend eine Software. (Eine Netzliste EDIF oder eine 
Spice-Netzliste ist ja auch eine Software, sieht bezieht sich eben nur 
auf eine Hardware.)

Dass man zum Erzeugen von FPGA-Schaltungen wie auch 
Mikrocontrollerschaltungen viel Hardwarewissen braucht, ist richtig, das 
heisst aber nicht, dass jeder Schritt, den man zum Ziel hin unternimmt, 
Hardwareenticklung nennen kann. Im Gegenteil: Es tritt heutzutage doch 
fast immer beides auf:

Das Problem sehe ich darin, dass jahrelang Hardware ohne EDA gemacht 
wurde und sich dadurch einen quaisi Zusammenhang von 
Hardware<->ELektronik und Software<->Programm ergab.

Das ist definitiv nicht mehr so!

Die meiste Hardware wird heute über den Umweg der Software etnwickelt, 
also hat man immer beides: Begreifbare Hardware (Mechanik, Geometrie, 
Physik, Ströme etc...) und duplizierbare Software (Netzlisten, Sripte, 
Firmware, Loadware, EEProm Images!!!)

Das gilt genau genommen sogar umgekehrt: Auch der 
Computersoftwareentwickler (den klassischen GUI-Entwickler vielleicht 
ausgenommen) braucht immer auch etwas Hardwarewissen, will er seine 
threads richtig aufsetzen.

Autor: Segor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> enn dieser BASIC Programmierer, ein echter Softwarentwickler ist,
> der sowohl Programme für PCs als auch für uCs entwickelt hat,
> dann wird er auch mit VHDL zurecht kommen.
Darum geht es im Grunde nicht. OB die eine Programmiersprache ist wie 
die andere oder ob VHDL (k)eine Programmiersprache ist, ändert nichts an 
der Definition für Software.

Boardentwickler und Schaltplanentwickler betreiben heute in einem 
gewissen Mass Softwareentwicklung, sei es über den Umweg von 
Schaltplaneingaben oder der Nutzung von Verliogmodellen.

Nur vor der Zeit der EDA, als alles vno aufgemalt wurde und dann in 
Maskten geätz wurde (ASIC) oder ein LAyout geklabt wurde um dann die 
Platine zu ätzen, gabe es keine Software.

Heute machen auch die ASIC Designer alles über Software. Mehr noch: Sie 
nutzen sogar Programme! In der Anfangszeit wurden ASICs dadurch 
entwickelt, dass man die Funktion zunächst in Pascal abgebildet hat und 
wenn man sich VHDL mal genau ansieht, dann erkennt man das alte Pascal!!
Heute nutzt man zusätlzich noch System-C für die Trigger und die Modelle 
sowie inzwischen sogar als Quelle für den VHDL-Code -> Mentor Catapult

Autor: viel luft (text) um nix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was für einen Unterschied macht es, ob VHDL mehr Software oder Hardware 
ist?

Ich habe schon Stellanzeigen gesehen für einen Hardwarentwickler mit 
VHDL Kenntnissen, aber auch Softwareentwickler mit VHDL Kenntnissen. 
Ebenso wie Stellenanzeigen wo Hardwareentwickler mit C/C++ Kenntnissen 
und Softwareentwickler mit Erfahrung im Design von digitalen Schaltungen 
gesucht werden...

Rein per Definition ist vhDL eine Description Language, also eine 
beschreibende Sprache.
Very High Speed Integrated Circuit Hardware Description Language (auch VHSIC Hardware Description Language), kurz VHDL, ist eine Hardwarebeschreibungssprache, vergleichbar mit einer Programmiersprache, mit der es einfach möglich ist, komplizierte digitale Systeme zu beschreiben. Darüber hinaus gibt es sprachliche Erweiterungen in Form von VHDL-AMS, mit der auch analoge Systeme beschrieben werden können.
[pre]
Quelle: Wikipedia

[pre]
Das Ersetzen von Hardware durch Software rückt durch den Einsatz von programierbarer Logik auch für digitale Elektronik zusehends in den Fokus. Analog zur Programmierung eines Prozessors in C oder C++ ermöglicht die Hardwaresprache VHDL, komplexe Chip-Strukturen bzw. das gesamte Schaltungsdesign in Software zu beschreiben. VHDL erlaubt die einheitliche Beschreibung elektronischer Systeme über verschiedene Abstraktionsebenen hinweg. In Verbindung mit Synthesewerkzeugen können deutlich verkürzte Entwicklungszeiten und eine höhere Qualität der Entwicklungsergebnisse erreicht werden. Daher werden zunehmend dezidierte Peripheriebausteine, Glue-Logic und ASICs durch flexibel einsetzbare FPGAs und CPLDs ersetzt. Hierzu stehen vielfältige, bereits vorkonfigurierte VHDL IP-Cores zur Verfügung.
Quelle: http://www.synertronixx.de/dienstleistungen/softwa...

Autor: viel luft (text) um nix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ausserdem:

Hardware kann heute nicht mehr (professionell) ohne Software entwickelt 
werden. Viele Hardwareentwickler können sich das nicht eingestehen, weil 
sie so eitel sind und ihre Disziplin für die Königsdisziplin halten, 
aber es ist so.

Schaltpläne werden mit Softwaretools entworfen.
Das Layout mit vielen Layern wird mittels CAD Software gemacht.
Noch bevor eine Schaltung aufgebaut ist, wird das Übertragungsverhalten 
bereits mittels Simulationstools überprüft.
Versionsstände werden mittels Versionsverwaltung Software gesichert und 
organisiert.

Hardwareentwicklung ohne Software würde etwa x mal so lange dauern und y 
mal so viel kosten und hätte z mal mehr Fehler.

Also es bliebe nur Back to the roots:
Schaltpläne per Hand zeichnen, Platinelayout per Hand zeichnen und 
belichten/ätzen, alles zusammen löten: dann per analogem Oszilloskop das 
ganze debuggen und testen. Und dann das ganze Spiel wieder von vorne...

Es ist sehr mühselig darüber zu diskutieren, ob jetzt VHDL mehr Hardware 
oder Software ist..
Auf jeden Fall ist es keine reine Hardware bzw. nicht mehr Hardware als 
ein HEX Binary, dass das Bitmuster in einem Mikrocontrollerspeicher 
beschreibt.

Autor: berndl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
achso, nur weil wir jetzt SW zum HW entwickeln benutzen, sind wir 
SWerker?

Nee, wir sind zwar weit von den Faehigkeiten moderner SW-Entwicklung 
entfernt (bei den Tools die wir benutzen), aber wir muessen uns doch 
noch Gedanken machen darueber, wie parititioniere ich einen Design, wie 
pipeline ich das um die Bandbreite (oder Latenz) zu erreichen. Und bitte 
schoen, jeder Pfad muss diese Cyclezeit erreichen. In SW kann ich sagen, 
ok, das ist komplex, darf also auch ein paar Cycle laenger dauern. In HW 
habe ich damit sofort ein Riesenproblem und muss mir Gedanken machen.

Also nur weil wir einen Editor und Synthesetools nutzen sind wir noch 
lange keine SWerker!

Just my 2 cents...

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Thema Hardware/Software im Zusammenhang schlägt ja mittlerweile
schon fast so hohe Wellen wie die Diskussion um Linux und Windows ;-)

Ich habe es in einem anderen Thread zum gleichen Thema

  Beitrag "Ist FPGA programmierung eine Hardwareentwicklung oder Softwareentwicklung?"

bereits geschrieben: Die Diskussion ist müßig, solange man sich nicht
auf eine Definition der Bergiffe Hardware und Software einigt.

Ich habe weiter oben in diesem Thread die "technische" Definition von
Software aus dem Wikipedia zitiert:

 1. Aus technischer Sicht bezeichnet Software alle nichtphysischen
    Funktionsbestandteile des Gerätes.

Ich persönlich finde diese Definition nicht schlecht, weil sie zu einen
relativ eindeutig ist, zum anderen auch die Namensgebung (hard=hart,
soft=weich) gut widerspiegelt.

Eine ebenfalls für mich akzeptable Definition wäre:

 2. Software ist der Teil eines Geräts, der ohne mechanische Verformung
    oder Hinzufügen oder Abtragen von Material änderbar ist.

Für die Erbsenzähler, die auch in der Befüllung einer Speicherzelle mit
Elektronen ein Hinzufügen von Material sehen, könnte man noch ein
Adjektiv wie "makroskopisch" hinzufügen ;-)

Aus den Beiträgen in diesem und anderen Threads lese ich (teilweise
zwischen den Zeilen) unterschiedliche Definitionen heraus, die ich in
der nachfolgenden Liste zusammengefasst habe. Ich habe sie teilweise
etwas erweitert und überspitzt formuliert, die jeweiligen Autoren mögen
dies entschuldigen und nicht als Kritik ihrer Beiträge auffassen.
Außerdem habe ich jeweils in Klammern meinen (teilweise subjektiven)
Kommentar angefügt.

 3. Software führt Prozesse sequentiell, Hardware führt sie parallel
    aus. (das war vielleicht früher so)

 4. Hardware ist das, was mit dem Denken eines Hardwareentwicklers
    entwickelt wird. (selbstreferenzierende Definition, zudem schwammig)

 5. Hardware ist das, was der Hardwareentwickler besser kann, Software
    das, was der Softwareentwickler besser kann. (dto.)

 6. Die Syntax der zur Entwicklung eingesetzten Sprache legt fest, ob
    das Ergebnis der Entwicklung Hardware oder Software ist. (sehr
    schwammig)

 7. Was in Java, C#, MSVCC oder Visual-Basic entwickelt worden ist, ist
    Software. (etwas präziser als die vorige Definition, vür eine
    eindeutige Definition müsste man aber alle formalen Sprachen
    klassifizieren)

 8. Löten und vergleichbare Veränderungen, stehen für Hardware, eine
    Konfiguration für Software. (zielt in Richtung meiner obigen
    Definition mit der mechanischen Verformung)

 9. FPGA-Designs sind Hardware, weil das H ind VHDL für "Hardware"
    steht. (zu speziell, außerdem könnte das H auch "high speed" heißen)

10. FPGA-Designs sind Software, weil das P in FPGA für "programmable"
    steht. (dto.)

11. Alles, was mit VHDL entwickelt wird, ist Hardware, da man mit VHDL
    auch ASICs entwickeln kann. (zu speziell, man kann mit VHDL auch
    Software im klassischen Sinne entwickeln)

12. Sind die Zellen eines SRAMs Steuerelemente eines Schalters, ist der
    gespeicherte Inhalt Hardware. (zu speziell, zudem: auch in einem
    Prozessor werden durch die Speichrinhalte letztendlich Schalter
    betätigt)

13. Die Konfiguration von SIO, Timer, SPI in einem uC ist Software, die
    Konfiguration von Slices und LUTs ist Hardware. (vielleicht, aber
    wie sieht es mit anderen Typen von Basic-Blocks aus?)

14. Hardware ist, wenn die Entwicklung grundlegend anders als Software-
    entwicklung ist. (Referenzieung des Gegenteils)

15. Was mit Beschreibungssprachen definiert wird, ist Hardware und keine
    Software. (es gibt auch Beschreibungssprachen für die Software-
    entwicklung, s. deklarative Programmierung)

16. Software ist das, was man mit Programmiersprachen entwickelt, VHDL
    ist aber keine. (Definition Programmiersprache?)

17. Softcores sind, wie der Name sagt, Software. (zu speziell)

18. Hardware ist, wenn die Fehler mit Logic-Analyzer und Oszi gesucht
    werden. (ich habe auch schon mehrfach Fehler in PC-Software mit dem
    Oszi gesucht ;-))

19. Wenn jemand bei der Entwicklung auf die Nase fällt, ist es Hardware.
    (auch bei der Softwareentwicklung gibt es blutige Nasen)

20. Hardware ist das, wovon viele Professoren behaupten, dass es
    Hardware sei (... und sich damit fast schon auf
    geisteswissenschaftliches Niveau begeben ;-))

So, jetzt kann sich jeder eine der "Definitionen" heraussuchen oder
seine eigene dazuschreiben.

Wenn sich herausstellen sollte, dass mehr als 50% der Leute sich auf
eine einheitliche Definition einigen können, haben wir eine fruchtbare
Grundlage für eine weitere Diskussion des Ursprungsthemas geschaffen ;-)

Wenn nicht, ist das auch nicht weiter schlimm. Dann hat eben jeder seine
eigene Meinung darüber, was Hardware- und Softwareentwicklung ist, dem
Bruttosozialprodukt wird das kaum schaden. Man sollte sich dann aber
dessen bewusst sein, dass es sich um subjektive Meinungen handelt,
mehr nicht.

Autor: berndl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie waer's denn damit:

21: Software ist die Ausfuehrung eines Instruction-Set auf einer HW. 
Hardware ist die Implementierung eines solchen Instruction-Set.

(Instruction-Set kann dabei auch durch State-Machines, HW-Bloecke, oder 
sonstiges ersetzt werden).

Autor: Segor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Was für einen Unterschied macht es, ob VHDL mehr Software oder
> Hardware ist?

Zunächst keinen, bei näherer Betrachung aber eine risigen! Für den 
Bastler mag es Wurscht sein, aber sobald man industrielle Produkte 
herstellt und diese zulassungspflichtig sind, gibt es 
Dokumentationsforderungen.

Dazu 2 Punkte im Bereich FPGA/PLD/EEPROM:

Was dort reingeladen wird, ist Software und unterliegt den 
diesbezüglichen Anforderungen im Bezug auf Validierung. Auch in der 
FMEA-Betrachtung wird das so gehandhabt, weil man beim Beschreiben des 
EEPROMs und des FPGAs Fehler machen kann, beim FPGA schreibt meist noch 
ein Prozessor drauf, weswegen die drotigen Funktionen EINMAL speziell 
validiert werden muesse. Bei einem neuen VHDL-File muss die Validierung 
wiederholt werden!

Sobald aber aus dem VHDL ein ASIC gemacht wurde (auch wenn es ein ALtera 
Hardcopy ist!) hat man eine Hardware! Die kommt dann wie fertig 
porgrammierte EEPROMS oder OTPs direkt vom Hersteller. Da muss nichts 
mehr valdiert werden. Es reicht die Funktionsprofung und die 
Wareneingangskontrolle.

Hardware: Es muss jede Plattform gescheckt werden, die Funktion nur 
einmal im Prinzip

Software: Es muss jede Änderung validiert werden, die Funktion einmal 
nach Prinzip.

--------------------------------

Zum Hardwaerker: Es ist kein Widerspruch, Hardwareentwickler zu sein und 
(dazu) Software herzustellen. Es ist auch kein Widerspruch sich 
HW-Entwickler zu nennen und die Gehäusebauformen und die Geometrien 
festzulegen, thermische Berechungen zu machen, was physikalische, 
mechanische Handlungen sind.

Eine Bohrung bleibt Mechanik, auch wenn sie von einem HW-Mann 
druchgeführt wurde.

Ein VHDK-Code bleibt Software, egal er sie erstellt oder wo reinlädt.

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 21: Software ist die Ausfuehrung eines Instruction-Set auf einer HW.
> Hardware ist die Implementierung eines solchen Instruction-Set.
Was wäre dann eine OpCode-Erweiterung, wie sie bei diversen Prozessoren 
(z.B. 68k) über den Aufruf eines Illegal-OpCodes möglich war, in dessen 
Exception dann ein Workaround für einen Befehl oder auch ein neuer 
Befehl abgelegt war?
Harte Software oder softe Hardware  ;-)

> VHDK-Code
Schon wieder was Neues  :-/

Autor: Siemensianer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Was wäre dann eine OpCode-Erweiterung, wie sie bei diversen Prozessoren
>(z.B. 68k) über den Aufruf eines Illegal-OpCodes möglich war,

Das ist eine Hardware, genauer ein ungewollter Konstrukt infolge zu 
geringer Übersicht der Entwickler. Da viele dieser Codes sinnvoll sind, 
hätte man sie gleich dokumentieren können.

Es zu nutzen fordert natürlich Software. Wo ist das Verständnisproblem?

Ihr regt euch alle unnötig auf!
Wikipedia lesen, dort steht drin, was Hardware ist!
Der Rest ist Software, z.B: auch Logistik!

> sobald man industrielle Produkte herstellt
> und diese zulassungspflichtig sind, gibt es Dokumentationsforderungen.
Bei der Siemes gilt die VHDL-Entwicklung innerhalb der Entwicklung mit 
FPGAs ausdrücklich als Software!

Abteilungen, die aber nur ein FPGA aufs Board setzen und verdrahten, 
ohne sich über die Funktion gedanken zu machen, arbeiten nur nach 
Hardwarerichtlinien. Klar, sie machen ja auch keine Software.

Etwas anderes ist es, wenn solche Boards getestet werden: Die 
Prüfabteilungen, laden einen Dummycode ins FPGA um BS zu machen und 
Leitungen zu testen. Die machen Software, die sie auch dokumentieren und 
archivieren 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]
  • [vhdl]VHDL-Code[/vhdl]
  • [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.