200MHz HF Design mit Eagle

Gast #1111971
Lesenswert?

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
#1111998
Lesenswert?

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
Gast #1112096
Lesenswert?

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.
Gast #1112101
Lesenswert?

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.
#1112219
Lesenswert?

@ 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
Gast #1112572
Lesenswert?

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.
Gast #1113327
Lesenswert?

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.
Gast #1113361
Lesenswert?

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.
Gast #1113875
Lesenswert?

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?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren