Ich habe eine Frage im Zusammenhang mit kontinuierlichen Mittelung von ADCs Wert. Der Ansatz, den ich verwendete, ist die kontinuierliche Mittelung von Beispiel 256 Proben. Der Adcaout-Wert (angezeigt im Code unten), den ich auf meiner GUI empfange, schritt langsam. Als Beispiel, wenn ich erwarte Wert 100mA, Meine GUI zeigt 4mA, 8mA, 15mA. Und dann endlich nach 2 Minuten bekomme ich einen stabilen 100mA Wert. Ich möchte sehen, die 100mA direkt auf meiner GUI von adcaout statt Inkrement Werte und Stabilisierung nach einiger Zeit. Eine andere Frage ist, dass, kann ich irgendwie machen diesen Prozess schnell, so dass ich nicht für 3 Minuten für den Empfang stabil 100 mA von adcaout warten müssen. Die Clock im digitalen Design unten ist 20 MHz. Die Uhr zum Empfangen der ADC-Werte auf der FPGA-Platine beträgt 15 KHz. - die adc. vhd-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 über dieses: am Rücksetzen (oder zu jeder anderen Zeit, wenn Sie wollen), weisen Sie die Datain-Wert für alle Elemente in Ihrem Array. Dies sollte sofort den Durchschnitt auf den aktuellen Wert einstellen: Das folgende Beispiel zeigt den kompletten Code für einen gleitenden Durchschnittsrechner. Mein Vorschlag ist, dass Sie es studieren, bis Sie es verstehen. Dann versuchen Sie es in Ihrem Design 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 Ganzzahlen, die Verwendung von signierten vs Integer etc.) Endlich, wenn Sie verwenden möchten Den obigen Code, um zwei separate Mittelwerte für zwei verschiedene Signale zu halten, einfach Instanziieren der Mittelung Einheit zweimal: Edit: Wie ich aus Ihren Kommentaren zu verstehen, müssen Sie möglicherweise eine zusätzliche Eingabe, um den Durchschnitt sofort auf den aktuellen Eingangswert. In diesem Fall können Sie eine Lasteingabe wie unten gezeigt: Antwort # 1 am: November 26, 2010, um 15:45 Uhr versuchen, ein VHDL gleitenden Durchschnitt (gleichmäßig gewichtet) - Modul, das FSMD (ata) verwendet zu schreiben. Von dem, was ich verstehe, die Zustände benötigt würde etwas wie holen, 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 Im Mittelung nur ein konstantes Array von 8-Bit-Zahlen ist, so dass ich dachte, es sollte gut sein, ein nicht-kausalen Design verwenden. Die Daten haben 64 Einträge, und im Moment ist das Fenster für den Durchschnitt 4. Wie falsch ist dies aussehen Ein paar Probleme kann ich sofort sehen: Sie dont neu initialisieren Temp irgendwo. Sie haben keine Limit-Checks für count (ist es ein Subtyp oder nur eine natürliche Integer.) Was passiert mit Muster (Counti), wenn Sie die Grenze zu nähern Wie rollen Sie über) Ihre for-Schleife ist 0 bis len - sind Sie sicher, Sie Didnt mean 0 to (len - 1) Da Ihre gesamte Zustand decodieren Prozess getaktet ist, brauchen Sie nicht wirklich nstate überhaupt. Beachten Sie, dass Sie nicht sogar initialisieren cstate (aber youre immer noch decodiert). Entweder machen Sie Ihren Zustand decodieren einen separaten kombinatorischen Prozess oder einfach nur loswerden nstate und zuweisen cstate direkt. Ansonsten hängt es von Ihren Design-Ziele. Wenn Sie nicht über Durchsatz kümmern, aber Notwendigkeit, an einer sehr hohen Taktrate laufen zu lassen, möchten Sie möglicherweise Ihre Ergänzung sequentiell anstelle von parallel, zum Beispiel durchführen. Antwortete am 5. September 14 um 13:32 dank, dass definitiv macht die Dinge besser. Über die count Rollover, I39m nicht sicher, wie es zu tun, weil für jedes Muster (count) bis zu 63, möchte ich seinen Wert und den Durchschnitt des Fensters um es anzuzeigen. So dass, wenn ich Rollover bei coun-len, es shouldn39t gehen von Grenzen, aber es wird nicht zeigen, alle Daten. Wenn ich eine kausale Implementierung würde ich eine gewisse Verzögerung am Anfang haben, ist es eine ähnliche Sache, die ich hier brauchen, aber am Ende ndash user1710566 Sep 5 14 um 23:23 meine Lösung war: elsif (Clk-Ereignis) dann, wenn Zählung 64 Dann zählen lt 0 sonst berechnen Ende if. And in der for-Schleife habe ich einen Ausgang, wenn count i größer als 63. ndash user1710566 Sep 6 14 bei 0: 05VHDL-Code für verschiedene Addierer targetblank VHDL-Code für verschiedene Addierer Ein Multiplikator ist einer der Die wichtigsten Hardware-Blöcke in den meisten digitalen und Hochleistungs-Systeme wie FIR-Filter, digitale Signalprozessoren und Mikroprozessoren etc. Mit Fortschritten in der Technologie haben viele Forscher versucht und versuchen, Multiplikatoren, die eine der folgenden bieten-hi. VHDL-Code für verschiedene Addierern targetblank VHDL-Code für verschiedene Addierern targetblank VHDL-Code für latchffcomb für dcomb ckt in VHDL targetblank VHDL-Code für latchffcomb für dcomb ckt in VHDL-Bibliothek ieee Verwendung ieee. stdlogic1164.all Einheit dcomb ist Port (aktivieren: in stdlogic d: In stdlogic q: out stdlogic) end dcomb Architektur rtl von dcomb ist p beginnen. VHDL-Code für latchffcomb für dcomb ckt in VHDL targetblank VHDL-Code für latchffcomb für dcomb ckt in VHDL VHDL-Format Konvertierung Tool targetblank targetblank Blif2 VHDL-Format-Konvertierungs-Werkzeug A BLIF zu VHDL-Wandler (51K komprimierte tar, mit SunOS, Solaris und Linux-Binärdateien. Quelle Code (C) enthalten). VHDL-Format Konvertierung Tool targetblank VHDL-Format Konvertierung Tool targetblank VHDL-Code für Adder Subtractor VHDL-Code targetblank für Adder Subtractor BIBLIOTHEK ieee USE ieee. stdlogic1164.all USE ieee. stdlogicunsigned. all ENTITY Addierer PORT IS (Cin. IN STDLOGIC tragen. IN STDLOGIC X, Y. IN STDLOGICVE. VHDL-Code für Adder Subtractor targetblank VHDL-Code für Adder Subtractor targetblank VHDL-Design von 16 Radix 4-Punkt-FFT targetblank VHDL-Design von 16 Radix 4-Punkt-FFT-Aufbau und Funktions Implementierung eines 16-Punkt-Pipeline-FFT-Architektur präsentiert wird. Die Architektur basiert auf dem Radix-4-Algorithmus. Durch die Regelmäßigkeit der Algorithmus zu nutzen, butterfly-Operation und Multiplikator-Module entwickelt wurden. der Architekt. VHDL-Design von 16 Radix 4-Punkt-FFT targetblank VHDL-Design von 16 Radix 4-Punkt-FFT targetblank VHDL Frequenzmesser Targetblank VHDL-Frequenzmessgerät Verwenden Sie das Frequenzmessgerät VHDL write und die Module, die in klare Grundprinzipien für die Erfassung von Impulssignalen im Lebenszyklus einer Gatefrequenz unterteilt sind, verwenden Sie die vierteilige digitale Röhrenanzeige. VHDL Frequenzmessgerät Zielblank VHDL Frequenzmessgerät Zielblank VHDL-Code für 4 x 1 Multiplexer mit folgenden Methoden (1) If-else-Anweisung (2) Fallbehauptung (3) mit Anweisung targetblank VHDL-Code für 4 x 1 Multiplexer mit folgenden Methoden schreiben (1) If-else-Anweisung (2) Fallbehauptung (3) Mit Anweisung VHDL-Code für 4 x 1 Multiplexer mit folgenden Methoden schreiben (1) If-else-Anweisung (2) Fallbehauptung (3) Mit Anweisung. VHDL-Code für 4 x 1 Multiplexer mit folgenden Methoden (1) If-else-Anweisung (2) Fallbehauptung (3) Mit Anweisung targetblank VHDL-Code für 4 x 1 Multiplexer mit folgenden Methoden (1) If-else-Anweisung (2) Fallbehauptung (3) Mit der Anweisung targetblank VHDL 100 Beispiele targetblank VHDL 100 Beispiele Share online für einige 100 Beispiele geeignet für FPGA Lernen für Anfänger. Im Inneren gibt es einige klassische Tricks. VHDL 100 Beispiele targetblank VHDL 100 Beispiele targetblank VHDL-Code targetblank rekonfigurierbarer FIR-Filter VHDL-Code Dies ist ein FIR-Filter Implementierungscode für einen rekonfigurierbaren FIR-Filter-Designcode d in VHDL-Sprache. VHDL-Code Zielblank VHDL-Code Zielblank VHDL Realisierung von 33 Matrix-Multiplikation Zielblank VHDL Realisierung von 33 Matrix-Multiplikation Matrix-Multiplikation VHDL-Implementierung, Dimension feste, sehr lehrreich. Focus auf das Verständnis der Schnittstelle, Timing-Einstellungen, Verzögerungssteuerung. Da die Struktur relativ klar ist, nicht hinzugefügt Stimuli-Datei, können Sie Ihre eigenen schreiben. VHDL Realisierung von 33 Matrixmultiplikation targetblank VHDL Realisierung von 33 Matrixmultiplikation targetblank Abgelaufene: 54.673ms - init: 1.3b: 2.5R: 54,2 5,199 CodeForge Chinesische Version CodeForge Deutsche Version Wo Sie CodeForge gehen gehen, um Ihr Profil Usercenter Vervollständigen Sie erhalten Punkte 8 Sec Bleiben Sie hier Hoppla! SorryThis Kerl ist geheimnisvoll, sein Blog wurde nicht geöffnet, versuchen ein anderes, bitte OK
No comments:
Post a Comment