mikrocontroller.net

Forum: FPGA, VHDL & Co. Lateiner mit FPGA-Latein am Ende


Autor: Parazelsius (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was macht dieser Code (falsch) ?
doublesynch : PROCESS(aRst, clk) IS
    BEGIN
        IF aRst = '1' THEN
            input <= (OTHERS => '0');
        ELSIF rising_edge(clk_i) THEN
            input <= signal_1;
        ELSIF falling_edge(clk_i) THEN
            input <= signal_2;
        END IF;
      END PROCESS ff;

Ich möchte, daß mit steigender und fallender Flanke jeweils eines der 
beiden Signale weitergegeben wird. Signal1 ist vor einem Flip Flop und 
Signal2 nach dem Flipflop, das umgekehrt nach diesem Schema angesteuert 
wird. So möchte ich sicherstellen, daß immer nur ein stabiles Sigal 
weitergeschaltet wird. (der clk "weis") wann das Signal stabil ist.

Autor: Jan M. (mueschel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In FPGAs gibt es in der Regel keine FF, die auf zwei unterschiedliche 
Flanken reagieren koennen.

Ich weiss auch nicht, was du mit dieser Konstruktion bezwecken willst? 
Genau dafuer, was du beschreibst, ist doch schon ein ganz einfaches 
Flipflop da?

Autor: Parazelsius (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist ja nur eine denkbare Funktion. Wie mache ich das, daß ich áuf 
beide Taktflanken reagieren kann? Z.B. um die Signale zu mischen?

Autor: Jan M. (mueschel)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auf zwei verschiedene Taktflanken reagieren kannst du nur mit zwei 
getrennten Flipflops. (Ausnahme: Manche I/O-Ports haben entsprechende 
DDR-FF, die das koennen).
Intern arbeitet man immer nur mit einer einzigen Flanke - und zwar 
moeglichst konsistent ueber das gesamte Design.

Autor: Parazelsius (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was wäre denn der Nacheil, wenn man 2 Flanken benutzt?
Angenommen, ich möchte ein Signal feiner abtasten, dann müsste man ja 
den doppelten Takt benutzen, was gfs garnicht systemweit geht.
?

Autor: teo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du verteilst deine Logik auf unterschiedliche Taktdomänen. Innerhalb 
einer Domäne läuft alles schön synchron auf einer Flanke... dann musst 
du "nur" noch an den Übergabepunkten aufpassen...

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst den Takt durch einen DCM schicken. Dort gibt es noch 
zusätzliche Ausgänge mit 90°, 180° und 270° Phasenverschiebung. Damit 
kannst du dann deine FF takten. Interessant wird es nur wenn du die 
Daten dann zusammenfügen willst.

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin jetzt einmal stillschweigend davon ausgegangen das du einen 
Xilinx FPGA verwendest ;). Altera bietet mit den PLLs ähnliches. In 
einem CPLD hast du so etwas natürlich nicht.

Autor: Parazelsius (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jetzt habe ich mich mit den DDR befasst. Im Grunde gibt es DDr aber nur 
nach Außen, innerhalb wird eigentlich nur mit einem Takt gearbeitet. 
Wozu braucht man dann überhaupt die fallende Flanke im FPGA?

Autor: Martin Kohler (mkohler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist es Zufall, dass du deine Frage am 1.4. gestellt hast?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.