Die Klingel.

Es gibt diejenigen, die diese Nachricht vor Ihnen gelesen haben.
Abonnieren Sie Artikel frisch.
Email
Name
Nachname
Wie willst du die Glocke lesen?
Ohne spam.

Stellen Sie sich vor, der Prozessor anstelle der Durchführung eines bestimmten Satzes von Anweisungen, wird unter jedem Programm wieder aufgebaut und den Algorithmus direkt an das "Eisen" drehen. So funktioniert FPG. Im heutigen Artikel werde ich Ihnen sagen, wie viel es möglich ist, und stellt Ihnen verschiedene Methoden zum Entwerfen von FPGA vor.

Zuerst müssen Sie ein wenig in der digitalen Logik des ASIC-Chips verstehen, aber es ist sehr schwierig, mit ihnen und teuer zu beginnen, und es ist besser, stattdessen mit FPGA zu beginnen.

Was ist FPGA?

FPGA. Entschlüsselt als feldprogrammierbares Gate-Array (benutzerprogrammierbare Ventilmatrizen, PPVM). In einem allgemeineren Fall werden sie als FPGA-programmierbare logische integrierte Schaltungen bezeichnet.

Mit Hilfe von FPGA können Sie im wörtlichen Sinn des Wortes, der digitalen Chips des Wortes, der digitalen Chips, der zu Hause mit einem erschwinglichen Debug-Board auf dem Tisch und Entwickler für mehrere tausend grüne Rubel sitzen. Es gibt jedoch kostenlose Möglichkeiten. Hinweis: Es ist zu entwerfen und nicht zu programmieren, denn am Ausgang erhalten wir an der Ausgabe einen physischen digitalen Schaltung, der einen bestimmten Algorithmus auf der Hardware-Ebene ausführt, und kein Prog für ein Projekt.

Es funktioniert wie folgt. Es gibt eine vorgefertigte Leiterplatte mit einem Satz von Schnittstellen, die an die auf der Platine installierte FPGA-Mikrocircuit angeschlossen sind, so etwas wie eine so coole Gebühr für das Rechenzentrum oder diese Debug-Board zum Lernen.

Während wir FPGA nicht konfigurieren, gibt es einfach keine Logik im Chip für die Verarbeitung von Daten von den Schnittstellen und funktioniert daher nicht. Infolge des Designs wird jedoch die Firmware erstellt, die nach dem Laden in FPGA den digitalen Stromkreis erstellt, den wir benötigen. Auf diese Weise können Sie einen 100G-Ethernet-Controller erstellen, der Netzwerkpakete empfängt und verarbeitet.

Ein wichtiges Merkmal von FPGA ist die Möglichkeit der Umkonfiguration. Lassen Sie uns nun sagen, wir brauchen einen 100g-Ethernet-Controller, und eine Woche später kann dieselbe Tafel verwendet werden, um die unabhängigen vier 25g Ethernet-Schnittstellen umzusetzen.

Der Markt beschäftigt zwei Führer im Hersteller von FPGA-Chips: Alle berühmten Intel und Xilinx. Sie steuern 58 und 42% des Marktes. Die ersten FPGA-Chip-Gründer von Xilinx erfunden 1985. Intel kam ziemlich kürzlich auf den Markt - im Jahr 2015 absorbierte Altera, die gleichzeitig mit Xilinx gegründet wurde. Alta- und Xilinx-Technologien sind weitgehend als Entwicklungsumgebung ähnlich. Häufiger arbeitete ich mit Xilinx-Produkten zusammen, also seien Sie also nicht überrascht von seiner ständigen Erwähnung des Artikels.

FPGA ist in verschiedenen Bereichen weit verbreitet: Unterhaltungselektronik, Telekommunikationsgeräte, Booster-Beschleunigern für die Verwendung in Rechenzentren, Robotik, Prototyping ASIC-Mikroschaltungen. Ein paar Beispiele, die ich direkt darunter herausfinden werde.

Wir werden auch die Technologie berücksichtigen, die Hardware-Rekonfiguration anbietet, wir werden den Entwurfsprozess kennenlernen, und wir analysieren ein einfaches Beispiel für das Implementieren des Hardware-Zählers in der Verilog-Sprache. Wenn Sie ein FPGA-Debug-Board haben, können Sie es selbst wiederholen. Wenn es keine Gebühren gibt, können Sie sich immer noch mit Verilog kennenlernen, indem Sie die Arbeit des Programms auf Ihrem Computer simulieren.

Prinzip des Betriebs FPGA

Der FPGA-Chip ist der gleiche benutzerdefinierte ASIC-Chip, der aus den gleichen Transistoren besteht, von der aus dem Auslöser, Register, Multiplexern und anderen logischen Elementen für herkömmliche Systeme gesammelt werden. Um die Reihenfolge der Verbindung dieser Transistoren zu ändern, ist es natürlich nicht möglich. Der architektonische Mikroschirmen wird jedoch so geheim gebaut, dass Sie das Schalten von Signalen zwischen größeren Blöcken ändern können: Sie werden CLB - programmierbare logische Blöcke bezeichnet.

Sie können auch die logische Funktion ändern, die CLB ausführt. Dies wird aufgrund der Tatsache erreicht, dass der gesamte Chip mit den Zellen des statischen RAM-Konfigurationsspeichers durchdrungen ist. Jedes Bit dieses Gedächtnisses verwaltet entweder eine Art von Signalumschalttasten oder ist Teil der Wahrheitstabelle der logischen Funktion, die CLB-Geräte auslaut.

Da der Konfigurationsspeicher mithilfe der statischen RAM-Technologie erstellt wird, dann muss zunächst, wenn die FPGA-Leistung eingeschaltet ist, der Chip konfiguriert sein, und zweitens kann der Mikroschirmen nahezu unendlich viele Male neu konfiguriert werden.

Sehr vereinfachte 2D-Struktur des Chips ohne Konfigurationsspeicher

CLB-Blöcke befinden sich in einer Schaltermatrix, die die Ein- und Ausgänge der CLB-Blöcke einstellt.

Umschaltmatrixschema

Bei jeder Kreuzung von Leitern werden sechs Schalttasten von seinen Konfigurationsspeicherzellen geleitet. Wenn Sie andere öffnen und andere schließen, können Sie verschiedene Switching von Signalen zwischen CLB bereitstellen.

Clb.

CLB Sehr simplistisch besteht aus einem Block, der eine boolesche Funktion aus mehreren Argumenten definiert (es heißt der übereinstimmende Tabelle - Shopping Table, LUT) und Trigger (Flip-Flop, FF). In der modernen FPGA-Lut hat sechs Eingänge, aber drei sind in der Figur zur Vereinfachung gezeigt. Die LUT-Ausgabe wird dem CLB-Ausgang oder asynchron (direkt) oder synchron (durch den FF-Trigger) zugeführt (durch den FF-Trigger, der auf der Systemtaktfrequenz arbeitet).

Prinzip der Umsetzung von LUT.

Es ist interessant, das Prinzip der Umsetzung der LUT anzusehen. Lassen Sie uns etwas boolesche Funktion y \u003d (A & B) | ~ C. Sein Schaltung und Wahrheitstisch ist in der Figur dargestellt. Die Funktion hat drei Argumente, daher dauert es 2 ^ 3 \u003d 8 Werte. Jeder von ihnen entspricht der Kombination von Eingangssignalen. Diese Werte werden vom Programm berechnet, um FPGA-Firmware zu entwickeln und in bestimmten Konfigurationsspeicherzellen aufzunehmen.

Der Wert jeder Zelle wird an seinen LUT-Ausgangsmultiplexereingang geliefert, und die Eingabeargumente der Bullenfunktion werden verwendet, um einen oder einen anderen Funktionswert auszuwählen. CLB ist die wichtigste FPGA-Hardwarerressource. Die Menge an CLB in modernen FPGA-Kristallen kann anders sein und hängt vom Typ und dem Behälter des Kristalls ab. Xilinx hat Kristalle mit der Anzahl der CLB innerhalb von etwa viertaus tausend bis drei Millionen.

Innerhalb von FPGA hat neben CLB eine Reihe wichtiger Hardwareressourcen. Zum Beispiel Hardware-Multiplikationsblöcke mit Akkumulation oder DSP-Blöcken. Jeder von ihnen kann Operations-Multiplizierungen und Zugabe von 18-Bit-Zahlen pro Takt vornehmen. In den oberen Kristallen kann die Anzahl der DSP-Blöcke 6000 überschreiten.

Eine andere Ressource ist die internen Speicherblöcke (Block RAM, Bram). Jede Einheit kann 2 KB speichern. Die vollständige Kapazität eines solchen Speichers in Abhängigkeit von dem Kristall kann von 20 kb bis 20 MB erreichen. Wie CLB sind Bram- und DSP-Blöcke durch eine Schaltmatrix verbunden und den gesamten Kristall durchdringen. Binding CLB-, DSP- und Bram-Blöcke, Sie können sehr effektive Datenverarbeitungsschemata erhalten.

Vorteile von FPGA.

Der erste FPGA-Chip, der 1985 von Xilinx erstellt wurde, enthielt nur 64 CLB. Zu diesem Zeitpunkt war die Integration von Transistoren auf Chips viel niedriger als jetzt, und in digitalen Geräten verwendeten häufig Chips "Lauflogik". Es gab separate Chip-Register, Zähler, Multiplexer, Multiplikaner. Das spezifische Gerät erstellte eine eigene Leiterplatte, auf der diese niedrigen Integrationschips installiert wurden.

Die Verwendung von FPGA ermöglichte es, diesen Ansatz aufzugeben. Sogar FPGA auf 64 CLB spart erheblich einen Platz auf einer Leiterplatte, und die Verfügbarkeit von Reconfiguration fügte hinzu, um die Funktionalität der Geräte nach der Herstellung während des Betriebs zu aktualisieren, wie sie "im Feld" sagen (daher der Name - Feld) -Programmierbare Gate-Array).

Aufgrund der Tatsache, dass in der FPGA ein digitales Hardware-Digital-Diagramm erstellen können (die Hauptsache ist, genügend Ressourcen zu haben), ist eine der wichtigen Anwendungen von FPGA der Prototyping-ASIC-Chip.

Die Entwicklung von ASIC ist sehr komplex und kostspielig, der Fehlerpreis ist sehr hoch, und die Frage der Testlogik ist kritisch. Daher war einer der Entwicklungsstadien auch vor Beginn der Arbeit an der physischen Topologie des Systems sein Prototyping auf einem oder mehreren FPGA-Kristallen.

Die Entwicklung von ASIC erzeugt spezielle Gebühren, die eine Menge FPGA miteinander verbunden sind. Der Prototyp des Mikrocircuit-Prototyps arbeitet mit deutlich niedrigeren Frequenzen (möglicherweise Dutzende von Megahertz), spart jedoch Probleme und Fehler, um Probleme und Fehler zu speichern.

Meiner Meinung nach gibt es jedoch interessantere Anwendungen von FPGs. Mit der flexiblen FPGA-Struktur können Sie Hardware-Systeme für die Hochgeschwindigkeits- und Parallel-Datenverarbeitung mit der Fähigkeit, den Algorithmus zu ändern, implementieren.


Vergleich von Hardware-Plattformen

Denken wir an die grundsätzlich unterschiedliche CPU, GPU, FPGA und ASIC. Die CPU ist universell, Sie können jeden Algorithmus darauf ausführen, es ist am flexibelsten, und es ist einfacher, es dank der großen Anzahl von Programmiersprachen und Entwicklungsumgebungen zu verwenden.

In diesem Fall nimmt aufgrund der Vielseitigkeit und der konsistenten Ausführung der CPU-Anweisungen die Leistung ab und der Stromverbrauch des Schemas steigt an. Dies geschieht, da die CPU für jeden nützlichen arithmetischen Betrieb viele zusätzliche Vorgänge mit dem Lesen von Anweisungen, Verschieben von Daten zwischen Registern und Cashmem und einem anderen Fernsehgerät ausführt.

Auf der anderen Seite ist ASIC. Auf dieser Plattform wird der erforderliche Algorithmus aufgrund der direkten Verbindung von Transistoren von Hardware implementiert, alle Vorgänge sind nur mit der Ausführung des Algorithmus miteinander verbunden, und es besteht keine Möglichkeit, ihn zu ändern. Daher die maximale Leistung und der kleinste Stromverbrauch der Plattform. Aber um neu zu programmieren, ist es unmöglich.

Rechts von der CPU befindet sich die GPU. Zunächst wurden diese Chips auf Grafiken konzipiert, die jedoch jetzt zum Abbau der Allzweckberechnungen verwendet werden. Sie bestehen aus Tausenden von kleinen Rechenkern und führen parallele Operationen in der Datenanordnung aus.

Wenn der Algorithmus parallel sein kann, wird die GPU im Vergleich zur CPU erhebliche Beschleunigung erreicht. Andererseits werden aufeinanderfolgende Algorithmen schlechter sein, sodass die Plattform weniger flexibel ist als die CPU. Auch für die Entwicklung unter GPU ist es notwendig, spezielle Fähigkeiten zu haben, wissen OpenCl oder Cuda.

