XST Belegung von Blockram

OP #7496892
Lesenswert?

Ich habe ein recht großes Design, das einen Spartan 3 ausfüllt. Hauptsächlich Multiplizierer und addierer. Nun ist es so, dass mein Typ über 16 BRAM und 16 MUL18x18 verfügt, man aber nicht alle BRAM und alles MUL18x18 benutzen kann, sondern bei voller BRAM Belegung nur 12 Multiplizierer.

Kann ich XST irgendwie sagen, dass es nicht alle BRAM benutzen darf? Ein merkwürdiges Verhalten ist auch, dass bei Änderung am Design mit einem FIFO weniger auf einmal mehr BRAM Zellen benutzt werden.

#7497081
Lesenswert?

Gustav G. schrieb:

Nun ist es so, dass mein Typ über 16 BRAM und 16 MUL18x18 verfügt, man aber nicht alle BRAM und alles MUL18x18 benutzen kann,

Die BRAMs und die MULs hängen beim Spartan 3 sehr dicht aufeinander. Gedacht war das wohl für DSP-Berechnungen, wie Filter, wo die Werte und die Koeffizienten im BRAM liegen.

Wenn bei Dir der BRAM unabhängig vom Multiplizierer genutzt wird, wird es mit dem Routing u.U. eng. Möglicherweise lassen sich statt dem BRAM die Multiplizierer anders realisieren, Stichwort MULT_STYLE (kcm, csd oder lut statt block bzw. auto).

Angehängte Dateien:
Gast #7508900
Lesenswert?

Ich dachte immer der Synthesizer schafft das von allein, nur soviel Resourcen von der einen Sorte zu nehmen, dass es für die andere noch passt.

Gustav G. schrieb:

dass bei Änderung am Design mit einem FIFO weniger auf einmal mehr BRAM Zellen benutzt werden.

Klingt nicht unbedingt plausibel. Kann das wer erklären?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren