Forum: FPGA, VHDL & Co. FIFO für Spartan 3A


von Sebastian (Gast)


Lesenswert?

Ich möchte auf einem Spartan 3A einen FIFO implementieren. Hierzu habe 
ich ein Projekt erstellt, anschließend habe ich einen FIFO IP Core 
erstellt. Der FIFO besitzt folgende Leitungen:

DIN(17:0) --> IN
WR_EN --> IN
WR_CLK --> IN
RD_EN --> IN
RD_CLK --> IN
RST --> IN
EMTY --> OUT
FULL --> OUT
DOUT(17:0) --> OUT

Der FIFO besteht aus 16 Block RAMS (20 Block RAMS sind auf dem Spartan 
vorhanden)

Wenn ich das Projekt route dann erhalte ich folgende Warnings:

PhysDesignRules:1155 - Dangling pins on
   block:<XLXI_1/BU2/U0/grf.rf/mem/gbm.gbmg.gbmga.ngecc.bmg/blk_mem_generat 
or/va
   lid.cstr/ramloop[10].ram.r/s3_noinit.ram/dpram.dp9x9.ram>:<RAMB16BWE_RAM 
B16BW
   E>.  The block is configured to use input parity pin DIAP0. There is 
dangling
   output for parity pin DOPA0.

Ich weiß nicht wie ich es verhindern kann.

von MXM (Gast)


Lesenswert?

unwichtig.. ignorieren..

von Anguel S. (anguel)


Lesenswert?

Ist wohl normal. Dass ein Design paar 1000 Warnings generiert und 
trotzdem 1A läuft ist keine Ausnahme ;)
Siehe auch:
http://www.xilinx.com/support/answers/24846.htm

Sebastian schrieb:

> PhysDesignRules:1155 - Dangling pins on
>    block:<XLXI_1/BU2/U0/grf.rf/mem/gbm.gbmg.gbmga.ngecc.bmg/blk_mem_generat 
or/va
>    lid.cstr/ramloop[10].ram.r/s3_noinit.ram/dpram.dp9x9.ram>:<RAMB16BWE_RAM 
B16BW
>    E>.  The block is configured to use input parity pin DIAP0. There is
> dangling
>    output for parity pin DOPA0.
>
> Ich weiß nicht wie ich es verhindern kann.

von Sebastian (Gast)


Lesenswert?

Kann denn einer etwas dazu sagen was mir Xilinx damit sagen will. Ich 
verstehe die Fehlermeldung nicht.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> The block is configured to use input parity pin DIAP0. There is
> dangling output for parity pin DOPA0.
Du verwendest vermutlich (bewusst oder unbewusst) den Ausgang des 
Parity-Bits der BRAMs nicht. Und irgendwer meint aber, etwas in das 
Paritiy-Bit hineinschreiben zu müssen (vermutlich eine statische '0' 
oder '1'). Und das fällt der Toolchain auf.

von Sebastian (Gast)


Lesenswert?

Ich verwende das Parity Bit ja auch nicht, da ich nur 18Datenleitungen 
verwende. Eigentlich benötige ich nur 16 Datenleitungen da gab es aber 
noch mehr Warnings. Ändert es sich wenn ich den ECC aktiviere?

von Anguel S. (anguel)


Lesenswert?

Also Du erstellst soweit ich verstanden haben deinen FIFO mit dem Core 
Generator. Dieser generiert dann eine Netlist. Nun kann es sein, dass 
bestimmte Teile dieser Netlist universell sind, da der FIFO für mehrere 
FPGAs (Spartan, Virtex) generiert werden kann. Einige FPGAs haben 
bestimmte Features, andere FPGAs nicht. Nun ist das eben für deinen FPGA 
so, dass bestimmte Leitungen nicht benutzt werden. Da das PAR Modul nun 
nicht weiß, dass diese Netlist trotz einiger "Unstimmigkeiten" zwar auf 
deinem FPGA auch problemlos läuft, da Xilinx das ganze getestet hat 
(hoffentlich), zeigt es diese Warnung. Es ist kein Fehler, es ist nur 
ein Hinweis, dass etwas evtl. nicht wie vorgesehen laufen könnte, wenn 
der Xilinx-Designer dieses Verhalten nicht berücksichtigt haben sollte.

P.S.: Vermutlich ist das so ähnlich wie mit den Bugs und den Features 
von Microsoft ;)

Sebastian schrieb:
> Ich verwende das Parity Bit ja auch nicht, da ich nur 18Datenleitungen
> verwende. Eigentlich benötige ich nur 16 Datenleitungen da gab es aber
> noch mehr Warnings. Ändert es sich wenn ich den ECC aktiviere?

von Sebastian (Gast)


Lesenswert?

Na dann hoffe ich mal das alles Reibunglos funktionieren wird.

Ich kann leider nur 16 von 20 BlockRAMs verwenden, da ich im Core 
Gernerator nur zwischen 16k und 32k Speicherzellen auswählen kann. Wenn 
ich 16k einstelle, dann nutze ich 4 BlockRams nicht, wenn ich 32k 
verwende erzeugt Xilinx natürlich einen Fehler. Kann man dies 
optimieren?

von Christian R. (supachris)


Lesenswert?

Einfach noch einen 4k FIFO dahinter schalten. Dann hast du alle 
BlockRAMs benutzt.

von Sebastian (Gast)


Lesenswert?

Daran habe ich bereits auch schon gedacht. :-)

von Christian R. (supachris)


Lesenswert?

Na dann. Das klappt ja problemlos, mache ich auch ab und zu so. Genau 
20k lassen sich halt nicht mit einer ganzzahliger Anzahl Adressleitungen 
ansteuern.

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.