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.
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.
Kann denn einer etwas dazu sagen was mir Xilinx damit sagen will. Ich verstehe die Fehlermeldung nicht.
> 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.
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?
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?
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?
Einfach noch einen 4k FIFO dahinter schalten. Dann hast du alle BlockRAMs benutzt.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.