Ich komme aus einem Programmier-Hintergrund und habe nicht zu viel mit Hardware oder Firmware rumgespielt (höchstens ein bisschen Elektronik und Arduino).
Was ist die Motivation, Hardwarebeschreibungssprachen (HDL) wie Verilog und VHDL gegenüber Programmiersprachen wie C oder einigen Assemblys zu verwenden?
Ist dieses Problem überhaupt eine Frage der Wahl?
Ich habe gelesen, dass Hardware, deren Firmware in einer HDL geschrieben ist, einen klaren Vorteil darin hat, Anweisungen parallel auszuführen. Es überraschte mich jedoch, dass in den Diskussionen Zweifel an der Verwendung von Firmware in C oder Assembly geäußert wurden (wie ist Assembly geeignet, wenn Sie nicht unbedingt eine CPU haben?), Aber ich kam zu dem Schluss, dass dies auch eine Option ist.
Daher habe ich ein paar Fragen (zögern Sie nicht, etwas zu erklären):
Eine Firmware kann wirklich entweder in HDL oder in einer Software-Programmiersprache geschrieben werden, oder ist es nur eine andere Möglichkeit, dieselbe Mission auszuführen? Ich würde gerne Beispiele aus der Praxis sehen. Welche Einschränkungen ergeben sich aus jeder Option?
Ich weiß, dass Firmware häufig anstelle von Software in Hardwarebeschleunigern (wie GPUs, Netzwerkadaptern, SSL-Beschleunigern usw.) verwendet wird. Soweit ich weiß, ist diese Beschleunigung nicht immer notwendig, sondern nur zu empfehlen (zum Beispiel bei SSL und der Beschleunigung komplexer Algorithmen). Kann man in allen Fällen zwischen Firmware und Software wählen? Wenn nicht, würde ich mich über Fälle freuen, in denen Firmware eindeutig und eindeutig angemessen ist.
Ich habe gelesen, dass die Firmware meist auf ROM oder Flash gebrannt hat. Wie ist es dort dargestellt? In Bits wie Software? Wenn ja, was ist der tiefgreifende Unterschied? Liegt es an der Verfügbarkeit angepasster Schaltkreise bei Firmware?
Ich glaube, ich habe hier und da einen Fehler gemacht, bitte vergib mir. Vielen Dank!