Vhdl Gleit Durchschnitt Beispiel


Ich versuche zu schreiben, ein VHDL gleitenden Durchschnitt gleichmäßig gewichtetes Modul, das FSMD ata verwendet. Von dem, was ich verstehe, die benötigten Zustände wäre so etwas wie Abruf, teilen, Ausgabe Unten ist der Prozess, den ich geschrieben habe, aber ich fühle mich wie meine Logik ist ein bisschen aus Beachten Sie, dass die Daten I m Mittelung nur ein konstantes Array von 8-Bit-Zahlen ist, also dachte ich, dass es gut sein sollte, ein nicht-kausales Design zu verwenden. Die Daten haben 64 Einträge und im Moment ist das Fenster für den Durchschnitt 4. Wie falsch ist das aussehen. Ein paar Probleme, die ich sofort sehen kann. Sie don t re-initialize temp anywhere. You don t haben keine Limit-Checks für count ist es ein Subtyp oder nur eine natürliche Ganzzahl Was passiert mit Muster zählen ich, wenn Sie Nimm an die Grenze Wie gehst du über. Deine Schleife ist 0 bis len - bist du sicher, dass du es nicht gemeint hast, um zu leben - 1.Sie dein ganzer Zustandsdekodierprozess ist getaktet, du brauchst doch wirklich nstate Sie nicht einmal Initialisierung cstate aber Sie re decodieren es entweder Entweder machen Sie Ihren Zustand decodieren einen separaten kombinatorischen Prozess oder einfach nur loszuwerden nstate und zuweisen, um cstate direkt. Otherwise, es hängt von Ihren Design-Ziele Wenn Sie don t Pflege über Durchsatz aber brauchen Um mit einer sehr hohen Taktrate laufen zu können, möchtest du deine Ergänzung sequentiell statt parallel durchführen, zum Beispiel. Siehe Sep 5 14 bei 13 32.thanks, das macht definitiv die Dinge besser über den Count Rollover, ich bin mir nicht sicher Wirklich, wie es zu tun ist, denn für jedes Muster zählen bis zu 63, ich möchte seinen Wert und den Durchschnitt des Fensters um ihn herum anzeigen, also wenn ich auf Rennen rollover, sollte es nicht aus der Grenze gehen, aber es wird nicht voll angezeigt Daten, wenn ich eine kausale Umsetzung tat ich würde einige Verzögerung am Anfang haben, ist es eine ähnliche Sache, die ich hier aber am Ende user1710566 Sep 5 14 bei 23 23.my Lösung war elsif clk Ereignis dann, wenn count 64 dann 0 zählen Sonst berechnen Ende, wenn in der for-Schleife habe ich einen Ausstieg, wenn count ich war größer als 63 user1710566 Sep 6 14 at 0 05.Ich habe eine Frage im Zusammenhang mit der kontinuierlichen Mittelung von ADCs Wert Der Ansatz, den ich verwendet, ist kontinuierliche Mittelung von Beispiel 256 Proben Der Adcaout-Wert, der im Code unten angezeigt wird, den ich auf meinem GUI bekomme, schritt langsam an. Als Beispiel, wenn ich den Wert 100mA erwarte, zeigt mein GUI 4mA, 8mA, 15mA und dann endlich nach 2 Minuten bekomme ich einen stabilen 100mA Wert, den ich sehen möchte Die 100mA direkt auf meiner GUI von adcaout anstatt inkrement Werte und stabilisieren nach irgendwann Eine andere Frage ist das, Kann ich irgendwie machen diesen Prozess schnell, so dass ich don t müssen für 3 Minuten warten, um stabile 100 mA von adcaout Die Uhr clk in Das digitale Design unten ist 20 MHz Die Uhr für den Empfang von ADC-Werten auf der FPGA-Karte ist 15 KHz .-- Die Datei ist unten. Ihr Code wird wie folgt geändert. Die endgültige Ausgabe, die ich auf meiner GUI sehe, ist slvvalue1 und slvvalue2. Wie wäre es bei der Rückstellung oder zu einem anderen Zeitpunkt, wenn Sie wollen, ordnen Sie den Datain-Wert zu allen Elementen in Sie Stadium Array Dies sollte sofort setzen Sie Ihren Durchschnitt auf den aktuellen Wert. Das folgende Beispiel zeigt den vollständigen Code für einen gleitenden Durchschnitt Taschenrechner Mein Vorschlag Ist, dass Sie es studieren, bis Sie es verstehen Dann versuchen, es in Ihrem Design zu verwenden Schließlich, und nur nachdem Sie eine grundlegende Schaltung arbeiten, können Sie es ändern, um Ihre Design-Einschränkungen Datenbreite, Anzahl der Proben, Bereich der ganzen Zahlen, Verwendung von signierten vs Integer etc. Finally, wenn Sie den obigen Code verwenden möchten, um zwei getrennte Mittelwerte für zwei verschiedene Signale zu halten, einfach instanziieren Sie die Mittelung Entity zweimal. Edit Wie ich aus Ihren Kommentaren verstehe, können Sie eine zusätzliche Eingabe zu setzen Der durchschnittliche Moment sofort zum aktuellen Eingangswert In diesem Fall können Sie einen Lasteingang wie unten gezeigt verwenden. answered 26. November 13 bei 15 45.VGA Interfacing und Steuerung mit MENTOR GRAPHICS HDL DESIGNER Software. und die Altera DE1 Development Board. SEHEN SIE MEINE DEVOTED DE1 SEITE AM LINK BELOW. The Software, die in diesem Tutorial verwendet wird, heißt HDL Designer von Mentor Graphics, zusammen mit den verschiedenen Begleitprogrammen wie. ModelSim und Precision Synthesis. Just, um euch alle zu informieren, bevor wir weiter gehen Wird nicht geben die volle VHDL-Quellcode-Dateien zum Download. Wenn Sie neu in VHDL-Programmierung sind, empfehle ich, dass Sie meine VHDL-Seite als Einleitung. However, wenn Sie bereits Programmierung und verstehen VHDL zu einem gewissen Grad dann können Sie Überspringen Sie das Intro und gehen Sie weiter. - Companion Lehrbuch für dieses Projekt. Ein sehr empfehlenswertes Lehrbuch für dieses Projekt ist eines der beiden Bücher, die unterhalb gezeigt werden. RAPID PROTOTYPING VON DIGITALEN SYSTEMEN. Diese speziellen Lehrbücher enthalten einige großartige Informationen über VGA-Schnittstellen und es bietet Einige der grundlegenden VHDL-Code für die Erstellung eines VGA-Controllers Ich empfehle Ihnen, dass Sie eines dieser Bücher kaufen, um Ihr Verständnis zu verfestigen. Dieses Tutorial zeigt Ihnen, wie Sie das Altera DE1 Development Board programmieren können, um die erforderlichen VGA-Steuer - und Datensignale zu erzeugen Für die Anzeige von 2D-Farbgrafiken auf einem VGA-Computer-Monitor Dies wiederum ermöglicht es Ihnen, eine grundlegende 2D PONG-Stil Video Game. Many VHDL PONG-Stil Spiele wurden online gezeigt, wie diese unten unten Dies ist ähnlich, was Ihr letztes Projekt wird Schauen Sie wie einmal fertig. Allerdings sind Sie frei, um mehr Funktionen für das Spiel hinzuzufügen, wenn Sie die Zeit haben, dies zu tun, bevor das Ende Ihres Semesters. Zusatzliche Funktionen können zu Ihrem Spiel für diejenigen von Ihnen, die über die Umrisse gehen wollen hinzugefügt werden Dieses Tutorial Features wie ein Score Board, Time Limit, Sound Effects oder sogar ein Joystick Game Pad Control Interface für zwei Spieler Dies ist definitiv ermutigt, wie es dazu beitragen, verfestigen Sie Ihr Verständnis der VHDL-Code. Dieses Tutorial verwendet eine Bildschirmauflösung von 640 X 480 mit einer Bildwiederholfrequenz von 60 Hz Wenn du alles rausgehen willst und versuchst, höhere Auflösungseinstellungen wie 800 x 600, 1024 x 768 oder sogar 1600 x 1200 zu verwenden, dann mit allen Mitteln, so wärst du definitiv für einige große Bonuspunkte, wenn Sie es an arbeiten können. Besuchen Sie den Link unten für eine Liste der verschiedenen VGA-Signal Timing Anforderungen für verschiedene Auflösung Einstellungen. Dieses Tutorial kann leicht auf andere Entwicklungsboards und andere VHDL-Software-Pakete angewendet werden. Boards wie The Altera DE2, Altera UP1, UP2, CPLDT-2 und vieles mehr Du kannst sogar einen Universal-Programmierer benutzen, um deine eigene CPLD oder FPGA zu programmieren. Es besteht auch die Möglichkeit, eine JTAG-Schnittstelle Programmierer zu verwenden und sie mit einem JTAG-kompatiblen FPGA zu verkabeln Sie verwenden einen 15 00 JTAG Programmierer wie den Altera USB-BLASTER, um Ihre eigene CPLD oder FPGA zu programmieren. Solange der FPGA, den Sie kaufen, ein JTAG Interface unterstützt, können Sie es selbst verdrahten und einfach mit dem Programm programmieren Gleiche Logik-Software, die Sie mit Ihrem DE1-Entwicklungsboard verwenden. Für eine ausführliche Erklärung auf der JTAG-Schnittstelle, Check out meine JTAG Interface Seite und Instructional Video auf dem Link Below. Ich habe eine Reihe von Instructional Videos für dieses Projekt für Ihre Bewertung Die Videos vorbereitet Deckt die Konzepte ab, die für Sie benötigt werden, um 10 separate VHDL BLOCKs in HDL Designer zu kombinieren, um ein PONG Style Videospiel auf Ihrem Altera DE1 Development Board zu produzieren. Sie werden Ihr DE1 an einen VGA Monitor mit dem Onboard DB-15 VGA Port anschließen. Da dies ein beliebtes TERM-Projekt für viele Hochschulen und Universitäten ist, werde ich NICHT VHDL Source Code-Dateien zur Verfügung stellen, die Sie einfach herunterladen, kopieren und in Ihr Projekt einfügen und dann an Ihren Professor einreichen und eine kostenlose Fahrt für dieses Projekt erhalten Wird verschiedene Instructional Videos, die über die grundlegenden Konzepte des Projekts gehen wird und ich werde auch einige allgemeine VHDL ARCHITEKTUR und PROCESS Beispiele für jeden der 10 VHDL-Blöcke Es wird bis zu Ihnen, um den Beispiel-Code auf Ihr eigenes Projekt anzuwenden Glaube, es ist wichtig, dass du deinen eigenen Code schreibst, Simulations simulierst und sehe, wie die Dinge durch Versuch und Error. Just daran erinnern, dass du das tun kannst. Schreibe mal einen VHDL-Code aus, laufe MultiSim-Simulationen und du wirst sehen, wie schnell du kannst Learn. So wieder, werde ich nicht geben die VHDL-Quellcode-Dateien zum Download. Wenn Sie diese Webseite und meine Instructional Video s als Leitfaden verwenden, werden Sie genau das tun. Sie können dies tun. Jetzt, wenn ich war Antworte auf die 100 s von E-Mails, die du mir alle schickst und um Hilfe mit deinem VHDL-Code bittest, ich würde nicht in der Lage sein, die Zeit zu finden, um zu arbeiten oder sogar zu essen. So bitte registrieren Sie sich und fragen Sie alle Ihre VHDL-bezogenen Fragen auf der CPLD FPGA Digital Design Forum. Wenn Sie etwas Hilfe mit Ihrem VHDL-Code oder anderen Engineering-bezogenen Projekten benötigen, ist das Forum der Ort zu gehen Sie können mit anderen Profis in der Branche sprechen, um zu helfen, Ihre VHDL-Codierungsprobleme zu beheben und zu lösen. Ihr Forum Web-basierte GUI Ist sowohl mit CODE und COMMENT Formatierung ausgestattet Diese macht Ihre Nachricht Beiträge sehr klar und organisiert Nachdem Ihre Nachricht Beiträge klar formatiert auf diese Weise, ermöglicht es anderen, Ihnen zu helfen effizienter und in einer fristgerechten Weise So ist dies eine fantastische Ressource und ich empfehle Ihnen, dass Sie Join. The VGA-Schnittstelle. Die VGA-Schnittstelle wurde von IBM im Jahr 1987 mit Signalanforderungen standardisiert, um Farbbilder auf einem Cathode Ray Tube Computer Monitor oder CRT kurz anschauen Wenn LCD-Monitore später veröffentlicht wurden, nahmen sie den gleichen VGA-Signal-Standard, um zu Funktion mit der aktuellen Computer-Infrastruktur in der world. CRT - Cathode Ray Tube. CRT LCD Differences. CRT LCD - Cutaway Diagramm. Daher LCD-Monitore haben eine interne Übersetzer-Schaltung, die VGA-Signale konvertiert, um die erforderlichen Liquid Crystal Display-Steuerung Signale Dies alles passiert Automatisch innerhalb der LCD-Monitore Schaltkreise und es funktioniert alle gleich für uns So müssen wir uns nicht darum kümmern. Wir sind gut zu gehen. Die VGA-Schnittstelle - Signal Requirements. Basically gibt es 5 separate Signalanforderungen für die VGA-Schnittstelle zu funktionieren Hierbei handelt es sich um H-SYNC V-SYNC-Auflösungssteuersignale und die ROTEN GRÜN - und BLAUEN Farbanzeigesignale. Die H-SYNC V-SYNC-Signale, die Sie an den Monitor senden, diktieren, welche Auflösung Sie verwenden, je nach Monitor Kann nur eine spezifische Auflösung unterstützen, bei der andere Monitore mehr als einen unterstützen können. Der Monitor speichert das Referenzsignal Patterns für alle verfügbaren Auflösungseinstellungen innerhalb eines EEPROM-Speicherchips, der Teil der internen internen Schaltkreise ist. Jede Auflösung erfordert ein bestimmtes H - SYNC V-SYNC Frequenz Pulsbreite und Duty Cycle Diese Signalanforderungen wurden von IBM standardisiert. Wir verwenden die älteste und kleinste Bildschirmauflösung, die verfügbar ist, da die meisten VGA-Monitore es unterstützen werden. Das ist die VGA 640 x 480 Auflösung mit Eine 60Hz-Bildwiederholrate. Die ROT-, GRÜN - und BLAUEN Farbsteuersignalleitungen verwenden jeweils analoge Spannungspegel zwischen 0 0 und 0 7 Volt DC, um die für jede Pixel verwendete Farbintensität zu bestimmen. Wie Sie wissen, werden alle Farben aus Mischen von verschiedenen Mengen von ROT, GRÜN und BLAU zusammen. H-SYNC V-SYNC Pulssignale. Schauen Sie und sehen Sie die H-SYNC - und V-SYNC-Signale wie Custom COUNTERS, die ständig laufen und bis zu ihrem MAXIMUM deklarierten Wert zählen, zurücksetzen auf Null und dann noch einmal aufzählen Jedes Mal, wenn der H-SYNC-Zähler auf Null zurücksetzt, wird der V-SYNC-Zähler nur um 1 erhöht. Das animierte GIF-Bild unten zeigt, wie die H-SYNC-V-SYNC-Signale zusammen verwendet werden Der Bildschirm Refresh Cycle Wenn Sie diese Signale wie XY Zähler betrachten, zähle sie im Wesentlichen durch jedes Pixel auf dem Bildschirm von der oberen linken Ecke ganz nach unten in der Sequenz auf die untere rechte Ecke Dieser Vorgang wiederholt sich 60 mal pro Sekunde, aufgrund der Tatsache, dass wir eine 60Hz Bildwiederholrate verwenden. Die H-SYNC - und V-SYNC-Signalmuster, die wir an den VGA-Monitor senden, erzeugen bei der Arbeit zusammen den Zig-Zag-Scan-Effekt, wie unten gezeigt. Je nach Frequenz, Pulsbreite und Duty Cycle dieser Signalmuster können wir verschiedene Auflösungseinstellungen für den Monitor erstellen. So haben wir ein spezielles H-SYNC - und V-SYNC-Signal Pattern für die Erstellung des Zig-Zag-Scanzyklus einer 640 x 480 Bildschirmauflösung , Und wir haben auch ein anderes H-SYNC und V-SYNC Signal Pattern für eine 1600 X 1200 Bildschirmauflösung und vieles mehr. Das Bild oben zeigt tatsächlich, was heißt Interlaced Frames Sie don t wirklich brauchen, um das jetzt zu kümmern, Da wir dieses spezielle Format nicht verwenden Das animierte Bild wird hauptsächlich verwendet, um Ihnen das Grundkonzept eines Bildschirms Refresh Cycle zu zeigen. Jetzt die Tatsache, dass wir eine Auflösungseinstellung von 640 x 480 verwenden, bedeutet dies, dass wir 640 Pixel haben, die laufen Von der linken Seite unseres Bildschirms zur rechten Seite Das bedeutet auch, dass wir 480 Pixel haben, die von der Oberseite des Bildschirms zum Bottom laufen. Mit anderen Worten, was wir hier haben, ist eine 640 x 480 Pixel Matrix. Sie können überlegen Die obere linke Ecke des Bildschirms als Ausgangspunkt für Ihre H-SYNC - und V-SYNC-Zähler ab Zero Der H-SYNC-Zähler fährt dann fort, um alle 640 Pixel auf der ersten horizontalen Zeile von links nach rechts zu erhöhen Ende der Zeile, dann geht es zurück zum Anfang Doch dieses Mal bewegt es sich auch um ein Pixel zur nächsten Zeile und erhöht den V-SYNC-Zähler um 1. Dieser Vorgang wird wiederholt, bis der V-SYNC-Zähler auf 479 zählt, Das bringt es in die letzte Zeile am unteren Rand des Bildschirms Wenn der H-SYNC-Zähler das letzte Pixel auf der unteren rechten Ecke des Bildschirms 639 erreicht, werden sowohl die H-SYNC - als auch die V-SYNC-Zähler auf Null zurückgesetzt. Dies bringt uns zurück zum oberen linken Eckpixel und das gesamte Zählen Der Prozess startet immer wieder. Ein einziger Durchlauf über den gesamten Bildschirm wird als Screen Refresh Cycle bezeichnet und dies wird 60 Mal pro Sekunde wiederholt, um den Bildschirm zu aktualisieren und jedes Pixel zu aktualisieren Eine besondere Farbe und dies wiederum erzeugt ein Bild auf dem Bildschirm. Review das animierte GIF-Bild oben, um ein besseres Verständnis für diese Screen Refresh-Prozess in Aktion zu bekommen.- Überblick über unsere 10 Block VHDL Circuit.- VHDL BLOCKS - Architektur Beispiele. Im Folgenden habe ich einige VHDL-Architektur und PROCESS-Beispiele ähnlich wie Sie für jeden der 10 VHDL-Blöcke benötigen, um ihre spezifische Funktion zu erfüllen. Es liegt an Ihnen, herauszufinden, wie Sie den Code auf Ihr eigenes Projekt anwenden und die Signale generieren Sie brauchen. VHDL BLOCK 1 - Der Clock Divider. Der Clock Divider sollte ein Schnappschuss für Sie sein, um herauszufinden, also keine wirkliche Notwendigkeit für ein Beispiel Für unser VGA Projekt benötigen wir ein CLOCK Signal von 25 175 MHz 25 MHz in unserem Fall ist Fein Wir erreichen dies durch Teilen der DE1-Karten 50Mhz Taktsignal in halb. Für MultiSim-Simulationen. Für eine 50MHz CLOCK-Einstellung verwenden Sie eine Taktperiode von 20ns. Für eine 25MHz CLOCK-Einstellung verwenden Sie eine Taktperiode von 40ns. VHDL BLOCK 2 3 - Eine typische MOD-Zähler Beispiel Mein MOD25 Counter mit einer Power ON Reset Line und einem 25Mhz Clock. Single MOD Counter Beispiel. Wenn Sie Schwierigkeiten haben, die VGA Controller Impulse richtig zu funktionieren, versuchen Sie, den Reset Zustand der MOD Zähler Versuchen Sie diese Zähler Werte unter und und Laufen einige Simulationen. MOD-800 zählt von 0 bis 793.MOD-525 zählt von 0 bis 522.VHDL BLOCK 4 5 - Die horizontale vertikale Decoder State Machines. MOMENTARY PULSES FÜR OUTPUT LINES. Be bewusst, dass diese besondere VHDL State-Maschine wird nur erstellen Momentary Logic High Impulse auf Ihre Ausgänge Die Ausgabe STATE Zeilen bleiben HIGH für nur 1 Clock Pulse, basierend auf der Eingang CLK Quelle für diese besondere VHDL Block verwendet. Die STATEoutputs müssen in einen Latch-Schaltkreis eingespeist werden, um HIGH für jede Zeitdauer gehalten zu werden. Single State Machine Beispiel. Above sind einige Beispiele für verschiedene Counter State Impulse. In der Bildschirm Capture oben gezeigt, Achten Sie auf die Zeitdifferenz zwischen Die beiden Marker. und wie sie beziehen sich auf die anderen Staaten gezeigt. Die horizontale vertikale SYNC DISPLAYTIME Signale. LATCH CIRCUIT STATE MASCHINEN ALS ZEIGEN BELOW.- Horizontale SYNC Signal Timing Waveforms. In der SIGNAL TIMING Diagramme, die folgen, zeigen sie die horizontalen vertikalen SYNC Impulse und auch die horizontalen und vertikalen DISLAYTIME Impulse Diese Wellenformmuster treten in einer sich wiederholenden Sequenz auf und ich habe angegeben Die Start - und Stopppunkte dieses Wiederholungsmusters. Ich habe auch die H-DECODER und V-DECODER Momentaty HIGH PULSE Staaten in Bezug auf die Wellenform Pattern in Frage.- Horizontal DISPLAYTIME Signal Waveforms.- Vertikale SYNC Signal Waveforms.- Vertikal DISPLAYTIME Signalwellenformen. LATCH CIRCUIT STATE MACHINES. Der untenstehende VHDL-Code ist ein Beispiel für eine Latch-Schaltung, die ein Ausgangssignal aktiviert, um entweder HIGH oder LOW für eine beliebige Zeitdauer zu bleiben, bis die Ausgabe in Frage steht, um seinen Zustand zu ändern. LATCH RESET Eingangspulse werden verwendet Als Trigger, um irgendwelche Änderungen zu initiieren Dies ist im Wesentlichen die Art der Schaltung, die Sie für jedes der Signale implementieren müssen, wie in den oben genannten Waveform-Diagrammen gezeigt. Anzeigen von Objekten auf dem Bildschirm. Jetzt Dinge bekommen ein wenig komplizierter hier habe ich Ein paar DISPLAY PROCESS-Beispiele, um Sie auf dem Weg zu führen, aber es liegt an Ihnen, herauszufinden, wie Sie die Movement-Steuerelemente zu Ihren Objekten hinzufügen. Der beste Weg, um zu verstehen, wie grundlegende farbige Objekte auf dem Bildschirm angezeigt werden, ist wie folgt. Versuchen Sie, die Horz - und Vert-MOD-Zähler zu betrachten, mehr wie ein XY 2D-Koordinatensystem auf einer Map. So vorstellen unsere Horz und Vert MOD Zähler wie die XY Position Koordinaten für eine Taschenlampe, die den Bildschirm scannt Diese Taschenlampe überprüft Etiketten auf jedem Pixel kommt es auf die Etiketten geben an, welche Farbe das jeweilige Pixel Rot, Grün oder Blau oder eine beliebige Kombination der drei anzeigen soll. Die Art und Weise, wie wir dies in VHDL tun, besteht darin, einen zusätzlichen Satz von Stdlogikvektoren oder COUNTERS zu verwenden, wie er gerade erzeugt wurde Die H-SYNC - und V-SYNC-Signale Die Zählerpaare werden zu den XY-Referenzkoordinaten für jedes einzelne Objekt, das wir auf dem Bildschirm anzeigen. Dies bedeutet, dass wir ein XY-Zählerpaar benötigen, für jedes einzelne Objekt, das wir auf dem Bildschirm haben. So , Da unsere Horz - und Vert-MOD-Zähler durch den Bildschirm laufen, erfrischen Sie den Zyklus, wenn an einem beliebigen Punkt die Zähler die gleichen X - und Y-Koordinaten als eines der neuen XY-Zählerpaare haben. YREFERENCECOUNTER V-COUNTER UND XREFERENCECOUNTER H-COUNTER. dann können wir diese Bedingung verwenden, um die RGB-Zeilen zu aktivieren, um die Anzeige einer bestimmten Farbe zu starten. I WIEDERHOLUNG VON STARTEN aus diesen XY-Koordinaten Dies bedeutet, dass Sie die Anzahl der XY-Pixel für das Objekt, Sie möchten die Anzeige oben zeigen, weil Sie im Wesentlichen nur das System gesagt haben, wo Sie anfangen müssen, die Farben zu malen, aber nicht wirklich, welchen Weg Sie nach unten gehen LUFT RECHTS oder sogar wo zu stoppen. YREFERENCECOUNTER V-COUNTER UND XREFERENCECOUNTER H-COUNTER size. There ist noch ein wenig mehr dazu, also überprüfen Sie die DISPLAY PROCESS Beispiele, die ich unten gegeben habe, und sehen Sie, ob Sie es herausfinden können. BALL Display PROCESS Beispiel - VHDL Block 7.PADDLE 1 Display PROCESS Beispiel - VHDL Block 8 9.Alben Rezension Seiten 208 und 209 aus dem Begleitbuch, das ich bereits erwähnt habe. Below sind 2 PROCESS Beispiele, die Ihnen einige Ideen, um einen Ball bouncing auf dem Screen. Review die beiden Beispiele, versuchen Sie es Der Code, manipuliere ihn, ändere ihn mit deinen eigenen Ideen, probiere verschiedene Sachen und sieh mal, ob du einen Ball bekommen kannst, um auf dem Bildschirm zu sehen und zu springen. Jetzt, um die Ballkollisionen mit den Paddeln zu arbeiten, kann dies als schwieriger erweisen. Häufig werden diese PROCESS-Beispiele dazu beitragen, dass Sie begonnen haben und denken an bessere Möglichkeiten, Ihren eigenen VHDL-Code zu schreiben. VIDEO TEIL 4 - ZU POSTED. ADDITIONAL ANMERKUNGEN ZU BALL COLLISONS. Die Details unten in Bezug auf Paddel Kollisionen könnte ein bisschen Overkill für die meisten von Ihnen Aber wenn Sie ein Perfektionisten sind und werden immer frustriert, weil die Ball Kollisionen mit Ihren Paddel sind nicht Verhalten Sie die Art und Weise, wie Sie sie wollen, können Sie die Details unten sehen zu sehen. Es ist wichtig zu erkennen, dass egal, welche Richtung der Ball reist, UP, DOWN oder auf einen Winkel die Bedingungen, die Sie auf jedem Paddel für einen Ball gelten Kollision jede Bedingung wird die gleiche Antwort unabhängig davon, welche Seite der Ball kollidiert auf dem Paddel. Dies ist, weil es ein einziges Objekt ist. Die Kollisionsbedingungen für jedes Paddel basieren auf seinem XY-Zähler Pair. To haben unterschiedliche Kollisionsreaktionen für jeden der 4 Seiten. Du benötigst wiederum 4 getrennte Counter-Paare oder 4 separate Seiten, aus denen ein Paddel besteht. Der RGB-Verkettungs-Displayblock. Dieser Block ist einfach eine Gruppe von UND-Gattern, die alle RGB-Farben zusammen mit einem MASTER RGB verbinden oder verschlüsseln Output. So haben Sie im Wesentlichen ein Multi-Input-UND-Gatter für jede der einzelnen RGB-Farben Eins für alle RED-Farben, eine für alle GREEN und eine für alle BLAU Endlich kann dieser MASTER RGB-Ausgang nur aktiv sein Während der horizontalen Anzeigezeit und der vertikalen Anzeigezeit So wird noch ein weiteres UND-Gatter verwendet, um den MASTER RGB Ausgang nur zu aktivieren, wenn sich H-DISPAYTIME V-DISPLAYTIME in einem logischen HIGH-Zustand befinden. Altera DE1 Board - Unbenutzte RGB-Leitungen müssen an GND gebunden werden. Es ist wichtig, um sicherzustellen, dass Sie alle unbenutzten RGB-Eingabezeilen an GND binden, da diese manchmal dazu führen können, dass die nicht verbundenen Signale zu Float, wodurch Interferenz und Rauschen auf Ihrem VGA-Monitor. Well, dass über summiert es Folks. Hopefully dieses Tutorial wird mindestens Holen Sie sich ein wenig näher an die Fertigstellung Ihrer VHDL PONG Projekte.

Comments