Endlich fpga. Diese Plattform kombiniert die Wirksamkeit von ASIC mit der Fähigkeit, das Programm zu ändern. FLAS sind nicht universell, aber es gibt eine Klasse von Algorithmen und Aufgaben, die eine bessere Leistung auf sie zeigen als auf der CPU und sogar GPU. Die Komplexität der Entwicklung unter FPGA ist höher, aber neue Entwicklungen machen diese Lücke weniger.

Der entscheidende Vorteil von FPGA ist die Möglichkeit, Daten im Tempo ihrer Quittung mit der minimalen Reaktionsverzögerung zu verarbeiten. Beispielsweise können Sie sich einen Smart Network-Router mit einer großen Anzahl von Ports vorstellen: Wenn das Ethernet-Paket an einen seiner Ports ankommt, müssen Sie die mehreren Regeln überprüfen, bevor Sie den Ausgabeport auswählen. Möglicherweise müssen Sie einige Paketfelder ändern oder neue hinzufügen.

Mit FPGA können Sie diese Task sofort lösen: Die Paketbytes haben gerade erst begonnen, den Chip von der Netzwerkschnittstelle einzugeben, und seine Überschrift wird bereits analysiert. Die Verwendung von Prozessoren hier kann die Verarbeitungsgeschwindigkeit des Netzwerkverkehrs erheblich verlangsamen. Es ist klar, dass Sie für Router den ASIC-registrierten Chip machen können, der am effektivsten funktioniert, aber was ist, wenn sich die Regeln für die Verarbeitung von Paketen ändern sollen? Alle FPGA werden dazu beitragen, die erforderliche Flexibilität in Kombination mit hoher Leistung zu erreichen.

Somit werden FPGAs verwendet, wenn eine hohe Leistung der Datenverarbeitung, der kleinsten Reaktionszeit sowie der geringen Stromverbrauch vorliegt.

FPGA in der Cloud

In Cloud Computing FPGA gilt für ein schnelles Konto, beschleunigen Sie den Netzwerkverkehr und den Zugriff auf Datenarrays. Dies beinhaltet die Verwendung von FPGA für den Hochfrequenzhandel an Börsen. Die Server werden FPGA-Karten mit PCI Express und der Intel-Optical Network-Schnittstelle (ALTERA) oder XILINX eingefügt.

Cryptographische Algorithmen sind auf FPGA perfekt niedrig, ein Vergleich von DNA-Sequenzen und wissenschaftlichen Aufgaben wie molekularen Dynamiken. Microsoft hat längst ein FPGA verwendet, um den Bingsuchdienst zu beschleunigen, sowie für die Organisation von Software definierten Vernetzung in der Azure Cloud.

Der Maschinenlernen-Boom hat auch nicht umgehende FPGA. Xilinx und Intel bieten FPGA-basierte Mittel an, um mit tiefen neuronalen Netzwerken zu arbeiten. Sie ermöglichen es Ihnen, FPGA-Firmware zu erhalten, die ein oder ein anderes Netzwerk direkt von Frameworks wie CAFE- und TENSORFLOW implementieren.

Und das ist alles, was Sie versuchen können, ohne das Haus zu verlassen und Cloud-Dienste zu verwenden. Zum Beispiel kann Amazon eine virtuelle Maschine mit Zugriff auf die FPGA-Karte und alle Entwicklungstools einschließlich Maschinenlernen mieten.

FPGA am Rande

Was ist sonst auf FPGA interessant? Aber warum nicht das tun! Robotik, unbemannte Autos, Drohnen, wissenschaftliche Geräte, medizinische Geräte, benutzerdefinierte mobile Geräte, intelligente Videoüberwachungskameras und so weiter.

Traditionell wurde FPGA zur digitalen Verarbeitung von eindimensionalen Signalen (und mit DSP-Prozessoren) in Radargeräten, Funksignal-Transceivers verwendet. Mit zunehmender Integration von Mikroschaltkreisen und einer Erhöhung der Leistung der FPGA-Plattform wurde es zunehmend für das Hochleistungsberechnung verwendet, beispielsweise zur Verarbeitung von zweidimensionalen Signalen "am Rand der Cloud" (Rand Computing).

Dieses Konzept ist am einfachsten, um das Beispiel des Camcorders zum Analysieren des Autoverkehrs mit der Funktionserkennungsfunktion von Maschinennummern zu verstehen. Sie können die Kamera mit der Möglichkeit nehmen, über Ethernet übertragen und den Thread auf dem Remote-Server zu verarbeiten. Mit der zunehmenden Anzahl von Kameras wächst die Last des Netzwerks, was zu Systemausfällen führen kann.

Stattdessen ist es besser, die Erkennung der Nummern auf dem installierten Rechner direkt an dem Camcorder-Gehäuse zu realisieren und die Maschinen in die Cloud des Maschinenformats zu übertragen. Dazu können Sie sogar einen relativ günstigen FPGA mit niedrigem Stromverbrauch aufnehmen, um den Akku durchzuführen. Es bleibt die Fähigkeit, die Logik des FPGA-Betriebs zu ändern, zum Beispiel beim Ändern des Standards der Autorummern.

Was mit Robotik und Drohnen, dann in diesem Bereich, ist es besonders wichtig, zwei Bedingungen durchzuführen - hohe Leistung und geringer Stromverbrauch. Die FPGA-Plattform ist eigentlich eignen, da es unmöglich ist und insbesondere dazu verwendet werden kann, Flugregler für die Drohnensteuerungen zu erstellen. Machen Sie bereits jetzt Ubls, die Entscheidungen über die Fliege treffen können.

Projektentwicklung auf FPGA

Es gibt verschiedene Designstufen: Niedrig, Block und Hoch. Ein niedriger Niveau beinhaltet die Verwendung von Sprachen des Verilogs oder VHDL, wo Sie die Entwicklung auf der Registerkarte (RTL-Register-Übertragungsniveau) verwalten. In diesem Fall bilden Sie die Register wie im Prozessor und bestimmen die logischen Funktionen, die die Daten zwischen ihnen ändern.

FPGA-Schemata arbeiten immer an bestimmten Taktfrequenzen (normalerweise 100-300 MHz), und auf der RTL-Ebene bestimmen Sie das Verhalten der Schaltung mit einer Genauigkeit des Systemfrequenztakts. Diese sorgfältige Arbeit führt zur Erzeugung der effektivsten Systeme in Bezug auf Leistung, FPGA-Kristallressourcenverbrauch und Stromverbrauch. Es gibt jedoch ernsthafte Fähigkeiten in der Schaltung, und der Prozess ist mit ihnen beispiellos.

Auf der Blockebene sind Sie hauptsächlich in der Verbindung von bereits bereitgestellten großen Blöcken tätig, die bestimmte Funktionen ausführen, um die Funktionalität des Systems auf dem Kristall (System-on-Chip) zu erhalten.

Auf hohem Design steuern Sie die Daten nicht mehr auf jeder Uhr, sondern konzentrieren sich stattdessen auf den Algorithmus. Es gibt Compiler oder Übersetzer mit C- und C ++ - Sprachen auf dem RTL-Level, beispielsweise Vivado HLS. Es ist ziemlich intelligent und ermöglicht es Ihnen, eine breite Klasse von Algorithmen auf der Hardware-Ebene auszurufen.

Der Hauptvorteil dieses Ansatzes an die RTL-Sprachen ist es, die Entwicklung zu beschleunigen, und insbesondere das Testen des Algorithmus: C ++ - Code kann auf einem Computer ausgeführt und überprüft werden, und es ist viel schneller, als die Änderungen von Algorithmus ändert RTL-Ebene. Für den Komfort müssen Sie natürlich zahlen - das Schema ist möglicherweise nicht so schnell und dauert mehr Hardwareressourcen.

Oft sind wir bereit, diesen Preis zu zahlen: Wenn Sie den Übersetzer kompetent nutzen, ist die Wirksamkeit nicht sehr verletzt, und die Ressourcen in moderner FPGA reichen aus. In unserer Welt ist dies mit einer kritischen Zeit für den Marktindikator gerechtfertigt.

Häufig müssen Sie in einem Design alle drei Designstile kombinieren. Angenommen, wir müssen ein Gerät herstellen, das wir in einen Roboter integrieren und mit der Fähigkeit, Objekte im Videostrom zu erkennen, zu erkennen - zum Beispiel Straßenschilder. Nehmen Sie den Video-Achs-Chip und verbinden Sie ihn direkt mit FPGA. Zum Debuggen können wir den HDMI-Monitor verwenden, der auch mit FPGA verbunden ist.

Frames von der Kamera werden auf FPGA über die von dem Sensorhersteller definierte Schnittstelle übertragen (USB rollt hier nicht rollt), verarbeitet und auf dem Monitor angezeigt. Für die Rahmenverarbeitung benötigen Sie ein Bildkanal, das normalerweise in dem externen DDR-Speicher befindet, der auf der Leiterplatte neben dem FPGA-Mikrocircuit installiert ist.


Typisches FPGA-Projektblockdiagramm

Wenn der Video-Sensor-Hersteller keine Schnittstellen-IP für unseren FPGA-Chip liefert, müssen wir Sie selbst in der RTL-Sprache schreiben, Takte, Bits und Bytes zählen, in Übereinstimmung mit der Spezifikation des Datenübertragungsprotokolls. Präprozess, DDR-Controller- und HDMI-IP-Blöcke, die höchstwahrscheinlich fertig sind und einfach ihre Schnittstellen anschließen. Und der HLS-Block, der die eingehenden Daten sucht und verarbeitet, können wir auf C ++ schreiben und mit Vivado HLS ausgestrahlt werden.

Am wahrscheinlichsten benötigen wir noch eine fertige Bibliothek mit Detektor und Klassifizierer von Straßenscheinen, die zur Verwendung in FPGA angepasst sind. In diesem Beispiel zitieren ich natürlich ein stark vereinfachtes Designschema, aber es spiegelt die Logik der Arbeit korrekt wider.

Sehen Sie sich den Entwurfspfad an, den RTL-Code zu schreiben, bevor Sie eine Konfigurationsdatei empfangen, um auf FPGA herunterzuladen.

Entwurfspfad

Sie schreiben also den RTL-Code, der das benötigte System implementiert. Bevor Sie es auf echte Überprüfung überprüfen, müssen Sie sicherstellen, dass es korrekt ist, und löst die erforderliche Aufgabe korrekt. Dies verwendet RTL-Modellierung im Simulator auf dem Computer.

Sie nehmen Ihr System, das bisher nur im RTL-Code dargestellt ist, und platzieren Sie es auf den virtuellen Stand, in dem die Reihenfolge digitaler Signale an den Eingängen der Schaltung die Ausgabediagramme registrieren, abhängig von der Zeit der Ausgangssignale und vergleichen mit die erwarteten Ergebnisse. Normalerweise finden Sie Fehler und kehren zum Schreiben von RTL zurück.

Als Nächstes wird der logisch nachgewiesene Code an die Eingabe des Synthesizer-Programms übermittelt. Es konvertiert eine Textbeschreibung der Schaltung in eine verknüpfte Liste digitaler Elemente aus der für diesen FPGA-Kristall zur Verfügung stehenden Bibliothek. In dieser Liste werden Elemente wie LUT, Trigger und Beziehungen zwischen ihnen angezeigt. Zu diesem Zeitpunkt sind die Elemente noch nicht an bestimmte Hardwareressourcen gebunden. Dazu müssen Sie das Einschränkungsschema (Einschränkungen) auferlegen - insbesondere angeben, um anzugeben, welche physikalischen Kontakte von E / A-Chips FPGA durch logische Ein- und Ausgänge Ihres Systems verbunden sind.

In diesen Einschränkungen müssen Sie auch angeben, auf welchen Taktfrequenzen das Schema funktionieren soll. Der Synthesizer-Ausgang und die Limitdatei sind dem Implementierungsprozessor angegeben, der unter anderem in der Unterkunft und Verfolgung (Ort und Route) eingerückt ist.

Der Platzprozess jeweils ist immer noch ein unabhängiges Element von der Netzliste, das in einem bestimmten Element im FPGA-Chip bindet. Als nächstes beginnt das Routenprozess, das versucht, die optimale Verbindung dieser Elemente für die entsprechende Konfiguration der Plit-Schaltmatrix zu finden.

Ort und Routengesetz auf der Grundlage der von uns auferlegten Einschränkungen auf dem Schema: Kontakt mit E / A-Kontakten und Taktfrequenz. Die Zeitfrequenzzeit ist sehr beeinflusst von der Implementierung: Es sollte nicht weniger als die Zeitverzögerung auf den logischen Elementen in der kritischen Kette zwischen den beiden aufeinanderfolgenden Auslöser sein.

