Ich habe absolut keinen Hintergrund in programmierbarer Logik, ich benutze in meinen Projekten hauptsächlich Mikrocontroller, aber in letzter Zeit musste ich mit Video arbeiten und der Mikrocontroller ist einfach zu langsam für das, was ich brauchte, also habe ich angefangen, mit CPLDs zu spielen.
Ich konnte mit der CPLD gute Ergebnisse erzielen, wenn ich nur den Schaltplan verwendete. Bei der Suche nach Informationen zu CPLDs stieß ich jedoch auf viele Beispiele mit VHDL und Verilog. Ich bin gespannt, was mich dazu bringen könnte, mein Gerät in einer dieser Sprachen zu definieren. Was können sie tun, was der schematische Entwurf nicht kann? Werden sie hauptsächlich für Funktionen verwendet?
Bisher habe ich nur CPLDs verwendet. Profitieren FPGA-Designs mehr von diesen Sprachen als CPLDs?
quelle
Antworten:
Ein schematisches Design ist nur dann sinnvoll, wenn Sie nur einige Standardmodule (Zähler, Addierer, Speicher usw.) zusammenfügen. Die Implementierung eines tatsächlichen Algorithmus (z. B. eines Kryptografie-Hashing-Algorithmus) ist jedoch ohne eine HDL (wie VHDL oder Verilog) nahezu unmöglich, da es keine Möglichkeit gibt, ein System auf Verhaltensebene mit schematischen Symbolen zu beschreiben.
Die meisten Projekte werden in verhaltensorientiertem HDL ausgeführt, da sie zu komplex sind, um von Hand synthetisiert und schematisch mit logischen Grundelementen gezeichnet zu werden.
CPLDs werden im Allgemeinen für die Klebelogik und weniger für die Verarbeitung verwendet, und im Allgemeinen ist die Logik einfach schematisch zu implementieren. Ich denke, Sie haben Recht, wenn Sie vorschlagen, dass FPGA-basierte Designs mehr von der Verwendung einer HDL profitieren.
quelle
Ein paar praktische Aspekte zusätzlich zu Jays hervorragender Antwort:
* Mein Lieblingsfehler in Xilinx ISE war die Unfähigkeit, vertikale Drähte auszuwählen.
quelle
Die Vorteile einer HDL (Hardware Description Languages) als Design Entry-Standard sind vielfältig.
Die Beschreibung der Funktionalität kann auf einer höheren Ebene erfolgen, HDL-basierte Entwürfe können zu einer Beschreibung einer ausgewählten Technologie auf Gate-Ebene synthetisiert werden. Ein HDL-Entwurf ist leichter zu verstehen als eine Netzliste auf Gate-Ebene oder eine schematische Beschreibung und HDLs Fehler durch starke Typprüfung reduzieren.
Die Hardwarebeschreibungssprachen VHDL und Verilog wurden für die Modellierung von Hardware mit der Absicht entwickelt, auf einer höheren Abstraktionsebene zu modellieren, die Funktionen wie Parallelität, Zeitverhalten, Hierarchie, Wiederverwendung von Komponenten, Zustandsverhalten, synchrones Verhalten, asynchrones Verhalten, Synchronisation und inhärente Parallelität umfasst .
Probleme treten während der Synthese auf, indem die Entwurfsbeschreibung einem bestimmten Prozess und einer bestimmten Gate-Implementierung zugeordnet wird. Dies setzt voraus, dass Sie die High-Level-Funktionen von HDL nicht nutzen können - Sie müssen "synthetisierbares Verilog / VHDL" erstellen
Sie haben also HDL für die Synthese und HDL für die Simulation und die Teilmenge, die synthetisiert werden kann, ist werkzeugspezifisch.
Sie können nicht von einer Behavioral Design-Beschreibung zu einer Netzliste / einem Netzlayout wechseln. Sie können Ihr Design jedoch so strukturieren, dass es Verhaltenskomponenten enthält, die auch einen synthetisierbaren Aspekt haben, der miteinander verglichen werden kann. Sie beginnen mit dem Verhalten, und sobald es funktioniert, schreiben Sie es für die Synthese neu (was eine Teilmenge ist). Sie gehen vom Allgemeinen zum Besonderen und bauen auf dem Weg Prüfstände.
quelle
Ein weiterer Vorteil ist, dass HDLs dieselben Vorteile wie normale Programmiersprachen haben, da sie in Standardversionskontrollsystemen verwendet werden können, um Änderungen zu untersuchen usw.
quelle
Zusätzlich zu dem, was bereits gesagt wurde: Die Textdarstellung ist insbesondere bei großen Projekten einfacher zu handhaben. Sie können (wenn auch mit großen Schwierigkeiten) jede syntheizbare HDL in einen Schaltplan umwandeln, aber Hunderte von Textzeilen sind einfacher zu verarbeiten als Hunderte von Schaltplanelementen.
quelle