VHDL oder Verilog? [geschlossen]

94

VHDL und Verilog sind die HDLs des Tages. Was sind die Vorteile für jemanden, der überhaupt keine Erfahrung mit HDLs hat?

stevenvh
quelle
2
Sie scheinen gleichermaßen effizient zu sein, wählen Sie diejenige, die Sie bevorzugen. Ich finde, dass VHDL am besten zu mir passt.
Leon Heller
1
Wie kann ich diese Moderatoren "abstimmen" lassen? Die Rhetorik von Menschen mit früherer Erfahrung ist wertvoller als die in den Büchern enthaltenen Informationen. Bücher tragen nicht den Begriff der Zeit.
dsgdfg

Antworten:

70

Ich kann dir nicht sagen, was du lernen sollst, aber hier sind einige kontrastierende Punkte (von einem sehr VHDL-orientierten Benutzer, aber ich habe versucht, so fair wie möglich zu sein!), Die dir helfen können, eine Wahl basierend auf deinen eigenen Vorlieben zu treffen in Bezug auf den Entwicklungsstil:

Denken Sie auch an das berühmte Zitat "Ich bevorzuge das, was ich gerade nicht benutze" (Entschuldigung, ich kann mich nicht erinnern, wer das tatsächlich geschrieben hat - möglicherweise Janick Bergeron?)

VHDL

  • stark getippt
  • ausführlicher
  • sehr deterministisch
  • Nicht-C-ähnliche Syntax (und Denkweise)

Am Anfang viele Kompilierungsfehler, aber dann funktioniert meistens so, wie Sie es erwarten. Dies kann zu einer sehr steilen Gefühlslernkurve führen (zusammen mit der ungewohnten Syntax)

Verilog

  • schwach getippt
  • prägnanter
  • Nur deterministisch, wenn Sie einige Regeln sorgfältig befolgen
  • mehr C-ähnliche Syntax (und Denkweise)

Fehler werden später in der Simulation gefunden - die Lernkurve für das Gefühl, etwas erledigt zu haben, ist flacher, dauert aber länger (wenn das die richtige Metapher ist?)

Für Verilog spricht auch, dass sich die High-End-Verifizierung immer mehr an SystemVerilog orientiert, was eine enorme Erweiterung von Verilog darstellt. Die High-End-Tools können jedoch auch VHDL-Synthesecode mit SystemVerilog-Verifizierungscode kombinieren.


Ein ganz anderer Ansatz: MyHDL - Sie erhalten die gesamte Leistungsfähigkeit von Python als Verifizierungssprache mit einer Reihe von Syntheseerweiterungen, aus denen Sie entweder VHDL oder Verilog generieren können.

Oder Cocotb - die ganze Kraft von Python als Verifizierungssprache, wobei Ihr synthetisierbarer Code immer noch in der HDL geschrieben ist, für die Sie sich entschieden haben (dh VHDL oder Verilog).

Martin Thompson
quelle
2
Ich kenne Verilog, bin aber mit VHDL nicht vertraut: Was meinen Sie damit, dass VHDL deterministischer ist als Verilog?
cic
44

Ich habe beide in der gleichen Woche gelernt. VHDL ist wie ADA / Pascal und Verilog ist wie C. VHDL ist ausführlicher und schmerzhafter, um eine Kompilierung zu erhalten, aber sobald Sie eine Kompilierung erhalten, sind Ihre Erfolgschancen besser. Zumindest habe ich das gefunden. Verilog ist wie C damit zufrieden, dass Sie sich in den Fuß schießen. Einige Branchen wie Aerospace / Government tendieren zu VHDL, andere zu Verilog. Das Problem, das ich bei beiden finde, sind die Prüfstandsfähigkeiten, und wenn ich versuche, zu lernen und von der Simulation zum Silizium- / FPGA-Schreiben zu gelangen, ist synthetisierbarer Code eine weitere Ausbildungsstufe.

