Größe von DRAM-Logikdesigns

Ich bin ein Anfänger mit FPGAs und EE im Allgemeinen, also bitte haben Sie Geduld mit mir!

Nach meinem Verständnis sind viele moderne FPGAs SRAM-basiert, und das aus gutem Grund: SRAM kann höhere Taktraten verarbeiten und hat einen niedrigeren Standby-Strom als DRAM. Es ist jedoch VIEL größer als DRAM.

Nehmen wir also an, Sie hätten eine Art Logikschaltung, die absolut riesig war, und Sie kümmerten sich überhaupt nicht um Geschwindigkeit. Könnte es in diesem Fall plausibel sein, ein DRAM-basiertes FPGA zu verwenden (vorausgesetzt, Sie finden einen Weg, um die parasitären Lesevorgänge von DRAM zu beheben)? Gibt es überhaupt ein solches FPGA?

Wie viel kleiner wäre außerdem ein Design auf einem DRAM-basierten FPGA als auf einem SRAM-basierten FPGA?

Ich glaube nicht, dass DRAM dafür besonders nützlich wäre, da Controller den Inhalt kontinuierlich aktualisieren müssen und viel problematischere Zugriffsprobleme auftreten würden. Grundsätzlich bestehen FPGAs aus vielen kleinen SRAM-Logikblöcken mit Verbindungsstruktur, und es ist einfach, kleine SRAM-Blöcke herzustellen, was sich völlig von der Konstruktion eines DRAM unterscheidet.
Hey Tom, danke für die Antwort. Was wäre, wenn Sie die DRAM-Controller "extern" platziert hätten? Das meinte ich mit der Behebung der parasitären Lesevorgänge. Wenn Sie jemals vom Automata-Prozessor von Micron gehört haben, handelt es sich im Grunde genommen um ein FPGA im DRAM!
Interessant, noch nie etwas von Micron gehört. Ich habe das Papier schnell durchgeblättert, aber es scheint, dass dies eine sehr spezifische Aufgabe ist, die in einem FPGA (im Gegensatz zu einem FPGA in DRAM) nicht effizient erledigt werden kann - ich könnte mich irren, habe nur das Papier durchgeblättert.
Das nennt man eine CPU. Sie können einen FPGA-Emulator auf einer CPU ausführen, wenn Sie möchten. Sie sind viel platzsparender, wenn es um die Verzweigung des Kontrollflusses geht.

Antworten (2)

http://isca2016.eecs.umich.edu/wp-content/uploads/2016/07/8A-1.pdf

Es gibt eine neue Forschungsarbeit in ISCA, einer prestigeträchtigen Konferenz über DRAM-basierte FPGAs, die kürzlich stattgefunden hat.

Die Konfiguration eines FPGA wird in speziellen SRAM-Zellen (weniger Transistoren und geringerer statischer Strom) oder im Flash-Speicher gespeichert. Dieser Speicher muss jedes Mal "gelesen" werden, sonst funktionieren die Pfadtransistoren nicht. DRAM kann nicht kontinuierlich gelesen werden.

Das Erzeugen normaler CMOS-Logik und DRAM-Logik sind unterschiedliche Prozesse. DRAM braucht andere Maschinen und Materialien. Daher wird in seltenen Fällen eingebettetes DRAM (eDRAM) verwendet: meist als großer L4-Cache oder eingebetteter Hauptspeicher für uC.

Es stellt sich heraus, dass DRAM-FPGAs nur begrenzt erforscht wurden. In IEEE Transactions on VLSI 2013, Pan et al. verwendeten spezielle MRAM-Zellen, um Konfigurationsbits eines DRAM-basierten FPGA zu speichern, und konnten eine erhebliche Flächenreduzierung der FPGA-Die-Größe erreichen.
Ich würde denken, dass, obwohl dynamischer "Speicher" als solcher nicht funktionieren würde, ein FPGA, das dynamisch aktualisierte Durchgangsgatter verwendet, die auf eine Spannung über VDD aufgeladen wurden, möglicherweise kompakter ist als eines, das sich auf statisch konfigurierte Gatter stützt (wenn die Logik dass Lasten die Gates auf eine Spannung über VDD schalten können und die Adressierungslogik eine Spannung unter VSS schalten kann, wäre es möglich, NFETS anstelle von NFET/PFET-Paaren als Durchgangsgates zu verwenden, wobei das Gate jedes NFET von a gesteuert wird einzelner PFET, der als Pass-Gate fungiert. Eine andere Art von Speicher müsste halten ...
...und die Daten, die in alle Durchgangstore geladen werden sollen, kontinuierlich nachliefern, aber das könnte an anderer Stelle auf dem Chip gespeichert werden.