Gast
#6037949
In einer speziellen Anwendung schreibt ein Controller sehr viele Daten an unterschiedliche Empfänger heraus. Um die zu speichern und das langsame das Senden / Empfangen sicherzustellen, wird ein FPGA genutzt, der alle Daten im Block-RAM spiegelt und puffert. Rein kommen z.B. Daten mit 200MHz x 16Bit bei 5 wait states, heraus 100kHz I2C. Es werden also viele buffer vollgeschrieben, werden der erste Satz noch am Senden ist. (Würde der Controller das machen, müsste er warten) Es sind insgesamt 128 Empfänger, die mit momentan 50-80 Werten parametriert werden, also habe ich 96 Plätze vorgesehen. Jeder Platz hat 16 .. 32 Bit. Die RAM-Bits belaufen sich auf 300.000 und sollten bei BRAM16 etwa 18 RAMs belegen. Leider kriegt der das nicht zusammengepackt. Schon bei 70 Werten werden über 20 RAMs verbraten, obwohl die meisten nur 16 Bit haben. Wie organisiert man das, dass es es besser hinbekommt? Muss ich die per Hand zu 16k - Paketen zusammenflechten?