Sofort erfüllen diese Anforderung oft nicht möglich, und dann müssen Sie in die Anfangsstufe zurückkehren und den RTL-Code ändern: Zum Beispiel versuchen Sie, die Logik in der kritischen Kette zu reduzieren. Nach erfolgreicher Abschluss der Implementierung wissen wir, welche Elemente dort sind und wie sie miteinander verbunden sind.

Erst danach wird der Prozess des Erstellens einer binären FPGA-Firmware-Datei gestartet. Es bleibt, es in das echte Eisen hochzuladen und zu überprüfen, ob er wie erwartet funktioniert. Wenn auf dieser Phase Probleme auftreten, bedeutet dies, dass die Simulation unvollständig war und alle Fehler und Mängel in dieser Phase nicht beseitigt wurden.

Sie können zur Simulationsstufe zurückkehren und eine abnormale Situation simulieren, und wenn es nicht funktioniert, wird der Debugging-Mechanismus dem Extremfall direkt in der Arbeitshardware bereitgestellt. Sie können angeben, welche Signale rechtzeitig verfolgen möchten, und die Entwicklungsumgebung erzeugt ein zusätzliches logisches Analysatorschema, das auf einem Kristall neben Ihrer entwickelten Schaltung platziert wird, verbindet sich mit den von Ihnen interessierten Signalen und speichert ihre Werte über Zeit. Gespeicherte temporäre Diagramme der gewünschten Signale können auf dem Computer entladen und analysieren.

Implementierung des Projekts auf Plis

Nachdem Sie ein Logikschema mit einer funktionalen Modellierung erfahren, müssen Sie ihn auf den Kristall legen. Führen Sie dann die Simulation des Schemas durch, unter Berücksichtigung der tatsächlichen Verzögerungen der Elemente, die nach dem Platzieren des Diagramms auf den Kristall erhalten werden. Passen Sie ggf. die erhaltenen Lösungen an. Danach wird das Diagramm in Plis geladen und seine Arbeit am Stand.

Feige. 82.Digitale Geräte-Design-Stufen auf Plis

Die Hauptstufen des Designs auf Plis (aus Vorlesungen):

    Ein Gerätediagramm wird entwickelt und in XilinX eingegeben.

    Die Implementierung wird durchgeführt (Sendung, Diagrammbildung durch Extrahieren von Bibliothekselementen, Optimierung, Platzieren auf einem Kristall).

    Programmierung.

  1. Assoziativer Speicher. Organisation, Sampling-Methode, Unterschiede vom Adressspeicher.

Assoziativer Zugang.implementiert die Suche nach Informationen zu einer gewünschten Funktion und nicht an seinem Speicherort im Speicher (Adresse oder Ort in der Warteschlange). In der vollständigsten Version werden alle im Speicher gespeicherten Wörtern gleichzeitig auf die Einhaltung des Merkmals überprüft, beispielsweise über den Zufall bestimmter Wörternfelder (Tags - vom englischen Word-Tag) mit einem vom Eingangswort eingestellten Zeichen ( Tagadresse). Die Ausgabe erteilt Wörter, die das Zeichen erfüllen. Die Disziplin der Wortausgabe, wenn das Tag mit mehreren Wörtern zufrieden ist, sowie die Disziplin der Aufzeichnung neuer Daten können unterschiedlich sein. Der Hauptbereich der Anwendung des assoziativen Gedächtnisses in modernen Computern - Daten-Caching.

In assoziativen einprägsamen Geräten erfolgt die Suche nach Informationen gemäß der in jeder Speicherzelle aufgezeichneten assoziativen Funktionen.

Ein Wort, das eine Anforderung für alle oder nur einigen Entladungen einer assoziativen Funktion ermöglicht, ermöglicht die Anwendung der Maske, den Suchbereich zu reduzieren oder zu erweitern.

Die Suche nach Informationen ergibt sich parallel zu allen Zellen, indem Sie eine Abfrage mit einem assoziativen Merkmal jeder Zelle vergleichen.

Das Ergebnis der Suche erzeugt eine spezielle Kombinationsschaltung, die Signale erzeugt, die das Fehlen von Wörtern benachrichtigen, die die Suchbedingungen erfüllen, über das Vorhandensein von nur einem Wort, über das Vorhandensein mehrerer Wörter, die ein solches assoziatives Merkmal aufweisen.

Nach der Bildung und Verarbeitung der Benachrichtigungssignale wird die Steuerschaltung von den erforderlichen Informationen gelesen. Bei der Aufnahme wird eine freie Zelle nach dem Wert der Beschäftigungsentladung gefunden, werden Informationen in der ersten gefundenen Zelle aufgezeichnet.

Die Überprüfung der Beschäftigung der Beschäftigung erfolgt über die Installation der N-TH-Entladung (Entlastung der Beschäftigungsmaske). Bei Verwendung zusätzlicher Kombinationsschaltungen im assoziativen Speicher können verschiedene logische Operationen durchgeführt werden, was die maximale oder minimale Anzahl ermittelt, die Anzahl der Wörter mit demselben assoziativen Merkmal usw. Die Speicherzellen des assoziativen Speichergeräts müssen Elemente des statischen Gedächtnisses sein, im assoziativen Speicher, der Rechtsmittel an allen Zellen gleichzeitig und sollte nicht von den Regenerationszyklen unterbrochen werden. Assoziativer Gedächtnis ist das schnellste wirkende, aber sehr teuer, da er ein zusätzliches Vergleichsschema erfordert, mit dem Sie nach jeder Speicherzelle suchen können. Daher wird ein solcher Speicher normalerweise nicht in reiner Form verwendet, und der Hochgeschwindigkeits-Cache-Speicherspeichervorrichtungen werden normalerweise als teilweise assoziativ durchgeführt.

IMvoll assoziativ. cache-Speicher (FACM, vollständig zugehöriger Cache-Speicher), jeder Zelle speichert Daten und im Feld "Tag" - eine vollständige physikalische Adresse von Informationen, deren Kopie aufgenommen wird. Mit jedem Austausch wird die physikalische Adresse der angeforderten Informationen mit den Feldern "Tag" aller Zellen verglichen, und wenn sie zusammenfallen, ist das HIT-Signal in jeder Zelle installiert.

Beim Lesen und dem Wert des HIT \u003d 1-Signals werden die Daten auf dem Datenbus angezeigt, wenn keine Übereinstimmungen (HIT \u003d 0) vorhanden sind. Wenn Sie beim Lesen aus dem Hauptspeicher aus dem Hauptspeicher lesen, werden die Daten zusammen mit der Adresse in der Kostenlose oder neu gebrauchte Cache-Speicherzelle.

Beim Schreiben sind die Daten zusammen mit der Adresse zunächst in der Regel im Cache (in der erkannten Zelle mit Hit \u003d 1 und frei mit HIT \u003d 0). Das Kopieren von Daten in den grundlegenden Speicher wird durchgeführt, wenn keine spezielle Steuerung ausgeführt wird, wenn keine Speicherbeschwerden vorhanden sind.

Der Speicher des FACM-Typs ist ein sehr komplexes Gerät und wird nur bei niedrigen Tanks verwendet, hauptsächlich in speziellen Anwendungen. Gleichzeitig bietet diese Art von Cache die größte Funktionsflexibilität und den Konflikt der Adressen, da jede Informationseinheit in eine beliebige Zelle des Cache-Speichers heruntergeladen werden kann.

Von Vorträgen:

Assoziative unvergessliche Geräte

Ein grundlegender Unterschied besteht darin, dass das System der Informationsentnahme von ihnen nicht an der eindeutigen Adresse des Findens von Informationen durchgeführt wird, sondern für ein bestimmtes Zeichen, das im Wesentlichen Teil der Suchinformationen ist.

Information

Das Tag ist ein unverwechselbares Merkmal, mit dem ein Informationsstück geht.

Vereinfachtes Schema des assoziativen Speichers:

Speicherbereich - Adressspeicher mit nummerierten Zellen, hält Information und Tags.

Um den assoziativen Gedächtnis einzulegen, wird eine Probe des gewünschten Tags auf dem Register des APROs platziert. Das Vergleichsschema vergleicht die Anfrage. Es besteht ein Zufall auf dem Zufallsregister, in dem das Tag mit der Probe aus dem Speicher zusammengehoben wurde. Reaktionen sind möglich (es gibt keine Zufälle; In diesem Fall gibt es mindestens einen Zufall - in diesem Fall wird die gefundene Zelle in das Datenregister eingesetzt; mehrerer Zufall - der Polizist sollte eine Entscheidung treffen, die der Zellen zur Verarbeitung zur Bearbeitung ergibt).

Anwendung: Datenbank, Wissensbasis, PC als Cache.

Der Artikel versucht, die Zusammensetzung der beigefügten Dokumentation an den entwickelten digitalen Modulen für programmierbare logische Integralchips (FPGs) zu bestimmen. Diese begleitende Dokumentation sollte den Entwicklern dem Konsumenten / Kunden zur erfolgreichen Weiterverwendung des entwickelten digitalen Moduls in ihren Projekten in der Konstruktionsphase digitaler Geräte auf FPGA zur Verfügung stellen.

Einführung

Welche Art von Design-Dokumentation sollte den Entwickler fragen, wenn das Unternehmen oder der Unternehmenskunde oder der andere Entwickler in der zukünftigen "Alien" -Ind-Geräte in seinen Projekten verwendet werden? Dieser Artikel kann als "Krippe" dienen, um eine technische Aufgabe auf der Entwicklung eines digitalen Geräts für FPGA zu initiieren, und bitten Sie die Entwicklerdesigndokumentation für ein bereits entwickeltes digitales Gerät. Basierend auf der vorherigen Erfahrung mit der Designdokumentation wird das Unternehmen oder die Firma von folgenden Standards und Regulierungsdokumenten verwendet:

  • Gost 2.102-68 ECCD. Typen und Vollständigkeit der Designdokumente.
  • GOST 15.101-98. Entwicklung und Produktionssystem zur Produktion. Das Verfahren zur Erfüllung wissenschaftlicher Forschungsarbeiten.
  • GOST R 15.201-20-00. Entwicklung und Produktionssystem zur Produktion. Produktionsproduktion und technische Zwecke. Das Verfahren zur Entwicklung und Herstellung von Produkten zur Produktion.

In der Regel handelte es sich um eine Firmware-Datei und ein Programm (Beschreibung des digitalen Geräts auf dem VHDL / Verilog oder einem Satz digitaler Schaltungen, die im Schaltungseditor mit den Bibliothekselementen digitaler Logik wie Triggers, Register, Zähler, Decodierer entwickelt wurden usw.) auf CD- oder DVD- und Programmieranweisungen. Und alle.

Der Autor kollidierte zum Beispiel mit dem folgenden Problem. Ein Mitarbeiter hat ein komplexes multi-modulares digitales Gerät entwickelt. Alle in der VHDL-Sprache beschriebenen Module und das Zyklogramm des Betriebs dieser Module und des digitalen Geräts als Ganzes sah ein gutes und teures Oszilloskop an. Er kenne die Dateien nicht über die Prüfbank oder wusste nicht, ob sie sie übrigens schreiben sollen, kommentiert das Projekt und die Modulbeschreibungen auch nicht. Die Situation kann noch schlechter sein, wenn die Module von digitalen Schaltungen dargestellt werden, die im Schaltungseditor mit Bibliothekselementen entwickelt werden. Hier ist eine der Hauptfehler: Außer dem Entwickler selbst ist es unwahrscheinlich, dass jemand anderes dieses digitale Gerät versteht, insbesondere wenn das Projekt multil modular ist, und die Beschreibung jedes Moduls ist mehr als 100 Zeilen oder mehr als eins Bildschirm. Wenn ein anderer Entwickler erwünscht ist, ist es jedoch notwendig, in eine neue Entwicklung oder ein Projekt einzuführen, das bereits ein digitales Gerät für FPGA entwickelt hat, es ist wiederum erforderlich, Zeit für die Entwicklung dieses digitalen Geräts zu verbringen.

Design-Frage-Historie für Plis

Derzeit ist der FPGA-Markt einer der dynamischsten Entwicklung. Plis gelten in vielen Branchen. Im Moment gibt es nicht eindeutig, und erfüllt alle Entwickler der Methodik, um die Konfiguration von FPGs durch das Funktionsmodell des Geräts auf dem Systemebene zu erhalten. Der beliebteste Ansatz zur Lösung dieses Problems ist die Verwendung der IP-Core-Technologie (geistiger Eigentumskerne). IP-Kernel sind fertige Komponenten, mit denen sie leicht in ihr eigenes Projekt einschließen können, um ein komplexeres System zu erstellen. Dieser Ansatz hat einen erheblichen Nachteil - die Befestigung der IP-Kerne an eine Elementbasis. Jeder IP-Kern ist für eine bestimmte Reihe von Mikrochips eines bestimmten Herstellers optimiert, was die Möglichkeit erheblich verschlechtert, bereits erstellte Geräte von einem Elementboden in einen anderen zu übertragen. Die Nähe der Architekturen des kommerziellen CAD ermöglicht es unmöglich, ihre eigenen Funktionsmodelle von Geräten auf dem Systemebene hinzuzufügen, um auf ihren Basismodellen des Geräts an der Registerkarte (RTL) zu erhalten. Die Entwicklung eines digitalen Moduls erfolgt in Form einer digitalen Schaltung, die mit einem in den eingebauten Bibliothekshersteller integrierten Bibliotheksbibliothek, beispielsweise Auslöser, Decoder, Zähler, Addierer usw. in den eingebauten Bibliotheksbibliothek des Herstellers eingebaut ist.

