Forum: Mikrocontroller und Digitale Elektronik SystemVerilog - exotisch oder weit verbreitet?


von Emil G. (balsamico)


Lesenswert?

Hallo ihr,

nachdem wir im Digitaltechnikkurs ein wenig in Hardwareentwicklung in 
Verilog eingestoiegen sind, habe ich mir nun ein FPGA-Board besorgt und 
will tiefer in die Geschichte einsteigen. Weil ich objektorientiert 
programmieren kann, habe ich fast begeistert aufgeschrien, als ich 
entdeckt habe, dass es SystemVerilog gibt. Weil neben persönlichem 
Interesse der andere Grund dafür ist, dass ich mich mit der 
Hardwaregeschichte und Verilog befasse ist, dass ich mir sehr gut 
vorstellen kann, das nach dem Studium beruflich zu machen, habe ich ein 
wenig die Stellenbörsen durchforstet. Von SystemVerilog ist da kaum die 
Rede -fast nur von Verilog. Woran liegt das?
-Wird SystemVerilog oft mit Verilog bezeichnet?
-Hat sich SystemVerilog nicht durchgesetzt? Eignet sich 
Objektorientierung nicht für Hardware?
-Ist SV erst im Kommen und objektorientierte Hardwareentwicklung ist die 
Zukunft?
-ein völlig anderer Grund?

Ich bin sehr gespannt auf eure Antworten -gerade weil ich den Eindruck 
habe (bin hier erst gelandet), dass viele von euch das nicht (nur) als 
Hobby betreiben.

Vielen Dank schonmal!

von Kai S. (zigzeg)


Lesenswert?

Ich denke SystemVerilog wird meist lediglich als Verilog bezeichnet.
Die objektorientieren Features eignen sich allerdings weniger zur 
Hardwarebeschreibung, als zum Schreiben von Testbenches. So verwenden 
häufig verwendete Bibliotheken zur Testbench-Entwicklung, wie zum 
Beispiel UVM, System Verilog als Basis.
Das bei der Hardwareentwicklung der meiste Aufwand in die Verifikation 
gesteckt wird (schliesslich ist ein fehlerhafter Chip extrem Teuer) 
bedeutet das es sicher kein Fehler ist sich auch mit SystemVerilog 
auszukennen.

ZigZeg

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Emanuel G. schrieb:
> Weil ich objektorientiert programmieren kann, habe ich fast
> begeistert aufgeschrien, als ich entdeckt habe, dass es
> SystemVerilog gibt.

Es ist verheerend, Softwareprogrammierung und Hardwarebeschreibung in 
einen Topf zu werfen, auch wenn sich die verwendeten Sprachen 
syntaktisch stark ähneln. Insbesondere Verilog kann ja eine deutliche 
Sprachverwandtschaft mit C nicht leugnen, ebenso VHDL mit ADA.

Ich beschreibe Hardware ganz bewusst in VHDL und nicht in Verilog, damit 
es einen deutlichen Unterschied zwischen den Sprachen gibt, zumal sich 
bei mir Hardwarebeschreibung und die zugehörige Firmwareentwicklung in 
C/C++ teilweise sehr schnell abwechseln, d.h. ich definiere z.B. ein 
Peripherieregister in einem IP-Block, starte die Synthese und schreibe 
währenddessen schon die passenden Definitionen und Zugriffsfunktonen in 
C. Gäbe es keinen hinreichend großes Unterschied zwischen den Sprachen, 
bestünde die Gefahr, im falschen Stil weiterzuarbeiten.

Die FPGA- und Toolhersteller versuchen natürlich, unerfahrene 
Softwareentwickler zu ködern, indem sie ihnen Beschreibungssprachen 
vorsetzen, in denen sie sich scheinbar sofort zurechtfinden. 
Dementsprechend übel kann das natürlich enden, insbesondere in Form 
subtiler Fehler durch fehlendes oder fehlerhaftes Einsynchronisieren, 
usw..

Die Kuh, die alle paar Jahre durchs Dorf getrieben wird, heißt ja 
neuerdings HLS (High-level synthesis). Hierdurch soll der Umstieg von 
der Softwareentwicklung noch einfacher gemacht werden, zumindest wenn 
man den Hochglanzprospekten glauben mag. Neulich meinte ein 
Entscheidungsträger eines Kunden, es handele sich dabei nun endlich um 
das Allheilmittel, um ein schon seit Jahren kränkelndes FPGA-Projekt nun 
endlich retten zu können. Man müsse bei HLS eben nicht mehr irgendwelche 
Register usw. definieren, sondern könne alles nahtlos in C 
programmieren, und das Synthesewerkzeug kümmere sich vollautomatisch um 
die optimale Aufteilung auf Hardware und Software. Ähh..., nein.

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
Noch kein Account? Hier anmelden.