hallo
Ich hab in nähere Zukunft vor zum einen einen 100Mhz Logic Analyzer mit
FPGA zu bauen und zum Anderen für ein Projekt eine Platine mit einem
AT91SAM9261 zu erstellen. Bisher hab ich schon weit mehr als 20
verschiedene fast ausschließlich doppelseitige Platinen in Eagle per
Hand geroutet, aber halt mit Frequenzen <=48MHz, hab also mit dem
Layouten Erfahrung.
Meine Frage wäre nun die Folgende:
Da ich bei meinen beiden zukünftigen Projekten 200MHz schnelle Signale
habe muss ich die Leiterlänge bei Datenbussen wie z.B. dem Adress- und
Datenbus eines schnellen SRAMs so angleichen, dass sie die gleiche Länge
haben. Dies mache ich indem ich mäanderförmige Schleifen in die
einzelnen Leiterbahnen lege. Nun möcht ich wissen ob jemand von euch
eine Eagle- ULP kennt die mir diese doch etwas zeitraubende Aufgabe
abnimmt. Auf der Eagle HP hab ich bisher leider nicht gefunden.
lg Gregor
Sportliches Projekt..
Kommt auf die Länge der Leitungen an.
Die wichtigsten Signale beim Layouten sind aber:
Clk, CS, RD/WR etc. also alle die etwas an deinem SRAM steuern.
Dort dürfen keine Reflexionen entstehen. Du musst die vermutlich
"Terminieren".
Die Daten/Adress Signale sind weniger kritisch, da du dort meistens eine
halbe Clock Periode Zeit hast.
Nim 4 (oder mehr) Lagen in deinem PCB, kritische Signale müssen über
einer durchgehenden Gnd-Plane sein. Keine Vias in den kritischen Signal
Leitungen. Speisungen gut entkoppeln.
Dies sind aus meiner Sicht die wichtigsten Typs, ist sicher keine
umfassende Liste. Umfassende Antworten findest z.B in den Büchern auf
folgendem Link:
http://www.sigcon.com/index.htm
Cheers,
Felix
Hat das einen speziellen Grund (evt. ein Auftrag)? Den miniLA kennst Du,
oder? Falls es Dir nur darum geht, guenstig an so einen LA zu kommen,
koennte Dir der sicherlich gefallen.
Ich würde bestreiten, daß du bei einem '9261 beim SRAM schon "mäandern"
musst, das geht meistens auch ohne.
Wenn die einzelnen Daten- und Adressleitungen unterschiedlich lang sind,
ist das so lange nicht tragisch, so lange die relevanten Clock-Leitungen
länger sind.
Ein kleiner Serienwiderstand in der Clock-Leitung sollte auch
ausreichen. Meine Layouts funktionieren jedenfalls hervorragend.
Mit Eagle kann man auch problemlos für 1,5 GHz designen, es fehlen halt
nur die Tools. In diesem Fall ist Eagle nicht besser als ein
Zeichenprogramm. Aber für die eine oder andere Stripline oder ein
Filterchen reicht es trotzdem noch.
Und ein PS:
Muß es der mit zahlreichen Bugs bedachte '9261 sein? Brauchst du den
LCD-Controller?
Das Problem ist nämlich, daß du mit einem BGA mit 0,8mm Pitch außerhalb
der "Billig-Zone" bei den Leiterplatten-Herstellern bist. Problematisch
sind die geringen Restringe und Bohrdurchmesser, die in der Mitte
zwischen vier "Pads" des BGA für die Vias (die du brauchst) möglich
sind.
@ Stefan Salewski (Gast)
>Das war aber nicht seine Frage
Ja und, ich hab daraufhingewiesen dass es wichtigere Dinge zu beachten
gilt als das "ausgleichen" der Daten und Adress Leitungen.
Falls du weisst wie man das mäandern per UPL in Eagel macht gib Gregor
doch den Tipp!
Cheers,
Felix
Hallo,
ich muesste solche ULP's haben. Nicht Fertigloesungen, sonder
Teilloesungen, wie Laengenangaben von Leitungen, Delays generieren, ...
.
Wenn ich dich richtig Verstanden habe, brauchst du nur das ULP ueber die
Leangen der Leitungen, sowie die Maender.
Hallo
Danke für eure Antworten.
Ja ich bräuchte eine ULP mit der ich durch Eingabe der maximalen Länge
der Leitung die eine kürzere Leitung durch Verwendung von Mäandern
angleichen kann.
@ Gerhard
Ja ich brauche den Displaycontroller des 9261, dieser ist sogar eine der
zentralen Komponenten, da ich ein 18Bit LCD Farbdisplay ansteuern muss.
Hab es bis jetzt zwar mit einem externen Grafikchip namens SSD1906
gelöst, doch dieser kostet schon mehr wie der ganze ARM Chip zusammen.
@ Michael G.
Ja ich hab mir die verschiedenen Logic- Analysatoren hier bereits
angesehen. Ich hab aber vor meinen LA mit einem etwas anderen
Lösungsansatz zu realsieren. Da sehr schnelle SRAM Bausteine sehr teuer
sind habe ich die Idee, mehrere etwas langsamere und somit auch
billigere SRAM Bausteine zu verwenden und dann das Signal nacheinander
auf die verschiedenen SRAMS zu schreiben. Also Sample 1 auf
Speicherchip1 Sample 2 auf Chip 2 ... Sample n auf Chip n usw. Wenn der
Letzte Speicherchip beschrieben ist fängt die Prozedur von neuem an. Der
Vorteil davon ist, dass ich z.B. mit 8 SRAMs mit 10ns Zugriffszeit Daten
mit einer Samplerate von 200MS/s und mehr problemlos aufzeichnen kann.
Autor: Felix Bonjour (e-b)
Datum: 15.01.2009 23:10
>@ Stefan Salewski (Gast)>>Das war aber nicht seine Frage>Ja und, ich hab daraufhingewiesen dass es wichtigere Dinge zu beachten>gilt als das "ausgleichen" der Daten und Adress Leitungen.
Und wenn Dich einer nach einem Rezept für leckeren Apfelkuchen fragt
erklärst Du ihm, wie man Sauerbraten zubereitet.
>Falls du weisst wie man das mäandern per UPL in Eagel macht gib Gregor>doch den Tipp!
Weiß ich nicht, da ich kein Eagle benutze!
@Gregor Rudorfer
, dass ich z.B. mit 8 SRAMs mit 10ns Zugriffszeit
Du weißt schon, dass das viel Gewusel mit all den Leitungen gibt, und
dass man entsprechend viele Pins am FPGA haben muss? 10ns Zugriffzzeit
ist ja auch schon recht fix und damit nicht billig. Ich verwende
übrigens den CY7C1380D - CYPRESS 18-Mbit (512K x 36) Pipelined SRAM,
aber nur einen.
Moin
wenn ich das richtig verstehen, willst du jeden speicherchip mit einer
eigenen CS Leitung versehen? ggf nicht einfacher, den CS auf alle
gleichzeitig zu legen? Alle an den gleichen Adressbus, Datenleitungen
getrennt. In etwa das was die grafikkarten hersteller mit dem Video Ram
machen. Bussbreite * Taktung = Datendurchsatz. und dann alle n sampels
auf einmal auf alle bausteine gleichzeitig schreiben?