Ein weiterer beliebter Ansatz, der es uns ermöglicht, vom Funktionsmodell auf Systemebene auf das Gerätemodell der Registerebene zu übergehen - Anwenden der Systembeschreibungsprachen auf Systemebene (Designsprachen der Systemebene, SLDLs). Zu diesen Sprachen gehören Systemc, Handel-C, VHDL, Verilog, System verilog. Der Hauptvorteil ist die Unabhängigkeit der Hardwarebasis, in der das Gerät implementiert wird.

Somit empfängt der Geräteentwickler eineserseits, wenn man die IP-Kerne-Technologie anwenden, eine qualitative Lösung, jedoch fest an der Hardwarebasis befestigt, in der das Gerät implementiert ist. Auf der anderen Seite ist beim Anwenden der Gerätebeschreibungsprachen auf Systemebene die Geräte-Implementierung von Hardwareunabhängig. Aus dem Vorstehenden folgt er, dass derzeit das Teilen, um das Design von digitalen Modulen in der Beschreibungssprache des Geräts und der IP-Kerne des Herstellers (Xilinx, Alteral usw.) und Entwicklerfirmen von Drittanbietern zu beschleunigen. Bei der Verwendung digitaler Drittanbietermodule kann manchmal in der Informativität der beiliegenden Dokumentation auftreten.

Bereitstellung von Informationen über das entwickelte digitale Modul für FPGA

Abhängig von der Methodik zum Erhalten der FPGA-Konfiguration entlang des Funktionsmodells des Geräts auf Systemebene kann der Entwickler die folgenden Arten von digitalem Modul für FPGA auswählen:

  • Software. - Entwickeltes Digitalmodul, das vom Verbraucher als Beschreibung in der Beschreibungsprache der Ausrüstung (VHDL, Verilog) übermittelt oder / und im schematischen Editor-Schema-Verarbeitungs-Editor zur weiteren Verwendung in der automatisierten Synthese von Logikschaltungen entwickelt und durch funktionelle Parameter optimiert ist.
  • Firmware. - Von Drittanbieter entwickelt, ein digitales Modul, das als IR-Core als Logikschaltung (Listenliste - Netlist) als IR-Kern bezeichnet wird, in der Grundlage der Logikelemente des Herstellers FPGA und optimiert auf funktionalen und elektrischen Parametern.

Auf der Bühne der Entwicklung der Dokumentation, basierend auf persönlicher Erfahrung, ist es notwendig, zusätzlich zu der üblichen CD und der TU gemäß GOST 15.101, GOST 15.201, GOST 2.102, GOST 2.114, Dokumentation für alle Arten von Modellen (System , logische, schaltung) erstellt von in den Designstadien digitaler Geräte auf Plis.

Mit anderen Worten, die Designdokumentation für das digitale Gerät für FPGA, außer der Firmware-Datei, der Programmieranleitung und des aufgezeichneten Projekts auf CD / DVD, sollte auch die Begleitdokumentation enthalten.

Tabelle. Liste der begleitenden Dokumentation

Abteilungsname Aussicht
Software. Firmware.
Allgemeines
Zweck und Umfang ÜBER R.
Technische Eigenschaften ÜBER ÜBER
Beschreibung der Rücksetzsignale ÜBER ÜBER
Beschreibung der Synchronisationssignale ÜBER ÜBER
Beschreibung der Schnittstellen. ÜBER R.
Temporäre Diagramme R. ÜBER
Beschreibung der Steuerregister ÜBER ÜBER
Strukturelles (funktionales) Schema R. R.
Programmierhandbuch ÜBER ÜBER
Modell oder Farce-Familie,
Herstellungsunternehmen
R. ÜBER
Präsentation eines digitalen Moduls
Für logisches Design auf Plis
RTL-Modell ÜBER Nein
Logikmodell Nein ÜBER
Projekteinschränkungen. ÜBER ÜBER

Hier sind eine Liste von Abschnitten (Tabelle), die in der beiliegenden digitalen Modulprojektdokumentation für FPGA enthalten sein sollte. Für jeden Abschnitt wird Anzeichen für die Notwendigkeit, den Abschnitt in dem Dokument zu aktivieren, angezeigt:

  • "O" - notwendigerweise mitgelieferter Abschnitt;
  • "P" - Empfohlen für die Lieferung.

Empfohlene Dateiformate zur Übertragung der Begleitdokumentation - MS Word, PDF (bestes Format), HTML. BESCHREIBUNG DER BESCHREIBUNG Die Sprache des Geräts (VHDL, Verilog) oder / und im schematischen Editor entwickelte schematische Editorin werden in diesem Formular bereitgestellt, da eine traurige Software zur Entwicklung erfordert. Eine Ausnahme kann eine zusätzliche Bestimmung im grafischen Format (JPEG, BMP) digitaler Schaltungsdateien sein, die im schematischen Editor-Schema-Prozess entwickelt wurden.

Allgemeines

In diesem Abschnitt werden die allgemeinen Informationen zum entworfenen digitalen Modul als Beschreibung beschrieben:

  • funktionsschaltung und seine Verbundblöcke / Teile;
  • reliefsignale, Synchronisation;
  • verwendete Schnittstellen;
  • steuerregister;
  • temporäres Diagramm;
  • programmierung.

Zweck und Umfang

Der Zweck des digitalen Moduls, der Bereich seiner Anwendung wird bestimmt.

Technische Eigenschaften

Eine Beschreibung seiner grundlegenden technischen Merkmale, wie die Leistung, den Stromverbrauch für einen bestimmten Kristall von FPGA, die Anzahl der belegten Ventile, wurde der Typ des verwendeten Kristalls von FPGA bereitgestellt. Zusätzlich ist angegeben, wenn ein digitales CAD-Modul des FPGA-Herstellers entwickelt wird, das zur Modellierung und Überprüfung verwendet wird. Bei allen verwendeten Programmen werden die Versionen und installierte Updates angegeben. Eine grafische Darstellung des digitalen Moduls ist in Form einer "Black Box" mit der Bezeichnung externer Ein- / Ausgänge und eine kurze Beschreibung ihres Ziels angegeben.

Beschreibung der Rücksetzsignale

Berechnen Sie detaillierte Informationen zu den Rücksetzsignalen:

  • Liste der externen und internen Entladungssignale.
  • Zeitparameter und temporäre Entladungssignale.
  • Schemata zur Bildung interner Rücksetzsignale, wenn solche in dem digitalen Modul enthalten sind.
  • Verhältnisse mit anderen Signalen (insbesondere mit Synchronisationssignalen).

Beschreibung der Synchronisationssignale

Führt detaillierte Informationen zu Synchronisationssignalen durch:

  • beschreibung der externen Synchronisationssignale;
  • zeitliche Synchronisationssignale;
  • beschreibung interner Synchronisationssignale und Bildungsschemata;
  • temporäre Verhältnisse zwischen Synchronisationssignalen aus verschiedenen Quellen;

Beschreibung der Schnittstellen.

Die Merkmale der Verwendung aller Schnittstellen, die Teil des entwickelten digitalen Moduls sind, wünschenswert, um die Wechselwirkung mit anderen Knoten des Systems auf dem Kristall zu organisieren, werden dargestellt. Darüber hinaus ist die Internetverbindung auf die vollständige Beschreibung der Standardschnittstelle bereitgestellt oder die Schnittstellenbeschreibung selbst wird bereitgestellt. Im Moment werden Schnittstellen zum AMBA, PLB, Wishknone-Bus als die einheitlichen Schnittstellen digitaler Module akzeptiert.

Temporäre Diagramme

Erforderliche Informationen zur Organisation von Datenaustausch über Schnittstellen und andere Eingänge / digitale Modulausgänge: Grafische Darstellung temporärer Diagramme, Beschreibung der Datenübertragungsprotokolle, Anforderungen an externe Signale, die dem digitalen Modul (Dauer, Häufigkeit usw.) und anderen Informationen geliefert werden.

Beschreibung der Steuerregister

Eine Beschreibung aller digitalen Modulsteuerregister ist angegeben. Eine typische Beschreibung des Steuerregisters umfasst den Registeramen, die Adresse des Registers in dem internen Adressraum, den Anfangswert nach dem Entfernen des Rücksetzsignals, der Art des Zugriffs (Read / Write), der Beschreibung der internen Felder.

Strukturelles (funktionales) Schema

Ein Bild der inneren Struktur der Verbindungen der wichtigsten internen Knoten / Blöcke des digitalen Moduls sowie deren Kurztextbeschreibung ist angegeben. Zusätzlich ist eine Beschreibung der wichtigsten internen Blöcke des digitalen Moduls angegeben. Ziel dieses Dokuments ist es, den Verbraucherinformationen bereitzustellen, die erforderlich sind, um die Prinzipien des digitalen Moduls zu verstehen.

Die Anzahl der beschriebenen Blöcke und die Beschreibung der Beschreibung definiert den Entwickler des digitalen Moduls. Vorzugsweise ist die Entsprechung der Mindestanzahl der beschriebenen Module, die durch die Anzahl der Elemente der strukturellen (funktionalen) digitalen Modulschaltung beschrieben wird.

Eine typische Beschreibung des Innengeräts enthält:

  • zweck des Blocks;
  • strukturelles (funktionelles) Blockschaltbild (falls erforderlich);
  • modi und Algorithmen der Arbeit;
  • temporäre Arbeitskarten;
  • organisationsmanagementeinheit;
  • organisation der Kommunikation mit anderen Blöcken;
  • irgendwelche andere Informationen.

Programmierhandbuch

Bietet alle erforderlichen Informationen zum Programmiervorgang mit einem digitalen Modulhersteller Capr in FPGA erforderlichen Tools zum Entwickeln und Debuggen von Software, Softwarebibliotheken.

Modell oder Farce-Familie, Hersteller

Für das Firmware-Digitalmodul zeigt das digitale Modul FPGA-Hersteller, Modell oder FPGA-Familie und seine Geschwindigkeitseigenschaften an. Für die Software des digitalen Moduls werden Informationen über die Anzahl der beteiligten Ressourcen die Anforderungen für die verwendeten USV angegeben.

Präsentation eines digitalen Moduls für logisches Design

Der Artikel behandelte die Schwierigkeiten bei der Verwendung des "Aliens" -Projekts auf VHDL - ein Mangel an geeigneten Anweisungen und Programmschreibregeln. Allgemeine Anweisungen zu den Namen, "Gute Ton" -Regeln für das Schreiben von Programmen und Handbüchern zur Synthese wurden ebenfalls angegeben. Diese Fragen sollten mit dem Entwickler so weit wie möglich gefördert werden, wenn Sie planen, sich weiter zu entwickeln oder auf Ihre eigenen Entwicklung zu entwickeln, bevor er mit der Entwicklung des RTL-Modells des digitalen Moduls auf FPGA weiterläuft. Dies gilt insbesondere für die Software-Software-Software-Software auf Plis. In demselben Teil des Artikels werden allgemeine Anforderungen an das gesamte Projekt des entwickelten digitalen Moduls auf FPGA beschrieben. Hier sind die Fragen, für die Sie auf die Vorbereitung einer technischen Aufgabe auf der Entwicklung eines digitalen Moduls auf FPGA achten sollten, und es betrifft in der Regel die Übertragung der Ergebnisse der Arbeit.

RTL-Modell

Das auf der synthetisierten Teilmenge der Verilog- oder VHDL-Sprache beschriebenen digitalen Modul oder / und im schematischen Editor, das im schematischen Editor-Schema-Verarbeitungs-Editor entwickelt wurde, ist zur Verwendung in der Plit-Logiksynthesephase bestimmt. Kommt für Software in Form eines montierten Projekts eines digitalen Moduls im FPGA-Hersteller Capr. Für ein digitales Modul wird das Firmware RTL-Modell entsprechend einer gesonderten Vereinbarung bereitgestellt.

