Thursday 13 April 2017

Moving Average Vhdl Code

Ich versuche, 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-Systemen wie FIR-Filter, digitale Signalprozessoren und Mikroprozessoren etc. Mit Fortschritten in der Technologie haben viele Forscher versucht und versuchen, Multiplikatoren, die entweder der folgenden bieten. 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: 59.534ms - init: 1.3b: 2.3r: 59,0 5,199 CodeForge Chinesische Version CodeForge Deutsche Version Wo Sie CodeForge gehen gehen, um Ihr Profil Usercenter Vervollständigen Sie erhalten Punkte 8 Sec Aufenthalt hier Oops. SorryThis Kerl ist geheimnisvoll, sein Blog wurde nicht geöffnet, versuchen Sie ein anderes, bitte OKThread: kontinuierliche Mittelung mit VHDL Ich habe eine Frage im Zusammenhang mit VHDL-Programmierung. Ich möchte den kontinuierlichen Durchschnitt berechnen. Mein Beispielcode lautet: Bei jeder positiven Flanke der Uhr ändert sich der Wert von quotout-valquot. Ich möchte kontinuierlich den Durchschnitt von quotout-valquot. Ich möchte durchschnittlich 32 Werte kontinuierlich zu nehmen. Gibt es eine Möglichkeit, wo kann ich durchschnittlich 32 Werte kontinuierlich bis die Uhr läuft. Bitte lassen Sie mich wissen, wie kann ich das tun. Sie können den obigen Code auch ändern. Vielen Dank, November 19th, 2013, 07:01 AM Ich habe eine Frage im Zusammenhang mit VHDL-Programmierung. Ich möchte den kontinuierlichen Durchschnitt berechnen. Mein Beispielcode lautet: Bei jeder positiven Flanke der Uhr ändert sich der Wert von quotout-valquot. Ich möchte kontinuierlich den Durchschnitt von quotout-valquot. Ich möchte durchschnittlich 32 Werte kontinuierlich zu nehmen. Gibt es eine Möglichkeit, wo kann ich durchschnittlich 32 Werte kontinuierlich bis die Uhr läuft. Bitte lassen Sie mich wissen, wie kann ich das tun. Sie können den obigen Code auch ändern. Vielen Dank, zuerst müssen Sie nee, um Ihre Syntax zu korrigieren (verwenden Sie nicht dash aber Unterstrich) Für den laufenden durchschnittlichen Filter, ist der einfachste Weg Verzögerung Eingang durch 32 Stufen. Subtrahieren Sie die letzte Stufe von der Eingabe und akkumulieren Ergebnis. November 19th, 2013, 07:03 AM 3 Registriert seit Sep 2012 Beiträge 41 Rep Power 1 Re: Starke Averaging mit VHDL Eigentlich habe ich Unterstrich in meinem ursprünglichen Code verwendet. Ich weiß nicht, warum habe ich schreiben out-1 hier. Seine out1 Sorry für die Verwirrung. Können Sie mit einem Beispiel beschreiben, wie kontinuierliche Mittelung zu tun. November 19th, 2013, 07:22 AM 4 Registriert seit: Oct 2008 Ort: London Beiträge 3.402 Rep Power 1 Re: kontinuierliche Averaging mit VHDL Eigentlich habe ich Unterstrich in meinem ursprünglichen Code. Ich weiß nicht, warum habe ich schreiben out-1 hier. Seine out1 Sorry für die Verwirrung. Können Sie mit einem Beispiel beschreiben, wie kontinuierliche Mittelung zu tun. Eingang gtgtgt. 32 Stufen ----------------- gt subtrahieren Sie die Stufe 32 vom Stromeingang, setzen Sie den Subtrahierer am Ende der Verzögerungsleitung, um die letzte Stufe von der Stromeingabe zu subtrahieren, nehmen Sie dann das Ergebnis der Subtraktion in einen Akkumulator (Rückkopplungsaddierer mit einem Register). Schneiden Sie die Akkumulatorsumme als geeignet ab. Antwort # 1 am: Juli 19, 2010, 08:08:39 pm »5 Registriert seit: Oct 2008 Ort: London Beiträge 3.402 Rep Power 1 Re: kontinuierliche Averaging mit VHDL dann nehmen das Ergebnis der Subtraktion in einen Akkumulator (Feedback-Addierer mit einem Register). Schneiden Sie die Akkumulatorsumme als geeignet ab. Verwerfen Sie 5 LSBs vom Akkumulatorergebnis. Die ersten 31 Proben sind nicht korrekt, aber der Stream wird dann rechts. Kaz Nur als Beispiel, ich mache kontinuierliche Mittelung für 4 Werte. Können Sie überprüfen, ob mein Ansatz richtig ist. Summe ist der ausgegebene Mittelwert. Der obige Code funktioniert, wenn ich unsigned Zahlen haben. Aber ich möchte den Stdlogicvektor durchschnittlich. Die datain ist definiert als: datain: in stdlogicvector (11 downto 0) Bitte helfen Sie mir bei der Lösung dieses Problems. Bitte ändern Sie den obigen Code, so dass ich kontinuierliche Mittelung Werte für Vektor outval erhalten können. November 20th, 2013, 12:09 PM 9 Registriert seit: Oct 2008 Ort: London Beiträge 3.402 Rep Power 1 Re: kontinuierliche Averaging mit VHDL kaz Als Beispiel habe ich kontinuierliche Mittelung für 4 Werte zu tun. Können Sie überprüfen, ob mein Ansatz richtig ist. Summe ist der ausgegebene Mittelwert. Der obige Code funktioniert, wenn ich unsigned Zahlen haben. Aber ich möchte den Stdlogicvektor durchschnittlich. Die datain ist definiert als: datain: in stdlogicvector (11 downto 0) Bitte helfen Sie mir bei der Lösung dieses Problems. Bitte ändern Sie den obigen Code, so dass ich kontinuierliche Mittelung Werte für Vektor outval erhalten können. Ich sehe nicht, wie Ihr Ansatz funktioniert. Wenn es mir ist, folge ich einfach dem Diagramm, das ich früher gepostet habe. Zum Beispiel Re: kontinuierliche Mittelung mit VHDL Ihr Ansatz didnt Arbeit für mich. Ich überprüfte die Ausgabe auf dem FPGA aber es didnt Arbeit für mich. Grundsätzlich versuche ich, die ADC-Ausgangswerte zu stabilisieren. Das ist, warum ich die eingehenden Daten oder erfasste Daten mit ADC mitteln. Outval und outval2 sind die 12-Bit-ADC-Ausgänge. Ill zeigen, wie ich Ihren Ansatz unten verwendet. Bitte korrigieren Sie mich, wenn ich falsch bin: Ich messen die Adc-Werte (Strom und Spannung) quotadcaout und adcboutquot nach der Verwendung der oben genannten Ansatz und ich erhalten falsche Werte. Bitte lassen Sie mich wissen, wo ich falsch mache.


No comments:

Post a Comment