Forum: FPGA, VHDL & Co. Grundlegende Frage SystemVerilog


von Bliad B. (bliad_b)


Lesenswert?

Hi ich muss einen "simplen" kryptologischen Hashalgorithmus in 
SystemVerilog schreiben. Allerdings finde ich es merkwürdig, dass man so 
viele Hilfsmittel wie functions und arrays in SystemVerilog zur 
Verfügung hat. Man kann den Code ja fast aus dem C code kopieren...

Ich habe aber auch schon gesehen, dass Hilfsmittel wie functions sogar 
synthetisierbar sind !

Was sagt ihr dazu. Ich kenne mich noch nicht so aus

Viele Grüße

von Vancouver (Gast)


Lesenswert?

Funktionen in SV sind synthetisierbar, wenn die Funktion 
synthetisierbaren Code enthält, genau wie bei VHDL. There's no magic. 
Was findest du daran merkwürdig?

von Bliad B. (bliad_b)


Lesenswert?

Ich finde daran merkwürdig, dass man ohne viel Aufwand Code schreiben 
kann. Ich denke so eine function muss im Hintergrund sehr aufwenig 
umgesetzt werden oder ? Außerdem ist es dann komisch, dass die 
Entwicklungsumgebung so alt aussieht . Z.B. ModelSim ist richtig schwer 
zu bedienen. Wie ein altes Auto oder so.
Wie kommt das ?

von Bliad B. (bliad_b)


Lesenswert?

oder ein altes paint xD

von Klakx (Gast)


Lesenswert?

Bliad B. schrieb:
> [..] Außerdem ist es dann komisch, dass die
> Entwicklungsumgebung so alt aussieht [..]

wieso, es hat doch sogar seit Anfang den Dark-Mode ;)

Die Hauptfrage wäre noch synthetisierbares SystemVerilog oder nur für 
Testbench? Letzteres stimme ich dir zu. Bei ersteren sieht die Sache 
ganz anders aus.

Es stimmt schon, dass die Simulatoren nicht die geschmeidigsten sind für 
Step-Debugging. Aber dafür wurden diese auch nicht in erster Linie 
gebaut.

von Vancouver (Gast)


Lesenswert?

Ohne viel Aufwand  Code schreiben ja, aber die Vorteile von SV liegen in 
der Verifikation. Für die Synthese musst du dich auf einen Subset 
beschränken wie bei VHDL.
Modelsim ist keine Entwicklungsumgebung, sondern ein Simulator, der auch 
Verilog und VHDL versteht. Ja, es gibt schönere GUIs, aber Entwickler 
sind ja nicht so wählerisch. Manche arbeiten am liebsten mit der 
Kommandozeile.

von Bliad B. (bliad_b)


Lesenswert?

ja bei der verifikation kann man in sv. ja auch klassen und so 
erstellen. das meine ich aber gar nicht.
ich meine , dass es ja eine HDL ist und deswegen doch möglichst hardware 
nah sein sollte. wenn man dann so viel Code hat der wie C aussieht 
wundere ich mich einfach. wenn das z.b nach assembler code aussehen 
würde , würde ich nichts hinterfagen xD

von Bliad B. (bliad_b)


Lesenswert?

aber wenn modelsim zum simulieren da ist. womit soll man dann den Code 
schreiben ?
ich hätte noch quartus .. aber das ist doch viel zu groß das programm 
ist ist auch nicht einfacher beim schreiben von code oder ?

von Duke Scarring (Gast)


Lesenswert?

Bliad B. schrieb:
> womit soll man dann den Code
> schreiben ?
Ich nehme dafür einen (Text-)Editor.

von Vancouver (Gast)


Lesenswert?

Was willst Du eigentlich machen? Ein Simulationsmodell? Einen ASIC? 
Einen FPGA? Von welchem Hersteller? Die Zieltechnologie gibt vor, welche 
Entwicklungsumgebung du nutzen musst. Hast du schon mal ein HDL-Design 
gemacht, und wenn ja, mit welcher Sprache und für welche Technologie?

von Clemens N. (cleemens)


Lesenswert?

Ich glaube der Kollege ist einfach verwundert das nachdem er sich VHDL 
gequält hat da plötzlich eine HDL kommt die schriftlich einfacher 
aussieht. Aber das ist ja das schicke am (modernen) SystemVerilog.

Du kannst "einfacher" HDL schreiben, aber gleichzeitig auch schnell mehr 
kaputt machen.

Und wie alle hier schon sagen, werde dir mal über die Begrifflichkeiten 
klar. Eine Funktion in SystemVerilog ist natürlich nicht das selbe wie 
in einer Programmierhochsprache (Genauso wie VHDL und C while-schleifen 
haben, diese aber etwas ganz anderes tun).

von Vancouver (Gast)


Lesenswert?

Ja, das ist einer der Fallstricke bei SV: Es sieht ein bisschen aus wie 
C, und schon denkden die Leute, dass sie ihren FPGA jetzt einfach in C 
programmieren können (und da war es wieder, das böse P-Wort). Dieselbe 
Falle wir bei MyHDL und Python.
Man muss dem TO zumindest hoch anrechnen, dass ihm das seltsam vorkommt.

von Bliad B. (bliad_b)


Lesenswert?

danke sehr für die Antworten
>Ich nehme dafür einen (Text-)Editor.
Nur einen Texteditor ist doch sehr wenig oder? Man erhält doch so wenige 
hilfestellungen, makros etc..  kostet dann doch viel mehr zeit oder ?

>Du kannst "einfacher" HDL schreiben, aber gleichzeitig auch schnell mehr
>kaputt machen.
Ja das ist das was ich meine^^

>Hast du schon mal ein HDL-Design
>gemacht, und wenn ja, mit welcher Sprache und für welche Technologie?
nein, deswegen ja diese fragen xD

von Vancouver (Gast)


Lesenswert?

Dann solltest du aber nicht gleich mit einem Hashalgorithmus anfangen. 
Kann man mit Quartus SV simulieren? Dann mach damit ein paar erste 
Gehversuche.

von Duke Scarring (Gast)


Lesenswert?

Bliad B. schrieb:
>>Ich nehme dafür einen (Text-)Editor.
> Nur einen Texteditor ist doch sehr wenig oder?
Mit Texteditor meine ich nicht notepad.exe
Funktionell nutze ich Suchen&Ersetzen, Syntaxhervorhebung, Spaltenmodus, 
automatische Einrückung und Vervollständigung.
Was brauchst Du noch?

> Man erhält doch so wenige
> hilfestellungen, makros etc..  kostet dann doch viel mehr zeit oder ?
Makros? Wozu? Und nein, mich kostet es weniger Zeit, wenn ich einen 
Editor für viele Aufgaben verwenden kann, statt jedes Mal in einer neuen 
Entwicklungsumgebung wieder neue Shortcuts zu lernen, um doch nur Text 
einzugeben und 
build/compile/simulate/make/generate/synthesize/updatewhatever zu 
starten.

Duke

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.