Forum: FPGA, VHDL & Co. XST Belegung von Blockram


von Gustav G. (gustavgggg)


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.

von Gustl B. (gustl_b)


Lesenswert?

Gustav G. schrieb:
> das einen Spartan 3 ausfüllt.

Vielleicht ist das Routing das Problem? Kannst/darfst du das Design hier 
hochladen?

Beim FIFO kann man einstellen ob der BRAM nutzen darf oder nicht und die 
DSP kannst du falls du sie jetzt inferrieren lässt auch einzeln 
instantzieren.

Gibt es irgendwelche Fehlermeldungen?

von J. S. (engineer) Benutzerseite


Lesenswert?

Sicher geht das. Bei den Synthesis-Einstellungen. Dort steht 
defaultmässig "auto". Man kann aber die BRAMs per Zahleneintrag steuern. 
Bekommst du halt FFs. Und es ist die Frage, ob der Chip dann reicht.

von Rick D. (rickdangerus)


Angehängte Dateien:

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).

von Gustav G. (gustavgggg)


Lesenswert?

Danke ich habe die Einstellung gefunden. Man kann manuell eine Belegung 
in Prozent für BRAM angeben. Das habe ich heruntergeschraubt und es 
passt.

von A. F. (chefdesigner)


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?

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
Noch kein Account? Hier anmelden.