Es gibt eine Sprache, die ich sehr mag und die CDL heißt . Es ist streng synthetisierbar, Sie schreiben Ihre Prüfstände auf andere Weise, es erzeugt einen synthetisierbaren Verilog, den Sie in andere Werkzeuge integrieren können. Leider fehlen die CDL- Dokumente. Ich hoffe, einige Beispiele auf der Welt herauszubringen, die zeigen, wie viel einfacher es ist, Verilog oder VHDL zu verwenden, aber das haben wir einfach nicht getan. Es kommt mit einer eigenen Sim / Test-Umgebung. Mit CDL und GTKWave können Sie viel arbeiten.

Ein anderes Tool namens Verilator ist ziemlich starr, um Ihren Verilog sauber zu halten. Es ist ein kostenloser Verilog-Simulator, mit dem Sie ganz einfach eine Verbindung zur Sim herstellen oder Prüfstände in C / C ++ erstellen können. Sie können auch Verilog verwenden, was Sie dort nicht einschränkt. Es gibt auch Icarus Verilog , das größer und bekannter ist, aber ich würde Verilator empfehlen, wenn Sie Verilog lernen möchten. Für VHDL gibt es GHDL , meine Erfahrung war nicht so gut wie bei Verilator , aber es gibt zumindest ein kostenloses Tool, mit dem Sie versuchen können, Ihre Füße nass zu machen. Wenn Sie Erfahrung mit Softwareprogrammierung haben, werden Sie Verilog wahrscheinlich schneller als VHDL erlernen und genießen.

Ich stimme mit Leon definitiv überein, versuche beides. Auf fpga4fun und anderen Webseiten finden Sie einige gute Informationen. Auf einigen dieser Seiten finden Sie Verilog- und VHDL-Entsprechungen für das behandelte Thema. Ich finde solche Seiten am nützlichsten, um die beiden Sprachen zu vergleichen. Wenn Sie in Ihrer Karriere HDL verwenden möchten, empfehle ich, mindestens einige Fähigkeiten für beide zu haben, vielleicht wirklich gut für eine, aber nicht in der Lage zu sein, die andere zu verwenden.

dwelch
quelle
1
Sehr gute Tipps. Ich habe Ihre Antwort als Referenz für mich und andere bearbeitet. +1
Daniel Grillo
23

Viele heilige Kriege wurden darum geführt. Ein besonderer Nachteil von Verilog ist das nicht deterministische Verhalten. http://www.sigasi.com/content/verilogs-major-flaw

Philippe
quelle
Ja, das sieht schlecht aus, aber ich bin mir nicht sicher: Ist das ein Fehler in der Sprache oder in diesem speziellen Synthesizer?
Stevenvh
4
Es ist ein Sprachproblem. Verschiedene Synthesizer wählen auf unvorhersehbare Weise ihr eigenes Verhalten. Führen Sie den gleichen Code auf einem Mentor-Simulator oder einem Cadence-Simulator aus, und Sie erhalten möglicherweise unterschiedliche Ergebnisse.
Philippe
20

Beide haben Vor- und Nachteile. VHDL ist akademischer, ausführlicher und komplexer. Sie müssen mehr Code schreiben, aber die Genauigkeit bedeutet, dass es wahrscheinlicher ist, dass es funktioniert. Verilog ist für typisches digitales Design einfacher, macht es jedoch einfacher, knifflige Fehler zu erstellen. VHDL ist an Universitäten häufiger anzutreffen. Verilog ist in großen Halbleiterunternehmen häufiger anzutreffen.

In der Regel hängt die Auswahl des einen oder anderen Tools von den von Ihnen verwendeten ab. Einige der beliebten FPGA-Tools arbeiten besser mit VHDL. Einige beliebte ASIC-Tools arbeiten besser mit Verilog. Was also besser ist, hängt davon ab, was Sie damit machen möchten.

