Hallo Zusammen. Ich soll mittels VHDL den SSRAM ( http://www.issi.com/pdf/61VPS_LPS25636A_51218A.pdf ) auf dem Cyclone 3 Starter-Board ansprechen. Also den Controller dafür schreiben, ein Modell erstellen und eine Testbench. Nun möchte ich nicht das Rad neu erfinden und bin auf der Suche nach bereits vorhanden Lösungen (in VHDL). Was mich auch interessieren würde, wie schwer würdet ihr diese Aufgabe einschätzen? Das Datenblatt und die Wahrheitstabelle des Speichers verheißen nichts Gutes meiner Meinung nach.
Naja willst (mußt) du alle Features implementieren ? Für ein Grundlegendes Ergebnis mit REad Write und Burst zugriffen ca. 48 Stunden also 2 Tage ohne zu schlafen oder eine Woche a 10Stdunden am Tag oder 24 Tage a 2 Stunden pro Tag. Schwankt also zwischen 2 TAgen und nem Monat je nachdem ;-) Ansonste nmal die Outputs von CoreGen angucken bzw. Eqivalentes Tool von Altera.
Wie uwe sagt, eine Frage der gefragten Features. Ich würd sagen: 40 Arbeitsstunden für eine relativ sinnlose Implementierung (wie sie in Ausbildungen oft gemacht wird ;) ). Für eine sinnvolle Implementierung ab 60 Mannstunden (bsp-weise Controller mit integriertem Cache). Bei opencores hab ich wenigstens ein SSRAM interface gesehen, vielleicht kann man dabei auch nur Teile verwenden (zb das Modell für die Simulation).
Natürlich ist das mit dem Aufwand alles realtiv. Ich würde sagen das erst mal überhaupt was in den Speicher geschrieben werden sollte und wieder heraus gelesen. Zwar werden so nicht die wirklichen Vorteile des SSRAM ausgenutzt im Vergleich zu normalem SRAM aber die Implementierung bleibt einfach. Später kann können immer noch benötigete Features hinzugefügt werden.
Was wäre denn die einfachste Funktion für den SSRAM? Wenn er nur als normaler SRAM arbeiten soll könnte das Pipelining auch wegfallen. Für die spätere Anwendung würde das reichen, nur leider sitzt nunmal dieser SRAM auf dem Board.
Hmm, sollst Du "einfach so mal ein paar Zugriffe" realisieren oder hängt da draußen noch was (sinnvolles) dran? Im letzteren Fall würde man erst mal den Rechner ausschalten und die Schnittstelle definieren, die benötigten Features klären (z.B. Burst oder nicht) und sich dann Gedanken zu einer Statemachine machen, die das äußere auf dan innere (RAM) Timing umsetzt und wieder zurück. Je nach Features und Erfahrung dauert die Implementierung dann zwischen vier und unendlich Stunden... ;-)
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.