Wenn Sie sich eine grundlegende Bewegungserkennung vorstellen, bei der Sie zwei Frames im Speicher gespeichert haben: einen vorherigen 640 x 480-Frame und den aktuellen 640 x 480-Frame, welche Art von Speicher (SRAM, DRAM, SDRAM, DDR SDRAM usw.) würde das paralleleste Lesen/Schreiben ermöglichen Operationen pro Taktzyklus ? Beispielsweise würde die perfekte Lösung das gleichzeitige Lesen von zwei Frames (307.200 x 2 Pixel) in einem Taktzyklus ermöglichen. Was ist der beste Speicher dafür, der im FPGA eingebaute SRAM oder ein externer Chip wie DDR SDRAM? (Im Großen und Ganzen würde ich nach einem FPGA-Entwicklungsboard suchen, das die geringsten Kosten und die geringste Größe mit der größten parallelen Lese-/Schreibfähigkeit aufweist.)
Dual-Port-Block-RAM und LUT-RAM sind so gut wie unschlagbar, da sie sich auf dem FPGA-Chip befinden und der Zugriff darauf keine I/O-Pins erfordert. Wenn Sie nicht genügend Kapazität im Block-RAM haben, können Sie das Problem mit externem Speicher lösen. QDR SRAM ist dual portiert und hat daher die doppelte Bandbreite von SDRAM, dies kann für einige Anwendungen nützlich sein, obwohl es sehr teuer ist. DDR3-SDRAM ist wahrscheinlich die billigste Option, aber selbst das ist relativ langsam im Vergleich zu dem, was Sie mit LUT-RAM und Block-RAM machen können.
Ich denke, Sie gehen mit Ihrem Design in die falsche Richtung. Außerdem würde die Logik allein eine absolut gigantische Menge an Platz verbrauchen, wenn Sie so viele Eingänge wirklich verarbeiten müssen, und passt möglicherweise nicht auf die größten heute verfügbaren FPGAs. FPGAs zeichnen sich durch sehr schnelle Pipeline-Verarbeitungsvorgänge aus. Sie sollten herausfinden, wie viele Pixel pro Sekunde Sie verarbeiten müssen (640 x 480 x fps) und dann herausfinden, wie Sie Ihren Bildverarbeitungsalgorithmus implementieren, um dieses Leistungsniveau zu erreichen. Im Allgemeinen besteht die Idee darin, eine kleine Anzahl von Pixeln pro Taktzyklus einzulesen und sie dann in geordneter Weise zu verarbeiten.
Tom Tischler
Tom Tischler
Paebbels
Jonathan Drolet
pjc50