Angenommen, Sie möchten kleine Projekte mit den Altera-FPGAs erstellen, die in EE-Schulen beliebt sind. Die kostenlosen Tools unterstützen beide HDLs. Möglicherweise verwendet die Benutzergemeinschaft jedoch hauptsächlich VHDL. Wenn Sie sich für diese Sprache entscheiden, gibt es mehr Beispielcode, wiederverwendbare Module usw.

Umgekehrt verwenden heutzutage fast alle von ihnen Verilog, wenn Sie beabsichtigen, in einem großen Unternehmen zu arbeiten, das ernsthafte Chip-Design-Arbeiten ausführt. Die leistungsstarken Synthese-, Simulations- und Verifikationstools sind für Verilog optimiert. Und in letzter Zeit SystemVerilog - Erweiterungen für Verilog zur Unterstützung des Entwurfs und der Verifizierung von Systemen auf hoher Ebene.

Mehr Diskussion hier und nützliche Links hier:

http://www.eetimes.com/electronics-blogs/programmable-logic-designline-blog/4032239/Verilog-versus-VHDL-which-is-best-

Für einen Anfänger / Hobbyisten ist der beste Rat, zu entscheiden, mit welchen Chips Sie spielen möchten und welche Beispiele der Anbieter anbietet. Verwende das. Wenn Sie ein erfahrener Digitaldesigner sind, dauert das Erlernen der anderen Sprache nur wenige Tage.

Andy McC
quelle
4
Vielen Dank. Der letzte Satz ist wichtig. Gibt es Werkzeuge, die eins in das andere umwandeln?
Stevenvh
Es gibt einige US-Regierungsgeschichten, auf die ich nicht näher eingehen werde, aber wenn Sie sich modelsim ansehen, wenn es Verilog aufnimmt, konvertiert es zu vhdl und simuliert das dann. Umgekehrt funktioniert das nicht, so dass Sie zumindest bei Verilog zu VHDL eine gewisse Konvertierung mit diesem Tool feststellen können. Es gibt andere Tools, die speziell die eine oder andere Art konvertieren, und es gibt Demoversionen.
old_timer
3
Einige der kommerziellen Tools (Synthese, statische Analyse) werden in einer Sprache gelesen und in der anderen ausgegeben. Das Ergebnis ist, als würde man einen Compiler verwenden, um Ada in Assemblersprache zu verwandeln, und dann einen Dekompiler, um C zu extrahieren. Das Ergebnis wird Ihnen nicht gefallen.
Andy McC
17

Kurze Antwort : Verwenden Sie SystemVerilog, lernen Sie aber auch VHDL . Vermeiden Sie Verilog-2001, wenn Sie können.

Sehr lange Antwort : Im Moment nehme ich an, dass Sie mit Verilog Verilog-2001 meinen, was wahrscheinlich auch die meisten anderen Antworten annehmen. Der beste Vorschlag wäre wahrscheinlich, beides zu lernen, aber beides nicht zu verwenden (mehr dazu am Ende der Antwort). Die Hauptunterschiede können im Folgenden zusammengefasst werden:

  • Verilog-2001 ist prägnant , während VHDL (sehr, sehr, sehr) ausführlich ist
  • Verilog-2001 unterstützt Konstrukte auf sehr niedriger Ebene, die von VHDL nicht unterstützt werden (Sie müssen sie jedoch nicht für das typische RTL-Design (Register Transfer Level) verwenden
  • VHDL ist stärker typisiert , wodurch es in der Regel viel einfacher ist, Fehler frühzeitig zu erkennen
  • VHDL ist viel ausdrucksvoller als Verilog
  • Verilog-2001 hat eine eher C-ähnliche Syntax, während VHDL eher Ada-artig ist
  • Verilog-2001 kann einige verwirrende Konzepte für Anfänger haben (zB wirevs reg)

Die beiden Sprachen teilen sich jedoch die wichtigsten Konzepte, wenn auch mit unterschiedlichen Namen (z. B. alwaysvs process). In jedem Fall hängt die Schwierigkeit, eine HDL zu erlernen, eher mit den dahinter stehenden Konzepten zusammen (z. B. der Gleichzeitigkeit aller Prozesse, der HW) Konventionen usw.) als auf die Sprache selbst. In Anbetracht der Unterschiede würde ich, wenn die Wahl zwischen Verilog 2001 und VHDL liegt, jeden Anfänger persönlich an VHDL wenden.

