mikrocontroller.net

Forum: FPGA, VHDL & Co. Xilinx ISE Problem mit PCIe Core vom Generator bzw. den Examples


Autor: Tim T. (tim_taylor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wie der Betreff schon sagt habe ich habe ein Problem mit meiner ISE 12.3 
bzw. dem PCIe Endpoint Block Plus 1.14:

Ich erstelle ein neues Projekt, werfe den Core Generator an, bastel mir 
den PCIe Endpoint Block Plus Core zurecht und generiere ihn.

Dann mache ich ein "Add Copy of Source" der VHDL Dateien und dem 
Constraintsfile aus dem Exampleordner 
(ipcore_dir\endpoint_blk_plus_v1_14\example_design\).

Danach mache ich noch ein "Add Source" der XCO Datei 
(ipcore_dir\endpoint_blk_plus_v1_14.xco) und starte ein Generate 
Programming File des Topmodules(xilinx_pci_exp_ep.vhd).

Die Synthese läuft auch durch ( allerdings viel zu schnell ) und er 
bricht beim Implement Design mit 8 Errors ab die sich alle darauf 
beziehen das, daß Core Element was im Constraint erwähnt wird nicht im 
Design gefunden wird:

ERROR:ConstraintSystem:59 - Constraint <INST 
"ep/pcie_ep0/pcie_blk/SIO/.pcie_gt_wrapper_i/GTD[0].GT_i" LOC = 
GTP_DUAL_X0Y3;>
   [xilinx_pci_exp_blk_plus_1_lane_ep_xc5vlx50t-ff1136-1.ucf(115)]: INST
   "ep/pcie_ep0/pcie_blk/SIO/.pcie_gt_wrapper_i/GTD[0].GT_i" not found. 
Please verify that:
   1. The specified design element actually exists in the original 
design.
   2. The specified object is spelled correctly in the constraint source 
file.

Den gleichen Fehler gibt es wenn ich den Core entferne (remove 
endpoint_blk_plus_v1_14.xco), also erkennt wohl irgendwas in der ISE 
diesen nicht.

Das interessante dabei ist jedoch das es zwischenzeitlich (gleiche ISE, 
gleiche Coreversion) mal genau so funktioniert hat, bzw. auch ein Design 
mit diesem Core von einem Tag auf den anderen nicht mehr Implementierbar 
war (mit eben diesem Fehler).

Also gehe ich von irgendeinem Bug aus der nur unter bestimmten 
Bedingungen zum Tragen kommt und hoffe das mir irgend jemand helfen kann 
diesen zu umgehen.

Autor: Georg A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sind denn die IP-Sources im xst-Projektfile überhaupt drin? An sich 
sollte man die Files auch in der HDL-Compilation-Sektion vom xst-Log 
finden.

Autor: Tim T. (tim_taylor)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Georg A. schrieb:
> Sind denn die IP-Sources im xst-Projektfile überhaupt drin? An sich
> sollte man die Files auch in der HDL-Compilation-Sektion vom xst-Log
> finden.


Nein, im xst-File stehen die IP-Sources nicht drin, nur -sd 
{"ipcore_dir"  }; aber die Sourcen stehen im prj-File, wobei mir nicht 
klar ist warum er unbedingt was aus dem example Ordner will, dazu noch 
in Verilog.

Auch im Logfile compiliert er den Verilogfile aus dem example Ordner...

Irgendwie bin ich ratlos und hänge am besten die Dateien mal an.

Autor: Georg A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kenn jetzt den Core nicht, aber es sieht so aus, als wäre der 
diverse ipcore-Source im .prj nicht für die Synthese geeignet, kann man 
wohl bedenkenlos rauswerfen. Wenn das Ding aus dem Coregen kommt, wird 
das wohl eine Blackbox im .ngc-Format sein. Dazu passt auch:
"Instantiating black box module <endpoint_blk_plus_v1_14>".

Wenn das ngc nicht im ipcore-Pfad liegt, ist es entweder woanders oder 
gar nicht mehr da. Evtl. den Core nochmal erzeugen...

Autor: Tim T. (tim_taylor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab mal den neuen prj-File angehängt, nach dem Entfernen der oben 
genannten Zeilen, wird er neu gebaut, diesmal aber mit allem drum und 
dran. Es haben wohl einige Sourcen gefehlt.

Das warum ist mir zwar immer noch nicht bekannt, aber hiermit kann ich 
fürs erste leben.

Edit: Irgendwie nimmt er den File nicht, dann eben so:
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/tlm_rx_data_snk_pwr_mgmt.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/tlm_rx_data_snk_mal.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/tlm_rx_data_snk_bar.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/sync_fifo.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/tx_sync_gtx.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/tx_sync_gtp.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/tlm_rx_data_snk.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_blk_ll_tx_arb.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_blk_ll_tx.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_blk_ll_oqbqfifo.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_blk_ll_arb.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/cmm_intr.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/cmm_errman_ram8x26.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/cmm_errman_ram4x26.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/cmm_errman_ftl.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/cmm_errman_cpl.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/cmm_errman_cor.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/cmm_errman_cnt_en.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/cmm_decoder.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_soft_int.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_gt_wrapper.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_gtx_wrapper.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_blk_plus_ll_tx.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_blk_plus_ll_rx.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_blk_ll_credit.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_blk_cf_pwr.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_blk_cf_mgmt.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_blk_cf_err.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_blk_cf_arb.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/bram_common.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/prod_fixes.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_reset_logic.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_mim_wrapper.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_gt_wrapper_top.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_clocking.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_blk_ll.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_blk_cf.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_top.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_blk_if.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/extend_clk.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/pcie_ep.v"
verilog work "ipcore_dir/endpoint_blk_plus_v1_14/source/endpoint_blk_plus_v1_14.v"
vhdl work "EP_MEM.vhd"
vhdl work "PIO_EP_MEM_ACCESS.vhd"
vhdl work "PIO_64_TX_ENGINE.vhd"
vhdl work "PIO_64_RX_ENGINE.vhd"
vhdl work "PIO_TO_CTRL.vhd"
vhdl work "PIO_EP.vhd"
vhdl work "PIO.vhd"
vhdl work "pci_exp_64b_app.vhd"
vhdl work "ipcore_dir/endpoint_blk_plus_v1_14/simulation/board.vhd"
vhdl work "ipcore_dir/endpoint_blk_plus_v1_14/simulation/dsport/pci_exp_usrapp_tx.vhd"
vhdl work "ipcore_dir/endpoint_blk_plus_v1_14/simulation/dsport/pci_exp_usrapp_cfg.vhd"
vhdl work "ipcore_dir/endpoint_blk_plus_v1_14/simulation/sys_clk_gen_ds.vhd"
vhdl work "ipcore_dir/endpoint_blk_plus_v1_14/simulation/dsport/pci_exp_usrapp_rx.vhd"
vhdl work "ipcore_dir/endpoint_blk_plus_v1_14/simulation/sys_clk_gen.vhd"
vhdl work "ipcore_dir/endpoint_blk_plus_v1_14/simulation/dsport/test_interface.vhd"
vhdl work "ipcore_dir/endpoint_blk_plus_v1_14/simulation/tests/tests.vhd"
vhdl work "ipcore_dir/endpoint_blk_plus_v1_14/example_design/xilinx_pci_exp_ep.vhd"
vhdl work "ipcore_dir/endpoint_blk_plus_v1_14/example_design/PIO.vhd"
vhdl work "ipcore_dir/endpoint_blk_plus_v1_14/example_design/PIO_TO_CTRL.vhd"
vhdl work "ipcore_dir/endpoint_blk_plus_v1_14/example_design/PIO_EP.vhd"
vhdl work "ipcore_dir/endpoint_blk_plus_v1_14/example_design/PIO_64.vhd"
vhdl work "ipcore_dir/endpoint_blk_plus_v1_14/example_design/PIO_64_RX_ENGINE.vhd"
vhdl work "ipcore_dir/endpoint_blk_plus_v1_14/example_design/EP_MEM.vhd"
vhdl work "ipcore_dir/endpoint_blk_plus_v1_14/example_design/PIO_EP_MEM_ACCESS.vhd"
vhdl work "ipcore_dir/endpoint_blk_plus_v1_14/example_design/PIO_64_TX_ENGINE.vhd"
vhdl work "ipcore_dir/endpoint_blk_plus_v1_14/example_design/pci_exp_64b_app.vhd"
vhdl work "xilinx_pci_exp_ep.vhd"

Autor: Tim T. (tim_taylor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm, jetzt ist mein vorhergehender Text irgendwie verschwunden ( dürfte 
der 24h DSL-Reconnect gewesen sein ).

Wie auch immer:
Nach dem händischen löschen der Verilog und der Example Zeilen aus dem 
prj-File wurde dieser neu gebaut und sowohl Synthese als auch 
Implementierung funktionieren.

Vielen Dank für deine Mühe!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.