Hallo, Gibt es einen Lösungsansatz für einen 1:10-Bit Deserializer auf einem Spartan 6? Oder muss ich mit 2 x 5-Bit Deserializern arbeiten und dann diese MUXen?
Soweit mir bekannt geht das nur bis maximal 2x4 mit Master Slave. Keine Ahnung, ob man noch einen weiteren Slave addieren kann. Ich vermute mal, es geht nicht. Für welchen speed brauchst Du das ? Bis 300 MHz geht es im S6 auch ganz gut ohne ISERDES. Ansonsten DDR-Funktion mit halbem Takt. Etwas problematischer, aber technisch einfacher wäre eine 10/8 - Konstellation mit manuellem Bit-Slip oder sagen wir "reordering". Du taktest immer 8 von 10 bits ein und erhälts so etwas: 11111111 11222222 22223333 33333344 44444444 also 4 Datenworte a 10 bit in 5 deserialisieren Worten. die klopfst du in einen aysymmetrischen FiFo, der 80 Bits breit ist. 2 x 5 x 8 Bits -> 2 x 5 Schreibzugriffe linksseitig, in derselben Zeit 5 Schreibzugriffe rechtsseitig mit 16 bit breite.
joe schrieb: > Gibt es einen Lösungsansatz für einen 1:10-Bit Deserializer Die ISERDES des Spartan6 können gechained werden. Das genaue Vorgehen ist im Datenblatt und in einigen Application Notes beschrieben. Schau z.B. mal in die APP1064 Gruß Vanilla
Vanilla schrieb: > Die ISERDES des Spartan6 können gechained werden. Ja. Aber nur bei differentiellen Leitungen (weil da jeder 2. nicht genutzt wird) und auch nur - wie oben schon geschrieben - mit 1:8 Bits > > Das genaue Vorgehen ist im Datenblatt und in einigen Application Notes > beschrieben. > Schau z.B. mal in die APP1064
1 | Each Spartan-6 FPGA input/output block (IOB) contains a 4-bit input SerDes and a 4-bit output |
2 | SerDes. The SerDes from two adjacent blocks (master and slave) can be cascaded to make an |
3 | 8-bit block. This gives the possibility of SerDes ratios from 2:1 to 8:1 on both output and input |
4 | for both single and double data rate I/O clocks. |
Duke
Ach so, mit "DDR-Funktion" meinte ich das Einlesen eines Datenstroms über 2 Inputs! (Der SERDES "weiss" nicht, dass er zu langsam liest und ein anderer mitarbeitet) Der Takt muss dafür aber bei 25% und der andere bei 75% des Time Rasters stehen, als skew haben. Die Bits werden ja nicht "länger".
Auf Seite 3 der XAPP1064 steht doch, wie man 10:1 auch deserialisieren kann.
Ups. Soweit hatte ich nicht gelesen. Mir hat letztens 4:1 ausgereicht...
Das entspricht meinem Bauvorschlag und erklärt den allgemeinen Fall wo man nicht mit "DDR" also 2 Taktphasen (p/n) je Eingangstakt - sondern beliebig vielen arbeitet. Dann eben mit noch einer PLL. Theoretisch geht das auch mit 17 Takten pro Haupttakt aber die nachgeschaltete fabric logic muss da mitspielen und die hat ja Grenzen. Wie schnell soll das eigentlich laufne?
S. schrieb: > Das entspricht meinem Bauvorschlag und erklärt den allgemeinen Fall wo > man nicht mit "DDR" also 2 Taktphasen (p/n) je Eingangstakt - sondern > beliebig vielen arbeitet. Dann eben mit noch einer PLL. > > Theoretisch geht das auch mit 17 Takten pro Haupttakt aber die > nachgeschaltete fabric logic muss da mitspielen und die hat ja Grenzen. > > Wie schnell soll das eigentlich laufne? Mit 300 MHz - Es sollten 8 LVDS Signale deserialisiert werden.
Also 300 MBit/s? Das geht ja noch ganz ohne ISERDES dann, einfach in ein SR einsortieren.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.