Zusätzlich zu den RTL-Modelldateien werden übertragen:

  • Anweisungen zur Verwendung des Modells.
  • Beschreibung der im Modell enthaltenen Speicherblöcke, einschließlich der Art des Speichers, der Größe, der Anzahl der Speicherblöcke, der Anzahl der Speicherblöcke, den hierarchischen Namen des Speicherblocks.
  • Beschreibung des Prozesses zum Erstellen von Fertigkerne bei der Verwendung von Programmen zum Erstellen der Erstellung (z. B. Coregenerator für Xilinx-ISE). In Abwesenheit von Beschreibungen können Einschränkungen auftreten, um aufgrund der Abhängigkeit von Technologie und Hersteller erneut zu entwerfen und anzuwenden.
  • Im Falle der Verwendung des Mikroprozessors vom Hersteller (zum Beispiel von Altera - dem NIOS-Prozessor; von Xilinx - Microoloraze-Mikroprozessoren, PowerPC-Mikroprozessoren, einer Beschreibung des Prozessorkern-Konfigurationsprozessors und dessen Peripherie ist erforderlich.
  • Prüfstabsätze (Testbank) zur Überprüfung und Modellierung eines digitalen Moduls, das in Verilog oder / und VHDL oder / und System verilog ist.
  • Alle anderen zusätzlichen Informationen.

Logikmodell

Das Modell ist eine Schaltungsliste, die mit den Verilog- oder VHDL-Sprachen in der Bibliotheksbasis des FPGA-Herstellers verwendet wird, und verfügt über eine digitale Module-Firmware.

Zusätzlich zu den logischen Modelldateien werden übermittelt:

  • Anweisungen zur Verwendung dieses Modells.
  • Prüfstabsätze (Testbank) zur Überprüfung und Modellierung eines digitalen Moduls, das in Verilog oder / und VHDL oder / und System verilog ist.
  • Leitfaden, um mit einem Satz von Tests zum Modellieren und Überprüfen eines digitalen Moduls zu arbeiten.
  • Alle anderen zusätzlichen Informationen.

Projekteinschränkungen.

Projektbeschränkungen werden als Datei mit einer Beschreibung einer Reihe von Einschränkungen bereitgestellt, die auf das digitale Modul auferlegt, wenn er auf ein logisches Modell des Systems auf einem Kristall eingeschaltet ist. Dieses Set enthält Einschränkungen für Synchronisationssignale (Takteinschränkungen), Zeitlimits (Zeitsteuerungseinschränkungen), Einschränkungen für die Wechselwirkung eines digitalen Moduls mit anderen Modulen und den Betriebsbedingungen des digitalen Moduls. Die Formatbeschreibung der Konstruktionsbeschränkungen von Synopsis-Designeinschränkungen (SDC) oder -format für CAD-Hersteller FPGA ist bevorzugt.

Sample-Limit-Liste für Synchronisationssignale:

  • temporäres Diagramm (Taktwellenform);
  • stabilität der Taktfrequenz (Jitter);
  • Ändern der Taktfrequenzphase;
  • Übergangszeitenübergangszeiten;
  • temporäre Diagramme von Sync-Signalen (erzeugte Taktwellenformen);
  • alle anderen zusätzlichen Informationen.

Für Software- und Firmware-Digitalmodule ist ein Satz von Einschränkungen für Synchronisationssignale erforderlich.

Eine beispielhafte Liste temporärer Einschränkungen:

  • ankunftszeiten an Eingängen (Ankunftszeiten an Eingängen);
  • erforderliche Zeiten an den Ausgängen (erforderliche Zeiten an den Ausgängen);
  • mehrere Pfade (Mehrzykluswege);
  • falsche Pfade (falsche Pfade);
  • dauer der Datensignalschaltzeit (Datensignalübergangszeiten);
  • alle anderen zusätzlichen Informationen.

Fazit

Die Zusammensetzung der Begleitdokumentation an den entwickelten digitalen Modulen für FPGA wird von der Vereinbarung zwischen dem Verbraucher und dem Entwickler bereitgestellt. Am häufigsten bietet der Entwickler einfach ein einfaches digitales Modul, das in der Sprache VHDL, Verilog, System verilog und / oder im Schaltungsredakteur beschrieben ist. In Bezug auf die zusätzliche Dokumentation passiert die Antwort des Entwicklers am häufigsten: "Das digitale Modul funktioniert, also nehmen und verwenden. In der Beschreibung des Schemas in der Instrumentensprache gibt es nichts Schwieriges: Sie verstehen es heraus. "

Nach Ansicht des Autors ist es möglich, mit irgendetwas umzugehen, alles hängt von dem Wunsch ab, und die Zeit, die das Projekt auf dem bereits entwickelten digitalen Modul verkauft hat, direkt proportional zu den Erfahrungen der Beschreibung der Ausrüstung in VHDL, Verilog und Knowledge Digital- und Mikroprozessor-Schaltung. Dies kann vermieden werden, wenn er zunächst mit dem Entwickler über die Zusammensetzung der beigefügten Dokumentation vereinbart wurde, dann wird die Verwendung eines digitalen Moduls in seinem Projekt einfacher, und seine Implementierung erfolgt schneller.

Der Autor möchte feststellen, dass bei der Formulierung der Aufgabe für die Entwicklung eines digitalen Geräts auf FPGA die im Artikel angegebenen Empfehlungen gefolgt werden sollte, dann trifft Probleme mit der Wiederverwendung oder während der Upgrades des zuvor entwickelten digitalen Geräts nicht entstehen.

Literatur

  1. Denisov A. Mehrere Tipps zum Entwerfen von digitalen Geräten auf VHDL für FPGA // Komponenten und Technologien. 2009 № 12
  2. Gost 2.102-68 ECCD. Typen und Vollständigkeit der Designdokumente.
  3. Gost 2.114-95 ECCD. Technische Bedingungen.
  4. GOST 15.101-98. Entwicklung und Produktionssystem zur Produktion. Das Verfahren zur Umsetzung von Forschung und Telski funktioniert.
  5. GOST R 15.201-20-00. Entwicklung und Produktionssystem zur Produktion. Produktionsproduktion und technische Zwecke. Das Verfahren zur Entwicklung und Herstellung von Produkten zur Produktion.

Während es Feiertage gab, machte ein kleines Projekt auf Verilog, das ich längst versuchen wollte.

Die Essenz des Projekts lautet wie folgt: FPGA ist mit zwei Kanälen und einer parallelen Schnittstelle mit hoher Geschwindigkeit (relativ natürlich) mit zwei Kanälen und einer parallelen Schnittstelle verbunden (14-16 Bit pro Kanal). FPGA liest Daten aus dem ADC und faltet den Falten in den Puffer (sein interner Speicherbram). Wenn der Puffer gefüllt ist, kann das Lesen von Anschlägen und das externe Gerät (Mikrocontroller) die Daten über die SPI-Schnittstelle aus dem Puffer lesen. Sie können auch einige Parameter von SPI konfigurieren (dies wird in der nächsten Stelle geschrieben).

Projekttest (Bild anklickbar).

Syntheseergebnis für Zyklonin

Das Ergebnis, das ich in Quartus II synthetisiert habe, für die FPGA der Cyclone IVE-Familie (EP4CE6E22A7). Dies ist eine der einfachsten und kostengünstigsten FPGA im QFP144-Gehäuse auf 6272 logischen Elementen. Der Mikroschirmen hat einen Speicher von 30k * 9 Bits. Benutzerdefinierte Pins - 92.

eP4CE6E22A7 Mikroschaltung
logikelemente - 301 (5%)
pins - 41 (45%)
speicher - 65536 Bits (24%)
häufigkeit für den schlimmsten Fall (125 s) - 151 MHz.

Speicher von 8 KB, es ist der eigentliche Puffer, in dem Daten aufgezeichnet werden. Mit zwei Kanälen von 16 Bits, 32 Bits zum Countdown und den Referenzen von 2048. Ich entschied, dass dies ganz ausreicht, obwohl der Puffer mindestens auf dem gesamten Volumen erweitert werden kann.

Die Frequenz ist ziemlich geeignet, ich habe erwartet, dass es eine Taktfrequenz von 50 MHz und 25 MHz ADC geben würde. Das heißt, ein Drei-Wege-Aktien in der Frequenz wird erhalten.

Die Anzahl der logischen Elemente ist für ein solches FPGA ganz geringfügig, d. H. Wenn Sie möchten, können Sie auch dort viele Dinge machen, zumal die Pins bis zu 51 verbleiben.

Es gibt einen neueren Familienzyklon 10.

Syntheseergebnis für Zyklon 10

Wählen Sie 10cl006YE144C8G-Chip. Es hat so viele logische Elemente (6272) als Option zum Zyklon 4 und demselben Speicher (30k x 9). Das Gehäuse ist derselbe, QFP144, benutzerdefinierte Pins auch weniger - 89.

chip 10cl006YE144C8G.
logikelemente - 289 (5%)
pins - 41 (46%)
speicher - 65536 Bits (24%)
häufigkeit für den schlimmsten Fall (85 s) - 145,5 MHz.

Es ist neugierig, dass das Projekt in logischen Elementen kompakter geworden ist. Das heißt, mit der gleichen Kapazität der Logik in Zyklon 10 passt ein komplexeres Projekt. Alles andere ist ungefähr auf demselben Niveau.

Eine angemessene Frage stellt sich: Ist es möglich, eine weitere FPGA- oder CPLD zu speichern, um ein weiteres FPGA oder ein CPLD zu speichern?

Versuchen wir den FPGA MAX10.

Syntheseergebnis für max. 10

Hier kann der Leser (wenn er im Subjekt) ausbessern kann: Nein, alles ist falsch! Die MAX-Familie ist CPLD, nicht FPGA und verwirren diese Konzepte - ein blatanter Unprofessionismus!

Durch die Bemühungen von Intels Vermarktern ist es jedoch bekannt, dass die Rede über Intel Chips?) Die MAX10-Familie hat sich in eine FPGA umgewandelt, obwohl er einen internen nichtflüchtigen Konfigurationsspeicher wie jeder CPLD hat.

Wählen Sie also einen Chip, zum Beispiel 10M02SCE144A7G (2304 LE, 101 GPIO, 12kx9 Bram), QFP144-Gehäuse.

chip 10m02SCE144A7G.
logikelemente - 298 (13%)
pins - 41 (41%)
speicher - 65536 Bits (59%)
häufigkeit für den schlimmsten Fall (125 s) - 153 MHz.

Wir sehen, dass absolute Indikatoren praktisch gleich blieben, nur der Grad der Kristallfüllung ist erhöht, was verständlich ist - 2304LE gegen 6272 LE.

Kann max II verwendet werden?

Nun ist die Frage: Ist es möglich, jede sehr günstige CPLD, wie beispielsweise Max II, zu verwenden? Hier ist alles komplizierter. Sie haben keinen Bram-Speicher, d. H. Müssen auch ein externer schneller SRAM sein.

So verbinden Sie das SRAM, benötigen Sie natürlich eine zusätzliche Logik. Wenn wir den 4K x 16 Speicher verwenden, benötigen wir weitere 16 Pins für Daten, 12 für die Adresse und 3, um (/ CS, / WE, / OE), nur 31 zusätzliche Pins.

Die Logik erhöht auch die Größe. Soweit es genau ist, ist es schwierig zu sagen, aber in CPLD auf den 240 Le, es passt nicht zunächst, und in 570 legt es vielleicht.

Wählen Sie CPLD EPM570 im QFP100-Gehäuse aus. Wir brauchen nur 72 Pins, das Gehäuse hat 76 Pins für GPIO, d. H. Es sollte für alles ausreichen, aber es gibt bereits sehr wenig Platz für Erweiterung.

Profis für eine solche Lösung: vielleicht ein niedrigerer Preis (auch unter Berücksichtigung des zusätzlichen SRAM-Chips), Nachteile: große Komplexität der Kreislauf- und der Brettfläche.

Anfragepreis

Das habe ich mit Efind gefunden. Mikroschirmen sind nur wenige andere, aber die Ziffer und der Buchstabe am Ende sind der Geschwindigkeitsindex und der Temperaturbereich (kommerziell). Da wir eine dreifache Häufigkeit in der Häufigkeit haben, sind diese Zahlen für uns absolut nicht wichtig.

EP4CE6E22C8N - 456.55 P (Promelektronik, EKB, ROS)
10Cl006YE144C - 754.71 (Fünfteles Element, SPB, Großhandel)
10m02SCE144C8G - 456 P (Elitan, EKB, Großhandel)
EPM570F100C5N - 368 P (Hightc, SPB) + Speicher (CY7C1021DV33-10ZSXI, SRAM 1MBIT 10NS 44TSOP) - 92,51 P (Promelektronik, EKB, ROS)

Natürlich können Sie finden und günstiger, es sind nur die Retail-Preise im Laden, aber das Verhältnis wird ungefähr gleich sein.

Es ist ersichtlich, dass die Option mit CPLD nicht zum Preis gewinnt, während Sie viele Fehler haben. Der Rest der Optionen ist ungefähr gleich, mit der Ausnahme, dass der Zyklon 10 noch ein bisschen teurer ist und nur wenige Menschen auf Lager sind. Dies ist jedoch eine völlig neue Familie, bis jetzt alle Vertriebspartner ihn nicht gebracht haben.

Ich persönlich mag die Option die Option auf max. 10. Es hat einen Vorteil: Sie müssen keine FPGA-Konfiguration herunterladen, wenn Sie beginnen. In der Variante auf Zyklon 4 müssen Sie die FPGA-Konfiguration herunterladen, die entweder den zusätzlichen Konfigurationsspeicher-Chip oder mit einem Mikrocontroller erfolgen kann. Es gibt eine weitere dritte Option: Flash durch JTAG und entfernen Sie niemals die Leistung vom Chip. Ich habe gehört, dass jemand es tat, ich weiß es nicht, das ist ein Witz oder nicht, aber ich werde es nicht genau tun.

