mikrocontroller.net

Forum: FPGA, VHDL & Co. Grundlegende Frage SystemVerilog


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Bliad B. (bliad_b)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Vancouver (Gast)
Datum:

Bewertung
1 lesenswert
nicht 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?

Autor: Bliad B. (bliad_b)
Datum:

Bewertung
0 lesenswert
nicht 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 ?

Autor: Bliad B. (bliad_b)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oder ein altes paint xD

Autor: Klakx (Gast)
Datum:

Bewertung
1 lesenswert
nicht 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.

Autor: Vancouver (Gast)
Datum:

Bewertung
1 lesenswert
nicht 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.

Autor: Bliad B. (bliad_b)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Bliad B. (bliad_b)
Datum:

Bewertung
0 lesenswert
nicht 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 ?

Autor: Duke Scarring (Gast)
Datum:

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

Autor: Vancouver (Gast)
Datum:

Bewertung
1 lesenswert
nicht 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?

Autor: Clemens N. (cleemens)
Datum:

Bewertung
1 lesenswert
nicht 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).

Autor: Vancouver (Gast)
Datum:

Bewertung
1 lesenswert
nicht 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.

Autor: Bliad B. (bliad_b)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Vancouver (Gast)
Datum:

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

Autor: Duke Scarring (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.