mikrocontroller.net

Forum: FPGA, VHDL & Co. 8b/10b Kodierung mit XILINX CPLD


Autor: Camel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Um einen Ethernet Transceiver anzusprechen muss ich eine 8b/10b
Kodierung durchführen. Das würde ich gerne mit einem CPLD von XILINX
erledigen. In der XAPP336 bzw. 391 wird ein entsprechender
Encoder/Decoder vorgestellt, den VHDL-Code gibt es auch dazu.

Das Problem: Laut der Simulation mit ModelSim braucht der Encoder 6
clock cycles um einen 8Bit Wert in den entspr. 10Bit Wert umzuwandeln.
D.h. dass mein CPLD mind. 6 Mal schneller getaktet sein muss als mein
8Bit-Bus. Sehe ich das richtig?

Was mache ich nun wenn mein Bus 40MHz hat? Das CPLD läuft leider nicht
mit 240 MHz ggg

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

8b/10b ist doch, wenn ich nicht irre, GigaBit-Ethernet auf Glasfaser?

AFAIK ist doch die Kodierung 8b/10b nur eine statische Geschichte die
sich mit einer Look-Up-Table erschlagen lassen sollte. Kannst du den
VHDL-Code mal posten?

Matthias

Autor: Camel (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
>>8b/10b ist doch, wenn ich nicht irre, GigaBit-Ethernet auf Glasfaser?

Ja, das ist korrekt.


Im Anhang ist der VHDL Code für das Encoding. Das ganze läuft über 3
oder 4 Statemachines. Die eigentliche Kodierung wurde kombinatorisch
gelöst. Hat natürlich den Vorteil, dass das selbst in einen XC9536
passen würde. Aber eben mit einer Latency von 6 Cycles. Leider auch
nicht pipelined, d.h. ich kann den nächsten Wert erst nach 6 Takten
einlesen.

Evtl. lassen sich mehrere Encoder parallel betreiben?


Ich denke dass eine entsprechende Look Up Table nicht in ein CPLD
passt. Das wäre wohl eher was für ein FPGA?

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.