Die Option mit dem Firmware-Cyclone 4 über den Mikrocontroller hat jedoch einen Vorteil: Die Fähigkeit, FPGA-Firmware über Benutzeroberflächen zu aktualisieren: USB, Ethernet usw.

Eine andere nichtriviale Option ist möglich: Um einen Mikrocontroller überhaupt nicht zu setzen, sondern ein integrierter Prozessor in FPGA zu blinken. Dies ist jedoch keine sehr gute Option, möglicherweise weil Gleichzeitig benötigt es definitiv einen externen ROM und einen RAM sowie mindestens eine USB-Bridge. Es ist nicht notwendig, diese Option nicht abzulehnen, aber es scheint mir in der Implementierung komplizierter zu sein als bei einem Mikrocontroller.

Über welche Funktionen dieser Firmware wird ich in den nächsten Beitrag schreiben.

Einführung

LangleAvhdl ist eigentlich ein internationaler Standard im Bereich der digitalen Systemdesignautomation, es ist die Eingabesprache vieler moderner automatisierter Designsysteme (CAPR) sowohl benutzerdefinierter als auch programmierbarer logischer integrierter Schaltkreise (PLS) und programmierbare Ventilmatrizen. VHDL ist in erster Linie für die spezifische Beschreibung der entworfenen Systeme und deren Simulation in den Anfangsstadien des Designs - algorithmisch und logisch konzipiert. Mit VHDL können Sie die elektronischen Schaltungen unter Berücksichtigung der Echtzeitverzögerungen simulieren.

Vor kurzem sind die Synthese-Synthesesysteme in dieser Sprache sehr erfolgreich entwickelt. Mit Capr Xilinx Foundation Series 2.1i können Sie beispielsweise die ursprüngliche Beschreibung des Diagramms in der VHDL-Sprache simulieren und dann das Schema synthetisieren und die Konfigurationsdatei (Konfiguration) des XILINX-FPGA-Chips abrufen. Mit der Verwendung von MAX + PLUSII CAPR können Sie ähnliche Probleme für programmierbare Mikroschüsse lösen, die von ALTERA hergestellt werden.

VHDL ist eine leistungsstarke Sprache, es können das Verhalten beschreiben, d. H. Algorithmen zum Funktionieren digitaler Systeme sowie eine hierarchische funktional-strukturelle Beschreibung von Systemen, hat ein Mittel, um parallele asynchrone Prozesse, regelmäßige (systolische) Strukturen zu beschreiben, und gleichzeitig alle Anzeichen einer Programmiersprache mit hoher Ebene - erlaubt - erlaubt Sie, um Ihre Datentypen zu erstellen, verfügt über ein breites Reichweite arithmetische und logische Operationen usw.

3 4
Die VHDL-Sprache entwickelt sich, internationale Konferenzen sind ihm gewidmet, und wissenschaftliche Zeitschriften werden ausgestellt, in denen die Probleme der Verwendung von VHDL untersucht werden. Er wurde zur Sprache der Entwicklung internationaler Projekte, einschließlich derjenigen, die mit dem World Computern Internet umgesetzt wurden. Die Bekanntschaft mit dieser Sprache ist notwendig, um wirksame Arbeiten zur Erstellung der unterschiedlichsten elektronischen Geräte auf der modernen elementaren Basis von superhohen integrierten Schaltungen zu erstellen.

Laborarbeit Nummer 1

FPGA Express Debugger.

1. Allgemeine Beschreibung

1.1. Ziel der Arbeit ist es, die Fähigkeiten zu erhalten, um mit dem FPGA Express-Debugger zu arbeiten.

Laborarbeit besteht aus Heim- und Laboraufgaben. Die Hausaufgaben liegt in der unabhängigen Entwicklung der einfachsten Möglichkeiten des Debuggers und vertraut sich mit seinem Zweck vertraut. Die Laboraufgabe umfasst das Eingeben Ihrer Version des auf VHDL geschriebenen Programms und beherrschen die Prinzipien der Arbeit mit dem FPGA Express-Debugger in seinem Beispiel.

Gemäß dem methodologischen Guide ist es mit der Ernennung und Funktionen des Debuggers von Modellen digitaler Geräte in der VHDL-Sprache vertraut.

3. Theoretischer Teil.

FPGA Express-Sendungen und optimiert die Beschreibungen von VHDL in ein internes Format, das dem Niveau der primitiven Logikelemente entspricht. Dieses Format wird dann in die FPGA-Technologie zusammengestellt.

Um mit VHDL zu arbeiten, müssen Sie sich mit den folgenden Konzepten vertraut machen:

Hardwarebeschreibung Sprachen.

Verwenden von FPGA Express.

Design-Prozessmodell.

Die US-Verteidigungsministerium im Jahr 1982 hat sich entwickelt Vhsic hdl.(VHDL) als Teil des Ultra-High-Speed-IP-Entwicklungsprogramms (VHSIC). VHDL beschreibt das Verhalten, die Funktionen, Ein- und Digital-Schaltungen. VHDL in Stil und Syntax ähnelt den modernen Programmiersprachen, enthält jedoch viele spezifische Hardwarestrukturen. FPGA Express liest und analysiert die unterstützte VHDL-Syntax.

Hardwarebeschreibung Sprachen

Hardwarebeschreibung Sprachen (HDL) werden verwendet, um die Architektur und das Verhalten diskreter elektronischer Systeme zu beschreiben. Diese Sprachen sollen komplexe Projekte aufbauen. Es wird häufig eine historische Analogie durchgeführt, wie die Beschreibungen der Beschreibung von Maschinencodes (Transistoren und Löten) bis zu montblerblas (Schaltungslisten) bis hin zu High-Level-Sprachen (HDL) aufgerufen werden können.

HDL-orientierte Systeme sind nützlich bei der Entwicklung großer Projekte, wenn mehrere Entwickler oder sogar mehrere Befehle zusammenarbeiten. HDL bietet strukturelle Programmierung. Nachdem die wichtigsten architektonischen Lösungen erlassen werden, und die Hauptkomponenten und Beziehungen zwischen ihnen identifiziert werden, können Arbeiten an Unterprojekten vollständig unabhängig auftreten.

Typische Anwendungen HDL.

5 6
HDL unterstützt normalerweise gemischte Beschreibungen, in denen strukturelle Designs oder Listen von Ketten an algorithmische Beschreibungen und Verhaltensbeschreibungen angeschlossen werden können. Wenn es solche Beschreibungen der gemischten Ebene gibt, ist es möglich, die Architektur des Systems auf höchstem Abstraktionsniveau anzuzeigen. Das Projekt wird dann detailliert detailliert, indem er die Ausführung der privaten Komponentenebene erhöht. Alternativ wird eine Beschreibung des HDL-Projekts in FPGA Express verwendet, und der Compiler synthetisiert dann den Compiler automatisch die Ausführung auf dem Niveau logischer Primitiven.

Vorteile von HDL.

Die Methodik des Projekts, das HDL verwendet, hat mehrere grundlegende Vorteile der traditionellen Designmethodik der Komponentenebene. Unter diesen Vorteilen sollten wie folgt festgestellt werden:

Sie können die Funktionalität des Projekts sehr überprüfen und sofort ändern. Projektmodellierung Bei einem solchen Gipfel, bevor die Sendung an die Elementary-Version viele Architektur- und Design-Lösungen testen kann.

FPGA Express bietet logische Synthese und Optimierung, sodass es möglich ist, eine Beschreibung von VHDL automatisch auf den Elementarniveau für die ausgewählte Technologie umzuwandeln. Diese Methodik beseitigt die Engpässe des Bauteilnegelns und verringert die Konstruktionszeit sowie die Anzahl der Fehler, die durch manuelles Sendung des VHDL-Programms in bestimmte Elemente hergestellt werden. Mit der Hilfe logische Optimierung FPGA Express Es ist möglich, ein synthetisiertes Projekt automatisch in das kleinste und Defiance-System umzuwandeln. Darüber hinaus darf er in Synthese erhaltene Informationen und Optimierung von Systemen zuweisen, die wiederum zur vorhandenen Beschreibung von VHDL, was zu einer genaueren Anpassung der architektonischen Lösungen führt.

Die Beschreibungen von HDL bieten technologisch unabhängige Projektdokumentation und seine Funktionalität. Diese Programme werden gelesen und verstanden wesentlich einfacher als Listen von Ketten oder Schemata. Aufgrund der Tatsache, dass die anfängliche HDL-Projektbeschreibung technologisch unabhängig ist, darf er es verwenden, um Projekte mit verschiedenen Technologien zu erzeugen, ohne das Original zu beeinträchtigen.

VHDL produzieren wie die meisten Sprachen auf hoher Ebene hart typescheck. Komponenten, deren Typ deklariert ist, dass ein Vier-Bett-Signal nicht mit einem Drei- oder Fünf-Bett-Signal verbunden werden kann; Eine solche Meinungsverschiedenheit führt zu einem Kompilierungsfehler. Wenn der Variablenbereich von 1 bis 15 definiert ist, tritt der Fehler auf, wenn der Wert 0 zugewiesen ist. Die falsche Verwendung von Typen ist die Hauptquelle von Fehlern, um Beschreibungen zu erstellen. Typenprüfung erkennt solche Fehler noch vor dem Erzeugen des Projekts.

Debuggen in FPGA Express

Zum Debuggen müssen Sie die folgenden Aktionen umsetzen:

7 8
Erstellen Sie eine Beschreibung des entworfenen Geräts (Komponente) in der VHDL-Sprache in einem beliebigen Texteditor. In diesem Fall ist die Voraussetzung, dass die Erweiterung dieser Datei: * .VHD sein muss. (Um beispielsweise eine Datei zu erstellen, können Sie den eingebauten Norton Commander Editor mit der Schaltkombination von Umschaltf4 verwenden.)

2. Verbinden Sie die erstellte Datei mit dem Projekt in FPGA Express.

Um eine Datei an das Projekt anzuschließen, müssen Sie ein Projekt selbst erstellen:

Wählen Sie das Datei / das neue Menü aus.

Geben Sie den Namen des Projekts ein.

Bei der Anforderung der Projektdateien müssen Sie die in einem Punkt erstellten Dateien finden, die in einem Punkt mit einer bereits bereiten Beschreibung des Geräts (Komponente) erstellt wurden.

Wenn das Projekt korrekt angeschlossen ist, erscheint ein Fenster, das in zwei Teile unterteilt ist: Designquellen und Chips (Abb. 1). Wo Design-Quellen - Fenster mit Projektdateien, Chips - Fenster, um mit synthetisierten Geräten zu arbeiten.


Abb.1. Projektfenster

Für den einfachen Betrieb mit den Dateien des Projekts im Fenster Entwurfsquellen wird der Name (n) angezeigt, die Speicherort (en) der Datei (en) sowie das Vorhandensein syntaktischer und lexischer Fehler oder Ungenauigkeiten.

Wenn Sie den Cursor bewegen und gleichzeitig die rechte Maustaste auf einen der Namen in diesem Fenster drücken, wird das folgende Kontextmenü angezeigt (Abb. 2):

Aktualisieren Sie das Projekt - Projektanalyse für Ungenauigkeiten oder Fehler.

Das Force Update-Projekt ist eine vollständige Analyse aller Projektfalate für Fehler oder Ungenauigkeiten.

Erstellen Sie eine Implementierung - Erstellen eines Gerätemodells.

Datei bearbeiten - Bearbeiten der Datei.

Identifizieren Sie Quellen - Anschließen einer Datei an das Projekt.

Neue Bibliothek - Anschließen Ihrer eigenen Bibliothek mit dem Projekt.

Projektbericht - Projektbericht (Kurzbeschreibung in Form einer externen Textdatei).

Entfernen - Löschen Sie eine Datei oder Bibliothek aus dem Projekt.


Wie in allen Anwendungen mit einer freundlichen Benutzeroberfläche wird jeder Kontextmenüelement von einem einfachen Menü und Tasten auf dem Bedienfeld dupliziert.
Abb. 3. Teil der Datei mit einem Fehler

Die Dateibearbeitung erfolgt ähnlich auf Text-Editoren, und der einzige Unterschied ist das zeichen löschen oder Zeilen können nur mit der Rückenraumtaste ausgeführt werden.

Nach dem Fixieren für die Suche nach anderen vorhandenen Fehlern in diesem Fenster müssen Sie die rechte Maustaste drücken und die Option Dateielement im aktiven Kontextmenü analysieren (Suche nach Ungenauigkeiten oder Fehlern). Nächste nach erfolgreich die Bearbeitung ist wünschenswert, um aktuelle Änderungen zu speichern.

