Forum: FPGA, VHDL & Co. Pins vertausch um Layout zu vereinfachen? (DDR Speicher)


von Tüddel (Gast)


Lesenswert?

Moin Moin,

ich sitze hier gerade an einem FPGA-DDR2 Layout und zerbreche mir den 
Kopf über die elektrische Anbindung dazwischen.
Wenn ich es so Layoute, wie die Spec es DDR2 vorsieht, dann kann ich das 
Layouttechnisch nicht an den FPGA anbinden - umgekert, wenn ich es 
elektrisch an den FPGA anbinde, dann verstoße ich gegen etlich 
Richtlinien...

Da im FPGA das "harte" Interface genutzt werden soll (anbindung also 
nicht softwarebasiert) kamm mir jetzt die Idee, ggf Daten und/oder 
Addressleitungen untereinander zu tauschen.
Beispiel: A10 mit A3, A5 mit A1 oder DQ12 mit DQ5, DQ3 mit DQ8.

Die ganzen Kontrollsignale, CLKs und Co bleiben natürlich an ihrem 
Stammplatz/Pin.

Geht soetwas? Das würde das Layout massiv vereinfachen...

von Sven (Gast)


Lesenswert?

Ja, das geht.
Adressleitungen oder Datenleitungen untereinander darfst du tauschen.

von Lattice User (Gast)


Lesenswert?

Ja man kann vertauschen aber nur sehr eingeschränkt.

Addressleitungen: geht nicht, da diese auch für Commands verwendet 
werden und Zugriffe auf die Konfigurationsregister im Ram verwendet 
werden.

Datenleitungen: Nur innerhalb einer DQS Gruppe, d.h. innerhalb von 
DQ0-7, und innerhalb von DQ8-DQ15.
Die beiden Gruppen insgesamt können auch vertauscht werden. Dabei müssen 
aber auch die zur DQS Gruppe gehörigen Controlsignale (Clock, DM) mit 
vertauscht werden.

von Tüddel (Gast)


Lesenswert?

Ja Wunderbar :)

Das macht mein Leben doch schon wesentlich einfacher!
Kann man das eventuell irgendwo nachlesen -> ich muss das den "anderen" 
auch noch vorlegen... Die fressen nunmal nicht allen :(

von Elektroniker (Gast)


Lesenswert?

Sven schrieb:
> Ja, das geht.
>
> Adressleitungen oder Datenleitungen untereinander darfst du tauschen.

Noch einer, der Tipps gibt, ohne Wissen zu haben! Hast Du schon mal 
einen DDR-speicher betrieben? Kennst Du dich mit der Adressierung aus?

von Tüddel (Gast)


Lesenswert?

Ja, habe schon diverse DDR2-FPGA Kompos Layoutet!
Aber aus Kostengründen wurden mir mind. 2 Layer gestrichen!

von PittyJ (Gast)


Lesenswert?

Ich habe gerade mal in ein DDR-Ram Datenblatt geschaut.
Dort war A10 für besondere Dinge vorgesehen.
Bei bestimmten Kommandos mußte auch A0-A2 mit Werten belegt werden.
Wenn nun diese Leitungen vertauscht sind, dann muss das bei der 
Programmierung berücksichtigt werden.
Wenn das aber hart stattfindet, und nicht über eine FPGA IP-Core (den 
man intern wieder umverdrahten könnte), dann bezweifel ich, dass das 
geht. Ich lasse mich aber gerne von dem Gegenteil überzeugen.

von J. S. (engineer) Benutzerseite


Lesenswert?

PittyJ schrieb:
> Wenn das aber hart stattfindet, und nicht über eine FPGA IP-Core (den
>
> man intern wieder umverdrahten könnte),
und selbst das ist kritisch, wenn nicht im FPGA ein hw-controller 
vorliegt, wie beim S6 z.B.

Tüddel schrieb:
> Aber aus Kostengründen wurden mir mind. 2 Layer gestrichen!
Kommt mir irgendwie bekannt vor ..

von amateur (Gast)


Lesenswert?

Ob Adress- oder Datenleitungen ist egal. Die lassen sich bel. tauschen. 
Das sollte auch im Zusammenspiel mit FPGA gelten.
Es gibt nur zwei Bedingungen: Es muss echter, wahlfreier Zugriff möglich 
sein und der Arbeitsbereich muss vollständig und symmetrisch sein.

von Vanilla (Gast)


Lesenswert?

amateur schrieb:
> Ob Adress- oder Datenleitungen ist egal. Die lassen sich bel. tauschen.
> Das sollte auch im Zusammenspiel mit FPGA gelten.
> Es gibt nur zwei Bedingungen: Es muss echter, wahlfreier Zugriff möglich
> sein und der Arbeitsbereich muss vollständig und symmetrisch sein.

Nein im Zusammenspiel mit FPGAs insbesonderer neuerer Familien ist dies 
nicht mehr gegeben.
Dort sind speziell auf die Verarbeitung von DDR (Speichern) 
Besonderheiten im FPGA verbaut:
- bezüglich Strobetiming
- teilweise Hardcores welche KEINEN wahlfreie Vergabe der Pins mehr 
zulassen, von der Limitierung durch die Synthestools und der 
Qualifizierung genau der vorgegebenen Pins durch die FPGA-Hersteller mal 
abgesehen.

Wie vorhin schon besprochen:
Datenleitungen innerhalb eines Bytes und Bytegruppen inkl. aller 
dazugehörigen Signale sind problemlos gegeneinander zu tauschen, danach 
sollte man sich bereits sehr gut mit dem Design, den Tools und dem 
genutzten Core auskennen...

von Lattice User (Gast)


Lesenswert?

PittyJ schrieb:
> Ich habe gerade mal in ein DDR-Ram Datenblatt geschaut.
> Dort war A10 für besondere Dinge vorgesehen.
> Bei bestimmten Kommandos mußte auch A0-A2 mit Werten belegt werden.

Bei DDR2 ist das Moderegister 13 Bit breit die über A0-A12 geladen 
werden.

von Rudolph (Gast)


Lesenswert?

Tüddel schrieb:
> Da im FPGA das "harte" Interface genutzt werden soll (anbindung also
> nicht softwarebasiert)

Ich rate Spartan-6 (FPGA-Typ immer mit nennen, macht die Hilfe 
leichter). Im UG388 steht dazu:

"DQ bit swapping at the memory interface is permitted to facilitate 
layout. Swapping should only be done within a data group."

Für die Adress- und Kontrolleitungen ist das nicht erlaubt, weil diese, 
wie oben schon erwähnt, zum Schreiben auf Konfigurationsregister benutzt 
werden.

Tüddel schrieb:
> Kann man das eventuell irgendwo nachlesen -> ich muss das den "anderen"
> auch noch vorlegen... Die fressen nunmal nicht allen :(

Bitteschön.

von Fetz (Gast)


Lesenswert?

Elektroniker schrieb:
> Sven schrieb:
>> Ja, das geht.
>>
>> Adressleitungen oder Datenleitungen untereinander darfst du tauschen.
>
> Noch einer, der Tipps gibt, ohne Wissen zu haben! Hast Du schon mal
> einen DDR-speicher betrieben? Kennst Du dich mit der Adressierung aus?

Er dachte wohl an 8Bit SRAMs gg

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
Noch kein Account? Hier anmelden.