Hi, gibt es bei der ICE40hx1k Serie auch irgendwo eine vorgefertigte dual clock fifo wie bei Quartus II? Oder irgendetwas das sich relativ schnell damit verwenden lässt? Verwende derzeit halt Altera und würde den Code gerne mal mit Lattice umsetzen.
Martin schrieb: > gibt es bei der ICE40hx1k Serie auch irgendwo eine vorgefertigte dual > clock fifo wie bei Quartus II? Du vergleichst hier Kraut und Rüben: einen Baustein von Hersteller L mit der Toolchain vom Hersteller I. Das ist unsinnig. Du musst dir einfach mal die im Baustein verfügbare Hardware darauf hin ansehen, ob dort ein RAM mit unabhängigem Schreib und Lese-Port vorhanden ist. Wenn ja, dann kannst du so einen Fifo implementieren. Kurze Drübersicht übers Datenblatt: mit dem sysMEM Block kannst du einen Fifo aufbauen. Und jetzt musst du nur noch schauen, wie du so einen Block instantiieren kannst/musst. Da nimmst du dann den "FPGA Libraries Reference Guide" von Lattice her, und findest dort ohne langes Suchen einen FIFO_DC, der das tut, was du willst. Und mit ein wenig Recherche findest du auch eine TN1250, in dem so ein Memory-Block mal genauer beschrieben wird. In anderen Worten: du machst Hardware. Dazu musst du deren Verhalten kennen. Und dazu musst du die Datenblätter, Appnotes und Technical Notes ansehen und verstehen. Sonst hast du irgendwann mal "seltsames" Verhalten und wirst den Fehler nicht finden.
:
Bearbeitet durch Moderator
Wenn immer Du IPs eines bestimmten Providers benutzt, kommst Du nicht darum herum, diese neu zu generieren sobald Du den Anbieter wechselst. Es sei denn Du verwendest synthetisierbare Beschreibungen, welche die IPs nicht instanzieren sondern inferieren. Zumindest für Altera unD Xilinx geht das, auch für Dual-Clock-RAM (Beispiele für Code dazu bieten beide Anbieter, diese mit einem Codestück zu erschlagen ist manchmal tricky). Vorteil: Du migrierst Problemlos von Anbieter zu Anbieter, wenn Du die Vorarbeit mal gemacht hast. Nachteil: In der Regel kannst Du mit der Inferierungs-Methode nicht den ganzen Funktionsumfang eines einzelnen IPs jedes Anbieters ausnutzen.
:
Bearbeitet durch User
Danke für die Antworten soweit. Bezüglich FPGA Libraries Reference Guide das hatte ich gesehen, aber dort wird nichts von den ICE40ern erwähnt, es steht dort wohl dabei welche Bauteile unterstützt werden. Was dort steht ist wohl in der Lattice Diamond IDE komfortabel integriert, bei IceCube2 muss man wohl mehr Hand anlegen. Die IceCube2 Umgebung ist derzeit noch etwas ungewohnt für mich, da ich mich bis jetzt nur etwas in Quartus II eingelernt habe. Das die ICE40er Dual Port unterstützen habe ich ja schon vorher gelesen und deshalb versuch ich mich dort auch einzulernen. Ich schau mal wie weit ich dort komme.
Martin schrieb: > Das die ICE40er Dual Port unterstützen habe ich ja schon vorher gelesen http://www.latticesemi.com/~/media/LatticeSemi/Documents/ApplicationNotes/MO/MemoryUsageGuideforiCE40Devices.pdf?document_id=47775 Figure 2. sysMEM Embedded Block RAM Gruss Holger.
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.