Wenn keine Fehler vorhanden sind, hat die entsprechende Datei ihre eigene synthetisierte Version (d. H. Das im interne Format beschriebene Gerätemodell, das in dem internen Format, der FPGA-Express beschrieben ist, in Fig. 4 gezeigt ist.

Abb.4. Synthetisierte Version des Codiergeräts

Die synthetisierte Version ist ein Zwischenlink, um ein digitales Gerätemodell erfolgreich zu erstellen.

4. Verfahren

4.1 Wählen Sie mit einem beliebigen Texteditor eine Beschreibung eines digitalen Geräts entsprechend Ihrer Option. Um Fehler zu vermeiden, ist es erforderlich, dass die Datei eine Erweiterung * .VHD hat.

4.2 Erstellen Sie ein Projekt im Debugger FPGA Express und verbinden Sie eine eingereichte Datei.

4.3 Erstellen Sie nach der korrekten Beschreibung der Beschreibung der Beschreibung einen Bericht über Ihr Projekt mit FPGA Express.

Name;

Zweck der Arbeit;

Gebrauchte Ausrüstung;

Theoretischer Teil;

Beschreibung der Folge von Aktionen beim Debuggen Ihrer Option;

Ausdruck des Projektberichts;

1. Was ist die FPGA-Express-Anwendung und was ist seine Hauptfunktionen?

2. Was sind Ihre Vorteile und Nachteile der HDL-Sprache als Sprache der Hardwarebeschreibung?

3. Was ist die Reihenfolge von Aktionen beim Debuggen von VHDL-Beschreibungen Ihres Geräts?

11 12

Laborarbeit Nummer 2

Grundlegende FPGA Express-Debugger-Möglichkeiten

1. Allgemeine Beschreibung

1.1. Der Zweck der Arbeit besteht darin, die Fähigkeiten der Synthese und Optimierung des FPGA Express-Debuggers zu studieren.

Laborarbeit besteht aus Heim- und Laboraufgaben. Die Hausaufgaben ist es, die Prinzipien des Debugging von VHDL-Beschreibungen wiederholen. Die Laboraufgabe umfasst das Eingeben Ihrer Verkörperung eines in VHDL verfassten Programms und untersuchen Sie die Prinzipien der Synthese und optimieren das entworfene Gerät mit dem FPGA Express-Debugger.

1.3. Gebrauchte Ausrüstung

Um eine Laborarbeit durchzuführen, wird ein IBM-PC-Typ PEVM verwendet, ein Farbmonitor mit einem VGA-Grafikadapter und darüber, der Drucker.

2. Hausaufgaben und Richtlinien für seine Umsetzung

Nach Angaben der methodischen Führer ist es mit dem Ziel vertraut und wiederholt das Ziel und die Möglichkeit von Debugger-Modellen digitaler Geräte in der VHDL-Sprache.

3. Theoretischer Teil.

Design Methodik

In FIG. 5 zeigt ein typisches Design-Verfahren, das FPGA Express- und VHDL-Simulator verwendet. Jeder Schritt eines solchen Designmodells wird detailliert beschrieben.



Feige. 5. Struktures Design von Designstadien

13 14
1. Notieren Sie die Beschreibung des Projekts in der VHDL-Sprache. Diese Beschreibung kann eine Kombination von strukturellen und funktionalen Elementen sein. Diese Beschreibung wird von FPGA Express- und Synopsys-VHDL-Simulatoren verwendet.

2. Bereitstellung von Sprachtest-Treibern VHDL für den Simulator. Treiber bieten Testvektor zum Modellieren und Sammeln von Ausgang.

3. Projektmodellierung mit dem VHDL-Simulator. Überprüfen Sie die Richtigkeit der Projektbeschreibung.

4. Verwenden von FPGA Express, um die Beschreibung des VHDL-Projekts in die elementare Liste der Ketten zu synthetisieren und zu optimieren. FPGA Express erzeugt optimierte Kettenlisten, die die Zeitgrenzen der ausgewählten FPGA-Architektur erfüllen.

5. Verwenden des FPGA-Designsystems (Design Manager), um eine bestimmte FPGA-technologische Version mit einem VHDL-Simulator zu kommunizieren. Das Designsystem enthält Simulationsmodelle und Schnittstellen, die für das End-to-End-Design benötigt werden.

6. Modellieren einer bestimmten Prozessversion des Projekts mit dem VHDL-Simulator. Es darf die ursprünglichen VHDL-Modellierungs-Treiber aus Absatz 2 verwenden, da die Definitionen von Modulen und Ports im Übertragungs- und Optimierungsprozess gespeichert werden.

7. Vergleich der Modellierungsausgabe auf der Elementarstufe (Klausel 6) mit der Ausgabe der Modellierung der ursprünglichen Beschreibung von VHDL (Klausel 3), um zu überprüfen, ob die Ausführung korrekt ist.

Projekthierarchie

FPGA Express unterstützt hierarchische Grenzen, die bei der Verwendung der vHDL-strukturellen Strukturkonstruktionen definiert sind. Diese Grenzen führen zu zwei Hauptergebnissen:

1. Jedes in der VHDL-Beschreibung definierte Projektobjekt wird separat synthetisiert und als unabhängiges Projekt aufrechterhalten. Gleichzeitig werden Projektbeschränkungen berücksichtigt, und jedes Objekt kann in FPGA Express separat optimiert werden.

2. Komponentenimplementierungen in VHDL-Beschreibungen werden während der Eingabe unterstützt. Der Name der Implementierung, die jedem Benutzerobjekt zugewiesen ist, wird bis zur Ausführung auf der Elementebene gespeichert.

Hinweis. FPGA Express unterstützt und erstellt nicht automatische Hierarchie anderer unstrukturierter VHDL-Strukturen, wie beispielsweise Blöcke, Prozesse, Zyklen, Funktionen und Verfahren. Diese VHDL-Beschreibung-Elemente werden im Kontext ihrer Projekte ausgestrahlt. Nach dem Lesen des VHDL-Projekts können Sie die Logik des Prozesses, Merkmale oder Verfahren im FPGA-Express zusammenfassen (Implementierungsfenster).

Die Wahl der hierarchischen Grenzen wirkt sich wesentlich auf die Qualität des synthetisierten Projekts aus. Mit FPGA Express können Sie das Projekt optimieren und seine hierarchischen Grenzen halten. FPGA Express optimiert die Logik nur teilweise über die hierarchischen Module. Die vollständige Optimierung ist in diesen Teilen der Projekthierarchie möglich, die in FPGA Express komprimiert sind.

Ein Beispiel für eine hierarchische Struktur einer komplexen Vorrichtung ist in Fig. 2 gezeigt. 6.

Feige. 6. Hierarchische Struktur

Datentypen

In VHDL müssen Sie den Typ aller Ports, Signale und Variablen zuweisen. Die Art der Objektdaten wird durch den Vorgang bestimmt, der ihm zugeordnet werden kann. Zum Beispiel der Bediener und wird für Typobjekte bestimmt Bisschen,aber nicht für Objektobjekte Ganze Zahl. Datentypen sind wichtig und bei der Synthese des Projekts. Die Art der Objektdaten ermittelt seine Größe (Breite in Bits) und Bit-Organisation. Die korrekte Auswahl von Datentypen verbessert die Qualität des Projekts erheblich und hilft, die Anzahl der Fehler zu minimieren.

Projekteinschränkungen.

Es ist notwendig, die qualitativen Einschränkungen des Projektmoduls innerhalb des FPGA Express-Implementierungsfensters zu beschreiben.

Wählen Sie ein Register an

Die Platzierung von Registern und Taktierungsschemata ist eine sehr wichtige architektonische Lösung. Es gibt zwei Möglichkeiten, Register in Ihrer VHDL-Beschreibung zu definieren. Jede dieser Methoden hat bestimmte Vorteile:

1. Implementieren Sie Register direkt in der Beschreibung von VHDL, indem Sie den gewünschten Element aus der FPGA-Bibliothek auswählen. Ticketing-Systeme können beliebige Komplexität sein. Wählt die Architektur basierend auf Auslöser oder Latches aus. Die wichtigsten Nachteile dieses Ansatzes sind:

Die Beschreibung von VHDL ist nun an eine bestimmte Technologie gebunden, da Sie Strukturelemente aus der technologischen Bibliothek ausgewählt haben. Es ist jedoch möglich, diesen Abschnitt des Projekts in Form eines separaten Objekts zu isolieren, der dann dem Rest des Projekts verbunden ist.

Das Programm ist schwieriger geschrieben.

15 16
2. Verwenden Sie Strukturen wennund warten.Um den Auslöser und die Riegel aus der Beschreibung zu bringen. Die Vorteile dieses Ansatzes liegen direkt gegenüber den Mängeln des vorherigen gegenüber. Bei Verwendung einer logischen Beschreibung des Registers wird das VHDL-Programm technologisch unabhängig und einfacher zum Schreiben. Mit dieser Methode können FPGA Express die Art der Komponente auswählen, die in Abhängigkeit von den Einschränkungen beschrieben wird. Wenn also eine bestimmte Komponente erforderlich ist, sollte seine Implementierung verwendet werden. Einige Arten von Registern und Latches können jedoch nicht logisch beschrieben werden.

Asynchrone Projekte

Es ist möglich, FPGA Express zu verwenden, um asynchrone Projekte mit mehreren und gesteuerten Sync-Impulsen zu erstellen. Obwohl diese Projekte jedoch logisch (statistisch) korrekt sind, können sie möglicherweise falsch simuliert oder in Verbindung mit den Bedingungen des Wettbewerbs arbeitet.

Sprachstrukturen

Eine andere Komponente der VHDL-Synthese-Richtlinien ist ein Satz von Designs, die das Projekt beschreiben, sie definieren seine Architektur und geben konsequent gute Ergebnisse. Register werden mit Komponentenstrukturen implementiert.

Laborarbeit Nummer 3

Simulator VHDL Modelle Modelle

1. Allgemeine Beschreibung

1.1. Der Zweck der Arbeit besteht darin, sich mit den Simulator-VHDL-Modellen von ModelleSIM vertraut zu machen.

Laborarbeit besteht aus Heim- und Laboraufgaben. Die Hausaufgaben ist es, die Debug-Prinzipien, Synthese und Optimierung von VHDL-Beschreibungen mit dem FPGA Express-Debugger wiederholen. Die Laboraufgabe umfasst das Eingeben einer beispielhaften Version des auf VHDL geschriebenen Programms und der Modellierung und Analyse Ihres Geräts mithilfe des ModelleMOm-Simulators.

1.3. Gebrauchte Ausrüstung

Um eine Laborarbeit durchzuführen, wird ein IBM-PC-Typ PEVM verwendet, ein Farbmonitor mit einem VGA-Grafikadapter und darüber, der Drucker.

2. Hausaufgaben und Richtlinien für seine Umsetzung

Nach dem methodologischen Guide ist es mit dem Ziel vertraut und wiederholt das Ziel und alle wichtigen Funktionen des Debuggers der Modelle digitaler Geräte in der VHDL-Sprache.

3. Theoretischer Teil.

21 22
ModelleSIM ist ein Simulationssystem, mit dem Sie die in VHDL- und HDL-Sprachen dargestellten Beschreibungen simulieren können. In diesem Fall ist eine Voraussetzung für die einfache Modellierung das Vorhandensein einer Beschreibung des aktiven Modellmodells, d. H. Während eines bestimmten Zeitraums am Eingang und entsprechend an der Ausgabe dieses Modells sollten Änderungen in logischen Zuständen auftreten. Zum Beispiel: Es gibt eine Beschreibung des Elementarelements des Lesers (Abb. 10).

Feige. 10. Schema des aktiven digitalen Geräts

Hierbei ist es neben der Beschreibung der Struktur und Funktion des Elements selbst erforderlich, ein zusätzliches Gerät zu erzeugen, das eine bestimmte Sequenz von logischen Zuständen der Eingänge (möglicherweise des Eingangsteils der Wahrheitstabelle) des Leseelements erzeugt.

Modellierung in ModellenSim.

In Ermangelung von Fehlern an den Dateiverbindungsstufen mit dem Source-Active-Gerät kann der Modellierungsprozess selbst gestartet werden.

Abhängig von den Modellierungszielen im ModelleSIM-System wird bereitgestellt: ein Konvoi für ein vorübergehendes Ermessen der Modellierung sowie die Möglichkeit der direkten Beobachtung in fast allen Schlüsselprozessen, die in dem Gerät auftreten (letzteres wird im nächsten Labor berücksichtigt Arbeit).

Betrachten Sie das Mittel zur Steuerung der Modellierung. In diesem Sinne ist für die vollständige Kontrolle über den Modellierungsprozess der Hauptmenülauf und die Optionen erforderlich. Alle Elemente sind so konzipiert, dass sie das Run-Menü steuern, und im Optionsmenü - das Optionselement Simulation (Installation von privaten Modellierungsparametern).

Wenn Sie das Element Simulate Optionen aktivieren, wird das Panel der Modellierungsparametereintrag angezeigt (Abbildung 14).

Dieses Panel enthält drei Registerkarten:

Vsim - direkt Modellierung von Parametern. Die folgenden Parameter sind hier installiert:

Standardlauflänge - Einstellen der minimalen zeitlichen Abtastung des Simulationsprozesses.

27 28
Iterationsgrenze - Maximale Iterationsdauer.

Unterdrückung Warnungen - Ausschalten / Drehen des Reaktionssystems für Warnungen, die mit verschiedenen ungenauden Arten von Ungenauigkeiten verbunden sind.

Default Force Art - Einstellen der Modellierung des Modellierungsprozesses (Einfrieren / Antrieb) / Kaution (vollständig unter Kontrolle)).

