Hallo allerseits, für ein Projekt brauche ich einen FIFO zum Auslesen eines A/D-Wanlders (65Mhz). Jedoch habe ich festgestellt, dass die Dinger richtig teuer sind und habe mir überlegt alternativ einen etwas langsameren FIFO aus CPLD und SRAM zu basteln. Da ich jedoch die Leistung eines CPLD aufgrund mangelnder Erfahrung nicht einschätzen kann, wollte ich mal nachfragen, ob jemand da etwas empfehlen kann. Danke im Voraus und beste Grüße
Sag doch mal was zum Thema Datenrate und -breite auf der einen und der anderen Seite. Muß parallel gelesen und geschrieben werden? Falls ja: kannst du die Lese-Seite mit Waitstates verzögern?
Naja ich sag mal so: Das Problem ist meistens eher einen passend schnellen SRAM zu finden der mit dem CPLD mithalten kann. Auch ist die Frage ob du lesen und schreiben gleichzeitig willst, oder erst FIFO vollschreiben und dann lesen. Und vorallem: Wo ist deine Preisliche Grenze? Wie teuer ist den so ein fertiger FIFO? Ein CPLD + SRAM kommt bei 65MHz auch shcon auf gut 20eur
wow, danke für die schnellen Antworten also ich habe einen 12-bit ADC mit Parallelausgang. Dieser soll die Daten über einen kurzen Zeitraum aufnehmen. Nach Möglichkeit sollten schon so 128k x 16 an Daten in den Fifo passen. Erst nach der Aufnahme werden die Daten gelesen und weiter verarbeitet. Daher brauch ich schon mal keine Dual-Port-Geschichte. Also ein 8k x 9 FIFO kostet so um die 20€. Also recht teuer für die paar Bits. Die Fifos, die ich bräuchte (4Mbit) haben sogar die 100€-Grenze gesprengt. Ich würde mich schon freuen, wenn ich den Preis auf unter 50€ beschränken könnte. Habe mich bei den SRAMs (4Mbit mit 10ns) ein wenig umgeschaut und rechne da mit einem Preis von etwa 10€. Aber auf was muss ich aber bei dieser Geschichte beim CPLD achten? Hat hier jemand ein paar Vorschläge? Am besten von Altera Danke und Gruß
@ pfifi (Gast) >Also ein 8k x 9 FIFO kostet so um die 20€. Also recht teuer für die paar >Bits. Die Fifos, die ich bräuchte (4Mbit) haben sogar die 100€-Grenze >gesprengt. Umsonst ist der Tod. > Ich würde mich schon freuen, wenn ich den Preis auf unter 50€ >beschränken könnte. Habe mich bei den SRAMs (4Mbit mit 10ns) ein wenig >umgeschaut und rechne da mit einem Preis von etwa 10€. Mit deiner nicht vohandenen Erfahrung darfst du das getrost vergessen. Und als Einzelstück ist eine Selbstbaulösung 100x teurer als was von der Stange, selbst bei 5 EUR Stundensatz. Nimm den 100 EUR FIFO und gut. MfG Falk
@Falk mit dieser Einstellung würden die Enwickler austerben. Freue mich aber auch über konstruktive Vorschläge deiner Seite...
Dem Arbeitsaufwand steht immerhin auch die gesammelte Erfahrung gegenüber. Sich durch so ein Projekt durchzukämpfen (und ohne CPLD-Erfahrung ist das ein Projekt, durch das man sich durchkämpfen muß), kann lehrreich sein. Manch einer rechnet mit 5 Euro Stundensatz. Ein anderer gibt wesentlich mehr für Fortbildungskurse aus. Was soll's also? Nebenbei: Hat der OP gesagt, daß es ein Einzelstück ist? Schon bei einer Kleinserie können 100 Euro für ein Bauteil richtig weh tun, wenn man nicht gerade bei einer "Geld spielt keine Rolle"-Firma arbeitet.
Ein modernen FPGA mit genuegend Blockram um das Fifi zu realisieren duerfte nicht deutlich teuerer werden und einfacher zu handhaben sein.
Sebastian schrieb: > Nebenbei: Hat der OP gesagt, daß es ein Einzelstück ist? zwar handelt es sich um ein Forschungsprojekt und somit "Einzelstücke", aber ich hätte gerne, wie du schon erwähnt hast, ein Werkzeug mehr in meiner Tasche Uwe Bonnes schrieb: > Ein modernen FPGA mit genuegend Blockram um das Fifi zu realisieren > duerfte nicht deutlich teuerer werden und einfacher zu handhaben sein. Irgendwie habe ich in Erinnerung, dass nur die dicken FPGAs viel RAM haben
@ pfifi (Gast) >mit dieser Einstellung würden die Enwickler austerben. Keine Sekunde. Richtige Entwickler (tm) entwickeln neue Sachen und erfinden das Rad nicht jede Mal neu. > Freue mich aber auch über konstruktive Vorschläge deiner Seite... Wenn es denn in erster Linie um den Lerneffekt geht, OK, dann kann man das mit einem CPLD + SRAM machen. Ich sag mal ein 128 Makrozellenteil sollte reichen. Das Design sollte man VOR dem Schaltplan machen, denn CPLDs sind nicht ganz so flexibel bei der Pinzuordnung wie FPGAs. Bei 65 MHz Datentakt = 15ns sollte man auf jeden Fall einen 10 oder gar 7ns CPLD nehmen + einen 10ns SRAM. Wenn man nicht zuviel tricksen will, muss man hier wohl oder übel mit dem doppelten Takt arbeiten, sprich 130 MHz, das ist schon FLOTT!!! Mit etwas mehr Tricks kommt man mit dem 1,5 fachen Takt arbeiten, sprich 97,5 MHz. Den Datenbus kann man direkt zwischen ADC und SRAM verbinden, wenn der ADC seine Ausgänge auf Tristate schalten kann. Der CPLD generiert dann nur die Steuersignale. Naja, und die Grundlagen synchronen Designs beachten, sonst wird es unschön und langwierig, siehe VHDL. MfG Falk
@ Uwe Bonnes (Gast) >Ein modernen FPGA mit genuegend Blockram um das Fifi zu realisieren Einen Hund wollen wir nicht bauen ;-) >duerfte nicht deutlich teuerer werden und einfacher zu handhaben sein. Ein preiswertes FPGA mit 4 Mbit SRAM? Hmmm? Spartan 3 hat max. 550kBit, Altera mit Cyclone II max. 1,1 Mbit. Ein externer SRAM ist hier schon ökonomisch sinnvoll. MfG Falk
> Erst nach der Aufnahme werden die Daten gelesen und weiter verarbeitet. Dann hast du berechtige Chancen auf Erfolg, weil du ja eigentlich "nur" einen Speicher-Umschalter baust. > Nach Möglichkeit sollten schon so 128k x 16 an Daten in den Fifo passen. Schnelles SRAM und eine passende FSM dürften das schon hinbekommen. Aber du hast bei 65MHz nicht viel Zeit, da könnte im CPLD eine Pufferstufe nicht schaden. Eine Möglichkeit wäre z.B. auch auf eine Busbreite von 24 Bit auszuweichen, dann hast du auf dem Speicherinterface nur noch 33MHz. Eine dritte Möglichkeit ist, das CPLD gar nicht mit den Daten zu belasten, sondern nur die Steuerleitungen anzuschliessen und umzuschalten, so dass des AD-Wandler direkt ins RAM schreibt. Aber wenn du bisher nichts mit CPLDs gemacht hast, solltest du eher einen relaxten Zeitplan haben...
Vielen Dank für die Tipps und Ansätze. Werde wohl bei 130Mhz den CPLD nur als Steuereinheit nutzen und die Datenleitungen direkt auf das RAM legen.
> also ich habe einen 12-bit ADC mit Parallelausgang. Dieser soll die > Daten über einen kurzen Zeitraum aufnehmen. Nach Möglichkeit sollten > schon so 128k x 16 an Daten in den Fifo passen. Erst nach der Aufnahme > werden die Daten gelesen und weiter verarbeitet. Daher brauch ich schon > mal keine Dual-Port-Geschichte. Für mein Verständnis braucht er kein Fifo ... Ein stinknormales RAM sollte es tun ... Er scheibt nichts davon, dass gelesen und geschrieben gleichzeitig werden soll ... Und das heißt, dass er aufnimmt und nach der Aufnahme ausliest ... Warum sollte man dann ein 100EUR-Fifo verwenden??? Grüße, Markus
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.