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!
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.