Default Radix ist die Standardsignalansicht (symbolisch / binär / binär) / oktal (Oktal) / Dezimalzahl (Dezimalzahl) / Hex (Hexadezimal)).

Abbildung 14 - Optionsfeld simulieren

Asesystemaktionssystem auf verschiedenen Fehlern (Abb. 15):

rtion.- Musterung abbrechen. (Hinweis (Kommentar) / Warnung (Fehler)).

Ignorieren Sie die Behauptungen, um die Grenzen des Schutzsystems des Schutzsystems einzustellen. (Hinweis / Kommentar) / Warnung (Uninakkurität) / Fehler (- Setzt die Ausgangsparameter der Quelldatei im Fenster "Quellfehler" / Fehler ("Fehler")).

systemaktionen


4. Verfahren

5. Anweisungen

Theoretischer Teil;

Beschreibung der Folge von Aktionen mit Installationsbeschreibungen des Geräts zur Modellierung;

Schlussfolgerungen zur Arbeit erledigt.

5.2. Fragen zur Laborarbeit kontrollieren

1. Was ist das Bedürfnis, Modellierungssysteme ähnlicher ModelleSIM zu verwenden.

2. Was sind die Nachteile des Systems, falls vorhanden?

3. Wie sehen Sie sich auf die Anwendung des ModelleSIM-Systems?

29 30

Laborarbeit Nummer 4

Simulator-ModelleSim.

1. Allgemeine Beschreibung

1.1. Der Zweck der Arbeit besteht darin, Fähigkeiten zu erhalten, um die Designgeräte im ModelleSIM-System zu simulieren.

Laborarbeit besteht aus Heim- und Laboraufgaben. Die Hausaufgaben besteht darin, die Prinzipien der Arbeit mit dem ModelleSim Simulator zu wiederholen, die in früheren Laborarbeit gemeistert werden. Die Laboraufgabe besteht darin, Ihre Version des auf VHDL geschriebenen Programms anzuschließen, und die vollständige Modellierung und Analyse des entworfenen Geräts mithilfe von ModelleSIM.

1.3. Gebrauchte Ausrüstung

Um eine Laborarbeit durchzuführen, wird ein IBM-PC-Typ PEVM verwendet, ein Farbmonitor mit einem VGA-Grafikadapter und darüber, der Drucker.

2. Hausaufgaben und Richtlinien für seine Umsetzung

Wiederholen Sie das in den vorhergehende Klassen beherrschte Material.

3. Theoretischer Teil.


und Ausgang) / interne Signale (interne Signale)).

Dazu wurde in Modelssim ein System von Informations- und Funktionsinformationen Windows erstellt (die Hauptmenüansicht). Die Hauptbedingung für alle Fenster ist die korrekt angeschlossene Quelldatei mit einer VHDL-Beschreibung des simulierten Geräts.

Betrachten Sie die Prinzipien der Arbeit mit ihm:

1. Quelle - Fenster mit einer Quell-VHDL-Datei (Abb. 16). Ermöglicht das Installieren des StopPoint (hierfür müssen Sie die linke Maustaste auf der Zeilennummer doppelt drängen). Um das Fensterinhaltsfenster zu ändern, müssen Sie die Select-Quelldatei auswählen ... Hauptmenü der Hauptdatei (Ändern der Quelldatei kann nur in der mit dem Projekt verbundenen Datei) oder doppelklicken Sie auf die linke Maustaste im Berichtsfenster und klicken Sie auf die linke Maustaste. Fragen stellen

5.1. Bericht des Laborberichts muss Folgendes enthalten:

Name;

Zweck der Arbeit;

verwendete Geräte; Struktur auf dem Namen der erforderlichen Datei. Hinweis: Mit dem Fenster können Sie nicht Quelldateien bearbeiten.


Abb.16. Quellfenster

2. Struktur. - Fenster mit Struktur und Unterordnung von Projektdateien (Abb. 17). Trägt die Hilfsfunktion für das Quellfenster.

Feige. 17. Strukturfenster


3. Variablen. - Das Fenster enthält das gesamte interne variable Design der VHDL-Sprache, die verwendet wird, um das aktuell angeschlossene Modell zu beschreiben (Abb. 18). Nur Informationsfunktion trägt.

4. Signale. - ein Fenster mit einer Liste und Werte aller E / A-Anschlüsse und -signale (Abb. 19). Das Fenster erfasst alle Änderungen an den Inhalten aller E / A-Anschlüsse und Signale. Es ist möglich, eine begrenzte Anzahl von Signalen oder Anschlüssen in diesem Fenster zu entfernen, hinzuzufügen oder zu installieren

Wert. - der aktuelle Signalwert.

Feige. 21. Signalfenster zwingen

VERZÖGERN. - Verzögerungszeit des aktuellen Signalwerts (der Wert des Werts ist rechts vom Eingabefeld angegeben).

Zweiter Wert Der Wert ist der nächste Zustand dieses Signals oder des E / A-Anschlusses.

: Um genau die Art der Verzögerung einzugeben, bevor Sie den Flusswechsel auf den Wert ändern, den die Notiz auf Warnfehler aufweist, die mit der Gerätemodellierung verbunden sind, Verzögerung für den zweiten Wert - Der Wert ist für das entworfene Gerät bereitgestellt.

sein Status auf dem nachfolgenden (zweiten Wert). HINWEIS: Der Wert dieses Feldes muss notwendigerweise die Signalverzögerungen sein.


WIEDERHOLE JEDEN -dieses Feld ist ein optionaler Parameter zum Modellieren, da Es impliziert eine Zeiträume von Wiederholungen von Änderungen im Status des Eingabe- / Ausgabeports oder des Signalwerts. Das Feld ist in den grundlegenden Parametern von Änderungen mit dem darüber hinaus aktivierten Flag aktiviert.

HINWEIS: Der Wert dieses Feldes sollte notwendigerweise größer sein als der Wert in der Verzögerung des zweiten Wertfelds, da der Startpunkt des Modellierungsprozesses allen Signalverzögerungen gemeinsam ist.

Nett. - Legen Sie den Autonomiegrad der vorgenommenen Änderungen fest. (FREEZE (System autonom steuert Änderungen) / Antrieb (Kontrollfähigkeit) / Anzahlung (unkontrollierte Designerverwaltung)).

Um die eingegebenen Signaländerungseinstellungen oder den E / A-Anschluss zu bestätigen, klicken Sie auf die Schaltfläche Übernehmen.

Um die Parameter von Änderungen in einem anderen Signal festzulegen, muss er in dem Signalfenster ausgewählt werden.

Es ist möglich, eine limitierte Liste von Signalen mit dem Signalfenster zu installieren, in dem Sie das Notwendigste von ihnen auswählen können, und das Element zum Listen hinzugefügt (Sub-Klausel ausgewählte Signale (Führen Sie die ausgewählte Gruppe zum Listenfenster aus)). Darüber hinaus können alle Signale des aktuellen Projekts in der Liste (unter Verwendung von Signalen in Design), alle aktiven Signale zum Zeitpunkt der Simulation (unter Verwendung von Signalen in der Region) oder in einem Informationsfluss beteiligten Signalen (mithilfe des DataFlow-Fensters (auswählen) die erforderliche Fluss- und Unterabsatzsignale von DataFlow ...).

Hinweis.

Animierender Animationsschritt der Registrierung von Änderungen in Signalwerten wird in den Simulationsprozessparametern eingestellt (Optionen ... / Simulationsoptionen ...). Das Fenster bietet verschiedene Optionen, die mit der Fixierung der Änderungen an den Signalen verbunden sind, und speichern Sie die resultierende Tabelle in einer separaten Datei.

6. Prozess. - ein Fenster, das den Namen und den Zustand von VHDL -Prozessionen des aktuellen simulierten Geräts enthält (Abb. 23). Die Möglichkeit einer begrenzten Ausgabe von Prozessen bei Verwendung des Prozesseelements im Hauptmenü des Optionen (es ist möglich, alle aktiven Prozesse (Ansicht Active-Prozesse) oder aktive Prozesse im aktuellen Schritt (Simulation)) auszugeben.

Feige. 23. Prozessfenster

7. Welle - das Fenster, das erforderlich ist, um temporäre Diagramme eines bestimmten Satzes von Signalen oder E / A-Anschlüssen (Abb. 24) auszugeben.

Feige. 24. Wellenfenster

Das Fenster verfügt über alle Eigenschaften eines flexiblen Werkzeugs zum Überwachen von Signalen im Zeitrahmen des Modellierungsprozesses selbst. In der Aggregat mit dem Signalfenster und dem Add-in-Wellenformpunkt des Hauptsignals des Hauptsignals hat dieses Fenster die Möglichkeit, eine limitierte Liste der ausgewählten Signale Sub-Element-Signale zu definieren (Installation in der Arbeitsliste der in dem Signalfenster ausgewählten Signale) Sub-Klauselsignale in der Region (Überwachung aktiver Signale auf der aktuellen Simulation Iteration), Unterabsatzsignale in der Konstruktion (Setzen aller Projektsignale), Unterklauselsignale von DataFlow (Einstellsignale, die an dem ausgewählten Informationsfluss aus dem DataFlow-Fenster beteiligt sind))) . Wie alle funktionalen Fenster hat dieses Fenster die Möglichkeit, mit der Liste der Ausgangssignale (das Menü des Cursor- und Bearbeitungsfensters) zu arbeiten, können Sie die Ausgabe der Zeitdiagramme (MENU-Zoom und Optionen) steuern. Ein zusätzliches Hilfsmittel ist der Schieberegler (installiert an einem beliebigen Punkt in dem Diagramm mit der Maus), der die Modellierzeit in der aktuellen Position fixiert. Wenn Sie die Position des Läufers ändern, werden außerdem, wenn die Werte der Signale in der nächsten Position geändert werden, die entsprechenden Änderungen in der Liste der Bilder der Signale (wie gezeigt links in den Diagrammen, aufzunehmen in Fig. 24).

8. DataFlow - ein Fenster, das die Organisation aller in der Modellierungsvorrichtung vorhandenen Informationsströme anzeigt (Abb. 25).

Feige. 25. DataFlow-Fenster.

Wie die meisten funktionalen Fenster funktioniert es in Verbindung mit anderen Fenstern:

Signale (In diesem Fenster können Sie die folgenden Signal (en) auswählen, um die zugehörigen Informationsströme im DataFlow-Fenster weiterzumachen).

Prozess (Mit diesem Fenster können Sie einen Prozess wählen, um seine Informationsflüsse weiterhin zu demonstrieren).

4. Verfahren

4.1. Wählen Sie mit einem beliebigen Texteditor eine Beschreibung eines digitalen Geräts entsprechend Ihrer Option. Um Fehler zu vermeiden, ist es erforderlich, dass die Datei eine Erweiterung * .VHD hat.

4.2. Erstellen Sie ein Projekt im Modellmodellierungssystem ModelleSIM und verbinden Sie ihn mit dem Tippen und in der FPGA-Express-Datei eingereicht.

4.3. Installieren Sie nach dem korrekten Anschließen der Beschreibungdatei das System, um Ihr Gerät zu testen.

4.4. Testen und vollständige Analyse Ihres digitalen Geräts entsprechend Ihrer Option.

5. Anweisungen zur Registrierung des Berichts- und Kontrollproblems

5.1. Bericht des Laborberichts muss Folgendes enthalten:

Name;

Zweck der Arbeit;

Gebrauchte Ausrüstung;

Theoretischer Teil;

Beschreibung der Folge der Aktionen beim Analysieren und Modellieren Ihrer Option;

Ausdruck aller Zustände, alle Signale;

Drucken Ihrer Quelldatei;

Ausdruck von temporären Diagrammen und Prozessen;

Schlussfolgerungen zur Arbeit erledigt.

5.2. Fragen zur Laborarbeit kontrollieren

1. Was sind die Hauptfunktionen der Signale und der Wellenfenster?

2. Wie wichtig ist die Visualisierung der Struktur der Informationsströme während des Designs im Design?

37 38
3. Geräte mit welchen Arten von Signalen können Ihrer Meinung nach im ModelleSIM-Simulator getestet werden?

Laborarbeit Nummer 5

Bekanntschaft mit der Sprache VHDL

1. Allgemeine Beschreibung

Die Klingel.

Es gibt diejenigen, die diese Nachricht vor Ihnen gelesen haben.
Abonnieren Sie Artikel frisch.
Email
Name
Nachname
Wie willst du die Glocke lesen?
Ohne spam.