Wie ich bereits sagte, ist mein Vorschlag, tatsächlich weder VHDL noch Verilog-2001 zu verwenden, wenn Sie die Möglichkeit haben, zu wählen. Im Gegensatz zu der Annahme vieler Leute ist SystemVerilog keine höhere Sprache, die nur für das Design oder die Verifizierung auf Systemebene nützlich ist, und hat wenig mit Sprachen zu tun, die in ein höheres Synthesetool wie SystemC eingespeist werden können.

Stattdessen ist SystemVerilog ein vollständiges Update der Verilog-Sprache (basierend auf Verilog-2005, siehe http://en.wikipedia.org/wiki/SystemVerilog ), das eine vollständig synthetisierbare Teilmenge enthält, die der Prägnanz von Verilog mit einer höheren Expressivität als beide entspricht Verilog-2001 und VHDL, die meiner Meinung nach das Beste aus beiden Welten bieten.

Beispiele für sehr wichtige in SystemVerilog verfügbare Konstrukte / Ausdrücke, die in Verilog-2001, VHDL oder beiden nicht verfügbar sind:

  • always_ff, always_latch, always_combBlöcke , die die Designer zu unterscheiden unmittelbar zwischen den Blöcken der Umsetzung verschiedene Arten von Logik helfen, und - für always_combund always_latch- (! Eine Quelle unendlicher Bugs in VHDL und Verilog, vor allem für Anfänger) schließen automatisch die Signale, die auf der Empfindlichkeit Liste gehen
  • logicTypen, die die verwirrenden wireund regTypen von Verilog-2001 ersetzen
  • Gepackte Typen, die das einfache Bauen mehrdimensionaler Busse ermöglichen (z. B. logic [N-1:0][M-1:0][P-1:0]), während Verilog-2001 nur zweidimensionale Busse unterstützt und VHDL den Designer zwingt, neue Typen zu definieren, um ähnliche Strukturen zu erstellen
  • übergeordnete Konstrukte wie struct(ähnlich wie VHDL record) und sogar übergeordnete Konstrukte interface, mit denen sehr effektiv reguläre Strukturen (wie die Ports eines Busses) modelliert werden können

Ich habe all diese Unterschiede "auf meiner Haut" getestet, während ich zu Forschungszwecken an einem recht komplexen Multicore-System gearbeitet habe. Es wird jetzt von vielen Tools unterstützt, und ich bin mir sicher, dass es von Synopsys-Tools (sowohl für ASIC- als auch für FPGA-Syntheseflüsse), Xilinx Vivado (für FPGA-Synthese) und Simulationstools wie z als MentorGraphics Modelsim, Cadence NCsim und Synopsys VCS.

Um vollständig zu sein, gibt es zwei weitere wichtige Arten von Sprachen in der Toolbox des Hardware-Designers (obwohl die Qualität dieser Tools stark variieren kann):

  • HDL-Generierungssprachen wie MyHDL (Python-basiert) und Rocket (Scala-basiert). Das Konzept hier ist: Sie beschreiben Ihr Design in einer höheren Sprache, verwenden aber immer noch sehr HDL-ähnliche Konzepte (z. B. gleichzeitige Blöcke, explizites Timing) und generieren dann konventionelles HDL (normalerweise Verilog-2001). Ehrlich gesagt finde ich diese nicht besonders nützlich, da der Abstraktionsschritt von HDLs klein ist und SystemVerilog bereits viele Konzepte auf höherer Ebene bietet, mit dem Vorteil, dass sie ohne Zwischenschritte direkt in den Synthesefluss eingespeist werden.
  • Hochwertige Synthesewerkzeuge wie Vivado HLS, LegUp, Calypto Catapult und viele andere. Diese enthalten eine sehr allgemeine Beschreibung, häufig in C, C ++ oder SystemC und normalerweise ohne Zeitangabe, und generieren eine bestmögliche Implementierung in (normalerweise nicht lesbarem) Verilog. Sie können ziemlich gut einige Objekte erzeugen (zum Beispiel HW-Beschleuniger für Funktionen wie Faltung, FFTs usw.), sind aber im Allgemeinen nicht für allgemeine Zwecke geeignet. Zum Beispiel ist es unmöglich, in den meisten HLS-Tools einen Prozessorkern zu entwerfen - der einzige, den ich kenne, ist BlueSpec, ein Hybrid zwischen HLS- und HDL-Generation.
Francesco Conti
quelle
So habe ich es gelernt. Hat zuerst VHDL gelernt und 3 Jahre lang codiert. Danach verbrachte ich 3 Monate mit der Programmierung von Verilog und entschied (sehr schnell), dass SystemVerilog der richtige Weg war. Jetzt codiere ich fast ausschließlich SV, verlasse mich aber stark auf die Kenntnisse und Codiertechniken, die ich bei der Verwendung von VHDL gelernt habe.
Stanri
12

Meine Karriere in den letzten 13 Jahren bestand zu 80% aus ASIC und zu 20% aus FPGA.

VHDL wurde für die ersten 3,5 Jahre verwendet und der Rest war Verilog. Ich fand es nicht schwierig, zu Verilog zu wechseln, und aus Gründen des Standorts (Silicon Valley) und der Geschwindigkeit codiere ich heute nur in Verilog.

Außerdem mache ich eine Menge Async-Interfaces, Latches und Semi-Custom-Designs auf Gate-Ebene für die Leistung, sodass VHDL in meinem Leben nur sehr wenig Verwendung hat. Stattdessen fanden ich SystemVerilog und SystemC viel nützlicher, um sie für große technische Projekte zu verwenden.

Einmal haben mir Tools wie Verilator (kostenlos und schnell) viel Geld für kritische Simulationen gespart. Sie haben diese Option (noch) nicht für VHDL. Und Sie werden es vielleicht nie brauchen, wenn Sie immer in einem wohlhabenden Pool schwimmen oder keine> 1-Millionen-Tore entwerfen.

VHDL ist für Anfänger immer besser, bevor sie solide HW-Designprinzipien entwickeln. Meine Kommunikation mit den EDA-Leuten hier legt nahe, dass sie in den letzten 10 Jahren nur wenige VHDL-Entwicklungen durchgeführt haben, und es gibt heute einen großen Antrieb für HLS. Es wird also nicht viele Entwickler von VHDL-Tools geben ...

user27239
quelle
FreeHDL für die VHDL-Simulation? Qucs als Frontend.
Martin
8

Ich habe mich für VHDL entschieden, vor allem, weil ich C sehr gut kenne und festgestellt habe, dass ich beim Versuch, einen Verilog zu schreiben, in der Regel so geschrieben habe, als würde ich auf eine CPU abzielen, die keine Hardware beschreibt.

Es war sehr ärgerlich, eine Codeseite zu schreiben und zu erkennen, dass das, was Sie geschrieben haben, tatsächlich ein sequentielles Programm war, kein Hardware-Design, ja, es würde synth, aber das Ergebnis war hässlich und langsam.

VHDL war so unterschiedlich, dass ich es viel einfacher fand, in Bezug auf das Logikdesign zu denken und nicht den Fluss zu steuern.

Am Ende des Tages ist die Sprache selten das Schwierigste, die Fertigkeit im Systemdesign ist nicht das Tippen.

Grüße, Dan.

Dan Mills
quelle
5

Letztes Jahr hat die Universität, die ich studiert habe, zwei offene Kurse für Anfänger angeboten. Beide behandelten den gleichen Inhalt, nur einen mit VHDL und den anderen mit Verilog.

Natürlich habe ich beide Professoren nach den Unterschieden zwischen VHDL und Verilog gefragt. Beide konnten nicht die Besten wählen.

Also musste ich beide Kurse machen, um zu sehen, welcher für mich besser sein könnte. Mein erster Eindruck war, dass VHDL Pascal-ähnlicher und Verilog C-ähnlicher ist .

Danach habe ich mich entschieden, nur VHDL zu machen, weil ich zu dieser Zeit mit Delphi gearbeitet habe.

Aber ich habe nach dem Kurs nie mehr mit FPGA gearbeitet. Das ist also das Beste, was ich dir helfen kann.

Daniel Grillo
quelle
5

Ich benutze fast ausschließlich VHDL. Meiner Erfahrung nach ist VHDL in Europa häufiger, in den USA Verilog, aber auch in den USA hat VHDL stetige Fortschritte gemacht. Die starke Typisierung von VHDL stört mich nicht, da ich es wie eine altmodische Hardware-Designsprache verwende, wie sie in kleinen programmierbaren Logikprogrammen wie PALASM oder Alteras AHDL verwendet wird.

Das große Problem für die meisten Benutzer von VHDL sind die starken Typen. Sie möchten Zuweisungen zwischen std_logic_vector (was ich als eine Sammlung von Drähten im Ziel betrachte) und "int" (was ich als eine Zahl betrachte, die auf dem Computer gespeichert ist, der das Design kompiliert) vornehmen. Die nervigste Art der Konvertierung, die ich im Allgemeinen durchführe, ist zwischen bit_vector (was ich als Beschreibung einer Sammlung von Drähten in dem Computer betrachte, der das Design kompiliert) und std_logic_vector. Tatsächlich hat mich gerade die Suche nach einer Konvertierung von char (eine im Compiler gespeicherte Zeichenvariable) nach int zu StackExchange hingezogen.

Der berühmteste Konflikt zwischen VHDL und Verilog war damals der Designwettbewerb des Magazins ASIC & EDA. Google "Unerwartete Ergebnisse eines Hardware-Design-Wettbewerbs: Verilog gewonnen & VHDL verloren? - Sie sind der Richter!", Zum Beispiel: http://www.ee.ed.ac.uk/~gerard/Teach/Verilog/manual /Example/lrgeEx2/cooley.html

Der Wettbewerb bestand darin, ein ziemlich kompliziertes 9-Bit-Register zu implementieren. Es wurde hoch / runter gezählt sowie ein paar andere Dinge. Das Ergebnis war, dass bei 8 der 9 Verilog-Designer der Code nach 90 Minuten ausgeführt wurde. Zero von den 5 VHDL-Leuten hatte irgendetwas am Laufen.

Ich benutze VHDL nicht wie jeder andere. So wie ich es benutze, stören mich die Typen nicht sehr oft. Ich hätte das obige Projekt auf die gleiche Weise implementiert wie alles andere, und zwar vollständig in std_logic und std_logic_vector, wobei (früher) die nicht signierte IEEE-Bibliothek verwendet wurde. Stattdessen stelle ich mir vor, dass die VHDL-Designer ihre Arbeit mit int gemacht haben und sich in der Typkonvertierung verirrt haben.

Bei der Typkonvertierung können zwei Stellen verloren gehen: (a) Ihr Design und (b) Ihr Prüfstand. Für mich ist es einfach einfacher, den Prüfstand (fast) vollständig in std_logic zu schreiben, sodass der Prüfstand selbst (fast) synthetisierbar ist. Mit "fast" meine ich, dass ich die Uhr mit einer verzögerten Zuweisung definieren werde, die nicht synthetisiert werden kann. Aber abgesehen davon (und von Kommentaren) können Sie meine Prüfstände nicht von der synthetisierten Logik unterscheiden.

Wie auch immer, bevor Sie sich für eine Muttersprache entscheiden (fast jeder hat eine Vorliebe, aber fast jeder verwendet beide), würde ich empfehlen, diesen Wettbewerb nachzuschlagen und den Kommentar dazu zu lesen.

Eines der Probleme, die ich bei VHDL beobachtet habe, ist, dass es (nach Meinung der Designer) eine Tendenz gibt, zu glauben, dass es keine Kommentare erfordert, da es sich um eine sehr ausführliche Sprache handelt. Das stimmt natürlich nicht, Sie sollten die Kommentare vor dem Code schreiben.

Carl Brannen
quelle
1
Ich halte es für eine interessante Behauptung, dass die starke Typisierung von VHDL das größte Problem darstellt. Starkes Tippen ist für mich ein zentrales Merkmal, mit dem ich den Abstraktionsgrad erhöhen kann. Beim Hardwaredesign haben Sie die Wahl, ob Sie eine Struktur beschreiben möchten, die ein Verhalten implementiert, oder ob Sie ein Verhalten beschreiben möchten, das eine Struktur implementiert. Die Geschichte hat gezeigt, dass Abstraktion der Schlüssel zum erfolgreichen Entwurf großer Systeme ist, und digitale Systeme sind keine Ausnahme. Ich denke deshalb, dass Sie viel vermissen, wenn Sie sich auf eine sehr enge Untergruppe von Sprachmerkmalen beschränken.
10.
2
Es stimmt, aber ich bin nicht auf "Großsystemdesign" spezialisiert, sondern auf kleine Dinge, die extrem effizient sein müssen. Es gibt eine Reihe von Gründen, warum Effizienz beim Elektronikdesign manchmal an erster Stelle steht. Manchmal besteht ein großes System aus vielen dieser kleinen Systeme, und diese Art der Konstruktion führt zu einer weitaus höheren Effizienz.
Carl Brannen
5

Ich werde meine zwei Cent abwägen: Ich bin selbst ein schwerer VHDL-Benutzer, aber Verilog kann die Arbeit mit Sicherheit genauso gut erledigen. Sie können immer eine in die andere wickeln (allerdings mit Zeit- und Tippaufwand).

Was ich gefunden habe, ist, dass Raw-VHDL viele nützliche Funktionen fehlen. (ODER oder UND: Es kommt ein ganzer std_logic_vector in den Sinn). Wenn Sie sich also eine Toolbox mit debuggbaren, synthetisierbaren Funktionen zusammenstellen, können Sie Ihre Produktivität bei der Verwendung von VHDL erheblich steigern.

Vielleicht könnte jemand auf eine gute Open-Source-Bibliothek verweisen, die all diese "Good-to-Have" -Funktionen bietet?

ErikAndren
quelle
2
Ich bin mir ziemlich sicher, dass die UND / ODER-Reduzierung in VHDL 2008 enthalten ist, zusammen mit einigen anderen nützlichen Updates.
ks0ze
4

Die vorherigen Antworten behandeln so ziemlich die Kontraste zwischen den beiden Sprachen, und dieser Artikel behandelt die Punkte auch ziemlich gut: http://www.bitweenie.com/listings/verilog-vs-vhdl/

Ich möchte noch ein paar Punkte ansprechen, die nicht erwähnt wurden.

Ich würde aus mehreren Gründen empfehlen, zuerst VHDL zu lernen. Die starke Schreibweise hilft dem Compiler, einige leichte Anfängerfehler zu erkennen. Ich habe auch gehört, dass VHDL nach der ersten Verwendung von Verilog schwieriger zu erlernen ist.

Ehrlich gesagt kann man mit beiden Sprachen nichts falsch machen. und wenn Sie sehr lange in dieser Branche arbeiten, werden Sie schließlich sowieso beide Sprachen lernen.

user19460
quelle